fix(Scripts/Instances): fix some bosses flying animations (#7851)

- Closes #4900
This commit is contained in:
UltraNix
2021-10-10 00:58:19 +02:00
committed by GitHub
parent 0eec867c3b
commit 80570efc29
4 changed files with 19 additions and 35 deletions

View File

@@ -294,7 +294,6 @@ public:
if (!_summoned)
{
me->SetCanFly(true);
me->SetDisableGravity(true);
}
}
@@ -366,7 +365,6 @@ public:
instance->SetBossState(DATA_SINDRAGOSA, FAIL);
if (_summoned)
{
me->SetCanFly(false);
me->SetDisableGravity(false);
}
}
@@ -407,7 +405,6 @@ public:
return;
me->setActive(true);
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetSpeed(MOVE_RUN, 4.28571f);
@@ -434,7 +431,6 @@ public:
{
case POINT_FROSTWYRM_LAND:
me->setActive(false);
me->SetCanFly(false);
me->SetDisableGravity(false);
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
me->SetHomePosition(SindragosaLandPos);
@@ -462,7 +458,6 @@ public:
case POINT_LAND_GROUND:
{
_isInAirPhase = false;
me->SetCanFly(false);
me->SetDisableGravity(false);
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
me->SetReactState(REACT_AGGRESSIVE);
@@ -612,9 +607,7 @@ public:
me->AttackStop();
me->GetMotionMaster()->MoveIdle();
me->StopMoving();
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SendMovementFlagUpdate();
me->GetMotionMaster()->MoveTakeoff(POINT_TAKEOFF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 20.0f, 10.0f);
events.CancelEventGroup(EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_AIR_PHASE, 110000);
@@ -1402,7 +1395,6 @@ public:
if (!_summoned)
{
me->SetCanFly(true);
me->SetDisableGravity(true);
}
}
@@ -1412,7 +1404,6 @@ public:
ScriptedAI::JustReachedHome();
if (_summoned)
{
me->SetCanFly(false);
me->SetDisableGravity(false);
}
}
@@ -1456,7 +1447,6 @@ public:
return;
me->setActive(false);
me->SetCanFly(false);
me->SetDisableGravity(false);
me->SetHomePosition(SpinestalkerLandPos);
me->SetFacingTo(SpinestalkerLandPos.GetOrientation());
@@ -1536,7 +1526,6 @@ public:
if (!_summoned)
{
me->SetCanFly(true);
me->SetDisableGravity(true);
}
}
@@ -1546,7 +1535,6 @@ public:
ScriptedAI::JustReachedHome();
if (_summoned)
{
me->SetCanFly(false);
me->SetDisableGravity(false);
}
}
@@ -1592,7 +1580,6 @@ public:
if (point == POINT_FROSTWYRM_LAND)
{
me->setActive(false);
me->SetCanFly(false);
me->SetDisableGravity(false);
me->SetHomePosition(RimefangLandPos);
me->SetFacingTo(RimefangLandPos.GetOrientation());
@@ -1600,7 +1587,6 @@ public:
}
else if (point == POINT_LAND_GROUND)
{
me->SetCanFly(false);
me->SetDisableGravity(false);
me->SetReactState(REACT_DEFENSIVE);
if (Unit* victim = me->SelectVictim())
@@ -1644,9 +1630,7 @@ public:
me->SendMeleeAttackStop(me->GetVictim());
me->AttackStop();
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SendMovementFlagUpdate();
float floorZ = me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
float destZ;
if (floorZ > 190.0f) destZ = floorZ + 25.0f;

View File

@@ -219,6 +219,12 @@ public:
uint8 IntroCounter;
bool bLockHealthCheck;
void InitializeAI() override
{
me->SetDisableGravity(true);
Reset();
}
void Reset() override
{
events.Reset();
@@ -233,9 +239,6 @@ public:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_PACIFIED);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SendMovementFlagUpdate();
if (pInstance)
{
@@ -287,7 +290,6 @@ public:
switch (id)
{
case MI_POINT_INTRO_LAND:
me->SetCanFly(false);
me->SetDisableGravity(false);
events.RescheduleEvent(EVENT_START_FIGHT, 0, 1);
break;
@@ -295,7 +297,6 @@ public:
events.RescheduleEvent(EVENT_VORTEX_FLY_TO_CENTER, 0, 1);
break;
case MI_POINT_VORTEX_LAND:
me->SetCanFly(false);
me->SetDisableGravity(false);
events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0, 1);
break;
@@ -466,9 +467,7 @@ public:
me->GetMotionMaster()->MoveIdle();
me->StopMoving();
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SendMovementFlagUpdate();
me->GetMotionMaster()->MoveTakeoff(MI_POINT_VORTEX_TAKEOFF, me->GetPositionX(), me->GetPositionY(), CenterPos.GetPositionZ() + 20.0f, 7.0f);
events.DelayEvents(25000, 1); // don't delay berserk (group 0)
@@ -492,7 +491,6 @@ public:
if (Creature* vp = me->SummonCreature(NPC_WORLD_TRIGGER_LAOI, pos, TEMPSUMMON_TIMED_DESPAWN, 14000))
{
vp->SetCanFly(true);
vp->SetDisableGravity(true);
Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
@@ -583,10 +581,7 @@ public:
me->SendMeleeAttackStop(me->GetVictim());
me->GetMotionMaster()->MoveIdle();
me->DisableSpline();
me->SetCanFly(true);
me->SetDisableGravity(true);
//me->SetHover(true);
me->SendMovementFlagUpdate();
me->GetMotionMaster()->MoveTakeoff(MI_POINT_CENTER_AIR_PH_2, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 32.0f, 7.0f);
events.RescheduleEvent(EVENT_START_PHASE_2_MOVE_TO_SIDE, 22500, 1);
break;
@@ -821,6 +816,7 @@ public:
void EnterEvadeMode() override
{
me->SetDisableGravity(true);
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1s);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
ScriptedAI::EnterEvadeMode();

View File

@@ -146,6 +146,13 @@ public:
bool startPath;
uint8 flyTimes;
void InitializeAI() override
{
me->SetDisableGravity(true);
me->setActive(true);
Reset();
}
void Reset() override
{
events.Reset();
@@ -158,11 +165,6 @@ public:
bGroundPhase = false;
flyTimes = 0;
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SendMovementFlagUpdate();
me->setActive(true);
if( pInstance )
pInstance->SetData(TYPE_RAZORSCALE, NOT_STARTED);
}
@@ -302,7 +304,6 @@ public:
me->DisableRotate(true);
me->SetOrientation((float)(M_PI + 0.01) / 2);
me->SetFacingTo(M_PI / 2);
me->SetCanFly(false);
me->SetDisableGravity(false);
me->CastSpell(me, 62794, true);
events.ScheduleEvent(EVENT_WARN_DEEP_BREATH, 30000);
@@ -515,9 +516,7 @@ public:
me->SendMeleeAttackStop(me->GetVictim());
me->GetMotionMaster()->MoveIdle();
me->StopMoving();
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SendMovementFlagUpdate();
me->GetMotionMaster()->MoveTakeoff(1, CORDS_AIR, 25.0f);
events.ScheduleEvent(EVENT_RESUME_FIXING, 22000);
}
@@ -591,6 +590,7 @@ public:
void EnterEvadeMode() override
{
me->SetDisableGravity(true);
me->SetControlled(false, UNIT_STATE_ROOT);
me->DisableRotate(false);
ScriptedAI::EnterEvadeMode();