Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

magic Namespace Reference

Magic related stuff. More...


Compounds

class  cCreateFoodMenu
 Create food menu. More...

class  cPolymorphMenu
 Polymorph menu. More...

class  cSummonCreatureMenu
 Summon creature menu. More...

struct  g_Spell
struct  reag_st

Enumerations

enum  SpellId {
  SPELL_CLUMSY = 0, SPELL_CREATEFOOD, SPELL_FEEBLEMIND, SPELL_HEAL,
  SPELL_MAGICARROW, SPELL_NIGHTSIGHT, SPELL_REACTIVEARMOUR, SPELL_WEAKEN,
  SPELL_AGILITY, SPELL_CUNNING, SPELL_CURE, SPELL_HARM,
  SPELL_TRAP, SPELL_UNTRAP, SPELL_PROTECTION, SPELL_STRENGHT,
  SPELL_BLESS, SPELL_FIREBALL, SPELL_LOCK, SPELL_POISON,
  SPELL_TELEKINESYS, SPELL_TELEPORT, SPELL_UNLOCK, SPELL_WALLSTONE,
  SPELL_ARCHCURE, SPELL_ARCHPROTECTION, SPELL_CURSE, SPELL_FIREFIELD,
  SPELL_GREATHEAL, SPELL_LIGHTNING, SPELL_MANADRAIN, SPELL_RECALL,
  SPELL_BLADESPIRITS, SPELL_DISPELFIELD, SPELL_INCOGNITO, SPELL_REFLECTION,
  SPELL_MINDBLAST, SPELL_PARALYZE, SPELL_POISONFIELD, SPELL_SUMMON,
  SPELL_DISPEL, SPELL_ENERGYBOLT, SPELL_EXPLOSION, SPELL_INVISIBILITY,
  SPELL_MARK, SPELL_MASSCURSE, SPELL_PARALYZEFIELD, SPELL_REVEAL,
  SPELL_CHAINLIGHTNING, SPELL_ENERGYFIELD, SPELL_FLAMESTRIKE, SPELL_GATE,
  SPELL_MANAVAMPIRE, SPELL_MASSDISPEL, SPELL_METEORSWARM, SPELL_POLYMORPH,
  SPELL_EARTHQUAKE, SPELL_ENERGYVORTEX, SPELL_RESURRECTION, SPELL_SUMMON_AIR,
  SPELL_SUMMON_DEAMON, SPELL_SUMMON_EARTH, SPELL_SUMMON_FIRE, SPELL_SUMMON_WATER,
  MAX_SPELLS, SPELL_INVALID = -1
}
 Spells ID. More...

enum  CastingType {
  CASTINGTYPE_SPELL = 0, CASTINGTYPE_SCROLL, CASTINGTYPE_ITEM, CASTINGTYPE_NOMANAITEM,
  CASTINGTYPE_NPC
}
enum  {
  TARGTYPE_NONE = 0, TARGTYPE_XYZ, TARGTYPE_ITEM, TARGTYPE_CHAR,
  TARGTYPE_CONTAINERORDOOR, TARGTYPE_CONTAINER, TARGTYPE_RUNE
}

Functions

UI32 getCastingTime (SpellId spell)
LOGICAL checkMagicalSpeech (P_CHAR pc, char *speech)
void loadSpellsFromScript ()
bool checkGateCollision (P_CHAR pc)
 Checks for gate collisions.

bool checkTownLimits (SpellId spellnum, P_CHAR pa, P_CHAR pd, int spellflags, int param, bool areaspell=false)
bool checkMana (P_CHAR pc, SpellId num)
 Checks if char has enough mana.

void subtractMana (P_CHAR pc, SpellId spellnumber)
bool checkReflection (P_CHAR &pa, P_CHAR &pd)
bool isFieldSpell (SpellId spell)
bool isBoxSpell (SpellId spell)
bool isAreaSpell (SpellId spell)
bool checkResist (P_CHAR pa, P_CHAR pd, SpellId spellnumber)
void spellFX (SpellId spellnum, P_CHAR pcaster=NULL, P_CHAR pctarget=NULL, P_ITEM pitarget=NULL)
 Plays the spell effect.

void damage (P_CHAR pa, P_CHAR pd, SpellId spellnum, int spellflags=0, int param=0)
bool checkReagents (P_CHAR pc, reag_st reagents)
void spellFailFX (P_CHAR pc)
void castAreaAttackSpell (UI16 x, UI16 y, SpellId spellnum, P_CHAR pcaster)
int spellTargetType (SpellId spellnum)
bool spellRequiresTarget (SpellId spellnum)
bool checkDistance (P_CHAR caster, P_CHAR target)
bool checkLos (P_CHAR caster, Location destpos)
bool checkRequiredTargetType (SpellId spellnum, TargetLocation &t)
void consumeReagents (P_CHAR pc, reag_st reags)
SpellId spellNumberFromScrollId (int id)
void castStatPumper (SpellId spellnumber, TargetLocation &dest, P_CHAR pa, int flags, int param)
 Casting function for stat pumping spells.

P_CHAR summon (P_CHAR owner, int npctype, int duration, bool bTamed, int x, int y, int z)
void castFieldSpell (P_CHAR pc, int x, int y, int z, int spellnumber)
void applySpell (SpellId spellnumber, TargetLocation &dest, P_CHAR src, int flags, int param)
void castSpell (SpellId spellnumber, TargetLocation &dest, P_CHAR src, int flags, int param)
bool beginCasting (SpellId num, NXWCLIENT s, CastingType type)

Variables

const char * g_szSpellName []
g_Spell g_Spells [MAX_SPELLS]
std::map< std::string, SpellIdspeechMap


Detailed Description

Magic related stuff.

Enumeration Type Documentation

anonymous enum
 

Enumeration values:
TARGTYPE_NONE 
TARGTYPE_XYZ 
TARGTYPE_ITEM 
TARGTYPE_CHAR 
TARGTYPE_CONTAINERORDOOR 
TARGTYPE_CONTAINER 
TARGTYPE_RUNE 

enum magic::CastingType
 

Enumeration values:
CASTINGTYPE_SPELL 
CASTINGTYPE_SCROLL 
CASTINGTYPE_ITEM 
CASTINGTYPE_NOMANAITEM 
CASTINGTYPE_NPC 

enum magic::SpellId
 

Spells ID.

Enumeration values:
SPELL_CLUMSY 
SPELL_CREATEFOOD 
SPELL_FEEBLEMIND 
SPELL_HEAL 
SPELL_MAGICARROW 
SPELL_NIGHTSIGHT 
SPELL_REACTIVEARMOUR 
SPELL_WEAKEN 
SPELL_AGILITY 
SPELL_CUNNING 
SPELL_CURE 
SPELL_HARM 
SPELL_TRAP 
SPELL_UNTRAP 
SPELL_PROTECTION 
SPELL_STRENGHT 
SPELL_BLESS 
SPELL_FIREBALL 
SPELL_LOCK 
SPELL_POISON 
SPELL_TELEKINESYS 
SPELL_TELEPORT 
SPELL_UNLOCK 
SPELL_WALLSTONE 
SPELL_ARCHCURE 
SPELL_ARCHPROTECTION 
SPELL_CURSE 
SPELL_FIREFIELD 
SPELL_GREATHEAL 
SPELL_LIGHTNING 
SPELL_MANADRAIN 
SPELL_RECALL 
SPELL_BLADESPIRITS 
SPELL_DISPELFIELD 
SPELL_INCOGNITO 
SPELL_REFLECTION 
SPELL_MINDBLAST 
SPELL_PARALYZE 
SPELL_POISONFIELD 
SPELL_SUMMON 
SPELL_DISPEL 
SPELL_ENERGYBOLT 
SPELL_EXPLOSION 
SPELL_INVISIBILITY 
SPELL_MARK 
SPELL_MASSCURSE 
SPELL_PARALYZEFIELD 
SPELL_REVEAL 
SPELL_CHAINLIGHTNING 
SPELL_ENERGYFIELD 
SPELL_FLAMESTRIKE 
SPELL_GATE 
SPELL_MANAVAMPIRE 
SPELL_MASSDISPEL 
SPELL_METEORSWARM 
SPELL_POLYMORPH 
SPELL_EARTHQUAKE 
SPELL_ENERGYVORTEX 
SPELL_RESURRECTION 
SPELL_SUMMON_AIR 
SPELL_SUMMON_DEAMON 
SPELL_SUMMON_EARTH 
SPELL_SUMMON_FIRE 
SPELL_SUMMON_WATER 
MAX_SPELLS 
SPELL_INVALID 


Function Documentation

void applySpell SpellId    spellnumber,
TargetLocation   dest,
P_CHAR    src,
int    flags,
int    param
[static]
 

bool magic::beginCasting SpellId    num,
NXWCLIENT    s,
CastingType    type
 

void magic::castAreaAttackSpell UI16    x,
UI16    y,
SpellId    spellnum,
P_CHAR    pcaster = NULL
 

void castFieldSpell P_CHAR    pc,
int    x,
int    y,
int    z,
int    spellnumber
 

void magic::castSpell SpellId    spellnumber,
TargetLocation   dest,
P_CHAR    src = NULL,
int    flags = 0,
int    param = 0
 

void castStatPumper SpellId    spellnumber,
TargetLocation   dest,
P_CHAR    pa,
int    flags,
int    param
[static]
 

Casting function for stat pumping spells.

Author:
Xanathar & Luxor

bool checkDistance P_CHAR    caster,
P_CHAR    target
[static]
 

bool magic::checkGateCollision P_CHAR    pc
 

Checks for gate collisions.

Author:
Luxor

bool checkLos P_CHAR    caster,
Location    destpos
[static]
 

LOGICAL magic::checkMagicalSpeech P_CHAR    pc,
char *    speech
 

Author:
Luxor

bool checkMana P_CHAR    pc,
SpellId    num
[inline, static]
 

Checks if char has enough mana.

Author:
Xanathar
Parameters:
pc  the player who want to cast
num  spell id
Returns:
true if the pc has enough mana, else false

bool checkReagents P_CHAR    pc,
reag_st    reagents
 

bool checkReflection P_CHAR   pa,
P_CHAR   pd
[static]
 

bool checkRequiredTargetType SpellId    spellnum,
TargetLocation   t
 

bool checkResist P_CHAR    pa,
P_CHAR    pd,
SpellId    spellnumber
[static]
 

bool checkTownLimits SpellId    spellnum,
P_CHAR    pa,
P_CHAR    pd,
int    spellflags,
int    param,
bool    areaspell = false
[inline, static]
 

void consumeReagents P_CHAR    pc,
reag_st    reags
 

void damage P_CHAR    pa,
P_CHAR    pd,
SpellId    spellnum,
int    spellflags = 0,
int    param = 0
[static]
 

UI32 magic::getCastingTime SpellId    spell
 

Author:
Luxor

bool isAreaSpell SpellId    spell [inline, static]
 

bool isBoxSpell SpellId    spell [inline, static]
 

bool isFieldSpell SpellId    spell [inline, static]
 

void magic::loadSpellsFromScript  
 

void spellFailFX P_CHAR    pc
 

void spellFX SpellId    spellnum,
P_CHAR    pcaster = NULL,
P_CHAR    pctarget = NULL,
P_ITEM    pitarget = NULL
[static]
 

Plays the spell effect.

Author:
Luxor
Note:
Completely rewritten in 12 sep 2003

SpellId magic::spellNumberFromScrollId int    id
 

bool magic::spellRequiresTarget SpellId    spellnum
 

int spellTargetType SpellId    spellnum [inline, static]
 

void subtractMana P_CHAR    pc,
SpellId    spellnumber
[inline, static]
 

P_CHAR magic::summon P_CHAR    owner,
int    npctype,
int    duration,
bool    bTamed = true,
int    x = -1,
int    y = -1,
int    z = -1
 


Variable Documentation

g_Spell magic::g_Spells
 

const char* magic::g_szSpellName[] [static]
 

Initial value:

 {
        "CLUMSY", "CREATEFOOD", "FEEBLEMIND", "HEAL", "MAGICARROW", "NIGHTSIGHT", "REACTIVEARMOR", "WEAKEN",
        "AGILITY", "CUNNING", "CURE", "HARM", "MAGICTRAP", "MAGICUNTRAP", "PROTECTION", "STRENGHT",
        "BLESS", "FIREBALL", "LOCK", "POISON", "TELEKINESYS", "TELEPORT", "UNLOCK", "WALLOFSTONE",
        "ARCHCURE", "ARCHPROTECTION", "CURSE", "FIREFIELD", "GREATERHEAL", "LIGHTNING", "MANADRAIN", "RECALL",
        "BLADESPIRITS", "DISPELFIELD", "INCOGNITO", "REFLECTION", "MINDBLAST", "PARALYZE", "POISONFIELD", "SUMMON",
        "DISPEL", "ENERGYBOLT", "EXPLOSION", "INVISIBILITY", "MARK", "MASSCURSE", "PARALYZEFIELD", "REVEAL",
        "CHAINLIGHTNING", "ENERGYFIELD", "FLAMESTRIKE", "GATETRAVEL", "MANAVAMPIRE", "MASSDISPEL", "METEORSWARM", "POLYMORPH",
        "EARTHQUAKE", "ENERGYVORTEX", "RESURRECTION", "SUMMON_AIR_ELEMENTAL", "SUMMON_DEMON","SUMMON_EARTH_ELEMENTAL","SUMMON_FIRE_ELEMENTAL","SUMMON_WATER_ELEMENTAL",
}

std::map< std::string, SpellId > magic::speechMap
 

SourceForge.net Logo