diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 407c5f0f..fc9a8dc6 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -169,6 +169,10 @@ void Player::InternalUpdate(int delta_time) room->IsSandTableRoom() ) { if (sand_table_target_pos) { + if (!GlmHelper::IsEqual2D(*sand_table_target_pos, GetPos().ToGlmVec3())) { + moving = true; + moved_frames = 0; + } } else { moving = false; } @@ -1052,8 +1056,6 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) SetAttackDir(target_dir); GetMovement()->CalcTargetPos(distance); } - } else { - sand_table_target_pos = nullptr; } last_cmmove_frameno = room->GetFrameNo(); trace_target_uniid = msg.trace_target_uniid();