From 03c84db04dd7bce2a8aa5e527aeec2640c6fa7eb Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sun, 14 Nov 2021 05:48:16 +0100 Subject: [PATCH] fix(Script/Spells): Validate Warlock spells (#9181) --- src/server/scripts/Spells/spell_warlock.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index 9889ffabb..ed7ffb310 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -803,6 +803,11 @@ class spell_warl_demonic_circle_summon : public AuraScript { PrepareAuraScript(spell_warl_demonic_circle_summon); + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARLOCK_DEMONIC_CIRCLE_ALLOW_CAST, SPELL_WARLOCK_DEMONIC_CIRCLE_TELEPORT }); + } + void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes mode) { // If effect is removed by expire remove the summoned demonic circle too. @@ -844,6 +849,11 @@ class spell_warl_demonic_circle_teleport : public AuraScript { PrepareAuraScript(spell_warl_demonic_circle_teleport); + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARLOCK_DEMONIC_CIRCLE_SUMMON }); + } + void HandleTeleport(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { if (Player* player = GetTarget()->ToPlayer()) @@ -1010,6 +1020,16 @@ class spell_warl_health_funnel : public AuraScript { PrepareAuraScript(spell_warl_health_funnel); + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ + SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_R2, + SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_BUFF_R2, + SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_R1, + SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_BUFF_R1 + }); + } + void ApplyEffect(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* caster = GetCaster();