diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/net/eathena/inventoryrecv.cpp | 9 | ||||
-rw-r--r-- | src/net/eathena/inventoryrecv.h | 1 | ||||
-rw-r--r-- | src/net/eathena/packetsin.inc | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/net/eathena/inventoryrecv.cpp b/src/net/eathena/inventoryrecv.cpp index d282af05e..b67300fa2 100644 --- a/src/net/eathena/inventoryrecv.cpp +++ b/src/net/eathena/inventoryrecv.cpp @@ -1180,4 +1180,13 @@ int InventoryRecv::getSlot(const int eAthenaSlot) return CAST_S32(EQUIP_POINTS[position]); } +void InventoryRecv::processMergeItem(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + + const int count = (msg.readInt16("len") - 4) / 2; + for (int f = 0; f < count; f ++) + msg.readInt16("inv index"); +} + } // namespace EAthena diff --git a/src/net/eathena/inventoryrecv.h b/src/net/eathena/inventoryrecv.h index d024c8362..6f45bc1b7 100644 --- a/src/net/eathena/inventoryrecv.h +++ b/src/net/eathena/inventoryrecv.h @@ -71,6 +71,7 @@ namespace EAthena void processBindItem(Net::MessageIn &msg); void processPlayerInventoryRemove(Net::MessageIn &msg); void processSelectCart(Net::MessageIn &msg); + void processMergeItem(Net::MessageIn &msg); int getSlot(const int eAthenaSlot) A_WARN_UNUSED; } // namespace InventoryRecv diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index e0a365019..1cba2a987 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -481,7 +481,7 @@ else packet(SMSG_SELECT_CART, 0x0000, 0, nullptr); } -packet(SMSG_MERGE_ITEM, 0x096d, -1, nullptr); +packet(SMSG_MERGE_ITEM, 0x096d, -1, &InventoryRecv::processMergeItem); packet(SMSG_ACK_MERGE_ITEMS, 0x096f, 7, nullptr); // unused or not implimented packets |