aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFoereaper <Foereaper@users.noreply.github.com>2017-08-20 18:16:23 +0200
committerShauren <shauren.trinity@gmail.com>2017-08-20 18:16:23 +0200
commit6f4492bc61f0883df7dac81ef6235a1cb7299bc7 (patch)
treef95131ed522c6d9edf391cc2ecdb660cb2dc2876 /src
parentfe2db0731328e104ea9e8f5d7081e732c9f02e6f (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.cpp6
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();