Index: ps/trunk/binaries/data/mods/public/gui/common/gamedescription.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/common/gamedescription.js +++ ps/trunk/binaries/data/mods/public/gui/common/gamedescription.js @@ -196,27 +196,31 @@ let title = translateVictoryCondition(victoryCondition.Name); if (victoryCondition.Name == "wonder") + { + let wonderDuration = Math.round(g_GameAttributes.settings.WonderDuration); title = sprintf( translatePluralWithContext( "victory condition", "Wonder (%(min)s minute)", "Wonder (%(min)s minutes)", - g_GameAttributes.settings.WonderDuration + wonderDuration ), - { "min": g_GameAttributes.settings.WonderDuration } - ); + { "min": wonderDuration }); + } let isCaptureTheRelic = victoryCondition.Name == "capture_the_relic"; if (isCaptureTheRelic) + { + let relicDuration = Math.round(g_GameAttributes.settings.RelicDuration); title = sprintf( translatePluralWithContext( "victory condition", "Capture the Relic (%(min)s minute)", "Capture the Relic (%(min)s minutes)", - g_GameAttributes.settings.RelicDuration + relicDuration ), - { "min": g_GameAttributes.settings.RelicDuration } - ); + { "min": relicDuration }); + } titles.push({ "label": title, @@ -226,7 +230,7 @@ if (isCaptureTheRelic) titles.push({ "label": translate("Relic Count"), - "value": g_GameAttributes.settings.RelicCount + "value": Math.round(g_GameAttributes.settings.RelicCount) }); if (victoryCondition.Name == "regicide") @@ -271,16 +275,17 @@ "value": translate("If one player wins, his or her allies win too. If one group of allies remains, they win.") }); + let ceasefire = Math.round(g_GameAttributes.settings.Ceasefire); titles.push({ "label": translate("Ceasefire"), "value": - g_GameAttributes.settings.Ceasefire == 0 ? + ceasefire == 0 ? translate("disabled") : sprintf(translatePlural( "For the first minute, other players will stay neutral.", "For the first %(min)s minutes, other players will stay neutral.", - g_GameAttributes.settings.Ceasefire), - { "min": g_GameAttributes.settings.Ceasefire }) + ceasefire), + { "min": ceasefire }) }); if (g_GameAttributes.map == "random") Index: ps/trunk/binaries/data/mods/public/gui/common/settings.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/common/settings.js +++ ps/trunk/binaries/data/mods/public/gui/common/settings.js @@ -38,8 +38,6 @@ "AIDescriptions": loadAIDescriptions(), "AIDifficulties": loadAIDifficulties(), "AIBehaviors": loadAIBehaviors(), - "Ceasefire": loadCeasefire(), - "VictoryDurations": loadVictoryDuration(), "GameSpeeds": loadSettingValuesFile("game_speeds.json"), "MapTypes": loadMapTypes(), "MapSizes": loadSettingValuesFile("map_sizes.json"), @@ -164,50 +162,6 @@ } /** - * Loads available victory times for victory conditions like Wonder and Capture the Relic. - */ -function loadVictoryDuration() -{ - var jsonFile = "victory_times.json"; - var json = Engine.ReadJSONFile(g_SettingsDirectory + jsonFile); - - if (!json || json.Default === undefined || !json.Times || !Array.isArray(json.Times)) - { - error("Could not load " + jsonFile); - return undefined; - } - - return json.Times.map(duration => ({ - "Duration": duration, - "Default": duration == json.Default, - "Title": sprintf(translatePluralWithContext("victory duration", "%(min)s minute", "%(min)s minutes", duration), { "min": duration }) - })); -} - -/** - * Loads available ceasefire settings. - * - * @returns {Array|undefined} - */ -function loadCeasefire() -{ - var json = Engine.ReadJSONFile(g_SettingsDirectory + "ceasefire.json"); - - if (!json || json.Default === undefined || !json.Times || !Array.isArray(json.Times)) - { - error("Could not load ceasefire.json"); - return undefined; - } - - return json.Times.map(timeout => ({ - "Duration": timeout, - "Default": timeout == json.Default, - "Title": timeout == 0 ? translateWithContext("ceasefire", "No ceasefire") : - sprintf(translatePluralWithContext("ceasefire", "%(minutes)s minute", "%(minutes)s minutes", timeout), { "minutes": timeout }) - })); -} - -/** * Hardcoded, as modding is not supported without major changes. */ function loadMapTypes() Index: ps/trunk/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/GameSettingControlDropdown.xml =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/GameSettingControlDropdown.xml +++ ps/trunk/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/GameSettingControlDropdown.xml @@ -5,7 +5,7 @@ Index: ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.xml =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.xml +++ ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.xml @@ -10,6 +10,7 @@