Crossfire Server, Trunk  R20513
Macros | Variables
spells.h File Reference

Spell-related defines: spellpath, subtypes, ... More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define EXPLODING_FIREBALL   "exploding_fireball"
 This is used for fumbles - this arch is all set up to do the right just by inserting it. More...
 
#define FORCE_CHANGE_ABILITY   2
 
#define FORCE_CONFUSION   1
 
#define FORCE_NAME   "force" /* instead of it being hardcoded */
 
#define FORCE_TRANSFORMED_ITEM   3
 
#define GENERIC_RUNE   "generic_rune"
 
#define GOD_POWER   "god_power"
 
#define HOLY_POSSESSION   "spell_holy_possession"
 
#define LOOSE_MANA   "loose_magic"
 
#define NROFREALSPELLS   1024
 Number of spells. More...
 
#define NRSPELLPATHS   20
 Number of spell paths. More...
 
#define PATH_ABJURE   0x00000080 /* 128 */
 
#define PATH_CREATE   0x00000800 /* 2048 */
 
#define PATH_DEATH   0x00040000 /* 262144 */
 
#define PATH_DETONATE   0x00000200 /* 512 */
 
#define PATH_ELEC   0x00000008 /* 8 */
 
#define PATH_FIRE   0x00000002 /* 2 */
 
#define PATH_FROST   0x00000004 /* 4 */
 
#define PATH_INFO   0x00002000 /* 8192 */
 
#define PATH_LIGHT   0x00080000 /* 524288 */
 
#define PATH_MIND   0x00000400 /* 1024 */
 
#define PATH_MISSILE   0x00000010 /* 16 */
 
#define PATH_PROT   0x00000001 /* 1 */
 
#define PATH_RESTORE   0x00000100 /* 256 */
 
#define PATH_SELF   0x00000020 /* 32 */
 
#define PATH_SP_MULT(op, spell)
 Multiplier for spell points / grace based on the attenuation. More...
 
#define PATH_SUMMON   0x00000040 /* 64 */
 
#define PATH_TELE   0x00001000 /* 4096 */
 
#define PATH_TIME_MULT(op, spell)
 Multiplier for the casting time based on path attenuation. More...
 
#define PATH_TRANSFER   0x00008000 /* 32768 */
 
#define PATH_TRANSMUTE   0x00004000 /* 16384 */
 
#define PATH_TURNING   0x00010000 /* 65536 */
 
#define PATH_WOUNDING   0x00020000 /* 131072 */
 
#define POT_BALM   4
 
#define POT_DUST   2
 
#define POT_FIGURINE   3
 
#define POT_SPELL   1
 
#define SP_ALCHEMY   30
 
#define SP_ANIMATE_WEAPON   41
 
#define SP_AURA   46
 
#define SP_BLESS   25
 
#define SP_BOLT   4
 
#define SP_BOMB   8
 
#define SP_BULLET   5
 
#define SP_CAUSE_DISEASE   45
 
#define SP_CHANGE_ABILITY   24
 
#define SP_CHANGE_MANA   37
 
#define SP_CHANGE_MAP_LIGHT   43
 
#define SP_CHARGING   28
 
#define SP_CONE   7
 
#define SP_CONSECRATE   40
 
#define SP_CREATE_FOOD   22
 
#define SP_CREATE_MISSILE   39
 
#define SP_CURSE   26
 
#define SP_DESTRUCTION   16
 
#define SP_DETECTION   33
 
#define SP_DIMENSION_DOOR   13
 
#define SP_DISPEL_RUNE   38
 
#define SP_EARTH_TO_DUST   23
 
#define SP_ELEM_SHIELD   50
 
#define SP_EXPLOSION   6
 
#define SP_FAERY_FIRE   44
 
#define SP_HEALING   21
 
#define SP_IDENTIFY   32
 
#define SP_INVISIBLE   19
 
#define SP_ITEM_CURSE_BLESS   49
 
#define SP_LIGHT   42
 
#define SP_MAGIC_MAPPING   14
 
#define SP_MAGIC_MISSILE   11
 
#define SP_MAGIC_WALL   15
 
#define SP_MAKE_MARK   3
 
#define SP_MED_FIREBALL   "spell_medium_fireball"
 These are some hard coded values that are used within the code for spell failure effects or pieces of spells. More...
 
#define SP_MOOD_CHANGE   34
 
#define SP_MOVING_BALL   35
 
#define SP_PERCEIVE_SELF   17
 
#define SP_POLYMORPH   29
 
#define SP_PROBE   20
 
#define SP_RAISE_DEAD   1
 
#define SP_REMOVE_CURSE   31
 
#define SP_RUNE   2
 
#define SP_SMITE   10
 
#define SP_SUMMON_GOLEM   12
 
#define SP_SUMMON_MONSTER   27
 
#define SP_SWARM   36
 
#define SP_TOWN_PORTAL   47
 
#define SP_WONDER   9
 
#define SP_WORD_OF_RECALL   18
 
#define SPELL_GRACE   0x2
 
#define SPELL_HIGHEST   0x3
 
#define SPELL_MANA   0x1
 
#define SPELL_WONDER   "spell_wonder"
 
#define SPLINT   "splint" /* for bombs */
 
#define SWARM_SPELL   "swarm_spell"
 

Variables

const char *const spellpathnames [NRSPELLPATHS]
 Perhaps not the best place for this, but needs to be in some file in the common area so that standalone programs, like the random map generator, can be built. More...
 

Detailed Description

Spell-related defines: spellpath, subtypes, ...

Definition in file spells.h.

Macro Definition Documentation

#define EXPLODING_FIREBALL   "exploding_fireball"

This is used for fumbles - this arch is all set up to do the right just by inserting it.

Definition at line 174 of file spells.h.

Referenced by charge_mana_effect(), and potion_type_apply().

#define FORCE_NAME   "force" /* instead of it being hardcoded */
#define GENERIC_RUNE   "generic_rune"

Definition at line 167 of file spells.h.

Referenced by write_rune().

#define GOD_POWER   "god_power"

Definition at line 164 of file spells.h.

Referenced by prayer_failure().

#define HOLY_POSSESSION   "spell_holy_possession"

Definition at line 168 of file spells.h.

Referenced by god_intervention().

#define LOOSE_MANA   "loose_magic"
#define NROFREALSPELLS   1024

Number of spells.

The only place this is really used is to allocate an array when printing out the spells the player knows.

Definition at line 48 of file spells.h.

Referenced by show_matching_spells().

#define NRSPELLPATHS   20

Number of spell paths.

Definition at line 40 of file spells.h.

Referenced by calc_item_power(), describe_spellpath_attenuation(), dragon_ability_gain(), send_spell_paths(), and spellpath_msg().

#define PATH_SP_MULT (   op,
  spell 
)
Value:
(((op->path_attuned&spell->path_attuned) ? 0.8 : 1)* \
((op->path_repelled&spell->path_attuned) ? 1.25 : 1))

Multiplier for spell points / grace based on the attenuation.

Definition at line 36 of file spells.h.

Referenced by SP_level_spellpoint_cost().

#define PATH_TIME_MULT (   op,
  spell 
)
Value:
(((op->path_attuned&spell->path_attuned) ? 0.8 : 1)* \
((op->path_repelled&spell->path_attuned) ? 1.25 : 1))

Multiplier for the casting time based on path attenuation.

Definition at line 152 of file spells.h.

Referenced by cast_spell().

#define SP_MED_FIREBALL   "spell_medium_fireball"

These are some hard coded values that are used within the code for spell failure effects or pieces of spells.

Rather then hardcode the names, use defines so it is easier to update if necessary.

Definition at line 161 of file spells.h.

Referenced by alchemy_failure_effect().

#define SPELL_WONDER   "spell_wonder"

Definition at line 163 of file spells.h.

Referenced by prayer_failure(), scroll_failure(), and spell_failure().

#define SPLINT   "splint" /* for bombs */

Definition at line 165 of file spells.h.

Referenced by animate_bomb().

#define SWARM_SPELL   "swarm_spell"

Definition at line 166 of file spells.h.

Referenced by fire_swarm().

Variable Documentation

const char* const spellpathnames[NRSPELLPATHS]

Perhaps not the best place for this, but needs to be in some file in the common area so that standalone programs, like the random map generator, can be built.

Definition at line 120 of file init.c.

Referenced by describe_spellpath_attenuation(), dragon_ability_gain(), send_spell_paths(), and spellpath_msg().