summaryrefslogtreecommitdiffstats
path: root/src/accounthandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/accounthandler.cpp')
-rw-r--r--src/accounthandler.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/accounthandler.cpp b/src/accounthandler.cpp
index bdfa0ba..5995624 100644
--- a/src/accounthandler.cpp
+++ b/src/accounthandler.cpp
@@ -135,6 +135,26 @@ void AccountHandler::receiveMessage(NetComputer &computer, MessageIn &message)
}
break;
+ case CMSG_CHAR_SELECT:
+ {
+ if (computer.getAccount() == NULL)
+ break; // not logged in
+
+ char charNum = message.readByte();
+
+ tmwserv::Beings &chars = computer.getAccount()->getCharacters();
+
+ result.writeShort(SMSG_CHAR_SELECT_RESPONSE);
+ if (charNum >= chars.size()) {
+ // invalid char selection
+ result.writeByte(SELECT_INVALID);
+ break;
+ }
+
+ result.writeByte(SELECT_OK);
+ }
+ break;
+
default:
std::cout << "Invalid message type" << std::endl;
result.writeShort(SMSG_LOGIN_ERROR);