summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-02 02:10:03 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-06 01:18:55 +0300
commit315367ce060371d8e2fec2d9f4894165dc238088 (patch)
tree74f0dd8119db0b2826f8ce42eabcacdfc66f5c9e
parent2fbf7747666bd9c33bc758f28e2d5e255e6abd02 (diff)
downloadplus-315367ce060371d8e2fec2d9f4894165dc238088.tar.gz
plus-315367ce060371d8e2fec2d9f4894165dc238088.tar.bz2
plus-315367ce060371d8e2fec2d9f4894165dc238088.tar.xz
plus-315367ce060371d8e2fec2d9f4894165dc238088.zip
eathena: add partial support for packet SMSG_MAP_TYPE_PROPERTY2 0x099b.
-rw-r--r--src/net/eathena/beinghandler.cpp12
-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, 16 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index efcaa634c..96cb87ab7 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -91,6 +91,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_BEING_IP_RESPONSE,
SMSG_PVP_MAP_MODE,
SMSG_PVP_SET,
+ SMSG_MAP_TYPE_PROPERTY2,
0
};
handledMessages = _messages;
@@ -214,6 +215,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processPvpSet(msg);
break;
+ case SMSG_MAP_TYPE_PROPERTY2:
+ processMapTypeProperty(msg);
+ break;
+
default:
break;
}
@@ -815,4 +820,11 @@ void BeingHandler::processBeingVisibleOrMove(Net::MessageIn &msg)
statusEffects & 0xffffU));
}
+void BeingHandler::processMapTypeProperty(Net::MessageIn &msg) const
+{
+ msg.readInt16("type");
+ // need get pvp and other flags from here
+ msg.readInt32("flags");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 7f694cf3c..45bf1fc33 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -51,6 +51,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
static void processNameResponse2(Net::MessageIn &msg);
void processPlayerMoveUpdate(Net::MessageIn &msg) const;
+
+ void processMapTypeProperty(Net::MessageIn &msg) const;
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index f554c9233..fd595e7e2 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -248,7 +248,7 @@ int16_t packet_lengths[] =
31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// #0x0980
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 8, 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,
// #0x09C0
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 41bc22ba2..a1e8de2b8 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -298,6 +298,7 @@
#define SMSG_BEING_IP_RESPONSE 0x020c
#define SMSG_PVP_MAP_MODE 0x0199
#define SMSG_PVP_SET 0x019a
+#define SMSG_MAP_TYPE_PROPERTY2 0x099b
#define CMSG_IGNORE_ALL 0x00d0
#define SMSG_IGNORE_ALL_RESPONSE 0x00d2
#define CMSG_ONLINE_LIST 0x0210