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 @@ -233,9 +233,9 @@ "victory condition", "Wonder (%(min)s minute)", "Wonder (%(min)s minutes)", - g_GameAttributes.settings.VictoryDuration + g_GameAttributes.settings.WonderDuration ), - { "min": g_GameAttributes.settings.VictoryDuration } + { "min": g_GameAttributes.settings.WonderDuration } ); let isCaptureTheRelic = g_VictoryConditions.Name[victoryIdx] == "capture_the_relic"; @@ -245,9 +245,9 @@ "victory condition", "Capture the Relic (%(min)s minute)", "Capture the Relic (%(min)s minutes)", - g_GameAttributes.settings.VictoryDuration + g_GameAttributes.settings.RelicDuration ), - { "min": g_GameAttributes.settings.VictoryDuration } + { "min": g_GameAttributes.settings.RelicDuration } ); titles.push({ Index: ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -360,7 +360,8 @@ "gameSpeed", "victoryCondition", "relicCount", - "victoryDuration", + "relicDuration", + "wonderDuration", "populationCap", "startingResources", "ceasefire", @@ -598,20 +599,33 @@ "enabled": () => g_GameAttributes.mapType != "scenario", "initOrder": 1000 }, - "victoryDuration": { - "title": () => translate("Victory Duration"), - "tooltip": (hoverIdx) => translate("Number of minutes until the player has won."), + "relicDuration": { + "title": () => translate("Relic Duration"), + "tooltip": (hoverIdx) => translate("Minutes until the player has achieved Relic Victory."), "labels": () => g_VictoryDurations.Title, "ids": () => g_VictoryDurations.Duration, "default": () => g_VictoryDurations.Default, - "defined": () => g_GameAttributes.settings.VictoryDuration !== undefined, - "get": () => g_GameAttributes.settings.VictoryDuration, + "defined": () => g_GameAttributes.settings.RelicDuration !== undefined, + "get": () => g_GameAttributes.settings.RelicDuration, "select": (idx) => { - g_GameAttributes.settings.VictoryDuration = g_VictoryDurations.Duration[idx]; + g_GameAttributes.settings.RelicDuration = g_VictoryDurations.Duration[idx]; }, - "hidden": () => - g_GameAttributes.settings.GameType != "wonder" && - g_GameAttributes.settings.GameType != "capture_the_relic", + "hidden": () => g_GameAttributes.settings.GameType != "capture_the_relic", + "enabled": () => g_GameAttributes.mapType != "scenario", + "initOrder": 1000 + }, + "wonderDuration": { + "title": () => translate("Wonder Duration"), + "tooltip": (hoverIdx) => translate("Minutes until the player has achieved Wonder Victory."), + "labels": () => g_VictoryDurations.Title, + "ids": () => g_VictoryDurations.Duration, + "default": () => g_VictoryDurations.Default, + "defined": () => g_GameAttributes.settings.WonderDuration !== undefined, + "get": () => g_GameAttributes.settings.WonderDuration, + "select": (idx) => { + g_GameAttributes.settings.WonderDuration = g_VictoryDurations.Duration[idx]; + }, + "hidden": () => g_GameAttributes.settings.GameType != "wonder", "enabled": () => g_GameAttributes.mapType != "scenario", "initOrder": 1000 }, @@ -1729,7 +1743,8 @@ if (g_GameAttributes.mapType == "scenario") { - delete g_GameAttributes.settings.VictoryDuration; + delete g_GameAttributes.settings.RelicDuration; + delete g_GameAttributes.settings.WonderDuration; delete g_GameAttributes.settings.LastManStanding; delete g_GameAttributes.settings.RegicideGarrison; } Index: ps/trunk/binaries/data/mods/public/maps/scripts/CaptureTheRelic.js =================================================================== --- ps/trunk/binaries/data/mods/public/maps/scripts/CaptureTheRelic.js +++ ps/trunk/binaries/data/mods/public/maps/scripts/CaptureTheRelic.js @@ -122,7 +122,7 @@ let cmpPlayer = QueryOwnerInterface(this.relics[0], IID_Player); let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager); - let captureTheRelicDuration = cmpEndGameManager.GetGameTypeSettings().victoryDuration || 0; + let captureTheRelicDuration = cmpEndGameManager.GetGameTypeSettings().relicDuration; let isTeam = playerAndAllies.length > 1; this.ownRelicsVictoryMessage = cmpGuiInterface.AddTimeNotification({ Index: ps/trunk/binaries/data/mods/public/maps/scripts/WonderVictory.js =================================================================== --- ps/trunk/binaries/data/mods/public/maps/scripts/WonderVictory.js +++ ps/trunk/binaries/data/mods/public/maps/scripts/WonderVictory.js @@ -38,7 +38,7 @@ let cmpPlayer = QueryOwnerInterface(ent, IID_Player); let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager); - let wonderDuration = cmpEndGameManager.GetGameTypeSettings().victoryDuration || 0; + let wonderDuration = cmpEndGameManager.GetGameTypeSettings().wonderDuration; messages.otherMessage = cmpGuiInterface.AddTimeNotification({ "message": markForTranslation("%(_player_)s will win in %(time)s."), Index: ps/trunk/binaries/data/mods/public/simulation/components/tests/test_EndGameManager.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/components/tests/test_EndGameManager.js +++ ps/trunk/binaries/data/mods/public/simulation/components/tests/test_EndGameManager.js @@ -4,7 +4,7 @@ let cmpEndGameManager = ConstructComponent(SYSTEM_ENTITY, "EndGameManager"); let playerEnt1 = 1; -let victoryDuration = 2 * 60 * 1000; +let wonderDuration = 2 * 60 * 1000; AddMock(SYSTEM_ENTITY, IID_PlayerManager, { "GetNumPlayers": () => 4 @@ -23,7 +23,7 @@ TS_ASSERT_EQUALS(cmpEndGameManager.skipAlliedVictoryCheck, true); cmpEndGameManager.SetAlliedVictory(true); TS_ASSERT_EQUALS(cmpEndGameManager.GetAlliedVictory(), true); -cmpEndGameManager.SetGameType("wonder", { "victoryDuration": victoryDuration }); +cmpEndGameManager.SetGameType("wonder", { "wonderDuration": wonderDuration }); TS_ASSERT_EQUALS(cmpEndGameManager.skipAlliedVictoryCheck, false); TS_ASSERT(cmpEndGameManager.GetGameType() == "wonder"); -TS_ASSERT_EQUALS(cmpEndGameManager.GetGameTypeSettings().victoryDuration, victoryDuration); +TS_ASSERT_EQUALS(cmpEndGameManager.GetGameTypeSettings().wonderDuration, wonderDuration); Index: ps/trunk/binaries/data/mods/public/simulation/helpers/Setup.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/helpers/Setup.js +++ ps/trunk/binaries/data/mods/public/simulation/helpers/Setup.js @@ -47,8 +47,10 @@ let gameTypeSettings = {}; if (settings.GameType && settings.GameType == "capture_the_relic") gameTypeSettings.relicCount = settings.RelicCount; - if (settings.VictoryDuration) - gameTypeSettings.victoryDuration = settings.VictoryDuration * 60 * 1000; + if (settings.GameType && settings.GameType == "capture_the_relic") + gameTypeSettings.relicDuration = settings.RelicDuration * 60 * 1000; + if (settings.GameType && settings.GameType == "wonder") + gameTypeSettings.wonderDuration = settings.WonderDuration * 60 * 1000; if (settings.GameType && settings.GameType == "regicide") gameTypeSettings.regicideGarrison = settings.RegicideGarrison; if (settings.GameType)