aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp23
1 files changed, 23 insertions, 0 deletions
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);