mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +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.
(cherry picked from commit 6f4492bc61)
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user