diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/loginrecv.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/net/eathena/loginrecv.cpp b/src/net/eathena/loginrecv.cpp index b9abf20aa..555d1a2c1 100644 --- a/src/net/eathena/loginrecv.cpp +++ b/src/net/eathena/loginrecv.cpp @@ -45,6 +45,7 @@ #include "debug.h" extern int packetVersion; +extern int evolPacketOffset; namespace EAthena { @@ -153,7 +154,7 @@ void LoginRecv::processUpdateHost2(Net::MessageIn &msg) void LoginRecv::processServerVersion(Net::MessageIn &msg) { - msg.readInt16("len"); + const int len = msg.readInt16("len"); msg.readInt32("unused"); serverVersion = msg.readInt32("server version"); if (serverVersion > 0) @@ -167,6 +168,10 @@ void LoginRecv::processServerVersion(Net::MessageIn &msg) logger->log("autofix Hercules packet version to: %d", packetVersion); } + if (serverVersion >= 16 && len >= 18) + { + evolPacketOffset = msg.readInt16("evol packet offset"); + } } else { |