mirror of
https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk.git
synced 2026-10-10 07:06:38 +08:00
fix(Scripts/IcecrownCitadel): restore flight animations for Sindragosa, Rimefang, Spinestalker and Spire Frostwyrm (#26738)
Co-authored-by: Claude Fable 5 <[email protected]> Co-authored-by: sudlud <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5
sudlud
parent
65d564c848
commit
4cc1210a11
@@ -361,6 +361,12 @@ public:
|
||||
BossAI::EnterEvadeMode(why);
|
||||
}
|
||||
|
||||
void JustReachedHome() override
|
||||
{
|
||||
BossAI::JustReachedHome();
|
||||
me->SetAnimTier(AnimTier::Ground);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->IsPlayer())
|
||||
@@ -381,6 +387,7 @@ public:
|
||||
|
||||
me->setActive(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetAnimTier(AnimTier::Fly);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetSpeed(MOVE_RUN, 4.28571f);
|
||||
float moveTime = me->GetExactDist(&SindragosaFlyInPos) / (me->GetSpeed(MOVE_RUN) * 0.001f);
|
||||
@@ -582,6 +589,7 @@ public:
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
me->StopMoving();
|
||||
me->SetDisableGravity(true);
|
||||
me->SetAnimTier(AnimTier::Fly);
|
||||
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, 110s);
|
||||
@@ -1208,6 +1216,7 @@ public:
|
||||
if (!_summoned)
|
||||
{
|
||||
me->SetDisableGravity(true);
|
||||
me->SetAnimTier(AnimTier::Fly);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1217,6 +1226,7 @@ public:
|
||||
if (_summoned)
|
||||
{
|
||||
me->SetDisableGravity(false);
|
||||
me->SetAnimTier(AnimTier::Ground);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1339,6 +1349,7 @@ public:
|
||||
if (!_summoned)
|
||||
{
|
||||
me->SetDisableGravity(true);
|
||||
me->SetAnimTier(AnimTier::Fly);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1348,6 +1359,7 @@ public:
|
||||
if (_summoned)
|
||||
{
|
||||
me->SetDisableGravity(false);
|
||||
me->SetAnimTier(AnimTier::Ground);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1443,6 +1455,7 @@ public:
|
||||
|
||||
me->AttackStop();
|
||||
me->SetDisableGravity(true);
|
||||
me->SetAnimTier(AnimTier::Fly);
|
||||
float floorZ = me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
|
||||
float destZ;
|
||||
if (floorZ > 190.0f) destZ = floorZ + 25.0f;
|
||||
|
||||
@@ -3690,7 +3690,7 @@ struct npc_icc_spire_frostwyrm : public ScriptedAI
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
|
||||
me->SetAnimTier(AnimTier::Ground);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
}
|
||||
}
|
||||
@@ -3722,6 +3722,7 @@ struct npc_icc_spire_frostwyrm : public ScriptedAI
|
||||
bool hordeSide = action == HORDE_AREATRIGGER || action == HORDE_AREATRIGGER + 1;
|
||||
Position landingPosition = hordeSide ? posHordeMove : posAllianceMove;
|
||||
|
||||
me->SetAnimTier(AnimTier::Fly);
|
||||
me->GetMotionMaster()->MovePoint(1, landingPosition);
|
||||
me->SetHomePosition(landingPosition);
|
||||
|
||||
@@ -3730,11 +3731,11 @@ struct npc_icc_spire_frostwyrm : public ScriptedAI
|
||||
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type == EFFECT_MOTION_TYPE && id == 1)
|
||||
if (type == POINT_MOTION_TYPE && id == 1)
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
|
||||
me->SetAnimTier(AnimTier::Ground);
|
||||
_canResetFlyingEffects = false;
|
||||
}
|
||||
}
|
||||
@@ -3746,7 +3747,7 @@ struct npc_icc_spire_frostwyrm : public ScriptedAI
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
|
||||
me->SetAnimTier(AnimTier::Ground);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user