aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_evoker.cpp23
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);
}