ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/spells.h
(Generate patch)

Comparing deliantra/server/include/spells.h (file contents):
Revision 1.2 by elmex, Sat Aug 12 14:12:03 2006 UTC vs.
Revision 1.9 by pippijn, Sat Jan 6 14:42:30 2007 UTC

1/*
2 * static char *rcsid_spells_h =
3 * "$Id: spells.h,v 1.2 2006/08/12 14:12:03 elmex Exp $";
4 */
5
6/* 1/*
7 CrossFire, A Multiplayer game for X-windows 2 CrossFire, A Multiplayer game for X-windows
8 3
4 Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team
9 Copyright (C) 2002-2003 Mark Wedel & Crossfire Development Team 5 Copyright (C) 2002-2003 Mark Wedel & Crossfire Development Team
10 Copyright (C) 1992 Frank Tore Johansen 6 Copyright (C) 1992 Frank Tore Johansen
11 7
12 This program is free software; you can redistribute it and/or modify 8 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 9 it under the terms of the GNU General Public License as published by
21 17
22 You should have received a copy of the GNU General Public License 18 You should have received a copy of the GNU General Public License
23 along with this program; if not, write to the Free Software 19 along with this program; if not, write to the Free Software
24 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 21
26 The authors can be reached via e-mail at crossfire-devel@real-time.com 22 The authors can be reached via e-mail at crossfire@schmorp.de
27*/ 23*/
28 24
29#ifndef SPELLS_H 25#ifndef SPELLS_H
30#define SPELLS_H 26#define SPELLS_H
31 27
50#define PATH_WOUNDING 0x00020000 /* 131072 */ 46#define PATH_WOUNDING 0x00020000 /* 131072 */
51#define PATH_DEATH 0x00040000 /* 262144 */ 47#define PATH_DEATH 0x00040000 /* 262144 */
52#define PATH_LIGHT 0x00080000 /* 524288 */ 48#define PATH_LIGHT 0x00080000 /* 524288 */
53 49
54#define PATH_SP_MULT(op,spell) (((op->path_attuned & spell->path_attuned) ? 0.8 : 1) * \ 50#define PATH_SP_MULT(op,spell) (((op->path_attuned & spell->path_attuned) ? 0.8 : 1) * \
55 ((op->path_repelled & spell->path_attuned) ? 1.25 : 1)) 51 ((op->path_repelled & spell->path_attuned) ? 1.25 : 1))
56 52
57#define NRSPELLPATHS 20 53#define NRSPELLPATHS 20
58extern const char* const spellpathnames[NRSPELLPATHS]; 54extern const char* const spellpathnames[NRSPELLPATHS];
59 55
60/* The only place this is really used is to allocate an array 56/* The only place this is really used is to allocate an array
70#define SPELL_MANA 0x1 66#define SPELL_MANA 0x1
71#define SPELL_GRACE 0x2 67#define SPELL_GRACE 0x2
72#define SPELL_HIGHEST 0x3 68#define SPELL_HIGHEST 0x3
73 69
74/* This is the subtype for the spells. Start at 1 so that 70/* This is the subtype for the spells. Start at 1 so that
75 * it is easy to see 0 as an uninitialized value. 71 * it is easy to see 0 as an uninitialised value.
76 * Note that for some spells, subtype pretty accurately 72 * Note that for some spells, subtype pretty accurately
77 * describes the entire spell (SP_DETECT_MAGIC). But for other, the subtype 73 * describes the entire spell (SP_DETECT_MAGIC). But for other, the subtype
78 * may not really say much (eg, SP_BOLT), and it is other 74 * may not really say much (eg, SP_BOLT), and it is other
79 * fields within the object which really determines its properties. 75 * fields within the object which really determines its properties.
80 * No effort is made to match these new numbers with the old ones, 76 * No effort is made to match these new numbers with the old ones,
127#define SP_FAERY_FIRE 44 123#define SP_FAERY_FIRE 44
128#define SP_CAUSE_DISEASE 45 124#define SP_CAUSE_DISEASE 45
129#define SP_AURA 46 125#define SP_AURA 46
130#define SP_TOWN_PORTAL 47 126#define SP_TOWN_PORTAL 47
131#define SP_PARTY_SPELL 48 127#define SP_PARTY_SPELL 48
132#define SP_PERL 49 /* a perl/plugin handled spell */
133 128
134/* Potion subtypes */ 129/* Potion subtypes */
135#define POT_SPELL 1 130#define POT_SPELL 1
136#define POT_DUST 2 131#define POT_DUST 2
137#define POT_FIGURINE 3 132#define POT_FIGURINE 3
140/* This is for the force subtypes */ 135/* This is for the force subtypes */
141#define FORCE_CONFUSION 1 136#define FORCE_CONFUSION 1
142#define FORCE_CHANGE_ABILITY 2 137#define FORCE_CHANGE_ABILITY 2
143 138
144#define PATH_TIME_MULT(op,spell) (((op->path_attuned & spell->path_attuned) ? 0.8 : 1) * \ 139#define PATH_TIME_MULT(op,spell) (((op->path_attuned & spell->path_attuned) ? 0.8 : 1) * \
145 ((op->path_repelled & spell->path_attuned) ? 1.25 : 1)) 140 ((op->path_repelled & spell->path_attuned) ? 1.25 : 1))
146 141
147/* These are some hard coded values that are used within the code 142/* These are some hard coded values that are used within the code
148 * for spell failure effects or pieces of spells. Rather 143 * for spell failure effects or pieces of spells. Rather
149 * then hardcode the names, use defines so it is easier to 144 * then hardcode the names, use defines so it is easier to
150 * update if necessary. 145 * update if necessary.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines