diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/itemhandler.cpp | 25 | ||||
-rw-r--r-- | src/net/eathena/itemhandler.h | 2 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/net/eathena/itemhandler.cpp b/src/net/eathena/itemhandler.cpp index f906ae9e9..98ab79f78 100644 --- a/src/net/eathena/itemhandler.cpp +++ b/src/net/eathena/itemhandler.cpp @@ -128,4 +128,29 @@ void ItemHandler::processItemMvpDropped(Net::MessageIn &msg) msg.readString(24, "monster name"); } +void ItemHandler::processItemVisible(Net::MessageIn &msg) +{ + const BeingId id = msg.readBeingId("item object id"); + const int itemId = msg.readInt16("item id"); + const Identified identified = fromInt( + msg.readUInt8("identify"), Identified); + const int x = msg.readInt16("x"); + const int y = msg.readInt16("y"); + const int amount = msg.readInt16("amount"); + const int subX = static_cast<int>(msg.readInt8("sub x")); + const int subY = static_cast<int>(msg.readInt8("sub y")); + + if (actorManager) + { + actorManager->createItem(id, + itemId, + x, y, + 0, + amount, + ItemColor_one, + identified, + subX, subY); + } +} + } // namespace EAthena diff --git a/src/net/eathena/itemhandler.h b/src/net/eathena/itemhandler.h index dd357b50a..5e8753126 100644 --- a/src/net/eathena/itemhandler.h +++ b/src/net/eathena/itemhandler.h @@ -45,6 +45,8 @@ class ItemHandler final : public MessageHandler, public Ea::ItemHandler static void processGraffiti(Net::MessageIn &msg); static void processItemMvpDropped(Net::MessageIn &msg); + + static void processItemVisible(Net::MessageIn &msg); }; } // namespace EAthena |