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; + } } } }