diff --git a/server/gameserver/mapinstance.cc b/server/gameserver/mapinstance.cc index 59a2222f..7158d27a 100644 --- a/server/gameserver/mapinstance.cc +++ b/server/gameserver/mapinstance.cc @@ -929,10 +929,6 @@ bool MapInstance::SceneRaycast(const glm::vec3& orig, if (hited) { float distance = GlmHelper::Norm(pos - orig); if (nearest_node) { - if (distance <= len || nearest_distance <= len) { - result = true; - end = true; - } if (distance < nearest_distance) { nearest_node = node; nearest_distance = distance; @@ -947,7 +943,12 @@ bool MapInstance::SceneRaycast(const glm::vec3& orig, } } } - len += 5.0f; + if (nearest_node && nearest_distance <= len) { + result = true; + end = true; + } else { + len += 5.0f; + } } while (!end); if (result) {