summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-17 20:39:16 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-17 20:39:16 +0300
commit1ca01c7099f1655510a7d8daf215c5d469bfcf33 (patch)
tree15d68947170ebf4649c6a10f94cd429f6da187a4
parent3c97cad0badf0e2f3597670d9981190a83b0df33 (diff)
downloadmanaplus-1ca01c7099f1655510a7d8daf215c5d469bfcf33.tar.gz
manaplus-1ca01c7099f1655510a7d8daf215c5d469bfcf33.tar.bz2
manaplus-1ca01c7099f1655510a7d8daf215c5d469bfcf33.tar.xz
manaplus-1ca01c7099f1655510a7d8daf215c5d469bfcf33.zip
eathena: add partial support for packet SMSG_PLAYER_STATUS_CHANGE_NO_TICK 0x0196.
-rw-r--r--src/net/eathena/beinghandler.cpp13
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h1
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