summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-05-05 01:27:21 +0300
committerAndrei Karas <akaras@inbox.ru>2011-05-05 21:31:15 +0300
commit274d96292571495a45d32364c36531e7ff35aff0 (patch)
tree81e12194f2eeb0234ee3f11879555612595a5b5e
parentbba99b414167d9adb40622d8fc8c1e9dc814e956 (diff)
downloadplus-274d96292571495a45d32364c36531e7ff35aff0.tar.gz
plus-274d96292571495a45d32364c36531e7ff35aff0.tar.bz2
plus-274d96292571495a45d32364c36531e7ff35aff0.tar.xz
plus-274d96292571495a45d32364c36531e7ff35aff0.zip
Fix monsters selection if monster added to priority list
and option "cycle monster target" disabled.
-rw-r--r--src/actorspritemanager.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/actorspritemanager.cpp b/src/actorspritemanager.cpp
index 6162ba727..3f37ce99f 100644
--- a/src/actorspritemanager.cpp
+++ b/src/actorspritemanager.cpp
@@ -766,6 +766,7 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
else
{
int dist = 0;
+ int index = defaultPriorityIndex;
for (ActorSprites::const_iterator i = mActors.begin(),
i_end = mActors.end();
@@ -797,7 +798,6 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
bool valid = validateBeing(aroundBeing, being, type, excluded, 50);
int d = being->getDistance();
- int index = defaultPriorityIndex;
// logger->log("dist: %d", dist);
// logger->log("name: %s, %d, %d", being->getName().c_str(), (int)valid, d);
if (being->getType() != Being::MONSTER
@@ -807,9 +807,12 @@ Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
+ (being->getTileY() - y) * (being->getTileY() - y);
}
+ if (!valid)
+ continue;
+
// logger->log("being name:" + being->getName());
+// logger->log("index:" + toString(index));
// logger->log("d:" + toString(d));
-// logger->log("valid:" + toString(valid))
if (valid && !filtered && (d <= dist || closestBeing == 0))
{