From b8d3aea2165c031f011f07babaf100974b6c0ade Mon Sep 17 00:00:00 2001 From: Aqua Deus <95978183+aquadeus@users.noreply.github.com> Date: Sun, 25 Feb 2024 11:04:54 +0100 Subject: Scripts/Spells: Fix energize for spell Doom (Warlock) (#29748) --- src/server/scripts/Spells/spell_warlock.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/server/scripts/Spells') diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index 59df174b3a0..2b131d686f2 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -41,6 +41,7 @@ enum WarlockSpells SPELL_WARLOCK_DEMONIC_CIRCLE_SUMMON = 48018, SPELL_WARLOCK_DEMONIC_CIRCLE_TELEPORT = 48020, SPELL_WARLOCK_DEVOUR_MAGIC_HEAL = 19658, + SPELL_WARLOCK_DOOM_ENERGIZE = 193318, SPELL_WARLOCK_DRAIN_SOUL_ENERGIZE = 205292, SPELL_WARLOCK_GLYPH_OF_DEMON_TRAINING = 56249, SPELL_WARLOCK_GLYPH_OF_SOUL_SWAP = 56226, @@ -340,6 +341,26 @@ class spell_warl_devour_magic : public SpellScript } }; +// 603 - Doom +class spell_warl_doom : public AuraScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo ({ SPELL_WARLOCK_DOOM_ENERGIZE }); + } + + void HandleEffectPeriodic(AuraEffect const* /*aurEff*/) + { + if (Unit* caster = GetCaster()) + caster->CastSpell(caster, SPELL_WARLOCK_DOOM_ENERGIZE, true); + } + + void Register() override + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_warl_doom::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); + } +}; + // 198590 - Drain Soul class spell_warl_drain_soul : public AuraScript { @@ -1014,6 +1035,7 @@ void AddSC_warlock_spell_scripts() RegisterSpellScript(spell_warl_demonic_circle_summon); RegisterSpellScript(spell_warl_demonic_circle_teleport); RegisterSpellScript(spell_warl_devour_magic); + RegisterSpellScript(spell_warl_doom); RegisterSpellScript(spell_warl_drain_soul); RegisterSpellScript(spell_warl_haunt); RegisterSpellScript(spell_warl_health_funnel); -- cgit v1.2.3