summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-04-06 21:58:15 +0300
committerAndrei Karas <akaras@inbox.ru>2018-04-06 22:15:11 +0300
commite34a496ae3b6fbb98115b9fe524cd202ddc8f795 (patch)
treeea3eec00d1296fb0a58f8bd9aa5bddcc219d1e61
parent24cdc3eb7a613344c655560c0ef43f8611acdc45 (diff)
downloadplus-e34a496ae3b6fbb98115b9fe524cd202ddc8f795.tar.gz
plus-e34a496ae3b6fbb98115b9fe524cd202ddc8f795.tar.bz2
plus-e34a496ae3b6fbb98115b9fe524cd202ddc8f795.tar.xz
plus-e34a496ae3b6fbb98115b9fe524cd202ddc8f795.zip
Add packet SMSG_SOLVE_CHAR_NAME 0x0af7.
-rw-r--r--src/net/eathena/beingrecv.cpp10
-rw-r--r--src/net/eathena/network.cpp2
-rw-r--r--src/net/eathena/packetsin.inc18
3 files changed, 30 insertions, 0 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index 4fdcf7ad3..627d9d9a1 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -72,6 +72,8 @@
extern int serverVersion;
extern OkDialog *deathNotice;
+extern bool packets_re;
+extern bool packets_main;
namespace EAthena
{
@@ -2112,6 +2114,14 @@ void BeingRecv::processSkillCancel(Net::MessageIn &msg)
void BeingRecv::processSolveCharName(Net::MessageIn &msg)
{
+ if ((packets_re == true && msg.getVersion() >= 20180221) ||
+ (packets_main == true && msg.getVersion() >= 20180307))
+ {
+ const int flag = msg.readInt16("flag");
+ // name request errors
+ if (flag != 3)
+ return;
+ }
const int id = msg.readInt32("char id");
if (actorManager == nullptr)
{
diff --git a/src/net/eathena/network.cpp b/src/net/eathena/network.cpp
index 9bf8a05b0..a68194e28 100644
--- a/src/net/eathena/network.cpp
+++ b/src/net/eathena/network.cpp
@@ -91,6 +91,8 @@ extern int packetVersion;
extern int serverVersion;
extern int evolPacketOffset;
extern bool packets_zero;
+extern bool packets_re;
+extern bool packets_main;
namespace EAthena
{
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 0899ce834..187a5d382 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -1017,6 +1017,24 @@ if (packetVersion >= 20171207)
packet(SMSG_PARTY_INFO, 0x0ae5, -1, &PartyRecv::processPartyInfo, 20171207);
}
+// re 20180221
+if (packets_re == true)
+{
+if (packetVersion >= 20180221)
+{
+ packet(SMSG_SOLVE_CHAR_NAME, 0x0af7, 32, &BeingRecv::processSolveCharName, 20180221);
+}
+}
+
+// main 20180307
+if (packets_main == true)
+{
+if (packetVersion >= 20180307)
+{
+ packet(SMSG_SOLVE_CHAR_NAME, 0x0af7, 32, &BeingRecv::processSolveCharName, 20180307);
+}
+}
+
// 0
// evol always packets
packet(SMSG_SERVER_VERSION_RESPONSE, 0x7531, -1, &LoginRecv::processServerVersion, 0);