Index: binaries/data/mods/public/gui/gamesetup/gamesetup.js =================================================================== --- binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -569,6 +569,8 @@ pData.slice(0, num); unassignInvalidPlayers(num); sanitizePlayerData(g_GameAttributes.settings.PlayerData); + g_GameAttributes.settings.RatingEnabled = canBeGameRated(); + Engine.SetRankedGame(g_GameAttributes.settings.RatingEnabled); }, "initOrder": 1000 }, @@ -962,14 +964,14 @@ "enableRating": { "title": () => translate("Rated Game"), "tooltip": () => translate("Toggle if this game will be rated for the leaderboard."), - "default": () => Engine.HasXmppClient(), - "hidden": () => !Engine.HasXmppClient(), + "default": () => canBeGameRated(), + "hidden": () => !canBeGameRated(), "defined": () => g_GameAttributes.settings.RatingEnabled !== undefined, - "get": () => !!g_GameAttributes.settings.RatingEnabled, + "get": () => g_GameAttributes.settings.RatingEnabled, "set": checked => { - g_GameAttributes.settings.RatingEnabled = Engine.HasXmppClient() ? checked : undefined; + g_GameAttributes.settings.RatingEnabled = canBeGameRated() ? checked : undefined; Engine.SetRankedGame(!!g_GameAttributes.settings.RatingEnabled); - if (checked) + if (!!g_GameAttributes.settings.RatingEnabled) { g_Checkboxes.lockTeams.set(true); g_Checkboxes.enableCheats.set(false); @@ -1992,7 +1994,7 @@ reloadMapFilterList(); reloadMapSpecific(); - g_GameAttributes.settings.RatingEnabled = Engine.HasXmppClient(); + g_GameAttributes.settings.RatingEnabled = canBeGameRated(); Engine.SetRankedGame(g_GameAttributes.settings.RatingEnabled); supplementDefaults(); @@ -2172,6 +2174,9 @@ reloadMapSpecific(); unassignInvalidPlayers(g_GameAttributes.settings.PlayerData.length); + + g_GameAttributes.settings.RatingEnabled = canBeGameRated(); + Engine.SetRankedGame(g_GameAttributes.settings.RatingEnabled); supplementDefaults(); } @@ -2770,3 +2775,8 @@ else g_CivInfo = data; } + +function canBeGameRated() +{ + return g_GameAttributes.settings.PlayerData.length == 2 && Engine.HasXmppClient(); +}