1 | /* |
1 | /* |
2 | * static char *rcsid_skills_h = |
2 | * static char *rcsid_skills_h = |
3 | * "$Id: skills.h,v 1.2 2006/04/30 12:07:47 pippijn Exp $"; |
3 | * "$Id: skills.h,v 1.5 2006/05/17 21:35:43 root Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
71 | #define SK_PYROMANCY 34 |
71 | #define SK_PYROMANCY 34 |
72 | #define SK_EVOCATION 35 |
72 | #define SK_EVOCATION 35 |
73 | #define SK_SORCERY 36 |
73 | #define SK_SORCERY 36 |
74 | #define SK_TWO_HANDED_WEAPON 37 |
74 | #define SK_TWO_HANDED_WEAPON 37 |
75 | #define SK_SPARK_TOUCH 38 |
75 | #define SK_SPARK_TOUCH 38 |
76 | #define SK_FROST_TOUCH 39 |
76 | #define SK_SHIVER 39 |
77 | #define SK_ACID_TOUCH 40 |
77 | #define SK_ACID_SPLASH 40 |
78 | #define SK_POISON_TOUCH 41 |
78 | #define SK_POISON_NAIL 41 |
79 | |
79 | |
80 | /* This is the highest number skill in the table +1 |
80 | /* This is the highest number skill in the table +1 |
81 | * This is used to store pointers to the actual skills - |
81 | * This is used to store pointers to the actual skills - |
82 | * to make life easier, we use the value above as index, |
82 | * to make life easier, we use the value above as index, |
83 | * eg, SK_EVOCATION (35) will be in last_skills[35]. |
83 | * eg, SK_EVOCATION (35) will be in last_skills[35]. |
… | |
… | |
94 | #define SK_EXP_NONE 2 /* Player gets nothing */ |
94 | #define SK_EXP_NONE 2 /* Player gets nothing */ |
95 | #define SK_SUBTRACT_SKILL_EXP 3 /* Used when removing exp */ |
95 | #define SK_SUBTRACT_SKILL_EXP 3 /* Used when removing exp */ |
96 | |
96 | |
97 | #define USING_SKILL(op, skill) ((op)->chosen_skill && (op)->chosen_skill->subtype == skill) |
97 | #define USING_SKILL(op, skill) ((op)->chosen_skill && (op)->chosen_skill->subtype == skill) |
98 | |
98 | |
99 | /* This macro is used in fix_player() to define if this is a sill |
99 | /* This macro is used in fix_player() to define if this is a skill |
100 | * that should be used to calculate wc's and the like. |
100 | * that should be used to calculate wc's and the like. |
101 | */ |
101 | */ |
102 | #define IS_COMBAT_SKILL(num) \ |
102 | #define IS_COMBAT_SKILL(num) \ |
103 | ((num==SK_PUNCHING) || (num==SK_FLAME_TOUCH) || (num==SK_KARATE) || \ |
103 | ((num==SK_PUNCHING) || (num==SK_FLAME_TOUCH) || (num==SK_KARATE) || \ |
104 | (num==SK_ONE_HANDED_WEAPON) || (num==SK_MISSILE_WEAPON) || \ |
104 | (num==SK_ONE_HANDED_WEAPON) || (num==SK_MISSILE_WEAPON) || \ |
105 | (num==SK_THROWING) || (num==SK_CLAWING) || (num==SK_TWO_HANDED_WEAPON) || \ |
105 | (num==SK_THROWING) || (num==SK_CLAWING) || (num==SK_TWO_HANDED_WEAPON) || \ |
106 | (num==SK_SPARK_TOUCH) || (num==SK_FROST_TOUCH) || \ |
106 | (num==SK_SPARK_TOUCH) || (num==SK_SHIVER) || \ |
107 | (num==SK_ACID_TOUCH) || (num==SK_POISON_TOUCH)) |
107 | (num==SK_ACID_SPLASH) || (num==SK_POISON_NAIL)) |
108 | |
108 | |
109 | /* Like IS_COMBAT_SKILL above, but instead this is used to determine |
109 | /* Like IS_COMBAT_SKILL above, but instead this is used to determine |
110 | * how many mana points the player has. |
110 | * how many mana points the player has. |
111 | */ |
111 | */ |
112 | #define IS_MANA_SKILL(num) \ |
112 | #define IS_MANA_SKILL(num) \ |
… | |
… | |
138 | SK_KARATE, |
138 | SK_KARATE, |
139 | SK_CLAWING, |
139 | SK_CLAWING, |
140 | SK_FLAME_TOUCH, |
140 | SK_FLAME_TOUCH, |
141 | SK_PUNCHING, |
141 | SK_PUNCHING, |
142 | SK_SPARK_TOUCH, |
142 | SK_SPARK_TOUCH, |
143 | SK_FROST_TOUCH, |
143 | SK_SHIVER, |
144 | SK_ACID_TOUCH, |
144 | SK_ACID_SPLASH, |
145 | SK_POISON_TOUCH, |
145 | SK_POISON_NAIL, |
146 | -1 |
146 | -1 |
147 | }; |
147 | }; |
148 | |
148 | |
149 | /* Just in case one file includes this more than once */ |
149 | /* Just in case one file includes this more than once */ |
150 | #undef WANT_UNARMED_SKILLS |
150 | #undef WANT_UNARMED_SKILLS |