aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2022-07-03 23:23:00 +0300
committerShauren <shauren.trinity@gmail.com>2022-09-05 19:47:52 +0200
commit39c07d43bf20f063d2fced6a61a92b7b061cef7a (patch)
tree7e6f915be8fb778863b074800b01c087738546f6 /src
parentd68abbf705a870009213d8558de2884950875029 (diff)
Scripts/Quest: Update 'Sabotage' (12676) (#28082)
(cherry picked from commit fca49f428b8cf7cff4d573c9afbd863965975946)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 0b25a673ce3..9024c5621ae 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -876,6 +876,7 @@ class spell_zuldrak_scourge_disguise_expiring : public AuraScript
}
};
+// 52335 - Drop Scourge Disguise
// 54089 - Drop Disguise
class spell_zuldrak_drop_disguise : public SpellScript
{
@@ -946,6 +947,52 @@ class spell_zuldrak_cocooned_on_quest : public SpellScript
}
};
+/*######
+## Quest 12676: Sabotage
+######*/
+
+enum Sabotage
+{
+ SPELL_EXPLODE_SCOURGEWAGON_ROLLER = 52325,
+ SPELL_EXPLODE_SCOURGEWAGON_FRAME = 52329,
+ SPELL_EXPLODE_SCOURGEWAGON_GRILL = 52330,
+ SPELL_EXPLODE_SCOURGEWAGON_WHEEL = 52332
+};
+
+// 52324 - Scourgewagon Explosion
+class spell_zuldrak_scourgewagon_explosion : public SpellScript
+{
+ PrepareSpellScript(spell_zuldrak_scourgewagon_explosion);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo(
+ {
+ SPELL_EXPLODE_SCOURGEWAGON_ROLLER,
+ SPELL_EXPLODE_SCOURGEWAGON_FRAME,
+ SPELL_EXPLODE_SCOURGEWAGON_GRILL,
+ SPELL_EXPLODE_SCOURGEWAGON_WHEEL
+ });
+ }
+
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ caster->CastSpell(caster, SPELL_EXPLODE_SCOURGEWAGON_ROLLER);
+ caster->CastSpell(caster, SPELL_EXPLODE_SCOURGEWAGON_FRAME);
+ caster->CastSpell(caster, SPELL_EXPLODE_SCOURGEWAGON_GRILL);
+ caster->CastSpell(caster, SPELL_EXPLODE_SCOURGEWAGON_WHEEL);
+ caster->CastSpell(caster, SPELL_EXPLODE_SCOURGEWAGON_WHEEL);
+ caster->CastSpell(caster, SPELL_EXPLODE_SCOURGEWAGON_WHEEL);
+ caster->CastSpell(caster, SPELL_EXPLODE_SCOURGEWAGON_WHEEL);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_zuldrak_scourgewagon_explosion::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_zuldrak()
{
RegisterCreatureAI(npc_drakuru_shackles);
@@ -965,4 +1012,5 @@ void AddSC_zuldrak()
RegisterSpellScript(spell_zuldrak_drop_disguise);
RegisterSpellScript(spell_zuldrak_cocooned_not_on_quest);
RegisterSpellScript(spell_zuldrak_cocooned_on_quest);
+ RegisterSpellScript(spell_zuldrak_scourgewagon_explosion);
}