mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Scripts/Icecrown Citadel: Sindragosa will no longer attempt to enter both last phase and air phase
This commit is contained in:
@@ -97,6 +97,7 @@ enum Events
|
||||
EVENT_FROST_BOMB = 11,
|
||||
EVENT_LAND = 12,
|
||||
EVENT_AIR_MOVEMENT = 21,
|
||||
EVENT_THIRD_PHASE_CHECK = 22,
|
||||
|
||||
// Spinestalker
|
||||
EVENT_BELLOWING_ROAR = 13,
|
||||
@@ -192,6 +193,7 @@ class boss_sindragosa : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_ICY_GRIP, 33500, EVENT_GROUP_LAND_PHASE);
|
||||
events.ScheduleEvent(EVENT_AIR_PHASE, 50000);
|
||||
_mysticBuffetStack = 0;
|
||||
_isInAirPhase = false;
|
||||
_isThirdPhase = false;
|
||||
|
||||
if (instance->GetData(DATA_SINDRAGOSA_FROSTWYRMS) != 255)
|
||||
@@ -293,6 +295,7 @@ class boss_sindragosa : public CreatureScript
|
||||
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
|
||||
me->GetMotionMaster()->MovementExpired();
|
||||
DoStartMovement(me->getVictim());
|
||||
_isInAirPhase = false;
|
||||
// trigger Asphyxiation
|
||||
summons.DoAction(NPC_ICE_TOMB, ACTION_TRIGGER_ASPHYXIATION);
|
||||
break;
|
||||
@@ -305,11 +308,8 @@ class boss_sindragosa : public CreatureScript
|
||||
{
|
||||
if (!_isThirdPhase && !HealthAbovePct(35))
|
||||
{
|
||||
Talk(SAY_PHASE_2);
|
||||
events.CancelEvent(EVENT_AIR_PHASE);
|
||||
events.ScheduleEvent(EVENT_ICE_TOMB, urand(7000, 10000));
|
||||
events.RescheduleEvent(EVENT_ICY_GRIP, urand(35000, 40000));
|
||||
DoCast(me, SPELL_MYSTIC_BUFFET, true);
|
||||
events.ScheduleEvent(EVENT_THIRD_PHASE_CHECK, 1000);
|
||||
_isThirdPhase = true;
|
||||
}
|
||||
}
|
||||
@@ -420,6 +420,7 @@ class boss_sindragosa : public CreatureScript
|
||||
break;
|
||||
case EVENT_AIR_PHASE:
|
||||
{
|
||||
_isInAirPhase = true;
|
||||
Talk(SAY_AIR_PHASE);
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
@@ -472,6 +473,19 @@ class boss_sindragosa : public CreatureScript
|
||||
me->GetMotionMaster()->MovePoint(POINT_LAND, SindragosaLandPos);
|
||||
break;
|
||||
}
|
||||
case EVENT_THIRD_PHASE_CHECK:
|
||||
{
|
||||
if (!_isInAirPhase)
|
||||
{
|
||||
Talk(SAY_PHASE_2);
|
||||
events.ScheduleEvent(EVENT_ICE_TOMB, urand(7000, 10000));
|
||||
events.RescheduleEvent(EVENT_ICY_GRIP, urand(35000, 40000));
|
||||
DoCast(me, SPELL_MYSTIC_BUFFET, true);
|
||||
}
|
||||
else
|
||||
events.ScheduleEvent(EVENT_THIRD_PHASE_CHECK, 5000);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -482,6 +496,7 @@ class boss_sindragosa : public CreatureScript
|
||||
|
||||
private:
|
||||
uint8 _mysticBuffetStack;
|
||||
bool _isInAirPhase;
|
||||
bool _isThirdPhase;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user