summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/actormanager.cpp22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/actormanager.cpp b/src/actormanager.cpp
index 62d438c67..737a864a7 100644
--- a/src/actormanager.cpp
+++ b/src/actormanager.cpp
@@ -1360,23 +1360,13 @@ Being *ActorManager::findNearestLivingBeing(const Being *const aroundBeing,
//logger->log("being prio:%3d, dist^2:%3d, name: '%s'",
// priority, distSq, being->getName().c_str());
- if (!filtered)
+ // without filtering, priority and closestPriority are always the same
+ if ((priority == closestPriority && distSq < closestDistSq) ||
+ (priority < closestPriority && distSq <= maxDistSq))
{
- if (distSq < closestDistSq)
- {
- closestDistSq = distSq;
- closestBeing = being;
- }
- }
- else
- {
- if ((priority < closestPriority && distSq <= maxDistSq) ||
- (priority == closestPriority && distSq < closestDistSq))
- {
- closestDistSq = distSq;
- closestBeing = being;
- closestPriority = priority;
- }
+ closestDistSq = distSq;
+ closestBeing = being;
+ closestPriority = priority;
}
}
return closestBeing;