aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGildor <gildor55@gmail.com>2020-06-06 14:22:19 +0200
committerShauren <shauren.trinity@gmail.com>2022-01-06 20:08:04 +0100
commitf0242d4ec7857a18145dd0a9965fcb8526e981c8 (patch)
tree014af0e1cf8e72bc2ea0a6bb7a712364ed61c403 /src
parent4110a06e8193329c31cb9d59d346294835fd51a5 (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.cpp27
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;
}