ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/skills.h
(Generate patch)

Comparing deliantra/server/include/skills.h (file contents):
Revision 1.8 by root, Sun Sep 3 00:18:41 2006 UTC vs.
Revision 1.9 by root, Tue Sep 12 00:53:57 2006 UTC

1/*
2 * static char *rcsid_skills_h =
3 * "$Id: skills.h,v 1.8 2006/09/03 00:18:41 root Exp $";
4 */
5
6/* 1/*
7 CrossFire, A Multiplayer game for X-windows 2 CrossFire, A Multiplayer game for X-windows
8 3
9 Copyright (C) 2003 Mark Wedel & Crossfire Development Team 4 Copyright (C) 2003 Mark Wedel & Crossfire Development Team
10 Copyright (C) 1992 Frank Tore Johansen 5 Copyright (C) 1992 Frank Tore Johansen
24 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 20
26 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-devel@real-time.com
27*/ 22*/
28 23
24#ifndef SKILLS_H__
25#define SKILLS_H__
29 26
30/* This list is just a subtype <-> skill (code wise) in the 27/* This list is just a subtype <-> skill (code wise) in the
31 * server translation. In theory, the processing of the different 28 * server translation. In theory, the processing of the different
32 * skills could be done via strncmp 29 * skills could be done via strncmp
33 * This list doesn't really try to identify what the skills do. 30 * This list doesn't really try to identify what the skills do.
34 * The order of this list has no special meaning. 0 is not used 31 * The order of this list has no special meaning. 0 is not used
35 * to denote improperly set objects. 32 * to denote improperly set objects.
36 */ 33 */
37 34enum {
38#define SK_LOCKPICKING 1 35 SK_NONE = 0,
39#define SK_HIDING 2 36# define def(uc) SK_ ## uc,
40#define SK_SMITHERY 3 37# include "skillinc.h"
41#define SK_BOWYER 4 38# undef def
42#define SK_JEWELER 5 39 NUM_SKILLS,
43#define SK_ALCHEMY 6 40};
44#define SK_STEALING 7
45#define SK_LITERACY 8
46#define SK_BARGAINING 9
47#define SK_JUMPING 10
48#define SK_DET_MAGIC 11
49#define SK_ORATORY 12
50#define SK_SINGING 13
51#define SK_DET_CURSE 14
52#define SK_FIND_TRAPS 15
53#define SK_MEDITATION 16
54#define SK_PUNCHING 17
55#define SK_FLAME_TOUCH 18
56#define SK_KARATE 19
57#define SK_CLIMBING 20
58#define SK_WOODSMAN 21
59#define SK_INSCRIPTION 22
60#define SK_ONE_HANDED_WEAPON 23
61#define SK_MISSILE_WEAPON 24
62#define SK_THROWING 25
63#define SK_USE_MAGIC_ITEM 26
64#define SK_DISARM_TRAPS 27
65#define SK_SET_TRAP 28
66#define SK_THAUMATURGY 29
67#define SK_PRAYING 30
68#define SK_CLAWING 31
69#define SK_LEVITATION 32
70#define SK_SUMMONING 33
71#define SK_PYROMANCY 34
72#define SK_EVOCATION 35
73#define SK_SORCERY 36
74#define SK_TWO_HANDED_WEAPON 37
75#define SK_SPARK_TOUCH 38
76#define SK_SHIVER 39
77#define SK_ACID_SPLASH 40
78#define SK_POISON_NAIL 41
79
80/* This is the highest number skill in the table +1
81 * This is used to store pointers to the actual skills -
82 * to make life easier, we use the value above as index,
83 * eg, SK_EVOCATION (35) will be in last_skills[35].
84 */
85#define NUM_SKILLS 42
86
87 41
88/* This is used in the exp functions - basically what to do if 42/* This is used in the exp functions - basically what to do if
89 * the player doesn't have the skill he should get exp in. 43 * the player doesn't have the skill he should get exp in.
90 */ 44 */
91 45
119#define IS_GRACE_SKILL(num) \ 73#define IS_GRACE_SKILL(num) \
120 (num==SK_PRAYING) 74 (num==SK_PRAYING)
121 75
122extern shstr skill_names[NUM_SKILLS]; 76extern shstr skill_names[NUM_SKILLS];
123 77
124#ifdef WANT_UNARMED_SKILLS 78#endif
125/* Table of unarmed attack skills. Terminated by -1. This
126 * is also the list that we should try to use skills when
127 * automatically applying one for the player.
128 * Note it is hardcoded in the skill_util.c that dragons always
129 * want clawing if possible.
130 * included in a #ifdef so we don't get bunches of warnings about
131 * unused values. it is located here instead of a .c file to make
132 * updates easier and put it in a more central place - it shouldn't
133 * change very often, but it make sense to have it with the enumerated
134 * skill numbers above.
135 */
136static uint8 unarmed_skills[] = {
137SK_KARATE,
138SK_CLAWING,
139SK_FLAME_TOUCH,
140SK_PUNCHING,
141SK_SPARK_TOUCH,
142SK_SHIVER,
143SK_ACID_SPLASH,
144SK_POISON_NAIL,
145(uint8)-1
146};
147 79
148/* Just in case one file includes this more than once */
149#undef WANT_UNARMED_SKILLS
150
151#endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines