diff options
author | Foereaper <Foereaper@users.noreply.github.com> | 2017-08-20 18:16:23 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-08-20 18:16:23 +0200 |
commit | 6f4492bc61f0883df7dac81ef6235a1cb7299bc7 (patch) | |
tree | f95131ed522c6d9edf391cc2ecdb660cb2dc2876 /src | |
parent | fe2db0731328e104ea9e8f5d7081e732c9f02e6f (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.
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 add15715165..75e1a5b2386 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp @@ -123,7 +123,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; @@ -172,7 +172,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); @@ -181,7 +181,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(); |