aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsirikfoll <sirikfoll@hotmail.com>2016-03-04 20:45:28 +0100
committerShauren <shauren.trinity@gmail.com>2016-04-08 23:57:12 +0200
commitc66d3714f16d68edf57973e8bb4de295bfd81294 (patch)
treee2f589ca031a5cdd83f3826c7b35dddf983f63a5
parent32bf8e26f825c4a606b3d86bc395a62f735d4404 (diff)
Core/Scripts: Fixed Yogg-Saron Portals
Closes #16390 Closes #16708 (cherry picked from commit c4e4ee3ae10b1276b214c8b1da1281aba23ae57a)
-rw-r--r--sql/updates/world/2016_04_08_25_world_2016_03_04_03_world.sql4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp15
2 files changed, 19 insertions, 0 deletions
diff --git a/sql/updates/world/2016_04_08_25_world_2016_03_04_03_world.sql b/sql/updates/world/2016_04_08_25_world_2016_03_04_03_world.sql
new file mode 100644
index 00000000000..4d148adde55
--- /dev/null
+++ b/sql/updates/world/2016_04_08_25_world_2016_03_04_03_world.sql
@@ -0,0 +1,4 @@
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceEntry` IN (63989,63997,63998);
+DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=34072;
+INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES
+(34072, 51347, 3, 0);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
index e96337d2d19..44dc40a5c1b 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -230,6 +230,9 @@ enum Spells
// Descend Into Madness
SPELL_TELEPORT_PORTAL_VISUAL = 64416,
+ SPELL_TELEPORT_TO_STORMWIND_ILLUSION = 63989,
+ SPELL_TELEPORT_TO_CHAMBER_ILLUSION = 63997,
+ SPELL_TELEPORT_TO_ICECROWN_ILLUSION = 63998,
// Illusions
SPELL_GRIM_REPRISAL = 63305,
@@ -395,6 +398,14 @@ enum MiscData
{
ACHIEV_TIMED_START_EVENT = 21001,
SOUND_LUNATIC_GAZE = 15757,
+ MAX_ILLUSION_ROOMS = 3
+};
+
+uint32 const IllusionSpells[MAX_ILLUSION_ROOMS]
+{
+ SPELL_TELEPORT_TO_CHAMBER_ILLUSION,
+ SPELL_TELEPORT_TO_ICECROWN_ILLUSION,
+ SPELL_TELEPORT_TO_STORMWIND_ILLUSION
};
class StartAttackEvent : public BasicEvent
@@ -1419,7 +1430,11 @@ class npc_descend_into_madness : public CreatureScript
{
if (!result)
return;
+
clicker->RemoveAurasDueToSpell(SPELL_BRAIN_LINK);
+ uint32 illusion = _instance->GetData(DATA_ILLUSION);
+ if (illusion < MAX_ILLUSION_ROOMS)
+ DoCast(clicker, IllusionSpells[illusion], true);
me->DespawnOrUnsummon();
}