mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-15 10:00:28 +00:00
fix(Core/Movement): fix multiple creature movement issues (#5097)
This commit is contained in:
@@ -136,9 +136,9 @@ public:
|
||||
break;
|
||||
case INTRO_4:
|
||||
me->SetWalk(true);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->CastSpell(me, SPELL_KIRTONOS_TRANSFORM, true);
|
||||
me->SetCanFly(false);
|
||||
break;
|
||||
case INTRO_5:
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
|
||||
|
||||
@@ -370,8 +370,8 @@ public:
|
||||
{
|
||||
if (summon->GetEntry() == NPC_ARMAGEDDON_TARGET)
|
||||
{
|
||||
summon->SetDisableGravity(true);
|
||||
summon->SetCanFly(true);
|
||||
summon->SetDisableGravity(true);
|
||||
summon->CastSpell(summon, SPELL_ARMAGEDDON_VISUAL, true);
|
||||
summon->SetPosition(summon->GetPositionX(), summon->GetPositionY(), summon->GetPositionZ() + 20.0f, 0.0f);
|
||||
summon->m_Events.AddEvent(new CastArmageddon(summon), summon->m_Events.CalculateTime(6000));
|
||||
@@ -786,8 +786,8 @@ public:
|
||||
{
|
||||
if (param == ACTION_START_POST_EVENT)
|
||||
{
|
||||
me->SetDisableGravity(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->CastSpell(me, SPELL_TELEPORT_AND_TRANSFORM, true);
|
||||
events.ScheduleEvent(EVENT_SCENE_01, 35000);
|
||||
}
|
||||
|
||||
@@ -153,7 +153,6 @@ public:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run, false);
|
||||
|
||||
whelpSpam = false;
|
||||
@@ -277,7 +276,6 @@ public:
|
||||
case 13:
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run, false);
|
||||
events.ScheduleEvent(EVENT_PHASE_3_ATTACK, 0);
|
||||
break;
|
||||
@@ -368,7 +366,6 @@ public:
|
||||
me->DisableSpline();
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SetOrientation(OnyxiaMoveData[0].o);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MoveTakeoff(11, OnyxiaMoveData[1].x + 1.0f, OnyxiaMoveData[1].y, OnyxiaMoveData[1].z, 12.0f);
|
||||
|
||||
@@ -115,9 +115,8 @@ struct boss_twin_valkyrAI : public ScriptedAI
|
||||
if( IsHeroic() )
|
||||
events.RescheduleEvent(EVENT_SPELL_TOUCH, urand(10000, 25000), 1);
|
||||
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
}
|
||||
|
||||
InstanceScript* pInstance;
|
||||
|
||||
@@ -478,8 +478,8 @@ public:
|
||||
{
|
||||
if (!c->IsAlive())
|
||||
c->Respawn();
|
||||
c->SetDisableGravity(true);
|
||||
c->SetCanFly(true);
|
||||
c->SetDisableGravity(true);
|
||||
c->SetVisible(true);
|
||||
|
||||
Item* i;
|
||||
@@ -501,8 +501,8 @@ public:
|
||||
if (c->IsVisible())
|
||||
{
|
||||
c->SetInCombatWithZone();
|
||||
c->SetDisableGravity(false);
|
||||
c->SetCanFly(false);
|
||||
c->SetDisableGravity(false);
|
||||
c->GetMotionMaster()->MoveJump(fg->GetPositionX(), fg->GetPositionY(), fg->GetPositionZ(), 20.0f, 10.0f);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -182,7 +182,6 @@ public:
|
||||
c->CastSpell(c, 69413, true);
|
||||
c->SetCanFly(true);
|
||||
c->SetDisableGravity(true);
|
||||
c->SetHover(true);
|
||||
c->SendMovementFlagUpdate();
|
||||
float dist = rand_norm() * 2.0f;
|
||||
float angle = rand_norm() * 2 * M_PI;
|
||||
@@ -227,7 +226,6 @@ public:
|
||||
continue;
|
||||
c->SetCanFly(false);
|
||||
c->SetDisableGravity(false);
|
||||
c->SetHover(false);
|
||||
c->SendMovementFlagUpdate();
|
||||
c->CastSpell(c, 69350, true);
|
||||
}
|
||||
@@ -1218,7 +1216,6 @@ public:
|
||||
{
|
||||
c->SetCanFly(true);
|
||||
c->SetDisableGravity(true);
|
||||
c->SetHover(true);
|
||||
c->GetMotionMaster()->MovePoint(0, TSSindragosaPos2);
|
||||
}
|
||||
|
||||
|
||||
@@ -208,7 +208,6 @@ public:
|
||||
minchar->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
|
||||
minchar->SetCanFly(false);
|
||||
minchar->SetDisableGravity(false);
|
||||
minchar->SetHover(false);
|
||||
minchar->RemoveAllAuras();
|
||||
minchar->GetMotionMaster()->MoveCharge(4629.3711f, 2782.6089f, 401.5301f, SPEED_CHARGE / 3.0f);
|
||||
}
|
||||
@@ -226,7 +225,6 @@ public:
|
||||
me->StopMoving();
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MovePoint(POINT_MINCHAR, mincharPos);
|
||||
}
|
||||
@@ -246,7 +244,6 @@ public:
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
|
||||
_JustReachedHome();
|
||||
if (bEnteredCombat)
|
||||
@@ -284,7 +281,6 @@ public:
|
||||
case POINT_GROUND:
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
if (Unit* target = me->SelectVictim())
|
||||
AttackStart(target);
|
||||
@@ -492,7 +488,6 @@ public:
|
||||
me->DisableSpline();
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MoveTakeoff(POINT_AIR, airPos, 0.642857f * 7.0f);
|
||||
break;
|
||||
|
||||
@@ -281,8 +281,8 @@ public:
|
||||
|
||||
if (!_summoned)
|
||||
{
|
||||
me->SetDisableGravity(true);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -353,8 +353,8 @@ public:
|
||||
instance->SetBossState(DATA_SINDRAGOSA, FAIL);
|
||||
if (_summoned)
|
||||
{
|
||||
me->SetDisableGravity(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -396,7 +396,6 @@ public:
|
||||
me->setActive(true);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetSpeed(MOVE_RUN, 4.28571f);
|
||||
float moveTime = me->GetExactDist(&SindragosaFlyInPos) / (me->GetSpeed(MOVE_RUN) * 0.001f);
|
||||
@@ -422,9 +421,8 @@ public:
|
||||
{
|
||||
case POINT_FROSTWYRM_LAND:
|
||||
me->setActive(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
|
||||
me->SetHomePosition(SindragosaLandPos);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
@@ -451,8 +449,8 @@ public:
|
||||
case POINT_LAND_GROUND:
|
||||
{
|
||||
_isInAirPhase = false;
|
||||
me->SetDisableGravity(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
if (Unit* target = me->SelectVictim())
|
||||
@@ -603,7 +601,6 @@ public:
|
||||
me->StopMoving();
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MoveTakeoff(POINT_TAKEOFF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 20.0f, 10.0f);
|
||||
events.CancelEventGroup(EVENT_GROUP_LAND_PHASE);
|
||||
@@ -1395,7 +1392,6 @@ public:
|
||||
{
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1406,7 +1402,6 @@ public:
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1451,7 +1446,6 @@ public:
|
||||
me->setActive(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetHomePosition(SpinestalkerLandPos);
|
||||
me->SetFacingTo(SpinestalkerLandPos.GetOrientation());
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
@@ -1532,7 +1526,6 @@ public:
|
||||
{
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1543,7 +1536,6 @@ public:
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1590,7 +1582,6 @@ public:
|
||||
me->setActive(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetHomePosition(RimefangLandPos);
|
||||
me->SetFacingTo(RimefangLandPos.GetOrientation());
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
@@ -1599,7 +1590,6 @@ public:
|
||||
{
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetReactState(REACT_DEFENSIVE);
|
||||
if (Unit* victim = me->SelectVictim())
|
||||
AttackStart(victim);
|
||||
@@ -1644,7 +1634,6 @@ public:
|
||||
me->AttackStop();
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
float floorZ = me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
|
||||
float destZ;
|
||||
|
||||
@@ -798,13 +798,12 @@ public:
|
||||
|
||||
if (_phase == PHASE_OUTRO)
|
||||
{
|
||||
if (!me->HasByteFlag(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_ANIM_TIER, UNIT_BYTE1_FLAG_HOVER))
|
||||
if (!me->IsLevitating())
|
||||
damage = me->GetHealth() > 1 ? 1 : 0;
|
||||
else if (damage >= me->GetHealth()) // dying...
|
||||
{
|
||||
damage = me->GetHealth() - 1;
|
||||
me->SetDisableGravity(false);
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_ANIM_TIER, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
|
||||
me->SendMonsterMove(me->GetPositionX() + 0.25f, me->GetPositionY(), 840.86f, 300, SPLINEFLAG_FALLING);
|
||||
me->m_positionZ = 840.86f;
|
||||
me->SetOrientation(0.0f);
|
||||
@@ -1546,7 +1545,6 @@ public:
|
||||
theLichKing->CastSpell((Unit*)nullptr, SPELL_SOUL_BARRAGE, TRIGGERED_IGNORE_CAST_IN_PROGRESS);
|
||||
sCreatureTextMgr->SendSound(theLichKing, SOUND_PAIN, CHAT_MSG_MONSTER_YELL, 0, TEXT_RANGE_NORMAL, TEAM_NEUTRAL, false);
|
||||
theLichKing->SetDisableGravity(true);
|
||||
theLichKing->SetByteFlag(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_ANIM_TIER, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER);
|
||||
theLichKing->GetMotionMaster()->MovePoint(0, OutroFlying);
|
||||
|
||||
_events.ScheduleEvent(EVENT_OUTRO_AFTER_SOUL_BARRAGE, 3000);
|
||||
@@ -2656,9 +2654,8 @@ public:
|
||||
break;
|
||||
case EVENT_MOVE_TO_DROP_POS:
|
||||
me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->GetMotionMaster()->MovePoint(POINT_DROP_PLAYER, _destPoint, false);
|
||||
me->SetDisableGravity(true, true);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
@@ -2666,9 +2663,8 @@ public:
|
||||
case EVENT_MOVE_TO_SIPHON_POS:
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); // just in case if passenger disappears so quickly that EVENT_MOVE_TO_DROP_POS is never executed
|
||||
{ int32 bp0 = 80; me->CastCustomSpell(me, 1557, &bp0, nullptr, nullptr, true); }
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MovePoint(POINT_START_SIPHON, _destPoint);
|
||||
break;
|
||||
|
||||
@@ -989,7 +989,6 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
}
|
||||
|
||||
@@ -1112,7 +1111,6 @@ public:
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
DoZoneInCombat(nullptr, 150.0f);
|
||||
}
|
||||
@@ -3048,9 +3046,8 @@ public:
|
||||
{
|
||||
npc_icc_spire_frostwyrmAI(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
}
|
||||
|
||||
EventMap events;
|
||||
@@ -3078,9 +3075,8 @@ public:
|
||||
{
|
||||
if (type == EFFECT_MOTION_TYPE && id == 1)
|
||||
{
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
|
||||
if (Player* p = SelectTargetFromPlayerList(100.0f))
|
||||
{
|
||||
@@ -3329,6 +3325,7 @@ public:
|
||||
events.ScheduleEvent(1, urand(3000, 10000)); // Crypt Scarabs
|
||||
events.ScheduleEvent(2, urand(15000, 25000)); // Dark Mending
|
||||
events.ScheduleEvent(3, urand(8000, 15000)); // Web Wrap
|
||||
me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
@@ -3374,15 +3371,11 @@ public:
|
||||
me->SetDisableGravity(false);
|
||||
me->SetOrientation(0.0f);
|
||||
me->NearTeleportTo(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
|
||||
me->ClearUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CanAIAttack(const Unit* /*target*/) const override
|
||||
{
|
||||
return !me->IsLevitating();
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
@@ -3540,7 +3533,6 @@ public:
|
||||
if (summon->GetPositionZ() > 220.0f)
|
||||
{
|
||||
summon->SetDisableGravity(true);
|
||||
summon->SetHover(true);
|
||||
summon->SetWalk(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,7 +293,6 @@ public:
|
||||
me->SendMeleeAttackStop(me->GetVictim());
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
currentTarget = 0;
|
||||
events.ScheduleEvent(EVENT_FLIGHT_ICEBOLT, 3000);
|
||||
iceboltCount = RAID_MODE(2, 3);
|
||||
@@ -377,7 +376,6 @@ public:
|
||||
case EVENT_LAND:
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
events.ScheduleEvent(EVENT_GROUND, 1500);
|
||||
return;
|
||||
case EVENT_GROUND:
|
||||
|
||||
@@ -222,7 +222,6 @@ public:
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
//me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
|
||||
if (pInstance)
|
||||
@@ -277,7 +276,6 @@ public:
|
||||
case MI_POINT_INTRO_LAND:
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
//me->SetHover(false);
|
||||
events.RescheduleEvent(EVENT_START_FIGHT, 0, 1);
|
||||
break;
|
||||
case MI_POINT_VORTEX_TAKEOFF:
|
||||
@@ -286,7 +284,6 @@ public:
|
||||
case MI_POINT_VORTEX_LAND:
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
//me->SetHover(false);
|
||||
events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0, 1);
|
||||
break;
|
||||
case MI_POINT_CENTER_AIR_PH_2:
|
||||
@@ -458,7 +455,6 @@ public:
|
||||
me->StopMoving();
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
//me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MoveTakeoff(MI_POINT_VORTEX_TAKEOFF, me->GetPositionX(), me->GetPositionY(), CenterPos.GetPositionZ() + 20.0f, 7.0f);
|
||||
|
||||
@@ -1366,7 +1362,6 @@ public:
|
||||
events.ScheduleEvent(1, 9000);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
}
|
||||
|
||||
EventMap events;
|
||||
|
||||
@@ -215,7 +215,6 @@ public:
|
||||
{
|
||||
pa->SetCanFly(true);
|
||||
pa->SetDisableGravity(true);
|
||||
pa->SetHover(true);
|
||||
pa->SendMovementFlagUpdate();
|
||||
pa->CastSpell(pa, SPELL_PLANAR_AURA_VISUAL, true);
|
||||
pa->CastSpell(pa, SPELL_PLANAR_AURA_DAMAGE, true);
|
||||
|
||||
@@ -145,7 +145,6 @@ public:
|
||||
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->setActive(true);
|
||||
|
||||
@@ -284,7 +283,6 @@ public:
|
||||
me->SetFacingTo(M_PI / 2);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->CastSpell(me, 62794, true);
|
||||
events.ScheduleEvent(EVENT_WARN_DEEP_BREATH, 30000);
|
||||
}
|
||||
@@ -498,7 +496,6 @@ public:
|
||||
me->StopMoving();
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MoveTakeoff(1, CORDS_AIR, 25.0f);
|
||||
events.ScheduleEvent(EVENT_RESUME_FIXING, 22000);
|
||||
|
||||
@@ -170,7 +170,6 @@ public:
|
||||
ValkyrGUID = s->GetGUID();
|
||||
s->SetCanFly(true);
|
||||
s->SetDisableGravity(true);
|
||||
s->SetHover(true);
|
||||
s->SetPosition(s->GetPositionX(), s->GetPositionY(), s->GetPositionZ() + 35.0f, s->GetOrientation());
|
||||
s->SetFacingTo(s->GetOrientation());
|
||||
}
|
||||
|
||||
@@ -126,9 +126,8 @@ public:
|
||||
if (Creature* rider = p->ToCreature())
|
||||
rider->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.25f);
|
||||
|
||||
me->SetDisableGravity(false);
|
||||
me->SetHover(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->SetFacingTo(0.25f);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
}
|
||||
@@ -139,9 +138,8 @@ public:
|
||||
if (type == TYPE_PROTODRAKE_AT && data == DATA_PROTODRAKE_MOVE && !_setData && me->IsAlive() && me->GetDistance(protodrakeCheckPos) < 10.0f)
|
||||
{
|
||||
_setData = true;
|
||||
me->SetDisableGravity(true);
|
||||
me->SetHover(true);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->GetMotionMaster()->MovePath(PATH_PROTODRAKE, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,8 +183,8 @@ public:
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && id == POINT_MIDDLE)
|
||||
{
|
||||
me->SetDisableGravity(false);
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
events.ScheduleEvent(EVENT_RESTORE_COMBAT, 0);
|
||||
events.ScheduleEvent(EVENT_SPELL_CONE_OF_FIRE, 5000);
|
||||
if (IsHeroic())
|
||||
|
||||
Reference in New Issue
Block a user