aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2021_05_01_02_world_2018_01_02_02_world.sql4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp15
2 files changed, 14 insertions, 5 deletions
diff --git a/sql/updates/world/master/2021_05_01_02_world_2018_01_02_02_world.sql b/sql/updates/world/master/2021_05_01_02_world_2018_01_02_02_world.sql
new file mode 100644
index 00000000000..7fe03e77a5d
--- /dev/null
+++ b/sql/updates/world/master/2021_05_01_02_world_2018_01_02_02_world.sql
@@ -0,0 +1,4 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_yogg_saron_squeeze';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(64125, 'spell_yogg_saron_squeeze'),
+(64126, 'spell_yogg_saron_squeeze');
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 8706991b370..55c9960a561 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -270,7 +270,8 @@ enum Spells
SPELL_TELEPORT_BACK_TO_MAIN_ROOM = 63992,
SPELL_INSANE_VISUAL = 64464,
SPELL_CONSTRICTOR_TENTACLE_SUMMON = 64133,
- SPELL_SQUEEZE = 64125,
+ SPELL_SQUEEZE_10 = 64125,
+ SPELL_SQUEEZE_25 = 64126,
SPELL_FLASH_FREEZE = 64175,
SPELL_LOW_SANITY_SCREEN_EFFECT = 63752,
@@ -1307,7 +1308,7 @@ class npc_constrictor_tentacle : public CreatureScript
void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) override
{
if (!apply)
- passenger->RemoveAurasDueToSpell(SPELL_SQUEEZE);
+ passenger->RemoveAurasDueToSpell(RAID_MODE(SPELL_SQUEEZE_10, SPELL_SQUEEZE_25));
}
void UpdateAI(uint32 /*diff*/) override
@@ -2397,14 +2398,18 @@ class spell_yogg_saron_lunge : public SpellScriptLoader // 64131
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- return ValidateSpellInfo({ SPELL_SQUEEZE });
+ return ValidateSpellInfo({ SPELL_SQUEEZE_10, SPELL_SQUEEZE_25 });
}
void HandleScript(SpellEffIndex /*effIndex*/)
{
if (Unit* target = GetHitUnit())
{
- target->CastSpell(target, SPELL_SQUEEZE, true);
+ if (target->GetMap()->Is25ManRaid())
+ target->CastSpell(target, SPELL_SQUEEZE_25, true);
+ else
+ target->CastSpell(target, SPELL_SQUEEZE_10, true);
+
target->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
}
@@ -2421,7 +2426,7 @@ class spell_yogg_saron_lunge : public SpellScriptLoader // 64131
}
};
-class spell_yogg_saron_squeeze : public SpellScriptLoader // 64125
+class spell_yogg_saron_squeeze : public SpellScriptLoader // 64125, 64126
{
public:
spell_yogg_saron_squeeze() : SpellScriptLoader("spell_yogg_saron_squeeze") { }