Crossfire Server, Branches 1.12  R18729
skills.h
Go to the documentation of this file.
1 /*
2  * static char *rcsid_skills_h =
3  * "$Id: skills.h 11578 2009-02-23 22:02:27Z lalo $";
4  */
5 
6 /*
7  CrossFire, A Multiplayer game for X-windows
8 
9  Copyright (C) 2003 Mark Wedel & Crossfire Development Team
10  Copyright (C) 1992 Frank Tore Johansen
11 
12  This program is free software; you can redistribute it and/or modify
13  it under the terms of the GNU General Public License as published by
14  the Free Software Foundation; either version 2 of the License, or
15  (at your option) any later version.
16 
17  This program is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  GNU General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with this program; if not, write to the Free Software
24  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 
26  The authors can be reached via e-mail at crossfire-devel@real-time.com
27 */
28 
34 #ifndef SKILLS_H
35 #define SKILLS_H
36 
48 #define SK_LOCKPICKING 1
49 #define SK_HIDING 2
50 #define SK_SMITHERY 3
51 #define SK_BOWYER 4
52 #define SK_JEWELER 5
53 #define SK_ALCHEMY 6
54 #define SK_STEALING 7
55 #define SK_LITERACY 8
56 #define SK_BARGAINING 9
57 #define SK_JUMPING 10
58 #define SK_DET_MAGIC 11
59 #define SK_ORATORY 12
60 #define SK_SINGING 13
61 #define SK_DET_CURSE 14
62 #define SK_FIND_TRAPS 15
63 #define SK_MEDITATION 16
64 #define SK_PUNCHING 17
65 #define SK_FLAME_TOUCH 18
66 #define SK_KARATE 19
67 #define SK_CLIMBING 20
68 #define SK_WOODSMAN 21
69 #define SK_INSCRIPTION 22
70 #define SK_ONE_HANDED_WEAPON 23
71 #define SK_MISSILE_WEAPON 24
72 #define SK_THROWING 25
73 #define SK_USE_MAGIC_ITEM 26
74 #define SK_DISARM_TRAPS 27
75 #define SK_SET_TRAP 28
76 #define SK_THAUMATURGY 29
77 #define SK_PRAYING 30
78 #define SK_CLAWING 31
79 #define SK_LEVITATION 32
80 #define SK_SUMMONING 33
81 #define SK_PYROMANCY 34
82 #define SK_EVOCATION 35
83 #define SK_SORCERY 36
84 #define SK_TWO_HANDED_WEAPON 37
85 #define SK_WRAITH_FEED 38
86 #define SK_HARVESTING 39
87 
95 #define NUM_SKILLS 40
96 
103 #define SK_EXP_ADD_SKILL 0
104 #define SK_EXP_TOTAL 1
105 #define SK_EXP_NONE 2
106 #define SK_SUBTRACT_SKILL_EXP 3
108 
109 
110 #define USING_SKILL(op, skill) ((op)->chosen_skill && (op)->chosen_skill->subtype == skill)
111 
116 #define IS_COMBAT_SKILL(num) \
117  ((num == SK_PUNCHING) \
118  || (num == SK_FLAME_TOUCH) \
119  || (num == SK_KARATE) \
120  || (num == SK_ONE_HANDED_WEAPON) \
121  || (num == SK_MISSILE_WEAPON) \
122  || (num == SK_THROWING) \
123  || (num == SK_CLAWING) \
124  || (num == SK_TWO_HANDED_WEAPON) \
125  || (num == SK_WRAITH_FEED))
126 
131 #define IS_MANA_SKILL(num) \
132  ((num == SK_SORCERY) \
133  || (num == SK_EVOCATION) \
134  || (num == SK_PYROMANCY) \
135  || (num == SK_SUMMONING))
136 
140 #define IS_GRACE_SKILL(num) \
141  (num == SK_PRAYING)
142 
143 extern const char *skill_names[NUM_SKILLS];
144 
145 #ifdef WANT_UNARMED_SKILLS
146 
157 static uint8 unarmed_skills[] = {
158  SK_KARATE,
159  SK_CLAWING,
161  SK_PUNCHING,
163  -1
164 };
165 
166 /* Just in case one file includes this more than once */
167 #undef WANT_UNARMED_SKILLS
168 
169 #endif
170 
171 #endif /* SKILLS_H */
#define SK_KARATE
Definition: skills.h:66
#define SK_FLAME_TOUCH
Definition: skills.h:65
const char * skill_names[NUM_SKILLS]
Definition: skill_util.c:65
#define SK_PUNCHING
Definition: skills.h:64
#define SK_CLAWING
Definition: skills.h:78
unsigned char uint8
Definition: global.h:75
#define NUM_SKILLS
Definition: skills.h:95
#define SK_WRAITH_FEED
Definition: skills.h:85