From 1ca01c7099f1655510a7d8daf215c5d469bfcf33 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 17 Sep 2014 20:39:16 +0300 Subject: eathena: add partial support for packet SMSG_PLAYER_STATUS_CHANGE_NO_TICK 0x0196. --- src/net/eathena/beinghandler.cpp | 13 +++++++++++++ src/net/eathena/beinghandler.h | 2 ++ src/net/eathena/protocol.h | 1 + 3 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 0abe3281a..69f09ed8f 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -83,6 +83,7 @@ BeingHandler::BeingHandler(const bool enableSync) : SMSG_PLAYER_STOP, SMSG_PLAYER_MOVE_TO_ATTACK, SMSG_PLAYER_STATUS_CHANGE, + SMSG_PLAYER_STATUS_CHANGE_NO_TICK, SMSG_BEING_STATUS_CHANGE, SMSG_BEING_STATUS_CHANGE2, SMSG_BEING_RESURRECT, @@ -224,6 +225,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg) processPlaterStatusChange(msg); break; + case SMSG_PLAYER_STATUS_CHANGE_NO_TICK: + processPlaterStatusChangeNoTick(msg); + break; + case SMSG_BEING_STATUS_CHANGE: case SMSG_BEING_STATUS_CHANGE2: processBeingStatusChange(msg); @@ -1734,6 +1739,14 @@ void BeingHandler::processPlaterStatusChange(Net::MessageIn &msg) const BLOCK_END("BeingHandler::processPlayerStop") } +void BeingHandler::processPlaterStatusChangeNoTick(Net::MessageIn &msg) const +{ + // +++ probably need show some effect? + msg.readInt16("index"); + msg.readInt32("account id"); + msg.readUInt8("state"); +} + void BeingHandler::processBeingResurrect(Net::MessageIn &msg) const { BLOCK_START("BeingHandler::processBeingResurrect") diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h index 2a12b7fa1..522032da1 100644 --- a/src/net/eathena/beinghandler.h +++ b/src/net/eathena/beinghandler.h @@ -104,6 +104,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler void processPlaterStatusChange(Net::MessageIn &msg) const; + void processPlaterStatusChangeNoTick(Net::MessageIn &msg) const; + void processBeingResurrect(Net::MessageIn &msg) const; }; diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 70be26dc7..a7e3b5487 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -111,6 +111,7 @@ #define SMSG_BEING_RESURRECT 0x0148 #define SMSG_PLAYER_STATUS_CHANGE 0x0229 +#define SMSG_PLAYER_STATUS_CHANGE_NO_TICK 0x0196 #define SMSG_PLAYER_GUILD_PARTY_INFO 0x0195 #define SMSG_BEING_STATUS_CHANGE 0x0983 #define SMSG_BEING_STATUS_CHANGE2 0x043f -- cgit v1.2.3-60-g2f50