diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-19 14:56:41 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-19 14:56:41 +0300 |
commit | fff70c8f8b5ca96e13d458f03caa21386b96c647 (patch) | |
tree | 794213201841d75bec7fc18e4f216bca690d0656 | |
parent | 2c2a9956f8271fc6a1ac0ff978ceb1c57403f849 (diff) | |
download | mv-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.cpp | 11 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
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 |