fix (core) : Violating Flag correction (#15648)
This commit is contained in:
@@ -1081,12 +1081,8 @@ void WorldSession::ReadMovementInfo(WorldPacket& data, MovementInfo* mi)
|
|||||||
e.g. aerial combat.
|
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))
|
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);
|
||||||
// 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
//! Cannot fly and fall at the same time
|
//! Cannot fly and fall at the same time
|
||||||
REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_DISABLE_GRAVITY) && mi->HasMovementFlag(MOVEMENTFLAG_FALLING),
|
REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_DISABLE_GRAVITY) && mi->HasMovementFlag(MOVEMENTFLAG_FALLING),
|
||||||
|
|||||||
Reference in New Issue
Block a user