ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/item.C
(Generate patch)

Comparing deliantra/server/common/item.C (file contents):
Revision 1.4 by root, Sun Sep 10 16:00:23 2006 UTC vs.
Revision 1.8 by root, Mon Dec 18 03:00:02 2006 UTC

1
2/*
3 * static char *rcsid_item_c =
4 * "$Id: item.C,v 1.4 2006/09/10 16:00:23 root Exp $";
5 */
6
7/* 1/*
8 CrossFire, A Multiplayer game for X-windows 2 CrossFire, A Multiplayer game for X-windows
9 3
10 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 4 Copyright (C) 2002 Mark Wedel & Crossfire Development Team
11 Copyright (C) 1992 Frank Tore Johansen 5 Copyright (C) 1992 Frank Tore Johansen
22 16
23 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
24 along with this program; if not, write to the Free Software 18 along with this program; if not, write to the Free Software
25 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 20
27 The authors can be reached via e-mail at crossfire-devel@real-time.com 21 The authors can be reached via e-mail at <crossfire@schmorp.de>
28*/ 22*/
29 23
30#include <global.h> 24#include <global.h>
31#include <funcpoint.h> 25#include <funcpoint.h>
32#include <living.h> 26#include <living.h>
52 * may be better. 46 * may be better.
53 * Basically, for the use/nonuse, the code does something like: 47 * Basically, for the use/nonuse, the code does something like:
54 * "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
55 */ 49 */
56Body_Locations body_locations[NUM_BODY_LOCATIONS] = { 50Body_Locations body_locations[NUM_BODY_LOCATIONS] = {
57 {"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"},
58 ,
59 {"body_arm", "on your arm", "on a human's arm"} 52 {"body_arm", "on your arm", "on a human's arm"},
60 ,
61 {"body_torso", "on your body", "on a human's torso"} 53 {"body_torso", "on your body", "on a human's torso"},
62 ,
63 {"body_head", "on your head", "on a human's head"} 54 {"body_head", "on your head", "on a human's head"},
64 ,
65 {"body_neck", "around your neck", "around a humans neck"} 55 {"body_neck", "around your neck", "around a humans neck"},
66 ,
67 {"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"},
68 ,
69 {"body_finger", "on your finger", "on a human's finger"} 57 {"body_finger", "on your finger", "on a human's finger"} ,
70 ,
71 {"body_shoulder", "around your shoulders", "around a human's shoulders"} 58 {"body_shoulder", "around your shoulders", "around a human's shoulders"},
72 ,
73 {"body_foot", "on your feet", "on a human's feet"} 59 {"body_foot", "on your feet", "on a human's feet"},
74 ,
75 {"body_hand", "on your hands", "on a human's hands"} 60 {"body_hand", "on your hands", "on a human's hands"},
76 ,
77 {"body_wrist", "around your wrists", "around a human's wrist"} 61 {"body_wrist", "around your wrists", "around a human's wrist"},
78 ,
79 {"body_waist", "around your waist", "around a human's waist"} 62 {"body_waist", "around your waist", "around a human's waist"},
80 ,
81
82/*{"body_dragon_torso", "your body", "a dragon's body"} */ 63/*{"body_dragon_torso", "your body", "a dragon's body"} */
83}; 64};
84 65
85static char numbers[21][20] = { 66static char numbers[21][20] = {
86 "no", "", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", 67 "no", "", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten",
597 char buf2[HUGE_BUF]; 578 char buf2[HUGE_BUF];
598 int len = 0; 579 int len = 0;
599 580
600 if (op->name == NULL) 581 if (op->name == NULL)
601 return "(null)"; 582 return "(null)";
583
602 if (!op->nrof && !op->weight && !op->title && !is_magical (op)) 584 if (!op->nrof && !op->weight && !op->title && !is_magical (op))
603 return op->name; /* To speed things up (or make things slower?) */ 585 return op->name; /* To speed things up (or make things slower?) */
604 586
605 if (op->nrof <= 1) 587 if (op->nrof <= 1)
606 safe_strcat (buf, op->name, &len, HUGE_BUF); 588 safe_strcat (buf, op->name, &len, HUGE_BUF);
686 668
687 use_buf++; 669 use_buf++;
688 use_buf %= 5; 670 use_buf %= 5;
689 671
690#ifdef NEW_MATERIAL_CODE 672#ifdef NEW_MATERIAL_CODE
691 if ((IS_ARMOR (op) || IS_WEAPON (op)) && op->materialname) 673 if ((op->is_armor () || op->is_weapon ()) && op->materialname)
692 { 674 {
693 mt = name_to_material (op->materialname); 675 mt = name_to_material (op->materialname);
694 if (mt) 676 if (mt)
695 { 677 {
696 safe_strcat (buf[use_buf], mt->description, &len, HUGE_BUF); 678 safe_strcat (buf[use_buf], mt->description, &len, HUGE_BUF);
793 return "(null)"; 775 return "(null)";
794 776
795 if (!op->nrof && !op->weight && !op->title && !is_magical (op)) 777 if (!op->nrof && !op->weight && !op->title && !is_magical (op))
796 return op->name; /* To speed things up (or make things slower?) */ 778 return op->name; /* To speed things up (or make things slower?) */
797 779
798 if ((IS_ARMOR (op) || IS_WEAPON (op)) && op->materialname) 780 if ((op->is_armor () || op->is_weapon ()) && op->materialname)
799 mt = name_to_material (op->materialname); 781 mt = name_to_material (op->materialname);
800 782
801#ifdef NEW_MATERIAL_CODE 783#ifdef NEW_MATERIAL_CODE
802 if ((IS_ARMOR (op) || IS_WEAPON (op)) && op->materialname && mt && 784 if ((op->is_armor () || op->is_weapon ()) && op->materialname && mt &&
803 op->arch->clone.materialname != mt->name && !(op->material & M_SPECIAL)) 785 op->arch->clone.materialname != mt->name && !(op->material & M_SPECIAL))
804 { 786 {
805 strcpy (buf, mt->description); 787 strcpy (buf, mt->description);
806 len = strlen (buf); 788 len = strlen (buf);
807 safe_strcat (buf, " ", &len, MAX_BUF); 789 safe_strcat (buf, " ", &len, MAX_BUF);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines