… | |
… | |
46 | * may be better. |
46 | * may be better. |
47 | * Basically, for the use/nonuse, the code does something like: |
47 | * Basically, for the use/nonuse, the code does something like: |
48 | * "This item goes %s\n", with the use/nonuse values filling in the %s |
48 | * "This item goes %s\n", with the use/nonuse values filling in the %s |
49 | */ |
49 | */ |
50 | Body_Locations body_locations[NUM_BODY_LOCATIONS] = { |
50 | Body_Locations body_locations[NUM_BODY_LOCATIONS] = { |
51 | {"body_range", "in your range slot", "in a human's range slot"} |
51 | {"body_range", "in your range slot", "in a human's range slot"}, |
52 | , |
|
|
53 | {"body_arm", "on your arm", "on a human's arm"} |
52 | {"body_arm", "on your arm", "on a human's arm"}, |
54 | , |
|
|
55 | {"body_torso", "on your body", "on a human's torso"} |
53 | {"body_torso", "on your body", "on a human's torso"}, |
56 | , |
|
|
57 | {"body_head", "on your head", "on a human's head"} |
54 | {"body_head", "on your head", "on a human's head"}, |
58 | , |
|
|
59 | {"body_neck", "around your neck", "around a humans neck"} |
55 | {"body_neck", "around your neck", "around a humans neck"}, |
60 | , |
|
|
61 | {"body_skill", "in your skill slot", "in a human's skill slot"} |
56 | {"body_skill", "in your skill slot", "in a human's skill slot"}, |
62 | , |
|
|
63 | {"body_finger", "on your finger", "on a human's finger"} |
57 | {"body_finger", "on your finger", "on a human's finger"} , |
64 | , |
|
|
65 | {"body_shoulder", "around your shoulders", "around a human's shoulders"} |
58 | {"body_shoulder", "around your shoulders", "around a human's shoulders"}, |
66 | , |
|
|
67 | {"body_foot", "on your feet", "on a human's feet"} |
59 | {"body_foot", "on your feet", "on a human's feet"}, |
68 | , |
|
|
69 | {"body_hand", "on your hands", "on a human's hands"} |
60 | {"body_hand", "on your hands", "on a human's hands"}, |
70 | , |
|
|
71 | {"body_wrist", "around your wrists", "around a human's wrist"} |
61 | {"body_wrist", "around your wrists", "around a human's wrist"}, |
72 | , |
|
|
73 | {"body_waist", "around your waist", "around a human's waist"} |
62 | {"body_waist", "around your waist", "around a human's waist"}, |
74 | , |
|
|
75 | |
|
|
76 | /*{"body_dragon_torso", "your body", "a dragon's body"} */ |
63 | /*{"body_dragon_torso", "your body", "a dragon's body"} */ |
77 | }; |
64 | }; |
78 | |
65 | |
79 | static char numbers[21][20] = { |
66 | static char numbers[21][20] = { |
80 | "no", "", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", |
67 | "no", "", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", |
… | |
… | |
142 | {AMULET, "amulet", "amulets", SK_JEWELER, 0}, |
129 | {AMULET, "amulet", "amulets", SK_JEWELER, 0}, |
143 | {PLAYERMOVER, "player mover", "player movers", 0, 0}, |
130 | {PLAYERMOVER, "player mover", "player movers", 0, 0}, |
144 | {TELEPORTER, "teleporter", "teleporters", 0, 0}, |
131 | {TELEPORTER, "teleporter", "teleporters", 0, 0}, |
145 | {CREATOR, "creator", "creators", 0, 0}, |
132 | {CREATOR, "creator", "creators", 0, 0}, |
146 | {SKILL, "skill", "skills", 0, 0}, |
133 | {SKILL, "skill", "skills", 0, 0}, |
147 | {EXPERIENCE, "experience", "experience", 0, 0}, |
|
|
148 | {EARTHWALL, "earthwall", "earthwalls", 0, 0}, |
134 | {EARTHWALL, "earthwall", "earthwalls", 0, 0}, |
149 | {GOLEM, "golem", "golems", 0, 0}, |
135 | {GOLEM, "golem", "golems", 0, 0}, |
150 | {THROWN_OBJ, "projectile", "projectiles", 0, 0}, |
136 | {THROWN_OBJ, "projectile", "projectiles", 0, 0}, |
151 | {BLINDNESS, "blindness", "blindness", 0, 0}, |
137 | {BLINDNESS, "blindness", "blindness", 0, 0}, |
152 | {GOD, "god", "gods", 0, 0}, |
138 | {GOD, "god", "gods", 0, 0}, |
… | |
… | |
681 | |
667 | |
682 | use_buf++; |
668 | use_buf++; |
683 | use_buf %= 5; |
669 | use_buf %= 5; |
684 | |
670 | |
685 | #ifdef NEW_MATERIAL_CODE |
671 | #ifdef NEW_MATERIAL_CODE |
686 | if ((IS_ARMOR (op) || IS_WEAPON (op)) && op->materialname) |
672 | if ((op->is_armor () || op->is_weapon ()) && op->materialname) |
687 | { |
673 | { |
688 | mt = name_to_material (op->materialname); |
674 | mt = name_to_material (op->materialname); |
689 | if (mt) |
675 | if (mt) |
690 | { |
676 | { |
691 | safe_strcat (buf[use_buf], mt->description, &len, HUGE_BUF); |
677 | safe_strcat (buf[use_buf], mt->description, &len, HUGE_BUF); |
… | |
… | |
788 | return "(null)"; |
774 | return "(null)"; |
789 | |
775 | |
790 | if (!op->nrof && !op->weight && !op->title && !is_magical (op)) |
776 | if (!op->nrof && !op->weight && !op->title && !is_magical (op)) |
791 | return op->name; /* To speed things up (or make things slower?) */ |
777 | return op->name; /* To speed things up (or make things slower?) */ |
792 | |
778 | |
793 | if ((IS_ARMOR (op) || IS_WEAPON (op)) && op->materialname) |
779 | if ((op->is_armor () || op->is_weapon ()) && op->materialname) |
794 | mt = name_to_material (op->materialname); |
780 | mt = name_to_material (op->materialname); |
795 | |
781 | |
796 | #ifdef NEW_MATERIAL_CODE |
782 | #ifdef NEW_MATERIAL_CODE |
797 | if ((IS_ARMOR (op) || IS_WEAPON (op)) && op->materialname && mt && |
783 | if ((op->is_armor () || op->is_weapon ()) && op->materialname && mt && |
798 | op->arch->clone.materialname != mt->name && !(op->material & M_SPECIAL)) |
784 | op->arch->clone.materialname != mt->name && !(op->material & M_SPECIAL)) |
799 | { |
785 | { |
800 | strcpy (buf, mt->description); |
786 | strcpy (buf, mt->description); |
801 | len = strlen (buf); |
787 | len = strlen (buf); |
802 | safe_strcat (buf, " ", &len, MAX_BUF); |
788 | safe_strcat (buf, " ", &len, MAX_BUF); |
… | |
… | |
1515 | LOG (llevDebug, "need_identify: %s does not need to be id'd\n", op->name); |
1501 | LOG (llevDebug, "need_identify: %s does not need to be id'd\n", op->name); |
1516 | #endif |
1502 | #endif |
1517 | return 0; |
1503 | return 0; |
1518 | } |
1504 | } |
1519 | |
1505 | |
1520 | |
|
|
1521 | /* |
1506 | /* |
1522 | * Supposed to fix face-values as well here, but later. |
1507 | * Supposed to fix face-values as well here, but later. |
1523 | */ |
1508 | */ |
1524 | |
|
|
1525 | void |
1509 | void |
1526 | identify (object *op) |
1510 | identify (object *op) |
1527 | { |
1511 | { |
1528 | object *pl; |
1512 | object *pl; |
1529 | |
1513 | |
… | |
… | |
1551 | /* If the object is on a map, make sure we update its face */ |
1535 | /* If the object is on a map, make sure we update its face */ |
1552 | if (op->map) |
1536 | if (op->map) |
1553 | update_object (op, UP_OBJ_FACE); |
1537 | update_object (op, UP_OBJ_FACE); |
1554 | else |
1538 | else |
1555 | { |
1539 | { |
1556 | pl = is_player_inv (op->env); |
1540 | pl = op->in_player (); |
1557 | if (pl) |
1541 | if (pl) |
1558 | /* A lot of the values can change from an update - might as well send |
1542 | /* A lot of the values can change from an update - might as well send |
1559 | * it all. |
1543 | * it all. |
1560 | */ |
1544 | */ |
1561 | esrv_send_item (pl, op); |
1545 | esrv_send_item (pl, op); |
1562 | } |
1546 | } |
1563 | } |
1547 | } |
|
|
1548 | |