diff options
author | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2010-05-21 21:56:41 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2010-05-21 21:56:41 +0200 |
commit | 63b4c9869b6256ed7644113cd23305b07cf9df03 (patch) | |
tree | aff0d99f5b58cbaf4195ac755ecfb79f97bf7b65 /src/beingmanager.cpp | |
parent | 8c4c5a58c256cce7beb21b68c8a7d6b6ff5c4a3a (diff) | |
parent | 2953a3f92c5097bd99ff21f4536fe167a32d90c5 (diff) | |
download | mana-63b4c9869b6256ed7644113cd23305b07cf9df03.tar.gz mana-63b4c9869b6256ed7644113cd23305b07cf9df03.tar.bz2 mana-63b4c9869b6256ed7644113cd23305b07cf9df03.tar.xz mana-63b4c9869b6256ed7644113cd23305b07cf9df03.zip |
Merge branch '1.0'
Conflicts:
src/beingmanager.cpp
src/beingmanager.h
src/client.cpp
src/localplayer.cpp
Diffstat (limited to 'src/beingmanager.cpp')
-rw-r--r-- | src/beingmanager.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/beingmanager.cpp b/src/beingmanager.cpp index 631aadab..a92e3faf 100644 --- a/src/beingmanager.cpp +++ b/src/beingmanager.cpp @@ -193,7 +193,8 @@ void BeingManager::clear() Being *BeingManager::findNearestLivingBeing(int x, int y, int maxTileDist, - ActorSprite::Type type) const + ActorSprite::Type type, + Being *excluded) const { Being *closestBeing = 0; int dist = 0; @@ -210,8 +211,9 @@ Being *BeingManager::findNearestLivingBeing(int x, int y, int d = abs(((int) pos.x) - x) + abs(((int) pos.y) - y); if ((being->getType() == type || type == ActorSprite::UNKNOWN) - && (d < dist || !closestBeing) // it is closer - && being->isAlive()) // no dead beings + && (d < dist || !closestBeing) // it is closer + && being->isAlive() // no dead beings + && being != excluded) { dist = d; closestBeing = being; @@ -225,7 +227,8 @@ Being *BeingManager::findNearestLivingBeing(Being *aroundBeing, int maxDist, ActorSprite::Type type) const { const Vector &pos = aroundBeing->getPosition(); - return findNearestLivingBeing((int)pos.x, (int)pos.y, maxDist, type); + return findNearestLivingBeing((int)pos.x, (int)pos.y, maxDist, type, + aroundBeing); } bool BeingManager::hasBeing(Being *being) const |