aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2024_02_25_01_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp22
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);