TrinityCore
SpellScript.h File Reference
#include "ObjectGuid.h"
#include "SharedDefines.h"
#include "SpellAuraDefines.h"
#include "Util.h"
#include <stack>
+ Include dependency graph for SpellScript.h:

Go to the source code of this file.

Classes

class  SpellScriptBase
 
class  SpellScriptBase::EffectHook
 
struct  SpellScriptBase::GetScriptClass< typename >
 
struct  SpellScriptBase::GetScriptClass< Return(Class::*)(Args...)>
 
struct  SpellScriptBase::GetScriptClass< Return(Class::*)(Args...) const >
 
class  SpellScript
 
class  SpellScript::CastHandler
 
class  SpellScript::CheckCastHandler
 
union  SpellScript::CheckCastHandler::SpellCheckCastFnType
 
class  SpellScript::EffectBase
 
class  SpellScript::EffectHandler
 
class  SpellScript::BeforeHitHandler
 
class  SpellScript::HitHandler
 
class  SpellScript::OnCalcCritChanceHandler
 
union  SpellScript::OnCalcCritChanceHandler::SpellOnCalcCritChanceFnType
 
class  SpellScript::TargetHook
 
class  SpellScript::ObjectAreaTargetSelectHandler
 
union  SpellScript::ObjectAreaTargetSelectHandler::SpellObjectAreaTargetSelectFnType
 
class  SpellScript::ObjectTargetSelectHandler
 
union  SpellScript::ObjectTargetSelectHandler::SpellObjectTargetSelectFnType
 
class  SpellScript::DestinationTargetSelectHandler
 
union  SpellScript::DestinationTargetSelectHandler::SpellDestinationTargetSelectFnType
 
class  SpellScript::DamageAndHealingCalcHandler
 
union  SpellScript::DamageAndHealingCalcHandler::DamageAndHealingCalcFnType
 
class  SpellScript::OnCalculateResistAbsorbHandler
 
union  SpellScript::OnCalculateResistAbsorbHandler::SpellOnResistAbsorbCalculateFnType
 
class  AuraScript
 
class  AuraScript::CheckAreaTargetHandler
 
union  AuraScript::CheckAreaTargetHandler::AuraCheckAreaTargetFnType
 
class  AuraScript::AuraDispelHandler
 
union  AuraScript::AuraDispelHandler::AuraDispelFnType
 
class  AuraScript::EffectBase
 
class  AuraScript::EffectPeriodicHandler
 
union  AuraScript::EffectPeriodicHandler::AuraEffectPeriodicFnType
 
class  AuraScript::EffectUpdatePeriodicHandler
 
union  AuraScript::EffectUpdatePeriodicHandler::AuraEffectUpdatePeriodicFnType
 
class  AuraScript::EffectCalcAmountHandler
 
union  AuraScript::EffectCalcAmountHandler::AuraEffectCalcAmountFnType
 
class  AuraScript::EffectCalcPeriodicHandler
 
union  AuraScript::EffectCalcPeriodicHandler::AuraEffectCalcPeriodicFnType
 
class  AuraScript::EffectCalcSpellModHandler
 
union  AuraScript::EffectCalcSpellModHandler::AuraEffectCalcSpellModFnType
 
class  AuraScript::EffectCalcCritChanceHandler
 
union  AuraScript::EffectCalcCritChanceHandler::AuraEffectCalcCritChanceFnType
 
class  AuraScript::EffectCalcDamageAndHealingHandler
 
union  AuraScript::EffectCalcDamageAndHealingHandler::AuraEffectDamageAndHealingCalcFnType
 
class  AuraScript::EffectApplyHandler
 
union  AuraScript::EffectApplyHandler::AuraEffectApplicationModeFnType
 
class  AuraScript::EffectAbsorbHandler
 
union  AuraScript::EffectAbsorbHandler::AuraEffectAbsorbFnType
 
class  AuraScript::EffectAbsorbHealHandler
 
union  AuraScript::EffectAbsorbHealHandler::AuraEffectAbsorbHealFnType
 
class  AuraScript::CheckProcHandler
 
union  AuraScript::CheckProcHandler::AuraCheckProcFnType
 
class  AuraScript::CheckEffectProcHandler
 
union  AuraScript::CheckEffectProcHandler::AuraCheckEffectProcFnType
 
class  AuraScript::AuraProcHandler
 
union  AuraScript::AuraProcHandler::AuraProcFnType
 
class  AuraScript::EffectProcHandler
 
union  AuraScript::EffectProcHandler::AuraEffectProcFnType
 
class  AuraScript::EnterLeaveCombatHandler
 
class  AuraScript::ScriptStateStore
 

Macros

#define SPELL_EFFECT_ANY   ((uint16)-1)
 
#define SPELL_AURA_ANY   ((uint16)-1)
 
#define SPELL_SCRIPT_STATE_END   (SPELL_SCRIPT_STATE_UNLOADING + 1)
 
#define HOOK_SPELL_HIT_START   SPELL_SCRIPT_HOOK_EFFECT_HIT
 
#define HOOK_SPELL_HIT_END   SPELL_SCRIPT_HOOK_AFTER_HIT + 1
 
#define PrepareSpellScript(CLASSNAME)
 
#define SpellCastFn(F)   CastHandler(&F)
 
#define SpellCheckCastFn(F)   CheckCastHandler(&F)
 
#define SpellEffectFn(F, I, N)   EffectHandler(&F, I, N)
 
#define BeforeSpellHitFn(F)   BeforeHitHandler(&F)
 
#define SpellHitFn(F)   HitHandler(&F)
 
#define SpellOnCalcCritChanceFn(F)   OnCalcCritChanceHandler(&F)
 
#define SpellObjectAreaTargetSelectFn(F, I, N)   ObjectAreaTargetSelectHandler(&F, I, N)
 
#define SpellObjectTargetSelectFn(F, I, N)   ObjectTargetSelectHandler(&F, I, N)
 
#define SpellDestinationTargetSelectFn(F, I, N)   DestinationTargetSelectHandler(&F, I, N)
 
#define SpellCalcDamageFn(F)   DamageAndHealingCalcHandler(&F)
 
#define SpellCalcHealingFn(F)   DamageAndHealingCalcHandler(&F)
 
#define SpellOnResistAbsorbCalculateFn(F)   OnCalculateResistAbsorbHandler(&F)
 
#define PrepareAuraScript(CLASSNAME)
 
#define AuraCheckAreaTargetFn(F)   CheckAreaTargetHandler(&F)
 
#define AuraDispelFn(F)   AuraDispelHandler(&F)
 
#define AuraEffectApplyFn(F, I, N, M)   EffectApplyHandler(&F, I, N, M)
 
#define AuraEffectRemoveFn(F, I, N, M)   EffectApplyHandler(&F, I, N, M)
 
#define AuraEffectPeriodicFn(F, I, N)   EffectPeriodicHandler(&F, I, N)
 
#define AuraEffectUpdatePeriodicFn(F, I, N)   EffectUpdatePeriodicHandler(&F, I, N)
 
#define AuraEffectCalcAmountFn(F, I, N)   EffectCalcAmountHandler(&F, I, N)
 
#define AuraEffectCalcPeriodicFn(F, I, N)   EffectCalcPeriodicHandler(&F, I, N)
 
#define AuraEffectCalcSpellModFn(F, I, N)   EffectCalcSpellModHandler(&F, I, N)
 
#define AuraEffectCalcCritChanceFn(F, I, N)   EffectCalcCritChanceHandler(&F, I, N)
 
#define AuraEffectCalcDamageFn(F, I, N)   EffectCalcDamageAndHealingHandler(&F, I, N)
 
#define AuraEffectCalcHealingFn(F, I, N)   EffectCalcDamageAndHealingHandler(&F, I, N)
 
#define AuraEffectAbsorbFn(F, I)   EffectAbsorbHandler(&F, I, SPELL_AURA_SCHOOL_ABSORB)
 
#define AuraEffectAbsorbOverkillFn(F, I)   EffectAbsorbHandler(&F, I, SPELL_AURA_SCHOOL_ABSORB_OVERKILL)
 
#define AuraEffectAbsorbHealFn(F, I)   EffectAbsorbHealHandler(&F, I, SPELL_AURA_SCHOOL_HEAL_ABSORB)
 
#define AuraEffectManaShieldFn(F, I)   EffectAbsorbHandler(&F, I, SPELL_AURA_MANA_SHIELD)
 
#define AuraEffectSplitFn(F, I)   EffectAbsorbHandler(&F, I, SPELL_AURA_SPLIT_DAMAGE_PCT)
 
#define AuraCheckProcFn(F)   CheckProcHandler(&F)
 
#define AuraCheckEffectProcFn(F, I, N)   CheckEffectProcHandler(&F, I, N)
 
#define AuraProcFn(F)   AuraProcHandler(&F)
 
#define AuraEffectProcFn(F, I, N)   EffectProcHandler(&F, I, N)
 
#define AuraEnterLeaveCombatFn(F)   EnterLeaveCombatHandler(&F)
 

Enumerations

enum  SpellScriptState { SPELL_SCRIPT_STATE_NONE = 0 , SPELL_SCRIPT_STATE_REGISTRATION , SPELL_SCRIPT_STATE_LOADING , SPELL_SCRIPT_STATE_UNLOADING }
 
enum  SpellScriptHookType {
  SPELL_SCRIPT_HOOK_EFFECT_LAUNCH = SPELL_SCRIPT_STATE_END , SPELL_SCRIPT_HOOK_EFFECT_LAUNCH_TARGET , SPELL_SCRIPT_HOOK_EFFECT_HIT , SPELL_SCRIPT_HOOK_EFFECT_HIT_TARGET ,
  SPELL_SCRIPT_HOOK_EFFECT_SUCCESSFUL_DISPEL , SPELL_SCRIPT_HOOK_BEFORE_HIT , SPELL_SCRIPT_HOOK_HIT , SPELL_SCRIPT_HOOK_AFTER_HIT ,
  SPELL_SCRIPT_HOOK_OBJECT_AREA_TARGET_SELECT , SPELL_SCRIPT_HOOK_OBJECT_TARGET_SELECT , SPELL_SCRIPT_HOOK_DESTINATION_TARGET_SELECT , SPELL_SCRIPT_HOOK_CHECK_CAST ,
  SPELL_SCRIPT_HOOK_BEFORE_CAST , SPELL_SCRIPT_HOOK_ON_CAST , SPELL_SCRIPT_HOOK_ON_RESIST_ABSORB_CALCULATION , SPELL_SCRIPT_HOOK_AFTER_CAST ,
  SPELL_SCRIPT_HOOK_CALC_CRIT_CHANCE , SPELL_SCRIPT_HOOK_CALC_DAMAGE , SPELL_SCRIPT_HOOK_CALC_HEALING , SPELL_SCRIPT_HOOK_ON_PRECAST ,
  SPELL_SCRIPT_HOOK_CALC_CAST_TIME
}
 
enum  AuraScriptHookType {
  AURA_SCRIPT_HOOK_EFFECT_APPLY = SPELL_SCRIPT_STATE_END , AURA_SCRIPT_HOOK_EFFECT_AFTER_APPLY , AURA_SCRIPT_HOOK_EFFECT_REMOVE , AURA_SCRIPT_HOOK_EFFECT_AFTER_REMOVE ,
  AURA_SCRIPT_HOOK_EFFECT_PERIODIC , AURA_SCRIPT_HOOK_EFFECT_UPDATE_PERIODIC , AURA_SCRIPT_HOOK_EFFECT_CALC_AMOUNT , AURA_SCRIPT_HOOK_EFFECT_CALC_PERIODIC ,
  AURA_SCRIPT_HOOK_EFFECT_CALC_SPELLMOD , AURA_SCRIPT_HOOK_EFFECT_CALC_CRIT_CHANCE , AURA_SCRIPT_HOOK_EFFECT_CALC_DAMAGE_AND_HEALING , AURA_SCRIPT_HOOK_EFFECT_ABSORB ,
  AURA_SCRIPT_HOOK_EFFECT_AFTER_ABSORB , AURA_SCRIPT_HOOK_EFFECT_MANASHIELD , AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD , AURA_SCRIPT_HOOK_EFFECT_SPLIT ,
  AURA_SCRIPT_HOOK_CHECK_AREA_TARGET , AURA_SCRIPT_HOOK_DISPEL , AURA_SCRIPT_HOOK_AFTER_DISPEL , AURA_SCRIPT_HOOK_ENTER_LEAVE_COMBAT ,
  AURA_SCRIPT_HOOK_CHECK_PROC , AURA_SCRIPT_HOOK_CHECK_EFFECT_PROC , AURA_SCRIPT_HOOK_PREPARE_PROC , AURA_SCRIPT_HOOK_PROC ,
  AURA_SCRIPT_HOOK_EFFECT_PROC , AURA_SCRIPT_HOOK_EFFECT_AFTER_PROC , AURA_SCRIPT_HOOK_AFTER_PROC
}
 

Macro Definition Documentation

◆ AuraCheckAreaTargetFn

#define AuraCheckAreaTargetFn (   F)    CheckAreaTargetHandler(&F)

Definition at line 2008 of file SpellScript.h.

◆ AuraCheckEffectProcFn

#define AuraCheckEffectProcFn (   F,
  I,
 
)    CheckEffectProcHandler(&F, I, N)

Definition at line 2136 of file SpellScript.h.

◆ AuraCheckProcFn

#define AuraCheckProcFn (   F)    CheckProcHandler(&F)

Definition at line 2130 of file SpellScript.h.

◆ AuraDispelFn

#define AuraDispelFn (   F)    AuraDispelHandler(&F)

Definition at line 2018 of file SpellScript.h.

◆ AuraEffectAbsorbFn

#define AuraEffectAbsorbFn (   F,
 
)    EffectAbsorbHandler(&F, I, SPELL_AURA_SCHOOL_ABSORB)

Definition at line 2090 of file SpellScript.h.

◆ AuraEffectAbsorbHealFn

#define AuraEffectAbsorbHealFn (   F,
 
)    EffectAbsorbHealHandler(&F, I, SPELL_AURA_SCHOOL_HEAL_ABSORB)

Definition at line 2102 of file SpellScript.h.

◆ AuraEffectAbsorbOverkillFn

#define AuraEffectAbsorbOverkillFn (   F,
 
)    EffectAbsorbHandler(&F, I, SPELL_AURA_SCHOOL_ABSORB_OVERKILL)

Definition at line 2091 of file SpellScript.h.

◆ AuraEffectApplyFn

#define AuraEffectApplyFn (   F,
  I,
  N,
 
)    EffectApplyHandler(&F, I, N, M)

Definition at line 2029 of file SpellScript.h.

◆ AuraEffectCalcAmountFn

#define AuraEffectCalcAmountFn (   F,
  I,
 
)    EffectCalcAmountHandler(&F, I, N)

Definition at line 2058 of file SpellScript.h.

◆ AuraEffectCalcCritChanceFn

#define AuraEffectCalcCritChanceFn (   F,
  I,
 
)    EffectCalcCritChanceHandler(&F, I, N)

Definition at line 2076 of file SpellScript.h.

◆ AuraEffectCalcDamageFn

#define AuraEffectCalcDamageFn (   F,
  I,
 
)    EffectCalcDamageAndHealingHandler(&F, I, N)

Definition at line 2083 of file SpellScript.h.

◆ AuraEffectCalcHealingFn

#define AuraEffectCalcHealingFn (   F,
  I,
 
)    EffectCalcDamageAndHealingHandler(&F, I, N)

Definition at line 2084 of file SpellScript.h.

◆ AuraEffectCalcPeriodicFn

#define AuraEffectCalcPeriodicFn (   F,
  I,
 
)    EffectCalcPeriodicHandler(&F, I, N)

Definition at line 2064 of file SpellScript.h.

◆ AuraEffectCalcSpellModFn

#define AuraEffectCalcSpellModFn (   F,
  I,
 
)    EffectCalcSpellModHandler(&F, I, N)

Definition at line 2070 of file SpellScript.h.

◆ AuraEffectManaShieldFn

#define AuraEffectManaShieldFn (   F,
 
)    EffectAbsorbHandler(&F, I, SPELL_AURA_MANA_SHIELD)

Definition at line 2113 of file SpellScript.h.

◆ AuraEffectPeriodicFn

#define AuraEffectPeriodicFn (   F,
  I,
 
)    EffectPeriodicHandler(&F, I, N)

Definition at line 2046 of file SpellScript.h.

◆ AuraEffectProcFn

#define AuraEffectProcFn (   F,
  I,
 
)    EffectProcHandler(&F, I, N)

Definition at line 2160 of file SpellScript.h.

◆ AuraEffectRemoveFn

#define AuraEffectRemoveFn (   F,
  I,
  N,
 
)    EffectApplyHandler(&F, I, N, M)

Definition at line 2040 of file SpellScript.h.

◆ AuraEffectSplitFn

#define AuraEffectSplitFn (   F,
 
)    EffectAbsorbHandler(&F, I, SPELL_AURA_SPLIT_DAMAGE_PCT)

Definition at line 2124 of file SpellScript.h.

◆ AuraEffectUpdatePeriodicFn

#define AuraEffectUpdatePeriodicFn (   F,
  I,
 
)    EffectUpdatePeriodicHandler(&F, I, N)

Definition at line 2052 of file SpellScript.h.

◆ AuraEnterLeaveCombatFn

#define AuraEnterLeaveCombatFn (   F)    EnterLeaveCombatHandler(&F)

Definition at line 2166 of file SpellScript.h.

◆ AuraProcFn

#define AuraProcFn (   F)    AuraProcHandler(&F)

Definition at line 2150 of file SpellScript.h.

◆ BeforeSpellHitFn

#define BeforeSpellHitFn (   F)    BeforeHitHandler(&F)

Definition at line 847 of file SpellScript.h.

◆ HOOK_SPELL_HIT_END

#define HOOK_SPELL_HIT_END   SPELL_SCRIPT_HOOK_AFTER_HIT + 1

Definition at line 244 of file SpellScript.h.

◆ HOOK_SPELL_HIT_START

#define HOOK_SPELL_HIT_START   SPELL_SCRIPT_HOOK_EFFECT_HIT

Definition at line 243 of file SpellScript.h.

◆ PrepareAuraScript

#define PrepareAuraScript (   CLASSNAME)

Definition at line 1971 of file SpellScript.h.

◆ PrepareSpellScript

#define PrepareSpellScript (   CLASSNAME)

Definition at line 789 of file SpellScript.h.

◆ SPELL_AURA_ANY

#define SPELL_AURA_ANY   ((uint16)-1)

Definition at line 59 of file SpellScript.h.

◆ SPELL_EFFECT_ANY

#define SPELL_EFFECT_ANY   ((uint16)-1)

Definition at line 58 of file SpellScript.h.

◆ SPELL_SCRIPT_STATE_END

#define SPELL_SCRIPT_STATE_END   (SPELL_SCRIPT_STATE_UNLOADING + 1)

Definition at line 68 of file SpellScript.h.

◆ SpellCalcDamageFn

#define SpellCalcDamageFn (   F)    DamageAndHealingCalcHandler(&F)

Definition at line 879 of file SpellScript.h.

◆ SpellCalcHealingFn

#define SpellCalcHealingFn (   F)    DamageAndHealingCalcHandler(&F)

Definition at line 884 of file SpellScript.h.

◆ SpellCastFn

#define SpellCastFn (   F)    CastHandler(&F)

Definition at line 825 of file SpellScript.h.

◆ SpellCheckCastFn

#define SpellCheckCastFn (   F)    CheckCastHandler(&F)

Definition at line 830 of file SpellScript.h.

◆ SpellDestinationTargetSelectFn

#define SpellDestinationTargetSelectFn (   F,
  I,
 
)    DestinationTargetSelectHandler(&F, I, N)

Definition at line 874 of file SpellScript.h.

◆ SpellEffectFn

#define SpellEffectFn (   F,
  I,
 
)    EffectHandler(&F, I, N)

Definition at line 842 of file SpellScript.h.

◆ SpellHitFn

#define SpellHitFn (   F)    HitHandler(&F)

Definition at line 854 of file SpellScript.h.

◆ SpellObjectAreaTargetSelectFn

#define SpellObjectAreaTargetSelectFn (   F,
  I,
 
)    ObjectAreaTargetSelectHandler(&F, I, N)

Definition at line 864 of file SpellScript.h.

◆ SpellObjectTargetSelectFn

#define SpellObjectTargetSelectFn (   F,
  I,
 
)    ObjectTargetSelectHandler(&F, I, N)

Definition at line 869 of file SpellScript.h.

◆ SpellOnCalcCritChanceFn

#define SpellOnCalcCritChanceFn (   F)    OnCalcCritChanceHandler(&F)

Definition at line 859 of file SpellScript.h.

◆ SpellOnResistAbsorbCalculateFn

#define SpellOnResistAbsorbCalculateFn (   F)    OnCalculateResistAbsorbHandler(&F)

Definition at line 889 of file SpellScript.h.

Enumeration Type Documentation

◆ AuraScriptHookType

Enumerator
AURA_SCRIPT_HOOK_EFFECT_APPLY 
AURA_SCRIPT_HOOK_EFFECT_AFTER_APPLY 
AURA_SCRIPT_HOOK_EFFECT_REMOVE 
AURA_SCRIPT_HOOK_EFFECT_AFTER_REMOVE 
AURA_SCRIPT_HOOK_EFFECT_PERIODIC 
AURA_SCRIPT_HOOK_EFFECT_UPDATE_PERIODIC 
AURA_SCRIPT_HOOK_EFFECT_CALC_AMOUNT 
AURA_SCRIPT_HOOK_EFFECT_CALC_PERIODIC 
AURA_SCRIPT_HOOK_EFFECT_CALC_SPELLMOD 
AURA_SCRIPT_HOOK_EFFECT_CALC_CRIT_CHANCE 
AURA_SCRIPT_HOOK_EFFECT_CALC_DAMAGE_AND_HEALING 
AURA_SCRIPT_HOOK_EFFECT_ABSORB 
AURA_SCRIPT_HOOK_EFFECT_AFTER_ABSORB 
AURA_SCRIPT_HOOK_EFFECT_MANASHIELD 
AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD 
AURA_SCRIPT_HOOK_EFFECT_SPLIT 
AURA_SCRIPT_HOOK_CHECK_AREA_TARGET 
AURA_SCRIPT_HOOK_DISPEL 
AURA_SCRIPT_HOOK_AFTER_DISPEL 
AURA_SCRIPT_HOOK_ENTER_LEAVE_COMBAT 
AURA_SCRIPT_HOOK_CHECK_PROC 
AURA_SCRIPT_HOOK_CHECK_EFFECT_PROC 
AURA_SCRIPT_HOOK_PREPARE_PROC 
AURA_SCRIPT_HOOK_PROC 
AURA_SCRIPT_HOOK_EFFECT_PROC 
AURA_SCRIPT_HOOK_EFFECT_AFTER_PROC 
AURA_SCRIPT_HOOK_AFTER_PROC 

Definition at line 1030 of file SpellScript.h.

◆ SpellScriptHookType

Enumerator
SPELL_SCRIPT_HOOK_EFFECT_LAUNCH 
SPELL_SCRIPT_HOOK_EFFECT_LAUNCH_TARGET 
SPELL_SCRIPT_HOOK_EFFECT_HIT 
SPELL_SCRIPT_HOOK_EFFECT_HIT_TARGET 
SPELL_SCRIPT_HOOK_EFFECT_SUCCESSFUL_DISPEL 
SPELL_SCRIPT_HOOK_BEFORE_HIT 
SPELL_SCRIPT_HOOK_HIT 
SPELL_SCRIPT_HOOK_AFTER_HIT 
SPELL_SCRIPT_HOOK_OBJECT_AREA_TARGET_SELECT 
SPELL_SCRIPT_HOOK_OBJECT_TARGET_SELECT 
SPELL_SCRIPT_HOOK_DESTINATION_TARGET_SELECT 
SPELL_SCRIPT_HOOK_CHECK_CAST 
SPELL_SCRIPT_HOOK_BEFORE_CAST 
SPELL_SCRIPT_HOOK_ON_CAST 
SPELL_SCRIPT_HOOK_ON_RESIST_ABSORB_CALCULATION 
SPELL_SCRIPT_HOOK_AFTER_CAST 
SPELL_SCRIPT_HOOK_CALC_CRIT_CHANCE 
SPELL_SCRIPT_HOOK_CALC_DAMAGE 
SPELL_SCRIPT_HOOK_CALC_HEALING 
SPELL_SCRIPT_HOOK_ON_PRECAST 
SPELL_SCRIPT_HOOK_CALC_CAST_TIME 

Definition at line 218 of file SpellScript.h.

◆ SpellScriptState

Enumerator
SPELL_SCRIPT_STATE_NONE 
SPELL_SCRIPT_STATE_REGISTRATION 
SPELL_SCRIPT_STATE_LOADING 
SPELL_SCRIPT_STATE_UNLOADING 

Definition at line 61 of file SpellScript.h.