summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-08 00:08:10 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-08 00:08:10 +0300
commit21029a5465e42e3820175e474c6860b6349d7c5c (patch)
tree9a1317dffdb0736b9f2982ab87d72757881a5042
parentd91a8fd5d574454265c9a6088f7aa089d7905ba0 (diff)
downloadmv-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.cpp14
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h1
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