#define RegisterSpellScript(spell_script)
@ TARGET_UNIT_DEST_AREA_ENEMY
@ SPELL_FAILED_NOT_ON_GROUND
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraCheckProcFn(F)
T CalculatePct(T base, U pct)
HookList< CheckProcHandler > DoCheckProc
static Player * ToPlayer(Object *o)
SpellInfo const * GetSpellInfo() const
void StartCooldown(SpellInfo const *spellInfo, uint32 itemId, Spell *spell=nullptr, bool onHold=false, Optional< Duration > forcedCooldown={})
bool IsAffected(uint32 familyName, flag128 const &familyFlags) const
bool HasLabel(uint32 labelId) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< CheckCastHandler > OnCheckCast
Unit * GetHitUnit() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
HookList< CastHandler > OnCast
HookList< EffectHandler > OnEffectLaunchTarget
Difficulty GetCastDifficulty() const
Unit * GetExplTargetUnit() const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
Optional< int32 > GetPowerTypeCostAmount(Powers power) const
int32 ModifyPower(Powers power, int32 val, bool withPowerUpdate=true)
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
SpellHistory * GetSpellHistory()
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool IsFriendlyTo(WorldObject const *target) const
void FilterTargets(std::list< WorldObject * > &targets)
bool CheckProc(ProcEventInfo &procInfo)
bool Validate(SpellInfo const *) override
SpellCastResult CheckCast()
void HandleHitTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleLaunchTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &procInfo)
bool Validate(SpellInfo const *) override
void HandleDamage(SpellEffIndex)
void RandomResize(C &container, std::size_t requestedSize)
@ SPELL_EVOKER_LIVING_FLAME
@ SPELL_EVOKER_SOAR_RACIAL
@ SPELL_EVOKER_GLIDE_KNOCKBACK
@ SPELL_EVOKER_ENERGIZING_FLAME
@ SPELL_EVOKER_LIVING_FLAME_DAMAGE
@ SPELL_EVOKER_LIVING_FLAME_HEAL
@ SPELL_EVOKER_PYRE_DAMAGE
@ SPELL_EVOKER_PERMEATING_CHILL_TALENT
@ SPELL_LABEL_EVOKER_BLUE
void AddSC_evoker_spell_scripts()