diff options
author | Aaron Marks <nymacro@gmail.com> | 2005-07-24 05:41:44 +0000 |
---|---|---|
committer | Aaron Marks <nymacro@gmail.com> | 2005-07-24 05:41:44 +0000 |
commit | b54666222ca5020438aa9151a51a295269b1b319 (patch) | |
tree | 76effbcef01e027f6de1b5f77b7c360884c88ac3 /src/accounthandler.cpp | |
parent | 7c69090507eb2d314ca53d99265f538a10a0f1fb (diff) | |
download | manaserv-b54666222ca5020438aa9151a51a295269b1b319.tar.gz manaserv-b54666222ca5020438aa9151a51a295269b1b319.tar.bz2 manaserv-b54666222ca5020438aa9151a51a295269b1b319.tar.xz manaserv-b54666222ca5020438aa9151a51a295269b1b319.zip |
Added character selection.
Diffstat (limited to 'src/accounthandler.cpp')
-rw-r--r-- | src/accounthandler.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/accounthandler.cpp b/src/accounthandler.cpp index bdfa0ba4..59956242 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); |