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.12 by root, Sun Jul 1 05:00:18 2007 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines