diff options
author | Stefan Dombrowski <stefan@uni-bonn.de> | 2010-10-08 19:11:20 +0200 |
---|---|---|
committer | Stefan Dombrowski <stefan@uni-bonn.de> | 2010-10-08 19:12:27 +0200 |
commit | 9defd5c760e3ba0f01078a25a74320a55c1f4d82 (patch) | |
tree | 407ea274e8cf7e620c334578f8c0412d6a54bf81 | |
parent | c1f6da6a95e2170c15065418d7c66578ca80b85c (diff) | |
download | mana-9defd5c760e3ba0f01078a25a74320a55c1f4d82.tar.gz mana-9defd5c760e3ba0f01078a25a74320a55c1f4d82.tar.bz2 mana-9defd5c760e3ba0f01078a25a74320a55c1f4d82.tar.xz mana-9defd5c760e3ba0f01078a25a74320a55c1f4d82.zip |
Fixing pick-up
If the player wanted to pick up an item one tile up,
then he moved to that tile before he picked it up.
The same fix is already used in Game::handleInput() for KEY_PICKUP.
TODO: Understand why the position is wrong. As a reminder I made a
mantis ticket: http://bugs.manasource.org/view.php?id=249
-rw-r--r-- | src/localplayer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/localplayer.cpp b/src/localplayer.cpp index b4418bbc..50a9462f 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -707,8 +707,8 @@ void LocalPlayer::setInvItem(int index, int id, int amount) void LocalPlayer::pickUp(FloorItem *item) { - int dx = item->getX() - (int) getPosition().x / 32; - int dy = item->getY() - (int) getPosition().y / 32; + int dx = item->getX() - (int) getPosition().x / mMap->getTileWidth(); + int dy = item->getY() - ((int) getPosition().y - 1) / mMap->getTileHeight(); if (dx * dx + dy * dy < 4) { |