diff options
author | Gildor <gildor55@gmail.com> | 2020-06-06 14:22:19 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-06 20:08:04 +0100 |
commit | f0242d4ec7857a18145dd0a9965fcb8526e981c8 (patch) | |
tree | 014af0e1cf8e72bc2ea0a6bb7a712364ed61c403 /src | |
parent | 4110a06e8193329c31cb9d59d346294835fd51a5 (diff) |
Scripts/Naxxramas: Noth the Plaguebringer improvements (#24724)
(cherry picked from commit 1181b636c0cec174367906808c999641ca7897fc)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/Naxxramas/boss_noth.cpp | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp index 78f7b1c460d..1dbb1652569 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->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->SetImmuneToPC(false); - } + me->SetReactState(REACT_AGGRESSIVE); + me->RemoveUnitFlag(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->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->SetImmuneToPC(true); me->AttackStop(); me->StopMoving(); me->RemoveAllAuras(); @@ -303,7 +295,6 @@ public: break; case EVENT_GROUND_ATTACKABLE: me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->SetImmuneToPC(false); me->SetReactState(REACT_AGGRESSIVE); break; } |