From e1aaae7552565cc2289312e180489459178b0e36 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 18 Mar 2015 13:29:46 +0300 Subject: eathena: add partial support for packet SMSG_BEING_CHARM 0x08cf. --- src/net/eathena/beinghandler.cpp | 14 ++++++++++++++ src/net/eathena/beinghandler.h | 2 ++ src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 13fa26032..beda48d15 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -133,6 +133,7 @@ BeingHandler::BeingHandler(const bool enableSync) : SMSG_BOSS_MAP_INFO, SMSG_BEING_FONT, SMSG_BEING_MILLENIUM_SHIELD, + SMSG_BEING_CHARM, 0 }; handledMessages = _messages; @@ -397,6 +398,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg) processBeingMilleniumShield(msg); break; + case SMSG_BEING_CHARM: + processBeingCharm(msg); + break; + default: break; } @@ -1875,4 +1880,13 @@ void BeingHandler::processBeingMilleniumShield(Net::MessageIn &msg) msg.readInt16("unused"); } +void BeingHandler::processBeingCharm(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + + msg.readInt32("account id"); + msg.readInt16("charm type"); + msg.readInt16("charm count"); +} + } // namespace EAthena diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h index 1d1bfb1dd..6c3df23ef 100644 --- a/src/net/eathena/beinghandler.h +++ b/src/net/eathena/beinghandler.h @@ -156,6 +156,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler static void processBeingFont(Net::MessageIn &msg); static void processBeingMilleniumShield(Net::MessageIn &msg); + + static void processBeingCharm(Net::MessageIn &msg); }; } // namespace EAthena diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 6e3cea889..4306953f3 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -230,7 +230,7 @@ int16_t packet_lengths[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 12, 10, 0, 0, 0, 0, 0, // #0x08C0 - -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, + -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 10, 0, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 8e89fca04..75f0a9ecb 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -150,6 +150,7 @@ #define SMSG_BEING_ACTION2 0x02e1 #define SMSG_BEING_CHAT 0x008d /**< A being talks */ #define SMSG_BEING_SLIDE 0x01ff +#define SMSG_BEING_CHARM 0x08cf #define SMSG_COLOR_MESSAGE 0x02c1 #define SMSG_FORMAT_MESSAGE 0x0291 #define SMSG_FORMAT_MESSAGE_NUMBER 0x07e2 -- cgit v1.2.3-70-g09d2