diff options
Diffstat (limited to 'src/net/tmwa')
-rw-r--r-- | src/net/tmwa/inventoryhandler.cpp | 14 | ||||
-rw-r--r-- | src/net/tmwa/inventoryhandler.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/net/tmwa/inventoryhandler.cpp b/src/net/tmwa/inventoryhandler.cpp index 0ff31370d..3feccd1fa 100644 --- a/src/net/tmwa/inventoryhandler.cpp +++ b/src/net/tmwa/inventoryhandler.cpp @@ -414,4 +414,18 @@ void InventoryHandler::processPlayerEquip(Net::MessageIn &msg) BLOCK_END("InventoryHandler::processPlayerEquip") } +void InventoryHandler::processPlayerUnEquip(Net::MessageIn &msg) +{ + BLOCK_START("InventoryHandler::processPlayerUnEquip") + msg.readInt16(); // inder val - INVENTORY_OFFSET; + const int equipType = msg.readInt16(); + const uint8_t flag = msg.readUInt8(); + + if (flag) + mEquips.setEquipment(getSlot(equipType), -1); + if (equipType & 0x8000) + ArrowsListener::distributeEvent(); + BLOCK_END("InventoryHandler::processPlayerUnEquip") +} + } // namespace TmwAthena diff --git a/src/net/tmwa/inventoryhandler.h b/src/net/tmwa/inventoryhandler.h index a41e47ebf..b1172ef81 100644 --- a/src/net/tmwa/inventoryhandler.h +++ b/src/net/tmwa/inventoryhandler.h @@ -66,6 +66,8 @@ class InventoryHandler final : public MessageHandler, void processPlayerInventory(Net::MessageIn &msg); void processPlayerEquip(Net::MessageIn &msg); + + void processPlayerUnEquip(Net::MessageIn &msg); }; } // namespace TmwAthena |