Crossfire Server, Branch 1.12
R12190
|
00001 /* 00002 * static char *rcsid_skills_h = 00003 * "$Id: skills.h 11578 2009-02-23 22:02:27Z lalo $"; 00004 */ 00005 00006 /* 00007 CrossFire, A Multiplayer game for X-windows 00008 00009 Copyright (C) 2003 Mark Wedel & Crossfire Development Team 00010 Copyright (C) 1992 Frank Tore Johansen 00011 00012 This program is free software; you can redistribute it and/or modify 00013 it under the terms of the GNU General Public License as published by 00014 the Free Software Foundation; either version 2 of the License, or 00015 (at your option) any later version. 00016 00017 This program is distributed in the hope that it will be useful, 00018 but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00020 GNU General Public License for more details. 00021 00022 You should have received a copy of the GNU General Public License 00023 along with this program; if not, write to the Free Software 00024 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00025 00026 The authors can be reached via e-mail at crossfire-devel@real-time.com 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 /* Just in case one file includes this more than once */ 00167 #undef WANT_UNARMED_SKILLS 00168 00169 #endif 00170 00171 #endif /* SKILLS_H */