Fixed bug when kicking during game.

This commit is contained in:
lotodore
2007-10-27 19:53:04 +00:00
parent 6b19b3291a
commit e27be88942
+8 -12
View File
@@ -168,7 +168,14 @@ AbstractServerGameStateReceiving::Process(ServerGameThread &server)
}
else if (packet->ToNetPacketKickPlayer())
{
server.MoveSessionToLobby(session, NTF_NET_REMOVED_KICKED);
// Only admins are allowed to kick.
if (session.playerData->GetRights() == PLAYER_RIGHTS_ADMIN)
{
NetPacketKickPlayer::Data kickPlayerData;
packet->ToNetPacketKickPlayer()->GetData(kickPlayerData);
server.InternalKickPlayer(kickPlayerData.playerId);
}
}
// Chat text is always allowed.
else if (packet->ToNetPacketSendChatText())
@@ -330,17 +337,6 @@ ServerGameStateInit::InternalProcess(ServerGameThread &server, SessionWrapper se
server.SetState(ServerGameStateWaitAck::Instance());
}
}
else if (packet->ToNetPacketKickPlayer())
{
// Only admins are allowed to kick.
if (session.playerData->GetRights() == PLAYER_RIGHTS_ADMIN)
{
NetPacketKickPlayer::Data kickPlayerData;
packet->ToNetPacketKickPlayer()->GetData(kickPlayerData);
server.InternalKickPlayer(kickPlayerData.playerId);
}
}
else
{
server.SessionError(session, ERR_SOCK_INVALID_PACKET);