summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-04-01 15:36:32 +0300
committerAndrei Karas <akaras@inbox.ru>2015-04-01 15:43:54 +0300
commit101c2a32bd0f059f2c3544d25e385c44a793a6a3 (patch)
tree71bf1d410fcf5c2d486d6c01e7167f5326fd141f
parentc0ad5c77eed5b73f8e33708518a737e17d25f0f8 (diff)
downloadmv-101c2a32bd0f059f2c3544d25e385c44a793a6a3.tar.gz
mv-101c2a32bd0f059f2c3544d25e385c44a793a6a3.tar.bz2
mv-101c2a32bd0f059f2c3544d25e385c44a793a6a3.tar.xz
mv-101c2a32bd0f059f2c3544d25e385c44a793a6a3.zip
eathena: add partial support for packet SMSG_CHAR_BAN_CHAR_LIST 0x020d.
-rw-r--r--src/net/eathena/charserverhandler.cpp16
-rw-r--r--src/net/eathena/charserverhandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
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