summaryrefslogtreecommitdiff
path: root/src/net/tmwa/inventoryrecv.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-08-06 21:13:56 +0300
committerAndrei Karas <akaras@inbox.ru>2018-08-06 21:13:56 +0300
commit3b5390eee9c3e031867d3acfce574f1993d46b76 (patch)
tree733dc11695c0a71e4725f97b28222cf9eaf435d3 /src/net/tmwa/inventoryrecv.cpp
parent1604ad0c8bd2d770f350cf88e469b4c810b6457f (diff)
downloadplus-3b5390eee9c3e031867d3acfce574f1993d46b76.tar.gz
plus-3b5390eee9c3e031867d3acfce574f1993d46b76.tar.bz2
plus-3b5390eee9c3e031867d3acfce574f1993d46b76.tar.xz
plus-3b5390eee9c3e031867d3acfce574f1993d46b76.zip
Move InventoryRecv::processPlayerInventoryUse from ea namespace into tmwa and eathena.
Diffstat (limited to 'src/net/tmwa/inventoryrecv.cpp')
-rw-r--r--src/net/tmwa/inventoryrecv.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/net/tmwa/inventoryrecv.cpp b/src/net/tmwa/inventoryrecv.cpp
index 1bb1ee9f2..68521bfa4 100644
--- a/src/net/tmwa/inventoryrecv.cpp
+++ b/src/net/tmwa/inventoryrecv.cpp
@@ -560,4 +560,29 @@ int InventoryRecv::getSlot(const int eAthenaSlot)
return CAST_S32(EQUIP_POINTS[position]);
}
+void InventoryRecv::processPlayerInventoryUse(Net::MessageIn &msg)
+{
+ BLOCK_START("InventoryRecv::processPlayerInventoryUse")
+ Inventory *const inventory = localPlayer != nullptr
+ ? PlayerInfo::getInventory() : nullptr;
+
+ const int index = msg.readInt16("index") - INVENTORY_OFFSET;
+ msg.readItemId("item id");
+ msg.readInt32("id?");
+ const int amount = msg.readInt16("amount");
+ msg.readUInt8("type");
+
+ if (inventory != nullptr)
+ {
+ if (Item *const item = inventory->getItem(index))
+ {
+ if (amount != 0)
+ item->setQuantity(amount);
+ else
+ inventory->removeItemAt(index);
+ }
+ }
+ BLOCK_END("InventoryRecv::processPlayerInventoryUse")
+}
+
} // namespace TmwAthena