diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-04-01 15:36:32 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-04-01 15:43:54 +0300 |
commit | 101c2a32bd0f059f2c3544d25e385c44a793a6a3 (patch) | |
tree | 71bf1d410fcf5c2d486d6c01e7167f5326fd141f | |
parent | c0ad5c77eed5b73f8e33708518a737e17d25f0f8 (diff) | |
download | manaplus-101c2a32bd0f059f2c3544d25e385c44a793a6a3.tar.gz manaplus-101c2a32bd0f059f2c3544d25e385c44a793a6a3.tar.bz2 manaplus-101c2a32bd0f059f2c3544d25e385c44a793a6a3.tar.xz manaplus-101c2a32bd0f059f2c3544d25e385c44a793a6a3.zip |
eathena: add partial support for packet SMSG_CHAR_BAN_CHAR_LIST 0x020d.
-rw-r--r-- | src/net/eathena/charserverhandler.cpp | 16 | ||||
-rw-r--r-- | src/net/eathena/charserverhandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/packets.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
4 files changed, 20 insertions, 1 deletions
diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp index 4573f1ebe..f813dce6e 100644 --- a/src/net/eathena/charserverhandler.cpp +++ b/src/net/eathena/charserverhandler.cpp @@ -97,6 +97,7 @@ CharServerHandler::CharServerHandler() : SMSG_CHAR_DELETE2_ACCEPT_ACTUAL_ACK, SMSG_CHAR_DELETE2_CANCEL_ACK, SMSG_CHAR_CHARACTERS, + SMSG_CHAR_BAN_CHAR_LIST, 0 }; handledMessages = _messages; @@ -179,6 +180,10 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg) processCharCharacters(msg); break; + case SMSG_CHAR_BAN_CHAR_LIST: + processCharBanCharList(msg); + break; + default: break; } @@ -718,4 +723,15 @@ unsigned int CharServerHandler::hatSprite() const return 7; } +void CharServerHandler::processCharBanCharList(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + const int count = (msg.readInt16("len") - 4) / 24; + for (int f = 0; f < count; f ++) + { + msg.readInt32("char id"); + msg.readString(20, "unbun time"); + } +} + } // namespace EAthena diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h index e646a2650..6c06c12ee 100644 --- a/src/net/eathena/charserverhandler.h +++ b/src/net/eathena/charserverhandler.h @@ -118,6 +118,8 @@ class CharServerHandler final : public MessageHandler, static void processCharCharacters(Net::MessageIn &msg); + static void processCharBanCharList(Net::MessageIn &msg); + private: static std::string mNewName; static uint32_t mPinSeed; diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index a8bf6dc50..08c45856b 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -83,7 +83,7 @@ int16_t packet_lengths[] = //0 1 2 3 4 5 6 7 8 9 a b c d e f //0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // #0x0200 - 26, -1, 0, 0, 18, 26, 11, 34, 0, 36, 10, 19, 10, 0, 32, 0, + 26, -1, 0, 0, 18, 26, 11, 34, 0, 36, 10, 19, 10, -1, 32, 0, 22, -1, 16, 0, 42, 6, 6, 0, 0, 282, 282, 10, 10, 0, 0, 0, -1, -1, 0, 8, 10, 0, 282, 0, 0, 15, 0, 0, 0, 19, 71, 5, 12, 0, 0, 0, 0, -1, 0, 0, 282, 0, 4, 0, 6, 0, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index ac2024cf8..29228ec96 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -56,6 +56,7 @@ #define SMSG_CHAR_DELETE2_CANCEL_ACK 0x082c #define SMSG_CHAR_MAP_INFO 0x0071 #define SMSG_CHAR_CHARACTERS 0x099d +#define SMSG_CHAR_BAN_CHAR_LIST 0x020d #define SMSG_CHAR_SWITCH_RESPONSE 0x00b3 #define SMSG_CHANGE_MAP_SERVER 0x0092 |