summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-19 14:56:41 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-19 14:56:41 +0300
commitfff70c8f8b5ca96e13d458f03caa21386b96c647 (patch)
tree794213201841d75bec7fc18e4f216bca690d0656
parent2c2a9956f8271fc6a1ac0ff978ceb1c57403f849 (diff)
downloadmv-fff70c8f8b5ca96e13d458f03caa21386b96c647.tar.gz
mv-fff70c8f8b5ca96e13d458f03caa21386b96c647.tar.bz2
mv-fff70c8f8b5ca96e13d458f03caa21386b96c647.tar.xz
mv-fff70c8f8b5ca96e13d458f03caa21386b96c647.zip
eathena: add partial support for packet SMSG_BEING_REMOVE_SKILL 0x0120.
-rw-r--r--src/net/eathena/beinghandler.cpp11
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 14 insertions, 0 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 532b5e886..a3c40ab68 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -65,6 +65,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_BEING_MOVE,
SMSG_BEING_MOVE2,
SMSG_BEING_REMOVE,
+ SMSG_BEING_REMOVE_SKILL,
SMSG_SKILL_DAMAGE,
SMSG_BEING_ACTION,
SMSG_BEING_ACTION2,
@@ -138,6 +139,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processBeingRemove(msg);
break;
+ case SMSG_BEING_REMOVE_SKILL:
+ processBeingRemoveSkil(msg);
+ break;
+
case SMSG_BEING_RESURRECT:
processBeingResurrect(msg);
break;
@@ -1804,4 +1809,10 @@ void BeingHandler::processPlayerGuilPartyInfo(Net::MessageIn &msg) const
BLOCK_END("BeingHandler::processPlayerGuilPartyInfo")
}
+void BeingHandler::processBeingRemoveSkil(Net::MessageIn &msg) const
+{
+ // +++ if skill unit was added, here need remove it from actors
+ msg.readInt32("skill unit id");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index c5e0b2562..d5a3867ef 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -109,6 +109,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
void processBeingResurrect(Net::MessageIn &msg) const;
void processPlayerGuilPartyInfo(Net::MessageIn &msg) const;
+
+ void processBeingRemoveSkil(Net::MessageIn &msg) const;
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 16f0acb09..8095d1200 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -94,6 +94,7 @@
#define SMSG_BEING_SPAWN 0x090f /**< A being spawns nearby */
#define SMSG_BEING_MOVE2 0x0086 /**< New eAthena being moves */
#define SMSG_BEING_REMOVE 0x0080
+#define SMSG_BEING_REMOVE_SKILL 0x0120
#define SMSG_BEING_CHANGE_LOOKS 0x00c3
// Same as 0x00c3, but 16 bit ID
#define SMSG_BEING_CHANGE_LOOKS2 0x01d7