diff options
-rw-r--r-- | src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
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 14abb3d0e5f..5d0f5596fcd 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp @@ -541,6 +541,9 @@ class boss_voice_of_yogg_saron : public CreatureScript if (!UpdateVictim()) return; + if (!me->GetCombatManager().HasPvECombatWithPlayers()) + EnterEvadeMode(EVADE_REASON_NO_HOSTILES); + events.Update(diff); // don't summon tentacles when illusion is shattered, delay them if (_illusionShattered) @@ -769,6 +772,14 @@ class boss_sara : public CreatureScript _events.ScheduleEvent(EVENT_SARAS_ANGER, urand(15000, 25000), 0, PHASE_ONE); } + void JustEnteredCombat(Unit* who) override + { + if (IsEngaged()) + return; + + EngagementStart(who); + } + void Reset() override { me->RemoveAllAuras(); @@ -1607,8 +1618,13 @@ class npc_yogg_saron_keeper : public CreatureScript } } - void JustEngagedWith(Unit* /*who*/) override + void JustEnteredCombat(Unit* who) override { + if (IsEngaged()) + return; + + EngagementStart(who); + switch (me->GetEntry()) { case NPC_FREYA_YS: |