diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_evoker.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_evoker.cpp b/src/server/scripts/Spells/spell_evoker.cpp index 29a59030231..61958b7e4a7 100644 --- a/src/server/scripts/Spells/spell_evoker.cpp +++ b/src/server/scripts/Spells/spell_evoker.cpp @@ -38,6 +38,7 @@ enum EvokerSpells SPELL_EVOKER_LIVING_FLAME = 361469, SPELL_EVOKER_LIVING_FLAME_DAMAGE = 361500, SPELL_EVOKER_LIVING_FLAME_HEAL = 361509, + SPELL_EVOKER_PYRE_DAMAGE = 357212, SPELL_EVOKER_SOAR_RACIAL = 369536 }; @@ -139,9 +140,31 @@ class spell_evo_living_flame : public SpellScript } }; +// 393568 - Pyre +class spell_evo_pyre : public SpellScript +{ + PrepareSpellScript(spell_evo_pyre); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo ({ SPELL_EVOKER_PYRE_DAMAGE }); + } + + void HandleDamage(SpellEffIndex /*effIndex*/) + { + GetCaster()->CastSpell(GetHitUnit()->GetPosition(), SPELL_EVOKER_PYRE_DAMAGE, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_evo_pyre::HandleDamage, EFFECT_0, SPELL_EFFECT_DUMMY); + } +}; + void AddSC_evoker_spell_scripts() { RegisterSpellScript(spell_evo_azure_strike); RegisterSpellScript(spell_evo_glide); RegisterSpellScript(spell_evo_living_flame); + RegisterSpellScript(spell_evo_pyre); } |