diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-10-08 00:32:26 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-10-08 00:32:26 +0300 |
commit | 17aea3a2f39b62202548d54c70eeb127e93f14c5 (patch) | |
tree | 95d9ece5e64cbf43b439a5a91f0edd32830aa09a | |
parent | 21029a5465e42e3820175e474c6860b6349d7c5c (diff) | |
download | mv-17aea3a2f39b62202548d54c70eeb127e93f14c5.tar.gz mv-17aea3a2f39b62202548d54c70eeb127e93f14c5.tar.bz2 mv-17aea3a2f39b62202548d54c70eeb127e93f14c5.tar.xz mv-17aea3a2f39b62202548d54c70eeb127e93f14c5.zip |
eathena: add partial support for packet SMSG_BEING_SPECIAL_EFFECT_NUM 0x0284.
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 14 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/packets.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
4 files changed, 18 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 19200832a..4972f7568 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -75,6 +75,7 @@ BeingHandler::BeingHandler(const bool enableSync) : SMSG_BEING_ACTION2, SMSG_BEING_SELFEFFECT, SMSG_BEING_SPECIAL_EFFECT, + SMSG_BEING_SPECIAL_EFFECT_NUM, SMSG_BEING_SOUND_EFFECT, SMSG_BEING_EMOTION, SMSG_BEING_CHANGE_LOOKS, @@ -180,6 +181,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg) processBeingSpecialEffect(msg); break; + case SMSG_BEING_SPECIAL_EFFECT_NUM: + processBeingSpecialEffectNum(msg); + break; + case SMSG_BEING_SOUND_EFFECT: processBeingSoundEffect(msg); break; @@ -1716,6 +1721,15 @@ void BeingHandler::processBeingSpecialEffect(Net::MessageIn &msg) const msg.readInt32("effect type"); } +void BeingHandler::processBeingSpecialEffectNum(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"); + msg.readInt32("num"); // effect variable +} + void BeingHandler::processBeingSoundEffect(Net::MessageIn &msg) const { // +++ need play this effect. diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h index 881b426d7..f0d2abe49 100644 --- a/src/net/eathena/beinghandler.h +++ b/src/net/eathena/beinghandler.h @@ -96,6 +96,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler void processBeingSpecialEffect(Net::MessageIn &msg) const; + void processBeingSpecialEffectNum(Net::MessageIn &msg) const; + void processBeingSoundEffect(Net::MessageIn &msg) const; static void setServerGender(Being *const being, diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 93252025c..2e1d7884e 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -93,7 +93,7 @@ int16_t packet_lengths[] = 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // #0x0280 - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 4, 0, + 0, 0, 0, 6, 14, 0, 0, 0, 0, 0, 18, 0, 0, 0, 4, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, -1, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 107, 6, -1, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index f9a4f0112..78b622a80 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -110,6 +110,7 @@ #define SMSG_BEING_CHANGE_LOOKS2 0x01d7 #define SMSG_BEING_SELFEFFECT 0x019b #define SMSG_BEING_SPECIAL_EFFECT 0x01f3 +#define SMSG_BEING_SPECIAL_EFFECT_NUM 0x0284 #define SMSG_BEING_SOUND_EFFECT 0x01d3 #define SMSG_BEING_EMOTION 0x00c0 #define SMSG_BEING_ACTION 0x008a /**< Attack, sit, stand up, ... */ |