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.7 by root, Fri Dec 15 20:08:45 2006 UTC vs.
Revision 1.24 by root, Sat Nov 17 23:40:01 2018 UTC

1/* 1/*
2 CrossFire, A Multiplayer game for X-windows 2 * This file is part of Deliantra, the Roguelike Realtime MMORPG.
3 3 *
4 * Copyright (©) 2017,2018 Marc Alexander Lehmann / the Deliantra team
5 * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
4 Copyright (C) 2002-2003 Mark Wedel & Crossfire Development Team 6 * Copyright (©) 2002-2003 Mark Wedel & Crossfire Development Team
5 Copyright (C) 1992 Frank Tore Johansen 7 * Copyright (©) 1992 Frank Tore Johansen
6 8 *
7 This program is free software; you can redistribute it and/or modify 9 * Deliantra is free software: you can redistribute it and/or modify it under
8 it under the terms of the GNU General Public License as published by 10 * the terms of the Affero GNU General Public License as published by the
9 the Free Software Foundation; either version 2 of the License, or 11 * Free Software Foundation, either version 3 of the License, or (at your
10 (at your option) any later version. 12 * option) any later version.
11 13 *
12 This program is distributed in the hope that it will be useful, 14 * This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details. 17 * GNU General Public License for more details.
16 18 *
17 You should have received a copy of the GNU General Public License 19 * You should have received a copy of the Affero GNU General Public License
18 along with this program; if not, write to the Free Software 20 * and the GNU General Public License along with this program. If not, see
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 * <http://www.gnu.org/licenses/>.
20 22 *
21 The authors can be reached via e-mail at crossfire@schmorp.de 23 * The authors can be reached via e-mail to <support@deliantra.net>
22*/ 24 */
23 25
24#ifndef SPELLS_H 26#ifndef SPELLS_H
25#define SPELLS_H 27#define SPELLS_H
26 28
27#define PATH_NULL 0x00000000 /* 0 */ 29#define PATH_NULL 0x00000000 /* 0 */
28#define PATH_PROT 0x00000001 /* 1 */ 30#define PATH_PROT 0x00000001 /* 1 */
29#define PATH_FIRE 0x00000002 /* 2 */ 31#define PATH_FIRE 0x00000002 /* 2 */
30#define PATH_FROST 0x00000004 /* 4 */ 32#define PATH_FROST 0x00000004 /* 4 */
31#define PATH_ELEC 0x00000008 /* 8 */ 33#define PATH_ELEC 0x00000008 /* 8 */
32#define PATH_MISSILE 0x00000010 /* 16 */ 34#define PATH_MISSILE 0x00000010 /* 16 */
33#define PATH_SELF 0x00000020 /* 32 */ 35#define PATH_SELF 0x00000020 /* 32 */
34#define PATH_SUMMON 0x00000040 /* 64 */ 36#define PATH_SUMMON 0x00000040 /* 64 */
35#define PATH_ABJURE 0x00000080 /* 128 */ 37#define PATH_ABJURE 0x00000080 /* 128 */
36#define PATH_RESTORE 0x00000100 /* 256 */ 38#define PATH_RESTORE 0x00000100 /* 256 */
37#define PATH_DETONATE 0x00000200 /* 512 */ 39#define PATH_DETONATE 0x00000200 /* 512 */
38#define PATH_MIND 0x00000400 /* 1024 */ 40#define PATH_MIND 0x00000400 /* 1024 */
39#define PATH_CREATE 0x00000800 /* 2048 */ 41#define PATH_CREATE 0x00000800 /* 2048 */
40#define PATH_TELE 0x00001000 /* 4096 */ 42#define PATH_TELE 0x00001000 /* 4096 */
41#define PATH_INFO 0x00002000 /* 8192 */ 43#define PATH_INFO 0x00002000 /* 8192 */
42#define PATH_TRANSMUTE 0x00004000 /* 16384 */ 44#define PATH_TRANSMUTE 0x00004000 /* 16384 */
43#define PATH_TRANSFER 0x00008000 /* 32768 */ 45#define PATH_TRANSFER 0x00008000 /* 32768 */
44#define PATH_TURNING 0x00010000 /* 65536 */ 46#define PATH_TURNING 0x00010000 /* 65536 */
45#define PATH_WOUNDING 0x00020000 /* 131072 */ 47#define PATH_WOUNDING 0x00020000 /* 131072 */
46#define PATH_DEATH 0x00040000 /* 262144 */ 48#define PATH_DEATH 0x00040000 /* 262144 */
47#define PATH_LIGHT 0x00080000 /* 524288 */ 49#define PATH_LIGHT 0x00080000 /* 524288 */
48 50
49#define PATH_SP_MULT(op,spell) (((op->path_attuned & spell->path_attuned) ? 0.8 : 1) * \ 51#define PATH_SP_MULT(op,spell) (((op->path_attuned & spell->path_attuned) ? 0.8 : 1) * \
51 53
52#define NRSPELLPATHS 20 54#define NRSPELLPATHS 20
53extern const char* const spellpathnames[NRSPELLPATHS]; 55extern const char* const spellpathnames[NRSPELLPATHS];
54 56
55/* The only place this is really used is to allocate an array 57/* The only place this is really used is to allocate an array
56 * when printing out the spells the player knows. 58 * when printing out the spells the player knows.
57 */ 59 */
58#define NROFREALSPELLS 1024 60#define NROFREALSPELLS 1024
59 61
60/* this is passed to SP_level_spellpoint_cost to determine 62/* this is passed to SP_level_spellpoint_cost to determine
61 * what to check. These values are also used in other places 63 * what to check. These values are also used in other places
65#define SPELL_MANA 0x1 67#define SPELL_MANA 0x1
66#define SPELL_GRACE 0x2 68#define SPELL_GRACE 0x2
67#define SPELL_HIGHEST 0x3 69#define SPELL_HIGHEST 0x3
68 70
69/* This is the subtype for the spells. Start at 1 so that 71/* This is the subtype for the spells. Start at 1 so that
70 * it is easy to see 0 as an uninitialized value. 72 * it is easy to see 0 as an uninitialised value.
71 * Note that for some spells, subtype pretty accurately 73 * Note that for some spells, subtype pretty accurately
72 * describes the entire spell (SP_DETECT_MAGIC). But for other, the subtype 74 * describes the entire spell (SP_DETECT_MAGIC). But for other, the subtype
73 * may not really say much (eg, SP_BOLT), and it is other 75 * may not really say much (eg, SP_BOLT), and it is other
74 * fields within the object which really determines its properties. 76 * fields within the object which really determines its properties.
75 * No effort is made to match these new numbers with the old ones, 77 * No effort is made to match these new numbers with the old ones,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines