diff options
Diffstat (limited to 'src/beingmanager.cpp')
-rw-r--r-- | src/beingmanager.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/beingmanager.cpp b/src/beingmanager.cpp index b2dc330b..6b71b3bf 100644 --- a/src/beingmanager.cpp +++ b/src/beingmanager.cpp @@ -129,12 +129,16 @@ Being* BeingManager::findBeingByPixel(Uint16 x, Uint16 y) for (; itr != itr_end; ++itr) { Being *being = (*itr); + + int xtol = being->getWidth(); + int uptol = being->getHeight(); + if ((being->mAction != Being::DEAD) && (being != player_node) && (being->getPixelX() <= x) && - (being->getPixelX() + being->getWidth() >= x) && - (being->getPixelY() <= y) && - (being->getPixelY() + being->getHeight() >= y)) + (being->getPixelX() + xtol >= x) && + (being->getPixelY() - (uptol / 2) <= y) && + (being->getPixelY() + (uptol / 2) >= y)) { return being; } |