summaryrefslogtreecommitdiff
path: root/src/accounthandler.cpp
diff options
context:
space:
mode:
authorAaron Marks <nymacro@gmail.com>2005-07-24 05:41:44 +0000
committerAaron Marks <nymacro@gmail.com>2005-07-24 05:41:44 +0000
commitb54666222ca5020438aa9151a51a295269b1b319 (patch)
tree76effbcef01e027f6de1b5f77b7c360884c88ac3 /src/accounthandler.cpp
parent7c69090507eb2d314ca53d99265f538a10a0f1fb (diff)
downloadmanaserv-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.cpp20
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);