diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-02 02:10:03 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-06 01:18:55 +0300 |
commit | 315367ce060371d8e2fec2d9f4894165dc238088 (patch) | |
tree | 74f0dd8119db0b2826f8ce42eabcacdfc66f5c9e | |
parent | 2fbf7747666bd9c33bc758f28e2d5e255e6abd02 (diff) | |
download | mv-315367ce060371d8e2fec2d9f4894165dc238088.tar.gz mv-315367ce060371d8e2fec2d9f4894165dc238088.tar.bz2 mv-315367ce060371d8e2fec2d9f4894165dc238088.tar.xz mv-315367ce060371d8e2fec2d9f4894165dc238088.zip |
eathena: add partial support for packet SMSG_MAP_TYPE_PROPERTY2 0x099b.
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 12 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/packets.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
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 |