aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2022_09_05_15_world_2022_07_03_00_world.sql37
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp48
2 files changed, 85 insertions, 0 deletions
diff --git a/sql/updates/world/master/2022_09_05_15_world_2022_07_03_00_world.sql b/sql/updates/world/master/2022_09_05_15_world_2022_07_03_00_world.sql
new file mode 100644
index 00000000000..3a067ef633c
--- /dev/null
+++ b/sql/updates/world/master/2022_09_05_15_world_2022_07_03_00_world.sql
@@ -0,0 +1,37 @@
+--
+UPDATE `creature_template` SET `unit_flags` = 33554688 WHERE `entry` = 28780;
+UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 28778;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (28780,28778) AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2878000,2877800) AND `source_type` = 9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(28780,0,0,0,11,0,100,0,0,0,0,0,0,80,2878000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Spawn - Run Script"),
+
+(2878000,9,0,0,0,0,100,0,0,0,0,0,0,11,52346,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Cast 'Kill Credit'"),
+(2878000,9,1,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Say Line 0"),
+(2878000,9,2,0,0,0,100,0,1000,1000,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Say Line 1"),
+(2878000,9,3,0,0,0,100,0,1000,1000,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Say Line 2"),
+(2878000,9,4,0,0,0,100,0,1000,1000,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Say Line 3"),
+(2878000,9,5,0,0,0,100,0,1000,1000,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Say Line 4"),
+(2878000,9,6,0,0,0,100,0,1000,1000,0,0,0,11,52322,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Cast 'Detonate Charges'"),
+(2878000,9,7,0,0,0,100,0,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Explosive Charges Bunny - On Script - Despawn"),
+
+(28778,0,0,0,8,0,100,0,52322,0,0,0,0,80,2877800,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Scourgewagon Bunny - On Spellhit 'Detonate Charges' - Run Script"),
+
+(2877800,9,0,0,0,0,100,0,0,0,0,0,0,11,52324,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Scourgewagon Bunny - On Script - Cast 'Scourgewagon Explosion'"),
+(2877800,9,1,0,0,0,100,0,0,0,0,0,0,11,52335,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Scourgewagon Bunny - On Script - Cast 'Drop Scourge Disguise'"),
+(2877800,9,2,0,0,0,100,0,0,0,0,0,0,41,0,0,0,0,0,0,20,190732,15,0,0,0,0,0,0,"Scourgewagon Bunny - On Script - Despawn Closest Gameobject 'Explosive Charges'"),
+(2877800,9,3,0,0,0,100,0,0,0,0,0,0,41,0,0,0,0,0,0,20,190731,15,0,0,0,0,0,0,"Scourgewagon Bunny - On Script - Despawn Closest Gameobject 'Scourgewagon'"),
+(2877800,9,4,0,0,0,100,0,5000,5000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Scourgewagon Bunny - On Script - Despawn");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` IN (52322);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,1,52322,0,0,31,0,3,28778,0,0,0,0,"","Group 0: Spell 'Detonate Charges' (Effect 0) targets creature 'Scourgewagon Bunny'");
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 52322;
+
+DELETE FROM `spell_script_names` WHERE `spell_id` = 52335 AND `ScriptName` = 'spell_zuldrak_drop_disguise';
+DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_zuldrak_scourgewagon_explosion';
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(52335,'spell_zuldrak_drop_disguise'),
+(52324,'spell_zuldrak_scourgewagon_explosion');
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);
}