From 5f8e616fee9bbf1634ac9e8deb86770c074ce887 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 18 Mar 2015 18:12:33 +0300 Subject: eathena: add partial support for packet SMSG_BIND_ITEM 0x02d3. --- src/net/eathena/inventoryhandler.cpp | 12 ++++++++++++ src/net/eathena/inventoryhandler.h | 2 ++ src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src/net/eathena') diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp index 62283dd4a..9de9d2141 100644 --- a/src/net/eathena/inventoryhandler.cpp +++ b/src/net/eathena/inventoryhandler.cpp @@ -116,6 +116,7 @@ InventoryHandler::InventoryHandler() : SMSG_ITEM_DAMAGED, SMSG_PLAYER_FAVORITE_ITEM, SMSG_PLAYER_CART_ADD_ERROR, + SMSG_BIND_ITEM, 0 }; handledMessages = _messages; @@ -288,6 +289,10 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg) processCartAddError(msg); break; + case SMSG_BIND_ITEM: + processBindItem(msg); + break; + default: break; } @@ -1120,4 +1125,11 @@ void InventoryHandler::processCartAddError(Net::MessageIn &msg) msg.readUInt8("flag"); } +void InventoryHandler::processBindItem(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + + msg.readInt16("item index"); +} + } // namespace EAthena diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h index a902350da..6497c2e9b 100644 --- a/src/net/eathena/inventoryhandler.h +++ b/src/net/eathena/inventoryhandler.h @@ -139,6 +139,8 @@ class InventoryHandler final : public MessageHandler, static void processCartAddError(Net::MessageIn &msg); + static void processBindItem(Net::MessageIn &msg); + static Ea::InventoryItems mCartItems; }; diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index f3adeab80..2447f702d 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -99,7 +99,7 @@ int16_t packet_lengths[] = 0, -1, -1, 107, 6, -1, 0, 7, 22, 191, 0, 8, 0, 0, 0, 0, // #0x02C0 0, -1, 0, 0, 0, 30, 30, 0, 0, 3, 0, 65, 4, 71, 10, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 0, -1, 32, 6, 36, + 0, 0, 0, 4, 0, 0, 0, 0, 0, 10, 3, 0, -1, 32, 6, 36, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 8, 10, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0 1 2 3 4 5 6 7 8 9 a b c d e f diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 0f3e2b8a4..5f3c2f69e 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -173,6 +173,7 @@ #define SMSG_BOSS_MAP_INFO 0x0293 #define SMSG_ITEM_DAMAGED 0x02bb #define SMSG_AUTOSHADOW_SPELL_LIST 0x0442 +#define SMSG_BIND_ITEM 0x02d3 #define SMSG_PLAYER_STATUS_CHANGE 0x0229 #define SMSG_PLAYER_STATUS_CHANGE2 0x028a -- cgit v1.2.3-70-g09d2