Crossfire Server, Branches 1.12  R18729
spells.h
Go to the documentation of this file.
1 /*
2  * static char *rcsid_spells_h =
3  * "$Id: spells.h 11578 2009-02-23 22:02:27Z lalo $";
4  */
5 
6 /*
7  CrossFire, A Multiplayer game for X-windows
8 
9  Copyright (C) 2002-2003 Mark Wedel & Crossfire Development Team
10  Copyright (C) 1992 Frank Tore Johansen
11 
12  This program is free software; you can redistribute it and/or modify
13  it under the terms of the GNU General Public License as published by
14  the Free Software Foundation; either version 2 of the License, or
15  (at your option) any later version.
16 
17  This program is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  GNU General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with this program; if not, write to the Free Software
24  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 
26  The authors can be reached via e-mail at crossfire-devel@real-time.com
27 */
28 
34 #ifndef SPELLS_H
35 #define SPELLS_H
36 
41 #define PATH_PROT 0x00000001 /* 1 */
42 #define PATH_FIRE 0x00000002 /* 2 */
43 #define PATH_FROST 0x00000004 /* 4 */
44 #define PATH_ELEC 0x00000008 /* 8 */
45 #define PATH_MISSILE 0x00000010 /* 16 */
46 #define PATH_SELF 0x00000020 /* 32 */
47 #define PATH_SUMMON 0x00000040 /* 64 */
48 #define PATH_ABJURE 0x00000080 /* 128 */
49 #define PATH_RESTORE 0x00000100 /* 256 */
50 #define PATH_DETONATE 0x00000200 /* 512 */
51 #define PATH_MIND 0x00000400 /* 1024 */
52 #define PATH_CREATE 0x00000800 /* 2048 */
53 #define PATH_TELE 0x00001000 /* 4096 */
54 #define PATH_INFO 0x00002000 /* 8192 */
55 #define PATH_TRANSMUTE 0x00004000 /* 16384 */
56 #define PATH_TRANSFER 0x00008000 /* 32768 */
57 #define PATH_TURNING 0x00010000 /* 65536 */
58 #define PATH_WOUNDING 0x00020000 /* 131072 */
59 #define PATH_DEATH 0x00040000 /* 262144 */
60 #define PATH_LIGHT 0x00080000 /* 524288 */
61 
64 #define PATH_SP_MULT(op, spell) (((op->path_attuned&spell->path_attuned) ? 0.8 : 1)* \
65  ((op->path_repelled&spell->path_attuned) ? 1.25 : 1))
66 
68 #define NRSPELLPATHS 20
69 extern const char *const spellpathnames[NRSPELLPATHS];
70 
76 #define NROFREALSPELLS 1024
77 
86 #define SPELL_MANA 0x1
87 #define SPELL_GRACE 0x2
88 #define SPELL_HIGHEST 0x3
89 
103 #define SP_RAISE_DEAD 1
104 #define SP_RUNE 2
105 #define SP_MAKE_MARK 3
106 #define SP_BOLT 4
107 #define SP_BULLET 5
108 #define SP_EXPLOSION 6
109 #define SP_CONE 7
110 #define SP_BOMB 8
111 #define SP_WONDER 9
112 #define SP_SMITE 10
113 #define SP_MAGIC_MISSILE 11
114 #define SP_SUMMON_GOLEM 12
115 #define SP_DIMENSION_DOOR 13
116 #define SP_MAGIC_MAPPING 14
117 #define SP_MAGIC_WALL 15
118 #define SP_DESTRUCTION 16
119 #define SP_PERCEIVE_SELF 17
120 #define SP_WORD_OF_RECALL 18
121 #define SP_INVISIBLE 19
122 #define SP_PROBE 20
123 #define SP_HEALING 21
124 #define SP_CREATE_FOOD 22
125 #define SP_EARTH_TO_DUST 23
126 #define SP_CHANGE_ABILITY 24
127 #define SP_BLESS 25
128 #define SP_CURSE 26
129 #define SP_SUMMON_MONSTER 27
130 #define SP_CHARGING 28
131 #define SP_POLYMORPH 29
132 #define SP_ALCHEMY 30
133 #define SP_REMOVE_CURSE 31
134 #define SP_IDENTIFY 32
135 #define SP_DETECTION 33
136 #define SP_MOOD_CHANGE 34
137 #define SP_MOVING_BALL 35
138 #define SP_SWARM 36
139 #define SP_CHANGE_MANA 37
140 #define SP_DISPEL_RUNE 38
141 #define SP_CREATE_MISSILE 39
142 #define SP_CONSECRATE 40
143 #define SP_ANIMATE_WEAPON 41
144 #define SP_LIGHT 42
145 #define SP_CHANGE_MAP_LIGHT 43
146 #define SP_FAERY_FIRE 44
147 #define SP_CAUSE_DISEASE 45
148 #define SP_AURA 46
149 #define SP_TOWN_PORTAL 47
150 /*#define SP_PARTY_SPELL 48*/
151 #define SP_ITEM_CURSE_BLESS 49
152 
159 #define POT_SPELL 1
160 #define POT_DUST 2
161 #define POT_FIGURINE 3
162 #define POT_BALM 4
163 
171 #define FORCE_CONFUSION 1
172 #define FORCE_CHANGE_ABILITY 2
173 #define FORCE_TRANSFORMED_ITEM 3
174 
179 #define PATH_TIME_MULT(op, spell) (((op->path_attuned&spell->path_attuned) ? 0.8 : 1)* \
180  ((op->path_repelled&spell->path_attuned) ? 1.25 : 1))
181 
188 #define SP_MED_FIREBALL "spell_medium_fireball"
189 #define LOOSE_MANA "loose_magic"
190 #define SPELL_WONDER "spell_wonder"
191 #define GOD_POWER "god_power"
192 #define SPLINT "splint" /* for bombs */
193 #define SWARM_SPELL "swarm_spell"
194 #define GENERIC_RUNE "generic_rune"
195 #define HOLY_POSSESSION "spell_holy_possession"
196 #define FORCE_NAME "force" /* instead of it being hardcoded */
197 
201 #define EXPLODING_FIREBALL "exploding_fireball"
202 
203 #endif /* SPELLS_H */
const char *const spellpathnames[NRSPELLPATHS]
Definition: init.c:126
#define NRSPELLPATHS
Definition: spells.h:68