diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 6f8d223..a5f2296 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -811,8 +811,11 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) #endif if (!a8::HasBitFlag(status, HS_Fly)) { if (msg.has_attack_dir()) { - attack_dir.FromPB(&msg.attack_dir()); - attack_dir.Normalize(); + if (std::abs(msg.attack_dir().x()) > 0.000001f || + std::abs(msg.attack_dir().y()) > 0.000001f) { + attack_dir.FromPB(&msg.attack_dir()); + attack_dir.Normalize(); + } } else { if (moving) { attack_dir = move_dir;