Crossfire Server, Branch 1.12  R12190
spells.h
Go to the documentation of this file.
00001 /*
00002  * static char *rcsid_spells_h =
00003  *   "$Id: spells.h 11578 2009-02-23 22:02:27Z lalo $";
00004  */
00005 
00006 /*
00007     CrossFire, A Multiplayer game for X-windows
00008 
00009     Copyright (C) 2002-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 SPELLS_H
00035 #define SPELLS_H
00036 
00041 #define PATH_PROT       0x00000001      /* 1 */
00042 #define PATH_FIRE       0x00000002      /* 2 */
00043 #define PATH_FROST      0x00000004      /* 4 */
00044 #define PATH_ELEC       0x00000008      /* 8 */
00045 #define PATH_MISSILE    0x00000010      /* 16 */
00046 #define PATH_SELF       0x00000020      /* 32 */
00047 #define PATH_SUMMON     0x00000040      /* 64 */
00048 #define PATH_ABJURE     0x00000080      /* 128 */
00049 #define PATH_RESTORE    0x00000100      /* 256 */
00050 #define PATH_DETONATE   0x00000200      /* 512 */
00051 #define PATH_MIND       0x00000400      /* 1024 */
00052 #define PATH_CREATE     0x00000800      /* 2048 */
00053 #define PATH_TELE       0x00001000      /* 4096 */
00054 #define PATH_INFO       0x00002000      /* 8192 */
00055 #define PATH_TRANSMUTE  0x00004000      /* 16384 */
00056 #define PATH_TRANSFER   0x00008000      /*  32768 */
00057 #define PATH_TURNING    0x00010000      /* 65536 */
00058 #define PATH_WOUNDING   0x00020000      /* 131072 */
00059 #define PATH_DEATH      0x00040000      /* 262144 */
00060 #define PATH_LIGHT      0x00080000      /* 524288 */
00061 
00064 #define PATH_SP_MULT(op, spell) (((op->path_attuned&spell->path_attuned) ? 0.8 : 1)* \
00065                                  ((op->path_repelled&spell->path_attuned) ? 1.25 : 1))
00066 
00068 #define NRSPELLPATHS    20
00069 extern const char *const spellpathnames[NRSPELLPATHS];
00070 
00076 #define NROFREALSPELLS  1024
00077 
00086 #define SPELL_MANA      0x1
00087 #define SPELL_GRACE     0x2
00088 #define SPELL_HIGHEST   0x3
00089 
00103 #define SP_RAISE_DEAD       1
00104 #define SP_RUNE             2
00105 #define SP_MAKE_MARK        3
00106 #define SP_BOLT             4
00107 #define SP_BULLET           5
00108 #define SP_EXPLOSION        6
00109 #define SP_CONE             7
00110 #define SP_BOMB             8
00111 #define SP_WONDER           9
00112 #define SP_SMITE            10
00113 #define SP_MAGIC_MISSILE    11
00114 #define SP_SUMMON_GOLEM     12
00115 #define SP_DIMENSION_DOOR   13
00116 #define SP_MAGIC_MAPPING    14
00117 #define SP_MAGIC_WALL       15
00118 #define SP_DESTRUCTION      16
00119 #define SP_PERCEIVE_SELF    17
00120 #define SP_WORD_OF_RECALL   18
00121 #define SP_INVISIBLE        19
00122 #define SP_PROBE            20
00123 #define SP_HEALING          21
00124 #define SP_CREATE_FOOD      22
00125 #define SP_EARTH_TO_DUST    23
00126 #define SP_CHANGE_ABILITY   24
00127 #define SP_BLESS            25
00128 #define SP_CURSE            26
00129 #define SP_SUMMON_MONSTER   27
00130 #define SP_CHARGING         28
00131 #define SP_POLYMORPH        29
00132 #define SP_ALCHEMY          30
00133 #define SP_REMOVE_CURSE     31
00134 #define SP_IDENTIFY         32
00135 #define SP_DETECTION        33
00136 #define SP_MOOD_CHANGE      34
00137 #define SP_MOVING_BALL      35
00138 #define SP_SWARM            36
00139 #define SP_CHANGE_MANA      37
00140 #define SP_DISPEL_RUNE      38
00141 #define SP_CREATE_MISSILE   39
00142 #define SP_CONSECRATE       40
00143 #define SP_ANIMATE_WEAPON   41
00144 #define SP_LIGHT            42
00145 #define SP_CHANGE_MAP_LIGHT 43
00146 #define SP_FAERY_FIRE       44
00147 #define SP_CAUSE_DISEASE    45
00148 #define SP_AURA             46
00149 #define SP_TOWN_PORTAL      47
00150 /*#define SP_PARTY_SPELL      48*/
00151 #define SP_ITEM_CURSE_BLESS 49
00152 
00159 #define POT_SPELL           1
00160 #define POT_DUST            2
00161 #define POT_FIGURINE        3
00162 #define POT_BALM            4
00163 
00171 #define FORCE_CONFUSION         1
00172 #define FORCE_CHANGE_ABILITY    2
00173 #define FORCE_TRANSFORMED_ITEM  3
00174 
00179 #define PATH_TIME_MULT(op, spell) (((op->path_attuned&spell->path_attuned) ? 0.8 : 1)* \
00180                                   ((op->path_repelled&spell->path_attuned) ? 1.25 : 1))
00181 
00188 #define SP_MED_FIREBALL "spell_medium_fireball"
00189 #define LOOSE_MANA      "loose_magic"
00190 #define SPELL_WONDER    "spell_wonder"
00191 #define GOD_POWER       "god_power"
00192 #define SPLINT          "splint"        /* for bombs */
00193 #define SWARM_SPELL     "swarm_spell"
00194 #define GENERIC_RUNE    "generic_rune"
00195 #define HOLY_POSSESSION "spell_holy_possession"
00196 #define FORCE_NAME      "force"         /* instead of it being hardcoded */
00197 
00201 #define EXPLODING_FIREBALL  "exploding_fireball"
00202 
00203 #endif /* SPELLS_H */