summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-03 16:58:22 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-03 16:58:22 +0300
commitc9e8b0ed6e3e193582eccd9b9bab6aeb3a0e37c3 (patch)
treef3aa10aacfe2fea2b11d1d385561c23fccbca8c7
parent00e080c7230e68ec62ba30a32ac13fbafcab1946 (diff)
downloadmv-c9e8b0ed6e3e193582eccd9b9bab6aeb3a0e37c3.tar.gz
mv-c9e8b0ed6e3e193582eccd9b9bab6aeb3a0e37c3.tar.bz2
mv-c9e8b0ed6e3e193582eccd9b9bab6aeb3a0e37c3.tar.xz
mv-c9e8b0ed6e3e193582eccd9b9bab6aeb3a0e37c3.zip
eathena: add packet SMSG_MAP_TYPE 0x01d6.
-rw-r--r--src/net/eathena/beinghandler.cpp13
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 15 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 7db7f0e80..3e048d1a4 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -104,6 +104,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_PVP_MAP_MODE,
SMSG_PVP_SET,
SMSG_MAP_TYPE_PROPERTY2,
+ SMSG_MAP_TYPE,
SMSG_MONSTER_HP,
SMSG_PLAYER_HP,
SMSG_SKILL_AUTO_CAST,
@@ -282,6 +283,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processMapTypeProperty(msg);
break;
+ case SMSG_MAP_TYPE:
+ processMapType(msg);
+ break;
+
case SMSG_MONSTER_HP:
case SMSG_PLAYER_HP:
processMonsterHp(msg);
@@ -1447,10 +1452,16 @@ void BeingHandler::processBeingSpawn(Net::MessageIn &msg)
void BeingHandler::processMapTypeProperty(Net::MessageIn &msg) const
{
msg.readInt16("type");
- // need get pvp and other flags from here
+ // +++ need get pvp and other flags from here
msg.readInt32("flags");
}
+void BeingHandler::processMapType(Net::MessageIn &msg) const
+{
+ // battle ground map or not
+ msg.readInt16("type");
+}
+
void BeingHandler::processSkillCasting(Net::MessageIn &msg) const
{
msg.readInt32("src id");
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 5dcd0121c..065614ecf 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -71,6 +71,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
void processMapTypeProperty(Net::MessageIn &msg) const;
+ void processMapType(Net::MessageIn &msg) const;
+
void processSkillCasting(Net::MessageIn &msg) const;
void processBeingStatusChange(Net::MessageIn &msg) const;
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index d9c477033..a6b2be72d 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -254,6 +254,7 @@
#define SMSG_PVP_MAP_MODE 0x0199
#define SMSG_PVP_SET 0x019a
#define SMSG_MAP_TYPE_PROPERTY2 0x099b
+#define SMSG_MAP_TYPE 0x01d6
#define SMSG_IGNORE_ALL_RESPONSE 0x00d2
#define SMSG_ONLINE_LIST 0x0211
#define SMSG_NPC_COMMAND 0x0212