summaryrefslogtreecommitdiff
path: root/src/game-server/gamehandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server/gamehandler.cpp')
-rw-r--r--src/game-server/gamehandler.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp
index 2cd1c704..fa2c273f 100644
--- a/src/game-server/gamehandler.cpp
+++ b/src/game-server/gamehandler.cpp
@@ -79,7 +79,7 @@ void GameHandler::computerDisconnected(NetComputer *comp)
delete &computer;
}
-void GameHandler::killConnection(Entity *ch)
+void GameHandler::detachClient(Entity *ch)
{
auto *component = ch->getComponent<CharacterComponent>();
GameClient *client = component->getClient();
@@ -364,7 +364,7 @@ void GameHandler::addPendingCharacter(const std::string &token, Entity *ch)
delete ch;
GameState::remove(old_ch);
- killConnection(old_ch);
+ detachClient(old_ch);
MessageOut msg(GPMSG_CONNECT_RESPONSE);
msg.writeInt8(ERRMSG_LOGIN_WAS_TAKEN_OVER);
c->disconnect(msg);
@@ -393,7 +393,7 @@ void GameHandler::tokenMatched(GameClient *computer, Entity *character)
if (!GameState::insert(character))
{
result.writeInt8(ERRMSG_SERVER_FULL);
- killConnection(character);
+ detachClient(character);
delete character;
computer->disconnect(result);
return;
@@ -403,6 +403,9 @@ void GameHandler::tokenMatched(GameClient *computer, Entity *character)
result.writeInt8(ERRMSG_OK);
computer->send(result);
+
+ Inventory(character).sendFull();
+ characterComponent->sendFullInfo(*character);
}
void GameHandler::deletePendingClient(GameClient *computer)