summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-13 23:24:06 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-13 23:24:06 +0300
commit949a27bfda6b3fa8e6a4ad2e05448c61e9889e8a (patch)
tree22336cd01cb23acdd57aae55329fe5bdb69a0fd0
parent857b503b43dc7e2a452f1897efc2100b028f843a (diff)
downloadmv-949a27bfda6b3fa8e6a4ad2e05448c61e9889e8a.tar.gz
mv-949a27bfda6b3fa8e6a4ad2e05448c61e9889e8a.tar.bz2
mv-949a27bfda6b3fa8e6a4ad2e05448c61e9889e8a.tar.xz
mv-949a27bfda6b3fa8e6a4ad2e05448c61e9889e8a.zip
eathena: add partical support for SMSG_BEING_SPECIAL_EFFECT 0x01f3.
-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 d9229caae..4420f55c8 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -69,6 +69,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_BEING_ACTION,
SMSG_BEING_ACTION2,
SMSG_BEING_SELFEFFECT,
+ SMSG_BEING_SPECIAL_EFFECT,
SMSG_BEING_EMOTION,
SMSG_BEING_CHANGE_LOOKS,
SMSG_BEING_CHANGE_LOOKS2,
@@ -158,6 +159,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processBeingSelfEffect(msg);
break;
+ case SMSG_BEING_SPECIAL_EFFECT:
+ processBeingSpecialEffect(msg);
+ break;
+
case SMSG_BEING_EMOTION:
processBeingEmotion(msg);
break;
@@ -1598,6 +1603,14 @@ void BeingHandler::processBeingChangeDirection(Net::MessageIn &msg) const
BLOCK_END("BeingHandler::processBeingChangeDirection")
}
+void BeingHandler::processBeingSpecialEffect(Net::MessageIn &msg) const
+{
+ // +++ need somhow show this effects.
+ // type is not same with self/misc effect.
+ msg.readInt32("account id");
+ msg.readInt32("effect type");
+}
+
void BeingHandler::setServerGender(Being *const being, const uint8_t gender)
{
switch (gender)
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 18c95be45..a7f01a026 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -87,6 +87,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
const int id,
const int id2) const;
+ void processBeingSpecialEffect(Net::MessageIn &msg) const;
+
static void setServerGender(Being *const being,
const uint8_t gender);
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index f6456a924..80aba31fd 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -97,6 +97,7 @@
// Same as 0x00c3, but 16 bit ID
#define SMSG_BEING_CHANGE_LOOKS2 0x01d7
#define SMSG_BEING_SELFEFFECT 0x019b
+#define SMSG_BEING_SPECIAL_EFFECT 0x01f3
#define SMSG_BEING_EMOTION 0x00c0
#define SMSG_BEING_ACTION 0x008a /**< Attack, sit, stand up, ... */
#define SMSG_BEING_ACTION2 0x02e1