mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-09 08:17:56 +00:00
fix(Scripts/Instances): fix some bosses flying animations (#7851)
- Closes #4900
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1631550138111515600');
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `InhabitType`=3 WHERE `entry` IN (28859,31734,33186,33724,36853,38265,38266,38267,37534,38219,37533,38220);
|
||||||
|
UPDATE `creature_template_addon` SET `bytes1`=0 WHERE `entry` IN (28859,31734,33186,33724,36853,38265,38266,38267,37534,38219,37533,38220);
|
||||||
@@ -294,7 +294,6 @@ public:
|
|||||||
|
|
||||||
if (!_summoned)
|
if (!_summoned)
|
||||||
{
|
{
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -366,7 +365,6 @@ public:
|
|||||||
instance->SetBossState(DATA_SINDRAGOSA, FAIL);
|
instance->SetBossState(DATA_SINDRAGOSA, FAIL);
|
||||||
if (_summoned)
|
if (_summoned)
|
||||||
{
|
{
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -407,7 +405,6 @@ public:
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
me->setActive(true);
|
me->setActive(true);
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||||
me->SetSpeed(MOVE_RUN, 4.28571f);
|
me->SetSpeed(MOVE_RUN, 4.28571f);
|
||||||
@@ -434,7 +431,6 @@ public:
|
|||||||
{
|
{
|
||||||
case POINT_FROSTWYRM_LAND:
|
case POINT_FROSTWYRM_LAND:
|
||||||
me->setActive(false);
|
me->setActive(false);
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
|
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
|
||||||
me->SetHomePosition(SindragosaLandPos);
|
me->SetHomePosition(SindragosaLandPos);
|
||||||
@@ -462,7 +458,6 @@ public:
|
|||||||
case POINT_LAND_GROUND:
|
case POINT_LAND_GROUND:
|
||||||
{
|
{
|
||||||
_isInAirPhase = false;
|
_isInAirPhase = false;
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
|
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
|
||||||
me->SetReactState(REACT_AGGRESSIVE);
|
me->SetReactState(REACT_AGGRESSIVE);
|
||||||
@@ -612,9 +607,7 @@ public:
|
|||||||
me->AttackStop();
|
me->AttackStop();
|
||||||
me->GetMotionMaster()->MoveIdle();
|
me->GetMotionMaster()->MoveIdle();
|
||||||
me->StopMoving();
|
me->StopMoving();
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
me->SendMovementFlagUpdate();
|
|
||||||
me->GetMotionMaster()->MoveTakeoff(POINT_TAKEOFF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 20.0f, 10.0f);
|
me->GetMotionMaster()->MoveTakeoff(POINT_TAKEOFF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 20.0f, 10.0f);
|
||||||
events.CancelEventGroup(EVENT_GROUP_LAND_PHASE);
|
events.CancelEventGroup(EVENT_GROUP_LAND_PHASE);
|
||||||
events.ScheduleEvent(EVENT_AIR_PHASE, 110000);
|
events.ScheduleEvent(EVENT_AIR_PHASE, 110000);
|
||||||
@@ -1402,7 +1395,6 @@ public:
|
|||||||
|
|
||||||
if (!_summoned)
|
if (!_summoned)
|
||||||
{
|
{
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1412,7 +1404,6 @@ public:
|
|||||||
ScriptedAI::JustReachedHome();
|
ScriptedAI::JustReachedHome();
|
||||||
if (_summoned)
|
if (_summoned)
|
||||||
{
|
{
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1456,7 +1447,6 @@ public:
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
me->setActive(false);
|
me->setActive(false);
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
me->SetHomePosition(SpinestalkerLandPos);
|
me->SetHomePosition(SpinestalkerLandPos);
|
||||||
me->SetFacingTo(SpinestalkerLandPos.GetOrientation());
|
me->SetFacingTo(SpinestalkerLandPos.GetOrientation());
|
||||||
@@ -1536,7 +1526,6 @@ public:
|
|||||||
|
|
||||||
if (!_summoned)
|
if (!_summoned)
|
||||||
{
|
{
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1546,7 +1535,6 @@ public:
|
|||||||
ScriptedAI::JustReachedHome();
|
ScriptedAI::JustReachedHome();
|
||||||
if (_summoned)
|
if (_summoned)
|
||||||
{
|
{
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1592,7 +1580,6 @@ public:
|
|||||||
if (point == POINT_FROSTWYRM_LAND)
|
if (point == POINT_FROSTWYRM_LAND)
|
||||||
{
|
{
|
||||||
me->setActive(false);
|
me->setActive(false);
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
me->SetHomePosition(RimefangLandPos);
|
me->SetHomePosition(RimefangLandPos);
|
||||||
me->SetFacingTo(RimefangLandPos.GetOrientation());
|
me->SetFacingTo(RimefangLandPos.GetOrientation());
|
||||||
@@ -1600,7 +1587,6 @@ public:
|
|||||||
}
|
}
|
||||||
else if (point == POINT_LAND_GROUND)
|
else if (point == POINT_LAND_GROUND)
|
||||||
{
|
{
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
me->SetReactState(REACT_DEFENSIVE);
|
me->SetReactState(REACT_DEFENSIVE);
|
||||||
if (Unit* victim = me->SelectVictim())
|
if (Unit* victim = me->SelectVictim())
|
||||||
@@ -1644,9 +1630,7 @@ public:
|
|||||||
me->SendMeleeAttackStop(me->GetVictim());
|
me->SendMeleeAttackStop(me->GetVictim());
|
||||||
|
|
||||||
me->AttackStop();
|
me->AttackStop();
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
me->SendMovementFlagUpdate();
|
|
||||||
float floorZ = me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
|
float floorZ = me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
|
||||||
float destZ;
|
float destZ;
|
||||||
if (floorZ > 190.0f) destZ = floorZ + 25.0f;
|
if (floorZ > 190.0f) destZ = floorZ + 25.0f;
|
||||||
|
|||||||
@@ -219,6 +219,12 @@ public:
|
|||||||
uint8 IntroCounter;
|
uint8 IntroCounter;
|
||||||
bool bLockHealthCheck;
|
bool bLockHealthCheck;
|
||||||
|
|
||||||
|
void InitializeAI() override
|
||||||
|
{
|
||||||
|
me->SetDisableGravity(true);
|
||||||
|
Reset();
|
||||||
|
}
|
||||||
|
|
||||||
void Reset() override
|
void Reset() override
|
||||||
{
|
{
|
||||||
events.Reset();
|
events.Reset();
|
||||||
@@ -233,9 +239,6 @@ public:
|
|||||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_PACIFIED);
|
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_PACIFIED);
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
|
||||||
me->SendMovementFlagUpdate();
|
|
||||||
|
|
||||||
if (pInstance)
|
if (pInstance)
|
||||||
{
|
{
|
||||||
@@ -287,7 +290,6 @@ public:
|
|||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case MI_POINT_INTRO_LAND:
|
case MI_POINT_INTRO_LAND:
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
events.RescheduleEvent(EVENT_START_FIGHT, 0, 1);
|
events.RescheduleEvent(EVENT_START_FIGHT, 0, 1);
|
||||||
break;
|
break;
|
||||||
@@ -295,7 +297,6 @@ public:
|
|||||||
events.RescheduleEvent(EVENT_VORTEX_FLY_TO_CENTER, 0, 1);
|
events.RescheduleEvent(EVENT_VORTEX_FLY_TO_CENTER, 0, 1);
|
||||||
break;
|
break;
|
||||||
case MI_POINT_VORTEX_LAND:
|
case MI_POINT_VORTEX_LAND:
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0, 1);
|
events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0, 1);
|
||||||
break;
|
break;
|
||||||
@@ -466,9 +467,7 @@ public:
|
|||||||
|
|
||||||
me->GetMotionMaster()->MoveIdle();
|
me->GetMotionMaster()->MoveIdle();
|
||||||
me->StopMoving();
|
me->StopMoving();
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
me->SendMovementFlagUpdate();
|
|
||||||
me->GetMotionMaster()->MoveTakeoff(MI_POINT_VORTEX_TAKEOFF, me->GetPositionX(), me->GetPositionY(), CenterPos.GetPositionZ() + 20.0f, 7.0f);
|
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)
|
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))
|
if (Creature* vp = me->SummonCreature(NPC_WORLD_TRIGGER_LAOI, pos, TEMPSUMMON_TIMED_DESPAWN, 14000))
|
||||||
{
|
{
|
||||||
vp->SetCanFly(true);
|
|
||||||
vp->SetDisableGravity(true);
|
vp->SetDisableGravity(true);
|
||||||
|
|
||||||
Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
|
Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
|
||||||
@@ -583,10 +581,7 @@ public:
|
|||||||
me->SendMeleeAttackStop(me->GetVictim());
|
me->SendMeleeAttackStop(me->GetVictim());
|
||||||
me->GetMotionMaster()->MoveIdle();
|
me->GetMotionMaster()->MoveIdle();
|
||||||
me->DisableSpline();
|
me->DisableSpline();
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(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);
|
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);
|
events.RescheduleEvent(EVENT_START_PHASE_2_MOVE_TO_SIDE, 22500, 1);
|
||||||
break;
|
break;
|
||||||
@@ -821,6 +816,7 @@ public:
|
|||||||
|
|
||||||
void EnterEvadeMode() override
|
void EnterEvadeMode() override
|
||||||
{
|
{
|
||||||
|
me->SetDisableGravity(true);
|
||||||
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1s);
|
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1s);
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||||
ScriptedAI::EnterEvadeMode();
|
ScriptedAI::EnterEvadeMode();
|
||||||
|
|||||||
@@ -146,6 +146,13 @@ public:
|
|||||||
bool startPath;
|
bool startPath;
|
||||||
uint8 flyTimes;
|
uint8 flyTimes;
|
||||||
|
|
||||||
|
void InitializeAI() override
|
||||||
|
{
|
||||||
|
me->SetDisableGravity(true);
|
||||||
|
me->setActive(true);
|
||||||
|
Reset();
|
||||||
|
}
|
||||||
|
|
||||||
void Reset() override
|
void Reset() override
|
||||||
{
|
{
|
||||||
events.Reset();
|
events.Reset();
|
||||||
@@ -158,11 +165,6 @@ public:
|
|||||||
bGroundPhase = false;
|
bGroundPhase = false;
|
||||||
flyTimes = 0;
|
flyTimes = 0;
|
||||||
|
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
|
||||||
me->SendMovementFlagUpdate();
|
|
||||||
me->setActive(true);
|
|
||||||
|
|
||||||
if( pInstance )
|
if( pInstance )
|
||||||
pInstance->SetData(TYPE_RAZORSCALE, NOT_STARTED);
|
pInstance->SetData(TYPE_RAZORSCALE, NOT_STARTED);
|
||||||
}
|
}
|
||||||
@@ -302,7 +304,6 @@ public:
|
|||||||
me->DisableRotate(true);
|
me->DisableRotate(true);
|
||||||
me->SetOrientation((float)(M_PI + 0.01) / 2);
|
me->SetOrientation((float)(M_PI + 0.01) / 2);
|
||||||
me->SetFacingTo(M_PI / 2);
|
me->SetFacingTo(M_PI / 2);
|
||||||
me->SetCanFly(false);
|
|
||||||
me->SetDisableGravity(false);
|
me->SetDisableGravity(false);
|
||||||
me->CastSpell(me, 62794, true);
|
me->CastSpell(me, 62794, true);
|
||||||
events.ScheduleEvent(EVENT_WARN_DEEP_BREATH, 30000);
|
events.ScheduleEvent(EVENT_WARN_DEEP_BREATH, 30000);
|
||||||
@@ -515,9 +516,7 @@ public:
|
|||||||
me->SendMeleeAttackStop(me->GetVictim());
|
me->SendMeleeAttackStop(me->GetVictim());
|
||||||
me->GetMotionMaster()->MoveIdle();
|
me->GetMotionMaster()->MoveIdle();
|
||||||
me->StopMoving();
|
me->StopMoving();
|
||||||
me->SetCanFly(true);
|
|
||||||
me->SetDisableGravity(true);
|
me->SetDisableGravity(true);
|
||||||
me->SendMovementFlagUpdate();
|
|
||||||
me->GetMotionMaster()->MoveTakeoff(1, CORDS_AIR, 25.0f);
|
me->GetMotionMaster()->MoveTakeoff(1, CORDS_AIR, 25.0f);
|
||||||
events.ScheduleEvent(EVENT_RESUME_FIXING, 22000);
|
events.ScheduleEvent(EVENT_RESUME_FIXING, 22000);
|
||||||
}
|
}
|
||||||
@@ -591,6 +590,7 @@ public:
|
|||||||
|
|
||||||
void EnterEvadeMode() override
|
void EnterEvadeMode() override
|
||||||
{
|
{
|
||||||
|
me->SetDisableGravity(true);
|
||||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||||
me->DisableRotate(false);
|
me->DisableRotate(false);
|
||||||
ScriptedAI::EnterEvadeMode();
|
ScriptedAI::EnterEvadeMode();
|
||||||
|
|||||||
Reference in New Issue
Block a user