From 6f4492bc61f0883df7dac81ef6235a1cb7299bc7 Mon Sep 17 00:00:00 2001 From: Foereaper Date: Sun, 20 Aug 2017 18:16:23 +0200 Subject: 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. --- src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') 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(); -- cgit v1.2.3