aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2025-05-09 01:10:43 +0300
committerGitHub <noreply@github.com>2025-05-09 00:10:43 +0200
commit5ed83ed27c676ae2dcf661409550ce0fcbffe5c8 (patch)
tree111c87a9626a542fec10a6b41cecba7b0d353784 /src/server/scripts/Northrend
parent7b0d1f09135999958e850dd67ed9c5b1eaf16536 (diff)
Scripts/Spells: Get rid of some database spell scripts (#30915)
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp63
-rw-r--r--src/server/scripts/Northrend/zone_dalaran.cpp39
-rw-r--r--src/server/scripts/Northrend/zone_dragonblight.cpp93
-rw-r--r--src/server/scripts/Northrend/zone_grizzly_hills.cpp44
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp81
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp151
6 files changed, 471 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index 2c7870b4834..1678b4867b5 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -1729,6 +1729,67 @@ class spell_borean_tundra_arcane_prisoner_rescue : public SpellScript
}
};
+/*######
+## Quest 11896: Weakness to Lightning
+######*/
+
+enum WeaknessToLightning
+{
+ SPELL_POWER_OF_THE_STORM = 46424
+};
+
+// 46550 - Weakness to Lightning: On Quest Complete
+class spell_borean_tundra_weakness_to_lightning_on_quest_complete : public SpellScript
+{
+ PrepareSpellScript(spell_borean_tundra_weakness_to_lightning_on_quest_complete);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_POWER_OF_THE_STORM });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->RemoveAurasDueToSpell(SPELL_POWER_OF_THE_STORM);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_borean_tundra_weakness_to_lightning_on_quest_complete::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
+## Quest 11711: Coward Delivery... Under 30 Minutes or it's Free
+######*/
+
+// 45958 - Signal Alliance
+class spell_borean_tundra_signal_alliance : public SpellScript
+{
+ PrepareSpellScript(spell_borean_tundra_signal_alliance);
+
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ return ValidateSpellInfo(
+ {
+ uint32(spellInfo->GetEffect(EFFECT_0).CalcValue()),
+ uint32(spellInfo->GetEffect(EFFECT_1).CalcValue())
+ });
+ }
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ if (caster->HasAura(uint32(GetEffectInfo(EFFECT_0).CalcValue())))
+ caster->CastSpell(caster, uint32(GetEffectValue()));
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_borean_tundra_signal_alliance::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY);
+ }
+};
+
void AddSC_borean_tundra()
{
RegisterCreatureAI(npc_beryl_sorcerer);
@@ -1756,4 +1817,6 @@ void AddSC_borean_tundra()
RegisterSpellScript(spell_borean_tundra_neural_needle);
RegisterSpellScript(spell_borean_tundra_prototype_neural_needle);
RegisterSpellScript(spell_borean_tundra_arcane_prisoner_rescue);
+ RegisterSpellScript(spell_borean_tundra_weakness_to_lightning_on_quest_complete);
+ RegisterSpellScript(spell_borean_tundra_signal_alliance);
}
diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp
index f07d65e94f5..0634794a35e 100644
--- a/src/server/scripts/Northrend/zone_dalaran.cpp
+++ b/src/server/scripts/Northrend/zone_dalaran.cpp
@@ -32,6 +32,7 @@ Script Data End */
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
+#include "SpellScript.h"
#include "WorldSession.h"
/*******************************************************
@@ -255,8 +256,46 @@ private:
EventMap events;
};
+// 54620 - Teleport Crystal: Teleport to Dalaran AICast Script
+class spell_dalaran_teleport_to_dalaran : public SpellScript
+{
+ PrepareSpellScript(spell_dalaran_teleport_to_dalaran);
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ /// @todo: replace this with spell
+ if (Player* target = GetHitUnit()->ToPlayer())
+ target->TeleportTo(571, 5807.75f, 588.063f, 660.939f, 1.64659f);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_dalaran_teleport_to_dalaran::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+// 58622 - Teleport to Lake Wintergrasp
+class spell_dalaran_teleport_to_lake_wintergrasp : public SpellScript
+{
+ PrepareSpellScript(spell_dalaran_teleport_to_lake_wintergrasp);
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ /// @todo: replace this with spell
+ if (Player* target = GetHitUnit()->ToPlayer())
+ target->TeleportTo(571, 5386.05f, 2840.97f, 418.675f, 3.14159f);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_dalaran_teleport_to_lake_wintergrasp::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_dalaran()
{
RegisterCreatureAI(npc_mageguard_dalaran);
RegisterCreatureAI(npc_minigob_manabonk);
+ RegisterSpellScript(spell_dalaran_teleport_to_dalaran);
+ RegisterSpellScript(spell_dalaran_teleport_to_lake_wintergrasp);
}
diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp
index 18d74441370..537d80d6bb7 100644
--- a/src/server/scripts/Northrend/zone_dragonblight.cpp
+++ b/src/server/scripts/Northrend/zone_dragonblight.cpp
@@ -974,6 +974,96 @@ class spell_dragonblight_corrosive_spit : public AuraScript
}
};
+/*######
+## Quest 12065, 12066: The Focus on the Beach
+######*/
+
+enum TheFocusOnTheBeach
+{
+ SPELL_LEY_LINE_INFORMATION_01 = 47391
+};
+
+// 47393 - The Focus on the Beach: Quest Completion Script
+class spell_dragonblight_focus_on_the_beach_quest_completion_script : public SpellScript
+{
+ PrepareSpellScript(spell_dragonblight_focus_on_the_beach_quest_completion_script);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_LEY_LINE_INFORMATION_01 });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->RemoveAurasDueToSpell(SPELL_LEY_LINE_INFORMATION_01);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_dragonblight_focus_on_the_beach_quest_completion_script::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
+## Quest 12083, 12084: Atop the Woodlands
+######*/
+
+enum AtopTheWoodlands
+{
+ SPELL_LEY_LINE_INFORMATION_02 = 47473
+};
+
+// 47615 - Atop the Woodlands: Quest Completion Script
+class spell_dragonblight_atop_the_woodlands_quest_completion_script : public SpellScript
+{
+ PrepareSpellScript(spell_dragonblight_atop_the_woodlands_quest_completion_script);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_LEY_LINE_INFORMATION_02 });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->RemoveAurasDueToSpell(SPELL_LEY_LINE_INFORMATION_02);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_dragonblight_atop_the_woodlands_quest_completion_script::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
+## Quest 12107, 12110: The End of the Line
+######*/
+
+enum TheEndOfTheLine
+{
+ SPELL_LEY_LINE_INFORMATION_03 = 47636
+};
+
+// 47638 - The End of the Line: Quest Completion Script
+class spell_dragonblight_end_of_the_line_quest_completion_script : public SpellScript
+{
+ PrepareSpellScript(spell_dragonblight_end_of_the_line_quest_completion_script);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_LEY_LINE_INFORMATION_03 });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->RemoveAurasDueToSpell(SPELL_LEY_LINE_INFORMATION_03);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_dragonblight_end_of_the_line_quest_completion_script::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_dragonblight()
{
RegisterCreatureAI(npc_commander_eligor_dawnbringer);
@@ -992,4 +1082,7 @@ void AddSC_dragonblight()
RegisterSpellScript(spell_dragonblight_surge_needle_teleporter);
RegisterSpellScript(spell_dragonblight_fill_blood_unholy_frost_gem);
RegisterSpellScript(spell_dragonblight_corrosive_spit);
+ RegisterSpellScript(spell_dragonblight_focus_on_the_beach_quest_completion_script);
+ RegisterSpellScript(spell_dragonblight_atop_the_woodlands_quest_completion_script);
+ RegisterSpellScript(spell_dragonblight_end_of_the_line_quest_completion_script);
}
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
index 040dae075e1..29153f0ef0a 100644
--- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
@@ -953,6 +953,45 @@ class spell_warhead_fuse : public AuraScript
}
};
+enum
+{
+ SPELL_ENVISION_DRAKURU_01 = 47118,
+ SPELL_ENVISION_DRAKURU_02 = 47150,
+ SPELL_ENVISION_DRAKURU_03 = 47317,
+ SPELL_ENVISION_DRAKURU_04 = 47406,
+ SPELL_ENVISION_DRAKURU_05 = 50440
+};
+
+// 47117 - Script Cast Summon Image of Drakuru
+// 47149 - Script Cast Summon Image of Drakuru 02
+// 47316 - Script Cast Summon Image of Drakuru 03
+// 47405 - Script Cast Summon Image of Drakuru 04
+// 50439 - Script Cast Summon Image of Drakuru 05
+class spell_grizzly_hills_script_cast_summon_image_of_drakuru : public SpellScript
+{
+ PrepareSpellScript(spell_grizzly_hills_script_cast_summon_image_of_drakuru);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ _triggeredSpellId });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), _triggeredSpellId);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_grizzly_hills_script_cast_summon_image_of_drakuru::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+
+ uint32 _triggeredSpellId;
+
+public:
+ explicit spell_grizzly_hills_script_cast_summon_image_of_drakuru(uint32 triggeredSpellId) : _triggeredSpellId(triggeredSpellId) { }
+};
+
void AddSC_grizzly_hills()
{
RegisterCreatureAI(npc_emily);
@@ -970,4 +1009,9 @@ void AddSC_grizzly_hills()
RegisterSpellScript(spell_warhead_detonate);
RegisterSpellScript(spell_vehicle_warhead_fuse);
RegisterSpellScript(spell_warhead_fuse);
+ RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_01", SPELL_ENVISION_DRAKURU_01);
+ RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_02", SPELL_ENVISION_DRAKURU_02);
+ RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_03", SPELL_ENVISION_DRAKURU_03);
+ RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_04", SPELL_ENVISION_DRAKURU_04);
+ RegisterSpellScriptWithArgs(spell_grizzly_hills_script_cast_summon_image_of_drakuru, "spell_grizzly_hills_script_cast_summon_image_of_drakuru_05", SPELL_ENVISION_DRAKURU_05);
}
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index 0d4481cb673..1e0d24e7717 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -937,6 +937,84 @@ class spell_icecrown_summon_freed_crusader : public SpellScript
}
};
+/*######
+## Quest 13236, 13395: Army of the Damned
+######*/
+
+enum ArmyOfTheDamned
+{
+ SPELL_GIFT_OF_THE_LICH_KING = 58915,
+ SPELL_CONSUME_MINIONS = 58919
+};
+
+// 58916 - Gift of the Lich King
+class spell_icecrown_gift_of_the_lich_king : public SpellScript
+{
+ PrepareSpellScript(spell_icecrown_gift_of_the_lich_king);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_GIFT_OF_THE_LICH_KING });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_GIFT_OF_THE_LICH_KING);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_icecrown_gift_of_the_lich_king::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+// 58917 - Consume Minions
+class spell_icecrown_consume_minions : public SpellScript
+{
+ PrepareSpellScript(spell_icecrown_consume_minions);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_CONSUME_MINIONS });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_CONSUME_MINIONS);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_icecrown_consume_minions::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
+## Quest 12995: Leave Our Mark
+######*/
+
+enum LeaveOurMark
+{
+ NPC_LEAVE_OUR_MARK_KILL_CREDIT_BUNNY = 30220
+};
+
+// 23301 - Ebon Blade Banner
+class spell_icecrown_ebon_blade_banner : public SpellScript
+{
+ PrepareSpellScript(spell_icecrown_ebon_blade_banner);
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ if (Player* caster = GetCaster()->ToPlayer())
+ caster->KilledMonsterCredit(NPC_LEAVE_OUR_MARK_KILL_CREDIT_BUNNY);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_icecrown_ebon_blade_banner::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_icecrown()
{
RegisterCreatureAI(npc_argent_valiant);
@@ -951,4 +1029,7 @@ void AddSC_icecrown()
RegisterSpellScript(spell_icecrown_through_the_eye_the_eye_of_the_lk);
RegisterSpellScript(spell_icecrown_through_the_eye_kill_credit_to_master);
RegisterSpellScript(spell_icecrown_summon_freed_crusader);
+ RegisterSpellScript(spell_icecrown_gift_of_the_lich_king);
+ RegisterSpellScript(spell_icecrown_consume_minions);
+ RegisterSpellScript(spell_icecrown_ebon_blade_banner);
}
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 389ebc14da4..04be09d4f51 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -906,6 +906,153 @@ class spell_zuldrak_chains_of_the_scourge : public SpellScript
}
};
+/*######
+## Quest 12721: Rampage
+######*/
+
+enum Rampage
+{
+ SPELL_RAMPAGE_SUMMON_AKILZON = 52934,
+ SPELL_RAMPAGE_SUMMON_HALAZZI = 52935,
+ SPELL_RAMPAGE_SUMMON_JANALAI = 52936,
+ SPELL_RAMPAGE_SUMMON_NALORAKK = 52937
+};
+
+// 52933 - Rampage: Summon Zul'Aman Gods Master
+class spell_zuldrak_rampage_summon_zulaman_gods_master : public SpellScript
+{
+ PrepareSpellScript(spell_zuldrak_rampage_summon_zulaman_gods_master);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo(
+ {
+ SPELL_RAMPAGE_SUMMON_AKILZON,
+ SPELL_RAMPAGE_SUMMON_HALAZZI,
+ SPELL_RAMPAGE_SUMMON_JANALAI,
+ SPELL_RAMPAGE_SUMMON_NALORAKK
+ });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_AKILZON);
+ caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_HALAZZI);
+ caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_JANALAI);
+ caster->CastSpell(caster, SPELL_RAMPAGE_SUMMON_NALORAKK);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_zuldrak_rampage_summon_zulaman_gods_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
+## Quest 12627: Breaking Through Jin'Alai
+######*/
+
+enum BreakingThroughJinAlai
+{
+ SPELL_BREAKING_THROUGH_SUMMON_AKILZON = 51861,
+ SPELL_BREAKING_THROUGH_SUMMON_JANALAI = 52452,
+ SPELL_BREAKING_THROUGH_SUMMON_HALAZZI = 52453,
+ SPELL_BREAKING_THROUGH_SUMMON_NALORAKK = 52454
+};
+
+// 51862 - Breaking Through Jin'Alai: Summon Zul'Aman Gods Master
+class spell_zuldrak_breaking_through_summon_zulaman_gods_master : public SpellScript
+{
+ PrepareSpellScript(spell_zuldrak_breaking_through_summon_zulaman_gods_master);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo(
+ {
+ SPELL_BREAKING_THROUGH_SUMMON_AKILZON,
+ SPELL_BREAKING_THROUGH_SUMMON_JANALAI,
+ SPELL_BREAKING_THROUGH_SUMMON_HALAZZI,
+ SPELL_BREAKING_THROUGH_SUMMON_NALORAKK
+ });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_AKILZON);
+ caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_JANALAI);
+ caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_HALAZZI);
+ caster->CastSpell(caster, SPELL_BREAKING_THROUGH_SUMMON_NALORAKK);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_zuldrak_breaking_through_summon_zulaman_gods_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
+## Quest 12630: Kickin' Nass and Takin' Manes
+######*/
+
+enum KickinNassAndTakinManes
+{
+ SPELL_SUMMON_NASS = 51865
+};
+
+// 51864 - Player Summon Nass
+// 51889 - Quest Accept Summon Nass
+class spell_zuldrak_summon_nass : public SpellScript
+{
+ PrepareSpellScript(spell_zuldrak_summon_nass);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_SUMMON_NASS });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_SUMMON_NASS);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_zuldrak_summon_nass::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
+/*######
+## Quest 12730: Convocation at Zol'Heb
+######*/
+
+enum ConvocationAtZolHeb
+{
+ SPELL_AKALIS_STUN = 52989
+};
+
+// 53010 - Convocation at Zol'Heb: Removef Akali's Stun
+class spell_zuldrak_remove_akalis_stun : public SpellScript
+{
+ PrepareSpellScript(spell_zuldrak_remove_akalis_stun);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_AKALIS_STUN });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->RemoveAurasDueToSpell(SPELL_AKALIS_STUN);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_zuldrak_remove_akalis_stun::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_zuldrak()
{
RegisterCreatureAI(npc_released_offspring_harkoa);
@@ -925,4 +1072,8 @@ void AddSC_zuldrak()
RegisterSpellScript(spell_zuldrak_cocooned_on_quest);
RegisterSpellScript(spell_zuldrak_scourgewagon_explosion);
RegisterSpellScript(spell_zuldrak_chains_of_the_scourge);
+ RegisterSpellScript(spell_zuldrak_rampage_summon_zulaman_gods_master);
+ RegisterSpellScript(spell_zuldrak_breaking_through_summon_zulaman_gods_master);
+ RegisterSpellScript(spell_zuldrak_summon_nass);
+ RegisterSpellScript(spell_zuldrak_remove_akalis_stun);
}