Allow starting by command with sandbox AI.

|| takes 0 as false; ?? doesn't.

Patch by: @Freagarach
Accepted by: @sera, @Langbart
Fixes: #6771

Differential Revision: https://code.wildfiregames.com/D4975
This was SVN commit r27637.
This commit is contained in:
Stan
2023-05-10 15:34:38 +00:00
parent 91509290d6
commit 173e016172
3 changed files with 3 additions and 7 deletions
@@ -48,7 +48,7 @@ GameSettings.prototype.Attributes.PlayerAI = class PlayerAI extends GameSetting
}
this.set(+i, {
"bot": pData[i].AI,
"difficulty": pData[i].AIDiff || +Engine.ConfigDB_GetValue("user", "gui.gamesetup.aidifficulty"),
"difficulty": pData[i].AIDiff ?? +Engine.ConfigDB_GetValue("user", "gui.gamesetup.aidifficulty"),
"behavior": pData[i].AIBehavior || Engine.ConfigDB_GetValue("user", "gui.gamesetup.aibehavior"),
});
}
+1 -1
View File
@@ -10,7 +10,7 @@ Autostart:
-autostart="TYPEDIR/MAPNAME" enables autostart and sets MAPNAME; TYPEDIR is skirmishes, scenarios, or random
-autostart-seed=SEED sets randomization seed value (default 0, use -1 for random)
-autostart-ai=PLAYER:AI sets the AI for PLAYER (e.g. 2:petra)
-autostart-aidiff=PLAYER:DIFF sets the DIFFiculty of PLAYER's AI (0: sandbox, 5: very hard)
-autostart-aidiff=PLAYER:DIFF sets the DIFFiculty of PLAYER's AI (default 3, 0: sandbox, 5: very hard)
-autostart-aiseed=AISEED sets the seed used for the AI random generator (default 0, use -1 for random)
-autostart-player=NUMBER sets the playerID in non-networked games (default 1, use -1 for observer)
-autostart-civ=PLAYER:CIV sets PLAYER's civilisation to CIV (skirmish and random maps only). Use random for a random civ.
+1 -5
View File
@@ -803,7 +803,7 @@ CParamNode GetTemplate(const std::string& templateName)
* -autostart-seed=SEED sets randomization seed value (default 0, use -1 for random)
* -autostart-ai=PLAYER:AI sets the AI for PLAYER (e.g. 2:petra)
* -autostart-aidiff=PLAYER:DIFF sets the DIFFiculty of PLAYER's AI
* (0: sandbox, 5: very hard)
* (default 3, 0: sandbox, 5: very hard)
* -autostart-aiseed=AISEED sets the seed used for the AI random
* generator (default 0, use -1 for random)
* -autostart-player=NUMBER sets the playerID in non-networked games (default 1, use -1 for observer)
@@ -843,12 +843,8 @@ CParamNode GetTemplate(const std::string& templateName)
* "Alice" joins the match as player 2:
* -autostart-client=127.0.0.1 -autostart-playername="Alice"
* The players use the developer overlay to control players.
*
* 2) Load Alpine Lakes random map with random seed, 2 players (Athens and Britons), and player 2 is PetraBot:
* -autostart="random/alpine_lakes" -autostart-seed=-1 -autostart-players=2 -autostart-civ=1:athen -autostart-civ=2:brit -autostart-ai=2:petra
*
* 3) Observe the PetraBot on a triggerscript map:
* -autostart="random/jebel_barkal" -autostart-seed=-1 -autostart-players=2 -autostart-civ=1:athen -autostart-civ=2:brit -autostart-ai=1:petra -autostart-ai=2:petra -autostart-player=-1
*/
bool Autostart(const CmdLineArgs& args)
{