From 1181b636c0cec174367906808c999641ca7897fc Mon Sep 17 00:00:00 2001 From: Gildor Date: Sat, 6 Jun 2020 14:22:19 +0200 Subject: Scripts/Naxxramas: Noth the Plaguebringer improvements (#24724) --- .../scripts/Northrend/Naxxramas/boss_noth.cpp | 27 ++++++++-------------- 1 file changed, 9 insertions(+), 18 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp index 263e0ef7e20..0a8d6473e72 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp @@ -89,31 +89,24 @@ public: events.SetPhase(PHASE_NONE); } - void EnterEvadeMode(EvadeReason /*why*/) override + void EnterEvadeMode(EvadeReason why) override { - Reset(); // teleport back first - _EnterEvadeMode(); + // in case we reset during balcony phase + if (events.IsInPhase(PHASE_BALCONY)) + DoCastAOE(SPELL_TELEPORT_BACK); + BossAI::EnterEvadeMode(why); } void Reset() override { - if (!me->IsAlive()) - return; + _Reset(); - // in case we reset during balcony phase - if (events.IsInPhase(PHASE_BALCONY)) - { - DoCastAOE(SPELL_TELEPORT_BACK); - me->SetReactState(REACT_AGGRESSIVE); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - me->SetImmuneToPC(false); - } + me->SetReactState(REACT_AGGRESSIVE); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); balconyCount = 0; events.SetPhase(PHASE_NONE); justBlinked = false; - - _Reset(); } void JustEngagedWith(Unit* who) override @@ -130,7 +123,7 @@ public: DoZoneInCombat(); if (!me->IsThreatened()) - Reset(); + EnterEvadeMode(EVADE_REASON_NO_HOSTILES); else { uint8 timeGround; @@ -246,7 +239,6 @@ public: events.SetPhase(PHASE_BALCONY); me->SetReactState(REACT_PASSIVE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - me->SetImmuneToPC(true); me->AttackStop(); me->StopMoving(); me->RemoveAllAuras(); @@ -303,7 +295,6 @@ public: break; case EVENT_GROUND_ATTACKABLE: me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - me->SetImmuneToPC(false); me->SetReactState(REACT_AGGRESSIVE); break; } -- cgit v1.2.3