summaryrefslogtreecommitdiff
path: root/src/beingmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/beingmanager.cpp')
-rw-r--r--src/beingmanager.cpp10
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;
}