Changeset 1395

Show
Ignore:
Timestamp:
05/15/09 03:14:17 (16 months ago)
Author:
takkaria
Message:

Attempt to get items known via use selling with vaguely-reasonable prices. (Hack!)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/object/obj-util.c

    r1373 r1395  
    16661666 
    16671667 
    1668         /* Unknown items -- acquire a base value */ 
    16691668        if (object_known_p(o_ptr)) 
    16701669        { 
    1671                 /* Cursed items -- worthless */ 
    16721670                if (cursed_p(o_ptr)) return (0L); 
    16731671 
    1674                 /* Real value (see above) */ 
    16751672                value = object_value_real(o_ptr, qty); 
    16761673        } 
    1677  
    1678         /* Known items -- acquire the actual value */ 
    16791674        else 
    16801675        { 
     1676                object_type object_type_body; 
     1677                object_type *j_ptr = &object_type_body; 
     1678 
    16811679                /* Hack -- Felt cursed items */ 
    1682                 if ((o_ptr->ident & (IDENT_SENSE)) && cursed_p(o_ptr)) return (0L); 
    1683  
    1684                 /* Base value (see above) */ 
    1685                 value = object_value_base(o_ptr) * qty; 
     1680                if ((o_ptr->ident & IDENT_SENSE) && cursed_p(o_ptr)) return (0L); 
     1681 
     1682                memcpy(j_ptr, o_ptr, sizeof(object_type)); 
     1683                memcpy(j_ptr->flags, j_ptr->known_flags, sizeof(j_ptr->flags)); 
     1684                if (!(o_ptr->ident & IDENT_ATTACK)) 
     1685                        j_ptr->to_h = j_ptr->to_d = 0; 
     1686                else if (!(o_ptr->ident * IDENT_DEFENCE)) 
     1687                        j_ptr->to_a = 0; 
     1688 
     1689                value = object_value_real(j_ptr, qty); 
    16861690        } 
    16871691