Merge branch 'azerothcore:master' into Playerbot

This commit is contained in:
ZhengPeiRu21
2023-03-30 07:34:21 -06:00
committed by GitHub
2 changed files with 6 additions and 23 deletions

View File

@@ -1102,12 +1102,8 @@ void WorldSession::ReadMovementInfo(WorldPacket& data, MovementInfo* mi)
e.g. aerial combat.
*/
if (mi->HasMovementFlag(MOVEMENTFLAG_FLYING | MOVEMENTFLAG_CAN_FLY) && GetSecurity() == SEC_PLAYER && !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_FLY) && !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED))
{
// Inform the client we can no longer fly, which is required if data mismatches for some reason
// Like flight auras being removed but the client still sends flight movement packets.
GetPlayer()->SetCanFly(false);
}
REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_FLYING | MOVEMENTFLAG_CAN_FLY) && GetSecurity() == SEC_PLAYER && !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_FLY) && !GetPlayer()->m_mover->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED),
MOVEMENTFLAG_FLYING | MOVEMENTFLAG_CAN_FLY);
//! Cannot fly and fall at the same time
REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_DISABLE_GRAVITY) && mi->HasMovementFlag(MOVEMENTFLAG_FALLING),

View File

@@ -3372,7 +3372,7 @@ public:
float nz = me->GetFloorZ();
DoCastSelf(SPELL_WEB_BEAM);
me->SetHomePosition(nx, ny, nz, me->GetOrientation());
me->GetMotionMaster()->MoveLand(1, nx, ny, nz, false);
me->GetMotionMaster()->MoveLand(POINT_LAND, nx, ny, nz, false);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
return;
}
@@ -3388,25 +3388,12 @@ public:
me->CallForHelp(15.0f);
}
void JustReachedHome() override
void MovementInform(uint32 type, uint32 id) override
{
if (me->IsLevitating())
if (type == EFFECT_MOTION_TYPE && id == POINT_LAND)
{
me->SetDisableGravity(false);
me->SetImmuneToAll(false);
me->NearTeleportTo(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
}
}
void MovementInform(uint32 /*type*/, uint32 id) override
{
if (id == 1)
{
if (me->IsLevitating())
{
me->SetDisableGravity(false);
me->SetOrientation(0.0f);
}
me->SetDisableGravity(false);
}
}