function finishGame(playerId) { let firstRunnerUpName = ""; let secondRunnerUpName = ""; let winnerName = "Nobody"; let leftoverPlayers = new Array(); for (let item in players) { leftoverPlayers.push({ nickname: players[item].nickname, score: players[item].score, }); } leftoverPlayers.sort((a, b) => { return b.score - a.score; }); if (playerId == "") { if (leftoverPlayers.length >= 3) { firstRunnerUpName = leftoverPlayers[0].nickname; secondRunnerUpName = leftoverPlayers[1].nickname; } else if (leftoverPlayers == 2) { firstRunnerUp = leftoverPlayers[0].nickname; } } else { winnerName = players[playerId].nickname; if (leftoverPlayers.length >= 3) { firstRunnerUpName = leftoverPlayers[1].nickname; secondRunnerUpName = leftoverPlayers[2].nickname; } else if (leftoverPlayers.length == 2) { firstRunnerUpName = leftoverPlayers[1].nickname; } } gameRoom.publish("game-over", { winner: winnerName, firstRunnerUp: firstRunnerUpName, secondRunnerUp: secondRunnerUpName, totalPlayers: totalPlayers, }); resetServerState(); }