diff options
-rw-r--r-- | sql/updates/world/master/2024_02_25_01_world.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 22 |
2 files changed, 25 insertions, 0 deletions
diff --git a/sql/updates/world/master/2024_02_25_01_world.sql b/sql/updates/world/master/2024_02_25_01_world.sql new file mode 100644 index 00000000000..1d6472047b0 --- /dev/null +++ b/sql/updates/world/master/2024_02_25_01_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_warl_doom'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(603, 'spell_warl_doom'); 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); |