From 42995dce106291da04f0e23c00668e0d2afccb08 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 11 Mar 2015 00:03:53 +0300 Subject: eathena: add partial support for packet SMSG_PLAYER_IDENTIFY_LIST 0x0177. --- src/net/eathena/inventoryhandler.cpp | 15 +++++++++++++++ src/net/eathena/inventoryhandler.h | 2 ++ src/net/eathena/protocol.h | 1 + 3 files changed, 18 insertions(+) diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp index 28518eb85..e936955e1 100644 --- a/src/net/eathena/inventoryhandler.cpp +++ b/src/net/eathena/inventoryhandler.cpp @@ -104,6 +104,7 @@ InventoryHandler::InventoryHandler() : SMSG_PLAYER_CART_EQUIP, SMSG_PLAYER_CART_ITEMS, SMSG_PLAYER_CART_REMOVE, + SMSG_PLAYER_IDENTIFY_LIST, 0 }; handledMessages = _messages; @@ -228,6 +229,10 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg) processPlayerCartRemove(msg); break; + case SMSG_PLAYER_IDENTIFY_LIST: + processPlayerIdentifyList(msg); + break; + default: break; } @@ -944,4 +949,14 @@ void InventoryHandler::processPlayerCartRemove(Net::MessageIn &msg) BLOCK_END("InventoryHandler::processPlayerCartRemove") } +void InventoryHandler::processPlayerIdentifyList(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + + menu = MenuType::Identify; + const int count = msg.readInt16("len") - 4; + for (int f = 0; f < count; f ++) + msg.readInt16("inv index"); +} + } // namespace EAthena diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h index b25c8992c..b65ebdba9 100644 --- a/src/net/eathena/inventoryhandler.h +++ b/src/net/eathena/inventoryhandler.h @@ -115,6 +115,8 @@ class InventoryHandler final : public MessageHandler, static void processPlayerCartRemove(Net::MessageIn &msg); + static void processPlayerIdentifyList(Net::MessageIn &msg); + static Ea::InventoryItems mCartItems; }; diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 5994e8e11..e9f045341 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -72,6 +72,7 @@ #define SMSG_PLAYER_INVENTORY_REMOVE 0x00af #define SMSG_PLAYER_INVENTORY_REMOVE2 0x07fa #define SMSG_PLAYER_INVENTORY_USE 0x01c8 +#define SMSG_PLAYER_IDENTIFY_LIST 0x0177 #define SMSG_PLAYER_CART_ADD 0x01c5 #define SMSG_PLAYER_CART_ITEMS 0x0993 #define SMSG_PLAYER_CART_EQUIP 0x0994 -- cgit v1.2.3-70-g09d2