diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 83d83e4..647932c 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -812,9 +812,12 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) if (!a8::HasBitFlag(status, HS_Fly)) { if (msg.has_attack_dir()) { if (std::isfinite(msg.attack_dir().x()) && - std::isfinite(msg.attack_dir().y()) - ) - { + std::isfinite(msg.attack_dir().y()) && + ( + std::abs(msg.attack_dir().x()) > 0.00001f || + std::abs(msg.attack_dir().y()) > 0.00001f + ) + ){ attack_dir.FromPB(&msg.attack_dir()); attack_dir.Normalize(); }