Allow maps to override options. Closes #3646.
Also set sensible defaults for most of the maps and mini games.
This commit is contained in:
@@ -16,10 +16,36 @@ using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using OpenRA.FileFormats;
|
||||
using OpenRA.Network;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA
|
||||
{
|
||||
public class MapOptions
|
||||
{
|
||||
public bool? Cheats;
|
||||
public bool? Crates;
|
||||
public bool? Fog;
|
||||
public bool? Shroud;
|
||||
public bool? FragileAlliances;
|
||||
public bool ConfigurableStartingUnits = true;
|
||||
public string[] Difficulties;
|
||||
|
||||
public void UpdateServerSettings(Session.Global settings)
|
||||
{
|
||||
if (Cheats.HasValue)
|
||||
settings.AllowCheats = Cheats.Value;
|
||||
if (Crates.HasValue)
|
||||
settings.Crates = Crates.Value;
|
||||
if (Fog.HasValue)
|
||||
settings.Fog = Fog.Value;
|
||||
if (Shroud.HasValue)
|
||||
settings.Shroud = Shroud.Value;
|
||||
if (FragileAlliances.HasValue)
|
||||
settings.FragileAlliances = FragileAlliances.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public class Map
|
||||
{
|
||||
[FieldLoader.Ignore] IFolder container;
|
||||
@@ -37,9 +63,20 @@ namespace OpenRA
|
||||
public string Description;
|
||||
public string Author;
|
||||
public string Tileset;
|
||||
public string[] Difficulties;
|
||||
public bool AllowStartUnitConfig = true;
|
||||
|
||||
[FieldLoader.LoadUsing("LoadOptions")]
|
||||
public MapOptions Options;
|
||||
|
||||
static object LoadOptions(MiniYaml y)
|
||||
{
|
||||
var options = new MapOptions();
|
||||
if (y.NodesDict.ContainsKey("Options"))
|
||||
FieldLoader.Load(options, y.NodesDict["Options"]);
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
[FieldLoader.Ignore] public Lazy<Dictionary<string, ActorReference>> Actors;
|
||||
|
||||
public int PlayerCount { get { return Players.Count(p => p.Value.Playable); } }
|
||||
@@ -177,7 +214,7 @@ namespace OpenRA
|
||||
"Description",
|
||||
"Author",
|
||||
"Tileset",
|
||||
"Difficulties",
|
||||
"Options",
|
||||
"MapSize",
|
||||
"Bounds",
|
||||
"UseAsShellmap",
|
||||
|
||||
@@ -309,6 +309,12 @@ namespace OpenRA.Mods.RA.Server
|
||||
return true;
|
||||
}
|
||||
|
||||
if (server.Map.Options.FragileAlliances.HasValue)
|
||||
{
|
||||
server.SendOrderTo(conn, "Message", "Map has disabled alliance configuration");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool.TryParse(s, out server.lobbyInfo.GlobalSettings.FragileAlliances);
|
||||
server.SyncLobbyInfo();
|
||||
return true;
|
||||
@@ -322,6 +328,12 @@ namespace OpenRA.Mods.RA.Server
|
||||
return true;
|
||||
}
|
||||
|
||||
if (server.Map.Options.Cheats.HasValue)
|
||||
{
|
||||
server.SendOrderTo(conn, "Message", "Map has disabled cheat configuration");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool.TryParse(s, out server.lobbyInfo.GlobalSettings.AllowCheats);
|
||||
server.SyncLobbyInfo();
|
||||
return true;
|
||||
@@ -335,6 +347,12 @@ namespace OpenRA.Mods.RA.Server
|
||||
return true;
|
||||
}
|
||||
|
||||
if (server.Map.Options.Shroud.HasValue)
|
||||
{
|
||||
server.SendOrderTo(conn, "Message", "Map has disabled shroud configuration");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool.TryParse(s, out server.lobbyInfo.GlobalSettings.Shroud);
|
||||
server.SyncLobbyInfo();
|
||||
return true;
|
||||
@@ -348,6 +366,13 @@ namespace OpenRA.Mods.RA.Server
|
||||
return true;
|
||||
}
|
||||
|
||||
if (server.Map.Options.Fog.HasValue)
|
||||
{
|
||||
server.SendOrderTo(conn, "Message", "Map has disabled fog configuration");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool.TryParse(s, out server.lobbyInfo.GlobalSettings.Fog);
|
||||
server.SyncLobbyInfo();
|
||||
return true;
|
||||
@@ -402,6 +427,12 @@ namespace OpenRA.Mods.RA.Server
|
||||
return true;
|
||||
}
|
||||
|
||||
if (server.Map.Options.Crates.HasValue)
|
||||
{
|
||||
server.SendOrderTo(conn, "Message", "Map has disabled crate configuration");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool.TryParse(s, out server.lobbyInfo.GlobalSettings.Crates);
|
||||
server.SyncLobbyInfo();
|
||||
return true;
|
||||
@@ -414,10 +445,11 @@ namespace OpenRA.Mods.RA.Server
|
||||
server.SendOrderTo(conn, "Message", "Only the host can set that option");
|
||||
return true;
|
||||
}
|
||||
if ((server.Map.Difficulties == null && s != null) || (server.Map.Difficulties != null && !server.Map.Difficulties.Contains(s)))
|
||||
|
||||
if ((server.Map.Options.Difficulties == null && s != null) || (server.Map.Options.Difficulties != null && !server.Map.Options.Difficulties.Contains(s)))
|
||||
{
|
||||
server.SendOrderTo(conn, "Message", "Unsupported difficulty selected: {0}".F(s));
|
||||
server.SendOrderTo(conn, "Message", "Supported difficulties: {0}".F(server.Map.Difficulties.JoinWith(",")));
|
||||
server.SendOrderTo(conn, "Message", "Supported difficulties: {0}".F(server.Map.Options.Difficulties.JoinWith(",")));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -434,7 +466,7 @@ namespace OpenRA.Mods.RA.Server
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!server.Map.AllowStartUnitConfig)
|
||||
if (!server.Map.Options.ConfigurableStartingUnits)
|
||||
{
|
||||
server.SendOrderTo(conn, "Message", "Map has disabled start unit configuration");
|
||||
return true;
|
||||
@@ -636,14 +668,16 @@ namespace OpenRA.Mods.RA.Server
|
||||
.Select(p => MakeSlotFromPlayerReference(p.Value))
|
||||
.Where(s => s != null)
|
||||
.ToDictionary(s => s.PlayerReference, s => s);
|
||||
|
||||
server.Map.Options.UpdateServerSettings(server.lobbyInfo.GlobalSettings);
|
||||
}
|
||||
|
||||
static void SetDefaultDifficulty(S server)
|
||||
{
|
||||
if (server.Map.Difficulties != null && server.Map.Difficulties.Any())
|
||||
if (server.Map.Options.Difficulties != null && server.Map.Options.Difficulties.Any())
|
||||
{
|
||||
if (!server.Map.Difficulties.Contains(server.lobbyInfo.GlobalSettings.Difficulty))
|
||||
server.lobbyInfo.GlobalSettings.Difficulty = server.Map.Difficulties.First();
|
||||
if (!server.Map.Options.Difficulties.Contains(server.lobbyInfo.GlobalSettings.Difficulty))
|
||||
server.lobbyInfo.GlobalSettings.Difficulty = server.Map.Options.Difficulties.First();
|
||||
}
|
||||
else server.lobbyInfo.GlobalSettings.Difficulty = null;
|
||||
}
|
||||
|
||||
@@ -272,7 +272,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
if (allowCheats != null)
|
||||
{
|
||||
allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats;
|
||||
allowCheats.IsDisabled = configurationDisabled;
|
||||
allowCheats.IsDisabled = () => Map.Options.Cheats.HasValue || configurationDisabled();
|
||||
allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||
"allowcheats {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllowCheats)));
|
||||
}
|
||||
@@ -281,7 +281,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
if (crates != null)
|
||||
{
|
||||
crates.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Crates;
|
||||
crates.IsDisabled = configurationDisabled;
|
||||
crates.IsDisabled = () => Map.Options.Crates.HasValue || configurationDisabled();
|
||||
crates.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||
"crates {0}".F(!orderManager.LobbyInfo.GlobalSettings.Crates)));
|
||||
}
|
||||
@@ -290,7 +290,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
if (fragileAlliance != null)
|
||||
{
|
||||
fragileAlliance.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.FragileAlliances;
|
||||
fragileAlliance.IsDisabled = configurationDisabled;
|
||||
fragileAlliance.IsDisabled = () => Map.Options.FragileAlliances.HasValue || configurationDisabled();
|
||||
fragileAlliance.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||
"fragilealliance {0}".F(!orderManager.LobbyInfo.GlobalSettings.FragileAlliances)));
|
||||
};
|
||||
@@ -298,12 +298,12 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
var difficulty = optionsBin.GetOrNull<DropDownButtonWidget>("DIFFICULTY_DROPDOWNBUTTON");
|
||||
if (difficulty != null)
|
||||
{
|
||||
difficulty.IsVisible = () => Map != null && Map.Difficulties != null && Map.Difficulties.Any();
|
||||
difficulty.IsVisible = () => Map.Options.Difficulties != null && Map.Options.Difficulties.Any();
|
||||
difficulty.IsDisabled = configurationDisabled;
|
||||
difficulty.GetText = () => orderManager.LobbyInfo.GlobalSettings.Difficulty;
|
||||
difficulty.OnMouseDown = _ =>
|
||||
{
|
||||
var options = Map.Difficulties.Select(d => new DropDownOption
|
||||
var options = Map.Options.Difficulties.Select(d => new DropDownOption
|
||||
{
|
||||
Title = d,
|
||||
IsSelected = () => orderManager.LobbyInfo.GlobalSettings.Difficulty == d,
|
||||
@@ -336,7 +336,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
.Select(a => a.Class).Distinct();
|
||||
|
||||
startingUnits.IsDisabled = configurationDisabled;
|
||||
startingUnits.IsVisible = () => Map.AllowStartUnitConfig;
|
||||
startingUnits.IsVisible = () => Map.Options.ConfigurableStartingUnits;
|
||||
startingUnits.GetText = () => className(orderManager.LobbyInfo.GlobalSettings.StartingUnitsClass);
|
||||
startingUnits.OnMouseDown = _ =>
|
||||
{
|
||||
@@ -364,7 +364,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
if (enableShroud != null)
|
||||
{
|
||||
enableShroud.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Shroud;
|
||||
enableShroud.IsDisabled = configurationDisabled;
|
||||
enableShroud.IsDisabled = () => Map.Options.Shroud.HasValue || configurationDisabled();
|
||||
enableShroud.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||
"shroud {0}".F(!orderManager.LobbyInfo.GlobalSettings.Shroud)));
|
||||
};
|
||||
@@ -373,7 +373,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
if (enableFog != null)
|
||||
{
|
||||
enableFog.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Fog;
|
||||
enableFog.IsDisabled = configurationDisabled;
|
||||
enableFog.IsDisabled = () => Map.Options.Fog.HasValue || configurationDisabled();
|
||||
enableFog.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||
"fog {0}".F(!orderManager.LobbyInfo.GlobalSettings.Fog)));
|
||||
};
|
||||
|
||||
@@ -20,7 +20,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
|
||||
AllowStartUnitConfig: False
|
||||
Options:
|
||||
Crates: false
|
||||
Fog: false
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@BadGuy:
|
||||
|
||||
@@ -20,7 +20,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
|
||||
AllowStartUnitConfig: False
|
||||
Options:
|
||||
Crates: false
|
||||
Fog: false
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
|
||||
Binary file not shown.
BIN
mods/cnc/maps/the-hot-box/map.bin
Executable file
BIN
mods/cnc/maps/the-hot-box/map.bin
Executable file
Binary file not shown.
245
mods/cnc/maps/the-hot-box/map.yaml
Executable file
245
mods/cnc/maps/the-hot-box/map.yaml
Executable file
@@ -0,0 +1,245 @@
|
||||
Selectable: True
|
||||
|
||||
MapFormat: 5
|
||||
|
||||
Title: The Hot Box
|
||||
|
||||
Description: Drop Zone for CnC
|
||||
|
||||
Author: Dan9550
|
||||
|
||||
Tileset: DESERT
|
||||
|
||||
MapSize: 64,64
|
||||
|
||||
Bounds: 16,16,36,36
|
||||
|
||||
UseAsShellmap: False
|
||||
|
||||
Type: Drop Zone
|
||||
|
||||
Options:
|
||||
Fog: false
|
||||
Shroud: false
|
||||
Crates: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
OwnsWorld: True
|
||||
NonCombatant: True
|
||||
Race: gdi
|
||||
PlayerReference@Multi0:
|
||||
Name: Multi0
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi9,Multi1,Multi2,Multi3,Multi4,Multi5,Multi6,Multi7,Multi8
|
||||
PlayerReference@Multi1:
|
||||
Name: Multi1
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi2,Multi3,Multi4,Multi5,Multi6,Multi7,Multi8,Multi9
|
||||
PlayerReference@Multi2:
|
||||
Name: Multi2
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi3,Multi4,Multi5,Multi6,Multi7,Multi8,Multi9
|
||||
PlayerReference@Multi3:
|
||||
Name: Multi3
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi2,Multi4,Multi5,Multi6,Multi7,Multi8,Multi9
|
||||
PlayerReference@Multi4:
|
||||
Name: Multi4
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi2,Multi3,Multi5,Multi6,Multi7,Multi8,Multi9
|
||||
PlayerReference@Multi5:
|
||||
Name: Multi5
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi2,Multi3,Multi4,Multi6,Multi7,Multi8,Multi9
|
||||
PlayerReference@Multi6:
|
||||
Name: Multi6
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi2,Multi3,Multi4,Multi5,Multi7,Multi8,Multi9
|
||||
PlayerReference@Multi7:
|
||||
Name: Multi7
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi2,Multi3,Multi4,Multi5,Multi6,Multi8,Multi9
|
||||
PlayerReference@Multi8:
|
||||
Name: Multi8
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi2,Multi3,Multi4,Multi5,Multi6,Multi7,Multi9
|
||||
PlayerReference@Multi9:
|
||||
Name: Multi9
|
||||
Playable: True
|
||||
LockRace: True
|
||||
Race: nod
|
||||
Enemies: Multi0,Multi1,Multi2,Multi3,Multi4,Multi5,Multi6,Multi7,Multi8
|
||||
PlayerReference@Creeps:
|
||||
Name: Creeps
|
||||
NonCombatant: True
|
||||
Race: gdi
|
||||
Enemies: Multi0,Multi1,Multi2,Multi3,Multi4,Multi5,Multi6,Multi7,Multi8,Multi9
|
||||
|
||||
Actors:
|
||||
Actor0: apc
|
||||
Location: 40,17
|
||||
Owner: Multi0
|
||||
Actor1: apc
|
||||
Location: 42,17
|
||||
Owner: Multi1
|
||||
Actor2: apc
|
||||
Location: 40,19
|
||||
Owner: Multi2
|
||||
Actor3: apc
|
||||
Location: 46,21
|
||||
Owner: Multi3
|
||||
Actor4: apc
|
||||
Location: 48,21
|
||||
Owner: Multi4
|
||||
Actor5: apc
|
||||
Location: 50,19
|
||||
Owner: Multi5
|
||||
Actor6: apc
|
||||
Location: 50,21
|
||||
Owner: Multi6
|
||||
Actor7: apc
|
||||
Location: 50,17
|
||||
Owner: Multi7
|
||||
Actor8: apc
|
||||
Location: 39,21
|
||||
Owner: Multi8
|
||||
Actor9: apc
|
||||
Location: 47,17
|
||||
Owner: Multi9
|
||||
Actor10: tc02
|
||||
Location: 22,43
|
||||
Owner: Neutral
|
||||
Actor11: v20
|
||||
Location: 44,38
|
||||
Owner: Neutral
|
||||
Actor12: v34
|
||||
Location: 28,38
|
||||
Owner: Neutral
|
||||
Actor13: v35
|
||||
Location: 29,39
|
||||
Owner: Neutral
|
||||
Actor14: v36
|
||||
Location: 38,35
|
||||
Owner: Neutral
|
||||
Actor15: v23
|
||||
Location: 46,39
|
||||
Owner: Neutral
|
||||
Actor16: v27
|
||||
Location: 22,28
|
||||
Owner: Neutral
|
||||
Actor17: t02
|
||||
Location: 26,26
|
||||
Owner: Neutral
|
||||
Actor18: t07
|
||||
Location: 26,27
|
||||
Owner: Neutral
|
||||
Actor19: tc04
|
||||
Location: 25,16
|
||||
Owner: Neutral
|
||||
Actor20: tc03
|
||||
Location: 26,17
|
||||
Owner: Neutral
|
||||
Actor21: mpspawn
|
||||
Location: 40,18
|
||||
Owner: Neutral
|
||||
Actor22: mpspawn
|
||||
Location: 42,18
|
||||
Owner: Neutral
|
||||
Actor23: mpspawn
|
||||
Location: 40,20
|
||||
Owner: Neutral
|
||||
Actor24: mpspawn
|
||||
Location: 39,22
|
||||
Owner: Neutral
|
||||
Actor25: mpspawn
|
||||
Location: 47,18
|
||||
Owner: Neutral
|
||||
Actor26: mpspawn
|
||||
Location: 50,18
|
||||
Owner: Neutral
|
||||
Actor27: mpspawn
|
||||
Location: 50,20
|
||||
Owner: Neutral
|
||||
Actor28: mpspawn
|
||||
Location: 50,22
|
||||
Owner: Neutral
|
||||
Actor29: mpspawn
|
||||
Location: 48,22
|
||||
Owner: Neutral
|
||||
Actor30: mpspawn
|
||||
Location: 46,22
|
||||
Owner: Neutral
|
||||
|
||||
Smudges:
|
||||
|
||||
Rules:
|
||||
World:
|
||||
CrateSpawner:
|
||||
Maximum: 4
|
||||
SpawnInterval: 5
|
||||
-SpawnMPUnits:
|
||||
-MPStartLocations:
|
||||
CRATE:
|
||||
-HealUnitsCrateAction:
|
||||
-LevelUpCrateAction:
|
||||
-GiveMcvCrateAction:
|
||||
-RevealMapCrateAction:
|
||||
-HideMapCrateAction:
|
||||
-CloakCrateAction:
|
||||
-ExplodeCrateAction@nuke:
|
||||
-ExplodeCrateAction@boom:
|
||||
-ExplodeCrateAction@fire:
|
||||
-SupportPowerCrateAction@parabombs:
|
||||
-GiveCashCrateAction:
|
||||
GiveUnitCrateAction@stnk:
|
||||
SelectionShares: 4
|
||||
Unit: stnk
|
||||
GiveUnitCrateAction@bike:
|
||||
SelectionShares: 6
|
||||
Unit: bike
|
||||
GiveUnitCrateAction@htnk:
|
||||
SelectionShares: 1
|
||||
Unit: htnk
|
||||
GiveUnitCrateAction@e5:
|
||||
SelectionShares: 1
|
||||
Unit: e5
|
||||
GiveUnitCrateAction@e1:
|
||||
SelectionShares: 1
|
||||
Unit: e1
|
||||
APC:
|
||||
Health:
|
||||
HP: 1000
|
||||
RevealsShroud:
|
||||
Range: 40
|
||||
MustBeDestroyed:
|
||||
-AttackMove:
|
||||
|
||||
Sequences:
|
||||
|
||||
Weapons:
|
||||
|
||||
Voices:
|
||||
|
||||
Notifications:
|
||||
@@ -18,6 +18,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Minigame
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
|
||||
@@ -10,15 +10,20 @@ Author: Nuke'm Bro.
|
||||
|
||||
Tileset: TEMPERAT
|
||||
|
||||
Difficulties: Easy,Normal,Hard
|
||||
|
||||
MapSize: 96,64
|
||||
|
||||
Bounds: 4,4,88,56
|
||||
|
||||
UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
Type: Minigame
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
Difficulties: Easy,Normal,Hard
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
|
||||
@@ -16,7 +16,13 @@ Bounds: 2,2,76,76
|
||||
|
||||
UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
Type: Minigame
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
|
||||
@@ -20,6 +20,11 @@ UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
Difficulties: Easy, Normal
|
||||
|
||||
Players:
|
||||
|
||||
@@ -20,6 +20,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
|
||||
@@ -20,6 +20,11 @@ UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
Difficulties: Easy, Normal, Hard
|
||||
|
||||
Players:
|
||||
|
||||
@@ -12,6 +12,11 @@ Author: Scott_NZ
|
||||
|
||||
Tileset: TEMPERAT
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
Difficulties: Easy,Normal,Hard
|
||||
|
||||
MapSize: 128,128
|
||||
|
||||
@@ -18,6 +18,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Minigame
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
|
||||
@@ -16,7 +16,14 @@ Bounds: 16,16,32,32
|
||||
|
||||
UseAsShellmap: False
|
||||
|
||||
Type: Minigame
|
||||
Type: Drop Zone
|
||||
|
||||
Options:
|
||||
Fog: false
|
||||
Shroud: false
|
||||
Crates: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
|
||||
@@ -16,7 +16,14 @@ Bounds: 16,16,32,32
|
||||
|
||||
UseAsShellmap: False
|
||||
|
||||
Type: Minigame
|
||||
Type: Drop Zone
|
||||
|
||||
Options:
|
||||
Fog: false
|
||||
Shroud: false
|
||||
Crates: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
|
||||
@@ -16,7 +16,14 @@ Bounds: 16,16,32,32
|
||||
|
||||
UseAsShellmap: False
|
||||
|
||||
Type: Minigame
|
||||
Type: Drop Zone
|
||||
|
||||
Options:
|
||||
Fog: false
|
||||
Shroud: false
|
||||
Crates: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
|
||||
@@ -20,6 +20,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Greece:
|
||||
Name: Greece
|
||||
|
||||
@@ -20,6 +20,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Campaign
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@GoodGuy:
|
||||
Name: GoodGuy
|
||||
|
||||
@@ -18,6 +18,12 @@ UseAsShellmap: False
|
||||
|
||||
Type: Minigame
|
||||
|
||||
Options:
|
||||
Fog: true
|
||||
Shroud: true
|
||||
FragileAlliances: false
|
||||
ConfigurableStartingUnits: false
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
|
||||
Reference in New Issue
Block a user