aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2023_06_24_00_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_evoker.cpp23
2 files changed, 26 insertions, 0 deletions
diff --git a/sql/updates/world/master/2023_06_24_00_world.sql b/sql/updates/world/master/2023_06_24_00_world.sql
new file mode 100644
index 00000000000..1048275b192
--- /dev/null
+++ b/sql/updates/world/master/2023_06_24_00_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_evo_pyre';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(393568,'spell_evo_pyre');
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);
}