diff options
-rw-r--r-- | src/net/logindata.h | 2 | ||||
-rw-r--r-- | src/net/tmwa/charserverhandler.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/net/logindata.h b/src/net/logindata.h index 5617cea32..385ef9beb 100644 --- a/src/net/logindata.h +++ b/src/net/logindata.h @@ -88,7 +88,7 @@ class LoginData */ void resetCharacterSlots() { - characterSlots = 3; // Default value, used for TmwAthena. + characterSlots = 9; // Default value, used for TmwAthena. } }; diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp index bda67da21..500f6b36a 100644 --- a/src/net/tmwa/charserverhandler.cpp +++ b/src/net/tmwa/charserverhandler.cpp @@ -78,7 +78,10 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg) case SMSG_CHAR_LOGIN: { msg.skip(2); // Length word - msg.skip(20); // Unused + int slots = msg.readInt16(); + if (slots > 0 && slots < 30) + loginData.characterSlots = slots; + msg.skip(18); // Unused delete_all(mCharacters); mCharacters.clear(); |