diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2024-09-15 18:37:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-15 18:37:03 +0200 |
commit | 6254d5a2b06501eefab2ab9ce24789c3c4d8b681 (patch) | |
tree | ad5e36c17c05691ec52d199d27fd612d97a17562 | |
parent | a21e7c738e3f03347a3e96bda11e29e090ad71b6 (diff) |
Scripts/Spells: Fix warlock talent Cataclysm (#30188)
-rw-r--r-- | sql/updates/world/master/2024_09_15_00_world.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 23 |
2 files changed, 26 insertions, 0 deletions
diff --git a/sql/updates/world/master/2024_09_15_00_world.sql b/sql/updates/world/master/2024_09_15_00_world.sql new file mode 100644 index 00000000000..9514593bed0 --- /dev/null +++ b/sql/updates/world/master/2024_09_15_00_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_warl_cataclysm'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(152108, 'spell_warl_cataclysm'); diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index bcaa2551f0a..7a4f0e57f79 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -200,6 +200,28 @@ class spell_warl_burning_rush_aura : public AuraScript } }; +// 152108 - Cataclysm +class spell_warl_cataclysm : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARLOCK_IMMOLATE_PERIODIC }); + } + + void HandleHit(SpellEffIndex /*effIndex*/) const + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_WARLOCK_IMMOLATE_PERIODIC, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_warl_cataclysm::HandleHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + // 116858 - Chaos Bolt class spell_warl_chaos_bolt : public SpellScript { @@ -1395,6 +1417,7 @@ void AddSC_warlock_spell_scripts() { RegisterSpellScript(spell_warl_banish); RegisterSpellAndAuraScriptPair(spell_warl_burning_rush, spell_warl_burning_rush_aura); + RegisterSpellScript(spell_warl_cataclysm); RegisterSpellScript(spell_warl_chaos_bolt); RegisterSpellScript(spell_warl_chaotic_energies); RegisterSpellScript(spell_warl_absolute_corruption); |