diff options
author | Foereaper <Foereaper@users.noreply.github.com> | 2017-08-20 18:16:23 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-08-23 14:35:07 +0200 |
commit | 07e903a23d16a93f9a9ca2e1fdac06cd6debd824 (patch) | |
tree | 0677495b5cbca91d7fa5b5d776a3fcb0b3d6f7eb /src | |
parent | 3fcb592568442374b7e23519f4ba58cf1f43138c (diff) |
Scripts/Naxxramas: Fix Heigan the Unclean eruption event (#20129)
By scheduling the eruption event without cancelling the previously registered eruption events, Heigan's eruption (or dance) would overlap and cause a runaway scenario, where eruptions would not follow a proper timer.
By using Reschedule and not locking the Eruption event to the fighting phase, the dance now works as intended.
(cherry picked from commit 6f4492bc61f0883df7dac81ef6235a1cb7299bc7)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp index 82197daa68a..328129b166f 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp @@ -122,7 +122,7 @@ public: events.ScheduleEvent(EVENT_DISRUPT, randtime(Seconds(15), Seconds(20)), 0, PHASE_FIGHT); events.ScheduleEvent(EVENT_FEVER, randtime(Seconds(10), Seconds(20)), 0, PHASE_FIGHT); events.ScheduleEvent(EVENT_DANCE, Minutes(1) + Seconds(30), 0, PHASE_FIGHT); - events.ScheduleEvent(EVENT_ERUPT, Seconds(15), 0, PHASE_FIGHT); + events.ScheduleEvent(EVENT_ERUPT, Seconds(15)); _safetyDance = true; @@ -171,7 +171,7 @@ public: DoCast(SPELL_TELEPORT_SELF); DoCastAOE(SPELL_PLAGUE_CLOUD); events.ScheduleEvent(EVENT_DANCE_END, Seconds(45), 0, PHASE_DANCE); - events.ScheduleEvent(EVENT_ERUPT, Seconds(10)); + events.RescheduleEvent(EVENT_ERUPT, Seconds(10)); break; case EVENT_DANCE_END: events.SetPhase(PHASE_FIGHT); @@ -180,7 +180,7 @@ public: events.ScheduleEvent(EVENT_DISRUPT, randtime(Seconds(10), Seconds(25)), 0, PHASE_FIGHT); events.ScheduleEvent(EVENT_FEVER, randtime(Seconds(15), Seconds(20)), 0, PHASE_FIGHT); events.ScheduleEvent(EVENT_DANCE, Minutes(1) + Seconds(30), 0, PHASE_FIGHT); - events.ScheduleEvent(EVENT_ERUPT, Seconds(15), 0, PHASE_FIGHT); + events.RescheduleEvent(EVENT_ERUPT, Seconds(15)); me->CastStop(); me->SetReactState(REACT_AGGRESSIVE); DoZoneInCombat(); |