ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/living.h
Revision: 1.13
Committed: Sat May 12 18:14:47 2007 UTC (17 years ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.12: +4 -1 lines
Log Message:
- unrelated change, replace get_attr_value/set_attr_value by a nicer to use
  stat member function. should really replace the struct values by an array.

File Contents

# Content
1 /*
2 * CrossFire, A Multiplayer game
3 *
4 * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team
5 * Copyright (C) 2002 Mark Wedel & Crossfire Development Team
6 * Copyright (C) 1992 Frank Tore Johansen
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 *
22 * The authors can be reached via e-mail at crossfire@schmorp.de
23 */
24
25 #ifndef LIVING_H
26 #define LIVING_H
27
28 // corresponds to some arrays in common/living.C
29 enum {
30 STR,
31 DEX,
32 CON,
33 INT,
34 WIS,
35 POW,
36 CHA,
37 NUM_STATS
38 };
39
40 #define MAXLEVEL 110
41
42 /* Changed from NO_STAT to NO_STAT_VAL to fix conlfict on
43 * AIX systems
44 */
45 #define NO_STAT_VAL 99 /* needed by skills code -b.t. */
46
47 extern const char *const attacks[NROFATTACKS];
48
49 extern const float cha_bonus[MAX_STAT + 1];
50 extern const int dex_bonus[MAX_STAT + 1];
51 extern const int thaco_bonus[MAX_STAT + 1];
52 extern const int turn_bonus[MAX_STAT + 1];
53 extern const int max_carry[MAX_STAT + 1];
54 extern const int dam_bonus[MAX_STAT + 1];
55 extern const int learn_spell[];
56 extern const char *const restore_msg[NUM_STATS];
57 extern const char *const statname[NUM_STATS];
58 extern const char *const short_stat_name[NUM_STATS];
59 extern const char *const lose_msg[NUM_STATS];
60 extern const float speed_bonus[MAX_STAT + 1];
61 extern const uint32 weight_limit[MAX_STAT + 1];
62 extern const int cleric_chance[MAX_STAT + 1];
63 extern const int fear_bonus[MAX_STAT + 1];
64
65 /* Mostly used by "alive" objects */
66 INTERFACE_CLASS (living)
67 struct living
68 {
69 sint64 ACC (RW, exp); /* Experience. */
70 sint32 ACC (RW, food); /* How much food in stomach. 0 = starved. */
71
72 sint8 ACC (RW, Str), ACC (RW, Dex), ACC (RW, Con), ACC (RW, Int), ACC (RW, Wis), ACC (RW, Pow), ACC (RW, Cha);
73 sint8 ACC (RW, wc), ACC (RW, ac); /* Weapon Class and Armour Class */
74 sint8 ACC (RW, luck); /* Affects thaco and ac from time to time */
75 sint16 ACC (RW, dam); /* How much damage this object does when hitting */
76
77 sint16 ACC (RW, hp); /* Hit Points. */
78 sint16 ACC (RW, maxhp);
79
80 sint16 ACC (RW, sp); /* Spell points. Used to cast mage spells. */
81 sint16 ACC (RW, maxsp); /* Max spell points. */
82
83 sint16 ACC (RW, grace); /* Grace. Used to invoke clerical prayers. */
84 sint16 ACC (RW, maxgrace); /* Grace. Used to invoke clerical prayers. */
85
86 sint8 &stat (int index);
87 sint8 stat (int index) const;
88 };
89
90 #endif
91