aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2022_03_10_10_world_2021_05_20_01_world.sql35
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp28
2 files changed, 35 insertions, 28 deletions
diff --git a/sql/updates/world/master/2022_03_10_10_world_2021_05_20_01_world.sql b/sql/updates/world/master/2022_03_10_10_world_2021_05_20_01_world.sql
new file mode 100644
index 00000000000..17c76a3a4ad
--- /dev/null
+++ b/sql/updates/world/master/2022_03_10_10_world_2021_05_20_01_world.sql
@@ -0,0 +1,35 @@
+-- That spell has nothing to do with damaging spells, moreover it will never work like that
+DELETE FROM `spell_script_names` WHERE `ScriptName` = "spell_ticking_time_bomb";
+
+UPDATE `creature_template` SET `unit_flags` = 33554432, `unit_flags2` = 32, `flags_extra` = `flags_extra` | 0x00002000 WHERE `entry` IN (29684,31816);
+UPDATE `creature_template` SET `minlevel` = 73, `maxlevel` = 73 WHERE `entry` = 32246;
+UPDATE `creature_template` SET `minlevel` = 73, `maxlevel` = 73, `speed_run` = 0.857143, `unit_flags` = 33554432, `unit_flags2` = 32, `AIName` = "SmartAI", `flags_extra` = `flags_extra` | 0x00002000 WHERE `entry` = 34307;
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (29684,32246,34307) AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2968400,3224600,3430700) 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
+-- No idea what was the point, first two are used in single dungeon and fist one even has difficulty entry but it's not even used,
+-- instead creature summons second creature in heroic with different damaging spell
+(29684,0,0,0,54,0,100,0,0,0,0,0,0,80,2968400,2,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Bomb - On Just Summoned - Run Script"),
+(32246,0,0,0,54,0,100,0,0,0,0,0,0,80,3224600,2,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Time Bomb - On Just Summoned - Run Script"),
+(34307,0,0,0,54,0,100,0,0,0,0,0,0,80,3430700,2,0,0,0,0,1,0,0,0,0,0,0,0,0,"Time Bomb - On Just Summoned - Run Script"),
+
+-- That spell creates dynamic object (bomb) and for some reason is heavily delayed like in other similar scripts. Because of that after
+-- bomb(missile) reaches destination, there is 2 sec delay before bomb will appear visually(creature itself has no model). Kinda blizzlike bug
+(2968400,9,0,0,0,0,100,0,2000,2000,0,0,0,11,54955,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Bomb - On Script - Cast 'Ticking Bomb'"),
+(2968400,9,1,0,0,0,100,0,0,0,0,0,0,11,61393,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Bomb - On Script - Cast 'Ticking Bomb'"),
+(2968400,9,2,0,0,0,100,0,2500,2500,0,0,0,11,61393,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Bomb - On Script - Cast 'Ticking Bomb'"),
+(2968400,9,3,0,0,0,100,0,2500,2500,0,0,0,11,54954,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Bomb - On Script - Cast 'Explosion'"),
+(2968400,9,4,0,0,0,100,0,0,0,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Bomb - On Script - Delayed Despawn"),
+
+(3224600,9,0,0,0,0,100,0,2000,2000,0,0,0,11,59686,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Time Bomb - On Script - Cast 'Ticking Time Bomb'"),
+(3224600,9,1,0,0,0,100,0,0,0,0,0,0,11,61393,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Time Bomb - On Script - Cast 'Ticking Bomb'"),
+(3224600,9,2,0,0,0,100,0,2500,2500,0,0,0,11,61393,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Time Bomb - On Script - Cast 'Ticking Bomb'"),
+(3224600,9,3,0,0,0,100,0,2500,2500,0,0,0,11,59687,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Time Bomb - On Script - Cast 'Explosion'"),
+(3224600,9,4,0,0,0,100,0,0,0,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ticking Time Bomb - On Script - Delayed Despawn"),
+
+(3430700,9,0,0,0,0,100,0,2000,2000,0,0,0,11,59686,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Time Bomb - On Script - Cast 'Ticking Time Bomb'"),
+(3430700,9,1,0,0,0,100,0,0,0,0,0,0,11,61393,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Time Bomb - On Script - Cast 'Ticking Bomb'"),
+(3430700,9,2,0,0,0,100,0,2500,2500,0,0,0,11,61393,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Time Bomb - On Script - Cast 'Ticking Bomb'"),
+(3430700,9,3,0,0,0,100,0,2500,2500,0,0,0,11,65129,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Time Bomb - On Script - Cast 'Explosion'"),
+(3430700,9,4,0,0,0,100,0,0,0,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Time Bomb - On Script - Delayed Despawn");
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
index da662adc8cc..d0a9df43333 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
@@ -106,32 +106,6 @@ private:
uint8 _forgeId;
};
-enum TickingTimeBomb
-{
- SPELL_TICKING_TIME_BOMB_EXPLODE = 59687
-};
-
-class spell_ticking_time_bomb : public AuraScript
-{
- PrepareAuraScript(spell_ticking_time_bomb);
-
- bool Validate(SpellInfo const* /*spellInfo*/) override
- {
- return ValidateSpellInfo({ SPELL_TICKING_TIME_BOMB_EXPLODE });
- }
-
- void HandleOnEffectRemove(AuraEffect const* /* aurEff */, AuraEffectHandleModes /* mode */)
- {
- if (GetCaster() == GetTarget())
- GetTarget()->CastSpell(GetTarget(), SPELL_TICKING_TIME_BOMB_EXPLODE, true);
- }
-
- void Register() override
- {
- OnEffectRemove += AuraEffectRemoveFn(spell_ticking_time_bomb::HandleOnEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
- }
-};
-
enum Fixate
{
SPELL_FIXATE_TRIGGER = 40415
@@ -285,14 +259,12 @@ struct npc_enslaved_proto_drake : public ScriptedAI
private:
bool _setData;
EventMap _events;
-
};
void AddSC_utgarde_keep()
{
RegisterUtgardeKeepCreatureAI(npc_dragonflayer_forge_master);
RegisterUtgardeKeepCreatureAI(npc_enslaved_proto_drake);
- RegisterSpellScript(spell_ticking_time_bomb);
RegisterSpellScript(spell_fixate);
RegisterSpellScript(spell_uk_second_wind);
}