mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-27 12:22:39 +01:00
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.
This commit is contained in:
@@ -119,7 +119,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;
|
||||
|
||||
@@ -168,7 +168,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);
|
||||
@@ -177,7 +177,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();
|
||||
|
||||
Reference in New Issue
Block a user