From 1f846d2863d36543c854fe630519a4d1fd01f802 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 21 Sep 2011 01:41:13 +0300 Subject: Improve mouse object selection if near mixed floor items and monsters. --- src/actorspritemanager.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/actorspritemanager.cpp') diff --git a/src/actorspritemanager.cpp b/src/actorspritemanager.cpp index 03418a857..52d807f64 100644 --- a/src/actorspritemanager.cpp +++ b/src/actorspritemanager.cpp @@ -308,9 +308,22 @@ Being *ActorSpriteManager::findBeingByPixel(int x, int y, if (!*it) continue; - if ((*it)->getType() == ActorSprite::FLOOR_ITEM - || (*it)->getType() == ActorSprite::PORTAL) + if ((*it)->getType() == ActorSprite::PORTAL) + continue; + + if ((*it)->getType() == ActorSprite::FLOOR_ITEM) { + if (!noBeing) + { + FloorItem *floor = static_cast(*it); + if (!noBeing && (floor->getPixelX() - 32 <= x) && + (floor->getPixelX() + 32 > x) && + (floor->getPixelY() - 64 <= y) && + (floor->getPixelY() + 16 > y)) + { + noBeing = true; + } + } continue; } -- cgit v1.2.3-60-g2f50