mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
minor visual change, server crash fix, multiplayer leave/concede fixes
This commit is contained in:
parent
6bdc8914a9
commit
d4f600393f
10 changed files with 169 additions and 58 deletions
|
|
@ -227,13 +227,17 @@ void Server_Game::removePlayer(Server_Player *player)
|
|||
}
|
||||
|
||||
sendGameEvent(new Event_Leave(player->getPlayerId()));
|
||||
bool playerActive = activePlayer == player->getPlayerId();
|
||||
bool spectator = player->getSpectator();
|
||||
delete player;
|
||||
|
||||
if (!getPlayerCount())
|
||||
deleteLater();
|
||||
else if (!spectator)
|
||||
else if (!spectator) {
|
||||
stopGameIfFinished();
|
||||
if (gameStarted && playerActive)
|
||||
nextTurn();
|
||||
}
|
||||
qobject_cast<Server_Room *>(parent())->broadcastGameListUpdate(this);
|
||||
}
|
||||
|
||||
|
|
@ -271,7 +275,7 @@ void Server_Game::nextTurn()
|
|||
++listPos;
|
||||
if (listPos == keys.size())
|
||||
listPos = 0;
|
||||
} while (players.value(keys[listPos])->getSpectator());
|
||||
} while (players.value(keys[listPos])->getSpectator() || players.value(keys[listPos])->getConceded());
|
||||
|
||||
setActivePlayer(keys[listPos]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue