Split VictoryDuration in RelicDuration and WonderDuration
As proposed by leper in 35377c51a7
refs #4014
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D874
This was SVN commit r20122.
This commit is contained in:
parent
a46b44e4dc
commit
63ca7ad672
@ -233,9 +233,9 @@ function getGameDescription(extended = false)
|
|||||||
"victory condition",
|
"victory condition",
|
||||||
"Wonder (%(min)s minute)",
|
"Wonder (%(min)s minute)",
|
||||||
"Wonder (%(min)s minutes)",
|
"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";
|
let isCaptureTheRelic = g_VictoryConditions.Name[victoryIdx] == "capture_the_relic";
|
||||||
@ -245,9 +245,9 @@ function getGameDescription(extended = false)
|
|||||||
"victory condition",
|
"victory condition",
|
||||||
"Capture the Relic (%(min)s minute)",
|
"Capture the Relic (%(min)s minute)",
|
||||||
"Capture the Relic (%(min)s minutes)",
|
"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({
|
titles.push({
|
||||||
|
@ -360,7 +360,8 @@ var g_OptionOrderGUI = {
|
|||||||
"gameSpeed",
|
"gameSpeed",
|
||||||
"victoryCondition",
|
"victoryCondition",
|
||||||
"relicCount",
|
"relicCount",
|
||||||
"victoryDuration",
|
"relicDuration",
|
||||||
|
"wonderDuration",
|
||||||
"populationCap",
|
"populationCap",
|
||||||
"startingResources",
|
"startingResources",
|
||||||
"ceasefire",
|
"ceasefire",
|
||||||
@ -598,20 +599,33 @@ var g_Dropdowns = {
|
|||||||
"enabled": () => g_GameAttributes.mapType != "scenario",
|
"enabled": () => g_GameAttributes.mapType != "scenario",
|
||||||
"initOrder": 1000
|
"initOrder": 1000
|
||||||
},
|
},
|
||||||
"victoryDuration": {
|
"relicDuration": {
|
||||||
"title": () => translate("Victory Duration"),
|
"title": () => translate("Relic Duration"),
|
||||||
"tooltip": (hoverIdx) => translate("Number of minutes until the player has won."),
|
"tooltip": (hoverIdx) => translate("Minutes until the player has achieved Relic Victory."),
|
||||||
"labels": () => g_VictoryDurations.Title,
|
"labels": () => g_VictoryDurations.Title,
|
||||||
"ids": () => g_VictoryDurations.Duration,
|
"ids": () => g_VictoryDurations.Duration,
|
||||||
"default": () => g_VictoryDurations.Default,
|
"default": () => g_VictoryDurations.Default,
|
||||||
"defined": () => g_GameAttributes.settings.VictoryDuration !== undefined,
|
"defined": () => g_GameAttributes.settings.RelicDuration !== undefined,
|
||||||
"get": () => g_GameAttributes.settings.VictoryDuration,
|
"get": () => g_GameAttributes.settings.RelicDuration,
|
||||||
"select": (idx) => {
|
"select": (idx) => {
|
||||||
g_GameAttributes.settings.VictoryDuration = g_VictoryDurations.Duration[idx];
|
g_GameAttributes.settings.RelicDuration = g_VictoryDurations.Duration[idx];
|
||||||
},
|
},
|
||||||
"hidden": () =>
|
"hidden": () => g_GameAttributes.settings.GameType != "capture_the_relic",
|
||||||
g_GameAttributes.settings.GameType != "wonder" &&
|
"enabled": () => g_GameAttributes.mapType != "scenario",
|
||||||
g_GameAttributes.settings.GameType != "capture_the_relic",
|
"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",
|
"enabled": () => g_GameAttributes.mapType != "scenario",
|
||||||
"initOrder": 1000
|
"initOrder": 1000
|
||||||
},
|
},
|
||||||
@ -1729,7 +1743,8 @@ function selectMap(name)
|
|||||||
|
|
||||||
if (g_GameAttributes.mapType == "scenario")
|
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.LastManStanding;
|
||||||
delete g_GameAttributes.settings.RegicideGarrison;
|
delete g_GameAttributes.settings.RegicideGarrison;
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ Trigger.prototype.StartCaptureTheRelicCountdown = function(playerAndAllies)
|
|||||||
|
|
||||||
let cmpPlayer = QueryOwnerInterface(this.relics[0], IID_Player);
|
let cmpPlayer = QueryOwnerInterface(this.relics[0], IID_Player);
|
||||||
let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager);
|
let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager);
|
||||||
let captureTheRelicDuration = cmpEndGameManager.GetGameTypeSettings().victoryDuration || 0;
|
let captureTheRelicDuration = cmpEndGameManager.GetGameTypeSettings().relicDuration;
|
||||||
|
|
||||||
let isTeam = playerAndAllies.length > 1;
|
let isTeam = playerAndAllies.length > 1;
|
||||||
this.ownRelicsVictoryMessage = cmpGuiInterface.AddTimeNotification({
|
this.ownRelicsVictoryMessage = cmpGuiInterface.AddTimeNotification({
|
||||||
|
@ -38,7 +38,7 @@ Trigger.prototype.CheckWonderVictory = function(data)
|
|||||||
|
|
||||||
let cmpPlayer = QueryOwnerInterface(ent, IID_Player);
|
let cmpPlayer = QueryOwnerInterface(ent, IID_Player);
|
||||||
let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager);
|
let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager);
|
||||||
let wonderDuration = cmpEndGameManager.GetGameTypeSettings().victoryDuration || 0;
|
let wonderDuration = cmpEndGameManager.GetGameTypeSettings().wonderDuration;
|
||||||
|
|
||||||
messages.otherMessage = cmpGuiInterface.AddTimeNotification({
|
messages.otherMessage = cmpGuiInterface.AddTimeNotification({
|
||||||
"message": markForTranslation("%(_player_)s will win in %(time)s."),
|
"message": markForTranslation("%(_player_)s will win in %(time)s."),
|
||||||
|
@ -4,7 +4,7 @@ Engine.LoadComponentScript("EndGameManager.js");
|
|||||||
let cmpEndGameManager = ConstructComponent(SYSTEM_ENTITY, "EndGameManager");
|
let cmpEndGameManager = ConstructComponent(SYSTEM_ENTITY, "EndGameManager");
|
||||||
|
|
||||||
let playerEnt1 = 1;
|
let playerEnt1 = 1;
|
||||||
let victoryDuration = 2 * 60 * 1000;
|
let wonderDuration = 2 * 60 * 1000;
|
||||||
|
|
||||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||||
"GetNumPlayers": () => 4
|
"GetNumPlayers": () => 4
|
||||||
@ -23,7 +23,7 @@ AddMock(playerEnt1, IID_Player, {
|
|||||||
TS_ASSERT_EQUALS(cmpEndGameManager.skipAlliedVictoryCheck, true);
|
TS_ASSERT_EQUALS(cmpEndGameManager.skipAlliedVictoryCheck, true);
|
||||||
cmpEndGameManager.SetAlliedVictory(true);
|
cmpEndGameManager.SetAlliedVictory(true);
|
||||||
TS_ASSERT_EQUALS(cmpEndGameManager.GetAlliedVictory(), 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_EQUALS(cmpEndGameManager.skipAlliedVictoryCheck, false);
|
||||||
TS_ASSERT(cmpEndGameManager.GetGameType() == "wonder");
|
TS_ASSERT(cmpEndGameManager.GetGameType() == "wonder");
|
||||||
TS_ASSERT_EQUALS(cmpEndGameManager.GetGameTypeSettings().victoryDuration, victoryDuration);
|
TS_ASSERT_EQUALS(cmpEndGameManager.GetGameTypeSettings().wonderDuration, wonderDuration);
|
||||||
|
@ -47,8 +47,10 @@ function LoadMapSettings(settings)
|
|||||||
let gameTypeSettings = {};
|
let gameTypeSettings = {};
|
||||||
if (settings.GameType && settings.GameType == "capture_the_relic")
|
if (settings.GameType && settings.GameType == "capture_the_relic")
|
||||||
gameTypeSettings.relicCount = settings.RelicCount;
|
gameTypeSettings.relicCount = settings.RelicCount;
|
||||||
if (settings.VictoryDuration)
|
if (settings.GameType && settings.GameType == "capture_the_relic")
|
||||||
gameTypeSettings.victoryDuration = settings.VictoryDuration * 60 * 1000;
|
gameTypeSettings.relicDuration = settings.RelicDuration * 60 * 1000;
|
||||||
|
if (settings.GameType && settings.GameType == "wonder")
|
||||||
|
gameTypeSettings.wonderDuration = settings.WonderDuration * 60 * 1000;
|
||||||
if (settings.GameType && settings.GameType == "regicide")
|
if (settings.GameType && settings.GameType == "regicide")
|
||||||
gameTypeSettings.regicideGarrison = settings.RegicideGarrison;
|
gameTypeSettings.regicideGarrison = settings.RegicideGarrison;
|
||||||
if (settings.GameType)
|
if (settings.GameType)
|
||||||
|
Loading…
Reference in New Issue
Block a user