diff options
author | Bertram <bertram@cegetel.net> | 2010-02-09 02:54:09 +0100 |
---|---|---|
committer | Bertram <bertram@cegetel.net> | 2010-02-09 03:20:48 +0100 |
commit | 6a6b36fa2d19a6ea9d39b975354709e7ad82281d (patch) | |
tree | 09451c98d6a711ffd45a7f5da5796549dbcdd173 /src/net/manaserv | |
parent | f3ee70f4aa0b4df7388a4539440355bb066dc0d3 (diff) | |
download | mana-client-6a6b36fa2d19a6ea9d39b975354709e7ad82281d.tar.gz mana-client-6a6b36fa2d19a6ea9d39b975354709e7ad82281d.tar.bz2 mana-client-6a6b36fa2d19a6ea9d39b975354709e7ad82281d.tar.xz mana-client-6a6b36fa2d19a6ea9d39b975354709e7ad82281d.zip |
Pushed away some 32 hardcoded values.
Diffstat (limited to 'src/net/manaserv')
-rw-r--r-- | src/net/manaserv/itemhandler.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/net/manaserv/itemhandler.cpp b/src/net/manaserv/itemhandler.cpp index 6a9dec74..802f9303 100644 --- a/src/net/manaserv/itemhandler.cpp +++ b/src/net/manaserv/itemhandler.cpp @@ -26,6 +26,10 @@ #include "net/manaserv/protocol.h" #include "net/manaserv/messagein.h" +#include "game.h" +#include "map.h" +#include "log.h" + namespace ManaServ { ItemHandler::ItemHandler() @@ -54,7 +58,23 @@ void ItemHandler::handleMessage(Net::MessageIn &msg) if (itemId) { - floorItemManager->create(id, itemId, x / 32, y / 32); + Game *game = Game::instance(); + Map *map = 0; + if (game) + { + map = game->getCurrentMap(); + if (map) + { + floorItemManager->create(id, + itemId, + x / map->getTileWidth(), + y / map->getTileHeight()); + } + else + logger->log( + "ItemHandler: An item wasn't created because of" + "Game/Map not initialized..."); + } } else if (FloorItem *item = floorItemManager->findById(id)) { |