summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-18 13:29:46 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-18 13:29:46 +0300
commite1aaae7552565cc2289312e180489459178b0e36 (patch)
tree4e19db38fc703b1e6bf4143c1f34f060bcda5ee1
parent0c291817a1e3fb61e229a2aa0037983ab2f0bf07 (diff)
downloadmanaplus-e1aaae7552565cc2289312e180489459178b0e36.tar.gz
manaplus-e1aaae7552565cc2289312e180489459178b0e36.tar.bz2
manaplus-e1aaae7552565cc2289312e180489459178b0e36.tar.xz
manaplus-e1aaae7552565cc2289312e180489459178b0e36.zip
eathena: add partial support for packet SMSG_BEING_CHARM 0x08cf.
-rw-r--r--src/net/eathena/beinghandler.cpp14
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 18 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 13fa26032..beda48d15 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -133,6 +133,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_BOSS_MAP_INFO,
SMSG_BEING_FONT,
SMSG_BEING_MILLENIUM_SHIELD,
+ SMSG_BEING_CHARM,
0
};
handledMessages = _messages;
@@ -397,6 +398,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processBeingMilleniumShield(msg);
break;
+ case SMSG_BEING_CHARM:
+ processBeingCharm(msg);
+ break;
+
default:
break;
}
@@ -1875,4 +1880,13 @@ void BeingHandler::processBeingMilleniumShield(Net::MessageIn &msg)
msg.readInt16("unused");
}
+void BeingHandler::processBeingCharm(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+
+ msg.readInt32("account id");
+ msg.readInt16("charm type");
+ msg.readInt16("charm count");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 1d1bfb1dd..6c3df23ef 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -156,6 +156,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
static void processBeingFont(Net::MessageIn &msg);
static void processBeingMilleniumShield(Net::MessageIn &msg);
+
+ static void processBeingCharm(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 6e3cea889..4306953f3 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -230,7 +230,7 @@ int16_t packet_lengths[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -1, 0, 0, 0, 0, 0, 12, 10, 0, 0, 0, 0, 0,
// #0x08C0
- -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
+ -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 10,
0, 0, 10, 0, 0, -1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 8e89fca04..75f0a9ecb 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -150,6 +150,7 @@
#define SMSG_BEING_ACTION2 0x02e1
#define SMSG_BEING_CHAT 0x008d /**< A being talks */
#define SMSG_BEING_SLIDE 0x01ff
+#define SMSG_BEING_CHARM 0x08cf
#define SMSG_COLOR_MESSAGE 0x02c1
#define SMSG_FORMAT_MESSAGE 0x0291
#define SMSG_FORMAT_MESSAGE_NUMBER 0x07e2