From 80324bd8b080c6a01c025f96ba1ed8f8db63ff36 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 18 Feb 2024 18:54:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=95=E6=9C=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/creature.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index ddb8e493..d7a48fe4 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3147,15 +3147,17 @@ void Creature::ShortFindPath() finaly_pos = left_pos; } glm::vec3 move_dir = finaly_pos - GetPos().ToGlmVec3(); - GlmHelper::Normalize(move_dir); - glm::vec3 end_pos = start_pos + move_dir * GetSpeed() / 1.0f; + if (!GlmHelper::IsZero(move_dir)) { + GlmHelper::Normalize(move_dir); + glm::vec3 end_pos = start_pos + move_dir * GetSpeed() / 1.0f; - glm::vec3 new_point = glm::vec3(0.0f, 0.0f, 0.0f); - bool ret = try_move(start_pos, end_pos, new_point); - if (ret) { - App::Instance()->verify_set_pos = 1; - GetMutablePos().FromGlmVec3(new_point); - App::Instance()->verify_set_pos = 0; + glm::vec3 new_point = glm::vec3(0.0f, 0.0f, 0.0f); + bool ret = try_move(start_pos, end_pos, new_point); + if (ret) { + App::Instance()->verify_set_pos = 1; + GetMutablePos().FromGlmVec3(new_point); + App::Instance()->verify_set_pos = 0; + } } } }