00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00034 #ifndef SKILLS_H
00035 #define SKILLS_H
00036
00048 #define SK_LOCKPICKING 1
00049 #define SK_HIDING 2
00050 #define SK_SMITHERY 3
00051 #define SK_BOWYER 4
00052 #define SK_JEWELER 5
00053 #define SK_ALCHEMY 6
00054 #define SK_STEALING 7
00055 #define SK_LITERACY 8
00056 #define SK_BARGAINING 9
00057 #define SK_JUMPING 10
00058 #define SK_DET_MAGIC 11
00059 #define SK_ORATORY 12
00060 #define SK_SINGING 13
00061 #define SK_DET_CURSE 14
00062 #define SK_FIND_TRAPS 15
00063 #define SK_MEDITATION 16
00064 #define SK_PUNCHING 17
00065 #define SK_FLAME_TOUCH 18
00066 #define SK_KARATE 19
00067 #define SK_CLIMBING 20
00068 #define SK_WOODSMAN 21
00069 #define SK_INSCRIPTION 22
00070 #define SK_ONE_HANDED_WEAPON 23
00071 #define SK_MISSILE_WEAPON 24
00072 #define SK_THROWING 25
00073 #define SK_USE_MAGIC_ITEM 26
00074 #define SK_DISARM_TRAPS 27
00075 #define SK_SET_TRAP 28
00076 #define SK_THAUMATURGY 29
00077 #define SK_PRAYING 30
00078 #define SK_CLAWING 31
00079 #define SK_LEVITATION 32
00080 #define SK_SUMMONING 33
00081 #define SK_PYROMANCY 34
00082 #define SK_EVOCATION 35
00083 #define SK_SORCERY 36
00084 #define SK_TWO_HANDED_WEAPON 37
00085 #define SK_WRAITH_FEED 38
00086 #define SK_HARVESTING 39
00087
00095 #define NUM_SKILLS 40
00096
00103 #define SK_EXP_ADD_SKILL 0
00104 #define SK_EXP_TOTAL 1
00105 #define SK_EXP_NONE 2
00106 #define SK_SUBTRACT_SKILL_EXP 3
00108
00109
00110 #define USING_SKILL(op, skill) ((op)->chosen_skill && (op)->chosen_skill->subtype == skill)
00111
00116 #define IS_COMBAT_SKILL(num) \
00117 ((num == SK_PUNCHING) \
00118 || (num == SK_FLAME_TOUCH) \
00119 || (num == SK_KARATE) \
00120 || (num == SK_ONE_HANDED_WEAPON) \
00121 || (num == SK_MISSILE_WEAPON) \
00122 || (num == SK_THROWING) \
00123 || (num == SK_CLAWING) \
00124 || (num == SK_TWO_HANDED_WEAPON) \
00125 || (num == SK_WRAITH_FEED))
00126
00131 #define IS_MANA_SKILL(num) \
00132 ((num == SK_SORCERY) \
00133 || (num == SK_EVOCATION) \
00134 || (num == SK_PYROMANCY) \
00135 || (num == SK_SUMMONING))
00136
00140 #define IS_GRACE_SKILL(num) \
00141 (num == SK_PRAYING)
00142
00143 extern const char *skill_names[NUM_SKILLS];
00144
00145 #ifdef WANT_UNARMED_SKILLS
00146
00157 static uint8 unarmed_skills[] = {
00158 SK_KARATE,
00159 SK_CLAWING,
00160 SK_FLAME_TOUCH,
00161 SK_PUNCHING,
00162 SK_WRAITH_FEED,
00163 -1
00164 };
00165
00166
00167 #undef WANT_UNARMED_SKILLS
00168
00169 #endif
00170
00171 #endif