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 1214494c3b2..9d2237591fb 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp @@ -540,6 +540,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) @@ -768,6 +771,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(); @@ -1606,8 +1617,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: |