diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-17 20:39:16 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-17 20:39:16 +0300 |
commit | 1ca01c7099f1655510a7d8daf215c5d469bfcf33 (patch) | |
tree | 15d68947170ebf4649c6a10f94cd429f6da187a4 /src/net/eathena | |
parent | 3c97cad0badf0e2f3597670d9981190a83b0df33 (diff) | |
download | mv-1ca01c7099f1655510a7d8daf215c5d469bfcf33.tar.gz mv-1ca01c7099f1655510a7d8daf215c5d469bfcf33.tar.bz2 mv-1ca01c7099f1655510a7d8daf215c5d469bfcf33.tar.xz mv-1ca01c7099f1655510a7d8daf215c5d469bfcf33.zip |
eathena: add partial support for packet SMSG_PLAYER_STATUS_CHANGE_NO_TICK 0x0196.
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 13 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 16 insertions, 0 deletions
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 |