diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-10-08 00:08:10 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-10-08 00:08:10 +0300 |
commit | 21029a5465e42e3820175e474c6860b6349d7c5c (patch) | |
tree | 9a1317dffdb0736b9f2982ab87d72757881a5042 | |
parent | d91a8fd5d574454265c9a6088f7aa089d7905ba0 (diff) | |
download | mv-21029a5465e42e3820175e474c6860b6349d7c5c.tar.gz mv-21029a5465e42e3820175e474c6860b6349d7c5c.tar.bz2 mv-21029a5465e42e3820175e474c6860b6349d7c5c.tar.xz mv-21029a5465e42e3820175e474c6860b6349d7c5c.zip |
eathena: add partial support for packet SMSG_BEING_SOUND_EFFECT 0x01d3.
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 14 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 3e048d1a4..19200832a 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_SOUND_EFFECT, SMSG_BEING_EMOTION, SMSG_BEING_CHANGE_LOOKS, SMSG_BEING_CHANGE_LOOKS2, @@ -179,6 +180,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg) processBeingSpecialEffect(msg); break; + case SMSG_BEING_SOUND_EFFECT: + processBeingSoundEffect(msg); + break; + case SMSG_BEING_EMOTION: processBeingEmotion(msg); break; @@ -1711,6 +1716,15 @@ void BeingHandler::processBeingSpecialEffect(Net::MessageIn &msg) const msg.readInt32("effect type"); } +void BeingHandler::processBeingSoundEffect(Net::MessageIn &msg) const +{ + // +++ need play this effect. + msg.readString(24, "sound effect name"); + msg.readUInt8("type"); + msg.readInt32("unused"); + msg.readInt32("source being id"); +} + 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 065614ecf..881b426d7 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 processBeingSoundEffect(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 65bc4c2f5..f9a4f0112 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_SOUND_EFFECT 0x01d3 #define SMSG_BEING_EMOTION 0x00c0 #define SMSG_BEING_ACTION 0x008a /**< Attack, sit, stand up, ... */ #define SMSG_BEING_ACTION2 0x02e1 |