From 2029f34c864bc8c7e00af8990f6b63f31a53ae5c Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Tue, 1 Mar 2016 21:42:21 +0000 Subject: [PATCH 01/21] Remove redundant Rules definition from ImportLegacyMapCommand. --- OpenRA.Game/Map/Map.cs | 4 ++-- .../UtilityCommands/ImportLegacyMapCommand.cs | 16 +++++++--------- .../Widgets/Logic/Editor/NewMapLogic.cs | 2 +- OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs | 2 +- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 33518de4ff..c873bf9502 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -858,10 +858,10 @@ namespace OpenRA ProjectedCellBounds = new ProjectedCellRegion(this, tl, br); } - public void FixOpenAreas(Ruleset rules) + public void FixOpenAreas() { var r = new Random(); - var tileset = rules.TileSets[Tileset]; + var tileset = Rules.TileSets[Tileset]; for (var j = Bounds.Top; j < Bounds.Bottom; j++) { diff --git a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs index 099583d101..4ac7bb7dc0 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs @@ -33,7 +33,6 @@ namespace OpenRA.Mods.Common.UtilityCommands public ModData ModData; public Map Map; - public Ruleset Rules; public List Players = new List(); public MapPlayers MapPlayers; @@ -49,7 +48,6 @@ namespace OpenRA.Mods.Common.UtilityCommands // HACK: The engine code assumes that Game.modData is set. Game.ModData = modData; - Rules = modData.RulesetCache.Load(modData.DefaultFileSystem); var filename = args[1]; using (var stream = modData.DefaultFileSystem.Open(filename)) @@ -62,7 +60,7 @@ namespace OpenRA.Mods.Common.UtilityCommands ValidateMapFormat(format); var tileset = GetTileset(mapSection); - Map = new Map(modData, Rules.TileSets[tileset], MapSize, MapSize) + Map = new Map(modData, modData.DefaultRules.TileSets[tileset], MapSize, MapSize) { Title = basic.GetValue("Name", Path.GetFileNameWithoutExtension(filename)), Author = "Westwood Studios" @@ -93,7 +91,7 @@ namespace OpenRA.Mods.Common.UtilityCommands Map.PlayerDefinitions = MapPlayers.ToMiniYaml(); } - Map.FixOpenAreas(Rules); + Map.FixOpenAreas(); var dest = Path.GetFileNameWithoutExtension(args[1]) + ".oramap"; var package = new ZipFile(modData.ModFiles, dest, true); @@ -180,9 +178,9 @@ namespace OpenRA.Mods.Common.UtilityCommands public virtual void ReadActors(IniFile file) { - LoadActors(file, "STRUCTURES", Players, MapSize, Rules, Map); - LoadActors(file, "UNITS", Players, MapSize, Rules, Map); - LoadActors(file, "INFANTRY", Players, MapSize, Rules, Map); + LoadActors(file, "STRUCTURES", Players, MapSize, Map); + LoadActors(file, "UNITS", Players, MapSize, Map); + LoadActors(file, "INFANTRY", Players, MapSize, Map); } public abstract void LoadPlayer(IniFile file, string section); @@ -298,7 +296,7 @@ namespace OpenRA.Mods.Common.UtilityCommands mapPlayers.Players[section] = pr; } - public static void LoadActors(IniFile file, string section, List players, int mapSize, Ruleset rules, Map map) + public static void LoadActors(IniFile file, string section, List players, int mapSize, Map map) { foreach (var s in file.GetSection(section, true)) { @@ -334,7 +332,7 @@ namespace OpenRA.Mods.Common.UtilityCommands var actorCount = map.ActorDefinitions.Count; - if (!rules.Actors.ContainsKey(parts[1].ToLowerInvariant())) + if (!map.Rules.Actors.ContainsKey(parts[1].ToLowerInvariant())) Console.WriteLine("Ignoring unknown actor type: `{0}`".F(parts[1].ToLowerInvariant())); else map.ActorDefinitions.Add(new MiniYamlNode("Actor" + actorCount++, actor.Save())); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs index 53b4241590..45fe326b1e 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs @@ -63,7 +63,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic map.SetBounds(tl, br); map.PlayerDefinitions = new MapPlayers(map.Rules, map.SpawnPoints.Value.Length).ToMiniYaml(); - map.FixOpenAreas(world.Map.Rules); + map.FixOpenAreas(); Action afterSave = uid => { diff --git a/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs b/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs index 77b09d7ead..ed3b5840a2 100644 --- a/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs +++ b/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs @@ -226,7 +226,7 @@ namespace OpenRA.Mods.RA.UtilityCommands public override void ReadActors(IniFile file) { base.ReadActors(file); - LoadActors(file, "SHIPS", Players, MapSize, Rules, Map); + LoadActors(file, "SHIPS", Players, MapSize, Map); } } } From 6389e9aa5c5c514ee4c5c62401a0463543a16b6c Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 22 Feb 2016 20:59:14 +0000 Subject: [PATCH 02/21] Fix automated map format upgrades. --- .../UtilityCommands/UpgradeMapCommand.cs | 23 ++++++--- .../UtilityCommands/UpgradeModCommand.cs | 49 ++++++++++++++----- 2 files changed, 51 insertions(+), 21 deletions(-) diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs index 2d351c3e7f..3070183e4c 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs @@ -10,6 +10,8 @@ #endregion using System; +using System.Collections.Generic; +using System.Text; using OpenRA.FileSystem; namespace OpenRA.Mods.Common.UtilityCommands @@ -23,13 +25,10 @@ namespace OpenRA.Mods.Common.UtilityCommands return args.Length >= 3; } - [Desc("MAP", "CURRENTENGINE", "Upgrade map rules to the latest engine version.")] - public void Run(ModData modData, string[] args) + public static void UpgradeMap(ModData modData, IReadWritePackage package, int engineDate) { - // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + UpgradeRules.UpgradeMapFormat(modData, package); - var engineDate = Exts.ParseIntegerInvariant(args[2]); if (engineDate < UpgradeRules.MinimumSupportedVersion) { Console.WriteLine("Unsupported engine version. Use the release-{0} utility to update to that version, and then try again", @@ -37,9 +36,6 @@ namespace OpenRA.Mods.Common.UtilityCommands return; } - var package = modData.ModFiles.OpenWritablePackage(args[1]); - UpgradeRules.UpgradeMapFormat(modData, package); - var map = new Map(modData, package); UpgradeRules.UpgradeWeaponRules(engineDate, ref map.WeaponDefinitions, null, 0); UpgradeRules.UpgradeActorRules(engineDate, ref map.RuleDefinitions, null, 0); @@ -47,5 +43,16 @@ namespace OpenRA.Mods.Common.UtilityCommands UpgradeRules.UpgradeActors(engineDate, ref map.ActorDefinitions, null, 0); map.Save(package); } + + [Desc("MAP", "CURRENTENGINE", "Upgrade map rules to the latest engine version.")] + public void Run(ModData modData, string[] args) + { + // HACK: The engine code assumes that Game.modData is set. + Game.ModData = modData; + + var package = modData.ModFiles.OpenWritablePackage(args[1]); + var engineDate = Exts.ParseIntegerInvariant(args[2]); + UpgradeMap(modData, package, engineDate); + } } } diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs index 9b20c83729..407232f721 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs @@ -74,22 +74,45 @@ namespace OpenRA.Mods.Common.UtilityCommands ProcessYaml("Chrome Metrics", modData.Manifest.ChromeMetrics, modData, engineDate, UpgradeRules.UpgradeChromeMetrics); ProcessYaml("Chrome Layout", modData.Manifest.ChromeLayout, modData, engineDate, UpgradeRules.UpgradeChromeLayout); + // The map cache won't be valid if there was a map format upgrade, so walk the map packages manually + // Only upgrade system maps - user maps must be updated manually using --upgrade-map Console.WriteLine("Processing Maps:"); - var mapPreviews = modData.MapCache - .Where(m => m.Status == MapStatus.Available); - - foreach (var p in mapPreviews) + foreach (var kv in modData.Manifest.MapFolders) { - var package = (IReadWritePackage)p.Package; - Console.WriteLine("\t" + package.Name); - UpgradeRules.UpgradeMapFormat(modData, package); + var name = kv.Key; + var classification = string.IsNullOrEmpty(kv.Value) + ? MapClassification.Unknown : Enum.Parse(kv.Value); - var map = new Map(modData, package); - UpgradeRules.UpgradeActorRules(engineDate, ref map.RuleDefinitions, null, 0); - UpgradeRules.UpgradeWeaponRules(engineDate, ref map.WeaponDefinitions, null, 0); - UpgradeRules.UpgradePlayers(engineDate, ref map.PlayerDefinitions, null, 0); - UpgradeRules.UpgradeActors(engineDate, ref map.ActorDefinitions, null, 0); - map.Save(package); + if (classification != MapClassification.System) + continue; + + var optional = name.StartsWith("~"); + if (optional) + name = name.Substring(1); + + try + { + using (var package = (IReadWritePackage)modData.ModFiles.OpenPackage(name)) + { + foreach (var map in package.Contents) + { + try + { + using (var mapPackage = modData.ModFiles.OpenPackage(map, package)) + { + if (mapPackage != null) + UpgradeMapCommand.UpgradeMap(modData, (IReadWritePackage)mapPackage, engineDate); + } + } + catch (Exception e) + { + Console.WriteLine("Failed to upgrade map {0}", map); + Console.WriteLine("Error was: {0}", e.ToString()); + } + } + } + } + catch { } } } } From 5e59a9d1c1804e791f2adfac74f1c101e03b01c3 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 18:12:40 +0000 Subject: [PATCH 03/21] Move ServerStarted notifications into the server thread. --- OpenRA.Game/Server/Server.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OpenRA.Game/Server/Server.cs b/OpenRA.Game/Server/Server.cs index d186f6aeeb..d07f9ed75b 100644 --- a/OpenRA.Game/Server/Server.cs +++ b/OpenRA.Game/Server/Server.cs @@ -156,14 +156,14 @@ namespace OpenRA.Server FieldLoader.Load(LobbyInfo.GlobalSettings, modData.Manifest.LobbyDefaults); - foreach (var t in serverTraits.WithInterface()) - t.ServerStarted(this); - - Log.Write("server", "Initial mod: {0}", ModData.Manifest.Mod.Id); - Log.Write("server", "Initial map: {0}", LobbyInfo.GlobalSettings.Map); - new Thread(_ => { + foreach (var t in serverTraits.WithInterface()) + t.ServerStarted(this); + + Log.Write("server", "Initial mod: {0}", ModData.Manifest.Mod.Id); + Log.Write("server", "Initial map: {0}", LobbyInfo.GlobalSettings.Map); + var timeout = serverTraits.WithInterface().Min(t => t.TickTimeout); for (;;) { From aed8518e040e3e0d5cf7ad27590d14b58d053b16 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 17:52:54 +0000 Subject: [PATCH 04/21] Move cheats option to rules. --- OpenRA.Game/Map/Map.cs | 3 -- OpenRA.Game/Traits/Player/DeveloperMode.cs | 31 ++++++++++++++++++- .../ServerTraits/LobbyCommands.cs | 6 +++- .../Widgets/Logic/Lobby/LobbyLogic.cs | 5 ++- mods/cnc/mod.yaml | 1 - mods/d2k/mod.yaml | 1 - mods/ra/mod.yaml | 1 - mods/ts/mod.yaml | 1 - mods/ts/rules/player.yaml | 1 + 9 files changed, 40 insertions(+), 10 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index c873bf9502..f101d62e41 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -58,7 +58,6 @@ namespace OpenRA public class MapOptions { - public bool? Cheats; public bool? Crates; public bool? Creeps; public bool? Fog; @@ -72,8 +71,6 @@ namespace OpenRA public void UpdateServerSettings(Session.Global settings) { - if (Cheats.HasValue) - settings.AllowCheats = Cheats.Value; if (Crates.HasValue) settings.Crates = Crates.Value; if (Creeps.HasValue) diff --git a/OpenRA.Game/Traits/Player/DeveloperMode.cs b/OpenRA.Game/Traits/Player/DeveloperMode.cs index d74bec2f4f..ac628dc1cb 100644 --- a/OpenRA.Game/Traits/Player/DeveloperMode.cs +++ b/OpenRA.Game/Traits/Player/DeveloperMode.cs @@ -14,17 +14,46 @@ namespace OpenRA.Traits [Desc("Attach this to the player actor.")] public class DeveloperModeInfo : ITraitInfo { + [Desc("Default value of the developer mode checkbox in the lobby.")] + public bool Enabled = false; + + [Desc("Prevent the developer mode state from being changed in the lobby.")] + public bool Locked = false; + + [Desc("Default cash bonus granted by the give cash cheat.")] public int Cash = 20000; + + [Desc("Growth steps triggered by the grow resources button.")] public int ResourceGrowth = 100; + + [Desc("Enable the fast build cheat by default.")] public bool FastBuild; + + [Desc("Enable the fast support powers cheat by default.")] public bool FastCharge; + + [Desc("Enable the disable visibility cheat by default.")] public bool DisableShroud; - public bool PathDebug; + + [Desc("Enable the unlimited power cheat by default.")] public bool UnlimitedPower; + + [Desc("Enable the build anywhere cheat by default.")] public bool BuildAnywhere; + + [Desc("Enable the path debug overlay by default.")] + public bool PathDebug; + + [Desc("Enable the combat geometry overlay by default.")] public bool ShowCombatGeometry; + + [Desc("Enable the debug geometry overlay by default.")] public bool ShowDebugGeometry; + + [Desc("Enable the depth buffer overlay by default.")] public bool ShowDepthPreview; + + [Desc("Enable the actor tags overlay by default.")] public bool ShowActorTags; public object Create(ActorInitializer init) { return new DeveloperMode(this); } diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index feb026946f..052fcf2541 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -408,7 +408,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.Cheats.HasValue) + var devMode = server.Map.Rules.Actors["player"].TraitInfo(); + if (devMode.Locked) { server.SendOrderTo(conn, "Message", "Map has disabled cheat configuration."); return true; @@ -1011,6 +1012,9 @@ namespace OpenRA.Mods.Common.Server .Where(s => s != null) .ToDictionary(s => s.PlayerReference, s => s); + var gs = server.LobbyInfo.GlobalSettings; + var devMode = server.Map.Rules.Actors["player"].TraitInfo(); + gs.AllowCheats = devMode.Enabled; server.Map.Options.UpdateServerSettings(server.LobbyInfo.GlobalSettings); } diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index 836b8b4ed4..704f4dd120 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -349,8 +349,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic var allowCheats = optionsBin.GetOrNull("ALLOWCHEATS_CHECKBOX"); if (allowCheats != null) { + var cheatsLocked = new CachedTransform( + map => map.Rules.Actors["player"].TraitInfo().Locked); + allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats; - allowCheats.IsDisabled = () => configurationDisabled() || Map.Options.Cheats.HasValue; + allowCheats.IsDisabled = () => configurationDisabled() || cheatsLocked.Update(Map); allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command( "allowcheats {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllowCheats))); } diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 6054801125..84257f7d57 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -163,7 +163,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - AllowCheats: false Crates: true StartingUnitsClass: light FragileAlliances: false diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index 803adf11c9..c68c5a5ea4 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -156,7 +156,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - AllowCheats: false Crates: true StartingUnitsClass: none FragileAlliances: false diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index ce39ee15a0..d3fcfeb8c0 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -166,7 +166,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - AllowCheats: false Crates: true StartingUnitsClass: none FragileAlliances: false diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index 6684bfda44..54daa296fe 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -215,7 +215,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - AllowCheats: true Crates: true StartingUnitsClass: none FragileAlliances: false diff --git a/mods/ts/rules/player.yaml b/mods/ts/rules/player.yaml index 141e5d8617..da243b3670 100644 --- a/mods/ts/rules/player.yaml +++ b/mods/ts/rules/player.yaml @@ -42,6 +42,7 @@ Player: PlayerResources: ActorGroupProxy: DeveloperMode: + Enabled: true Shroud: FrozenActorLayer: BaseAttackNotifier: From f44993e4f7506f65dbbdf253fb85e37803be4d7f Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 18:21:21 +0000 Subject: [PATCH 05/21] Move crates option to rules. --- OpenRA.Game/Map/Map.cs | 3 --- OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs | 6 +++++- OpenRA.Mods.Common/Traits/World/CrateSpawner.cs | 12 +++++++++--- OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs | 8 +++++++- mods/cnc/maps/the-hot-box/map.yaml | 1 - mods/cnc/mod.yaml | 1 - mods/d2k/mod.yaml | 1 - mods/ra/mod.yaml | 1 - mods/ts/mod.yaml | 1 - 9 files changed, 21 insertions(+), 13 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index f101d62e41..b4060660db 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -58,7 +58,6 @@ namespace OpenRA public class MapOptions { - public bool? Crates; public bool? Creeps; public bool? Fog; public bool? Shroud; @@ -71,8 +70,6 @@ namespace OpenRA public void UpdateServerSettings(Session.Global settings) { - if (Crates.HasValue) - settings.Crates = Crates.Value; if (Creeps.HasValue) settings.Creeps = Creeps.Value; if (Fog.HasValue) diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index 052fcf2541..a1cd48ac2e 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -519,7 +519,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.Crates.HasValue) + var crateSpawner = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); + if (crateSpawner == null || crateSpawner.Locked) { server.SendOrderTo(conn, "Message", "Map has disabled crate configuration."); return true; @@ -1015,6 +1016,9 @@ namespace OpenRA.Mods.Common.Server var gs = server.LobbyInfo.GlobalSettings; var devMode = server.Map.Rules.Actors["player"].TraitInfo(); gs.AllowCheats = devMode.Enabled; + + var crateSpawner = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); + gs.Crates = crateSpawner != null && crateSpawner.Enabled; server.Map.Options.UpdateServerSettings(server.LobbyInfo.GlobalSettings); } diff --git a/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs b/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs index f3afbd039e..f030c469a3 100644 --- a/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs +++ b/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs @@ -20,6 +20,12 @@ namespace OpenRA.Mods.Common.Traits { public class CrateSpawnerInfo : ITraitInfo { + [Desc("Default value of the crates checkbox in the lobby.")] + public readonly bool Enabled = true; + + [Desc("Prevent the crates state from being changed in the lobby.")] + public readonly bool Locked = false; + [Desc("Minimum number of crates.")] public readonly int Minimum = 1; @@ -42,14 +48,14 @@ namespace OpenRA.Mods.Common.Traits public readonly int WaterChance = 20; [ActorReference] - [Desc("Crate actors to drop")] + [Desc("Crate actors to drop.")] public readonly string[] CrateActors = { "crate" }; - [Desc("Chance of each crate actor spawning")] + [Desc("Chance of each crate actor spawning.")] public readonly int[] CrateActorShares = { 10 }; [ActorReference] - [Desc("If a DeliveryAircraft: is specified, then this actor will deliver crates")] + [Desc("If a DeliveryAircraft: is specified, then this actor will deliver crates.")] public readonly string DeliveryAircraft = null; [Desc("Number of facings that the delivery aircraft may approach from.")] diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index 704f4dd120..fc44d10250 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -361,8 +361,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic var crates = optionsBin.GetOrNull("CRATES_CHECKBOX"); if (crates != null) { + var cratesLocked = new CachedTransform(map => + { + var crateSpawner = map.Rules.Actors["world"].TraitInfoOrDefault(); + return crateSpawner == null || crateSpawner.Locked; + }); + crates.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Crates; - crates.IsDisabled = () => configurationDisabled() || Map.Options.Crates.HasValue; + crates.IsDisabled = () => configurationDisabled() || cratesLocked.Update(Map); crates.OnClick = () => orderManager.IssueOrder(Order.Command( "crates {0}".F(!orderManager.LobbyInfo.GlobalSettings.Crates))); } diff --git a/mods/cnc/maps/the-hot-box/map.yaml b/mods/cnc/maps/the-hot-box/map.yaml index 62408c3270..14762935d8 100644 --- a/mods/cnc/maps/the-hot-box/map.yaml +++ b/mods/cnc/maps/the-hot-box/map.yaml @@ -21,7 +21,6 @@ Type: Drop Zone Videos: Options: - Crates: True Fog: False Shroud: False AllyBuildRadius: False diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 84257f7d57..0637ae230e 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -163,7 +163,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - Crates: true StartingUnitsClass: light FragileAlliances: false Shroud: true diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index c68c5a5ea4..facd112935 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -156,7 +156,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - Crates: true StartingUnitsClass: none FragileAlliances: false Shroud: true diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index d3fcfeb8c0..78eb72da55 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -166,7 +166,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - Crates: true StartingUnitsClass: none FragileAlliances: false Shroud: true diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index 54daa296fe..f502654808 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -215,7 +215,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - Crates: true StartingUnitsClass: none FragileAlliances: false Shroud: true From 62f28d29092954944c5844bfe55e6cde31ec3d43 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 18:43:01 +0000 Subject: [PATCH 06/21] Move shroud options to rules. --- OpenRA.Game/Map/Map.cs | 6 ------ OpenRA.Game/Traits/World/Shroud.cs | 12 ++++++++++++ OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs | 11 +++++++++-- OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs | 10 ++++++++-- mods/cnc/mod.yaml | 2 -- mods/d2k/mod.yaml | 2 -- mods/ra/mod.yaml | 2 -- mods/ts/mod.yaml | 2 -- 8 files changed, 29 insertions(+), 18 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index b4060660db..c411299fe2 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -59,8 +59,6 @@ namespace OpenRA public class MapOptions { public bool? Creeps; - public bool? Fog; - public bool? Shroud; public bool? AllyBuildRadius; public int? StartingCash; public string TechLevel; @@ -72,10 +70,6 @@ namespace OpenRA { if (Creeps.HasValue) settings.Creeps = Creeps.Value; - if (Fog.HasValue) - settings.Fog = Fog.Value; - if (Shroud.HasValue) - settings.Shroud = Shroud.Value; if (AllyBuildRadius.HasValue) settings.AllyBuildRadius = AllyBuildRadius.Value; if (StartingCash.HasValue) diff --git a/OpenRA.Game/Traits/World/Shroud.cs b/OpenRA.Game/Traits/World/Shroud.cs index 206f295cbf..7fbbc62c0c 100644 --- a/OpenRA.Game/Traits/World/Shroud.cs +++ b/OpenRA.Game/Traits/World/Shroud.cs @@ -18,6 +18,18 @@ namespace OpenRA.Traits [Desc("Required for shroud and fog visibility checks. Add this to the player actor.")] public class ShroudInfo : ITraitInfo { + [Desc("Default value of the fog checkbox in the lobby.")] + public bool FogEnabled = true; + + [Desc("Prevent the fog enabled state from being changed in the lobby.")] + public bool FogLocked = false; + + [Desc("Default value of the explore map checkbox in the lobby.")] + public bool ExploredMapEnabled = false; + + [Desc("Prevent the explore map enabled state from being changed in the lobby.")] + public bool ExploredMapLocked = false; + public object Create(ActorInitializer init) { return new Shroud(init.Self); } } diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index a1cd48ac2e..2604fbef5f 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -432,7 +432,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.Shroud.HasValue) + var shroud = server.Map.Rules.Actors["player"].TraitInfo(); + if (shroud.ExploredMapLocked) { server.SendOrderTo(conn, "Message", "Map has disabled shroud configuration."); return true; @@ -455,7 +456,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.Fog.HasValue) + var shroud = server.Map.Rules.Actors["player"].TraitInfo(); + if (shroud.FogLocked) { server.SendOrderTo(conn, "Message", "Map has disabled fog configuration."); return true; @@ -1019,6 +1021,11 @@ namespace OpenRA.Mods.Common.Server var crateSpawner = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); gs.Crates = crateSpawner != null && crateSpawner.Enabled; + + var shroud = server.Map.Rules.Actors["player"].TraitInfo(); + gs.Fog = shroud.FogEnabled; + gs.Shroud = !shroud.ExploredMapEnabled; + server.Map.Options.UpdateServerSettings(server.LobbyInfo.GlobalSettings); } diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index fc44d10250..6537f4956f 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -562,8 +562,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic var exploredMap = optionsBin.GetOrNull("EXPLORED_MAP_CHECKBOX"); if (exploredMap != null) { + var exploredMapLocked = new CachedTransform( + map => map.Rules.Actors["player"].TraitInfo().ExploredMapLocked); + exploredMap.IsChecked = () => !orderManager.LobbyInfo.GlobalSettings.Shroud; - exploredMap.IsDisabled = () => configurationDisabled() || Map.Options.Shroud.HasValue; + exploredMap.IsDisabled = () => configurationDisabled() || exploredMapLocked.Update(Map); exploredMap.OnClick = () => orderManager.IssueOrder(Order.Command( "shroud {0}".F(!orderManager.LobbyInfo.GlobalSettings.Shroud))); } @@ -571,8 +574,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic var enableFog = optionsBin.GetOrNull("FOG_CHECKBOX"); if (enableFog != null) { + var fogLocked = new CachedTransform( + map => map.Rules.Actors["player"].TraitInfo().FogLocked); + enableFog.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Fog; - enableFog.IsDisabled = () => configurationDisabled() || Map.Options.Fog.HasValue; + enableFog.IsDisabled = () => configurationDisabled() || fogLocked.Update(Map); enableFog.OnClick = () => orderManager.IssueOrder(Order.Command( "fog {0}".F(!orderManager.LobbyInfo.GlobalSettings.Fog))); } diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 0637ae230e..561f08d87b 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -165,8 +165,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: light FragileAlliances: false - Shroud: true - Fog: true TechLevel: Unrestricted ChromeMetrics: diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index facd112935..34b11311b2 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -158,8 +158,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: none FragileAlliances: false - Shroud: true - Fog: true TechLevel: Unrestricted ChromeMetrics: diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index 78eb72da55..774ee85cc9 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -168,8 +168,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: none FragileAlliances: false - Shroud: true - Fog: true TechLevel: Unrestricted ChromeMetrics: diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index f502654808..99b0818321 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -217,8 +217,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: none FragileAlliances: false - Shroud: true - Fog: true ChromeMetrics: common|metrics.yaml From 76b1810925e9cbcde893ad3c2950042cb395848f Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 18:57:21 +0000 Subject: [PATCH 07/21] Remove unused FragileAlliances default. --- mods/cnc/mod.yaml | 1 - mods/d2k/mod.yaml | 1 - mods/ra/mod.yaml | 1 - mods/ts/mod.yaml | 1 - 4 files changed, 4 deletions(-) diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 561f08d87b..0277b7c4ac 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -164,7 +164,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: light - FragileAlliances: false TechLevel: Unrestricted ChromeMetrics: diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index 34b11311b2..b28cfdf68c 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -157,7 +157,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: none - FragileAlliances: false TechLevel: Unrestricted ChromeMetrics: diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index 774ee85cc9..d721eff3e2 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -167,7 +167,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: none - FragileAlliances: false TechLevel: Unrestricted ChromeMetrics: diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index 99b0818321..e3f6d5ef1c 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -216,7 +216,6 @@ ServerTraits: LobbyDefaults: StartingUnitsClass: none - FragileAlliances: false ChromeMetrics: common|metrics.yaml From e34864fe400230ced80d5d11baeae9673bcaf803 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 19:57:30 +0000 Subject: [PATCH 08/21] Use DefaultCash for the default cash. --- OpenRA.Game/Map/Map.cs | 3 --- OpenRA.Game/Traits/Player/PlayerResources.cs | 6 ++++++ OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs | 8 ++++++-- .../Widgets/Logic/Lobby/LobbyLogic.cs | 14 ++++++-------- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index c411299fe2..25d30212e9 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -60,7 +60,6 @@ namespace OpenRA { public bool? Creeps; public bool? AllyBuildRadius; - public int? StartingCash; public string TechLevel; public bool ConfigurableStartingUnits = true; public string[] Difficulties = { }; @@ -72,8 +71,6 @@ namespace OpenRA settings.Creeps = Creeps.Value; if (AllyBuildRadius.HasValue) settings.AllyBuildRadius = AllyBuildRadius.Value; - if (StartingCash.HasValue) - settings.StartingCash = StartingCash.Value; if (ShortGame.HasValue) settings.ShortGame = ShortGame.Value; } diff --git a/OpenRA.Game/Traits/Player/PlayerResources.cs b/OpenRA.Game/Traits/Player/PlayerResources.cs index 0dca7e6e0a..604c0e2f3a 100644 --- a/OpenRA.Game/Traits/Player/PlayerResources.cs +++ b/OpenRA.Game/Traits/Player/PlayerResources.cs @@ -16,9 +16,15 @@ namespace OpenRA.Traits { public class PlayerResourcesInfo : ITraitInfo { + [Desc("Starting cash options that are available in the lobby options.")] public readonly int[] SelectableCash = { 2500, 5000, 10000, 20000 }; + + [Desc("Default starting cash option: should be one of the SelectableCash options.")] public readonly int DefaultCash = 5000; + [Desc("Force the DefaultCash option by disabling changes in the lobby.")] + public readonly bool DefaultCashLocked = false; + public object Create(ActorInitializer init) { return new PlayerResources(init.Self, this); } } diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index 2604fbef5f..f9070afb67 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -648,13 +648,14 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.StartingCash.HasValue) + var playerResources = server.Map.Rules.Actors["player"].TraitInfo(); + if (playerResources.DefaultCashLocked) { server.SendOrderTo(conn, "Message", "Map has disabled cash configuration."); return true; } - var startingCashOptions = server.Map.Rules.Actors["player"].TraitInfo().SelectableCash; + var startingCashOptions = playerResources.SelectableCash; var requestedCash = Exts.ParseIntegerInvariant(s); if (!startingCashOptions.Contains(requestedCash)) { @@ -1026,6 +1027,9 @@ namespace OpenRA.Mods.Common.Server gs.Fog = shroud.FogEnabled; gs.Shroud = !shroud.ExploredMapEnabled; + var resources = server.Map.Rules.Actors["player"].TraitInfo(); + gs.StartingCash = resources.DefaultCash; + server.Map.Options.UpdateServerSettings(server.LobbyInfo.GlobalSettings); } diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index 6537f4956f..e44aeaa6be 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -465,12 +465,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic var startingCash = optionsBin.GetOrNull("STARTINGCASH_DROPDOWNBUTTON"); if (startingCash != null) { - startingCash.IsDisabled = () => configurationDisabled() || Map.Options.StartingCash.HasValue; + var playerResources = new CachedTransform( + map => map.Rules.Actors["player"].TraitInfo()); + + startingCash.IsDisabled = () => configurationDisabled() || playerResources.Update(Map).DefaultCashLocked; startingCash.GetText = () => MapPreview.Status != MapStatus.Available || - Map == null || Map.Options.StartingCash.HasValue ? "Not Available" : "${0}".F(orderManager.LobbyInfo.GlobalSettings.StartingCash); + Map == null || playerResources.Update(Map).DefaultCashLocked ? "Not Available" : "${0}".F(orderManager.LobbyInfo.GlobalSettings.StartingCash); startingCash.OnMouseDown = _ => { - var options = modRules.Actors["player"].TraitInfo().SelectableCash.Select(c => new DropDownOption + var options = playerResources.Update(Map).SelectableCash.Select(c => new DropDownOption { Title = "${0}".F(c), IsSelected = () => orderManager.LobbyInfo.GlobalSettings.StartingCash == c, @@ -776,11 +779,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic { // Tell the server that we have the map orderManager.IssueOrder(Order.Command("state {0}".F(Session.ClientState.NotReady))); - - // Restore default starting cash if the last map set it to something invalid - var pri = modRules.Actors["player"].TraitInfo(); - if (!currentMap.Options.StartingCash.HasValue && !pri.SelectableCash.Contains(orderManager.LobbyInfo.GlobalSettings.StartingCash)) - orderManager.IssueOrder(Order.Command("startingcash {0}".F(pri.DefaultCash))); } }); }).Start(); From 3c779d4101622e1932d8ea7706c81ee429277032 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 20:20:02 +0000 Subject: [PATCH 09/21] Move starting units configuration to rules. --- OpenRA.Game/Map/Map.cs | 2 -- OpenRA.Game/Network/Session.cs | 2 +- .../ServerTraits/LobbyCommands.cs | 6 +++++- .../Traits/World/SpawnMPUnits.cs | 8 +++++++- .../Widgets/Logic/Lobby/LobbyLogic.cs | 18 +++++++++++++----- mods/cnc/mod.yaml | 1 - mods/cnc/rules/world.yaml | 1 + 7 files changed, 27 insertions(+), 11 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 25d30212e9..4724884176 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -61,7 +61,6 @@ namespace OpenRA public bool? Creeps; public bool? AllyBuildRadius; public string TechLevel; - public bool ConfigurableStartingUnits = true; public string[] Difficulties = { }; public bool? ShortGame; @@ -118,7 +117,6 @@ namespace OpenRA public string Description; public string Author; public string Tileset; - public bool AllowStartUnitConfig = true; public Bitmap CustomPreview; public bool InvalidCustomRules { get; private set; } diff --git a/OpenRA.Game/Network/Session.cs b/OpenRA.Game/Network/Session.cs index dbb6e48341..3eb3ea5267 100644 --- a/OpenRA.Game/Network/Session.cs +++ b/OpenRA.Game/Network/Session.cs @@ -191,7 +191,7 @@ namespace OpenRA.Network public bool AllyBuildRadius = true; public int StartingCash = 5000; public string TechLevel = "none"; - public string StartingUnitsClass = "none"; + public string StartingUnitsClass; public string GameSpeedType = "default"; public bool ShortGame = true; public bool AllowVersionMismatch; diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index f9070afb67..03f84d407b 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -617,7 +617,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (!server.Map.Options.ConfigurableStartingUnits) + var startingUnits = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); + if (startingUnits == null || startingUnits.Locked) { server.SendOrderTo(conn, "Message", "Map has disabled start unit configuration."); return true; @@ -1030,6 +1031,9 @@ namespace OpenRA.Mods.Common.Server var resources = server.Map.Rules.Actors["player"].TraitInfo(); gs.StartingCash = resources.DefaultCash; + var startingUnits = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); + gs.StartingUnitsClass = startingUnits == null ? "none" : startingUnits.StartingUnitsClass; + server.Map.Options.UpdateServerSettings(server.LobbyInfo.GlobalSettings); } diff --git a/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs b/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs index c4f461ae40..3bbc5e5e02 100644 --- a/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs +++ b/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs @@ -18,7 +18,13 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Spawn base actor at the spawnpoint and support units in an annulus around the base actor. Both are defined at MPStartUnits. Attach this to the world actor.")] - public class SpawnMPUnitsInfo : TraitInfo, Requires, Requires { } + public class SpawnMPUnitsInfo : TraitInfo, Requires, Requires + { + public readonly string StartingUnitsClass = "none"; + + [Desc("Prevent the starting units option from being changed in the lobby.")] + public bool Locked = false; + } public class SpawnMPUnits : IWorldLoaded { diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index e44aeaa6be..7b52a6cb8d 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -429,19 +429,27 @@ namespace OpenRA.Mods.Common.Widgets.Logic var startingUnits = optionsBin.GetOrNull("STARTINGUNITS_DROPDOWNBUTTON"); if (startingUnits != null) { - var startUnitsInfo = modRules.Actors["world"].TraitInfos(); - var classes = startUnitsInfo.Select(a => a.Class).Distinct(); + var startUnitsInfos = new CachedTransform>( + map => map.Rules.Actors["world"].TraitInfos()); + + var startUnitsLocked = new CachedTransform(map => + { + var spawnUnitsInfo = map.Rules.Actors["world"].TraitInfoOrDefault(); + return spawnUnitsInfo == null || spawnUnitsInfo.Locked; + }); + Func className = c => { - var selectedClass = startUnitsInfo.Where(s => s.Class == c).Select(u => u.ClassName).FirstOrDefault(); + var selectedClass = startUnitsInfos.Update(Map).Where(s => s.Class == c).Select(u => u.ClassName).FirstOrDefault(); return selectedClass != null ? selectedClass : c; }; - startingUnits.IsDisabled = () => configurationDisabled() || !Map.Options.ConfigurableStartingUnits; + startingUnits.IsDisabled = () => configurationDisabled() || startUnitsLocked.Update(Map); startingUnits.GetText = () => MapPreview.Status != MapStatus.Available || - Map == null || !Map.Options.ConfigurableStartingUnits ? "Not Available" : className(orderManager.LobbyInfo.GlobalSettings.StartingUnitsClass); + Map == null || startUnitsLocked.Update(Map) ? "Not Available" : className(orderManager.LobbyInfo.GlobalSettings.StartingUnitsClass); startingUnits.OnMouseDown = _ => { + var classes = startUnitsInfos.Update(Map).Select(a => a.Class).Distinct(); var options = classes.Select(c => new DropDownOption { Title = className(c), diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 0277b7c4ac..eac9c02431 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -163,7 +163,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - StartingUnitsClass: light TechLevel: Unrestricted ChromeMetrics: diff --git a/mods/cnc/rules/world.yaml b/mods/cnc/rules/world.yaml index 5ff347d8eb..4006d6c919 100644 --- a/mods/cnc/rules/world.yaml +++ b/mods/cnc/rules/world.yaml @@ -135,6 +135,7 @@ World: BaseActor: mcv SupportActors: e1,e1,e1,e1,e1,e2,e2,e2,e3,e3,apc,mtnk SpawnMPUnits: + StartingUnitsClass: light CrateSpawner: Minimum: 1 Maximum: 6 From cce292a68adba94c72886a6967b557da9fcd8b49 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 20:41:16 +0000 Subject: [PATCH 10/21] Move creeps configuration to rules. --- OpenRA.Game/Map/Map.cs | 3 -- OpenRA.Mods.Common/OpenRA.Mods.Common.csproj | 1 + .../ServerTraits/LobbyCommands.cs | 3 +- OpenRA.Mods.Common/Traits/World/MapCreeps.cs | 28 +++++++++++++++++++ .../Widgets/Logic/Lobby/LobbyLogic.cs | 8 +++++- mods/cnc/rules/world.yaml | 1 + mods/d2k/rules/world.yaml | 1 + 7 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 OpenRA.Mods.Common/Traits/World/MapCreeps.cs diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 4724884176..1985da8503 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -58,7 +58,6 @@ namespace OpenRA public class MapOptions { - public bool? Creeps; public bool? AllyBuildRadius; public string TechLevel; public string[] Difficulties = { }; @@ -66,8 +65,6 @@ namespace OpenRA public void UpdateServerSettings(Session.Global settings) { - if (Creeps.HasValue) - settings.Creeps = Creeps.Value; if (AllyBuildRadius.HasValue) settings.AllyBuildRadius = AllyBuildRadius.Value; if (ShortGame.HasValue) diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index f210809632..f19e4b8e08 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -732,6 +732,7 @@ + diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index 03f84d407b..5d5320faf2 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -545,7 +545,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.Creeps.HasValue) + var mapCreeps = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); + if (mapCreeps == null || mapCreeps.Locked) { server.SendOrderTo(conn, "Message", "Map has disabled Creeps spawning configuration."); return true; diff --git a/OpenRA.Mods.Common/Traits/World/MapCreeps.cs b/OpenRA.Mods.Common/Traits/World/MapCreeps.cs new file mode 100644 index 0000000000..192976e15f --- /dev/null +++ b/OpenRA.Mods.Common/Traits/World/MapCreeps.cs @@ -0,0 +1,28 @@ +#region Copyright & License Information +/* + * Copyright 2007-2016 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System.Collections.Generic; +using OpenRA.Traits; + +namespace OpenRA.Mods.Common.Traits +{ + [Desc("Controls the 'Creeps' checkbox in the lobby options.")] + public class MapCreepsInfo : TraitInfo + { + [Desc("Default value of the creeps checkbox in the lobby.")] + public readonly bool Enabled = true; + + [Desc("Prevent the creeps state from being changed in the lobby.")] + public readonly bool Locked = false; + } + + public class MapCreeps { } +} diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index 7b52a6cb8d..b33cbd46a5 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -376,8 +376,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic var creeps = optionsBin.GetOrNull("CREEPS_CHECKBOX"); if (creeps != null) { + var creepsLocked = new CachedTransform(map => + { + var mapCreeps = map.Rules.Actors["world"].TraitInfoOrDefault(); + return mapCreeps == null || mapCreeps.Locked; + }); + creeps.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Creeps; - creeps.IsDisabled = () => configurationDisabled() || Map.Options.Creeps.HasValue; + creeps.IsDisabled = () => configurationDisabled() || creepsLocked.Update(Map); creeps.OnClick = () => orderManager.IssueOrder(Order.Command( "creeps {0}".F(!orderManager.LobbyInfo.GlobalSettings.Creeps))); } diff --git a/mods/cnc/rules/world.yaml b/mods/cnc/rules/world.yaml index 4006d6c919..588310043a 100644 --- a/mods/cnc/rules/world.yaml +++ b/mods/cnc/rules/world.yaml @@ -72,6 +72,7 @@ World: ResourceClaimLayer: PathfinderDebugOverlay: WarheadDebugOverlay: + MapCreeps: SpawnMapActors: MPStartLocations: CreateMPPlayers: diff --git a/mods/d2k/rules/world.yaml b/mods/d2k/rules/world.yaml index 02bcc2ff29..5a8ac60f62 100644 --- a/mods/d2k/rules/world.yaml +++ b/mods/d2k/rules/world.yaml @@ -87,6 +87,7 @@ World: Type: SandCrater Sequence: sandcraters SmokePercentage: 0 + MapCreeps: SpawnMapActors: CreateMPPlayers: MPStartLocations: From 5b2bf5b2845cdd58827ec435c6d66ce95d4b3b19 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 22:24:50 +0000 Subject: [PATCH 11/21] Move build radius configuration to rules. --- OpenRA.Game/Map/Map.cs | 3 -- OpenRA.Mods.Common/OpenRA.Mods.Common.csproj | 1 + .../ServerTraits/LobbyCommands.cs | 6 +++- .../Traits/World/MapBuildRadius.cs | 28 +++++++++++++++++++ .../Widgets/Logic/Lobby/LobbyLogic.cs | 8 +++++- mods/cnc/rules/world.yaml | 1 + mods/d2k/rules/world.yaml | 1 + mods/ra/rules/world.yaml | 1 + mods/ts/rules/world.yaml | 1 + 9 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 OpenRA.Mods.Common/Traits/World/MapBuildRadius.cs diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 1985da8503..23680ea3d7 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -58,15 +58,12 @@ namespace OpenRA public class MapOptions { - public bool? AllyBuildRadius; public string TechLevel; public string[] Difficulties = { }; public bool? ShortGame; public void UpdateServerSettings(Session.Global settings) { - if (AllyBuildRadius.HasValue) - settings.AllyBuildRadius = AllyBuildRadius.Value; if (ShortGame.HasValue) settings.ShortGame = ShortGame.Value; } diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index f19e4b8e08..4190885ebc 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -733,6 +733,7 @@ + diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index 5d5320faf2..8f8310da0f 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -569,7 +569,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.AllyBuildRadius.HasValue) + var mapBuildRadius = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); + if (mapBuildRadius == null || mapBuildRadius.AllyBuildRadiusLocked) { server.SendOrderTo(conn, "Message", "Map has disabled ally build radius configuration."); return true; @@ -1035,6 +1036,9 @@ namespace OpenRA.Mods.Common.Server var startingUnits = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); gs.StartingUnitsClass = startingUnits == null ? "none" : startingUnits.StartingUnitsClass; + var mapBuildRadius = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); + gs.AllyBuildRadius = mapBuildRadius != null && mapBuildRadius.AllyBuildRadiusEnabled; + server.Map.Options.UpdateServerSettings(server.LobbyInfo.GlobalSettings); } diff --git a/OpenRA.Mods.Common/Traits/World/MapBuildRadius.cs b/OpenRA.Mods.Common/Traits/World/MapBuildRadius.cs new file mode 100644 index 0000000000..d3becc3a00 --- /dev/null +++ b/OpenRA.Mods.Common/Traits/World/MapBuildRadius.cs @@ -0,0 +1,28 @@ +#region Copyright & License Information +/* + * Copyright 2007-2016 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System.Collections.Generic; +using OpenRA.Traits; + +namespace OpenRA.Mods.Common.Traits +{ + [Desc("Controls the build radius checkboxes in the lobby options.")] + public class MapBuildRadiusInfo : TraitInfo + { + [Desc("Default value of the ally build radius checkbox in the lobby.")] + public readonly bool AllyBuildRadiusEnabled = true; + + [Desc("Prevent the ally build radius state from being changed in the lobby.")] + public readonly bool AllyBuildRadiusLocked = false; + } + + public class MapBuildRadius { } +} diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index b33cbd46a5..d4d61c6d5f 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -391,8 +391,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic var allybuildradius = optionsBin.GetOrNull("ALLYBUILDRADIUS_CHECKBOX"); if (allybuildradius != null) { + var allyBuildRadiusLocked = new CachedTransform(map => + { + var mapBuildRadius = map.Rules.Actors["world"].TraitInfoOrDefault(); + return mapBuildRadius == null || mapBuildRadius.AllyBuildRadiusLocked; + }); + allybuildradius.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllyBuildRadius; - allybuildradius.IsDisabled = () => configurationDisabled() || Map.Options.AllyBuildRadius.HasValue; + allybuildradius.IsDisabled = () => configurationDisabled() || allyBuildRadiusLocked.Update(Map); allybuildradius.OnClick = () => orderManager.IssueOrder(Order.Command( "allybuildradius {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllyBuildRadius))); } diff --git a/mods/cnc/rules/world.yaml b/mods/cnc/rules/world.yaml index 588310043a..7a0a5d3b46 100644 --- a/mods/cnc/rules/world.yaml +++ b/mods/cnc/rules/world.yaml @@ -74,6 +74,7 @@ World: WarheadDebugOverlay: MapCreeps: SpawnMapActors: + MapBuildRadius: MPStartLocations: CreateMPPlayers: MPStartUnits@mcvonly: diff --git a/mods/d2k/rules/world.yaml b/mods/d2k/rules/world.yaml index 5a8ac60f62..74e52b12ca 100644 --- a/mods/d2k/rules/world.yaml +++ b/mods/d2k/rules/world.yaml @@ -89,6 +89,7 @@ World: SmokePercentage: 0 MapCreeps: SpawnMapActors: + MapBuildRadius: CreateMPPlayers: MPStartLocations: MPStartUnits@mcv: diff --git a/mods/ra/rules/world.yaml b/mods/ra/rules/world.yaml index 7a1be7743b..78c91500c7 100644 --- a/mods/ra/rules/world.yaml +++ b/mods/ra/rules/world.yaml @@ -120,6 +120,7 @@ World: PathfinderDebugOverlay: WarheadDebugOverlay: SpawnMapActors: + MapBuildRadius: CreateMPPlayers: MPStartUnits@mcvonly: Class: none diff --git a/mods/ts/rules/world.yaml b/mods/ts/rules/world.yaml index 0d1204d59e..cecc6d4194 100644 --- a/mods/ts/rules/world.yaml +++ b/mods/ts/rules/world.yaml @@ -98,6 +98,7 @@ World: PathfinderDebugOverlay: WarheadDebugOverlay: SpawnMapActors: + MapBuildRadius: CreateMPPlayers: MPStartUnits@MCV: Class: none From d4f8fe16660ae70f70df59e9c53b734c647bd469 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 22:34:20 +0000 Subject: [PATCH 12/21] Move map configuration to rules. --- OpenRA.Game/Map/Map.cs | 29 ------------- OpenRA.Game/Network/Session.cs | 2 +- OpenRA.Mods.Common/OpenRA.Mods.Common.csproj | 1 + .../ServerTraits/LobbyCommands.cs | 39 ++++++++--------- .../Traits/Player/ProvidesTechPrerequisite.cs | 3 +- OpenRA.Mods.Common/Traits/World/MapOptions.cs | 43 +++++++++++++++++++ .../Widgets/Logic/Lobby/LobbyLogic.cs | 30 ++++++++----- .../Widgets/Logic/MissionBrowserLogic.cs | 20 ++++++--- .../UtilityCommands/ImportTSMapCommand.cs | 1 - mods/cnc/mod.yaml | 1 - mods/cnc/rules/world.yaml | 1 + mods/d2k/mod.yaml | 2 - mods/d2k/rules/world.yaml | 1 + mods/ra/mod.yaml | 2 - mods/ra/rules/world.yaml | 1 + mods/ts/mod.yaml | 1 - mods/ts/rules/world.yaml | 1 + 17 files changed, 102 insertions(+), 76 deletions(-) create mode 100644 OpenRA.Mods.Common/Traits/World/MapOptions.cs diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 23680ea3d7..3b1e217609 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -56,19 +56,6 @@ namespace OpenRA } } - public class MapOptions - { - public string TechLevel; - public string[] Difficulties = { }; - public bool? ShortGame; - - public void UpdateServerSettings(Session.Global settings) - { - if (ShortGame.HasValue) - settings.ShortGame = ShortGame.Value; - } - } - public class MapVideos { public string BackgroundInfo; @@ -122,18 +109,6 @@ namespace OpenRA return SubCellOffsets[(int)subCell]; } - [FieldLoader.LoadUsing("LoadOptions")] public MapOptions Options; - - static object LoadOptions(MiniYaml y) - { - var options = new MapOptions(); - var nodesDict = y.ToDictionary(); - if (nodesDict.ContainsKey("Options")) - FieldLoader.Load(options, nodesDict["Options"]); - - return options; - } - [FieldLoader.LoadUsing("LoadVideos")] public MapVideos Videos; static object LoadVideos(MiniYaml y) @@ -253,7 +228,6 @@ namespace OpenRA MapSize = new int2(size); Tileset = tileset.Id; Videos = new MapVideos(); - Options = new MapOptions(); MapResources = Exts.Lazy(() => new CellLayer(Grid.Type, size)); @@ -495,9 +469,6 @@ namespace OpenRA } root.Add(new MiniYamlNode("Videos", FieldSaver.SaveDifferences(Videos, new MapVideos()))); - - root.Add(new MiniYamlNode("Options", FieldSaver.SaveDifferences(Options, new MapOptions()))); - root.Add(new MiniYamlNode("Players", null, PlayerDefinitions)); root.Add(new MiniYamlNode("Actors", null, ActorDefinitions)); diff --git a/OpenRA.Game/Network/Session.cs b/OpenRA.Game/Network/Session.cs index 3eb3ea5267..63eeb34af5 100644 --- a/OpenRA.Game/Network/Session.cs +++ b/OpenRA.Game/Network/Session.cs @@ -190,7 +190,7 @@ namespace OpenRA.Network public bool Fog = true; public bool AllyBuildRadius = true; public int StartingCash = 5000; - public string TechLevel = "none"; + public string TechLevel; public string StartingUnitsClass; public string GameSpeedType = "default"; public bool ShortGame = true; diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index 4190885ebc..48f6a2d047 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -734,6 +734,7 @@ + diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index 8f8310da0f..d8d1c12a14 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -348,7 +348,6 @@ namespace OpenRA.Mods.Common.Server var oldSlots = server.LobbyInfo.Slots.Keys.ToArray(); LoadMap(server); - SetDefaultDifficulty(server); // Reset client states foreach (var c in server.LobbyInfo.Clients) @@ -587,19 +586,23 @@ namespace OpenRA.Mods.Common.Server { "difficulty", s => { - if (!server.Map.Options.Difficulties.Any()) - return true; - if (!client.IsAdmin) { server.SendOrderTo(conn, "Message", "Only the host can set that option."); return true; } - if (s != null && !server.Map.Options.Difficulties.Contains(s)) + var mapOptions = server.Map.Rules.Actors["world"].TraitInfo(); + if (mapOptions.DifficultyLocked || !mapOptions.Difficulties.Any()) + { + server.SendOrderTo(conn, "Message", "Map has disabled difficulty configuration."); + return true; + } + + if (s != null && !mapOptions.Difficulties.Contains(s)) { server.SendOrderTo(conn, "Message", "Invalid difficulty selected: {0}".F(s)); - server.SendOrderTo(conn, "Message", "Supported values: {0}".F(server.Map.Options.Difficulties.JoinWith(", "))); + server.SendOrderTo(conn, "Message", "Supported values: {0}".F(mapOptions.Difficulties.JoinWith(", "))); return true; } @@ -683,7 +686,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.TechLevel != null) + var mapOptions = server.Map.Rules.Actors["world"].TraitInfo(); + if (mapOptions.TechLevelLocked) { server.SendOrderTo(conn, "Message", "Map has disabled Tech configuration."); return true; @@ -939,7 +943,8 @@ namespace OpenRA.Mods.Common.Server return true; } - if (server.Map.Options.ShortGame.HasValue) + var mapOptions = server.Map.Rules.Actors["world"].TraitInfo(); + if (mapOptions.ShortGameLocked) { server.SendOrderTo(conn, "Message", "Map has disabled short game configuration."); return true; @@ -990,7 +995,6 @@ namespace OpenRA.Mods.Common.Server public void ServerStarted(S server) { LoadMap(server); - SetDefaultDifficulty(server); } static Session.Slot MakeSlotFromPlayerReference(PlayerReference pr) @@ -1039,19 +1043,10 @@ namespace OpenRA.Mods.Common.Server var mapBuildRadius = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); gs.AllyBuildRadius = mapBuildRadius != null && mapBuildRadius.AllyBuildRadiusEnabled; - server.Map.Options.UpdateServerSettings(server.LobbyInfo.GlobalSettings); - } - - static void SetDefaultDifficulty(S server) - { - if (!server.Map.Options.Difficulties.Any()) - { - server.LobbyInfo.GlobalSettings.Difficulty = null; - return; - } - - if (!server.Map.Options.Difficulties.Contains(server.LobbyInfo.GlobalSettings.Difficulty)) - server.LobbyInfo.GlobalSettings.Difficulty = server.Map.Options.Difficulties.First(); + var mapOptions = server.Map.Rules.Actors["world"].TraitInfo(); + gs.ShortGame = mapOptions.ShortGameEnabled; + gs.TechLevel = mapOptions.TechLevel; + gs.Difficulty = mapOptions.Difficulty ?? mapOptions.Difficulties.FirstOrDefault(); } static HSLColor SanitizePlayerColor(S server, HSLColor askedColor, int playerIndex, Connection connectionToEcho = null) diff --git a/OpenRA.Mods.Common/Traits/Player/ProvidesTechPrerequisite.cs b/OpenRA.Mods.Common/Traits/Player/ProvidesTechPrerequisite.cs index eac51c5720..c35c7a1ac5 100644 --- a/OpenRA.Mods.Common/Traits/Player/ProvidesTechPrerequisite.cs +++ b/OpenRA.Mods.Common/Traits/Player/ProvidesTechPrerequisite.cs @@ -40,8 +40,7 @@ namespace OpenRA.Mods.Common.Traits public ProvidesTechPrerequisite(ProvidesTechPrerequisiteInfo info, ActorInitializer init) { this.info = info; - var tech = init.World.Map.Options.TechLevel ?? init.World.LobbyInfo.GlobalSettings.TechLevel; - enabled = info.Name == tech; + enabled = info.Name == init.World.LobbyInfo.GlobalSettings.TechLevel; } } } diff --git a/OpenRA.Mods.Common/Traits/World/MapOptions.cs b/OpenRA.Mods.Common/Traits/World/MapOptions.cs new file mode 100644 index 0000000000..a86fc39046 --- /dev/null +++ b/OpenRA.Mods.Common/Traits/World/MapOptions.cs @@ -0,0 +1,43 @@ +#region Copyright & License Information +/* + * Copyright 2007-2016 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System.Collections.Generic; +using OpenRA.Traits; + +namespace OpenRA.Mods.Common.Traits +{ + [Desc("Controls the map difficulty, tech level, and short game lobby options.")] + public class MapOptionsInfo : TraitInfo + { + [Desc("Default value of the short game checkbox in the lobby.")] + public readonly bool ShortGameEnabled = true; + + [Desc("Prevent the short game enabled state from being changed in the lobby.")] + public readonly bool ShortGameLocked = false; + + [Desc("Default tech level.")] + public readonly string TechLevel = "Unrestricted"; + + [Desc("Prevent the tech level from being changed in the lobby.")] + public readonly bool TechLevelLocked = false; + + [Desc("Difficulty levels supported by the map.")] + public readonly string[] Difficulties = { }; + + [Desc("Default difficulty level.")] + public readonly string Difficulty = null; + + [Desc("Prevent the difficulty from being changed in the lobby.")] + public readonly bool DifficultyLocked = false; + } + + public class MapOptions { } +} diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index d4d61c6d5f..5084aa284d 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -406,8 +406,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic var shortGame = optionsBin.GetOrNull("SHORTGAME_CHECKBOX"); if (shortGame != null) { + var shortGameLocked = new CachedTransform( + map => map.Rules.Actors["world"].TraitInfo().ShortGameLocked); + shortGame.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.ShortGame; - shortGame.IsDisabled = () => configurationDisabled() || Map.Options.ShortGame.HasValue; + shortGame.IsDisabled = () => configurationDisabled() || shortGameLocked.Update(Map); shortGame.OnClick = () => orderManager.IssueOrder(Order.Command( "shortgame {0}".F(!orderManager.LobbyInfo.GlobalSettings.ShortGame))); } @@ -415,12 +418,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic var difficulty = optionsBin.GetOrNull("DIFFICULTY_DROPDOWNBUTTON"); if (difficulty != null) { - difficulty.IsVisible = () => Map != null && Map.Options.Difficulties.Any(); - difficulty.IsDisabled = configurationDisabled; + var mapOptions = new CachedTransform( + map => map.Rules.Actors["world"].TraitInfo()); + + difficulty.IsVisible = () => Map != null && mapOptions.Update(Map).Difficulties.Any(); + difficulty.IsDisabled = () => configurationDisabled() || mapOptions.Update(Map).DifficultyLocked; difficulty.GetText = () => orderManager.LobbyInfo.GlobalSettings.Difficulty; difficulty.OnMouseDown = _ => { - var options = Map.Options.Difficulties.Select(d => new DropDownOption + var options = mapOptions.Update(Map).Difficulties.Select(d => new DropDownOption { Title = d, IsSelected = () => orderManager.LobbyInfo.GlobalSettings.Difficulty == d, @@ -514,19 +520,23 @@ namespace OpenRA.Mods.Common.Widgets.Logic var techLevel = optionsBin.GetOrNull("TECHLEVEL_DROPDOWNBUTTON"); if (techLevel != null) { - var techTraits = modRules.Actors["player"].TraitInfos().ToList(); - techLevel.IsVisible = () => techTraits.Count > 0; + var mapOptions = new CachedTransform( + map => map.Rules.Actors["world"].TraitInfo()); + var techLevels = new CachedTransform>( + map => map.Rules.Actors["player"].TraitInfos().ToList()); + + techLevel.IsVisible = () => Map != null && techLevels.Update(Map).Any(); var techLevelDescription = optionsBin.GetOrNull("TECHLEVEL_DESC"); if (techLevelDescription != null) - techLevelDescription.IsVisible = () => techTraits.Count > 0; + techLevelDescription.IsVisible = techLevel.IsVisible; - techLevel.IsDisabled = () => configurationDisabled() || Map.Options.TechLevel != null || techTraits.Count <= 1; + techLevel.IsDisabled = () => configurationDisabled() || mapOptions.Update(Map).TechLevelLocked; techLevel.GetText = () => MapPreview.Status != MapStatus.Available || - Map == null || Map.Options.TechLevel != null ? "Not Available" : "{0}".F(orderManager.LobbyInfo.GlobalSettings.TechLevel); + Map == null || mapOptions.Update(Map).TechLevelLocked ? "Not Available" : "{0}".F(orderManager.LobbyInfo.GlobalSettings.TechLevel); techLevel.OnMouseDown = _ => { - var options = techTraits.Select(c => new DropDownOption + var options = techLevels.Update(Map).Select(c => new DropDownOption { Title = "{0}".F(c.Name), IsSelected = () => orderManager.LobbyInfo.GlobalSettings.TechLevel == c.Name, diff --git a/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs index 2baa8bfa2f..8e201b70cb 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs @@ -15,6 +15,7 @@ using System.IO; using System.Linq; using System.Threading; using OpenRA.Graphics; +using OpenRA.Mods.Common.Traits; using OpenRA.Network; using OpenRA.Primitives; using OpenRA.Widgets; @@ -177,7 +178,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic selectedMapPreview = preview; // Cache the rules on a background thread to avoid jank - new Thread(() => selectedMap.PreloadRules()).Start(); + var difficultyDisabled = true; + var difficulties = new string[0]; + + new Thread(() => + { + selectedMap.PreloadRules(); + var mapOptions = selectedMap.Rules.Actors["world"].TraitInfo(); + + difficulty = mapOptions.Difficulty ?? mapOptions.Difficulties.FirstOrDefault(); + difficulties = mapOptions.Difficulties; + difficultyDisabled = mapOptions.DifficultyLocked || mapOptions.Difficulties.Length <= 1; + }).Start(); var briefingVideo = selectedMap.Videos.Briefing; var briefingVideoVisible = briefingVideo != null; @@ -204,13 +216,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (difficultyButton != null) { - difficultyButton.IsDisabled = () => !selectedMap.Options.Difficulties.Any(); - - difficulty = selectedMap.Options.Difficulties.FirstOrDefault(); + difficultyButton.IsDisabled = () => difficultyDisabled; difficultyButton.GetText = () => difficulty ?? "Normal"; difficultyButton.OnMouseDown = _ => { - var options = selectedMap.Options.Difficulties.Select(d => new DropDownOption + var options = difficulties.Select(d => new DropDownOption { Title = d, IsSelected = () => difficulty == d, diff --git a/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs b/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs index 0f42b7e616..9407683635 100644 --- a/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs +++ b/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs @@ -236,7 +236,6 @@ namespace OpenRA.Mods.TS.UtilityCommands map.MapTiles = Exts.Lazy(() => new CellLayer(map.Grid.Type, size)); map.MapHeight = Exts.Lazy(() => new CellLayer(map.Grid.Type, size)); - map.Options = new MapOptions(); map.RequiresMod = modData.Manifest.Mod.Id; return map; diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index eac9c02431..fde435bd22 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -163,7 +163,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - TechLevel: Unrestricted ChromeMetrics: common|metrics.yaml diff --git a/mods/cnc/rules/world.yaml b/mods/cnc/rules/world.yaml index 7a0a5d3b46..3322a2dd44 100644 --- a/mods/cnc/rules/world.yaml +++ b/mods/cnc/rules/world.yaml @@ -75,6 +75,7 @@ World: MapCreeps: SpawnMapActors: MapBuildRadius: + MapOptions: MPStartLocations: CreateMPPlayers: MPStartUnits@mcvonly: diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index b28cfdf68c..c13df25f65 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -156,8 +156,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - StartingUnitsClass: none - TechLevel: Unrestricted ChromeMetrics: common|metrics.yaml diff --git a/mods/d2k/rules/world.yaml b/mods/d2k/rules/world.yaml index 74e52b12ca..4da9d90426 100644 --- a/mods/d2k/rules/world.yaml +++ b/mods/d2k/rules/world.yaml @@ -90,6 +90,7 @@ World: MapCreeps: SpawnMapActors: MapBuildRadius: + MapOptions: CreateMPPlayers: MPStartLocations: MPStartUnits@mcv: diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index d721eff3e2..35163e80f4 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -166,8 +166,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - StartingUnitsClass: none - TechLevel: Unrestricted ChromeMetrics: common|metrics.yaml diff --git a/mods/ra/rules/world.yaml b/mods/ra/rules/world.yaml index 78c91500c7..2b78cfc0e9 100644 --- a/mods/ra/rules/world.yaml +++ b/mods/ra/rules/world.yaml @@ -121,6 +121,7 @@ World: WarheadDebugOverlay: SpawnMapActors: MapBuildRadius: + MapOptions: CreateMPPlayers: MPStartUnits@mcvonly: Class: none diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index e3f6d5ef1c..64903791f4 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -215,7 +215,6 @@ ServerTraits: LobbySettingsNotification LobbyDefaults: - StartingUnitsClass: none ChromeMetrics: common|metrics.yaml diff --git a/mods/ts/rules/world.yaml b/mods/ts/rules/world.yaml index cecc6d4194..2dca965534 100644 --- a/mods/ts/rules/world.yaml +++ b/mods/ts/rules/world.yaml @@ -99,6 +99,7 @@ World: WarheadDebugOverlay: SpawnMapActors: MapBuildRadius: + MapOptions: CreateMPPlayers: MPStartUnits@MCV: Class: none From 8017844a15a2cb5662967c2f686d01b8b67b2c64 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 29 Feb 2016 23:17:21 +0000 Subject: [PATCH 13/21] Remove LobbyDefaults from mod.yaml. --- OpenRA.Game/Manifest.cs | 4 ---- OpenRA.Game/Server/Server.cs | 5 ----- OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs | 1 - mods/all/mod.yaml | 2 -- mods/cnc/mod.yaml | 2 -- mods/d2k/mod.yaml | 2 -- mods/modchooser/mod.yaml | 2 -- mods/ra/mod.yaml | 2 -- mods/ts/mod.yaml | 2 -- 9 files changed, 22 deletions(-) diff --git a/OpenRA.Game/Manifest.cs b/OpenRA.Game/Manifest.cs index 3bfe70e905..1878bae660 100644 --- a/OpenRA.Game/Manifest.cs +++ b/OpenRA.Game/Manifest.cs @@ -44,7 +44,6 @@ namespace OpenRA public readonly IReadOnlyDictionary Packages; public readonly IReadOnlyDictionary MapFolders; public readonly MiniYaml LoadScreen; - public readonly MiniYaml LobbyDefaults; public readonly Dictionary RequiresMods; public readonly Dictionary> Fonts; @@ -98,9 +97,6 @@ namespace OpenRA if (!yaml.TryGetValue("LoadScreen", out LoadScreen)) throw new InvalidDataException("`LoadScreen` section is not defined."); - if (!yaml.TryGetValue("LobbyDefaults", out LobbyDefaults)) - throw new InvalidDataException("`LobbyDefaults` section is not defined."); - Fonts = yaml["Fonts"].ToDictionary(my => { var nd = my.ToDictionary(); diff --git a/OpenRA.Game/Server/Server.cs b/OpenRA.Game/Server/Server.cs index d07f9ed75b..0d14b76022 100644 --- a/OpenRA.Game/Server/Server.cs +++ b/OpenRA.Game/Server/Server.cs @@ -154,8 +154,6 @@ namespace OpenRA.Server } }; - FieldLoader.Load(LobbyInfo.GlobalSettings, modData.Manifest.LobbyDefaults); - new Thread(_ => { foreach (var t in serverTraits.WithInterface()) @@ -608,10 +606,7 @@ namespace OpenRA.Server DispatchOrders(toDrop, frame, new byte[] { 0xbf }); if (!Conns.Any()) - { - FieldLoader.Load(LobbyInfo.GlobalSettings, ModData.Manifest.LobbyDefaults); TempBans.Clear(); - } if (Conns.Any() || LobbyInfo.GlobalSettings.Dedicated) SyncLobbyClients(); diff --git a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs index e273532642..342623f468 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs @@ -24,7 +24,6 @@ namespace OpenRA.Mods.Common.Server return; var defaults = new Session.Global(); - FieldLoader.Load(defaults, Game.ModData.Manifest.LobbyDefaults); if (server.LobbyInfo.GlobalSettings.AllowCheats != defaults.AllowCheats) server.SendOrderTo(conn, "Message", "Allow Cheats: {0}".F(server.LobbyInfo.GlobalSettings.AllowCheats)); diff --git a/mods/all/mod.yaml b/mods/all/mod.yaml index cd68ac6c3e..b45aa40a12 100644 --- a/mods/all/mod.yaml +++ b/mods/all/mod.yaml @@ -31,8 +31,6 @@ ChromeMetrics: Fonts: -LobbyDefaults: - SoundFormats: SpriteFormats: diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index fde435bd22..6ef4201c25 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -162,8 +162,6 @@ ServerTraits: MasterServerPinger LobbySettingsNotification -LobbyDefaults: - ChromeMetrics: common|metrics.yaml cnc|metrics.yaml diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index c13df25f65..293205472d 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -155,8 +155,6 @@ ServerTraits: MasterServerPinger LobbySettingsNotification -LobbyDefaults: - ChromeMetrics: common|metrics.yaml d2k|metrics.yaml diff --git a/mods/modchooser/mod.yaml b/mods/modchooser/mod.yaml index f34ff92ef8..96ce3e0d00 100644 --- a/mods/modchooser/mod.yaml +++ b/mods/modchooser/mod.yaml @@ -53,8 +53,6 @@ Fonts: Font: common|FreeSansBold.ttf Size:10 -LobbyDefaults: - SoundFormats: SpriteFormats: ShpTD diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index 35163e80f4..1a82d24cf8 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -165,8 +165,6 @@ ServerTraits: MasterServerPinger LobbySettingsNotification -LobbyDefaults: - ChromeMetrics: common|metrics.yaml ra|metrics.yaml diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index 64903791f4..371bcdd251 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -214,8 +214,6 @@ ServerTraits: MasterServerPinger LobbySettingsNotification -LobbyDefaults: - ChromeMetrics: common|metrics.yaml ts|metrics.yaml From 668e13b849e653d1ae3ca6d50e3c15802c99f250 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Tue, 1 Mar 2016 21:22:18 +0000 Subject: [PATCH 14/21] Move mission videos to rules. --- OpenRA.Game/Map/Map.cs | 24 ------------ OpenRA.Mods.Common/OpenRA.Mods.Common.csproj | 1 + .../Traits/World/MissionData.cs | 37 ++++++++++++++++++ .../UtilityCommands/ImportLegacyMapCommand.cs | 39 ++++++++++++++----- .../LoadIngamePlayerOrObserverUILogic.cs | 11 ++++-- .../Widgets/Logic/MissionBrowserLogic.cs | 34 ++++++++++------ 6 files changed, 97 insertions(+), 49 deletions(-) create mode 100644 OpenRA.Mods.Common/Traits/World/MissionData.cs diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 3b1e217609..19fa1d1c78 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -56,15 +56,6 @@ namespace OpenRA } } - public class MapVideos - { - public string BackgroundInfo; - public string Briefing; - public string GameStart; - public string GameWon; - public string GameLost; - } - [Flags] public enum MapVisibility { @@ -109,18 +100,6 @@ namespace OpenRA return SubCellOffsets[(int)subCell]; } - [FieldLoader.LoadUsing("LoadVideos")] public MapVideos Videos; - - static object LoadVideos(MiniYaml y) - { - var videos = new MapVideos(); - var nodesDict = y.ToDictionary(); - if (nodesDict.ContainsKey("Videos")) - FieldLoader.Load(videos, nodesDict["Videos"]); - - return videos; - } - public static string ComputeUID(IReadOnlyPackage package) { // UID is calculated by taking an SHA1 of the yaml and binary data @@ -227,7 +206,6 @@ namespace OpenRA MapSize = new int2(size); Tileset = tileset.Id; - Videos = new MapVideos(); MapResources = Exts.Lazy(() => new CellLayer(Grid.Type, size)); @@ -468,9 +446,7 @@ namespace OpenRA root.Add(new MiniYamlNode(field, FieldSaver.FormatValue(this, f))); } - root.Add(new MiniYamlNode("Videos", FieldSaver.SaveDifferences(Videos, new MapVideos()))); root.Add(new MiniYamlNode("Players", null, PlayerDefinitions)); - root.Add(new MiniYamlNode("Actors", null, ActorDefinitions)); root.Add(new MiniYamlNode("Smudges", null, SmudgeDefinitions)); root.Add(new MiniYamlNode("Rules", null, RuleDefinitions)); diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index 48f6a2d047..915b947708 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -735,6 +735,7 @@ + diff --git a/OpenRA.Mods.Common/Traits/World/MissionData.cs b/OpenRA.Mods.Common/Traits/World/MissionData.cs new file mode 100644 index 0000000000..04817ce7b5 --- /dev/null +++ b/OpenRA.Mods.Common/Traits/World/MissionData.cs @@ -0,0 +1,37 @@ +#region Copyright & License Information +/* + * Copyright 2007-2016 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System.Collections.Generic; +using OpenRA.Traits; + +namespace OpenRA.Mods.Common.Traits +{ + [Desc("Defines the FMVs that can be played by missions.")] + public class MissionDataInfo : TraitInfo + { + [Desc("Played by the \"Background Info\" button in the mission browser.")] + public readonly string BackgroundVideo; + + [Desc("Played by the \"Briefing\" button in the mission browser.")] + public readonly string BriefingVideo; + + [Desc("Automatically played before starting the mission.")] + public readonly string StartVideo; + + [Desc("Automatically played when the player wins the mission.")] + public readonly string WinVideo; + + [Desc("Automatically played when the player loses the mission.")] + public readonly string LossVideo; + } + + public class MissionData { } +} diff --git a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs index 4ac7bb7dc0..2a1e18e287 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs @@ -35,6 +35,7 @@ namespace OpenRA.Mods.Common.UtilityCommands public Map Map; public List Players = new List(); public MapPlayers MapPlayers; + public MiniYaml Rules = new MiniYaml(""); public bool ValidateArguments(string[] args) { @@ -75,7 +76,7 @@ namespace OpenRA.Mods.Common.UtilityCommands ReadPacks(file, filename); ReadTrees(file); - Map.Videos = LoadVideos(file, "BASIC"); + LoadVideos(file, "BASIC"); ReadActors(file); @@ -93,6 +94,8 @@ namespace OpenRA.Mods.Common.UtilityCommands Map.FixOpenAreas(); + Map.RuleDefinitions = Rules.Nodes; + var dest = Path.GetFileNameWithoutExtension(args[1]) + ".oramap"; var package = new ZipFile(modData.ModFiles, dest, true); Map.Save(package); @@ -144,10 +147,9 @@ namespace OpenRA.Mods.Common.UtilityCommands public abstract void ReadPacks(IniFile file, string filename); - static MapVideos LoadVideos(IniFile file, string section) + void LoadVideos(IniFile file, string section) { - var videos = new MapVideos(); - + var videos = new List(); foreach (var s in file.GetSection(section)) { if (s.Value != "x" && s.Value != "") @@ -155,25 +157,42 @@ namespace OpenRA.Mods.Common.UtilityCommands switch (s.Key) { case "Intro": - videos.BackgroundInfo = s.Value.ToLower() + ".vqa"; + videos.Add(new MiniYamlNode("BackgroundVideo", s.Value.ToLower() + ".vqa")); break; case "Brief": - videos.Briefing = s.Value.ToLower() + ".vqa"; + videos.Add(new MiniYamlNode("BriefingVideo", s.Value.ToLower() + ".vqa")); break; case "Action": - videos.GameStart = s.Value.ToLower() + ".vqa"; + videos.Add(new MiniYamlNode("StartVideo", s.Value.ToLower() + ".vqa")); break; case "Win": - videos.GameWon = s.Value.ToLower() + ".vqa"; + videos.Add(new MiniYamlNode("WinVideo", s.Value.ToLower() + ".vqa")); break; case "Lose": - videos.GameLost = s.Value.ToLower() + ".vqa"; + videos.Add(new MiniYamlNode("LossVideo", s.Value.ToLower() + ".vqa")); break; } } } - return videos; + if (videos.Any()) + { + var worldNode = Rules.Nodes.FirstOrDefault(n => n.Key == "World"); + if (worldNode == null) + { + worldNode = new MiniYamlNode("World", new MiniYaml("", new List())); + Rules.Nodes.Add(worldNode); + } + + var missionData = worldNode.Value.Nodes.FirstOrDefault(n => n.Key == "MissionData"); + if (missionData == null) + { + missionData = new MiniYamlNode("MissionData", new MiniYaml("", new List())); + worldNode.Value.Nodes.Add(missionData); + } + + missionData.Value.Nodes.AddRange(videos); + } } public virtual void ReadActors(IniFile file) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/LoadIngamePlayerOrObserverUILogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/LoadIngamePlayerOrObserverUILogic.cs index 51be133f18..e51a32d3ff 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/LoadIngamePlayerOrObserverUILogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/LoadIngamePlayerOrObserverUILogic.cs @@ -63,10 +63,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (world.LocalPlayer != null) { var scriptContext = world.WorldActor.TraitOrDefault(); - var video = world.LocalPlayer.WinState == WinState.Won ? world.Map.Videos.GameWon : world.Map.Videos.GameLost; - - if (!string.IsNullOrEmpty(video) && !(scriptContext != null && scriptContext.FatalErrorOccurred)) - Media.PlayFMVFullscreen(world, video, () => { }); + var missionData = world.WorldActor.Info.TraitInfoOrDefault(); + if (missionData != null && !(scriptContext != null && scriptContext.FatalErrorOccurred)) + { + var video = world.LocalPlayer.WinState == WinState.Won ? missionData.WinVideo : missionData.LossVideo; + if (!string.IsNullOrEmpty(video)) + Media.PlayFMVFullscreen(world, video, () => { }); + } } var optionsButton = playerRoot.GetOrNull("OPTIONS_BUTTON"); diff --git a/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs index 8e201b70cb..c2d0bb9782 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs @@ -181,6 +181,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic var difficultyDisabled = true; var difficulties = new string[0]; + var briefingVideo = ""; + var briefingVideoVisible = false; + var briefingVideoDisabled = true; + + var infoVideo = ""; + var infoVideoVisible = false; + var infoVideoDisabled = true; + new Thread(() => { selectedMap.PreloadRules(); @@ -189,16 +197,20 @@ namespace OpenRA.Mods.Common.Widgets.Logic difficulty = mapOptions.Difficulty ?? mapOptions.Difficulties.FirstOrDefault(); difficulties = mapOptions.Difficulties; difficultyDisabled = mapOptions.DifficultyLocked || mapOptions.Difficulties.Length <= 1; + + var missionData = selectedMap.Rules.Actors["world"].TraitInfoOrDefault(); + if (missionData != null) + { + briefingVideo = missionData.BriefingVideo; + briefingVideoVisible = briefingVideo != null; + briefingVideoDisabled = !(briefingVideoVisible && modData.DefaultFileSystem.Exists(briefingVideo)); + + infoVideo = missionData.BackgroundVideo; + infoVideoVisible = infoVideo != null; + infoVideoDisabled = !(infoVideoVisible && modData.DefaultFileSystem.Exists(infoVideo)); + } }).Start(); - var briefingVideo = selectedMap.Videos.Briefing; - var briefingVideoVisible = briefingVideo != null; - var briefingVideoDisabled = !(briefingVideoVisible && modData.DefaultFileSystem.Exists(briefingVideo)); - - var infoVideo = selectedMap.Videos.BackgroundInfo; - var infoVideoVisible = infoVideo != null; - var infoVideoDisabled = !(infoVideoVisible && modData.DefaultFileSystem.Exists(infoVideo)); - startBriefingVideoButton.IsVisible = () => briefingVideoVisible && playingVideo != PlayingVideo.Briefing; startBriefingVideoButton.IsDisabled = () => briefingVideoDisabled || playingVideo != PlayingVideo.None; startBriefingVideoButton.OnClick = () => PlayVideo(videoPlayer, briefingVideo, PlayingVideo.Briefing, () => StopVideo(videoPlayer)); @@ -314,18 +326,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (selectedMap.InvalidCustomRules) return; - var gameStartVideo = selectedMap.Videos.GameStart; var orders = new[] { Order.Command("gamespeed {0}".F(gameSpeed)), Order.Command("difficulty {0}".F(difficulty)), Order.Command("state {0}".F(Session.ClientState.Ready)) }; - if (gameStartVideo != null && modData.DefaultFileSystem.Exists(gameStartVideo)) + var missionData = selectedMap.Rules.Actors["world"].TraitInfoOrDefault(); + if (missionData != null && missionData.StartVideo != null && modData.DefaultFileSystem.Exists(missionData.StartVideo)) { var fsPlayer = fullscreenVideoPlayer.Get("PLAYER"); fullscreenVideoPlayer.Visible = true; - PlayVideo(fsPlayer, gameStartVideo, PlayingVideo.GameStart, () => + PlayVideo(fsPlayer, missionData.StartVideo, PlayingVideo.GameStart, () => { StopVideo(fsPlayer); Game.CreateAndStartLocalServer(selectedMapPreview.Uid, orders, onStart); From 01a14d9ae5ffe5272537f4cc2257267d1314acf9 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 2 Mar 2016 20:56:46 +0000 Subject: [PATCH 15/21] Move mission briefing to rules. --- OpenRA.Game/Map/Map.cs | 3 -- .../Traits/World/MissionData.cs | 3 ++ .../UtilityCommands/ImportLegacyMapCommand.cs | 26 +++++++++++++--- .../Widgets/Logic/Editor/SaveMapLogic.cs | 5 --- .../Logic/Ingame/GameInfoBriefingLogic.cs | 17 ++++++---- .../Widgets/Logic/MissionBrowserLogic.cs | 24 +++++++++----- mods/cnc/chrome/editor.yaml | 31 ++++++------------- mods/ra/chrome/editor.yaml | 29 +++++------------ 8 files changed, 68 insertions(+), 70 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 19fa1d1c78..476b201405 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -86,7 +86,6 @@ namespace OpenRA public string Title; public string Type = "Conquest"; - public string Description; public string Author; public string Tileset; public Bitmap CustomPreview; @@ -201,7 +200,6 @@ namespace OpenRA var tileRef = new TerrainTile(tileset.Templates.First().Key, 0); Title = "Name your map here"; - Description = "Describe your map here"; Author = "Your name here"; MapSize = new int2(size); @@ -429,7 +427,6 @@ namespace OpenRA "MapFormat", "RequiresMod", "Title", - "Description", "Author", "Tileset", "MapSize", diff --git a/OpenRA.Mods.Common/Traits/World/MissionData.cs b/OpenRA.Mods.Common/Traits/World/MissionData.cs index 04817ce7b5..5c7370974b 100644 --- a/OpenRA.Mods.Common/Traits/World/MissionData.cs +++ b/OpenRA.Mods.Common/Traits/World/MissionData.cs @@ -17,6 +17,9 @@ namespace OpenRA.Mods.Common.Traits [Desc("Defines the FMVs that can be played by missions.")] public class MissionDataInfo : TraitInfo { + [Desc("Briefing text displayed in the mission browser.")] + public readonly string Briefing; + [Desc("Played by the \"Background Info\" button in the mission browser.")] public readonly string BackgroundVideo; diff --git a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs index 2a1e18e287..b64cfe17c9 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs @@ -67,8 +67,6 @@ namespace OpenRA.Mods.Common.UtilityCommands Author = "Westwood Studios" }; - Map.Description = ExtractBriefing(file); - Map.RequiresMod = modData.Manifest.Mod.Id; SetBounds(Map, mapSection); @@ -77,6 +75,7 @@ namespace OpenRA.Mods.Common.UtilityCommands ReadTrees(file); LoadVideos(file, "BASIC"); + LoadBriefing(file); ReadActors(file); @@ -120,17 +119,34 @@ namespace OpenRA.Mods.Common.UtilityCommands public abstract void ValidateMapFormat(int format); - static string ExtractBriefing(IniFile file) + void LoadBriefing(IniFile file) { var briefingSection = file.GetSection("Briefing", true); if (briefingSection == null) - return string.Empty; + return; var briefing = new StringBuilder(); foreach (var s in briefingSection) briefing.AppendLine(s.Value); - return briefing.Replace("\n", " ").ToString(); + if (briefing.Length == 0) + return; + + var worldNode = Rules.Nodes.FirstOrDefault(n => n.Key == "World"); + if (worldNode == null) + { + worldNode = new MiniYamlNode("World", new MiniYaml("", new List())); + Rules.Nodes.Add(worldNode); + } + + var missionData = worldNode.Value.Nodes.FirstOrDefault(n => n.Key == "MissionData"); + if (missionData == null) + { + missionData = new MiniYamlNode("MissionData", new MiniYaml("", new List())); + worldNode.Value.Nodes.Add(missionData); + } + + missionData.Value.Nodes.Add(new MiniYamlNode("Briefing", briefing.Replace("\n", " ").ToString())); } static void SetBounds(Map map, IniSection mapSection) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs index 5dcd4a7d8b..4f89cebd16 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs @@ -52,10 +52,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic var author = widget.Get("AUTHOR"); author.Text = map.Author; - // TODO: This should use a multi-line textfield once they exist - var description = widget.Get("DESCRIPTION"); - description.Text = map.Description; - // TODO: This should use a multi-selection dropdown once they exist var visibilityDropdown = widget.Get("VISIBILITY_DROPDOWN"); { @@ -160,7 +156,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic return; map.Title = title.Text; - map.Description = description.Text; map.Author = author.Text; map.Visibility = (MapVisibility)Enum.Parse(typeof(MapVisibility), visibilityDropdown.Text); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoBriefingLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoBriefingLogic.cs index ef0622cff6..b029c32c16 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoBriefingLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/GameInfoBriefingLogic.cs @@ -9,6 +9,7 @@ */ #endregion +using OpenRA.Mods.Common.Traits; using OpenRA.Widgets; namespace OpenRA.Mods.Common.Widgets.Logic @@ -24,12 +25,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic var mapDescriptionPanel = widget.Get("MAP_DESCRIPTION_PANEL"); var mapDescription = widget.Get("MAP_DESCRIPTION"); var mapFont = Game.Renderer.Fonts[mapDescription.Font]; - var text = world.Map.Description != null ? world.Map.Description.Replace("\\n", "\n") : ""; - text = WidgetUtils.WrapText(text, mapDescription.Bounds.Width, mapFont); - mapDescription.Text = text; - mapDescription.Bounds.Height = mapFont.Measure(text).Y; - mapDescriptionPanel.ScrollToTop(); - mapDescriptionPanel.Layout.AdjustChildren(); + + var missionData = world.Map.Rules.Actors["world"].TraitInfoOrDefault(); + if (missionData != null) + { + var text = WidgetUtils.WrapText(missionData.Briefing.Replace("\\n", "\n"), mapDescription.Bounds.Width, mapFont); + mapDescription.Text = text; + mapDescription.Bounds.Height = mapFont.Measure(text).Y; + mapDescriptionPanel.ScrollToTop(); + mapDescriptionPanel.Layout.AdjustChildren(); + } } } } diff --git a/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs index c2d0bb9782..484fc132f6 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MissionBrowserLogic.cs @@ -189,16 +189,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic var infoVideoVisible = false; var infoVideoDisabled = true; + var map = selectedMap; new Thread(() => { - selectedMap.PreloadRules(); - var mapOptions = selectedMap.Rules.Actors["world"].TraitInfo(); + map.PreloadRules(); + var mapOptions = map.Rules.Actors["world"].TraitInfo(); difficulty = mapOptions.Difficulty ?? mapOptions.Difficulties.FirstOrDefault(); difficulties = mapOptions.Difficulties; difficultyDisabled = mapOptions.DifficultyLocked || mapOptions.Difficulties.Length <= 1; - var missionData = selectedMap.Rules.Actors["world"].TraitInfoOrDefault(); + var missionData = map.Rules.Actors["world"].TraitInfoOrDefault(); if (missionData != null) { briefingVideo = missionData.BriefingVideo; @@ -208,6 +209,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic infoVideo = missionData.BackgroundVideo; infoVideoVisible = infoVideo != null; infoVideoDisabled = !(infoVideoVisible && modData.DefaultFileSystem.Exists(infoVideo)); + + var briefing = WidgetUtils.WrapText(missionData.Briefing.Replace("\\n", "\n"), description.Bounds.Width, descriptionFont); + var height = descriptionFont.Measure(briefing).Y; + Game.RunAfterTick(() => + { + if (map == selectedMap) + { + description.Text = briefing; + description.Bounds.Height = height; + descriptionPanel.Layout.AdjustChildren(); + } + }); } }).Start(); @@ -219,12 +232,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic startInfoVideoButton.IsDisabled = () => infoVideoDisabled || playingVideo != PlayingVideo.None; startInfoVideoButton.OnClick = () => PlayVideo(videoPlayer, infoVideo, PlayingVideo.Info, () => StopVideo(videoPlayer)); - var text = selectedMap.Description != null ? selectedMap.Description.Replace("\\n", "\n") : ""; - text = WidgetUtils.WrapText(text, description.Bounds.Width, descriptionFont); - description.Text = text; - description.Bounds.Height = descriptionFont.Measure(text).Y; descriptionPanel.ScrollToTop(); - descriptionPanel.Layout.AdjustChildren(); if (difficultyButton != null) { diff --git a/mods/cnc/chrome/editor.yaml b/mods/cnc/chrome/editor.yaml index f36150d269..6da45a9ad9 100644 --- a/mods/cnc/chrome/editor.yaml +++ b/mods/cnc/chrome/editor.yaml @@ -78,7 +78,7 @@ Background@SAVE_MAP_PANEL: X: (WINDOW_RIGHT - WIDTH)/2 Y: (WINDOW_BOTTOM - HEIGHT)/2 Width: 345 - Height: 264 + Height: 229 Children: Label@LABEL_TITLE: Text: Save Map @@ -89,7 +89,7 @@ Background@SAVE_MAP_PANEL: Align: Center Background@SAVE_MAP_BACKGROUND: Width: PARENT_RIGHT - Height: 230 + Height: 195 Background: panel-black Children: Label@TITLE_LABEL: @@ -118,60 +118,47 @@ Background@SAVE_MAP_PANEL: Width: 220 MaxLength: 50 Height: 25 - Label@DESCRIPTION_LABEL: - X: 10 - Y: 84 - Width: 95 - Height: 25 - Align: Right - Text: Description: - TextField@DESCRIPTION: - X: 110 - Y: 85 - Width: 220 - MaxLength: 50 - Height: 25 Label@VISIBILITY_LABEL: X: 10 - Y: 119 + Y: 84 Width: 95 Height: 25 Align: Right Text: Visibility: DropDownButton@VISIBILITY_DROPDOWN: X: 110 - Y: 120 + Y: 85 Width: 220 Height: 25 Font: Regular Label@DIRECTORY_LABEL: X: 10 - Y: 154 + Y: 119 Width: 95 Height: 25 Align: Right Text: Directory: DropDownButton@DIRECTORY_DROPDOWN: X: 110 - Y: 155 + Y: 120 Width: 220 Height: 25 Font: Regular Label@FILENAME_LABEL: X: 10 - Y: 189 + Y: 154 Width: 95 Height: 25 Align: Right Text: Filename: TextField@FILENAME: X: 110 - Y: 190 + Y: 155 Width: 105 Height: 25 DropDownButton@TYPE_DROPDOWN: X: 220 - Y: 190 + Y: 155 Width: 110 Height: 25 Font: Regular diff --git a/mods/ra/chrome/editor.yaml b/mods/ra/chrome/editor.yaml index 864561c3b8..9cb9d32a56 100644 --- a/mods/ra/chrome/editor.yaml +++ b/mods/ra/chrome/editor.yaml @@ -75,7 +75,7 @@ Background@SAVE_MAP_PANEL: X: (WINDOW_RIGHT - WIDTH)/2 Y: (WINDOW_BOTTOM - HEIGHT)/2 Width: 350 - Height: 335 + Height: 300 Children: Label@LABEL_TITLE: X: (PARENT_RIGHT - WIDTH)/2 @@ -111,58 +111,45 @@ Background@SAVE_MAP_PANEL: Width: 220 MaxLength: 50 Height: 25 - Label@DESCRIPTION_LABEL: - X: 10 - Y: 129 - Width: 95 - Height: 25 - Align: Right - Text: Description: - TextField@DESCRIPTION: - X: 110 - Y: 130 - Width: 220 - MaxLength: 50 - Height: 25 Label@VISIBILITY_LABEL: X: 10 - Y: 164 + Y: 129 Width: 95 Height: 25 Align: Right Text: Visibility: DropDownButton@VISIBILITY_DROPDOWN: X: 110 - Y: 165 + Y: 130 Width: 220 Height: 25 Label@DIRECTORY_LABEL: X: 10 - Y: 199 + Y: 164 Width: 95 Height: 25 Align: Right Text: Directory: DropDownButton@DIRECTORY_DROPDOWN: X: 110 - Y: 200 + Y: 165 Width: 220 Height: 25 Label@FILENAME_LABEL: X: 10 - Y: 234 + Y: 199 Width: 95 Height: 25 Align: Right Text: Filename: TextField@FILENAME: X: 110 - Y: 235 + Y: 200 Width: 105 Height: 25 DropDownButton@TYPE_DROPDOWN: X: 220 - Y: 235 + Y: 200 Width: 110 Height: 25 Button@SAVE_BUTTON: From 4a7dfb9d4c1a32e62130a04f4d65d3b505a882bd Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 2 Mar 2016 00:18:09 +0000 Subject: [PATCH 16/21] Add upgrade rules for Map format 8 -> 9. --- OpenRA.Game/Map/Map.cs | 2 +- .../UtilityCommands/UpgradeRules.cs | 167 +++++++++++++++++- 2 files changed, 164 insertions(+), 5 deletions(-) diff --git a/OpenRA.Game/Map/Map.cs b/OpenRA.Game/Map/Map.cs index 476b201405..3767d51456 100644 --- a/OpenRA.Game/Map/Map.cs +++ b/OpenRA.Game/Map/Map.cs @@ -66,7 +66,7 @@ namespace OpenRA public class Map : IReadOnlyFileSystem { - public const int SupportedMapFormat = 8; + public const int SupportedMapFormat = 9; public const int MaxTilesInCircleRange = 50; public readonly MapGrid Grid; diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs index b40c525ee2..97e7099097 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs @@ -728,10 +728,6 @@ namespace OpenRA.Mods.Common.UtilityCommands if (mapFormat < 6) throw new InvalidDataException("Map format {0} is not supported.\n File: {1}".F(mapFormat, package.Name)); - // Nothing to do - if (mapFormat >= 8) - return; - // Format 6 -> 7 combined the Selectable and UseAsShellmap flags into the Class enum if (mapFormat < 7) { @@ -790,6 +786,169 @@ namespace OpenRA.Mods.Common.UtilityCommands } } + // Format 8 -> 9 moved map options and videos from the map file itself to traits + if (mapFormat < 9) + { + var rules = yaml.Nodes.FirstOrDefault(n => n.Key == "Rules"); + var worldNode = rules.Value.Nodes.FirstOrDefault(n => n.Key == "World"); + if (worldNode == null) + worldNode = new MiniYamlNode("World", new MiniYaml("", new List())); + + var playerNode = rules.Value.Nodes.FirstOrDefault(n => n.Key == "Player"); + if (playerNode == null) + playerNode = new MiniYamlNode("Player", new MiniYaml("", new List())); + + var visibilityNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Visibility"); + if (visibilityNode != null) + { + var visibility = FieldLoader.GetValue("Visibility", visibilityNode.Value.Value); + if (visibility.HasFlag(MapVisibility.MissionSelector)) + { + var missionData = new MiniYamlNode("MissionData", new MiniYaml("", new List())); + worldNode.Value.Nodes.Add(missionData); + + var description = yaml.Nodes.FirstOrDefault(n => n.Key == "Description"); + if (description != null) + missionData.Value.Nodes.Add(new MiniYamlNode("Briefing", description.Value.Value)); + + var videos = yaml.Nodes.FirstOrDefault(n => n.Key == "Videos"); + if (videos != null && videos.Value.Nodes.Any()) + { + var backgroundVideo = videos.Value.Nodes.FirstOrDefault(n => n.Key == "BackgroundInfo"); + if (backgroundVideo != null) + missionData.Value.Nodes.Add(new MiniYamlNode("BackgroundVideo", backgroundVideo.Value.Value)); + + var briefingVideo = videos.Value.Nodes.FirstOrDefault(n => n.Key == "Briefing"); + if (briefingVideo != null) + missionData.Value.Nodes.Add(new MiniYamlNode("BriefingVideo", briefingVideo.Value.Value)); + + var startVideo = videos.Value.Nodes.FirstOrDefault(n => n.Key == "GameStart"); + if (startVideo != null) + missionData.Value.Nodes.Add(new MiniYamlNode("StartVideo", startVideo.Value.Value)); + + var winVideo = videos.Value.Nodes.FirstOrDefault(n => n.Key == "GameWon"); + if (winVideo != null) + missionData.Value.Nodes.Add(new MiniYamlNode("WinVideo", winVideo.Value.Value)); + + var lossVideo = videos.Value.Nodes.FirstOrDefault(n => n.Key == "GameLost"); + if (lossVideo != null) + missionData.Value.Nodes.Add(new MiniYamlNode("LossVideo", lossVideo.Value.Value)); + } + } + } + + var mapOptions = yaml.Nodes.FirstOrDefault(n => n.Key == "Options"); + if (mapOptions != null) + { + var cheats = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "Cheats"); + if (cheats != null) + { + worldNode.Value.Nodes.Add(new MiniYamlNode("DeveloperMode", new MiniYaml("", new List() + { + new MiniYamlNode("Locked", "True"), + new MiniYamlNode("Enabled", cheats.Value.Value) + }))); + } + + var crates = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "Crates"); + if (crates != null && !worldNode.Value.Nodes.Any(n => n.Key == "-CrateSpawner")) + { + if (!FieldLoader.GetValue("crates", crates.Value.Value)) + worldNode.Value.Nodes.Add(new MiniYamlNode("-CrateSpawner", new MiniYaml(""))); + } + + var creeps = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "Creeps"); + if (creeps != null) + { + worldNode.Value.Nodes.Add(new MiniYamlNode("MapCreeps", new MiniYaml("", new List() + { + new MiniYamlNode("Locked", "True"), + new MiniYamlNode("Enabled", creeps.Value.Value) + }))); + } + + var fog = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "Fog"); + var shroud = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "Shroud"); + if (fog != null || shroud != null) + { + var shroudNode = new MiniYamlNode("Shroud", new MiniYaml("", new List())); + playerNode.Value.Nodes.Add(shroudNode); + + if (fog != null) + { + shroudNode.Value.Nodes.Add(new MiniYamlNode("FogLocked", "True")); + shroudNode.Value.Nodes.Add(new MiniYamlNode("FogEnabled", fog.Value.Value)); + } + + if (shroud != null) + { + var enabled = FieldLoader.GetValue("shroud", shroud.Value.Value); + shroudNode.Value.Nodes.Add(new MiniYamlNode("ExploredMapLocked", "True")); + shroudNode.Value.Nodes.Add(new MiniYamlNode("ExploredMapEnabled", FieldSaver.FormatValue(!enabled))); + } + } + + var allyBuildRadius = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "AllyBuildRadius"); + if (allyBuildRadius != null) + { + worldNode.Value.Nodes.Add(new MiniYamlNode("MapBuildRadius", new MiniYaml("", new List() + { + new MiniYamlNode("AllyBuildRadiusLocked", "True"), + new MiniYamlNode("AllyBuildRadiusEnabled", allyBuildRadius.Value.Value) + }))); + } + + var startingCash = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "StartingCash"); + if (startingCash != null) + { + playerNode.Value.Nodes.Add(new MiniYamlNode("PlayerResources", new MiniYaml("", new List() + { + new MiniYamlNode("DefaultCashLocked", "True"), + new MiniYamlNode("DefaultCash", startingCash.Value.Value) + }))); + } + + var startingUnits = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "ConfigurableStartingUnits"); + if (startingUnits != null && !worldNode.Value.Nodes.Any(n => n.Key == "-SpawnMPUnits")) + { + worldNode.Value.Nodes.Add(new MiniYamlNode("SpawnMPUnits", new MiniYaml("", new List() + { + new MiniYamlNode("Locked", "True"), + }))); + } + + var techLevel = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "TechLevel"); + var difficulties = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "Difficulties"); + var shortGame = mapOptions.Value.Nodes.FirstOrDefault(n => n.Key == "ShortGame"); + if (techLevel != null || difficulties != null || shortGame != null) + { + var optionsNode = new MiniYamlNode("MapOptions", new MiniYaml("", new List())); + worldNode.Value.Nodes.Add(optionsNode); + + if (techLevel != null) + { + optionsNode.Value.Nodes.Add(new MiniYamlNode("TechLevelLocked", "True")); + optionsNode.Value.Nodes.Add(new MiniYamlNode("TechLevel", techLevel.Value.Value)); + } + + if (difficulties != null) + optionsNode.Value.Nodes.Add(new MiniYamlNode("Difficulties", difficulties.Value.Value)); + + if (shortGame != null) + { + optionsNode.Value.Nodes.Add(new MiniYamlNode("ShortGameLocked", "True")); + optionsNode.Value.Nodes.Add(new MiniYamlNode("ShortGameEnabled", shortGame.Value.Value)); + } + } + } + + if (worldNode.Value.Nodes.Any() && !rules.Value.Nodes.Contains(worldNode)) + rules.Value.Nodes.Add(worldNode); + + if (playerNode.Value.Nodes.Any() && !rules.Value.Nodes.Contains(playerNode)) + rules.Value.Nodes.Add(playerNode); + } + yaml.Nodes.First(n => n.Key == "MapFormat").Value = new MiniYaml(Map.SupportedMapFormat.ToString()); package.Update("map.yaml", Encoding.UTF8.GetBytes(yaml.Nodes.WriteToString())); From 551655751520a6aadcb9a91a4f9f984a38580fb0 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 2 Mar 2016 21:06:03 +0000 Subject: [PATCH 17/21] Upgrade D2K maps to format 9. --- mods/d2k/maps/atreides-01a/map.yaml | 43 ++++++++++++++------------ mods/d2k/maps/atreides-01b/map.yaml | 43 ++++++++++++++------------ mods/d2k/maps/atreides-02a/map.yaml | 43 ++++++++++++++------------ mods/d2k/maps/atreides-02b/map.yaml | 43 ++++++++++++++------------ mods/d2k/maps/atreides-03a/map.yaml | 43 ++++++++++++++------------ mods/d2k/maps/battle-for-dune.oramap | Bin 13470 -> 13443 bytes mods/d2k/maps/death-depths.oramap | Bin 13215 -> 13190 bytes mods/d2k/maps/desert-twister.oramap | Bin 11807 -> 11788 bytes mods/d2k/maps/eyesofthedesert.oramap | Bin 14866 -> 14833 bytes mods/d2k/maps/imperial-basin.oramap | Bin 17175 -> 17127 bytes mods/d2k/maps/kanly.oramap | Bin 9299 -> 9271 bytes mods/d2k/maps/mount-idaho/map.yaml | 6 +--- mods/d2k/maps/oasis-conquest/map.yaml | 8 +---- mods/d2k/maps/pasty-mesa/map.yaml | 6 +--- mods/d2k/maps/shellmap/map.yaml | 8 +---- mods/d2k/maps/the-duell.oramap | Bin 12061 -> 12006 bytes mods/d2k/maps/tucks-sietch.oramap | Bin 8158 -> 8130 bytes mods/d2k/maps/venac-ditch.oramap | Bin 14558 -> 14502 bytes mods/d2k/maps/vladimirs-folly.oramap | Bin 12133 -> 12105 bytes 19 files changed, 124 insertions(+), 119 deletions(-) diff --git a/mods/d2k/maps/atreides-01a/map.yaml b/mods/d2k/maps/atreides-01a/map.yaml index 592dcac56c..4286f82986 100644 --- a/mods/d2k/maps/atreides-01a/map.yaml +++ b/mods/d2k/maps/atreides-01a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: d2k Title: Atreides 01a -Description: Harvest Spice from the Imperial Basin. Construct a Spice Refinery and defend it against the Harkonnen troops scattered throughout the basin. You have been assigned only limited offensive forces - use them wisely.\n\nYou will have to learn the subtleties of mining as you go, but remember to build Silos to store the Spice. When you run out of storage space you can not gather more Spice. Also, any building without adequate concrete foundation will need immediate repair and be vulnerable to erosive damage from the harsh environment. Your greatest adversary may be the elements.\n\nGood luck.\n - Author: Westwood Studios Tileset: ARRAKIS @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: A_BR01_E.VQA - -Options: - Crates: False - Creeps: True - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 2300 - TechLevel: Low - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -134,6 +116,14 @@ Rules: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 2300 World: -CrateSpawner: -SpawnMPUnits: @@ -145,6 +135,21 @@ Rules: WormManager: Minimum: 1 Maximum: 1 + MissionData: + Briefing: Harvest Spice from the Imperial Basin. Construct a Spice Refinery and defend it against the Harkonnen troops scattered throughout the basin. You have been assigned only limited offensive forces - use them wisely.\n\nYou will have to learn the subtleties of mining as you go, but remember to build Silos to store the Spice. When you run out of storage space you can not gather more Spice. Also, any building without adequate concrete foundation will need immediate repair and be vulnerable to erosive damage from the harsh environment. Your greatest adversary may be the elements.\n\nGood luck.\n + BriefingVideo: A_BR01_E.VQA + MapCreeps: + Locked: True + Enabled: True + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Low + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False construction_yard: Production: Produces: Building diff --git a/mods/d2k/maps/atreides-01b/map.yaml b/mods/d2k/maps/atreides-01b/map.yaml index de5ad5ce68..1d0e06cecb 100644 --- a/mods/d2k/maps/atreides-01b/map.yaml +++ b/mods/d2k/maps/atreides-01b/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: d2k Title: Atreides 01b -Description: Harvest Spice from the Imperial Basin. Construct a Spice Refinery and defend it against the Harkonnen troops scattered throughout the basin. You have been assigned only limited offensive forces - use them wisely.\n\nYou will have to learn the subtleties of mining as you go, but remember to build Silos to store the Spice. When you run out of storage space you can not gather more Spice. Also, any building without adequate concrete foundation will need immediate repair and be vulnerable to erosive damage from the harsh environment. Your greatest adversary may be the elements.\n\nGood luck.\n - Author: Westwood Studios Tileset: ARRAKIS @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: A_BR01_E.VQA - -Options: - Crates: False - Creeps: True - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 2300 - TechLevel: Low - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -133,6 +115,14 @@ Rules: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 2300 World: -CrateSpawner: -SpawnMPUnits: @@ -144,6 +134,21 @@ Rules: WormManager: Minimum: 1 Maximum: 1 + MissionData: + Briefing: Harvest Spice from the Imperial Basin. Construct a Spice Refinery and defend it against the Harkonnen troops scattered throughout the basin. You have been assigned only limited offensive forces - use them wisely.\n\nYou will have to learn the subtleties of mining as you go, but remember to build Silos to store the Spice. When you run out of storage space you can not gather more Spice. Also, any building without adequate concrete foundation will need immediate repair and be vulnerable to erosive damage from the harsh environment. Your greatest adversary may be the elements.\n\nGood luck.\n + BriefingVideo: A_BR01_E.VQA + MapCreeps: + Locked: True + Enabled: True + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Low + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False construction_yard: Production: Produces: Building diff --git a/mods/d2k/maps/atreides-02a/map.yaml b/mods/d2k/maps/atreides-02a/map.yaml index 294c0e37c5..4756c83559 100644 --- a/mods/d2k/maps/atreides-02a/map.yaml +++ b/mods/d2k/maps/atreides-02a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: d2k Title: Atreides 02a -Description: Infiltrate the Imperial Basin and build up our forces until they are strong enough to eradicate the local Harkonnen presence.\n\nThe Harkonnen are reinforcing their troops by air, so be on your guard. Use the Outpost's radar to detect attacks from unexpected quarters.\n\nBe careful when mining the Spice. Spice mounds grow out of the sand. While a vital source of Spice, Spice mounds can damage or destroy any unit that blunders into them.\n\nGood luck.\n - Author: Westwood Studios Tileset: ARRAKIS @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: A_BR02_E.VQA - -Options: - Crates: False - Creeps: True - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Low - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -191,6 +173,14 @@ Rules: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -202,6 +192,21 @@ Rules: WormManager: Minimum: 1 Maximum: 1 + MissionData: + Briefing: Infiltrate the Imperial Basin and build up our forces until they are strong enough to eradicate the local Harkonnen presence.\n\nThe Harkonnen are reinforcing their troops by air, so be on your guard. Use the Outpost's radar to detect attacks from unexpected quarters.\n\nBe careful when mining the Spice. Spice mounds grow out of the sand. While a vital source of Spice, Spice mounds can damage or destroy any unit that blunders into them.\n\nGood luck.\n + BriefingVideo: A_BR02_E.VQA + MapCreeps: + Locked: True + Enabled: True + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Low + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False carryall.reinforce: Cargo: MaxWeight: 10 diff --git a/mods/d2k/maps/atreides-02b/map.yaml b/mods/d2k/maps/atreides-02b/map.yaml index fe9eb172f4..dc56fdff3c 100644 --- a/mods/d2k/maps/atreides-02b/map.yaml +++ b/mods/d2k/maps/atreides-02b/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: d2k Title: Atreides 02b -Description: Infiltrate the Imperial Basin and build up our forces until they are strong enough to eradicate the local Harkonnen presence.\n\nThe Harkonnen are reinforcing their troops by air, so be on your guard. Use the Outpost's radar to detect attacks from unexpected quarters.\n\nBe careful when mining the Spice. Spice mounds grow out of the sand. While a vital source of Spice, Spice mounds can damage or destroy any unit that blunders into them.\n\nGood luck.\n - Author: Westwood Studios Tileset: ARRAKIS @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: A_BR02_E.VQA - -Options: - Crates: False - Creeps: True - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Low - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -161,6 +143,14 @@ Rules: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -172,6 +162,21 @@ Rules: WormManager: Minimum: 1 Maximum: 1 + MissionData: + Briefing: Infiltrate the Imperial Basin and build up our forces until they are strong enough to eradicate the local Harkonnen presence.\n\nThe Harkonnen are reinforcing their troops by air, so be on your guard. Use the Outpost's radar to detect attacks from unexpected quarters.\n\nBe careful when mining the Spice. Spice mounds grow out of the sand. While a vital source of Spice, Spice mounds can damage or destroy any unit that blunders into them.\n\nGood luck.\n + BriefingVideo: A_BR02_E.VQA + MapCreeps: + Locked: True + Enabled: True + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Low + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False carryall.reinforce: Cargo: MaxWeight: 10 diff --git a/mods/d2k/maps/atreides-03a/map.yaml b/mods/d2k/maps/atreides-03a/map.yaml index 5ccda9f77c..bf48ef64d5 100644 --- a/mods/d2k/maps/atreides-03a/map.yaml +++ b/mods/d2k/maps/atreides-03a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: d2k Title: Atreides 03a -Description: Bring the Atreides forces up to combat strength - quickly. Guard against surprise attacks and ensure Spice production.\n\nThe Ordos forces are light but numerous. To combat the Ordos, you have been granted license to produce Quads, which have a greater anti-vehicle capability than Trikes. Upgrade your Light Factories to allow production of these units.\n\nMeet any agression with overwhelming force.\n\nGood luck.\n - Author: Westwood Studios Tileset: ARRAKIS @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: A_BR03_E.VQA - -Options: - Crates: False - Creeps: True - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 3000 - TechLevel: Low - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -158,6 +140,14 @@ Rules: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 3000 World: -CrateSpawner: -SpawnMPUnits: @@ -169,6 +159,21 @@ Rules: WormManager: Minimum: 1 Maximum: 1 + MissionData: + Briefing: Bring the Atreides forces up to combat strength - quickly. Guard against surprise attacks and ensure Spice production.\n\nThe Ordos forces are light but numerous. To combat the Ordos, you have been granted license to produce Quads, which have a greater anti-vehicle capability than Trikes. Upgrade your Light Factories to allow production of these units.\n\nMeet any agression with overwhelming force.\n\nGood luck.\n + BriefingVideo: A_BR03_E.VQA + MapCreeps: + Locked: True + Enabled: True + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Low + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False carryall.reinforce: Cargo: MaxWeight: 10 diff --git a/mods/d2k/maps/battle-for-dune.oramap b/mods/d2k/maps/battle-for-dune.oramap index 31fcc56a0b317d2e4319b5c2ac6d444498e63bb3..e2064012df708c10567bc66dbfa16a0b25fcb4aa 100644 GIT binary patch delta 747 zcmV@6aWAK2mn{8Vo0$LQ!#&6sA5P+>PoSN0ssJ;3jhEJ0001O zVQ?;aVQp-!mdkS6AQXnz;VJY0EDYizX;mj}W;%_Nj-5%?*v2VS2^54Tb)P=Sa_Usg zVY=`Nam4o@I2Vb9YOkGdRH(8Np{0KAjo016ZL4fce^pm=Dbr_b`y3@qgB?lU8`Q~lpzda@{buxF(VMe06zi?@JJjyQce@w6EK!z z3GPtBSd6=bup)(V@N6ZBF^L7ZNis`uGzU4jJPM8}7)z3aoG7t?{ZW{sDUPK$3daSm z6-iQ@NW~?Q2MN^k&^Q953W%CvMnQk7geZnZ2{v}(I}$+-rks)_NMVm~t(37g!KhF; z=Vh5_SPIuzSzr!!ER8vTiI=BCM7945a2ye{|kVO+&)^YAwBAD$oF zFI~SkJZjZCJH9fbY0-CP6USQ@%+8Gd2K&8NwyWQ!uTVs0065SVOIbE delta 774 zcmV+h1Nr=eX`X2gP)h>@6aWAK2mm^WX-BaRQ!#%!h-pX8^smdH0ssKX3jhEJ0001O zVQ?;aVQp-!mdjGxFcgN@=qdaFT0}SBRt->QIwjCa7`j%H1J%^Fj4YR?PhZ&%g}NL~ z7gyZuLW19o`4yCz zNNFBipWD9KcV!}}q>M|NrG(s@&TLI({Gm*)?RI+zN{2Q;7q)roq4UF*J=m@!ovy+!XE%Sk4mw9eSl>Q3-B;_XaPK?U!?43P7q;GN zuN(izc%^sKm9=*eTzCIES@o4Si&r1hIxL5cdOJjOF1FUq-qykLv4Pq^h{A;fXfbg% z6KAIs=QDABN^vn07pD}LGjVxJaWxZHCla6Rui`KJ{=58MT}*{Wk2P@|`EeA-QPO{x z^ONPy+p$f?$)ZfU*6d(g+41DpcBdy_Oj4dtEduUM&x{zuF-4WaFkU8g+qL?+nKMjc zjCh~noJxi<67iGL6upu{uOxWncqxtvnxQAma4f_~MtDfDgyiph+o=por6#&Lmi zczNWCax|7qpj=we6!*t*j>k9|<2ZjF7ra(77UR-bTq1eMka`{(Cq=0oqZU+hlqxVv z(zHMuJMtX~ph8p5Srp{BN4!>wP@8B}IG*#Oh%_w6YplqrLOYg+oIi)B))-N6e}Rfc z62UVZ%!(LT;9#0X3WnzqF!t#bc=lCz*r7QTc=EH1ss+m7xyW)V@V^qgW>irc<5Vp7 z?49om+0_015r%i^y06A@6CT;afB!JQw?CnJYxoMfou0Ax)=Z{V-%>DX7V@K z@0@PB>Sg&GP)h*@6aWAK2mn{8Vo0$LJ}`e*sA5Q1&1L?b0ssI$3jhEJ0001O zVQ?;aVQp-!mfvsNAP~o&%U|I?fJz38vHi5HTcvGHHYHX2Op@!0W*gVW>axFn=XhPZ zu7~z8DL>4a&mHhR4wkmN^nGJPm6VLF;bC+=3`@VSlD+)K*tH8aRLMKA;U0gxa6d4% z7{h&2%J8^$og#{EDa!sHykjJ@?^yC2Yi zZTw^@pR6}-a9dZqaHx_izug|t*`b3eO8YRv5E%PX+XM7N#m?rZHQYfD?GE0oU<|#j z@y*%FHVFMPVEgl9JKXxd#u;7rBTPMfJB@$b2HS?;#!I^k&bL)!Ll15b!{0%cV;x+2 ziZQpbId!z#X`Nm=TibT;8??M{p>cqdzUTou%DH&qT>K~Jv;E}!soy^@#VN!*Y5p`m zw%7%Kl;rr3R!P$hoqcSPx$-+ZJIXSy<*Wtt&%`-0;&nzy$+e=Oyh?`7?ORgn^-V+pG0fFd)IVyI+v3mST;bgC)M4Y@RmPBkUDBCD^`ks^ZwC65Uet4h_|rgAqf4S$C=$f5qDh-e|}A_`kuM?Q|8Io^SkjsGl2d!FIl#U%A<|90#|<|CJB!&dmWQ`*m;I zp?+%q1W-!>0y6*<0000809UADNRuuzF%4I!Vn|rcW&WK4002IdY%?te1v3Bu0014> BaJv8i delta 820 zcmV-41Izq|XP;*dP)h>@6aWAK2moAfTSu`DJ}`e=Z(B#JZ60*C0ssJN3jhEJ0001O zVQ?;aVQp-!R#9`?APjyUzrsI&-Wf2)_S3RQ$ZQDr)-~C=-ET|>=gSq%&OU-a8x^(SA)1-3Rqn=-aIKO)A{H=9u^#0lnFs`uO z=!_1!3%`YPy`6m5!9g_b|2DE1+F?oI8LX zQ_fx}Xa7n0BtI#CTKCVPIGLE7rce7Lvu&_PN{)lP$@abP^49eWDq|@r+wl?v_vdxSXpMV_<6?iah2LjI z!k&nI8itbzdokN^pil{4)eyENwgTe*~a(M26Ja7gQNV~>CU%L)1OdF0Rl4s6aWAK2moAfTSpSqZ}A;4 y000qP0ssd90000000000005IMGZ_tBZ(B#JZ60*C0ssJNlT$M-1|Bm20001!hI5$! diff --git a/mods/d2k/maps/desert-twister.oramap b/mods/d2k/maps/desert-twister.oramap index 2a33152b40fae93d17de522f11276ec25bb69ec3..c74afdf54a8929b0185133d08984947a95b39244 100644 GIT binary patch delta 692 zcmV;l0!#g$T#Q@}P)h>@6aWAK2mn~9Vo0$LBrAVdsA5O}?Dy(D0ssJ{2mk;G0001O zVQ?;aVQp-!mQjnvs-No3Gc6zN# z?RR*a(350E#L(#)Ejs=ht^wF;+wmWOS zyJurdT*u0`(2X$l)KqKbRqcNp@72a@Q|Ety@)mRf?r$fvw)8qY`RM!D?FOoK7oAJ7 zg{livq2*%@l?Gh%)B-e=xVR7(w-lEb;_{Z_(S>+)Bk|sT5&!@UnNW<(1J~#ctV@5h zkH`s=V!%~IVsXNwjKX3POCv5q(%p#U#xYOF6qb-!BzPK9*qFvLF33ryB$go-k}1fB zf)bOl6yXq;&{ZPn+=V%Q2S`$;H>p5(_0GGbbcj|8hh^gZUOA4bmA;Q!WL` z(J2=pes%Qn=$t1ZAIId^8V+%E?j(PPbBm|zKA?DP{xMTL1;yDCk6Ti?6uH;(tS1?%O5)KXe;-_xxmjLV0d@2Gy9lf2DiVtaW;W?c8|% zqI-v(ePvbc%47EpP)h*@6aWAK2moAfTSu`DBrAVhZ(B!1le5B50ssKY2mk;G0001O zVQ?;aVQp-!mceqHFc5~%(NpjMIv{~DaH^X&Go8jx#`Yv<88)q^fQTgGx=)`4;yQJ+ zw1>>#L0a_vyV_llm#V!owpKn5QpVQs*l7!HY05k(iid7M=fYY#!XYLkUkkSs{eFi}iZ(^~;7a^tI8yP)*2`G>}Cj|AKg~!02W6V<7f>J zV4*4C!wNcYRfSJ3R;osw7X!|3_KmwYw!(kiZfyts3e#MgdZ)Z<{BPrxD#o2EZvkDq zznv_*%IomtW1Qo(U#NC{4$sBbswqv4md_2;8ZZr)7NDiX#hJKxPjPuBF5go;IunoH zNqn@Q#E)f;YdFQxwUe06J)XfsLh*3@ zBT_sV#j7nIKXGHAvuQ9PI4LGLAtu21AK)9IvQ6EU-=IID*IhN-H~253|A6=7JM$B& z*M@sg?RcW!89kboozn&0SH|lHJv!{|TdNvZ9jDJwO928i02BZK00;nFZ(9LJlbbCu c4P0+qM?{me!cYPL0LqiuEiDF~EdT%j0IH)tKL7v# diff --git a/mods/d2k/maps/eyesofthedesert.oramap b/mods/d2k/maps/eyesofthedesert.oramap index 9a665aacfbbceae63b004a8595b188d3d63ccb46..4359275f6e6d9276288be00150fe5f147d373fbc 100644 GIT binary patch delta 825 zcmV-91IGN4bn$ZzP)h>@6aWAK2mn~9Vo0$LbvA!ksA5PdTy}%e0ssKT4FCWL0001O zVQ?;aVQp-!m(6n9AOM8V;VJY09K@d_bgGjkGo8k1$Mz&=Y?FqmEFAqz>OOstWjCqQ zWqR-l3GwYBSP+_;?Tv3XrYjRo$jm1>y`a!q4sk=XwH)hp2UzdsL8tc}!{b(}n ztInlw9^-wu9U7YDFh-|hGgGhqCe&QlcH?Y#<*UZpEfQxZ;_RH_{6w6eQ(T;gi*t(0 z6LEP?adjfD&Llq8zlk5){dfG{EXJVGLnaO-Ka}E7N_y-+nXEd$UncvDv`pHqTkU_> z=g{+8zcQnj%Bd9N60yy@HM7SU#PWhFjxZi`QyIbpcFU;J2$K-Y1XU@*6n0}&N`z$) zW1Mo>$sD^;38^ANC!jN0vrFO%;P6i+~x;VNe)OO889V5W`6k1!ZvV7>)`{ z(}*9=iq#0VAXCy#6^3J)j8amm8;VGgII5ERCm zhqP?A?bf{1e@}ThcfcXxI4X+8h6G2YV6?z~I4W6A3%K-n4qlE0H#{W8zbPJtG_c}n zWFSR~I;f~BAjJTssf1%8cy#}gxQ}>037KBcv z+v<4x3Q$V{0y6*<0000809XU4Vn~yrIWZ1csA5PdTy}%e0ssKT4U^zGECz5n00000 Dbs>S- delta 858 zcmV-g1Eu`&bCPrpP)h>@6aWAK2moAfTSu`DbvA!oZ(B#fFw5=o0ssI34gdfM0001O zVQ?;aVQp-!m(6mUFcgK?(NpjMTA)AvR&~;3rqej-*q(HaZKcr^BO;)w`}7sYZc@^t z>B1XJ$olTNTpbCRm(7iJyRs{yjF5$X?v2y!+-{3#%fAz{GF_#M=z6c)$Ua7^Cmns% zt#*GMA->%>({#qxMZ}^Xt^ctu;zN%QJu&nIA+x@FvaX0Ot6r}wYqvw#%17~{v&CZe z`O}gRpUBeu@={DBl*N*eOWW7mwumH^l<|z_2_X-rHEUCuZeK*VcD>&FQ2WMHSGIoc zb=wV7w%WD@A@_&WhTfN|+-v817h`XsAGLqe^+tcV(|za4%Kvk5SMGeAXa|E7$8`hOMvcZe4a|-TfK7DK}#U%Fbyo-M$x@_f==&SB>%7Uk($?^-$kwutiyK z?aq%}*Lr8Pufmnnx};D z7{tg*R)OfQvbc={#68)gk!5H z7Agt0O2%l0^{`cvlxA@2@f6$~^J=&x*}o|sgmNIo<3J%rj1p8-WsqWk%Bg>ZwGcdb zeo34oK2Q8(PC-nD)+`{0J(47WV^(;Ny!aRVLs_(&?zcC`(CIy6#8Ql90W1rs#Wc?m zmj~nmoQyHY1fxlYK!!m{g+ds|m_LRRhBy)61Qq-pN0z&O`%MpDFN?l9v`hbSHoPGY z{RjI~S8oTt>arO>b{?!5hvp=GYc{^Uvz>V~quemQa%J6Cr_0|^O928i02BZK00;nF kZ(B!`fH^S^TyI-P!7$71@&W(=0S=SDIV=W|IRF3v0PX9Z-v9sr diff --git a/mods/d2k/maps/imperial-basin.oramap b/mods/d2k/maps/imperial-basin.oramap index c424b5223068351ad63675707a053e02ba06c278..9e58065d712826a8667540e153b92e43b5cc4c6d 100644 GIT binary patch delta 850 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 asA5R;UK&_W0ssI*lOQB52DT#r0002P-Z{_! delta 721 zcmV;?0xtcxNYh9TP)h>@6aWAK2moAfTSu`DJt2QwZ(B!iFD5~20ssJa2><{H0001O zVQ?;aVQp-!mfcR&4ag4IyB2qyK`|qM!v> zy|8^-`!Y&sLW>xFgxqPbciQN%FQaR_+kx%vz60dawvWB?VK`DN>q|mzM}LOZkI9vi zoK35>dQeWamHKj{`rxF2f6i`X1A1Nru)lwOYW=-+1|r_NUJWN~duf}U46+UXgiBdX zVawnYnD+0Dta=l4{Ay#`!*)0*cS9aem91r4+Xf`xTGeO;Nw{=Mb(nH?qMUuEa(<$m zf0FV^{;K?N?!WW=YGTSLeF>f({3MGi*s<>8A}%A}>1u4i!NY4?$w_A-XckX3SMGmJ z6O0%`v5eD%VHiiTyr3D!umrcpC{Hmg#bZ0CX@+4LiV46H49n*-nPXIeQ;f263=_DI zIprwE@N%GHCpxy<_;RP3hqJ?94!IOjvv;=IX;ss4`4lg+?=Ir4$=MbJiIlSt8 zZVuRa88w~niU`z!*-818z%%q>=-JHcUFCmV%Nt#oE za*)L*_>Pa!DR@6aWAK2mn~9Vo0$LHY|TwsA5RXVudRO0ssJ$1^@sE0001O zVQ?;aVQp-!mCtgUFc8Mi(NpjM91z&T=2X{hW;%`C4)!Ex0h>lsArbu<*M0gd5Z8_y zF+Fs~4BAD%{Z@Rk*zoRFo0hvGS`t#ivlj;JMmI&&q(2GS3n!t7_D>Lf@*pK4EAO7P zDWZS1ZY!Z+t;&9u1PfSWRhFx-Uv`9G-JST2B+Xci7a8d(nwPOc;ef8|YIzqlnegtC+ax;!fcmxBgh7Vit&TxrOZnnHd=rw`yw}Y|| z+DKf;-gxL|Xw~=39arv8@|M?5XjMeq84!OB*uOmaJ2A~TSr&q=4e=0ua&&5yk{`pm$CB{X^r~b&Qc6zX67$ikxJ5fU=_0ZX! zuK8GtCg?R~qak1}92!6x2I(9($T9?`K`>3?G>BzkjKygZ!e&L(cDCaO^@hpvI9q?5 znbXD?5EfKoEM~z5^DwrI^E8Alf>=I_a~i^yVJwYV9&|12cbcJVVQ|WCI^i2l-*h1}_{F{)*g;5^7p2(tdz3vp~hk1k`Dg}{75a5lBV z#kAr(t&&~qn;&=<;Ag_i;l9JqMSnHW^y7Q|3*=?u0eGj?_(+VYjklu4`&K*gC`P?L zzc*Z2c?w?uP)h*@6aWAK2moAfTSu`DHY|T!Z(B$369ND{0ssK-1^@sE0001O zVQ?;aVQp-!mC!JX}h<5C`JY523SRC2YqHE-b)A!X;Dv?=I9 zH#?zVp(-yY!2%XjR#o}^+nNw8a4mje2`tSbdfP>$*^Vvv{OY9x>->^EXj>3+*O%`{Kl*>tadb6|DtG_`s)o-i=$zpazqwlR2J^fI zaDI1C_Ffx_P1=|a{0go7Hn`);{R!Uidgu~&22k4mEwb#S6Y*JNnB&wh8npRY4;F8?i6|Z74arNY4IK@*#dsep>g>tvE{zn~qNPk+OEWx1=A$1+}fHVJCle zU)im$`H+jnXg|vaL%_Uos0UdXWK%pd^AMN>!6c57AeM%)EK1@KHYsS++Lj;GJ0{Je zbarM=2ct)_pi-7aS+Kx7jLoAw31PD!mQSLbg|K-TOQI|fx)%03Nzt`1IOaDS@r@-P zJHTRwdhEgj_DW3)dccdb$H2S?{jq<1BX{~~3~K2pI1O?mf|T*|_2drIK~i?H|Ek$W@6aWAK2mn~9Vo0$LLL7fssA5Qqw7Qtp0ssK54FCWL0001O zVQ?;aVQp-!mrrk-Fc`+q^{3#riw|II^XIgzTBT`CHziSfcEDY&0;bp~%Rc=KBx_3h zT00;S8Ncv*UjKRQn6+qcbXNRSnzb(Tpd`--?Ub!#9_;$!`I8B@O4{NH zp;doxpLCZ857O9!)@87@eW|n=-mj#QPHnZ>tiFHSBIGh`)gPx3krcZhLSJ;>l*R=( zc2^p@3!!^u)LvD}9`oQ<@ApTib!;7Wt(%wLuov0mj3b^`@Lt`FvSGf-Dx?T=%=;nV~*Lz__WB&zjL}8U~@<7;5s#2QwN!ER3 zRrs1?s=Mm&qS%kaG!xs1rqs2Id~IZ{r0er_CuIwXM>FwgNpUh0CrgUQGx2yyaXJ&H zONz6ZI9pPj&&2tX;>k=rSx9_}zlxvV`|pMGnqpca_~hnONls;aD(R_Yr;_7yf6#xb zuzFnZ<4u?crd5U9S9|} zK}-xbkH(mQ&7&a3Ld;?aV?K<7jpT468BRbf0WnT71N)Z37{i=GSmwh>2u^hP@vNn> z4+89wGLJnX0=Cd`9xHl05@HGtf8>8L3Bhp!a|PN|N9-1EB<1bJ=hdgdpdUgFC8@nC#ww?ihKwQ=b2^CN6_HI-EcOE)IWT&TX+U z7r|V{FryGhyxgUk-*U01oeXCT;;4sI&?gOf?#&YXEq=v)PaDT6V%jz=lAVsU2>5-a3>)xosm3P{zM>VAz z;=4{XraD*u0#Hi<0y6*<000L72mn~9Vn~y1A2AJBsA5Qqw7Qtp0ssK5ldB&s207LKi)qMP)h>@6aWAK2moDgTSu`DLL7fxZ(BzdaMWY*0ssKt4FCWL0001O zVQ?;aVQp-!ms@Y!AQ*1TRH%rQ4mbd5|KslFyxLrCI7S4@&Zc&_>xx=E0^bo<5mit)wj; z5&C~7P0^~xDqZKnBA}ns;8!IMvJIRbLW|Bm>NXGVrLlXh%V2H0Qfbr6Rnkb8Y_VD` ze*Rb^rzA{#qNvHSKZa6aRH9qCk@>Pp*v;NR#nO#^59x;w+E+nXdHH_>*vnp z=^rVjHaSAKL&y5s*eO@L7;7u}AX`}%^2>jX>})G4_shkN*g2gk;M%wQ+T825a#OHr zJJ~;>>r1`c3M*>+FL))2as0xz(xo=60bBZT3@#IY6WBh+r z{P^5|Z=BZ@;}*e_o2QaYWjvL1D%n(Wd>jv26jl!#eyD_bU>a4(ZKa2iT%+MR~AmOe6O78zv61JD&iCe9REXFo=o4?$H<%uzM85Scq8+Va$hdu#+6_ zB*O`aB_PHrX5iRT7-N`I2+MpJ3BiAb4nJPCH1=aIL20D|#PDzR9JR$t!Nl6l%W+0RRdoJs5hY)|{JhFF} z+X0j98_?Y>PfyC@Ki0@)Fh~1KDZs@c%(){L<|3HO7-kgWh?hGx^IIJbyaZf&i8JI7DIUagAk6(C%If1y$J1_kG`l0o%D}T%W6=l^`L%DXZUj1dN zuixoEvN{diOVNyPGoA2AJGZ(BzdaMWY*0ssKtlaC)Q23;Qj00014yNc`p diff --git a/mods/d2k/maps/venac-ditch.oramap b/mods/d2k/maps/venac-ditch.oramap index 42bb323c5f2a21bec67b0e79b9d98ba6c61b0a89..8d55fe733620df5a03dabe549658ba52a04c8ac8 100644 GIT binary patch delta 765 zcmV@6aWAK2mn~9Vo0$LWHo>rcT4@B=mw15eAURhrgxQxdh$4qR7jU{f&avQNJQnx%hs z)*dDWVITh8`TqFgjqa{o-)dh*1!G%y98C|y#?@t1%O8yGjc=fgZo%p*s*SH67+a72 z!S#P-bm`iIv2ba()4B!*KrQR-cKzk^jxp4{Gry1(YQ^zk?4uiPJ)i*R_!Dw^7`rut zIhe-yV;Nn$!{Lb9jvY+;?c)f8XY5;}kI)Y#yI4kBxQ8BW1s`r;^u2EI%f*du5qcKj z{Ogk)?p)uXEBk(gX@#@Xp0(H3{}Ep4${T-Y%SihkObx?(Bb%}DCO+F(<~W@e>cbSE zx5~EK)~-d#Ckw3s^!l;~=qTmljdJmylrQqL^3%G14#nBT;xs?)kF6{3=9J8XxQvF* zRB&kAyt8Xp=|z_)xQv%{K>s2?GbTt(N-k3hlQdTFB%`o|#1g?%(ppMlso@6aWAK2moDgTSu`DWHoKZgu;^T*v@HLw*teOc1Vi!tk_H|%$8hRZkIj%sCZfW zGYUHlh+&D=M^YrkXsNnO+qcTiqk^#&JdV1DVQK4mRLk#--D=msJlcR!Ra9$NJuvnO zhN^$pozvFLqbt}s`viStcaeL5=)MQ#B4|6*6FqtCJi0}>ZR$vwN`rC3Ib(~_J=lI8 zUD$T34P2O&x7EM^=*eQWT73PoW(>Vs>z`;}H!5f$Dfe?VQixZz159& zd-TX|w|msK@4)Lfk0T7uFR8%}bH;8Cp8J2%w?^%u$I;m|TEPx_Fco~bhSBw^!7pdm zszp7&1vtNXHp89m8;sCxKZ0Ljjo*fH%D6wmOI1w)QmzLyJ-j!v92=+OlZ|PPQ@>Dc zecazFTPai97A2nzv>GrF7d=2nDHm^)i~pp2lAn|x*Zp%SP9~;J^P_)kQ8{}^$zgvG z&!eH!6>J-O@a)P~YSJZ2F5@X3(7(vf0TU!9C6_6MNg6A8l2KSfVu|1>X)PtORPant zSVm(BpOGP%(OAKA63a;}OF14$0xL*tmh(KJu#&`b+*?kjn=X?=hB&%TO38Cca&)1H zIOYYJJCOvzlD3!zz?_Si45^^&W$J&Pw6k={2pJ8&V4!ZWG0_2)Y0#o1b0`DZFEBD>!O2;u^P*7_ zq;r2rJ=roO-80IRr}P%-rjf>>`cCMsks%n9TNG&V881zTx`F<6aQwaG1Rj6?7$<`w zz)3vCGN(vMlSLK+6B^8l5SY>+ws3lnS-{gYz|Dd&%@T^sgIr!vToKMio>E{L2Fvmt z$ky#x--Ew#uEyr@UgJgE-=zF_V}C&NQg8>Vn=Ysut0&QN9CU^6YwPq*Pxie0wpV6o zj?-UIO928i02BZK00;nGZ(9LJlQlRo4P9?rM{fD?ea`{_0L_zgI4uTUH~;_u0Lc7( Al>h($ diff --git a/mods/d2k/maps/vladimirs-folly.oramap b/mods/d2k/maps/vladimirs-folly.oramap index 5f619bd1515e0a9d70b13f69f3359da3f1a650da..b57bd3bba037bc01fc4c8ac0459c87a9cecde461 100644 GIT binary patch delta 703 zcmV;w0zm!cUddh#P)h>@6aWAK2mn~9Vo0$LMJ#_<{H0001O zVQ?;aVQp-!md%daAQXky!&7+I4GV(}{#i9MYNV=@v`V7Pn#4?tij4=b()8&E+es%$ zd#x@;iUeHqoeSI(P@1h)voD|52nF@E`W<*uP+V|??oHQJE{r)Ielg}L zLR;n3PHE+jW%OuvyCAM&?#A9qK1(Z`z5KY8owq`VCwEIx z2j~6fF`#Z^^(_Y1IImU4q z_7lafKcZW)m1rtchsdW!)=Gv=KUgVSNSxe=llK&-H{$d?#giNHy>Qxq#UPfXILUt@ zjDQ&BI4K}3fiZ^D48qc>MW!6W7g}7`YUyLb%xE$uv9CI*VF|p1J zbMQC`Ty(-1=HS5)xa@g~SqyT)oOSD3acHiqM=@m}1e+x%n8CY)-I6oRKyMNTE|S6j z1O9J_uwWGUJTia^Wn-XCNbt!aTzh{5C+!uP5}aM^?EKalxdP_$3=@c>G0X)&gZU_d zIWkdU~B6s>8-M`{c$I;ZxbT^g^R)tIl3Z>(sXJ`Z03P)h*@6aWAK2moDgTSu`DMJ#_^Z(Bzj%=<{H0001O zVQ?;aVQp-!md$e8AQXky;VHE1hJ`=^{jBPw^-QO+)3H6y8cU>Qii85Fsr&RrlHDY3 zucnL4cnn{KS~224ZW+Ww~-Ih%C?g4*RuCk=_?icea8+{6q)iH(rc+@_`=ZiDEC#V8#Yqlf1jH!ENdaLAj4_;M5SGp@GUX7);FM$p zQ;_2@$2q1H;<6dP7*hgqIn1Rw=Ad6Ov(5~2Fr5TGbix?sU}6Y-?0Je=40543o6dFO zseOHV6jKI5aIxeBGkAA!wd4#lur_}Q0~g8Q{{jCuL|7;kI3F26g=1r2nUGK?PvJ#5 za?-vcQ-ZS>J3BvhCa!?FJi`RyXbf|qo& zRcP17s|Pjt4e^~7t<&e>Z%|7C0y6*<0000809|ieN0ZntF%4aBTSptr`!sa|004-S N7B4LZ Date: Wed, 2 Mar 2016 21:07:54 +0000 Subject: [PATCH 18/21] Upgrade RA maps to format 9. --- mods/ra/maps/Sahara.oramap | Bin 10317 -> 10273 bytes mods/ra/maps/a-path-beyond.oramap | Bin 6222 -> 6213 bytes mods/ra/maps/alaska-anarchy-redux.oramap | Bin 20592 -> 20580 bytes mods/ra/maps/all-connected.oramap | Bin 9815 -> 9762 bytes mods/ra/maps/allies-01/map.yaml | 38 +++++++-------- mods/ra/maps/allies-02/map.yaml | 42 ++++++++-------- mods/ra/maps/allies-03a/map.yaml | 40 ++++++++-------- mods/ra/maps/allies-03b/map.yaml | 40 ++++++++-------- mods/ra/maps/allies-05a/map.yaml | 45 ++++++++++-------- mods/ra/maps/arctic-triangle-affair.oramap | Bin 10094 -> 10081 bytes mods/ra/maps/asymmetric-battle.oramap | Bin 15339 -> 15318 bytes mods/ra/maps/bad-neighbors.oramap | Bin 5330 -> 5278 bytes mods/ra/maps/barracuda.oramap | Bin 8528 -> 8498 bytes mods/ra/maps/behind-the-veil.oramap | Bin 8764 -> 8741 bytes mods/ra/maps/blitzkrieg.oramap | Bin 12338 -> 12058 bytes mods/ra/maps/bloody-delta.oramap | Bin 13645 -> 13633 bytes mods/ra/maps/bombardment-islands.oramap | Bin 10816 -> 10774 bytes mods/ra/maps/bomber-john/map.yaml | 30 ++++++------ mods/ra/maps/breaking-point.oramap | Bin 8413 -> 8382 bytes mods/ra/maps/burlesca/map.yaml | 6 +-- mods/ra/maps/calm-before-storm.oramap | Bin 8198 -> 8158 bytes .../maps/center-of-attention-redux-2/map.yaml | 6 +-- mods/ra/maps/central-conflict.oramap | Bin 6698 -> 6686 bytes mods/ra/maps/chaos-canyon.oramap | Bin 19613 -> 19571 bytes mods/ra/maps/chokepoint.oramap | Bin 8885 -> 8855 bytes mods/ra/maps/coastal-influence.oramap | Bin 8559 -> 8549 bytes mods/ra/maps/cold-front.oramap | Bin 12063 -> 12027 bytes mods/ra/maps/contact.oramap | Bin 5026 -> 4988 bytes mods/ra/maps/desert-shellmap/map.yaml | 8 +--- mods/ra/maps/doubles.oramap | Bin 7885 -> 7859 bytes mods/ra/maps/doughnut.oramap | Bin 11742 -> 11685 bytes .../maps/drop-zone-battle-of-tikiaki/map.yaml | 31 ++++++------ mods/ra/maps/drop-zone-w/map.yaml | 31 ++++++------ mods/ra/maps/drop-zone/map.yaml | 31 ++++++------ mods/ra/maps/east-vs-west.oramap | Bin 3193 -> 3162 bytes mods/ra/maps/encounter.oramap | Bin 7269 -> 7240 bytes mods/ra/maps/engagement.oramap | Bin 18443 -> 18409 bytes mods/ra/maps/equal-opportunity.oramap | Bin 5236 -> 5226 bytes mods/ra/maps/first-come-first-served.oramap | Bin 5453 -> 5444 bytes mods/ra/maps/forest-path.oramap | Bin 3926 -> 3901 bytes mods/ra/maps/fort-lonestar/map.yaml | 39 ++++++++------- mods/ra/maps/ghost-town.oramap | Bin 8494 -> 8464 bytes mods/ra/maps/haos-ridges.oramap | Bin 12009 -> 11981 bytes mods/ra/maps/high-and-low-extended.oramap | Bin 14938 -> 14926 bytes mods/ra/maps/high-and-low.oramap | Bin 5657 -> 5646 bytes mods/ra/maps/intervention/map.yaml | 34 ++++++------- mods/ra/maps/island-hoppers.oramap | Bin 7339 -> 7328 bytes mods/ra/maps/keep-off-the-grass-2.oramap | Bin 5759 -> 5735 bytes mods/ra/maps/koth-hopes-anchor/map.yaml | 8 +--- mods/ra/maps/mad-science.oramap | Bin 12487 -> 12447 bytes mods/ra/maps/man-to-man.oramap | Bin 7083 -> 7062 bytes mods/ra/maps/marooned-2.oramap | Bin 7780 -> 7768 bytes mods/ra/maps/mass-confliction.oramap | Bin 11904 -> 11840 bytes mods/ra/maps/monster-tank-madness/map.yaml | 32 +++++++------ mods/ra/maps/north-by-northwest.oramap | Bin 5163 -> 5151 bytes mods/ra/maps/ore-lord.oramap | Bin 6037 -> 6014 bytes mods/ra/maps/pearly-wastelands.oramap | Bin 7433 -> 7423 bytes mods/ra/maps/poland-raid/map.yaml | 8 +--- mods/ra/maps/pressure.oramap | Bin 11264 -> 11252 bytes mods/ra/maps/puddles-redux.oramap | Bin 10964 -> 10952 bytes mods/ra/maps/raraku.oramap | Bin 7529 -> 7520 bytes mods/ra/maps/regeneration-basin.oramap | Bin 9207 -> 9193 bytes mods/ra/maps/ring-of-fire.oramap | Bin 7316 -> 7304 bytes mods/ra/maps/seaside-2.oramap | Bin 18693 -> 18657 bytes mods/ra/maps/sidestep.oramap | Bin 11299 -> 11288 bytes mods/ra/maps/singles.oramap | Bin 7596 -> 7569 bytes mods/ra/maps/snow town/map.yaml | 8 +--- mods/ra/maps/snowy-island.oramap | Bin 14564 -> 14551 bytes mods/ra/maps/soviet-01/map.yaml | 42 ++++++++-------- mods/ra/maps/soviet-02a/map.yaml | 40 ++++++++-------- mods/ra/maps/soviet-02b/map.yaml | 40 ++++++++-------- mods/ra/maps/soviet-03/map.yaml | 42 ++++++++-------- mods/ra/maps/soviet-04a/map.yaml | 45 ++++++++++-------- mods/ra/maps/soviet-04b/map.yaml | 45 ++++++++++-------- mods/ra/maps/soviet-05/map.yaml | 45 ++++++++++-------- mods/ra/maps/soviet-06a/map.yaml | 42 ++++++++-------- mods/ra/maps/soviet-06b/map.yaml | 42 ++++++++-------- mods/ra/maps/soviet-07/map.yaml | 42 ++++++++-------- mods/ra/maps/styrian-mountains.oramap | Bin 12143 -> 12103 bytes mods/ra/maps/suffrage.oramap | Bin 7458 -> 7424 bytes mods/ra/maps/survival01/map.yaml | 34 ++++++------- mods/ra/maps/survival02/map.yaml | 32 +++++++------ mods/ra/maps/synergy.oramap | Bin 10326 -> 10289 bytes mods/ra/maps/tabula-rasa.oramap | Bin 9880 -> 9859 bytes mods/ra/maps/tainted-peak.oramap | Bin 16183 -> 16103 bytes mods/ra/maps/temperal.oramap | Bin 11614 -> 11585 bytes mods/ra/maps/tournament-island.oramap | Bin 13493 -> 13473 bytes mods/ra/maps/training-camp/map.yaml | 30 ++++++------ mods/ra/maps/vegetation.oramap | Bin 11866 -> 11807 bytes 89 files changed, 506 insertions(+), 492 deletions(-) diff --git a/mods/ra/maps/Sahara.oramap b/mods/ra/maps/Sahara.oramap index 10f74b845ebe28cec1bf711cb8c5971a48fb1d95..86b8530e25928925c3d7cd2c8dde8c35e668e5a1 100644 GIT binary patch delta 1219 zcmV;!1U&oAP@zx`P)h>@6aWAK2ms}%Vo0$L9wUF{sA5P`ozGNQ1ONcx761SU0001O zVQ?;aVQp-!SWR==HV{3Bzk;`3FdY)#(5Xr4^b)%r+moCr8fiG8NSPl^-Cy5@Dc2!{ z$LT>c9z%roE%xmfmb$KvANt`?O}pG>*{y$^o57FQ{lhLFsw}&2rq=KB-v(bz`Caw3 z3Y&j#=jm%d?DCuWoB!#MzZ?3WgJkPRPilU>y1Tl)&oa_{*Zf0ZrYt1K`9rbG|Kgz{KK6CB9BB;`OM(00hl+m|FN3&Viz}v)I1l1tCGH9= zE_V4;*jOAIBdLG(^*6HyaI9YibJW^;W+f8WWKLbIogQ!trIm!$5PhWW~i^Kz3!9J1ig<-DdX z^#%(b3RC&I0bKC4g1)$61vIS6v8qI6U2YI6vAvE zgainfw_E`p5Fr%cfjf=?2pkRrtbzzfIn_69gwPxDa779sHV}eh?wf9$=-*kk!;0b- zaKTX|_H|U`a)Y~|6Y4TbUdndZqy;5b?P6CcNL-SuYJEl-5|9*(TEyYTE|NSDSeJLf z6f8a&%A2n*U?Ddehz#W|qMm%r&zZ zkZk631k4O|y1t`nMQ$)xW#T^OCDSl`io$(3j>qczx{M4B7BI<`NQ10q2F?mffs+V? z&68=6w#;D1=`^S;SP8RCnKX#JS7P%l0BOcyt|GmfJoV7Sc#322}J2O`l(h41a)8oYe4HX4TTXVflz!a8mW7PhCcgxf-h1R~6T7?GNT!j*y%Dt(5=uU#4-V6q#Nj^M@_Am$rq zxWpTRWD2%On;L^CNw9xWHZ^Kd05=dE(116W73tL7Ku8b{j8N$$!3dG!A=K8eoGK5o zb)AY-35Ky0kMIs4@QZ~8134ajQ}GDnb;7Fb?l3?6>Bn7`-OlavdgmYK@N-o7{Hg!j zw?A%t_SLcPmam#+>v|rWn%0|sYQ8kfd13#4sJgLzdHfepO92f6GXN9-000O8<)~sv hliVjU4&|s~NK&28R9FN60O1ys8z?LWpeFzT007*qL0bR- delta 1263 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 W1M(g|0{{RzlN%T<2E-Qt0000TAiPol delta 948 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 diff --git a/mods/ra/maps/all-connected.oramap b/mods/ra/maps/all-connected.oramap index 105217c9cb7d43ccdb51a89adf75d2c9853a2b50..850316b7b79cbddab9dd8c43b1d01c6527c9a0e3 100644 GIT binary patch delta 1077 zcmV-51j_r@OrlH@6aWAK2ms}%Vo0$Lvmt-wsA5RP9#93u0{{T+5&!@Q0001O zVQ?;aVQp-!SIKVMFc3Y5U!f1+LEI&s>ITUvP6NkC&a%xk0<<_oUyJtGu_ z4+bTA-t6;8Ez|vNRTpWS1TkYP|JG%-Zc| zs!o4`@7-?qI!NWd@t|UTvwXN&E!K>I-pA}WK!uDr{22RQb>*%}0wuZNR>P)c>?v!q zO_pcvAqnoP&E^2g4ts!swYSbUEn^RPdhm6Vu&eQDE$j4P2S9x63an;Aw99Mf>-MM3RvGxvPq= zPJKj!Di$IJTOLOw z!X!bFm41S7f;-ZN>75c&r(zx(O5XPJaw@NRY$^FZ1fkCKYf3)q<@H29QjjD`0pcM? zQ;!@_{*YHsW}m*7Q!8e!O{7I8*7lu64>^`E7jsE^ra}w>+(X(>Xue`DNFq@Py%~SWB^kL= z=TriHqG$^m>0am)MNX757y@jNeWI`l0Rl3#4Tm8#Tsz77X^f;LHzdbNg^`@$nw(pW zah%pXq7NHvZnc`Bc8$eh4Oe6w+F+b$W{xLqF$8cN$?kfr$CMQ#$sNr<3W>v5?#P6Q^#n>c?i>E^}am^*Qd!*~=vnaI8}Sk0jx^p(U!m{&2^WM7#W zL%`IMHMa!yMzi^q1W3-DZdMQ=%{A>FVF~6@)5VMlOa0kEU(Xa_3Q#mCBtUZJ)K(GE z&>=mV0*A!p8KEVH5Ht5vjSYdDr7>WCwv7mw(9a>ee`c# z|8dzrKUKec{&nNor~9fL|H{U#W!Gd|SnsPgd&x$7{rzeR) delta 1123 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 CC5)y3 delta 1929 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 diff --git a/mods/ra/maps/bad-neighbors.oramap b/mods/ra/maps/bad-neighbors.oramap index f530d21d846edb3f6962d8302a4ad8a243f6b051..a993924bd3f18b7e6f121f2714c59342ea5b69e1 100644 GIT binary patch delta 703 zcmV;w0zm!JDV`|~P)h>@6aWAK2ms}%Vo0$Lnh}5HsA5RV`7H!l0ssI)2><{H0001O zVQ?;aVQp-!mceq`Fc5~%(Np-=i>8Al+hCsx8FC6V159!jpd^~wk|W!p^y$0CPy*I^ zdf+5!z2CpuUCH)L77y0tvPy%5kcIlFwNvHHZqvX?LRPxUR2od=Hkd2@_P(~RBxGDy z@78~%!My&ZzU9Hh+3$^Orb-1mtLf}%x)`qr0r92&1AH9PI3#3ZYqKrWfKf)HgvOkZ zXI<*G&UCd;gGakw??Gr^0CI25N3F_=kf%)Ul`B(n*UlE|RXJrg>c?Ewm6I7fxtq%z zprZlSKX;~lu`Yu=R<2f!hc)*$U&~6G>Ysn{L2fE-O&Z87)2i%-nAKUO2j>Xw8kUWt zTsOtJmRd-&wK-U(M&%$1xj3Z?Oq^Ybvs;SuD{+2Had9OsZY18?&*CS)|7_toK-(;O ztm|>)^t4+t-cHV>7?<#O z(|ll>`Lq44vag00B@1iXN4ho5>QZlDoZCvj>NZ|uUpZ;Y?6mv~P)h*@6aWAK2mowxTSu`Dnh}3&aa%_?Sy-%%0ssJ$2><{H0001O zVQ?;aVQp-!mcdfnFc5~%=qYsTMZ-jr?btpQC`=C|Fi8f^ioJlQwq;})nm&EkF%*(W znI5=A(q_MZSG!W8nQE_$t(D7ZO2`79du^ecnKGwV5wg;*f}EbKlFmUtKCO-I2>AhB zVRe7&v}tlGUIaxIMwgqq24{7lDyo{2{=|>M^o@g(qApr*ESwT@*1IQTb2{&T!MB>8 zTXQ-Ds-OeRVs$yYye7p*svQ>no=x9}&hiE(b@o9;&@B zwZKA}8ZDO%)F_JEvjA;KobQSAuM`)1;^HgC<(|0wBJt7wA^z_7pDp|dFgA<5)%AaE z6zn})a#lFAJy_exB&T)Twd%D&jcZe=Q8tQMJQ+_E*iT1n%OuF?26ljqNfGjoJ^oTK zk%j=_Pl`v3^AN*>8woQq7$*)gk!Ld^VImFzQx6cOOv(_D`XV3@^3Qz!8H z3Eu@`7EOZyKLjLaSx$b+1Mm6F~{Wh@HjB)4ZO+6D091%E}PuTXMw zEQIto{0M=!`-O`GAlM5T54(sDwjBn1S7X?Buou#IHH7pMWLfv+BMc9SMPEK`$0a^% zhCi5LerJ9|_1SO_svX}OcSetNdb$GLI(L67kU`^u`OtKOG?0Z>Z;0y6*<00008 l0BmtvN0TiSF%4{STSquqSgef#005JdYZNU8Q4|0G003S+NqztT diff --git a/mods/ra/maps/barracuda.oramap b/mods/ra/maps/barracuda.oramap index 69e73f379333de94bc1cd60c790d42f8d137d715..029f0e04829910e1dab1bdc8f5726e257d1ca036 100644 GIT binary patch delta 1468 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 delta 1290 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 delta 1717 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 MH7y3rGynhq0H9??QUCw| diff --git a/mods/ra/maps/bombardment-islands.oramap b/mods/ra/maps/bombardment-islands.oramap index fb86693a4122dcc2823dca3fbafc93b01fafd2c5..4b5a452eec4855f224a3f317b4a2d228a014949f 100644 GIT binary patch delta 856 zcmV-e1E>7JRF+f@P)h>@6aWAK2ms}%Vo0$LdM1D6sA5PwlfNPH0ssJZ4FCWL0001O zVQ?;aVQp-!m&tD1Fc3h`;aBJbcn~*H(y2+100rVSu#MzQ+e}J879A}}-LLP+a@)k2 z5sJcq4KCuFjhqoRbGzHvY+Y9-1!Hsn+K0xsv$!df#xb@GUFFNu9-A^*?3(y8EUkR&LC*4K_HZ-5Trvj27vU%HLgpO)j9tYZSeVE-{EFen z*kfqJDpaA{m&sjRt@a>nzXR+#)~~&9JH{R=xA#q3vWu}d_s_oZ_1b^A_kGv63Z7it zyDdP+2^fEStJ|m8RN%|9>HV-G*4Kk8ovVMlKa;m^-Gx|}iL0vM+s`Vl8}E1RUk&5< zpT%9=)P4)SGMV*N7g9d9;@HY#tB$Qcw&t@TBmdWsaSX#@p<4|*b!x;M_9|}Q8}ZwE zRJb@1F3u@jo(Pxc6s}H$t8)t1C&KkPg_{%M=KqAV%XJqIDRStfWwPD1JNH(@+Pi5Yx#0zAnZjy3T<0WBz#)sFT7A?3Zw2xID2;y*B2`?H zCs`Q;8E%;=ttCScl>$O*u~>xFRJgE8Z>L^Zs=&fka7n)tQ_Oce<%kvtQsg|N35l7N z^PDW*8rydZSA1HB#vL(aInvm+tEob)EkYQ>HDVQ8Z2Qd%+^OJ8sILy~0=|fbtJ=_i zj6Zz!e&WfyU987PVVs)vZCE2idmp>-97cV^{IYR1d^jD4zW`860Rl4s6aWAK2ms}% iVn~zEDKQP@sA5PwlfNPH0ssJZlMN~@29+rQ0001Jz>swS delta 898 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 Wz;jea0{{ShlZzlN23#Nj0002QWUp`l diff --git a/mods/ra/maps/burlesca/map.yaml b/mods/ra/maps/burlesca/map.yaml index f6c9652e7f..39c179cb14 100644 --- a/mods/ra/maps/burlesca/map.yaml +++ b/mods/ra/maps/burlesca/map.yaml @@ -1,4 +1,4 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra @@ -16,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ra/maps/calm-before-storm.oramap b/mods/ra/maps/calm-before-storm.oramap index 6b933208d9865e75f16359986ed1e35f07dd2bf1..4aba20692c5fd55c069039556ba70691048e0033 100644 GIT binary patch delta 964 zcmV;#13UbNK;AzNP)h>@6aWAK2mt1&Vo0$L*BgK3sA5PUc*}ZR0{{SZ4*&oN0001O zVQ?;aVQp-!mrZlqDins-D=f-y#4j=tAxw=0g#euaIL9@(SSABVi6uBBO7ap0CTLDWV8cKn7(X2eyVMA#Q*a(MxIR&N zNys80B2gzA1WXbtBe5A(%n<_;b$)*$8lJj}8e|J7&~X|ppNLEVa8pqefn?qaoHip7 z;9J8LXgH%O5OPXO5Lo@bB$OSXx=@;nPSYgRs-lcZvo~}PDqwDLlJSKS6<$d|BzjL(qEaAOcKQk{@GO7f(frM> zS_pV1(fh^c%O!@ho=d-5ags%nK?;f$%5ZY zWt~;gSb_;JRkoDsl8R2#ORz#dN|PCuDAk5KSKtNDZW45Nn(x1akA?6dJa^0WE_@Kj z?~r)^$^UfS-wmIgJ^OzBt6iIR^VlB4^~O)_L%Zt5_WfY{v3q{}4NwnD0Rl4s6aWAK m2mt1&Vn~yfA2AK(sA5PUc*}ZR0{{SZlhYq923;Qj000068N_-3 delta 1004 zcmV@6aWAK2mowxTSu`D*BgIqaa%{@TLWQ)0{{TE4*&oN0001O zVQ?;aVQp-!mrHZgIuys(=u>!iHy%b$OY-U#Zo49dNi$`wBW)KQFj{h4DqKp6(0wyB`=)Ki z$GUju_WMU~?C~7d>bftJ9mX)_Xx&gF^nQO{Vz~RTtfoe)yK4-i)Rje+}N4!{Q0Q^TrOb#Aa&82LD!A zp8aE(X!gO;Yg1d(9o@-~TzB^5jr#3*|DGY^WM!PZq;a}3PG8bETN!6BWPBO_ZTx?E z-d{o(3oOAZpZxlCrRDQ#(bd7%L=c*9a9y0v!`Xc6yp4D6U>38Smx3)BW&1x;Y-UKB z(Yh2IVrZHnn3e=%h+@F%M5z_TaL+WIUCD4SQ$dJGBDz!(A}WBWKnbOP>!_^6LWToNKn@IX|N1_qOa zh(N4X6>>y_M3vr%g10V%23`Xaj5zTjAF+r4u&9U*K(ucOZkyr&uyw#C7;s8rz~___ zAh5*yl8_?jS;}UFUm#T;;WKjSDv5Iur(#CPrHaa>6%8TB@{+(=LMGM~`a*whFDgzG z->b4RI?i4{-K&7P#c(1n1WW&x0wN*yL`EtZf+n{wO9`GOEChd5RWkwaB*cD>^QDX7 ztY-p<3I}VKh0qfo6JRYenIe>b5d;a9N@AWPbfO2zoCe3Sv#KmWQf-c9&M8h4h2?uG z>?+P;SA|z*FiH5_-^uz!fWv>sQ|(>kwq3<%j*__=^A2AJV aaa%{@TLWQ)0{{TEldB&s28AC00001zBiW_^ diff --git a/mods/ra/maps/center-of-attention-redux-2/map.yaml b/mods/ra/maps/center-of-attention-redux-2/map.yaml index 74bcf2bd4b..e1bbb86568 100644 --- a/mods/ra/maps/center-of-attention-redux-2/map.yaml +++ b/mods/ra/maps/center-of-attention-redux-2/map.yaml @@ -1,4 +1,4 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra @@ -16,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ra/maps/central-conflict.oramap b/mods/ra/maps/central-conflict.oramap index e93b52555f379f02511f3df1838fdee410e82b56..e4cdb06c45495745edef00aadfba34579b976eaa 100644 GIT binary patch delta 1332 zcmV-41@6aWAK2mt1&Vo0$LuoQphsA5P1=w;Kx1ONb582|tX0001O zVQ?;aVQp-!n8|YEHV{D1!>`Z>;DCM6DUQo?8aq?AYJ8?8IAIk<%3R8EzCI07&Wy-z zuP^L6vfRr{MB~b&2#LB_qIK3o`&&IwS7YB*hi4JySx8>_jt1_3Q+P?{R47@^bG!s z;`erJ4n4fE4E{p;D~cagU%gayHGFJ0-`ba#4-ocoO6uF@Z3IO{@x3lTV%KkrFZ11F ze2raf_VKreIHoDWFJB(YBS7aD@chSn(?5T=T@5zvx-q5^ZFAcmU&^6uhW}oEE%!s! zHrq{E*H!G-D(=U6sQ6C}^D{iAf#pkDsHLdKvN^OzcyrgpBM1dsx)@KCaIp|Bt|?qD zgv)CRR}10ln!@!$xW1-vvk-2sDcmlE+iMDU3*qic!squtg@2CwpR`#km=lDZWBGr4 zmFKHEU-kKF&R5GmttoEyLpvq=bi=osVb7C$zP0;u*69?pdQS1!{gU$&AP~R=W;q2& z0JyjqZ$W{e#w%pJ%#7D*yu2K5Gvf_nfOQ$bVt{7aQ-GTQb-6^I8FGpI1jwZZLry6m z0PF&i1Oz7tOA-PjER%*LBx1J;OiF)}P{`71p3|X`=zvL)z7S>&ILBll0gD2PHo~m~ z&~v6}UwFi7uX02{h#;6E&6dgE++PBmY0?TQ)_?~Mjs%jo1-}3UhqNG9Rwi!?xgZqN zv<|%{g3n~0G;6>ZX32Px$=gC-0-Skzog5N?o&`k$L~;vGn?1XGp@aiMPD_6!e+#!J z$oy6UQQ{>F=UGM-58H;Kz>UtH7IR`GunV8pDVb_{@vPsYiv0OUl=v`bRvjW19 zp`ww>u3#Uh&6q0tVtbM~4U>Pv?Q%+*HrpdW$P_po5Wr*rgVc41K|>mC#JWsFfumas zBeC!ZnWAfuj?L)IUSpP#4@zQ?`n>lBBi4dTJ&JeE<0_veAqt|PUP|VRf3__${kM2agMUfO+ zqz}Er7@zC(yhji?!PDOee85)NXHFi0BLwu{j;tsF^SiT|(ijJDm#UtpLK06abUJ87d9tsA5P1=w;Kx1ONb5llK`d2AvrI0001wopUGv delta 1338 zcmV-A1;zTFG^#WXP)h>@6aWAK2mowxTSu`DuoQo6aa%{6-}B(l1ONbO82|tX0001O zVQ?;aVQp-!nM+gSI1qr(<6n^f+l?=Z`}j6iUF>h${dUupMe$e-b=+>QV>5JRy}53i z*Sde&4MlM^4u7}ZcJmzj;k|A5n}=cCS8bn=I`$FdJ>J~@xVgW2EDBKaQ2h&Xg!Byl zisH|9Z1z1ounaySeTw3#>Z_Nku7;28=3D#n@&Up=j!Avnyp5nJ4cW)G-xkI9<50Ct zy8BU=AF+eGFZ11fe2rafcJYt9IHp;{f4+a*l?RY>dH~AJ+tpy^V>iY$qHV6* z!%I1o&G7T#*K(KCY&T_HSFvBKxE<@E;=eS^-{ET-SiYpSTZ+0bn|*tLCpS$zfKV{6 zi}6Sa7YpIylEURexV)rrwGgf@DO@jv>q`nZ3*qLH!tFx1y`*rr5biD{e185*_~(DP z|4Ey*f;mChDV9%HdAh38RiCcrbhYf$n&N6Vv{SNAH+;Jpc09S~Te~Y~olY^U=M<0K zZ#h2!0s%~5mQ#QPfQz&778D3-yh6sy%y^x~%k%LzGu|KuSeF4T256=|1-J=N=S$?7 zA(zNcfLv-Y(FZ=_)O+Wvj&V|mW(Hvye;%Oz?rAl$sqygSx_WEB)5OywAr(} z7fLuFXPD@F|5{Qx9wA4B`V0X#r&`1qQVI??OJr!2b1rNZG zv8d*vu2;dBV-VMC#{vy_Ldwu5VviFu6`cCDEwn*^;8 z%cWzE-o-UCDXNc4fjgVzsL6VJ`CnRAwx2mw0i4DkvfpdM;6dcDR7#T>1} zAVli*=uX626iKl~`p`R!@wraVdjx?KJpGQq2W*9X=HwALLO}oR$chp$zdM^Ly#ez( z?6iS?v4Hs<`UOWWZ_ubqM5Z(b%<;i6g(>Ne<$IIX>Nwq6z}I+J9pG`-A6L9_Qa3p4w`DbUXId4z73YP`y^O!u0&HE1SOl{Q4hI wO928i02BZK00;#DY;jvhldTys4Qz2+N1WgD;LijA0BMu!87&5>82|tP0B-|-)&Kwi diff --git a/mods/ra/maps/chaos-canyon.oramap b/mods/ra/maps/chaos-canyon.oramap index 7b3e588d11abdb500bdd5dac2707ff0b2d2f508b..b78274c4df3f485ec861f2a03cfbad6cc36c59bc 100644 GIT binary patch delta 1403 zcmV->1%&#YnE~^d0S-`00|XQR000O8=BQ#wu@2ltf99xSNcCcoo$Lhw00JZc00;m8 z0BvD#E_q>XY^_;MZ`(!?J%_(Sw_X;-et+oHCTLEvQ`kX#rfsGnDv=IJC3Sy&cPTlx z$v1-@1jC?2@y+bao3CA7)DQ3bVP8+%O{%J^=G&nin(?B)-)@Gwsy?;TuGwzheXaX( z^RDh5fBUYgem_iK`(eAeJpA4KvfsQN`d`bFyJl>%nCr`rH&vD8Ubp{dsM1m7|EhZ1 zAG-T7-w^pv`|@8^pWCs$ZFlYTxZQl{Z*L#7pvQ-zvG2YensKVCKX>(GGmP8n&GFM! z^Q9S@?ymXmvN=pcz01G6xvcjYbh?qhfBeyne>eTG%VvBU4o!KY@80$M+j^?I>F3S& z_1)C=-F8#&c5O4RRa_i)Q!Ae}9KYwU<-z*4_+}~Us_yRleZKQY*X*;Z1XKgjLoyDVP#(BIX^MR_Z{Ki1x6cu|b!=hb$ze;6O?AKfdAQcfskDU`ve z2%7?fJPCv%E#^psn1nGpFqlZ{(Sc-EF^XuEq)n2f zA5`Xcx|8-5#Cc(8Lc%tyJ7l{}NtnI09e z!y87!al@vUTO(S70e@x-(&jibt{0D6`gsQoNW#$o56I5M1u~*y04C>pYssz=<2r0} z({N;Yi->7sn68{8Sd?|lJd#jR&$~1_FPtT&3%V_%9M2VzF6_x7=VkQ@4;aKRgCHRSAR@MVjvoo1Ri4GjGq`= z?7BsjWig1EcDtOC5_2F0csGfu&`Jj2EvBAxg zdU`Aa5Tiz;-YGS&2ln;Ep86@fUYk}T(oRzjA{4VO57R{pdXuhH01n80wv3v%UYN}t zi;iTKK*;3M9e-&hT7ssPa^};4sZr*Kz@4mWy>8V7L9?O_FeON#BMm_XKR9N8q_jgt zObW($)a0EJj1H9gK5-REqtv%~YIHOtfned@Vkm<$e?HKnwHO6<4CS>9qXuPuZuKQqq z2vS||5BGmH*6rBclmnRPwkiX zsIT1rG#Av}xO@8gA5cpH0y6*<000080OqJ-NRuo~F%9OZVo3F3k)7-X0007$YD_H# J@=E{!006(TuHpay delta 1499 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 XSdf}><^li!GLwQLEd~}M00000g&BoZ delta 875 zcmV-x1C;!iMYTl^P)h>@6aWAK2mowxTSu`D1|NTHaa%{lT#LB`0{{SD3;+NK0001O zVQ?;aVQp-!mdjGxFcgN@=qbGGM$@q_wq>shw5%X>5(d^vB0z&}8DC1%r|*#sg~U4P zhDFA*;_p9KU9NO<;o3^~MWhH>n&-i`rn_?6B5E}uH?}WL5uHD}C(}4v_k?^m-KMoo zZ(V;~L}&IP;=g!Q>4uQgp?`F35iN!%^QDT;TKCl}l%_Kvzgk@15d!vB_76xht|Xt)iV3;3on70~_PZjwbnEpFgm#Vh#MRG(>3aXk*0`=9k3t?A|_u7Sa`qc#+vtBu zlPN01)J~@T&|f3K0sxOGi!+Si0V3x>D2xyxBBmn202u(Xgr+G5BmqFhG|e#}4FCcx zpe|)004$(ED*&3V(J%FWZWWarWAZQ~1Y|cxD;S5V3@k|$Vqpk2xnriF_WdT7dx%T` zK@-iO_&rPah(yvH2c!p*eE_yzG--b<8J*fEa!FG>_%slPC(xc}*+{T`BB2@DkxY#Q zpAmQ*`ACQvftG_q<@>|HQ<|ZHbLIhYxO7u=ci_I@EIv$Bh65syS~x!yLkVB+gFFF% zXO{bVGd2UzmB`Z|km4@+YLDC5hZf9^^ek6_7EIG)>w^1gGdU+vuS7hrg;an3PJ#g} z&`>fv61d=jID~}T4@!u@!btfsLI%7_V6VcxN&;I*OeNYOB2@5txhR$x_xp2L`x05|Tf79x^ zE8kxK0#Hi<0y6*<000080BmtvN0TNZF%4{STSvuQi@5{?003W;WFjpFG$H^1007*V Bmec?M diff --git a/mods/ra/maps/coastal-influence.oramap b/mods/ra/maps/coastal-influence.oramap index cea61d9f9f147db325643ca447a544cb786b7cf8..3bdba98e9580c1d2b4bf94da4daa35b6f07fdd1e 100644 GIT binary patch delta 1204 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 diff --git a/mods/ra/maps/desert-shellmap/map.yaml b/mods/ra/maps/desert-shellmap/map.yaml index d700145a48..809387e8e4 100644 --- a/mods/ra/maps/desert-shellmap/map.yaml +++ b/mods/ra/maps/desert-shellmap/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Desert Shellmap -Description: Desert Shellmap - Author: Scott_NZ Tileset: DESERT @@ -18,10 +16,6 @@ Visibility: Shellmap Type: Shellmap -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ra/maps/doubles.oramap b/mods/ra/maps/doubles.oramap index 5b28a25a15b75206155fd907433b513f162f45fa..c99a73a7b5ce7d91bb212bb16e998421c91d826a 100644 GIT binary patch delta 1736 zcmV;(1~>W5J+nOxP)h>@6aWAK2mt1&VzCXK7k}ocVo2s#kTPrr002oR000O8003=a za4vaaZEUTYO>^5u42I9)uh6X*PG`SAbZU||r`YM(ndD5%Ov|YxIubRh`|E?HY%J_f z!nd8ABvO193t$((g1YGL-i(J`H?3E>X|DRur{T~aFUH&T>d-aK`(fJl>(#I0>1Nv> zn}6ozY5H?KtXG$(zxtnct5=8d=kgH!*3$^rm+w9{4Gnoc{6m!1ruD9AUX7>y?Qy*_ zt!cGNtyfL+VK@#q!*-bN*Q>YV&CNXxbALzB>v8}2)E}p&`F-2n_lM)Ud2#-B)qm;_ z{eIK`a@n7zL${@0UR-uNf*x+r^}8?oDMood)K#~?9d~r+w|&2(K}nZG-`{;}aQ$p> z{euQS->-u|J_j123OK9WKFsdn(>#3IZ)jznX=Q$-$?UVi?f)CRdAXU!d11|8tbfz% z)$ZCPkS*y`{==@daK`&K8W(t0&*lwT0kDh4tEDlI&(Tk{BH zRRFWB2?M15RP_2DV3hz&kq{REEdUGX5S7ru%~sM2gcRY6h$XWsNd(9f%8O~mB1A6{ zNeD@ZB1wqIh#r9fqZBkJBM1$dDt`-NcKE^y@vY_OEwG}3c)qw>FD+Ro0FU_2>(((r z-rf!Se!&q+5OJ1am%Uw);%&V!D=VJQ$fS&I{Uf2(JgEg!nKm$>foPC~0E1Z8N(mNN z99l^wAa|=E2oD61)JA^(ytm!L3d}-_h!{2nAtNC&iW*f&Mnba^(=rN)&3~rO%FMw$ zE(XpD7{s)uO$=B>?_`At2L_x z4`eGxyPh+HhpP5sVUF}ZLdAfWQn0e!NF)QQ1SjSdklaprR1nCXr+-Ot;0^|;w9*p- zDcv2Ni8w?C2i5}uL1I0fSU5fgDAp@UKk!FD3J_hYe7T>EEAn1fgIP8 zYYj)o2nBjgig4VD7A#Z*;*e^H=EYGcdSt;nDFZsSmBc8dM5I_D3v(2T39vAo!h{Uu zly1BrlESJLK_Hu*N`GKMKz>hBkz|2#&r0IKVB7RcPG zTWqR$Ng#z?41ba^$m%7RM)*!~pt>Z0XkyD)aa#m2=Mo9w6?mVFiSfrCqkyqS=gYQPXSX??OiucOpp!AVVgsfj^H{Vh|3C{6l6I%RK9;0|L(W) z#>c+98~5j*hV!k9({b3)=jAvJpN8}3<^KCaw?A$lFTVm%O928i02BZK00;o)sA7{_ e9x@H)sA5RwSdcPo1^@s_lbRka1~MK10002=fGQdQ delta 1778 zcmV@6aWAK2mse(d|I54+XNariN#M07On?e)8lRYihs z`@d-{txfG+RlOWe`}-q}Qkz<+Up-?Uw#|aoz4{oXZ9J{qD>D z_;DDwr0Dzc)a5&d{i|Vj*G}zz;)`$E%~{!YyY0yW{}OR^+D^SH63)NrXTGt$%hr27 z)J?m;A9i%*mwmURK}o%_>keNVTt6FJf2YCE*UR9K_ko5e0?sPem)TuD&E?a6MSm;v zOe^y}O=h1BZvWrl)z6!0m>1Uk#X7xS?GDF7`(=M#LER{q)Z1axo=4QN*5N|w6hW%- zwN6Z>^=jHEzaXeq3^W9&v~a(!%_GpL447q27$Ehhtk<^ys{~-Ogt!1`0a!qXsDut~ zwvt{TqzIoyESXhFB0!!{UQ8=yA%A*_NJ2MsTx7d4qsRy zzP5b71y)oL_h)zOr6ubG;1S<>T{|Yo+q-_>EjU66BF-}GvbPJ8y{#8!WySpsGAUzg z|43*xPinzbrVb2fAQ~hgz#x{jQi25*hgMPv$lWRk!UF*$)sgQ%?`^lR0)HE!MMMmn zf{>9A8Ci`Yq(MTn64NpYiOr_W%FMw$E(Xp57{s)uP7GK??_`At2L_x%c*GmzzlMnb zY`qkP8j!>D_AW9KU@Ak2QZdmWwlccNunI{S#tA|rGOQH@lD}gR0FuA8ib8YifTeCE z;DIn=B@h6>1W821w$@7|L4VoR)mk&sU~wS{#wlorkQmO%4yoE4Ek;h7&LHYLEfI@k zgFqJJoaPY6ha`n~FgyqZitkzbGOq|MmprdRV5Pcx!er;`g_^<9y64p9k#aq0NoXjG zc!^}!>!or!mD7#!7H|rs1wlYH`#i70cpzIj+Vz|nJXE!33v;CR5q~NMyp)2K?M5OE zph|FJUIEGNlt%@D?0K3L2ku~iN-I4fkkZ}JnTSJVa9}+k5G2;qiG|~1fMUIp1eD$> z^BRt*AtBXxj1p;}Y%PeWfMueSB#`4;a<$>;7@)vr`Ey2*~eADv~Uaujsf? zjFk|#M{)>9#)P;%Z{9*6#e6nzAtJI+=%8dcn9iNJTzR=APV=jDIFc84)YetYi|@e`w^y z8l)LStHnNMAgiEOO?rZ8z+h2H!eEDuC>f}z*QU0X5eJ+YspztX2@h2TK_USVlI>N9 z2qe=+Ng@HUDEDjx0yW@iwG?w*x^zp~R1z9EXHqg11myXYBw~>gwYH7{hXe^vh-buO z?Ib}2U^iL`Kz|9Ih`>aG>P-Pab)9YmGI#10n<`!sNMRR)Bn+~8$>os=3w60jk;I4t zOF<#UBPY@%g#=_?mYmoy5`m&1Yf=cLUq>~8Q%oQY+MMH9#@w%4lHpzLcvD$qs|T7D z?^|mSV>PwoEn<;VocD58P}@dH0?F<{OCkUjSAIq(kbj6h{dD|THn%$ZO}E$~D9?s$ z?s8>hX*EV}Q0v_6$cS53pAip9@ujt^bF(8O3uT8FeN>&h9f1Dc3NZ;nQt^wV02J(9dBW}?Z76{8e$nCL&ZVQ1FF{WS56z8^TO9Uu2$-dvloKIS zH;u4CK7XGArl#7vY@C=N8|1?_hbA4tbwCi86*?)%a&*Qiizgb0p$NrJjo7xPvXy5R zF6=qwrKFNZ%_7ZZ??B)|fnO^u0ueNZZoF8IfuhHnz0=CXU zj@6aWAK2mt1&Vo0$Lf+m0FsA5RT<>3-|1^@v4CIA2k0001O zVQ?;aVQp-!T1#@(lYuv|q2jb-PXZc-tTPEPMO*>ciWc*SAfR7yLNa z@?R={P4j6u44Yv)9G}*!_tR$cloxw?$YO7%@%yPiWK|!w-BZ6mteaQoS2z8ae&3IG z{cqR(>A3H<`IA@I-7X6~-^lO(d>jv-r~Q96@Bemx>dQB#@y)c`bjNNy{&(|TcXu47 zalPuc+o3c}-yNqpMCKP}y*jqV8}FyP?ySO*O7KyAb8Tw@Z~tY=Yc(3 zE2s!;S~7x!;f~6al=>WSIRt-h)Ib8dJX#(k_^eXP>%f+KV7Z`!Ek(2hT?Y~q3=gM4 zx`ewT!$&!09vv92iW$0))KlcaE_e_malEVOfdo9O2#|<97(p=^F?K;QiOaTY&DJf(Qex+-IcZ*mDsn5?(sDbq0?ShwWL2P#Lb*Zbxm2i%AVDH96TC7-7W^0) zB}q&rsWv@iH{yRV@pG8O<>WcwP&6$&tHvpj$^(jO;1Z=YVoaSzVg?EhMPnJuy)a@U zu}E!9y48eXi|lH4n$#yz&r^kV<16-DFjNPg*{k??$rRZD8cBp#89@4 z%3&W`&g(&YaiO&C*XgWvRr<1B;_6(8I})Hw@xL{0d3L2gZ)fq&NtDWcoJI=bozov+06E0?Y7PdcYW% z(+bkBCn#v99g$`Nk(h^h(o}~6*RYF?La=N$6pBCo0aEV0g>88-h8ILa9aOn@<0e7P z$KC1vYkycb&CO{$UqANWPvw_3<@KlO?|%F1jn6TC_b`p;kB0NDtJ7h)%h&7aID8q- z`pW&=eK#JqKi>WeP)h*-RTi#m^P)h>@6aWAK2mowxTSu`Df+l}#aa%_-_W3Ze1^@s@CjbBl0001O zVQ?;aVQp-!TFaKxI1pXqukZ(GVZEiyW*8nT8aPcKSUZWKeI|*6;{ZKhKa$f7#Hw4f z>2sRn#JE%{)va3(=cYZr9>#q;t?E!!x82usKX#{^VY{lwwyN&>Y1gglm&5tX{oy=S z)yseGv>E&3)DMSMt-t9%>KE;CI*(mF^t*c7jbp$0`&54(#=844jcvVYPxn>z{5;(c zTmzMi|&lplZDcEf2^Rqy6q=1=c;?L#-FPtPu&ZoALj z*c~?ApKrT!+T$_8_;^w@Y`sSC0%lGs(KiIDG@h+FTZ4cXFpYFUmbo;buGH>jF?sxOvLO?P78JM2lbU|62U#bN>UrQo#jg;t>&#SM_++k5?mp z?!J1ynT9z;<_~&RPfhm5n_<&lR9GpZxx_^`{uU_n^CmsNY2=lFHo`k3AZ6BIuLZn_ z0SWk3y+59g?f1jAOyUI#l{86-yf%MBD-k0S&}vnGTbSX3h#qQC^tNKsqM?>#%lBc} zUaRrKC@2wtgoF~7lCX>pqk)bFNjO7EG$P>Ry5Qv6?KWg;M|Q;I5oxXuHwXoNu0jbc z6NQBul%lX3gn?EVN863PVIzIE8tSlt)}f&trXfx$GACsy7)CD?4%$c@mD7L1LWrnL zBvM`b+X@H6T$xh98DSx8RgUq-UwbbK4>iaz8?jKKgvT`EvWjb~tz&3JNdo3ta_5x7 zb>APlD+w=!gCt@k?QV>7!iuE9Vk;uCC!SO-DIq9_0zH3JJQ9)MKE*&Ug?calEVGfCN0N0Fa117(g)@Fm``IF^S8zoH?Xl z#;j~$y%QrSi?z@&3MJ{oz!jj>`O2md3Y%h)2u8d?A`o0wBN5D6fafr4`A8!;LbrGj z?F?TdtU%MfqIF=_G65tiT;l^m!Tpn@H-#mv2Q&wfX zumc+)fuRfRVEh5f04#sufIl$#TF|B8q@Die9?s9cCBduxifzv1hk@KQm1T8*@mRT zf$8WQTMjsVWM)3HapmELlyfkfNL@}JZR+tD{t3j`RWpGu8&5=)Ppv0Dta%0}-7^upB6)ztM7k`& zm`=;%eJLVt^FV(J7bk$_xOow($PH&pL+#8kEHCpQs{nmq$_;s$OZlP*VkA5?aEOqXAp6ycr%kr^ToZvyfdh>?FF3V~c`VGrh^dojSwN-%nj zBq-YiVX+Sl<#o?doza9Piq%0>fV$ykw}$Y#Vl%sOr4LQ&6L3r!D!*CDGe4-f%Ls%|_XCw%(r=pyRTuTsq zssJM+K@op^{sjp0B7q3@;Duq7WT#76OmH#zx~4o{%S~vco1I?NL5xG3B5Ezq;oT8V zPf!dPip~&rSf<&NT9zewqAZ5s9YOG^_+^ra^MoCVNpTRmK=f^_&mC0(Ces;*c#`22 z_kz(Ar{%d{Pe`wbc7&S=1WCNi&Qw=-YD0qKEW<#dN@5c6U+Wq|cFHlPX0y6*<000080BmtvN6_FlG+`zH01-d|00#g700000 j005IoEgTMPaa%_-_W3Ze1^@s@CzEq6ECyXI00000ZrftY diff --git a/mods/ra/maps/drop-zone-battle-of-tikiaki/map.yaml b/mods/ra/maps/drop-zone-battle-of-tikiaki/map.yaml index b50fe1b44a..51b921d36c 100644 --- a/mods/ra/maps/drop-zone-battle-of-tikiaki/map.yaml +++ b/mods/ra/maps/drop-zone-battle-of-tikiaki/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Drop Zone - Battle of Tikiaki -Description: Pick up the crates with the APC to get units to kill the other players; Using Holloweye's .yaml - Author: Knivesron Tileset: TEMPERAT @@ -18,18 +16,6 @@ Visibility: Lobby Type: Drop Zone -Videos: - -Options: - Crates: True - Fog: False - Shroud: False - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Unrestricted - ConfigurableStartingUnits: False - Players: PlayerReference@Neutral: Name: Neutral @@ -299,6 +285,12 @@ Rules: InitialSpawnDelay: 0 -SpawnMPUnits: -MPStartLocations: + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Unrestricted UNITCRATE: Inherits: ^Crate GiveUnitCrateAction@ttnk: @@ -351,6 +343,15 @@ Rules: HP: 120 Mobile: Speed: 99 + Player: + Shroud: + FogLocked: True + FogEnabled: False + ExploredMapLocked: True + ExploredMapEnabled: True + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 Sequences: diff --git a/mods/ra/maps/drop-zone-w/map.yaml b/mods/ra/maps/drop-zone-w/map.yaml index f21f44374e..8708381323 100644 --- a/mods/ra/maps/drop-zone-w/map.yaml +++ b/mods/ra/maps/drop-zone-w/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Drop Zone W -Description: Pick up the crates with the naval mobile HQ to get units to kill the other players. v0.2 - Author: riderr3 Tileset: SNOW @@ -18,18 +16,6 @@ Visibility: Lobby Type: Drop Zone -Videos: - -Options: - Crates: True - Fog: False - Shroud: False - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Unrestricted - ConfigurableStartingUnits: False - Players: PlayerReference@Neutral: Name: Neutral @@ -205,6 +191,12 @@ Rules: InitialSpawnDelay: 0 -SpawnMPUnits: -MPStartLocations: + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Unrestricted UNITCRATE: Inherits: ^Crate GiveUnitCrateAction@pt: @@ -253,6 +245,15 @@ Rules: -GivesBounty: MSUB: -GivesBounty: + Player: + Shroud: + FogLocked: True + FogEnabled: False + ExploredMapLocked: True + ExploredMapEnabled: True + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 Sequences: lst: diff --git a/mods/ra/maps/drop-zone/map.yaml b/mods/ra/maps/drop-zone/map.yaml index 9ec2dda8c7..8484845c5f 100644 --- a/mods/ra/maps/drop-zone/map.yaml +++ b/mods/ra/maps/drop-zone/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Drop Zone -Description: Pick up the crates with the APC to get units to kill the other players. - Author: Holloweye Tileset: TEMPERAT @@ -18,18 +16,6 @@ Visibility: Lobby Type: Drop Zone -Videos: - -Options: - Crates: True - Fog: False - Shroud: False - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Unrestricted - ConfigurableStartingUnits: False - Players: PlayerReference@Neutral: Name: Neutral @@ -194,6 +180,12 @@ Rules: InitialSpawnDelay: 0 -SpawnMPUnits: -MPStartLocations: + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Unrestricted UNITCRATE: Inherits: ^Crate GiveUnitCrateAction@ttnk: @@ -246,6 +238,15 @@ Rules: HP: 120 Mobile: Speed: 99 + Player: + Shroud: + FogLocked: True + FogEnabled: False + ExploredMapLocked: True + ExploredMapEnabled: True + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 Sequences: diff --git a/mods/ra/maps/east-vs-west.oramap b/mods/ra/maps/east-vs-west.oramap index cd98aece12f35ff0382ea3b2f22e1bc4bac33625..1afea2081b8b28953b04455e53e961aa93deaebe 100644 GIT binary patch delta 731 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 OleR}K28u@j0001Jw{}7R diff --git a/mods/ra/maps/equal-opportunity.oramap b/mods/ra/maps/equal-opportunity.oramap index 73a5202ea61ddb15b01949570a80758d23bff3f8..bdeec4bb89c08ff548930e611961f86dd12c4095 100644 GIT binary patch delta 733 zcmV<30wVqNDC#H@6aWAK2mt1&Vo0$LC=m_jsA5P!CBOrh0ssK2lS2_Df1OV3 ziPy5Nw3-2lfS5G>`d&fO1T3YS%-Dl;x#!%+xdPUzy>VTme3h*by4O#G>2$w#rz-0d zLObJYU1ir#gQ~N;wsoB!tnn`hT@L=2>#A(8d;jd*DckztWLzIGweB?#ZZ~&(gdoD! z`~ea|C5Asj-`!wOeU-tUax4h^e-L^wy*Zc~xU1~e9S#s;_tFCF%Gsv@f*|yxRxi5i zD|9if?)9VYv_0x?8$I|=)o|xxqZ$Cc8eo6-Z2P_IYA9&e4LW!@d*zyg^2+*u#v66? z#@Q-Ub!~Ki9%4Pz-sJBQraf$fqdJ5xEvfF6J-G%f*H$+`3bk}vw<&V6e;_AcNlq8! z^ef4W1$psB_7-l#vM2!ASsEB!Zw=&=i0JASW|_PB2gUi{L*` zhzl%|70BSv=PfF*O!}|Df1l)Ye#k#h`I9^Zm>0}BX2}kbAal-^EoI4!$RzW;M}p%r zjR-pDVg`^9qDTUQ&SarlfmxXZu=BR^6=um%B|&F0uc26BnT`;ICgnUOfs5o|5P4n$ zq*SJhUPWdVv}VZ=G>;vJ63g@noz65{YL}jGI;lM`yp*3IK<&m@e?3R!xJ*6}vjqX0c3ds!=ayh>q;L~a7h$ioC}o8j~mUNZ3YG}PmD3tv&;{T0>^?zgT#8unVX&Q7TJykOsT7RvVZ+x9O|O928i02BZK00;o)sA5Qy0~9e0=BQ#wKqbHfmjVC) Ps*^z!Ee7cm00000i*i*X delta 743 zcmV@6aWAK2mowxTSu`DC=m^8aa%`;%011Y0ssKLlS2_Df9;O# ziPy4GTFn3=ASO+}zE_Ym0ZZv7Gxq4=d(OF6=L)k{?Vasv<%&ciw9`+6>2$xgWs!6W zp@VUiE|S})K~>4NZEfd<#<&-Rt_Szac13d3y?eH{O!jUljqN?A(!B=4{bqYa2o(0_ z50DTlF?x^yu>_??ubO*DmX|~gky3@^Bf7|H6b*h42t~RO$p4SanZ=aj~XuAq(JamKh5w^Lp z^+`F^xPO~>>g;8TL{*j1{iVcusGLdP6{a;TeV{t|gIiMVR8!g-c5WM8e*-C$*J<6x z$jO47d?h(ukkhXu&lcp_7m-i<@8oZB|FQ5=U@{B8p6lyK@msd&`t0o3SmT5gi94sh zhTzm9H?1wkq*HlX(r<3d^{HH=5-0 zlmyPAjX~sP4UkeEFM1W|Rq&ccC1@JD4mp)-w)8IE-*j?&e_nVlKSO}qwQ2Mm zk>Wi17@&CoA;FC}f&~zQVIK95@=#X%GlU3bB|dpNQ5n)$g>QG?s^@6aWAK2mt1&Vo0$L^$~yOsA5R)5y&v40ssI~3IG5I0001O zVQ?;aVQp-!md|pVFc8Mi(NpjMIv@#<;M6peoZ>WNdy=zklvXo<93h&zPu~TcKXz8` zB{TLQ34Y&xtCa)`y}NO~)uBpCLYC%vu-^0wS67MGgsg37OqJYN--qPNwT2$rE8~Bg znvj3XA^dW_N*+xgUYx6wRTygP`VnnRZ$Ni_y|}+#Uakp&U@Q9<^cYtZ{)BvYLs$1z z!a0SX%HT)HgYE6cHa6_5tm!|8SPV_D z>3f8^58d%Wy%{I$RBEZa+O;rp-I*3dAs27VE+)=S#MxJh^AmCYmEz(=TzrxEJpL~J z`rLm?_&LB_EP9yN!uUlS0;qqI ziaZ8z1Sm3EWHCTgN!X_Ou_Zy3i~-pMWXAxfGHNNG0Dc7I@(fTQKmpsihyfC@1W5}O z0~7+lX~D}FP$HJff@W#7aOp&dV^0N@(GZMb^8`m&Gz-Qjf*qHFQ5AP3ki>I-CUKS_ zd6Y1>@fbO>qC`o{Xua83a3+s|{LFt6WD*HcD4NGjDP&*BjAn6DB|^YdDHh#&SjkmE z%jn+Y3@L{=R}PMroYOoyS6pDO#F@-FR&qFW;!Bt3h%3dYj4oY1mAp7kT%I!(+vCxa zbA_0al8Sg5@6aWAK2mowxTSu`D^$~w;aa%``;~1B%0ssJI3IG5I0001O zVQ?;aVQp-!R>5-HAP_x=uh0i@5FiPpQ`1axij$1(NzT|JEi;l(5NhgveHY1TA_v?{ zX5?X6^WMH?7o?T!Z;WlFs}h0GTD^?gs$pg7DzOrwt#*y7k{fLYmt2`v;iJ7#_Lr&= zx*UJqPh+d(Ne%ARm^#_GvDRkr&_)dkc(>Q9hwJs_79j|>(SLxCP=Vox(04O-^-v|0 zVt7Ob4?>T6&^z5|cc_wEv)dhj?9c=3%5*Oy1oBI2Wrhl&``&5OdF!E(2W7#!n60&X zR#tU;_3ciL&dLV_t%e^yGV@*a{C9Uo}<*nJvnKMgqN#}M__CtSv zO#l)Ah!V3r2A}~zk>MhX0a%r|eVQ*NF)VltkWGMW380uqCFK)uBiRIxLe(@@Fb(uub&%>$|g!93c!bSinV zOq`z+6+7e6l2Z{7#W`m2G|JDSIKz4T?o5MOlp#$+FJC)<|M!!1`U)s`3`1VR7$`_V zVi+36z-4%oG3s005NnV^RPB diff --git a/mods/ra/maps/forest-path.oramap b/mods/ra/maps/forest-path.oramap index 259a9e346d567af372ff1b6b9cd6092d6f720452..195523c0edae55c41d1bf048fee058c5838aabe2 100644 GIT binary patch delta 997 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 delta 1844 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 delta 1866 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 V#XSlI002dkCps+#%{c%7002z&kemPj delta 1375 zcmV-l1)%!QblP+dP)h>@6aWAK2mowxTSu`DnKTV-aa%{~n=#%N1pok8le9D^e-=rQ zo)w#I1jv#jOGvZ7z9ZS$CiWZd#XwQYjNZ(UZ@x%fRol;9zo~}hA{50%|8$dnq&~H)^!IfdhrVj)FCVU}4aqr7 z(C@F$?e2TmH?+XJeoWIFUHhrqJXAx~4*yMlu2z$p<)UhuI_*wXT#e08f0utW?0?hG z>BZ_{+O=a*H&wgtHZ*hDrVR(I3VjURPIKtcGq*e_QiIxm*mZa&ojU-KyH#V3Y`UpR7{{T4q%W;R+y3n#2KO9A+!}*atH@h1fN;8#{el=qXI@4#R1SFTog*P z)RhQfgyPATSchg;Ar+$|vIq?jmP)f{5e6WP&d?_`uM$5wfMuZZ$Z z-KKX4CCN!xSC@!%^7V{gDa5+9!n2O0Bt}@4LxouPv|D^uK&*$5*)27(F5kyTlp^v* zA=14Tj&&1-NDoeUHb4|2JrEzfRRN?oPwvigt|GQd@fmbaxjyj{77<|(YVs@A-?akX z8;uC;(zON%Sy~ZUf6}!-(L?P-e-z}2}lWX z$eM+c7DW|b+w8RTIZWT|Rmf?O0HB3p~wfm0vda18TB$ z_T(BI12Mewpe9?XEF|DViR2GtAu`>6W-+m3)MRdJBvj+F7zILMI+bO*TFXE(i-CEW zwpp^pGD0o6d!e{b%;uzuY5q)#?$D-M$rtfBw_y6@Y^_;`i4h>|{9T9*v+@*TCkTJh zQ%c6Je+)#iamhE{}U32Mjt0MV-eWZmi5Xvn&H}0jisluQ;-dOeUmQ%Ut(O zH=SH2%@ diff --git a/mods/ra/maps/high-and-low.oramap b/mods/ra/maps/high-and-low.oramap index 88e3b9ffa581e86643ec2d026d7e9e4b663ff93a..eea1b8e44cbfd0945495d847b5f876a0fdb385d8 100644 GIT binary patch delta 1154 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 diff --git a/mods/ra/maps/intervention/map.yaml b/mods/ra/maps/intervention/map.yaml index d61f60adf1..f144ec62d2 100644 --- a/mods/ra/maps/intervention/map.yaml +++ b/mods/ra/maps/intervention/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Intervention! -Description: The Soviet Air Force is flying air raids against a civilian village.\n\nWe have to do everything in our power to stop them!\n\nYour job is to establish a base on the mainland ASAP. We can prevent the village's destruction by capturing the enemy's Air Force Headquarters building. The enemy base is heavily guarded, though. You will not have enough time to build a force big enough to overpower the Soviet defences. You will have to find a way to sneak in!\n\nGood luck, Commander!\n - Author: Antares79 Tileset: TEMPERAT @@ -18,19 +16,6 @@ Visibility: MissionSelector Type: Mission -Videos: - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 2000 - ConfigurableStartingUnits: False - Difficulties: Medium, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -2220,6 +2205,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 2000 World: -CrateSpawner: -SpawnMPUnits: @@ -2228,6 +2221,15 @@ Rules: Scripts: intervention.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: The Soviet Air Force is flying air raids against a civilian village.\n\nWe have to do everything in our power to stop them!\n\nYour job is to establish a base on the mainland ASAP. We can prevent the village's destruction by capturing the enemy's Air Force Headquarters building. The enemy base is heavily guarded, though. You will not have enough time to build a force big enough to overpower the Soviet defences. You will have to find a way to sneak in!\n\nGood luck, Commander!\n + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Medium, Hard + ShortGameLocked: True + ShortGameEnabled: False CAMERA: RevealsShroud: Range: 18c0 diff --git a/mods/ra/maps/island-hoppers.oramap b/mods/ra/maps/island-hoppers.oramap index ee28588e95d1514d904e5530f35ae460de2e4f34..6251d9de4674054c2fa4a489c87f6b44e2ccae53 100644 GIT binary patch delta 749 zcmV@6aWAK2mt1&Vo0$LZW({(sA5Q#xHq?l0ssJh2><{H0001O zVQ?;aVQp-!mfvohFcikG>!;uWe8I8#W4KyZt=gm}otmn-b`p291ek(Rmpy%tAzcf# zvztnZun*_=9s7Jnu#)Yy>1t`qs37D{Jq@~3{mLB5sFQ@;Yg?%@`q5XiIYi%0+p4Z7 z|C%w`M$8;~*|08@uk`n7y1NGe+}#I!&s3cf7`Y!2JCZ04m}Tz+8U; zG0RU2nrESWJ{Cyl0H;L}0um1Zf@UHFq`nFThp*g60Yk>-@~Ai+Gx16w5^NI1VCp948f!;5l$LpDEvIc_{$ z!Wj;8zqxBwcpJ`fnA^dCCPBl&ISzjx9wQb!<=`BLc)o2;voL^$*Sb-2!xNeYp9>ay z2$7%J1p^S2=0S%50S@bTE!9%k!9!nW2tXh4q-tg^B`$Vx$ju@t$c1= zd)sledV!+Sj1r!hXMcqev^0{Ee0PP00000l~_{; delta 760 zcmV@6aWAK2mozyTSu`DZW(`Vaa%`T@Fp^n0ssJ!2><{H0001O zVQ?;aVQp-!mfvpMAQZ;0%TxFPxbOl0!M<8ot=gm}osy`zCNbTRY~vcNE_?cdovyVD z*-fQHhLiLA4xA4wtax{;`i7e_VhC--(;$1HSE?$bo+GrArWR%NL)W~mqVKBfM6VIL z9?XAl)tAv;X!ER86>ZH>Nu?c73oWeLc74A`$jWc!U#kFwVf#hss~Xx$+W=rFaFN*$ zLJv~QgRG@FmC>C#98Ol~)LHCCwNHaB;!-N1bcxV?XQXP~=x5DOb~z=wnnoM(D0LGjNd9ub31j3{NTE_l-k%Hs>VjXwW6`2c6+@LT}T`j;_#W`WFbyIQ=Bfu=_iR# z@i+0;y#HAEvA|>&KKJ$fB=~i;==x~Xc(BGnTt+5#-M>>uK1pT-=lOJ+ME~x1jro6I z^N&jaFpEO~aRt~cKP_;ch4SfGAe{pg7exq2JOD79u@I2@DioL|As`!pWCj$MD&!u3 z7MKJpFb}|D4C5-jL@^R{MkH{FfOtg6vQc5{06avRV?u)j@f;7^Dh5Hq`3?CT$Z;B8 zl=B<1`2o!B#=|9?;V}1`x>kj^;T(U5xg7*>5;Po~|H zwqkC0g45u8L1GWV@(a5l;3E>u!ZnC*RVik{eGuv)^7ullNa7)~?2>;Z^)1UGB#2}l zB#klk9V^}O=hn5i8%N8RFr^^|{7hb8mV_AMXBhZjk};D8))sr~plvf$zl1}(c5H@v zd~WS!$^9+4@q_v!>i2=Y;N5gfc~Ei+tp+WR_PJI@KFX<{i|=~g+WXac`T|f(0Rl4s q6aWAK2mozyTSt>G95D@Taa%`T@Fp^n0ssJ!lWiO=1}Yo?0002AduC<; diff --git a/mods/ra/maps/keep-off-the-grass-2.oramap b/mods/ra/maps/keep-off-the-grass-2.oramap index bb26d5084b58930b21551cda214a1dad08bb529a..00e8f84fbd2891d4092581ec3aa7873c07578902 100644 GIT binary patch delta 1437 zcmV;O1!DUDEaxl^P)h>@6aWAK2mt1&Vo0$LiV%P1sA5Q1Q;A$M1poj`8UO$Y0001O zVQ?;aVQp-kS=(}(NDzGvU%?0PF!u{j>vcK%u(6Y}Rmn4w$1$}CWI&bmetl*bGa#FR zuB}Q+0(7Rk=X9U$!MDZfbJHG+K2LR$+?$tk*_!UQdCb$cNRnOIS0+#YHs+LmeR@iF z&nAEUt1Y@NB}sC1?w^}BPoIn9-u<*Pow4ieZf?Kb++XdI#4i3&{%7%+sLcLPl0Tbs z{n+IxWf?^oSN30$d@s9lUsh%Rnx|iy{r=T1_Ik3g>!yA=o32liZ&mSX+AdE%`EU2; z$+V_Em_P2!xo?ZgKKXQ494+YWhQ0p!tL}e(G;L*L*|lfme$mv|&2eA!Mcs#+pNm6Z zHg%pBRaKhqqlxR*hTlyV{55#FPdBwW+HZM!d#?HtW&RU?G~}O8hWxd?bU!Tij*0h1 z?u+`dInIrY-YqVU-z|>+-{Q&Dp>GB{hA)`rX@5Y>{_;z6C_Gr8j1kX*X=k)}1Q~x2 z_ydAP5qLoGO9ajsjUgz@(|ue1bBT}{=TQV-LWmWFq`|BA&u2?8>GIqoghd?7+N>j# z&L|zdvL>*+^oe9Ly0=s;MZs61SR{jH5=X;kf$+7ktxf%gU=D%Nr3sy>XcU4#OmLJ5 zKAP|uLN9;7G9Jw-771KL5yI~6&uxGD>>7b^ik9fmYiWoh2pvVxC4^d|d@?iGm(Zo%wHR~^5Tp;-eUK`2S?!$Kup#B(rB6eri0|cXH4D*#AWE8%Xx#cE6>h4F z3n+)SzcC2G#;7lz^LXdbKob)e3ev@un37gVAbU)V2nU+!f!uQWAbziBx}v98+YiGAtWG5L8IQHJ|WILR>AKx>ND1zGMt%GTLi6 zUIsCiv8eQLy-*<3&N=Z>3B}&h#rzQ_z zVFq18=xH!k98!T+t%8y$$2R7hVbhU21*t$+!yyU<@k#PQSUf@lOh`8Qq(O56pPA4E zz=h4Hpz4}}GLR2PDUV>F(;S)E;D8i#PK`OM1xRr1G!qaK;*{N~&^WXL%p!KSRAWYI zP_5e2K|o-HAaU4p&GV+@juRu@8}#fXDqxdr&WQ$N6O z@1e*xB(UO6IQ>?(SW@^D`*8Ze+lW9T77!X8^HU@em@J`>V61-t`sj>IJFEc>*Y4Kj z7D2#N2~8an3`$5gy)eP-OB02m5)~^yO3Omv{GfZBcjCc=;PpO928i r02BZK00;o)sA5Qy4i+&D=BQ#wSW}5yG6ettOOs3%Ee7Tl00000Z8M$; delta 1462 zcmV;n1xfnnEdMMHP)h>@6aWAK2mo`eo=33`iV%Nute!`%dBXEb1pokW8UO$Y0001O zVQ?;aVQp-kS=(}>Mi6~AU%?0PF!zg|;yB(sWNmNRF7Gpv$7?DGWI)+CU%xYq8Ia6C zSE}q1LORpkbGlFWpqu>grEd0lw@Fo!+?%&!(U|t8e%_=_o+OV&SDH=wmobO*?&T$Y zd^LaRpH1GjDM^w)OuK7}Ls!(*CdL2YB)L3xuXVFYU-SLeflJdGyYl1p&A03O%f}?K z<{paw?24GE%>F0I@Aa{IZZ|1q8ATaa_Ag1EiniDmWzoHF(y#S)`)(I|KUmmRUA-Mm z+qthio4Va3$zAV&yZTn<@20U=7yjzryqJH+R6FzAtvPm0UfNGCZu7le=i`QbfA_O$ zzt>G^1Ac6d#(kr%uIl|Z@A9e(H^1aNA7@^cg=s&VxN7VkwW9_99=zPeb!GPUYLng^ z%dS9~f5o2-`Oil~{=I$czL;+vUFSyb^Xj?YPmK)T%`T457RUc@@#J#X)jb{k1*U(S zwA&$OzxlP^^}ACa^s9iDWXmw^YnU!55;KC4*)XN5f`; z@TIV=P5psj4uR3B37x5E6oNoZaFl-uKA7+sLQlWIG9Jw-771KL5yI~6k9GR&8i8<% z=IGE%X^0~T9YxSNgj%9}Hq~(^qJ$6`@k&JzDuR$v#9Ya8xnx5}Y=|g=Mr=fPmymgc zKv4vWAfgq8bp#QY(7D~UO?Ck>$2r$ah*=3m3kZq&k|L|}=4z}*a55w8)QW#@baxqd zS|ZLBQALxTiQv?UGN@>hF!@=o+)hPvggX<6t_q^lRIelm(g*B5NEN!Qc22F>kh1sE zr=e5Cb9r0LLNp_Yl4c|txBg6p8}#A=%AxIV2tu$S>XXlTymM%viIEEh>EcR^Nh>6f zJthVO1|rm8LlOu=iazmu64HOU8Hp{?he2JIXLQ&r?uzfMl!TvFB9$SB6j`ba%SI3c z6_RktCp?i5S4)TXkpHYs8N->3_8N}oL5yWADm`4!6bQ9*PJC1X@owiBN(KanNT?(k z8pd`w%jrnTWbl^@wD$vz% zh(bYplDrodkI(=Ul8ruT(44?0CNu$XVe=`dx~8BE8md zPHZSZ`r1R4Rr%y$e|-L7+^;D2$FhHYFmFfqn}EB1s{b|R^u~9SAN-FlPj%sM-5lFu zXJ2pYu6QZ@^6vg)lUHpyy!{1GO928i02BZK00;ncteyc!llB!c4RfrXN3MCo^GXE( Q0C1Bu7A*$;6#xJL0KR0h2mk;8 diff --git a/mods/ra/maps/koth-hopes-anchor/map.yaml b/mods/ra/maps/koth-hopes-anchor/map.yaml index a878346b0d..d2da4a6ba2 100644 --- a/mods/ra/maps/koth-hopes-anchor/map.yaml +++ b/mods/ra/maps/koth-hopes-anchor/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Hopes Anchor -Description: KOTH - Author: Nuke'm Bro. Tileset: TEMPERAT @@ -18,10 +16,6 @@ Visibility: Lobby Type: KotH -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ra/maps/mad-science.oramap b/mods/ra/maps/mad-science.oramap index c3db049e77a6660ab2b55caf1035fdfecdfaf505..eeba94b8439714ef778e318220d7099727c70ea4 100644 GIT binary patch delta 2051 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 OlO`T42ICz70000)avSOZ diff --git a/mods/ra/maps/mass-confliction.oramap b/mods/ra/maps/mass-confliction.oramap index aa76c76bff0b9e2ba3c2e1617b562a799383ace8..d3753654df86594cf99a45e74e87c7c199e66ad7 100644 GIT binary patch delta 1270 zcmV@6aWAK2mt1&Vo0$L2`PW(sA5QfpvcUO1ONa+8UO$Y0001O zVQ?;aVQp-!m`!urHV}r-;jiGW7fgrv26SqZX-<*Su|4sblHrz9ij?^=sr%~#ka7|M zyXb`n4@8L1F0k+J0`k7TeC&sFJ?%ARx%eV+dAhh2G?|8c*Z%lAY7Yk0eLqw}Wj51${4!rQ)Y{_{9xhWNjtc;C<6 z)3_@Q@e`FGmKDX9W^9g4+f1*!@>732zIr>a7f*SAFS8q`qWH6|U)?b7ig)X$JNN7c z*PYyN2RBbc-TH6d9qO}(t`q+G^Ve>C?1z8W@8n^aU3jDKKJ@2fJ=NXxeez?y>}Xfk zZQHmpb+Mn@si}T=SfBl4c(Fc)@WiI>>h7sO`x0@DGT%vT_8cm9Ht15q8 z=YLp#d+&eRRq9}EOys(}>&UJnzmDQM%Im1EqrQ&jI@&io-wjgV^iNa2wBhALwJXn; z@lt>7{3<^6r+Qr&Q-tcZ|GMF)hP*HoWf;mZl#vu;ILau7F#=@_>PO;?#TW%MRuPRd z8f9#SF$QIX!WfG(5?vduP>4ztq9}iaX9D%9Fi~*>C`Ke20_yW%I#nrQP(mz(yd?yY z_)a8D2s~hFA^0sJiR37u7lPdq6_IE%Qv><%1Rh)q#flOs(88>O94rYgnq7$IQ5Tt*mkprE1 ze-)a>02(8{=&Wzw_ZN7)`v#q>2;hXGb;=n4P-4+!#?czXCso&x}}r67M6jjMt#XFg60 zy+J4iD8Vx|q%^1m!`Ebh%bd;>om!f>iIW4*SY4%EUsJq>^m1OScnj!)G)rX=Hn$)S zmk_=p0bGK7wo+6#Eg`~pOMDj!I8=Q4DSTBLNN`_t_`XegsCW+=O(q?FfHj@FA$abt zWh$89X#N=r69Vl7hCzRX&BWGl*oQ_-+X#rzncI_*0O5as;L$Y-B6y~g8x8xw^UxTG zpqZv-AkB@*5Ejzh=*;!NOtO*I(i^m3lo|DG*po8l!Av-aetnl{&M54DDFY#b{X&8%N+jY7(RdL z|8?!p6OXRG^xgVZvrg^ju{rti&`-^Cv-%734@2FJ?c3uwP)h*ZE-ePXEdT%j09K}2lK=n! delta 1335 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 S1ONcrlk5{M2C5SP0002opecU< diff --git a/mods/ra/maps/ore-lord.oramap b/mods/ra/maps/ore-lord.oramap index 4de51adaf4a9954f9dd57cde91ecb2d65d7bdd3f..e0884fbf0db0b432ad9b72e90266d2e37f74ae32 100644 GIT binary patch delta 1503 zcmV<51t9vBFa9nLP)h>@6aWAK2mt1&Vo0$LU=e@jsA5Q?+zkJ71pokh9RL6b0001O zVQ?;aVQp-!S5Q=L|D^VP9j}1HHg2zx&3f+_wv3daM6$LzlaM?1y>ZWhNXX)_B&9Z zLi#I;Pwmtm+OD0S_PFxl@PrFJoe}bS=pUD6!i7I{^;0uW`{Kpr+g$HZIfGVVRn1lteb9=+JHp;KP3#65aZmJ%he2*?dcM>ne+HmOTSR23ZM!bRX)m z%R-Pf!X&=6$>`&Y#+udFY*;O@VUX{cC^Kx38{~UFYMZ46Z$!Bw%r>SBZ$(@Ykg@Gp z1hPGY&)8-&$s*g!+;-=o+ZbO8rdVK5Xbw+`H9t`% zzDX}FP-IgWY}yS*rU4d^qF~z&j52Iw+7txfwhj|CtTB)UCa=M1BFt=5z;fasskkmG zPAlM>tjW{M8A*dBm~eQ0WUGop#_?qH7rr`g0!0ch=UEsCvFri|vz1UaT*<-E8+=?k zjDatBxZB31u)m5xfK)QQrgVRJ!F3)eM34}MKqQB;{mxqo5ry#gj?uv*JcTGFL?95( z3Jm&^LO2PL(sUnI9Zc zzwjQyW?@*H{k0X~6iatV$-dbUUSl1S5b~BMpezZ-Np8D4)80Mx)HLq)KiT+2pNMevO$4&LgDs@q-*5mHfg+n16KmzQB5 zg&J1*ykDUP$Hrh4@@rsXf_E%&IuD}NF+Xgh4UP@j3b{VDeUlvofS z(nyp5NxW0e@eqo5%n|;)1z@NtgBG<|qKbla0faPx+a`*1j0d2SU4a0gI=GXv1WM|R zV5DgpL;_MNCv2-C>LQ*t`C<)*ypSu;Cy4>#B(EHwBWVV=9Ta(?r$HLQZ7X9b<*jkK z29Rol@sy*YaGQSyatPd) z{AC&}HHN9A%9y5a*|F6L{SB3)Clxv9@XfB7n@y}Y_zruK-R?}oYk(q8nX z_xEGnPu=t5cTh_K0y6*<000080OqJ-NRuQNF%9OZVo0Oh4F7Wl004WFVizq2{T2WK F004Zt(-Qyy delta 1526 zcmV@6aWAK2mozyTSu`DU=e?9aa%{@v1?R{1pok`9RL6b0001O zVQ?;aVQp-!S;>;yI1D{UU*Qknf#4>}r%5u&DV?M`UCCMPW+tkUEk{c-JzpPC&Snun z&0(s#%CZ`dAn>q|@J)MuIgH14-tS^n-KNh=H>T-kc-Zg8wyN&BxljAun=$QP4dX*q z{h5EJ!`PkYZaD3C@CB;s=`w#B#{KT5JB-7#ZqA@SO$k@LdvWvj#qHC(szNpIx_@z{ z;8bu`^=w#94->ASK!yBQRqwm0yYKpLe%zz3`};>+=<$q@=fmmqlBPL}JfvaTSJj(! z1NrG~-#(@hpPpQvZqvs!rqdz)@j5N@*!F+;pC_-|Bd+uP1%7|?^)!7L#vYBl8<&(N zhST%mc;C+LY5w{0WqY{T+4g;xrc%Yt($Ag#rQz}&zh=SqK6`Gv)NOlu7>@Yn#VH+e zQ8aH%>C7z-o5kUOTKw|<*Wy3q{-Yy)DY%%de(bJ#dYFfmj`czBcgOQ|Zoi%o^J;%M zwBO^#EAST{()b%OD+Xwc3(5r!WA?i*8m{E6Ri@$OEy{zwmIp!J<@MuM-fB+X?|1iO zZwr9o03mOvFo2hjSw39LdqKV?|OYGoq}SUL9B8iF!>9IYf@ zlV%#_SkfS~4D}XZ*{A?d0HUNJ5P*ML0w8bWGJP7BDP5x^vLQ!@c3S`+-jM0m*X$Ye zZO!Ierdu~fe6#EsATr2G0HpiA9s42#StCs5TbqJDzG$pjea(i|0viVTo{2KU2Dw4L z=YzIITJT2HE5dAJ%J5di6#)g?jzu8bGx&mSHj^x}z06&I9{P>(wP1<`28Dm-@T6Gt z6J-kS*?6>;LFJOd(qkQ`3nXv&)#01;(gH;`hry=ZU}PF#0XYh`?Z7C*MyAa{0B-9r zLBkpYMPTw8oF>A|Mg=S<4zh~tqT;jyzR8+0y_}IWSb_r4UgFfA1I_Ji=3mT0#T@;jF-*uPKC+5IK!EjT;TOZ0+|{kbqQ>gC~~ySOSr2Fq`?o5%ml2A#4_gwb@@=0Zy@Whn(!29pQh?*6};Kw0d9M zj938G>5)4guon4i6TDNNza^|($E^aExEcugMzN_~n^N8j;#7SHE$qip0L3=7+LQ9U ze*z(Ic>?O1V5}D8W7z?XKyXbE>=c_dk)XF$Y(I_!yFMt-R-2PHk_ED%|jW7EZYH(}}Hle%*W+r&Y5~uSZS{=*7Hrn9W zkZq9bV|Pl$K>+yqizXnb1o$a|1_FXj)CmwnZA@STw560pfpLG(j(|WA5*DeijdH@a8lo=ZX_GJ3V8{!(@_dpQAWrhi z@i~%baN9wV7kYmh(p&? zI5A?luT!`3aw3H9I(FL@tUxAV_3pSl{FU-Akhe>}e!f9VpO^gGT7G^%{FD0MUwlaI z`SOG1`=PtMx>=^~fS<32x%=2%^yT+=V|$wVA78%#P)h* diff --git a/mods/ra/maps/pearly-wastelands.oramap b/mods/ra/maps/pearly-wastelands.oramap index 8a015a5509d6bfd251de219133b186c48cb58513..30c81ca111a40647afe4722551ab74f7cbef8bb4 100644 GIT binary patch delta 607 zcmV-l0-*hgI{!HiP)h>@6aWAK2mt1&Vo0$LLK+R`sA5Q-1NJTw0ssJ2lU*7ee++i~ zb=o%Co|?2uqUKDT=@tot3s~Ls>5J{O%?CuQRV7;k@ZeNnoKZoA#?Wr!4Dz{#u@4;zG>?ux%V zl+XgZ8=+g(Ik1Y77$+3xvAYm@f8vI3x!`tRMfYmE-8-Ru>#&)UuN@eR(4$~`(56C@ zakPYI&>(C0wSdlQCft+Bf;A30INbcEr z1P61OVx|FF^PORw|FhiWw}i%xs%YK`%VRuRaBmp%FNkBu23V`)_=u0Ld1rX->_S=o%*TAa7=NvqG~#pm0Z>Z; t0y6*<000080OqJ-NRyZxF%9OZVo06?_AU|v0032!)*LMcejES*004N;9(e!& delta 617 zcmV-v0+#*%If*(BP)h>@6aWAK2mozyTSu`DLK+Qiaa%_#vE^MH0ssJLlU*7ee~j(; z>$GjOJvB*{M9G=h(=8GGgGaI7AB@nUGuTYDuRSPjLuwGJL}=M* zCR*z~ae4r0yvgXT;29*e75rL2uO;Q?$z(wrqjQ`vJMnmyID z)nAhjw6bZ+fO5`2U8k5yfKGj97{~uCH~HN{W4tn$_gu3OkCq&5bhPnxf8sIzJMlO+ zLmNoLnr%;a`obgVXdDk$4DyRfRoO=ch2s zaN#&4Xx;SnAF!9os^^1Un>)~cSggMle}SJ)?0|OT9kdl}oSOHFB2~sNgl5ld%xC8} zlD3L}4nF`;O928i02BZK00;nWaa%`|jvO%!ZE;&iE3xHW90C9UXp_twEe41j00000 Df6EoY diff --git a/mods/ra/maps/poland-raid/map.yaml b/mods/ra/maps/poland-raid/map.yaml index f3a4a370d3..185826aa0e 100644 --- a/mods/ra/maps/poland-raid/map.yaml +++ b/mods/ra/maps/poland-raid/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Poland Raid -Description: Great FFA map. There is lot of resources to control. - Author: s1w Tileset: TEMPERAT @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ra/maps/pressure.oramap b/mods/ra/maps/pressure.oramap index 63c81997460cae767192445c644e3f6c1db575e4..c7a10417941699ed7875cf86b29cc6dc92a14366 100644 GIT binary patch delta 1160 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 delta 1133 zcmV-z1d{vUI_WwNP)h>@6aWAK2mozyTSu`Dx)^_Laa%_{XlMX4j`F*{2O(F8UoGeg8S_$`eoHm~f{QkL{bBp8#S4mBxzZp5UHfi>7fy+paV+MRKg%U zgw1$EU=EjHT{6gpL!^?51sZ|5Txu2+i3qrL18FOX`rI-{`dkVmay=l(dLT!iPeJsC z1!tZX3d?Whn5Tt865MlUXn;XjILj=Juvkq1gdh#g@{ZfDvQab znBZizD~CWJYc-AVSVrkg)~fK{haO4^8H$=CVItsv0;eHZo(q>#T_cG;{_`NafmT?h z&UGBE5vd>;>DsQb+U_8nmpb(wuItH8GU<&Z0 zTm~E89C(p*yFuIzr8JP)ZWI>qo_QLfv5sIe5pN8_L*?9VP`B$$xi+ZR4KuW@6aWAK2mt4(Vo0$L1Ra0psA5P2`~-|T1^@u>BLDyh0001O zVQ?;aVQp-!SYLZD#ahkC`$(gp9lrs|Ph*VSe>ARqmHX^^> zUNn;oB^uuX*l+)J(>%W)4*O=>ZgN%Kw%?E4p&f6Ar|ss@RMmYq?b_|;w*A)j?V*{v zq2GVJX~wRvs@KQqkKwT0d}+t&$1pr??xy2YH;e_eYsZ!(-oLx~^zQcceO1vmcirD4 zNt>kTe^tF1j{Va}FM^_fx%{iD&)wKPbh~bP*={}z4-YRS?B$tYZ-@T-kv6KTPrK%& zJ&fDx)#=l1`?Wo^{bT#v$M!fKnjQV+)yIEkPoVP)`u_Wme*7{Vc66)z!?7(ZhW_oa ze`uzrpZSDAXhR5c#W%SC| zCl7BAzqtIoUYGUua(z%pFsmJSfLQ}5@kiD( zoGk#o0;8kRe+ywxj9oT^23e)waT7yx6uSU|^H0Vg4 zwLX_|G;pj>_h;<-$g_E4@_=dzX~GWBu_XiduxxY6u~c~E*py-&%eD_7 zc$grt=OYejiN8m}H|H~%&-1CwGMMv;EYu)CQP|AvJ%V0aA=wn4#e#nUHbrM*T`$wQ1RUZa&QVdnYF2i zlDD(83Cmy9$T>1WSVE!!-eDs_SPe%DvQiMwh1@&`NyX9Qok^0HW-{M!Doc zeGw%~NnxGW=2Ni-oZ=cWbI5vcLbPWs1iFM+&rVWro-_KT^JdW#vtAdJSxfGoVUy;C z5T7kbR8&(6jAVyO=_n~UGvk=Z+HVfHbnvWc<%s(yzPHJUb}xUW+?<&Pl`rJzuQ)o| z%tJKOp;~@6Q5%TSLQh15p`%3+f?M5fX+E(c#FXUx+KnJQ2_9@vb>VvgpO)s zVay6gbb%rhZ!mB~N5zYzG35Qxh#EueQ=wplyCjhNtd$1rWk|PdKPZnG{`O@^H!b&w z5|L#{x9o|i1(p!AF+I6U)B45z&JfvIHleB+_;lsWKwO%n{Uc2WZomrZ2 z60ROWXmLgb;qD2I8>Jzawi)aarD{Yw)X%3{dEr+Ny;d>#2|r)aa9k&*mD9W~F1a_Ij^)B6PQ3buXGqg^`ijt9LTA_f&vE$OouqHjTjXT?k}pl{qgBrJ8rA$ z_PCp$ckTCM`7OSD{yhBE?tXporEQ*v{`9Br^y=m~c8~P@I85Ew?zCZfe}8EDarg7< zKTt~n0y6*<000080OzP;NbeK5HRBur01-d|00)zkBP0&zsA5P2`~-|T1^@u>Ba_7= LECy&J00000Qhj8O delta 1719 zcmV;o21xnoNB2h#P)h>@6aWAK2mozyTSu`D1RZ~Eaa%`wUlBD(1^@s8Bme*i0001O zVQ?;aVQp-!TFr9XHV{6CPoW3Efs23W)FhLfVkcvJk~3`~DQ6^75vjWF(|1A1O+@Z) zFPgE36wPk|?6?2&O|$>lA9l^SUd5`q%Ri6pArCkGX1zKzRrS!0+q_=g!-)~m;<8jmWLji5`kWu2phnp`S?%qCB6)tn%{)3W0 zM}@yt^{zj5n*kqqg+HnMRMppZXdl~cJHD(}pZdqg7ZmogN7(zm`+3BL$}5}P59_M> zyf3>ccVD*6OFrP;o73H0{+-TQv`*o;j#{`c@>^Hi2uubS<)&BJnuo8xwD>t8FJKI6yoV)IzEHy3r+ben#M zPd;>cheGjqhn)AEaF_{)YYNvh;rg1w%}lttrf@qGZm%ia&4jya3imVN{+hzWOn85| zlJL{>U&3GC`yaPiE^u-Xb++a6RiCfse6{DRJ72weJx%rYY3wIwpKj{)>Mtlp`>B6w zPD=)-Tz&HJeE7}fr}v?}Z!X{W$^rMjUdp#Yg~YvYmhx>>k=>77uXb&hF960U9XNoa z0A3lx0Xzk8%6JYCD1cTba)3wxFwB2j#{m)nh*|-AXs9VfP@3l%D1=j*)e~q65tU}o z4TeS-%_1nep+@@nqf>-KQpvIiig9fu1W9?V60a7L$L?a;PcR9Uz2N zu%>9YRsrxHPVt^lU9695iuY8j$RlXp5yEn!N#1L#B1?+)BqXWGdZMP7hp2xX%cCZ} z9h76;L{rRbs~l_dh9Vwp=j5rUDmV=(mp=b?$R2QvV8h* z6T)7ayp|AtLck@$2r1AY=i?M>FE%9rVgdNYo_I~A0$3iK1=zX(%wh%BLM#-3UaY_a z^b&xHKd_!*O##3Hz&eI4WY>R}Y7IsOeoKYxI$i+0Q-L*d>j?m^zy<_cn659?>b3HG zH4>Mmfm?E{_1Q#61Izk^tCzN+k!n`24wklop3NJRBdErZCagd@wq)RrEZeNIEESG& zY)rA1W!rfocxW%M=K>wlB7crZpPbKRE={}A^I*;=GG7w`3d3e%&*6VzX@zK0d=~SX zuqoUV>w4ZSeHB%kSgZAfbK?qpH1LyiFU*{e27YpGm~V;iG(5$&b66em5Q=VJ3M#&P zpd1{7PGW5;P|4dGT!iH>0OcGBAuJ(56W(D0LRbw4Lu4f{?u&Bs5-AO4o zC8j~;3pxBN9UV>LA;5H~hM!H;n#6$66Cq*L)`AG3Tl6U8c=QPh1GP|+W6)vx`XHzv z&`v2W!+1V#m`DQ^zLQ{?K+fe*EkYv(0L#V-Pbf6r0D2ktkYk~H12BXyrz8v|0jO@h z3;_9Y9#B<1W;}msE=l$4sAbKYCNL9OX=4=q21Bf%WO6_kBnUa6vsP)|V(0-~6z8&3 z0C2T3ypqWY9oELen3WvSd5lcF!H^?5EM6pyQQjZ4s4Jx^m_)1+q-q2#)z8OTIpJFmSgIKPgrBbf zIj$4a%4uE~=3XMLVd?0_4{^Xcx{V6LzC8V9R}|DmdAtSXgpEZytXhi4Vc$G=C3Nqn zyZQG-bg6$oy$TEn%`$Kp&0v@;IlXCUjAsJn^rodTSU(CN$APT!EXZ>p&vb~>yMaap zP4^eo{qDH=k<0(L+#R>m^*;YRmha-r{n!5Qy#4*bx7_Sc{|@uDZ%>bIjzjx|*V}$< zzqh9a%kzgr(+%6#kN*NtO928i02BZK00;nWaa#dLlXxRB4sCH;M|)opHAn^k00JbF Nw<9bDb|U})006bWHJShb diff --git a/mods/ra/maps/ring-of-fire.oramap b/mods/ra/maps/ring-of-fire.oramap index aaf1609f4026837c73c7d840dafed2fec2e3c0d1..9df2842e07ad9434c2395e0f7811cc8b6cf0974b 100644 GIT binary patch delta 1260 zcmV@6aWAK2mt4(Vo0$LTNi)lsA5QGM-=aZ1ONb07XSbV0001O zVQ?;aVQp-!m`iipHV}Z%;jiEizya@vPE9lQDRw%xCqB~>l5&P3Wj^Y3aQEe@C_wl_{V(uBdIo<*@q0J5hXDpG zgI`F$qWD@5^>f|S2YMMF@ zTNSrcGuHg4hVwH#ris;aGSFJoebpYiBaHmf#v=%Ywe&HbDB)ryTwGJQTnU%g6s}gn z)is6dm2iDc;btY=TvNDR3Afi2?pDIxm4u(ie+qw}_djW~Rd7xac8TT7RbH;@a@BvA ztGQe)dtXiQaX)r*vd=esSN<(h(0=ar)mf!gOt^D~$Nra;pXZA-UoGZ4n9mIb$X$7? z+qfXKX2Mf|LICNQ3KXCbKybwr`Ar5PykLSU z(Sl=!)y$JBgg^)tz}w_91mH%8f)k9VCzOCbs`WNgp;OSAsttdV6W-<8k;WRg;aS9??MP-Sg7zo^*-Dlvjka&W4C!)n z&Tq4hDn%ODVEGM;m!uEPT+hWiN)-K33IVb^uQ|O}acGz#ZEFnDVq^}mTfoXpi!lxX zU^7V8P2-U`gg!}cX-(LwkcwH-br#8Q0ozAXgB9C8DJ`?4=PZ)nuo-`}I)@yzza&YLv1K3W)h4Ors_Ga0f-S*&pjm)V;-tZ{?0 z9jU`%i7j)xQ-^KKL5C(wfm6uJ9psT9gVrGh-I?6h-@Zxe7PNF5%@@pR7394aM}f;^WYUTuAt_O_XIXe1cHxL{zi zMtdaFLm*;nI90E0I=i0cyLAYohxU1F_-cyP~+Cn)&(=U#9ebuXH#6wfiSFzYaXb>eRL8 zSM_=5b{gtET<^NE{#Kv$rSZqUYKP|i@jp;Y0Rl4s6aWAK2mt4(Vn~xC95D^&sA5QG WM-=aZ1ONb0lVKb!1_vAf00028?^>?_ delta 1272 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 delta 1693 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 delta 1494 zcmV;{1u6QGJFGhnP)h>@6aWAK2mlUJpGUC{dKV22QlCdU3*uCV1pok+la&`De|1vl z6gwH)lbmT8Nja5BnIfCIpFRsJ2G{8{{2zKUMdOEk0lN$EsyV*xheI=NH=(L-(&N+) z>2%dUY&SzwRd?;UPutCH+kM%mQ&s(*PP?H!j&0v+ka?2DOGJvRlV+~?%}lEs9M!hgxZR#`q-Y@ z`*z=sPutDA{{H@nrg}OO^rr6~r*sor%a%4$Yqa^Xj@e&^+H?(C_zOyVIwB*psn$!<6!fzI)Rj?whgc#`5xQf3rIq-0b%) zdEs9ouBQFiibcZtH~q{5oBQm+AE&x$x`+NiZ!WuZph?NRA*JJgO)h_!T>ej!pWiQ& zKaT?)u?RSuTt919UF^nw4#)hUb=+nH4vK`ZOf8><$TcD`AptQYFcA^4!xcaY0qLX|At6^qM$7?USs}L8 zWxNJflw;#_xaHcCH4Lyw?5wO!At>61wo5C45RCA%480!h1o0Sz9nH3&!Y;a6Q zKxAYy79kNy&4Q_=1d^N8qLrGHxnE733!o6!syY-vBX$SPL>MsPEQCd(LGg=)aKP3J zo|yp!Ja6wsMgUx;f2dH3LPW$@N-i?AKnjL3jF5;7tr>yTZ|@j@)Nd&~vs@cssVfdx zAdP4aH~>(N6CUxcwj2pibu~+0sC2~gLST#$&<-Inr6wDsYcsSMOVKn6G2cjzXrvlA z@>r>91_`_iT!;nJ14E$vo~>W>^1yP*dMyOjs*4v)4!&IJe;Ev|`%>C0(yj-|2? zC8N54bmQK0e}YE`nMhZ4OcLrUKA8f;V;Vvuf#^eS1%TV%l- zE(1EX<-*9Mc%)e&50@%6B#lfiB=_wJh%XeoMDjO*tWfb0!s2MnI7dfg>7eQEP1qV2~tX39$vS z*mV*k9IzWT2cQB^geydV`b`EveVvR9nQ!V=FI6ljkjBnCPAFvcQpkNFG<3^FhJ=C` zuoYxdEOH_ZT!=&T(iFs45Dzp3*^-4o?(3*0e=wpD$OUb#aYe>_U$-X1n%b02rID@f zNUO4MwL+W~Yg4v}Mow|oa;>0i8^H;rx;x1U2XtKd8y!PD_Vv@as=7T)4_{LL-hMOf z=fAh24GvPDM>-4QREGrs0G5+p9W4ec9RL6T0Fy+eNB{r; diff --git a/mods/ra/maps/snow town/map.yaml b/mods/ra/maps/snow town/map.yaml index b8c71724c5..c6ce1cdfab 100644 --- a/mods/ra/maps/snow town/map.yaml +++ b/mods/ra/maps/snow town/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Snow Town -Description: 3v3 - Author: MicroBit Tileset: SNOW @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ra/maps/snowy-island.oramap b/mods/ra/maps/snowy-island.oramap index b47a2f6d605100af088461a0dc3addd773203802..6c030373e969807ca013e7168d1557d10e524139 100644 GIT binary patch delta 1675 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 diff --git a/mods/ra/maps/soviet-01/map.yaml b/mods/ra/maps/soviet-01/map.yaml index 98600f1625..19f1064640 100644 --- a/mods/ra/maps/soviet-01/map.yaml +++ b/mods/ra/maps/soviet-01/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 01: Lesson in Blood -Description: A pitiful excuse for resistance has blockaded itself in this village.\n\nStalin has decided to make an example of them. Kill them all and destroy their homes. You will have Yak aircraft to use in teaching these rebels a lesson. - Author: Westwood Studios Tileset: SNOW @@ -18,23 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - BackgroundInfo: prolog.vqa - Briefing: soviet1.vqa - GameStart: flare.vqa - GameWon: snstrafe.vqa - GameLost: sfrozen.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@France: Name: France @@ -610,6 +591,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 0 World: -CrateSpawner: -SpawnMPUnits: @@ -618,6 +607,19 @@ Rules: Scripts: soviet01.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: A pitiful excuse for resistance has blockaded itself in this village.\n\nStalin has decided to make an example of them. Kill them all and destroy their homes. You will have Yak aircraft to use in teaching these rebels a lesson. + BackgroundVideo: prolog.vqa + BriefingVideo: soviet1.vqa + StartVideo: flare.vqa + WinVideo: snstrafe.vqa + LossVideo: sfrozen.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False V01: SpawnActorOnDeath: Actor: healcrate diff --git a/mods/ra/maps/soviet-02a/map.yaml b/mods/ra/maps/soviet-02a/map.yaml index d0c89573df..cd9cf03ff1 100644 --- a/mods/ra/maps/soviet-02a/map.yaml +++ b/mods/ra/maps/soviet-02a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 02a: The thin red line -Description: Tomorrow, the attack on Germany begins, but today, we must protect our facility from Allied attacks.\n\nKeep the Command Center intact at all costs, and destroy any Allied fortification you might find. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet2.vqa - GameStart: spotter.vqa - GameWon: sovtstar.vqa - GameLost: sovcemet.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@USSR: Name: USSR @@ -588,6 +570,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -596,6 +586,18 @@ Rules: Scripts: soviet02a.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: Tomorrow, the attack on Germany begins, but today, we must protect our facility from Allied attacks.\n\nKeep the Command Center intact at all costs, and destroy any Allied fortification you might find. + BriefingVideo: soviet2.vqa + StartVideo: spotter.vqa + WinVideo: sovtstar.vqa + LossVideo: sovcemet.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False ^Building: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-02b/map.yaml b/mods/ra/maps/soviet-02b/map.yaml index becb96fa45..98ac25b9fc 100644 --- a/mods/ra/maps/soviet-02b/map.yaml +++ b/mods/ra/maps/soviet-02b/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 02b: The thin red line -Description: Tomorrow, the attack on Germany begins, but today, we must protect our facility from Allied attacks.\n\nKeep the Command Center intact at all costs, and destroy any Allied fortification you might find. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet2.vqa - GameStart: spotter.vqa - GameWon: sovtstar.vqa - GameLost: sovcemet.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -511,6 +493,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -519,6 +509,18 @@ Rules: Scripts: soviet02b.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: Tomorrow, the attack on Germany begins, but today, we must protect our facility from Allied attacks.\n\nKeep the Command Center intact at all costs, and destroy any Allied fortification you might find. + BriefingVideo: soviet2.vqa + StartVideo: spotter.vqa + WinVideo: sovtstar.vqa + LossVideo: sovcemet.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False ^Building: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-03/map.yaml b/mods/ra/maps/soviet-03/map.yaml index cfb20db954..ff6667b553 100644 --- a/mods/ra/maps/soviet-03/map.yaml +++ b/mods/ra/maps/soviet-03/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 03: Covert cleanup -Description: A spy who has compromised the security of one of the northern sarin gas sites has been traced back to Lund, Sweden, by Nadia's intelligence groups.\n\nHe has been marked for death and a squad of Soviet troops was dispatched to the location to hunt him down. - Author: Westwood Studios Tileset: SNOW @@ -18,23 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet3.vqa - GameStart: search.vqa - GameWon: execute.vqa - GameLost: take_off.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -1192,6 +1173,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 0 World: -CrateSpawner: -SpawnMPUnits: @@ -1200,6 +1189,19 @@ Rules: Scripts: soviet03.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: A spy who has compromised the security of one of the northern sarin gas sites has been traced back to Lund, Sweden, by Nadia's intelligence groups.\n\nHe has been marked for death and a squad of Soviet troops was dispatched to the location to hunt him down. + BriefingVideo: soviet3.vqa + StartVideo: search.vqa + WinVideo: execute.vqa + LossVideo: take_off.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Building: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-04a/map.yaml b/mods/ra/maps/soviet-04a/map.yaml index 9562ccb057..8a9d5409b6 100644 --- a/mods/ra/maps/soviet-04a/map.yaml +++ b/mods/ra/maps/soviet-04a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 04a: Behind the lines -Description: The Allied base in this region is proving to be problematic.\n\nYour mission is to take it out so that we can begin to move forces through this area.\n\nAs long as they have communications they will be able to call upon heavy reinforcements.\n\nCrush their communications, and they should be easier to remove. - Author: Westwood Studios Tileset: SNOW @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet4.vqa - GameStart: sovmcv.vqa - GameWon: radrraid.vqa - GameLost: allymorf.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Medium - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -647,6 +627,14 @@ Rules: -EnemyWatcher: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -655,6 +643,21 @@ Rules: Scripts: soviet04a.lua, soviet04a-AI.lua, soviet04a-reinforcements_teams.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: The Allied base in this region is proving to be problematic.\n\nYour mission is to take it out so that we can begin to move forces through this area.\n\nAs long as they have communications they will be able to call upon heavy reinforcements.\n\nCrush their communications, and they should be easier to remove. + BriefingVideo: soviet4.vqa + StartVideo: sovmcv.vqa + WinVideo: radrraid.vqa + LossVideo: allymorf.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Medium + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Infantry: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-04b/map.yaml b/mods/ra/maps/soviet-04b/map.yaml index 6f2e5f6acb..82ce456604 100644 --- a/mods/ra/maps/soviet-04b/map.yaml +++ b/mods/ra/maps/soviet-04b/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 04b: Behind the lines -Description: The Allied base in this region is proving to be problematic.\n\nYour mission is to take it out so that we can begin to move forces through this area.\n\nAs long as they have communications they will be able to call upon heavy reinforcements.\n\nCrush their communications, and they should be easier to remove. - Author: Westwood Studios Tileset: SNOW @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet4.vqa - GameStart: sovmcv.vqa - GameWon: radrraid.vqa - GameLost: allymorf.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Medium - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -675,6 +655,14 @@ Rules: -EnemyWatcher: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -683,6 +671,21 @@ Rules: Scripts: soviet04b.lua, soviet04b-AI.lua, soviet04b-reinforcements_teams.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: The Allied base in this region is proving to be problematic.\n\nYour mission is to take it out so that we can begin to move forces through this area.\n\nAs long as they have communications they will be able to call upon heavy reinforcements.\n\nCrush their communications, and they should be easier to remove. + BriefingVideo: soviet4.vqa + StartVideo: sovmcv.vqa + WinVideo: radrraid.vqa + LossVideo: allymorf.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Medium + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Infantry: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-05/map.yaml b/mods/ra/maps/soviet-05/map.yaml index 592fae3be2..8d7b5947d0 100644 --- a/mods/ra/maps/soviet-05/map.yaml +++ b/mods/ra/maps/soviet-05/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 05: Distant Thunder -Description: Khalkis island contains a large quantity of ore that we need.\n\nThe Allies are well aware of our plans, and intend to establish their own base there. See to it that they fail.\n\nIn addition, capture their radar center so we can track Allied activity in this area. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet5.vqa - GameStart: double.vqa - GameWon: strafe.vqa - GameLost: sovbatl.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Medium - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -629,6 +609,14 @@ Rules: -EnemyWatcher: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -637,6 +625,21 @@ Rules: Scripts: soviet05.lua, soviet05-AI.lua, soviet05-reinforcements_teams.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: Khalkis island contains a large quantity of ore that we need.\n\nThe Allies are well aware of our plans, and intend to establish their own base there. See to it that they fail.\n\nIn addition, capture their radar center so we can track Allied activity in this area. + BriefingVideo: soviet5.vqa + StartVideo: double.vqa + WinVideo: strafe.vqa + LossVideo: sovbatl.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Medium + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Infantry: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-06a/map.yaml b/mods/ra/maps/soviet-06a/map.yaml index e28178a382..40093664a4 100644 --- a/mods/ra/maps/soviet-06a/map.yaml +++ b/mods/ra/maps/soviet-06a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 06a: Bridge over the River Grotzny -Description: There is a special cargo that needs to be transported to a nearby Soviet base in the northeast.\n\nMake sure the trucks reach their destination intact. Along the way, there is a bridge which the Allies may have destroyed.\n\nIf so, use the Naval options at your disposal. Our attack subs will make short work of any Allied boats you discover. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,23 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet6.vqa - GameStart: onthprwl.vqa - GameWon: sitduck.vqa - GameLost: dpthchrg.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 11500 - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -855,6 +836,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 11500 World: -CrateSpawner: -SpawnMPUnits: @@ -863,6 +852,19 @@ Rules: Scripts: soviet06a.lua, soviet06a-AI.lua, soviet06a-reinforcements_teams.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: There is a special cargo that needs to be transported to a nearby Soviet base in the northeast.\n\nMake sure the trucks reach their destination intact. Along the way, there is a bridge which the Allies may have destroyed.\n\nIf so, use the Naval options at your disposal. Our attack subs will make short work of any Allied boats you discover. + BriefingVideo: soviet6.vqa + StartVideo: onthprwl.vqa + WinVideo: sitduck.vqa + LossVideo: dpthchrg.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Building: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-06b/map.yaml b/mods/ra/maps/soviet-06b/map.yaml index ee96b51fc6..7087a534ee 100644 --- a/mods/ra/maps/soviet-06b/map.yaml +++ b/mods/ra/maps/soviet-06b/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 06b: Bridge over the River VizchGoi -Description: There is a special cargo that needs to be transported to a nearby Soviet base in the northeast.\n\nMake sure the trucks reach their destination intact. Along the way, there is a bridge which the Allies may have destroyed.\n\nIf so, use the Naval options at your disposal. Our attack subs will make short work of any Allied boats you discover. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,23 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet6.vqa - GameStart: onthprwl.vqa - GameWon: sitduck.vqa - GameLost: dpthchrg.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 11500 - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -547,6 +528,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 11500 World: -CrateSpawner: -SpawnMPUnits: @@ -555,6 +544,19 @@ Rules: Scripts: soviet06b.lua, soviet06b-AI.lua, soviet06b-reinforcements_teams.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: There is a special cargo that needs to be transported to a nearby Soviet base in the northeast.\n\nMake sure the trucks reach their destination intact. Along the way, there is a bridge which the Allies may have destroyed.\n\nIf so, use the Naval options at your disposal. Our attack subs will make short work of any Allied boats you discover. + BriefingVideo: soviet6.vqa + StartVideo: onthprwl.vqa + WinVideo: sitduck.vqa + LossVideo: dpthchrg.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Building: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/soviet-07/map.yaml b/mods/ra/maps/soviet-07/map.yaml index 4a861e2985..eb5bcba684 100644 --- a/mods/ra/maps/soviet-07/map.yaml +++ b/mods/ra/maps/soviet-07/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: 07: Core of the matter -Description: The Allies have infiltrated one of our nuclear reactors! They have tampered with the core so that a meltdown is imminent within 30 minutes. They must not succeed!\n\nEnter the base and find any remaining technicians. Guide them to the 4 coolant stations so they can activate them, then activate the main computer. The security systems have been armed so beware.\n\nKill any Allies you find. - Author: Westwood Studios Tileset: INTERIOR @@ -18,23 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: soviet7.vqa - GameStart: countdwn.vqa - GameWon: averted.vqa - GameLost: nukestok.vqa - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -814,6 +795,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 0 World: -CrateSpawner: -SpawnMPUnits: @@ -822,6 +811,19 @@ Rules: Scripts: soviet07.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: The Allies have infiltrated one of our nuclear reactors! They have tampered with the core so that a meltdown is imminent within 30 minutes. They must not succeed!\n\nEnter the base and find any remaining technicians. Guide them to the 4 coolant stations so they can activate them, then activate the main computer. The security systems have been armed so beware.\n\nKill any Allies you find. + BriefingVideo: soviet7.vqa + StartVideo: countdwn.vqa + WinVideo: averted.vqa + LossVideo: nukestok.vqa + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Infantry: -GivesBounty: Tooltip: diff --git a/mods/ra/maps/styrian-mountains.oramap b/mods/ra/maps/styrian-mountains.oramap index 666304bb79933671b418cbe5c87a56dba9a28cd2..94d68dedaa5d74acd940ed08708eb7e0f6286f86 100644 GIT binary patch delta 1343 zcmV-F1;G06UdLVzP)h>@6aWAK2mt4(Vo0$L$SHs4sA5Q9Y+~lr1ONb782|tX0001O zVQ?;aVQp-!SWR==HV{3Bzd}C%2Yi3%)HKtaVy9zg;xla{EoUfFCaE~?ukV6tnuvaj zUOHosM2HWI#oK+@#Z`NJKTd~s+3!-*+~lWIH|6kI%z=H%>jd@o9fL!imMsom*d?0}201jAiN~pjAJn+FLp&|zeD?n|X)`3g0HQKxc(~rrPoq8#{v-7 z!3e`rrySsp7F9ub6o7z5iHwatVEGuUO6=DH|BC&!%tdk=Z1j_MbgysD7~XMo zemWyOn@|pxOHKsdMtohGkcof5=95D@O8iBZ4UbA=?L}l`#4DsEWP@eHYlH|Q@T)Sw z56X@TVrAUDa-4Sqot-2Lm96q%Q6z7H4O}0v^aOrYuwsgpQ1=OoE}wuwVjnjxZ8r!@4u-w9M?q}BY9lc2g=;aR_vLdq+JXDLsJa*{01 zW??d@E{T<{FrgZb(u02&pyY5};&}v;cghc5fKtixZP{MkTts<_BCtV{Pzjgl1mU}M zDe>h&GCV}RmXeS}J*v`1=EinyFYMp1;?S4z_tt#0thkOsuXA z9qy?rTr?vJfFM%hAqjWv6|qxF!X8xC>?i}bKvwr!p(_iY2*ZEJ=X&3^{(f;&RSC~> z;kHGPk-%TLt=C~2gi4j^6JUfjw};c? zA9>z4&CRJ_KX3EXsoa>C@1MtSx&L|KF1N>VIRDh0hptX@_duW5Pz0 z{`=$KP)h*EY003B%JTEN<#x4K=005f` BifI4< delta 1383 zcmV-t1(^EBUhiHGP)h>@6aWAK2mozyTSu`D$SHqqaa%{P0@W7$1ONby82|tX0001O zVQ?;aVQp-!Sxs}>HV{3Bzd}C%2Yi3%)HH3ThuG=Zp7>15NXscjDijsR{q*hXhH@EZi)V0Ir zYCL}pbK4EaruiiwcT;zmyK&fV?z>^m)28qK%A0Q3{FeK^XeP#U_(hQJkLfdY}ggTRu)T3kgF*P&pM(Nh!G-0v$N6~5RxdDSOL)n zx?Y7?0HH{%AQ0>1NCkm%JQ<;RM1YR?iY#bEI|Yj7)iVJliM}!|qW~jieR+S0HW~!V z0%3VKm_<{OIAg&Im-VVxK}&4Ndp5BQT48G|5o{7bXj!pgQC_JiG^=wKazgt7o4Xd} zm8!*-H3$(aA#W{XgGV@kpta(6PU{gu*K7oYa5Y2(fu)U5Y$)0U5XM&W(4pPaD52Rh z#v#tF5|%GZ5a%{jiZO?>(AIypDpxpHa-ANQT`K2*0FfJpcO31X&Ir#Yl!N7x6M?r8 zUzR3hBCz@7kd6|6k!8c9(pY;D*%o%cP||0-9URM z$wFnRJeU;8TVMm%2P{2-pB1c_VkOjl!lKJ3V31fy_+BL_?1y9XDL{Y9YlV9-Kzc}Y z9X~6J#EJw_vV;WG6P3L{@}6+gUV#LxS2ajP`Xj3lP$|>A5*sP8@V@F>C<~QjBPD{? z$kHAqSpkZu4<_Y}tSUytyDvsq;v*uy6v~pf;z|p)(vwu#38ODf-bzSyrTB@VSXenu z0Jdg`DAg$qJ@0n{6&ZhNHNWK~sP0yH*6*Z{@=D=Z$`hiTB+Ii|m<*~*Vx=ogsD`8T z-~}i-T$gwrf#jX?gBPGw@_b#kR~Hvio}vhBkR(*XCE7vwE?r7|c#sSaQ7@$=BoX=J zF{xo=?39wQ2bDED%D^R%)wNdW$igSW@bS5vw=LgaoK#i9vmCgs5o9Fr2X4!8*b1Ri zCHd8I9JWG~76aLMI+Ql)a6Gh6!#XnI`R&s|VSouR!kXLt>G6+Tepk3T^~>jN{&XrQ z=H>ds_$Bv0KDaW^?cw}0#D}pvKe{>{yB&RAk8}62JKHPI@1}M*_TO&50#Hi<0y6*< p000080BvzwN0ZhrF%4~TTSu<~)fW5&0051X6fZ3X?k)fT001-uja2{u diff --git a/mods/ra/maps/suffrage.oramap b/mods/ra/maps/suffrage.oramap index 045939a8bcaa0dab8d1010f35eba1db56efac9ca..372316673b6f1d6ce9f1386dd8b65073014ed416 100644 GIT binary patch delta 671 zcmV;Q0$}~3I)FM3P)h>@6aWAK2mt4(Vo0$L8ybJ-sA5QO7&c2f0ssJh2mk;G0001O zVQ?;aVQp-!md$e8AQXky;VHE1hUthO{jQp%&MJ00wkKI*8K+DTC5I=V6XtDhx#%bmpc*=n|21K?Cw;*SIK80IkmH@Z{Xwu~^$VV1(wSv`nWY=jhc zUq<(Ov)MbDedCZ@tzJ6bS^$1Zw&$iT!ByW|@*Ou^Rs7q6ch)fJzFaL>?Vw}8jeoqU z_E8(@Hn27w_cOG*)%Av1rtII~9jmO+s*Hb_l!CYaTFg6XMSODT$8P8+vW?HmSZc}C zR@W{vQ@nPfZZC%OCM1qV;^>m%cqEQ5DNaV>wyfLYjq$v?sCwfeT2I5RpxJ;20trOsp?O z(>Cl)4WQK7gdrS+Xt;zV2qnR!A(!S?Jj_6XAkBk7;(>e!P)Lg);IjNm(AXgf79M5Z zfeZnB&LQ_eIsi}(N!X$AKrt>N2_I_q*zX}8I-DyYMjjX*6O=*{EFKP2JUg=uOhOEe zgA5Ha6Zr+Jy4yav=g9pLbn?)y+@FDe>3sh||K{>@;E}UNtNxSdL-Vc`m1`H;ik;}~ ze0*(~YURi99Z*XF0y6*<000080OzP;NRzP~F%9RaVn}ZoHcL7J004fI?;I@#e;fb+ F001J1H0}TZ delta 706 zcmV;z0zLhJI-)ubP)h>@6aWAK2mozyTSu`D8ybIYaa%{rCpAl40ssKC2mk;G0001O zVQ?;aVQp-!md$e7FcgK?(NlQWjoPt({DW6b0$By<07KToTvAPJ%aLtT`t+4Bl-RYH zE?7yr)_0C{uVi~F$|t3BQ72xE&;s5YsiB&xZQ^Nx&`Q=BB;K;w?X-9WgvL;%T9&m` zMdE+WHGCaIsbMc{0DElD5V~*bpGqg*ta*bkx%Z&eH!GAu1;%AOSxy!!gpBc0{x;gN zk7FO92h|kYD)A_eaTMZkgwR@6aw9WY9}@3bZ8irZb0`h+sEYRns@hK3f~pdP=Eo)3 z-j7TiK%3rO+grd6G!!X(pFvY=k(noVGm(EAom0S!=O0D&qI71qz0wWX8LD_x`9{>D zsQ(6^MB46LWSNBOUyEsz)zZH>v|}^06UD~nvM;p|#a87eGAST8qGo#1d?}_tUiU&RM;6~zY{33py_n(LFV$dEld^!=QmY!O6YB@fy9^HSZ zwK`srW5-XtTo%^iS*4=&U?WUedoe(Nx+zD13E`^jD_*@mV~B~#PRR4sS1wX^Y+7DbhvhkpQ2O92f6GXN9- o000O8ZE;&ilaCxR4Q+8-N6RNQOI!i~0JM|M94!W+8~^|S0B=t{!vFvP diff --git a/mods/ra/maps/survival01/map.yaml b/mods/ra/maps/survival01/map.yaml index 1da62ddb7a..e55e1f8581 100644 --- a/mods/ra/maps/survival01/map.yaml +++ b/mods/ra/maps/survival01/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Survival 01 -Description: LANDCOM 66 HQS.\nTOP SECRET.\nTO: FIELD COMMANDER A34\n\nTHE SOVIETS STARTED HEAVY ATTACKS AT OUR POSITION.\n SURVIVE AND HOLD THE BASE UNTIL OUR FRENCH ALLIES ARRIVE.\n\nCONFIRMATION CODE 5593.\n\nTRANSMISSION ENDS. - Author: Nuke'm Bro Tileset: TEMPERAT @@ -18,19 +16,6 @@ Visibility: MissionSelector Type: Mission -Videos: - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - Difficulties: Easy, Medium, Hard - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -1217,6 +1202,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -1225,6 +1218,15 @@ Rules: Scripts: survival01.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: LANDCOM 66 HQS.\nTOP SECRET.\nTO: FIELD COMMANDER A34\n\nTHE SOVIETS STARTED HEAVY ATTACKS AT OUR POSITION.\n SURVIVE AND HOLD THE BASE UNTIL OUR FRENCH ALLIES ARRIVE.\n\nCONFIRMATION CODE 5593.\n\nTRANSMISSION ENDS. + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Easy, Medium, Hard + ShortGameLocked: True + ShortGameEnabled: False ^Infantry: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/survival02/map.yaml b/mods/ra/maps/survival02/map.yaml index a086d26648..6e9f859523 100644 --- a/mods/ra/maps/survival02/map.yaml +++ b/mods/ra/maps/survival02/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Survival 02 -Description: INCOMING REPORT:\n\nCommander! The Soviets have rendered us useless...\nReports indicate Soviet reinforcements are coming to finish us off... The situation looks bleak...\n - Author: Nuke'm Bro. Tileset: SNOW @@ -18,18 +16,6 @@ Visibility: MissionSelector Type: Mission -Videos: - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -1026,6 +1012,14 @@ Rules: MissionObjectives: EarlyGameOver: true -EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 World: -CrateSpawner: -SpawnMPUnits: @@ -1034,6 +1028,14 @@ Rules: Scripts: survival02.lua ObjectivesPanel: PanelName: MISSION_OBJECTIVES + MissionData: + Briefing: INCOMING REPORT:\n\nCommander! The Soviets have rendered us useless...\nReports indicate Soviet reinforcements are coming to finish us off... The situation looks bleak...\n + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False ^Infantry: Tooltip: GenericVisibility: Enemy diff --git a/mods/ra/maps/synergy.oramap b/mods/ra/maps/synergy.oramap index 1deeb2947b372cd1b0db6f57216066f1bbbb6ef6..a3010423a7b17a0716c5ff8eddc65b04428e2d01 100644 GIT binary patch delta 827 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 B?pOc- delta 2144 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 delta 1409 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 G0000JID8-g diff --git a/mods/ra/maps/training-camp/map.yaml b/mods/ra/maps/training-camp/map.yaml index 8532e5beb1..6be043de75 100644 --- a/mods/ra/maps/training-camp/map.yaml +++ b/mods/ra/maps/training-camp/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ra Title: Training camp -Description: Defeat your enemys by capturing their buildings. - Author: Holloweye Tileset: TEMPERAT @@ -18,18 +16,6 @@ Visibility: Lobby Type: Minigame -Videos: - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 100 - TechLevel: Unrestricted - ConfigurableStartingUnits: False - Players: PlayerReference@Neutral: Name: Neutral @@ -811,11 +797,25 @@ Rules: -CrateSpawner: -SpawnMPUnits: -MPStartLocations: + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Unrestricted Player: ClassicProductionQueue@Infantry: BuildSpeed: 1 ClassicProductionQueue@Vehicle: BuildSpeed: 1 + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 100 OILB: Health: HP: 6000 diff --git a/mods/ra/maps/vegetation.oramap b/mods/ra/maps/vegetation.oramap index 2fa593d6ac7c9a639eb05b8ba92f6ef174b617df..5f98766c38e24f30d379e424353a88274754f3fd 100644 GIT binary patch delta 1870 zcmV-U2eJ6tT%TMHP)h>@6aWAK2mt4(Vo0$Ll_r1ZsA5RHlHYyb1^@uBEC2uq0001O zVQ?;aVQp-!TH9{hNDO_hzQP|MV27N$pSD}HPffQ-gZ5cY)K-9PrM8T2_Um^frQ1e2 zWM2X#kS+TRFNfrCC|@=AZ~D`r8Md2TRoCseOLuC|SN+{~b84#UrW^L{cJs0Q(hkkg z^~ZmzdU+YX_NVRUYjfEB@#^cTJ8#MgyY@VOd*7bhveeD%tM{+3U*1$zS^q=#Z&`vk z)#bmc{^~EsyK}h_>hhPzzpDD!ox5GP?}mr%=54>*J(R^B?hEWyfBbf7&qGzc-!~8K z>AbC8%&)H7&+Vx_-nM_fYcIp8*_TgVyla0B1@w5My#M?A@%*Vj?Ta}#r%OA2qd> z54&b)j>G>q-!!+QaobI^-*?55m58g$e(20k3G@5%cKl+q8-27~>bg1J^@noj^|3va zMT;$`w!N1Yr^Vv*oQv~faemIl?P78JoQu1~;_f*Y_lw2-Gc7*f|GD^&@BJqD)&hU# zFsmOU;_=FlSNnK%^$+cR8LESwlcPQTk}VU+ zVo>sRjuOTdOm}Rb065f91b8gOSw%0mgs7T4M7G# za;%eRIx#}z+LMSNjEF%*SZoM;5#fKZvlN6!T7}vf5fM;m70YErp>Vi0?x|KK7-dAB z5WGZq(GE5ff|kBg5QUGyq$hw#3V>kfTE$h&z>K0)6oZ8AsMNv=Uk5Qp*o}bj6kuzg zMF1kaAmlLQfDv-2Gt602dojt4Pp*H67+ViAFn2cNDpEfNd(-CsOAERLRLI0j`;9Csrzl zs4fLsc58-4TTy~HFf^>#S$KbfDzPkqae&K>8(`X&CPA!e9x&~^CIK+*xh9cm510-G zAR7&sj#iTZm`P^yhL< zkJ8#CrOOF`JR&VmL&6BT_X-&!l6=lE*jGuE5m8Y#aU6z72*{vT_@jRnIG4{R(ZRS< zcDx8EOyeFYk{&_AMpF}sq(?xy%PInqZh{JdtQ)OANRaliZ4sp;!m*V_N)lteSU$vB z0U=h0ZO73t2jK4O(t%E{vd zUIWG^K?Z-^T#vIh4FcHC>deJhBqS*TQg&bfDJ91$dU-5`oeT*G;#3z$K{0s{W)hO3 z_4TDFAt|Qzvd73^^W}ji5n;uWA_b-T*fc0oES8cLh!c1*EMtE>3`=EOBLehi_25ec z=#NP|!4m=c$Htlz#Sr~t6Qp2R;9qHjh)Kf8erCoAAUA=;FamO&WT!ER03UP*csLo< zs9_KQ*68Mg02qfQnqmoVk7N{&p#X?#Fk8U?IAW2lw`iZYb(W*wGVBbJGN8B65DkHH zKdBD^JnSYk%Y}cDj z7>vriilTpq{?az<2#BBBCz+KPv0|DnfO@aDf)Q{ZNQERoe$*99fcV4^RvK-7QV{7Ecj+717 zO#Y1oWx{?=%I`@SL7ejZfU?C>cX+Vi%mt}pxP`l0=H8Gj5pzW&(%)9!!0@u_X@`{VpkH{ZItoV(j{eb*1&=Wdoa z-oF_+HOKS*$J_q^P)h*@6aWAK2mozyTSu`Dl_q~}aa%`{;0}En2LJ&2EC2uq0001O zVQ?;aVQp-!TH9{aNDzI-U*Qk1v|WAgdD?6iR!AhE5QS$?;((=@aqxJ=X1|`c9TsAr zDqbQ5dB)7?x}2)&>as8Dhc{inuZK+;i{h&JdTRUTc+uT$%Dyg&>vq^RoARdl+zj>5 zc87nW_`5mY_U*&?WmA6W`l0OZ%jayPFb)IhI@9)1Ij-R@ImpyacpPKO( z-Qm33Z|k8x4FBJJQ{T?6sdu|J8@Cd1aoP>7`YB=lp1+Pithb}PmrGsMhr4c{@4SCL zH2b`0Hm`4*2X1j%EKV=ExLz!-UvhD?Slqni;&!pPeaXe$VsZCEi_iCeF8ZhxDy4vc8_Ql!l&`l{aebAe7|8RV$za8?L@4DN17DI|EZ|3A^`d_kT z0vQa7u1bN!*oPRFO5EG(x1x5sM&<2%be4Y>0L&!eVC$2#2)tl~pXlqtMEh^N390aI5Tdt#UB( zh%_Pe65&`ow3-mK^p$|fd<-f+0|XKP1Vh&duF@Kqk(CN;kZ3b1wXnifo{fJIZAXBA z4ltEVEC3On5qubGj}d&RYnZdDa%_?-ruulHk{Fb!>RV7v@iwKWZVl#ir0>ZTxc1?@55pU z9bnpL0B$2Xr6qrzP*N*bX&!;H zTIK$n@99xmt0;6i9*{>Q<*APt!S`N1VMOH584CLl>?S<(YY*q|yRmh=Efw@E}G(v=q>kaZ>X2NBXfwk@obNI13!kPP9H^ zXAgD;5PQDAmWNL6Bmwlq5hb!;8{9#=)=@wlyL^ ze-aPAM1cMfr4u|6pnq(vNl*;YKQ=)EMl<{iZ4hbVFub3&#tFbTfuvysq$=`G(;xzz zmmT2XWKg0;g8+XpN;V$^z&I?C6pL_sBqewZ1wask*#Q2>5esjz>@>tncJyIVt|5^eWugjG_nGY@~*;xeg>@O&u(LxM24qSNeMjZg>(?cKuqA?*# z&vTaih_gwk~ZrAh@aXgo|O==Vv;R@dMCGn0dVh0ghW7okQIx7{c$oc zRPG4ak4|Ji0`{lV6VFQo>`xO;p%spR{&~bHs0M%dPf7L}%6uA~#@Dcj>V58W5+BSl zVQcuuj+7MEjDJUh5@A0_;e8T~AXa#OK*?Y!{9_GDFaV6yP$k5_l19mtQ2LKUEx}^} zQz`7L39=tVNMhoje;Gv~_Q#oZi(| zs2@~^06<3Zaeun|+>Ed3UY&N+^<(q(G`w00000YY&tH From 1afa56565cf8b83839077075f5e3aaf8707d39f3 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 2 Mar 2016 21:08:29 +0000 Subject: [PATCH 19/21] Upgrade TD maps to format 9. --- mods/cnc/maps/IN-IslandDuel.oramap | Bin 7122 -> 7094 bytes mods/cnc/maps/Instant_Karma.oramap | Bin 7286 -> 7254 bytes mods/cnc/maps/Nullpeter.oramap | Bin 7482 -> 7417 bytes mods/cnc/maps/_lostsouls.oramap | Bin 4936 -> 4923 bytes mods/cnc/maps/aggressivetendencies.oramap | Bin 5313 -> 5290 bytes mods/cnc/maps/avocado.oramap | Bin 5614 -> 5604 bytes mods/cnc/maps/break_of_day.oramap | Bin 11829 -> 11799 bytes mods/cnc/maps/chokepoint.oramap | Bin 3358 -> 3307 bytes mods/cnc/maps/chord_simple.oramap | Bin 6623 -> 6581 bytes mods/cnc/maps/cnc64gdi01/map.yaml | 42 ++++++++------- mods/cnc/maps/dead_in_motion_2.oramap | Bin 5092 -> 5051 bytes mods/cnc/maps/deterring_democracy.oramap | Bin 6111 -> 6062 bytes mods/cnc/maps/deterring_democracy_plus.oramap | Bin 7612 -> 7545 bytes mods/cnc/maps/eastwest3.oramap | Bin 3752 -> 3720 bytes mods/cnc/maps/escalations.oramap | Bin 8081 -> 8053 bytes mods/cnc/maps/funpark01/map.yaml | 44 ++++++++-------- mods/cnc/maps/garden2.oramap | Bin 6709 -> 6665 bytes mods/cnc/maps/gdi01/map.yaml | 46 +++++++++-------- mods/cnc/maps/gdi02/map.yaml | 42 ++++++++------- mods/cnc/maps/gdi03/map.yaml | 44 ++++++++-------- mods/cnc/maps/gdi04a/map.yaml | 46 +++++++++-------- mods/cnc/maps/gdi04b/map.yaml | 46 +++++++++-------- mods/cnc/maps/gdi04c/map.yaml | 46 +++++++++-------- mods/cnc/maps/gdi05a/map.yaml | 48 ++++++++++-------- mods/cnc/maps/gdi05b/map.yaml | 46 +++++++++-------- mods/cnc/maps/gdi06/map.yaml | 46 +++++++++-------- mods/cnc/maps/haos_ridges_cnc.oramap | Bin 6976 -> 6926 bytes mods/cnc/maps/hegemony_or_survival.oramap | Bin 13420 -> 13384 bytes mods/cnc/maps/hegemony_or_survival_8p.oramap | Bin 17598 -> 17559 bytes mods/cnc/maps/into_the_river_below.oramap | Bin 9428 -> 9373 bytes mods/cnc/maps/lessons_from_kosovo.oramap | Bin 8901 -> 8867 bytes mods/cnc/maps/llamas.oramap | Bin 2879 -> 2870 bytes mods/cnc/maps/llamas2.oramap | Bin 3431 -> 3382 bytes mods/cnc/maps/manufacturing_consent.oramap | Bin 4668 -> 4638 bytes mods/cnc/maps/minus_two.oramap | Bin 4664 -> 4580 bytes .../cnc/maps/morbid-aimless-poseidon-2.oramap | Bin 15640 -> 15578 bytes mods/cnc/maps/mtnukebait.oramap | Bin 6088 -> 6075 bytes mods/cnc/maps/necessary_illusions.oramap | Bin 5057 -> 5029 bytes mods/cnc/maps/nod01/map.yaml | 42 ++++++++------- mods/cnc/maps/nod02a/map.yaml | 44 ++++++++-------- mods/cnc/maps/nod02b/map.yaml | 44 ++++++++-------- mods/cnc/maps/nod03a/map.yaml | 44 ++++++++-------- mods/cnc/maps/nod03b/map.yaml | 44 ++++++++-------- mods/cnc/maps/nod04a/map.yaml | 42 ++++++++------- mods/cnc/maps/nod04b/map.yaml | 40 ++++++++------- mods/cnc/maps/nod05/map.yaml | 46 +++++++++-------- mods/cnc/maps/nod06a/map.yaml | 42 ++++++++------- mods/cnc/maps/nod06b/map.yaml | 42 ++++++++------- mods/cnc/maps/nod06c/map.yaml | 42 ++++++++------- mods/cnc/maps/pirates_and_emperors.oramap | Bin 14926 -> 14901 bytes mods/cnc/maps/pressure_cnc.oramap | Bin 11332 -> 11302 bytes mods/cnc/maps/profit_over_people.oramap | Bin 7223 -> 7200 bytes mods/cnc/maps/rogue_states.oramap | Bin 11306 -> 11277 bytes mods/cnc/maps/rubicon.oramap | Bin 4987 -> 4951 bytes mods/cnc/maps/sandstorm.oramap | Bin 5898 -> 5874 bytes mods/cnc/maps/sea_and_cake.oramap | Bin 4393 -> 4358 bytes mods/cnc/maps/shellmap/map.yaml | 8 +-- mods/cnc/maps/the-hot-box/map.yaml | 30 ++++++----- mods/cnc/maps/the_hourglass.oramap | Bin 2917 -> 2887 bytes mods/cnc/maps/thesentinel.oramap | Bin 2425 -> 2385 bytes mods/cnc/maps/tiberium-oasis-cluster.oramap | Bin 11665 -> 11653 bytes mods/cnc/maps/treasure-island-2.oramap | Bin 9521 -> 9450 bytes mods/cnc/maps/two-ponds.oramap | Bin 7345 -> 7325 bytes mods/cnc/maps/vectorsofbattle.oramap | Bin 11286 -> 11257 bytes mods/cnc/maps/white_acres.oramap | Bin 10695 -> 10631 bytes 65 files changed, 545 insertions(+), 461 deletions(-) diff --git a/mods/cnc/maps/IN-IslandDuel.oramap b/mods/cnc/maps/IN-IslandDuel.oramap index 0fba24652260554347c16a005b6173ce0e11a046..79317b3540d162cc9a38c56f9bf31b21e931cfe1 100644 GIT binary patch delta 636 zcmV-?0)ze1H?}tpP)h>@6aWAK2mk=7Vo0$L^ca5tsbWYKobhlM0ssI{2LJ#F0001O zVQ?;aVQp-!Ro!meAQZkXPvHmP!r*^jtxHpBQj<+d)LvtUc1Rdp!0WQ7FSeVdX*ks` zCR+jy-}iA2=Kw3#-)hq_S4R~>8~!{9!|h7%>!?*NLObCkucL2PGPRFx1}+i09^6lD zyitEyZd|lx9Up;`Tkd6UmfPiKhmcp^ia(xP<+#cb`l<)Dw{=uv|Hb}C=w4XS2r1m5 zj_!2R9K6h-_mqWJ&jYs(p&ybRxUn_5ntL1m$PHI5|FY(TGfeuKtI>lxdNcU(_ZMX! zw2?lDof-Iu&}yN(hB>C(U*j!nozSX|p7wv@Qhzl_C*qU*Jodv8$eM9iKI&}z9_h|o zmWp?R`(PJ_^WFmD=I7mPn>@* z1M(Rza|mAq^~(anCjmUgB?M1H(Iz0A9P>=iSEz6fMob9ADJaPC+tl^8XD{lEloy!7 zq$EtDB`)9+OoQGP`DYPjP(&206Ou#gPy%uakOP)4p+QdSIbh9@D$L1n4pst&M&K~C+~KXv16Iri`MZ!X^(9ysf@ zny18US`AjTzFli49>u)gXx|y8{NwmGd<9TT0Rl4s6aWAK2mk=7Vn~x=8!-(4sbWYK WobhlM0ssI{lb;(c1~nT10002tEg$s& delta 664 zcmV;J0%!fUH_|r_P)h>@6aWAK2mlyvTSu`D^ca5_Zd*tEcW|gP0ssJh2LJ#F0001O zVQ?;aVQp-!Rn2bOFbqCdPvHm9AyVSs)4C)D1~loA1npU|*-n5hxsu#2d-}?DvowuZ z>@XyNDf;_9k|JfTM0=x6BU}+>glyoslLqWcS4C8+l8~KrH5AbgTMJc1iwGzMJ$GPT52--gf{?o*m)`nWivt*M zU5(ZT9>IVr;oBNIXGHDaT=hv6(YwR1?_PhEebA=%HSbIZJwmIwZuY_n<^DQvL^+oH zRLM*IRaZMXImwS}zwCix-*4h)osHj8-FVMZK_kJ}KQ{oaMa0=BarU3YNB>Fui2Ija zIH`~I(qn4mx^#MI#9&N{$hN+j`+5+$)uk9!rkuu;u?Jv2G-Y5hj1{MJnqw?pL@$3V zKf~t~Mdz33ETP#9!zTee&0-85U&7hsi{!I_d`z2+0EXDBC0G`tfgU>?MPEj~J z_L-kY$Z3LB%oxT=Im+?d)U>u0uj-7Hq?F^NX_&+_n&Klk3uc!lUsV)i6>)SI{<+ppKFTp(@821r{9XFK yd;?HR0Rl4s6aWAK2mlyvTSt>c8!-(SZd*tEcW|gP0ssJhlY<*A22mRT0002E#yBPb diff --git a/mods/cnc/maps/Instant_Karma.oramap b/mods/cnc/maps/Instant_Karma.oramap index f5ae9943f7bdc8a8aa961700578cd1e279ba9c0d..8e6b82aa54b60b4bb1e379e34b29d0fce6ff87d6 100644 GIT binary patch delta 750 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 diff --git a/mods/cnc/maps/_lostsouls.oramap b/mods/cnc/maps/_lostsouls.oramap index 347a2d071ca7fc698eb2be4ad006ac2d8da56ee1..a6725789bed75cb885d73731dd629e8dd8343653 100644 GIT binary patch delta 1441 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 V-_gnf007pLjub5hDHH$z005;5bKU>| delta 814 zcmV+}1JV4dDZwcYP)h>@6aWAK2mlyvTSu`DH4zOMZd*qm#Utk70ssL2lTZ;Je_&wM z)Jaxx(y=|s8e_%P6c9n+)cyKg83dU&jWn6@43d1$xv!%O>%6&DZIyRfkRY@XFTHGq zUaLbE6m@~nPIjfpf~(^Zjs0%4HLf1kUt!z4}>MS595>$DE&{g04RBaYC zeW`_^D1{c_;QD5Jv)Lg8KDY7@f3U_ej$?$rtG+&HAixC29DWErN-g)Yl-)TC?$myN z2AXpNkd>-mdZ9aGau7;q2t8c(9aNKXDDCto8+S4F2TMZYY4+ho7@lGhj~JQ-x&eVuhno;b(FkFFkSM|=93ealP9*)@o)OIGXdn5xpvmka z_JgqHoCpa$Gf6Qg76U~-f6>HQEyhMb>gOZIlv@|nxQHEjU_RMHLr#o;Zl7RoBjSdi zg^m2ME_4(L9N2afXkJHLMWvWo)snYo1I1)%0n7tH;nrDwQ|)PBm)H$u~RVI zO$5p)TwSAHA%S8F;+R#JxiAxv4~cw)K|@UK^XJpghp6>{b?KS1&B%m(s*g?RV&!xc8G{3n=WvNL4ZL9up6y}?5 z)0da$7CueQw~JXns^6k~fAA#oX7~hrRB||4_gWV4yjPukmIJ#v-?e$IOS^poP)h*< sGXN9-000O87;alflQ|SI4H#})M<2x_=HUVW0RNMB6fFio6aWAK0QF^aO#lD@ diff --git a/mods/cnc/maps/avocado.oramap b/mods/cnc/maps/avocado.oramap index 0c127fea0f401abf1f3b64bf6d7b70fd3dd39115..45d75188a70233a815f1566e6daf2cd9a8117c1c 100644 GIT binary patch delta 825 zcmV-91IGOBE95H@6aWAK2mk=7Vo0$LXA*w^sbWa!`l;m70ssI&3jhEJ0001O zVQ?;aVQp-!mQ8b;Fc5~%(XZeK=zu;koSJ6R&U9k87^$lp=YIc-(9SwIehZX-gHHh6SB5Xy=!c{^t&P{>ynU->nd9$m(RX5J5R`E-~I4S zk+grV4lgU)T0p;iUwyv0CIq70x?iw9*EH9JeDr<2Ym0#Ts?;2CVn~Rm%1N3JC#$R9R z_TD!Y9DURDHmvaVmEUhoXX@_nFc4$W!d>t@=p&bn0)}ZI3PDr z1)cMCkw_i9JSE*W?_4+`EQ+X--EaJY%86-!25vY}5|NhV(%u78?fTAKtAr^;pPBp$0l)y7%!<=y{ z(UM_M0MBVY1kyP`h8@&ohYST&0Q3-0b31_brYZeUHCTdgkp&T>s^?Tm6j+2a$swR- zI*a8IK+d%ySYD2NU^7|b;C3m-O(=ggx*m)!rvmWx;Bz@NL5sQdU~@Sv3%#HU?Qni_ zIU5R)bArL;Zd9qzsshhw7JzgJNGfm%U~*TcVzLE(ru;;Vz8{PVwBJM;A-I_NNC`I8 z%{9%?S`|FD1*aO#ln@c&oKcMm7jl|gF6RIhF(aM%(-3+Jgo4HMl*L3SxB`EnMDUx9 zKFb-^_?hx408JrLD`YwqAr~}5yFv!DN7ezL(T~0iW{*YZGi@Zr6v*^U{mEc;I_H4YU(gFYgK$E)_Ee2y100000 D?2Cbg delta 835 zcmV-J1HAm?EAA@}P)h>@6aWAK2mlyvTSu`DXA*xHZd*s$iEvun0ssJ03jhEJ0001O zVQ?;aVQp-!md#SzFc8Pj_$l%LI#{2MeJW*WXF4Qw0)?~U2&x&|GX8+3PtPhY1>0Kp z(o-Z^zg_MAcNJ}P{lztdb!T1WN8by5G!2Z-hSAPEn8sAO`Ls2C*XRPi zoNaXpcK$5D{Q9M8?_E)LxN?85J6&~u7k4@b?D1gd#y5S@+4$Y|Fo&t% zsP{fMBO^Oq9b5_1%gU72KiZnbL927!hd6P$+=sI2{A=5+J+>IrEU9fb@VG19Hg&NUxjRjiUxha2JUWVp8>t zNPz-teo?X+OxE zkIO=>i9|b`om5W70f?o5LFH~zsnDt%&uHR-cnk=_@en}dE|2-l1%9UVL`?1vN;ukY zJPr_yFI-Zb&f{i^BxtR27IMLeLNmpAAaF*BLIdYwo?9lC02vS?Uij1CY7T$+g2nTc zgo2RpDnbdbH=SI|2~qf&(m4Q4Ay6qqJP$&wNrHBT@M2G-13;mdzVKpCgH9LPNbot3 zsD=6yUg~(>cL5-}Df`2t@o&jpUz~n#;JNExOn!XlewpIq!oAV;@btWMc39fpJ^j2Y-J3w$W8vyiH#LP)iO00y6*<0000802pptN0W0EF%1}QTSwW6a9Z2~002{y Nu@x-_Z503j000mdev$wH diff --git a/mods/cnc/maps/break_of_day.oramap b/mods/cnc/maps/break_of_day.oramap index 87f3523bc44a48454fd4574ed3e48e0a8ec013c0..da69d8954d9fa275fa8a234ba07bed2de397fa40 100644 GIT binary patch delta 1287 zcmV+i1^D{4T$fx9P)h>@6aWAK2mk=7Vo0$L&?tWZsbWYmLnXhQ1ONcl82|tX0001O zVQ?;aVQp-!n9Fk8I1okG;aBhjupl19gR4m#XBB%=wkugv5}aXKB4v__$Mf|ASk5FQ z`eHV&vP&Y>r-8<8G#*#&@zXFK+PNuRQQY{)Q#bnQYS=a9w%-=TT{rK2Q+^nI`%n(| z<;Q>axhUSB=D&uqDZlu6^!>vS&Gvrs!O6$V+sm7~q6mI(yMF@7E5*WpQG6Iq{cdVX z#T0Wo{1wI5Zt6DOzMG$$^7F9S1lM=Z#{gXn{o~0`b5VTRx6gi@n&RF0+l{~Xq0O!T zd0Lw_+GHtpQ@^M5ZtwcEKH`lkH8 z>r($$r~TYjzucdn!(%jTH*r+fes0=+Hypy7%ibS4AA-FYy+2OCIbS*FZ|PjDoQt<~ zE?3Uw8#zC}|KVFJZ#&uOR0aE zH0MlWIs(;tloS+P=vZ~!63{uoM4(>IE5&L&tTqCA z2^dzxIwE5sl*<;Z&Il)YY+;$?wq`Y)7{aA7Sk7t~v=oF6HWx!wT9_pef`)&yNCu^! zhGDlBB16=Gs3D;#qRtV9B2p$EPG^4=Q!qh{OLv}8 zJP6q8dXN#6kLNDK{FzAJh75II0X$2%y+BO8Kp%I2%>Ms?ja$dCRS4f z&k=?oYMUc0MVK7nKpb$Vhj zat08%jd+dGP18C{upWQBs?q{f>&)o#ia1?|HZoTcH92u(D-h8n61EKZCc@C=Azl~b zSct2uuz7ZGOY+ug>X%= z>Ge>EB-1NNUfu{izVV`K-9*^Ai%b}F3R}kUogK(wt}3PfbzW zoc1rDxBl@IZ@%OAufyMd|NDz?zC8~8`KRvu>gqIg+wgfk%-wx=ZZ5vR8{2-`|9t!x xP)h*BEmMs7P006<3U={!X delta 1333 zcmV-51@6aWAK2mlyvTSu`D&?tWxZd*q;>@MuO1ONa58UO$Y0001O zVQ?;aVQp-!naOh7I1q-<;ZyJda3B_9(P!}~{>D#_~@m+ZOaDKY=4?cf%W9$F8@#D}{`|y_!H`O8dd3_PSe|>KH z?`^ja0k6B!M~k+(Xb+oesG8xwm!GTcIouz+dg=dq+z)l}%l-L#_!s1%`yc(54V=Yduj7CE z`YG63Z?livp*>~Q>7iKVKZOnamv&p7T}sWQIj55Ee#@E zk-c2{7m`VV>{YPmGyC9QA^UP^AG&Xmxn7!U$y|Z#&9eK-F$cS2SNY-CAFJnP!f?Yl z?306xc2Ks0hKyw#Yt3oMN@h5Og5rPuG1NLSVM?Z9KwQ2eayrn=z;WY>M0mjr4krwD z*KQxDh~Z2_Ik{V=uMr7A6hy+<6u_5&Q%p+;h-Hd}7!(G==>C+mpdC|i3JMj0S9~rE=_>Au#B!tc^6U`hgJoKq z<)R#BY@$o2Ra`BG3AaE_ah@0^Lr(G3z#2{`dV&!2WJ(Z{E+Yv-(Pe)mL6pQsGN=J- zo6$=k_6aVT#w_=?u?4vP8B3hb3Z`I!7`NPcM)4qEi}M*kFScQDoGd4g8lm7C%m|th ziQ|ctYV?vz|X6Bdf- zI3QqlIROY*L!AT!oP~c*0RryX9njpu-LV6jTbNhQ00OrWuQBSrpJxfygBQiJ0F^p1 zy1XDx*P)HXRYXZn+}H|4G>L>Q1HOqcba{w3$T$|_>MATd3g3|wM8OXG5|wC!zQ5uU z6GX{Y1rsGE94ILG@`|Imi(BCw6rn^b0#qSfQ|$73C`6Lzl_Y;JZv-CSc+oX)BJA8n zA`Ci(E#vsk4&*RbiL?hvEI5_-+1+8>{qXVM8n@&A^m*r>#(47`pYPkh{r>kC-+gsF z{}<%Gt@MuO1ONa58k6NMEC#eK00000hyRO7 diff --git a/mods/cnc/maps/chokepoint.oramap b/mods/cnc/maps/chokepoint.oramap index 411929f2941f74a349326ff4ac6f0937a9df23df..2107ee514693846efaa41312de598ea0834ff1ec 100644 GIT binary patch delta 790 zcmV+x1L^#p8tWMjP)h>@6aWAK2mk=7Vo0$LkO_YPsbWYc$+7jY0ssJc3IG5I0001O zVQ?;aVQp-!R?Ak~Fc4j%ukZ(WVM%_kN-3-e?MZTAtvCX7YD>ls()8;)vPr?wgD!eb za%_$7y)&a3jlE*+jp`aUltF>en!k*q4-fc5u- z>>pHDLlWC=3tykXTKlq`RPr@b)sS7SYh=v{tZ!%_p;PVdUO&YH=+ zYQSpdYBAkJW$;Q8z~8Eh z%@R=Bn9K#>-G_=yc&zbwiO)TFqVdrJPogkRUHG^R2AnVT6AwNCeM$`d*o9BwNMwIT zx=wfoaJ&p37an}B@y6~XE_k7LhZ^BH@i?+~fSn#Bxz3u9(L>D*aU%b81ysh=GLVrf6{;OtjQErci}&ap)GSd9vU;I14Tp}vKe z`f{IA->js-dBsa7aqi1IdvjtOB##qoTrl$8Zit;jeH@xta)B{uYpO#F$D(0r`<5N# zGAa_1!b-q)LPkRBZ1gxfP3BMMCfYRP{s~_G@G&^n({%$Mh5EZf-`}fWy#8o-;H*`0 zek5koYV1V?*E=@6aWAK2mlyvTSu`DkO_YnZd*s~kKoaj&(>zvrbZk$uma&p(3W!J|uKV@9g18ArB3*RG z9;C}T_pOU=S$8c}!%P|E2(9>QFBI3ea#sdbTOqU&rsidE@gjfnPKwqbbjfw4L}!F- z%iw=J*fIlMVa=Sf%szYZT zmhEfLwXu*Lm%2pgesI~Ye$?#16|Bz2)rx;VamCw;f4k$oQLKhHXLqatJ?{e8-|t)f zC{+!a*{GgdglsQl1M#!g{1slaYRt^@PR#Y+_O%hwhx&03TMJ}co9a_NE7tC01Cpzj zH-bY3E)?gT_9(|E%JF|vKFU9oA8}t~VQydyIXrrY&MPB_S`3S*4Bkir_#0WVQ3Zcg zJ0@cRxcXF)0go*nPx1Kzo>+V|!ILPAQy)Gq1B3Ia{$v54fPPA5`ePqHg>#n8!u7&4 zfa9tAxLCmF7C*~Q;)549J9Orb7mp)Hda{t_UILyI$WlHr6wE{?gm|IAG(TE6ef>#8 zMnha23B|t<;t*#?my&r5nH@^r7*c-+Azvb74gw8_zI7AwdEu-}{yGemo;F^VEf7fL zAmmE~sPtaS-IS4p#D6r2i;*rcC^%IWGYi;jA$D2FmwZZGjADrawPUK1GaKIG5qn6< zX%x0UJ@{faGoW<-sHx-3rNz+C9s+T+A6W4AE2R!X6cX=PqIRrC#f;#u92|ck-NAQ$ znx}MWR#M=+;i-{0Uy3_>H!?d&3r3uN!N~WUA#M&`;?Tqq3yeWmQ|&uA7EPx+wr{6i zk&qNl0(KKJ5>juY$I)>ze>peNy6Jb%++Mv_eLXzaaMQH+3cG%gzj*yw@W@#=-qaqX z7)7_e78N}2q!CYIRBz=Q#ab0zAGd!1P)h*4H#})N8)7E UaN`010M3)R3@rwo3;+NC0Jm^-Z2$lO diff --git a/mods/cnc/maps/chord_simple.oramap b/mods/cnc/maps/chord_simple.oramap index 4304c988aa6423f3e4f0e518e43c029d6fbcc643..f194aaf883365b84d31ab8d79e8b1f4d80a67295 100644 GIT binary patch delta 2577 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 delta 2639 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 diff --git a/mods/cnc/maps/deterring_democracy_plus.oramap b/mods/cnc/maps/deterring_democracy_plus.oramap index f5f31adb369fe6bf0e3c37ba54971e84a7f8b1bf..a29cf315d947d6298510ea25fa3d57684b6ba8e2 100644 GIT binary patch delta 1460 zcmV;l1xxz8JNY^eP)h>@6aWAK2mk=7Vo0$Lh8KSTsbWYpp?Kj)1pojD8~^|a0001O zVQ?;aVQp-!S;=zSI1oLDU%~s}fPLXoGyyLx~bg_ zRVfK4RuadH;(IeRn`YmPr>gwgZ8oPM=5!2@i>`f~{4f^9w|#x`{ZJJj&QI6=hwpv6 z^?zRZY3%EL_{)c@`Vc_RAHw@TKilE1>-T@blG}draYff&bcann*6sNJ$1nAEY`V58 z?{`fq|8m-o4Sf}Veh;s4VZDj2STbFYA6Mey`Hcks{Adeg5U-Mb+ZtcI;+K%@4XNhhyMibkNssTc3YL zGD-wHQ_1&lxHUsK2r)VXG0%|AepdYzB^BW)%2nma=yE+L=yF<>58ZHFu4hD|c0~DG zDwhCDgvJm|V&2jm#V8n~au|cT7{_oJV~N4HaWI7CwxJ+K6OQ^hIPKwB@0M;3Y(ckx zy=+xx4>5;QEC9k0+;rFsWr#2+CJ=vrq;_eC%%q!rf(w$=oGg-(?Y=n%pf~{kN=RTha!;;)b zH()@q5E`#W;=IGk28*jCY^0Z7YGjB)*U#nAtRs%6A)OUcOMuH*Kp`I~9N>R~1y9Va z*IS3GBmk8ZCl1|0N=PRf=P3-Kp(;;vS{Yyu6%ZChSb%*Z15lA1Osv^wQGToFsWcQB zfQhk?>*ncDf~z@rW^F?T;3B{#05lSY0rapq!Hr1QhnkLdXA}7Pv`U~5HrxUoEub!8 z9||xkYNQgUq9*I;RB93cUSNM?nPGhGRMci|pxUYz>|PXCHxp^q^%zkoRV_=Y8UP~G zS~=E`f?jB}xrW9Bnd6g%dw8G}>MyGxf4R3LT)4|>v`Z?q(prOdNgQOLE*a@d5!DPj zREJ54pfsQOQR+|}M6360YWX=k;E(i(@ww-HxQmPdi zY-<5J@!Sp$@RB0}^^$+1Aj2gZ2glOD#T>$?H3zuWW_GYNy;cw=lh#hA=RPGeIpkD2 zna7riy4C44aIwx&k#h3>J7h79!J+EPk-k*lFLOx^abE zLf{aKDVOV&2Du<196wf5fi+ByGt6NpUVM^qKy?tglE^4clQ)0NG1}q?mZnM!jKdMo z`HWj)Bn|m1>@Axr?o3Y1qk0w|C|XAufIV%w}CI_*^ zmjUN^!wAE#1et#WMj0D6!P(1c8pE&&&)hq*l)XmeV)%T$wVEBW*MVFBZBb+qGWD;> z@1X!{N$@05+#IIey&tNgxSsa&?~Q+);{QqF^Y`vwzkmDT&ezATJ^!gWf4ZE8W*dI5 zy0Q7uocD|0Z~M9(_Ajr$08mQ-0y6*<000080060CNKTVX9WV_5sbWYpp?Kj)1pojD OlZhQI2KXER0002Vile{) delta 1527 zcmV@6aWAK2mlyvTSu`Dh8KSrZd*qp=B1>I1pokH8~^|a0001O zVQ?;aVQp-!Sxax*I1oNpze4DBiGUCB<@`EQW5?l?Yl{i?hfPTTMlW$wZdK%@J=uJ1nH76okhwfP6s@P>I) z6z{uZyB$_##UyhT^Rg(uHAAy*cFlNNm7jmR_4)+coDKlF?Apg82#!m(p&M33@nupt zKHco9Jz`{l>BN%y}x?#70{Zh!s`U*p1h9euvs=eBOQ-5%b2Y{R|@VE=z* zAHrcEHW!P{#qZo)E;g6Hb91%WT>Yla&+lJ1e_8i`;`h4yIa2J|sn4I1y{KBe+l<{r zsp-M2%HaUCj1KzTZR+!uf-@z~R0{ns+?pT~g;v)Lsx*@%%CE{%@cDYl z$mM)hK6JxjzFx43v?K1n;nf`Am@zyZ6Qiw`gGEa)ADoiIHM=T0quqw}UT3JMf281IK4q>0l z0CXgWP)qhXlHWRdDh)*jU}JwQs%7)^B*FC*JiD|Z1Mm^x5&#(qD-e1(n&4KY>!GHT z-PrS@86lTWC2ckqtF30n?pbm5 z6Ok5OPcThV)rpj<08p9MDyfD9dXdqV1{)Kq9G@KC!+}zyznsSW<$r%A;mlpmkX=%f zmDX9ZOVS{Vb;(FyPN-(dp&BM7L3&N;7*DfwGo9x6M4~ctWhK&126?6E)+E#FrmGys z1TybIVkwedmBzXsG<@1{jx=y+9JE#%u^SE`^wgrOG#R56Bz-j&Jex6F8$>0UvD%D^inTu%O$q zQkj0_=!2D^PWzVBO={v2f`&Lsxm>Tb#03eH^s$;Ns$oi+VV*ki(vyrws)NdvM8SEQ zyfDWYM6oo(2$C&^=WZ^zNsn9cJ}qO2MamGf8GuXKFFdpK)gbqX z<$`C}B?L$8a7=&DYE5&`qSz^579I5I(rS6E^Gwo)2!#*}D6eS*QXrMdA~bfyc3DGA z+N&Tz=-Xo#fD? zki8C+3TcZfi>Olns=N%1P^&^u62;g3ar-00Kf!K~yXivnYj`}y|4HKWx9;z-`}M_r zs1N7=%)WKa`PJ2NXg2V9-Hpxn<}5G1zw7IE*u8xH7f?$90y6*<0000802pptN0SI0 dF%1}QTSp@1rKF1m003c=Mjb5%I~@Q30017f<0t?C diff --git a/mods/cnc/maps/eastwest3.oramap b/mods/cnc/maps/eastwest3.oramap index 2e51f524b38b0f090cb8fc6acc871a3aa3321f02..3c6c5f1e3e812440e236ca4c856cc1bc02ce91af 100644 GIT binary patch delta 983 zcmV;|11S8c9f%zcP)h>@6aWAK2mk=7Vo0$LZVG<@sbWYH-pV0w0{{TN5dZ)P0001O zVQ?;aVQp-!m&;PyFcgN@=qdaFURXEZR;3KgbOtCBGO$(>0h&6Nv1L;F^p)dKh<%Q_ z$x5-}@BHT~B{!pYK$qo%37uzpbCUx_h*3*H+`;pl-Ss87cu2Fxx z+8eyKYc*$r6yj%!I{nxZPc%T|A_`E^YAjNyLyT0Xm7drXL-w5s;7s4N0UB z!9s+9h$KXCD2xmbLsBTWMIg5Y{*%JXG^>#@VcM(OZ-I$lqu-O%+2ADj^3TodM{5Ni)c&B&KMl zB!>upkE7>~WKgDf=uR#G4HkYJhjMxx z1_+<4x2aPy@Jl>R1|XeA5dav_g)Gp8>Ar30bTaTROeLT|Lkb+|a~e_*L(sEg2LK8v zFc2X3+kW%x|F{vd=&SvDuV4G&KjHBC!T#3O*NsQ58e5NFnQ`l;@600Fuea8jCo}2| z`^#3@6aWAK2mlyvTSu`DZVG=GZd*si7IO2C0{{T*5dZ)P0001O zVQ?;aVQp-!n9Fk0JQT;*=qdaFURXC@vikT+nPG;OPMT@giX(~!$8v4Cp*%fOoC2}W z5u2=JEBc-Pxk*ZLqq>i_-z&FDNuwqGT8YHX6LZ`SExrO|`-8jqiDH`i-I{K|Xt z(;KexROW>IZ^w2wcpuU-E%H=kggltRY)xa_>nizdx7$~5=C$+4m2IC#??+g&({@-9 z^5y7Bc)DxUtM2{NyXk4Izv^DMwf^r`kFI}LjsN7`t=fA#rwRXlryA{?pK5sIfL_9?mQweAMQIGq`%mo(01#@Qu}^OTwKz)oEeuFGCs}!G5)shADw@< z6qwp9J$1xsWT%mzMv=aGPu|zg9=FV)D^|(A8#;Apy}{46R+C1-Q_iPdq5Hpf&XJTb zLyMGU0CVUlDgpvW5yY|FGX=(!sAG6AB7-4TM1(xEHTG=1kSQ0~dY^!y^CufW_e-Xf zVF<$zK{14b2I!oDc|sU+FpG68 zn=m{-*dMz2d*V^6Zu+z1!J296W*kiI$6M>nS2O8_`Ax6dp?Q1#1yD-?0y6*<00008 l02pptN0S#0F%1}QTSvtfa`TS^008WhRSqo%Ck_Ar007zz<@5jm diff --git a/mods/cnc/maps/escalations.oramap b/mods/cnc/maps/escalations.oramap index e0ef8468c06df352d4b050e570e0ffe10f5f8f2c..254702631836f6b638e6156f8fc6d89090a2affc 100644 GIT binary patch delta 2446 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 diff --git a/mods/cnc/maps/gdi01/map.yaml b/mods/cnc/maps/gdi01/map.yaml index d64a671cbc..cd73905d5b 100644 --- a/mods/cnc/maps/gdi01/map.yaml +++ b/mods/cnc/maps/gdi01/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Storm the Beachhead -Description: Use the units provided to protect the Mobile Construction Vehicle (MCV).\n\nYou should then deploy the MCV by selecting it with a left-click and then right-clicking on it.\n\nThen you can begin to build up a base. Start with a Power Plant.\n\nFinally, search out and destroy all enemy Nod units in the surrounding area. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - BackgroundInfo: intro2.vqa - Briefing: gdi1.vqa - GameStart: landing.vqa - GameWon: consyard.vqa - GameLost: gameover.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Nod: Name: Nod @@ -442,10 +422,34 @@ Rules: PanelName: MISSION_OBJECTIVES MusicPlaylist: StartingMusic: aoi + MissionData: + Briefing: Use the units provided to protect the Mobile Construction Vehicle (MCV).\n\nYou should then deploy the MCV by selecting it with a left-click and then right-clicking on it.\n\nThen you can begin to build up a base. Start with a Power Plant.\n\nFinally, search out and destroy all enemy Nod units in the surrounding area. + BackgroundVideo: intro2.vqa + BriefingVideo: gdi1.vqa + StartVideo: landing.vqa + WinVideo: consyard.vqa + LossVideo: gameover.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi02/map.yaml b/mods/cnc/maps/gdi02/map.yaml index 0764b7d7d0..2798f82527 100644 --- a/mods/cnc/maps/gdi02/map.yaml +++ b/mods/cnc/maps/gdi02/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Knock out the Refinery -Description: Defend your position, deploy the MCV, then build a sizable force to search out and destroy the Nod base in the area.\n\nAll Nod units and structures must be either destroyed or captured to complete objective. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,22 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: gdi2.vqa - GameWon: flag.vqa - GameLost: gameover.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@GDI: Name: GDI @@ -669,10 +651,32 @@ Rules: PanelName: MISSION_OBJECTIVES MusicPlaylist: StartingMusic: befeared + MissionData: + Briefing: Defend your position, deploy the MCV, then build a sizable force to search out and destroy the Nod base in the area.\n\nAll Nod units and structures must be either destroyed or captured to complete objective. + BriefingVideo: gdi2.vqa + WinVideo: flag.vqa + LossVideo: gameover.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi03/map.yaml b/mods/cnc/maps/gdi03/map.yaml index c85290ca17..d0c1178d0e 100644 --- a/mods/cnc/maps/gdi03/map.yaml +++ b/mods/cnc/maps/gdi03/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Destroy The SAM Sites -Description: Build up forces to destroy Nod base.\n\nOnce all Nod SAM sites are neutralized then air support will be provided to combat obstacles such as turrets.\n\nDestroy all units and structures to complete the mission objective. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,23 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: gdi3.vqa - GameStart: samdie.vqa - GameWon: bombaway.vqa - GameLost: gameover.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Nod: Name: Nod @@ -744,10 +725,33 @@ Rules: PanelName: MISSION_OBJECTIVES MusicPlaylist: StartingMusic: crep226m + MissionData: + Briefing: Build up forces to destroy Nod base.\n\nOnce all Nod SAM sites are neutralized then air support will be provided to combat obstacles such as turrets.\n\nDestroy all units and structures to complete the mission objective. + BriefingVideo: gdi3.vqa + StartVideo: samdie.vqa + WinVideo: bombaway.vqa + LossVideo: gameover.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi04a/map.yaml b/mods/cnc/maps/gdi04a/map.yaml index 1fc4588ffd..6999238095 100644 --- a/mods/cnc/maps/gdi04a/map.yaml +++ b/mods/cnc/maps/gdi04a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Get the Rods back (a) -Description: Nod has captured classified GDI property.\n\nYou must find and retrieve the stolen equipment.\n\nIt is being transported in a shipping crate.\n\nUse the new APC to strategically transport infantry through Nod forces. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - BackgroundInfo: bkground.vqa - Briefing: gdi4b.vqa - GameStart: nitejump.vqa - GameWon: burdet1.vqa - GameLost: gameover.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Nod: Name: Nod @@ -503,10 +483,34 @@ Rules: PanelName: MISSION_OBJECTIVES MusicPlaylist: StartingMusic: fist226m + MissionData: + Briefing: Nod has captured classified GDI property.\n\nYou must find and retrieve the stolen equipment.\n\nIt is being transported in a shipping crate.\n\nUse the new APC to strategically transport infantry through Nod forces. + BackgroundVideo: bkground.vqa + BriefingVideo: gdi4b.vqa + StartVideo: nitejump.vqa + WinVideo: burdet1.vqa + LossVideo: gameover.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 0 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi04b/map.yaml b/mods/cnc/maps/gdi04b/map.yaml index bf56533002..61657f4505 100644 --- a/mods/cnc/maps/gdi04b/map.yaml +++ b/mods/cnc/maps/gdi04b/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Get the Rods back (b) -Description: Nod has captured classified GDI property.\n\nYou must find and retrieve the stolen equipment.\n\nIt is being transported in a shipping crate.\n\nUse the new APC to strategically transport infantry through Nod forces. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - BackgroundInfo: bkground.vqa - Briefing: gdi4b.vqa - GameStart: nitejump.vqa - GameWon: burdet1.vqa - GameLost: gameover.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Nod: Name: Nod @@ -574,10 +554,34 @@ Rules: PanelName: MISSION_OBJECTIVES MusicPlaylist: StartingMusic: fist226m + MissionData: + Briefing: Nod has captured classified GDI property.\n\nYou must find and retrieve the stolen equipment.\n\nIt is being transported in a shipping crate.\n\nUse the new APC to strategically transport infantry through Nod forces. + BackgroundVideo: bkground.vqa + BriefingVideo: gdi4b.vqa + StartVideo: nitejump.vqa + WinVideo: burdet1.vqa + LossVideo: gameover.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 0 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi04c/map.yaml b/mods/cnc/maps/gdi04c/map.yaml index 79f3a4a699..fccc9c340e 100644 --- a/mods/cnc/maps/gdi04c/map.yaml +++ b/mods/cnc/maps/gdi04c/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Take Białystok -Description: Nod is moving to capture and hold a civilian town.\n\nYour mission is to reach the town first and hold off invading Nod units until GDI reinforcements can arrive.\n\nAll invading Nod units must be destroyed. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - BackgroundInfo: bkground.vqa - Briefing: gdi4a.vqa - GameStart: nodsweep.vqa - GameWon: burdet1.vqa - GameLost: gameover.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Neutral: Name: Neutral @@ -801,10 +781,34 @@ Rules: PanelName: MISSION_OBJECTIVES MusicPlaylist: StartingMusic: ind + MissionData: + Briefing: Nod is moving to capture and hold a civilian town.\n\nYour mission is to reach the town first and hold off invading Nod units until GDI reinforcements can arrive.\n\nAll invading Nod units must be destroyed. + BackgroundVideo: bkground.vqa + BriefingVideo: gdi4a.vqa + StartVideo: nodsweep.vqa + WinVideo: burdet1.vqa + LossVideo: gameover.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 0 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi05a/map.yaml b/mods/cnc/maps/gdi05a/map.yaml index b5375324bd..714991411d 100644 --- a/mods/cnc/maps/gdi05a/map.yaml +++ b/mods/cnc/maps/gdi05a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Repair the GDI base (a) -Description: A GDI field base is under attack. They have fended off one attack but will not survive another.\n\nMove to the base, repair the structures and then launch a strike force to destroy the Nod base in the area.\n\nDestroy all Nod units and structures. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,25 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - BackgroundInfo: podium.vqa - Briefing: gdi5.vqa - GameStart: seige.vqa - GameWon: nodlose.vqa - GameLost: gdilose.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 2000 - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: False - Players: PlayerReference@Nod: Name: Nod @@ -814,11 +793,36 @@ Rules: PanelName: MISSION_OBJECTIVES MusicPlaylist: StartingMusic: rain + MissionData: + Briefing: A GDI field base is under attack. They have fended off one attack but will not survive another.\n\nMove to the base, repair the structures and then launch a strike force to destroy the Nod base in the area.\n\nDestroy all Nod units and structures. + BackgroundVideo: podium.vqa + BriefingVideo: gdi5.vqa + StartVideo: seige.vqa + WinVideo: nodlose.vqa + LossVideo: gdilose.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: False Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true EnemyWatcher: + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 2000 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi05b/map.yaml b/mods/cnc/maps/gdi05b/map.yaml index c5c9750045..4b30768a76 100644 --- a/mods/cnc/maps/gdi05b/map.yaml +++ b/mods/cnc/maps/gdi05b/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Repair the GDI base (b) -Description: A GDI field base is under attack. They have fended off one attack but will not survive another.\n\nMove to the base, repair the structures and then launch a strike force to destroy the Nod base in the area.\n\nDestroy all Nod units and structures. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - BackgroundInfo: podium.vqa - Briefing: gdi5.vqa - GameStart: seige.vqa - GameWon: nodlose.vqa - GameLost: gdilose.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 4000 - ConfigurableStartingUnits: False - ShortGame: False - Players: PlayerReference@Nod: Name: Nod @@ -660,6 +640,14 @@ Rules: EnemyWatcher: MusicPlaylist: StartingMusic: rain + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 4000 World: -CrateSpawner: -SpawnMPUnits: @@ -668,6 +656,22 @@ Rules: PanelName: MISSION_OBJECTIVES LuaScript: Scripts: gdi05b.lua + MissionData: + Briefing: A GDI field base is under attack. They have fended off one attack but will not survive another.\n\nMove to the base, repair the structures and then launch a strike force to destroy the Nod base in the area.\n\nDestroy all Nod units and structures. + BackgroundVideo: podium.vqa + BriefingVideo: gdi5.vqa + StartVideo: seige.vqa + WinVideo: nodlose.vqa + LossVideo: gdilose.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + ShortGameLocked: True + ShortGameEnabled: False ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/gdi06/map.yaml b/mods/cnc/maps/gdi06/map.yaml index 81b03ca1ac..ce9656dcb6 100644 --- a/mods/cnc/maps/gdi06/map.yaml +++ b/mods/cnc/maps/gdi06/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: Infiltrate Nod Base -Description: Use a GDI Commando to infiltrate the Nod base. **** ** destroy the ******** so that the base is incapacitated. Get in, hit it, and get the **** out. - Author: Westwood Studios Tileset: TEMPERAT @@ -18,24 +16,6 @@ Visibility: MissionSelector Type: Campaign -Videos: - Briefing: gdi6.vqa - GameStart: nitejump.vqa - GameWon: sabotage.vqa - GameLost: gdilose.vqa - -Options: - Crates: False - Creeps: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - Difficulties: Easy, Normal, Hard - ShortGame: True - Players: PlayerReference@Neutral: Name: Neutral @@ -1085,10 +1065,34 @@ Rules: Green: 0.85 Blue: 1.5 Ambient: 0.35 + MissionData: + Briefing: Use a GDI Commando to infiltrate the Nod base. **** ** destroy the ******** so that the base is incapacitated. Get in, hit it, and get the **** out. + BriefingVideo: gdi6.vqa + StartVideo: nitejump.vqa + WinVideo: sabotage.vqa + LossVideo: gdilose.vqa + MapCreeps: + Locked: True + Enabled: False + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + Difficulties: Easy, Normal, Hard + ShortGameLocked: True + ShortGameEnabled: True Player: -ConquestVictoryConditions: MissionObjectives: EarlyGameOver: true + Shroud: + FogLocked: True + FogEnabled: True + ExploredMapLocked: True + ExploredMapEnabled: False + PlayerResources: + DefaultCashLocked: True + DefaultCash: 0 ^Vehicle: Tooltip: GenericVisibility: Enemy diff --git a/mods/cnc/maps/haos_ridges_cnc.oramap b/mods/cnc/maps/haos_ridges_cnc.oramap index 255a663bd6a1c9274f5987a9fba24111a90ca765..ad6b6d84c61c5c8fd430f0a7a24ac7c7717fbb31 100644 GIT binary patch delta 1859 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

}>v1v7DqDj6%tDl_w!W-ew)qYxUg`s9D{sis3W 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 delta 3243 zcmV;c3{>;TXzXYXP)h>@6aWAK2mlyvTSu`De0Ux5#pRCV|5Cs%P4yOJtPc1bE}4U!`nRUkm&K}Gp`ch69f zF@5fF7FxJO!aQ^Pz8`%DFE@`rAC3>3^UXT1Rc{kpy z|22Pp93Kw*FYCi`{pNCf+CFV|tJOcp)7^3Vc-|iNH*5d5-*%fX<8l2o9#8d?_2Gj8 z`|)!A{cyZl|91LvKRz`YyYV#E6TJWTtG7SBUajh(-faI{$y%3(`rm5xkHckuf2wC3 zoFA-pLyD`_yX|RvyWMTiUvAdF9ByyF)JK1Pd91J(hyAC^csjQ~xgQUwo7L*q>6GoK z`IPmiALgH4j~~Y4xW60!{%X9OkDFcnKR>+MJk;kre^7t__4EGp{&3t?vAjKA#`YJ7 z{fooH?dH7Mpa1va&zrkh7$5Jq{qtX5cIU16_W1et`fK~c&25wO@;R?J`}@N~{p5eA z{rIpQs{~#g$MNx`JlrlGZolWl-QwZydp=wi50~%s@cHv^5C8gi|BwE@J$=^H@GR8l zf8Fr)sH-3E&WFjQrXSqR`uD@>u|D9J!`)_nVDy9d*^tKLpDb$v7zB`^hz1BZ>+_v) zR{$S}WHo@RXWAU^4p#_k(~zSEv6X*@iPt1#NKXBGKOIW05pIY@MOcIQutNwc#KZ~W z7mS!8ijFCb6}N!cArdmFL2?flXdAvZU+rcS#CQ^6 zY%s|E9SfJfAos5jk}WcFf5(3!Y(&a5ME!ydnQGH}@**TB;$2>V zi7_9xQ6}*&AYq7J_Z8dcyqdptQ8^Fwq5GB(K(@?$eMC`p2s#rk0JBPzZqZ)+gT^Tt8!p!7X#QYhDpo-L#YV8mb9(_RtgP6F7ozYDhm=I9G^HSnXF{H8orNMp97H#lm>c3+ks%MF%Q%)k zY1b?-x*l`D2%ScrYPRcBB{zufDY@}s^U_h+sTv=PK-6gH5xCW>Po^xRgx;drVjJSx zwt{1vw*q%bBNR$wlGSZ>?Ge%-x|NhkR*O?{J_<&t`f#Sn%ErzT3Bm$Iq6i0UH;@k4 z8R_jRmZ1md*ZXWUxvgKa&KLnXuDUIw0nEJ#OGivWexZ;mtekZO zF!w4ff^evyt6r#27~GUdmaL~Clg}#^f1eMB`wpUW-%9!p5~;w%_p!8DFhQW`YbYZ2 zo)|MlB#a=^nqpAu_#g-ngBl+?!Xxq4AY_fvF|LAQD9wkfo`7TgB0Hk~k*; zVKT==Y{L|jkP-g{os2MlL8kyrH2{VQrq7MZGTj6V1FO^HQE+`F>&R-|Enr-q8V{z zMK1?kw7nW*E!A}6im0D!F-%X}u)(gZ6mqVn`9;`^tb}xJP|$^!Kxsr^keQ{Sn1DTI zR!yL`p|I*MO;K{u{gGD2CEHgxf0-#Txjt)UW{F7!Twl&wOS&FcQ2o$|=*KEvf#@16 zL4kOEG?3t33u~4Hwj~qB>6ij!VtT$32im6TV7ei@&XX2f-KHtGz}_jokcQo zUu!IrS9ZX)N?}Hy1>L*{W|7&WZh;1tj9QYM$g+uKG!ZIn&rC9!1y)ERQqH{<=R(g_ zdPLKtF0TTY8!|J>VzDBLi51X}T4N{`Gz-jZ6Gn>15Pc&;e+t;1X*+qkh^H0H%x1LL;|&`UB%~GZNFU;-ahL73*Y%;2 zN5d{}8I5^ge=c;45CmFKk}zbl^oi0+gXmhE7V#InH-y&_0SUM=Z*>T=uEsq%7ucz< zMTkD?@%C%~b-SBh&$y}*n9#spK|7lok-S4utP;^La=i$WfFn1OUVI3A6$U|dr7)odl)^K;e_-|jOd^Zr5b15EP;CZ}Hzx@s zB6VgOmm(Y~d*(KC#}+#xdSIG6wjM!f6l^WT$CAP8tR%`LsCzb1_6e5mhKV>KPtNQ* z!6)F!)xg-fK=oE=4ol#5heFkuz)L9YRJt0`6=G%=10G%>CZ_kPXIr)gnW_D`WeXi6 z1cKBqe{5FiGw^t!`Dkj`mi>p2%<3Y3!A;1iP`f6D4BGs2yXKb=A)M%$m2IN>24zZP3in;5%V&YL^mUG41s_ZZ zFCNc-i49xy`cX}fM98p{s>x0d_`#y3k>aSt&~&yPjOeAPjReaP!5RE=6cL+4Ya_MB zf0v>|9QI@)1Nc5w&0a(~4)xMC851Hf=(7STIMhb9X$66RwUNwv{P6tJmR+)7s{mhD(N^B#3Xks?q>6e%ACyh@gsumVVt4WV-$EPlg{ z5kVU9j$C+#=i5tJ`Uw#i>{4r?OAZ!cf8A0jB!l@$VFHV2;n-7qgtvZ8U|ENt@5*3% z3340fN!w~?0xBoX68Z26+@g$uVye{q;t zDr9yTE&f7-Y)G9DZB$Q4zXZhMEr!6hjH1P>JjpVUGdO4Jw};W z&VfNpA=i}Ce&QlQwKr(=J?q@J)opm8-_(FhU|~D&0lr7?$dX~OaD*a z|1uAP&GIIIFaf>>p}I@ZDWHnSe=-1Ac4+`T?}6s9CM3diCcdbT^Ftv)hOAU+YjwIU z>g#*@)@N2Ry15i>wGiol_2%Jn|8Z>JD);)boBn+>e!8?T9&10pJN#$d{rQ9U2xN0Zkx dF%1}QTSuyRrkz3z005?w6*Mgd>oWiV004{HAJYH; diff --git a/mods/cnc/maps/hegemony_or_survival_8p.oramap b/mods/cnc/maps/hegemony_or_survival_8p.oramap index 847760d774a711a057dfd9766e7d7391bb2c8fd5..df4a36c0c195251714c5ee487f00591f6134a51b 100644 GIT binary patch delta 4279 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 ZNNq|Vq#+Oh0KjjPj6^I37DNC5003_gC~E)! delta 4301 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 diff --git a/mods/cnc/maps/into_the_river_below.oramap b/mods/cnc/maps/into_the_river_below.oramap index addc4c48a9d1f589c7b78abf39c981392028a544..8443ac929f0186990c6bc392e852fe7044a359bb 100644 GIT binary patch delta 2357 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 delta 3384 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 OlW-y}21FtN0001P7GXdD diff --git a/mods/cnc/maps/llamas.oramap b/mods/cnc/maps/llamas.oramap index 1012fccd53d8f68fe7d5960e1d755a6ff58e8edc..5492e2b6ef037544a9630c99f106c752a2f32778 100644 GIT binary patch delta 567 zcmV-70?7Tp7Pb}+P)h>@6aWAK2mk=7Vo0$Lxd?v%sbWZ;i`jnC0RR9d1^@sE0001O zVQ?;aVQp-!l*?}0Fc3x8;aBJbxUi^Kqg7KQ0Sd%!U>ot8k|qfOid6W3<9>ZdmYt*y z*>1cdIh=E^I2>`ohdXV0?&{>4kQKaoVZbhQS0}A%3E2oIp-%24@3|%9#=947>SX?6 zgiU{tY`~655-gy^_UCeQyCMWt*Wx#F6{8g+?NMDf z%^qd;10r*+UOiYx$b;m2Ft#RF(`*G#U_iC-eF@$fE^+5-$$Ny30bKvuDZAB1;sG|s z!y}TdX+^Va>LxIs+UtO%L8K^Xmd6klc44$AVn`N5%Jd&d9&<@&F{FQp zxx|q&h-4LIEQVBJq@*lbJS3Ry7%2P_B_7aULM9ZzTo5UG|nIO8_3UrE$~6BX-iC@g}0)`ajBhn5|iH; z-x#i}JT3nKP)h*AyX7QYq_P)h>@6aWAK2mlyvTSu`Dxd?w4Zd*t1gSr^o0RR9w1^@sE0001O zVQ?;aVQp-!l+AM6AQXky;VJY0EF|=oYSq+}%ycGpIBN7L9cW*~L4%XneP3j*R`X;RybdyxLz!kw&iqMv6)-le^!Kurx zJ2;ucW#F z{An-rPAcy9v{4p(g%k@pcGOT|{v;o0?`?mY4LYl`O=;`x=t=lr|)x$Zyb_t{`REPU$gX(af( zT6EVNdAwD}AZ-#oxtr;G^eB5et7bLM^Z7P``f$CDNESrO66Zw>Az>GS%QA-KL8O1m z{(%%Rmn@ATWy~dxR6!)KF(EOe4kHyN(I(%=`TRyvq4|0G8&FFD0y7H$6aWAK2mlyvTSt?{3NZ~BZd*t1gSr^o0RR9w OlLHGa2EGaa0001B=nLHd diff --git a/mods/cnc/maps/llamas2.oramap b/mods/cnc/maps/llamas2.oramap index 58c370fcfe36868156e11469f95c191e5f1555bb..fe5d22cd395db41a9f06e0bf26ce05e7e12885fa 100644 GIT binary patch delta 948 zcmV;l155np8nzk^P)h>@6aWAK2mk@8Vo0$LR0)3psbWawh;%_W0{{SE5C8xO0001O zVQ?;aVQp-!m&wSV@@za=0XQpS}_#O$_I# z8?ONQe7}y)&9KT3*QTxWJ`2+z*y!h>Y<0IX`z$P)A_%r+U+FBosq#ASLKXxUL;usX zS$Kb|`&Ku(%l_x1K_69iWCuKZ)En332b-^|eLyDU^h5XFd!g5bXF%3WEN z{n2Wh-R@{*jt7fen&x@XT^|IuRescMmjz#@yN!O-cE>`0UF)H5^UD76Wu4a+dRws1 zKVF;e!L*fif7=e)S(xV1)VsXToBrS8bzXn;rD?M8XY#*IrzH{-I z>umC7Z)&@8)#$p^_OO?&)`t!er!#SSPH{F9XXg~>GjV=SaWNAY=MvDG6pO%v;{|`hC>UBiQf#V0IVbS?U>qP^Y|%(D0d(QqN=&902SqJwEQlSOTYWf-%pS7jg-R)HA$5{rmHyGz7NKw6j3mKQel zFSEL*zF8+y2c)yG;{VUmChvuw4v55OPo4g0n<$?>bNXtgkNYqA(mwXti>1Bt*-OAa z_Pkw41pvwi!~h_DfXngthI)VM5`KnsnKS1S3aDsVMT&b|Qe&2r#ToD&7*G}z1cJMI z*gx5?4*ShNRO9u|e*3!*8h3whe(UP!r=``126ox8s{1gP)h>@6aWAK2mlyvTSu`DR0)3=Zd*qXP0IFY0{{S|5C8xO0001O zVQ?;aVQp-!mrZliIuwT2_*ZyXYZ&X(c2+r2{uRhGROhcB+*D(3f+$8*k!26o+nsIga0<@2-R=}*PRD>; zx$f&|{18p{#`#T_eVn|DquW-WOdm!s=FxxFd@{j_#=O2U#p2krw82)zZT!?W)8yVyDipzz#ypZ_3{#*Rn?k|6p zx87hbGxAgsPftdkJ?G!UEIA45;Y?0#^Ko>dhkQqFx~`ac?DLL`V#mOu&& zp#_Fe%rP9{AR!FBoG>oGBm}4phV!|VgSJl!b+5&6T#03 zMmWAl0T7}f9NnXy0I>op45$ErQ^J2xfQAAds9FJN0;yaBf)PPcKutc;iYV zi|4z7a*@n;4do&gDOP|7#|wl}Ftm82*j$5hN#OOtI6%bMqLE?(>WolQxK|SDjF1id zR#0#@IC{Ua63zx^C{aN*LR06cp*l=?#S6HbI7bPJG%QXqC{{^=L$M0^5Ga2E^>~p2 zpdRNbpF+kDM}O4cyYqjjnozWOc?m;Oq@W6hxFQrkPmMwntrtNN_hbqxkU&%^hyhho zCvFzO0U*5PrB{gNaTAcykfdOSfK_I(3jQh_f zerIpTc6#2K@GTxbXyW+6{cqYo7aom1&Y$HE&dy8Mqqj|X-nhYjvhy2$as9s6oo}C~ yKLJon0Rl4s6aWAK2mlyvTSt?{3^5HDZd*qXP0IFY0{{S|lLHMc2IdR^00005uhfeG diff --git a/mods/cnc/maps/manufacturing_consent.oramap b/mods/cnc/maps/manufacturing_consent.oramap index 7d2178d3049a92bceba09d1fdbe1aeb9e6450412..cb92cb90444591d740a7b3706c8ca3e705f6f702 100644 GIT binary patch delta 1460 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 Olj{*J2D=de0000Hj?Q!d diff --git a/mods/cnc/maps/minus_two.oramap b/mods/cnc/maps/minus_two.oramap index c5c8ef8b00c057b27c9c2d36afdd3a762667b4a9..4e6bddcede06bd6a62f225f85b3585069f8e17b8 100644 GIT binary patch delta 977 zcmV;?11|iyB;+FwP)h>@6aWAK2mk@8Vo0$L&<%e9sbWagxVKtq0{{R(4*&oN0001O zVQ?;aVQp-!SIu&pFc3ahPr(ClKz|50wM~;#oMsYFa>iImnPBAbQ#XD3t{`a&(yEut z*aL|D_S61q*_6i%(;dp8h;l-1^z&GEy5E?65mjwP$hICDT|}F@9s6i|GK72?haaXZ zqHBLWbh>>qR;JOt1`XfNZ_jVGgn-i9`ZvHR%VPKw^3{y(zK4Z0hF>b+N61~>*Sor@ zhnFI{G`rmksCqd9?98;!qwWVnuAA~jcYQ%V&38BYK?7^0KVRu_=*kA(e7Y(R0D4`3 z=kKSszc*b2Hf+05TM5&inZvFe%69m>cu{{=Lv7k3dfeBp{>|77b@Hx$euhUYSnjM- z)_QKrc5e=_a^C7gt-;*0PU~ZjD5ops^dptCm2&ox%K1t;{~+b_`n&Qsx&Oq^C76R1 zzxws{%Hp@(k}uU@rmUK7k|O%aB;YSiRn96QNd=ozNq7I`)+A4@JYC9X0eNQSlZAgg zOJb2?@}h`_DiKQp830Hi;LITqn0yMwtsHw%aRuUZxqq4m1=t|dWzs1gQ``tS8L{-M zN<$Q>$842_5X$u|Y--9~KOnQQ%bkBc;Z{t+Ugn-s0RT%pfGh-nV4sZHFA*|kczH4( zA`KuoY^ur~1~i?R@G)eeJxL!T4WS|owfm?!>#6X*)18; zJf;doFki+32b!^*Pl#0=B{4&r6Sswz4FpCcULMZ;Jf|bbACCR8Jhe*_7PH(7pnia2F~>cI8L#l} zz&%|QP8*5Wl|Pi623W*2AqeM4!vS_g;LZ^%(b^TWtk5hL8Jb}!4$6Q1AgId}t$&%gvjFrYg}Pc&_Y?&Ng^zE{9Vj930|4$h z6w`pWq;N-EI2!^0=_Vu`4tUB-J8Z0GRv3T+49e4o!Aoclk`VFER8Q%$4!L(OCbx%i z{|KJ~@J%~5)AbgX#)TNK$8U$Ee2x|00000ZKApi delta 1076 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 delta 1677 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 aVo0YILF()T008Y7la?1O209l20001_KYcd< delta 1381 zcmV-r1)BQ1FUT(rP)h>@6aWAK2mlyvTSu`DBocoZZd*sPsCUHq1ONa48UO$Y0001O zVQ?;aVQp-!Slc`?jj?yJ;WRtIhP=?fiGx zHQj$yRaf)$*Kk^|#;%V7`!EK8-`{LL-)yh$s|s}9b^ijYwyd^Q^~W&xkK=kJEQ5bW zGb^j=p&Pqhx9_Is_3GoW+dYG-=OciwhyG~};}k_6!!WL^>eF%RhCV)h-Z#(T1WzB% zPuuV{oI>A*-*3Y_oti!T&xhOQ0D4|N!25rvAN}}cIPD>(`_mkv#L!<4hg~x@{q*0* zZPNnm+hdn2-^}}|<8Qjp@9-K0n_XO?3nkm8e;f|*deetP7a;cQQwYbA&@2+o;@vdM zM6-N1%_`BX-b3^G`m(J1Fr_f`f=G&tWt!a7(jbVKP$U_0 zq1&f)8+xf6lH&lNeFD0_i#p9fx)8`Z0+NJ+sL2=Jf z0>DZ%20(gv za;rLv00eVnPje0lS{E9C^Em)g(9ki|d7F&|jkMr7K0(t3%Acq70M^NpJHmgP93Vv@IlM(h$v(?rxRzYc)xEBNGd zfGS$35etqv`moM?_6Qm2`=+$6Dwu`f$eNxw4r~ID=aunmm)C;1f~Oe zcMEP2h%K)d!a4+B;>72i*wQR7c#R})T|zAPYe{i7b!mZ@`?UlC+3OUIkU0Y8LAvh= z?1l|SPWrk+oUhnS+FR**D+F?v3Tq_`2#eglDwM(M?l3=o3-M1L+j+nI-i4<*UXsV> zhvA>F|MkO{&>Sz%e<67oy7Q;aJa#So-VRguwL9C3-|tUNKki>&e*#cT0Rl4s6aWAK n2mlyvTSt>h7cmYPZd*sPsCUHq1ONa48k30^ECxpx00000oR5m$ diff --git a/mods/cnc/maps/necessary_illusions.oramap b/mods/cnc/maps/necessary_illusions.oramap index 87920c146594b2b705fce93b0b71d23057256dbe..e75d9b7256e88d0a477dc69675a7dc628e67a69c 100644 GIT binary patch delta 925 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 delta 2569 zcmV+k3ikE2bk1}RP)h>@6aWAK2mlyvTSu`D&M$u$Zd*sEo4sJw2><|sJpcd*0001O zVQ?;aVQp-!Tgh@8M-n|7U%}Iy`cRd%^E4h=K3TGZQpjfzY}*KfXb1~EoUeCPw>2_Q zFJH`IBBT%r_3NzMmrA@_AHJWC&+GI3U0$so#?P1SaXh`7p6>59`^{?gaeLm4_jf;S zkL!Q)c)I(?-P`BGc$|)>)#|(Pv^j1M=k2t=zq2nVyIOsFIsY~t>*J@_r}3qscjIZS z@BZ%Xhqn(OSF1|y!}dS*h1SKP{#~v9HC^^kr~5l6L;aIY{j*wq+Mc$L+uip3dVlxB z^!WH%U-f#Zus75G^JP4p+apiobh=-yew=?#(0=-9w|*Uu^`~!^pB~0v#^bo(jQ@N; zUe3q$uKv$A@7K@uJ%4>rfB*51{psiFxT_3*JYL53#I%1iJwL9`>;3t^AAY~yER6p8 zwC&&j?y@^?&DYm2zt>;egX_m8!Q1ydtoKjTbN%G)eth1JRRV90<9IkJFSj=@xBq{q zmoJ}xefgK?{ue2Hefz@i@a1T$Z#U;@R>b^++~1vTuFwB4ZPp9km8R!e`s49$>X@Im zu>#CBz*pO_DgaTCq39Gs5Ab$Kq5)FskL1FTod$5Or(jJOip~T;I6oAXL}^DVw>;#a zJ?}H%p%6d@QgV4nS!JOoP~4EC_B?-he*21G$DF74`W7 z6_>pR5Fn=*h`CA?)Qi17QYu4KxfatODaIkInoGdtQjNtb(;`r;1W?WUIBkB9*EHOa ztPTNe_&9i#h^?x4k#OU6W$-HF5_{1`rfmU{pd_L^)0UZgvb zPQlp*NY}c{L(u_M*)PssQ!qo(Exdpuc>-|00o*kp4>_rT7CX$1lp>Q->UpRUJm?g1 zFQrX zit35nV=d}&H-Ox4tr@(|InukeBpZa(dvLW9Mgzp&Syrn5hB?y3URElN*gW3#?(0>H zk4@(;_Oj9uv(9}lD;?qbI5f*jM|dRNK=ct?8RMi!s9qRbc9zofp(9eCd1jMPGc$iB z?OdB;bfkE-K|thVe8gp8yjbj~LgN7s*ouNV3@uiLes-be77Hh$+UtgsGLT-U3%=>l1l06p{OaB+?n6 z0nsX1CM#=T#m*4G)0?bx=~|%kHZIWlunr*75Xq^4&Z~4IITdijn1`tA+~R+EPYgN& zbT^F;UFSB#6sXU8tSxdN zi=bvSv7W}Zu~T=g6&XYV8a6i96#Za8R@t%ITLhIGEQSruZ4}rD27tUgGMs>6b&m2P+My`*{Jj z8x6VEwJ3WAh7fB|F)2gV1J*K!Dz}D}2m+4FJsC-ef%Edj1Z;nR+Dl-Sv_bWKVOReK zsNFkazGA?@yc8lWG3a7jhDZn}85}8R6XK@1JmDszlU0W#?j;3bYR{l|d=f#Rh-^SA0cbO`D#C#T zU(1d_rV~{y&xg}t{m1^+@f}&)au^lbO@dzCWjq3lj?WxGBNPfdUIYV_+EtT?(Z-VC zWSJV9Q$U`9qTs|wvY0n;2Ixs6hzdQnrX(J;HQtlrUOa!g2#m~~y@ywa`eahjB2ZwZ zx}Zg%<^hBT3bMka3(|LB3nUT@>;@PD4WvCq2#hYC>^}jsY6Awc|KvfP7ZTYAu^G5x zEk8YR5J1Bx(m)7Wz3_Cuv#l)LF3*Ha=8BR+zo1k3aJtvF?b%xzZMRUbiIag%JZpY| zwZ}+fRz!c7nw59b%qHNs)kE}K3z^&Bes6&c7tkGW^>jib2Aoa_?*VNaM;hhO28K0; z?PX`U ztmIVv`y*mdNzvvFx{)~#zlWvIXe`?MZCRL~L+kXBu{d?T~{ez#! z^Iqf|CL|Ee6dw00000nFP-% diff --git a/mods/cnc/maps/pressure_cnc.oramap b/mods/cnc/maps/pressure_cnc.oramap index c2393f420e6286144e009365bdf4ecbc38676c2b..ddd121c6cd507b310a8c081b10395c85b1e066a3 100644 GIT binary patch delta 1473 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 delta 1773 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 diff --git a/mods/cnc/maps/sandstorm.oramap b/mods/cnc/maps/sandstorm.oramap index 0ed80d27c3560a315cdbca5c01879a8401a4bc35..4f99d7e8ddb0c6507623383f0847e2d9088ee50a 100644 GIT binary patch delta 1285 zcmV+g1^W7mF7ho7P)h>@6aWAK2mk@8Vo0$Ltr33#sbWZHdK7P(1ONc!7XSbV0001O zVQ?;aVQp-kSjlqRI1oLXU%?N+0XqSnCgX8Vu_tA@k~2jk8P-sw%q5QJ>!%?K0Be?@ zD^;ozN%iYScfVe!`{w+9oKDSBm$oP#-OJidZoVI%>#`l%qIl|--qq!y8J_0_1dHO` zy8M4JPIY-+``LMc-pvl+zug_~9-oQ=G#o3Z1LSrbURF0RMe(t3-rO|T#m#p0=)Sng4Xyj-!L7^G^zh5gLvsSq z^#R=f{yNN`$Ek7}_`YeEZXD|J5xg2t|2AQ z)!ncC($S=DyN6pZ*c^R)|4-G;-QZ50o6{NoQ#t#Ga`tn|i+3&L*gJl?pmljV&*$cK z*kbFZeXu`_ZL{fPln8#sFeFB)gyD5LpMecLW5y6JuMmNTNP2}x97I;hib6x861+yhM31#SXBAS}R< zm<|Am0BBBl2oh6>BS}qI$QpyRO=J6~&XAUp=tQ+4ROVFB^+bS}4U%z0+19O(@MF5me)vXu;0JBL4vMP=N@DwE_a28~=AaPE!=!3#IZAmnMNi=XT z>aTEV3q(?=G}AP}6ei6uzgT~0F&fhRjpypq5D{F^kmhf`mNFe9?rNHQ3pTr+ijZb4 zyak>ux8#HLfc*Lxf~1v~&ulB4#jI(Kke4>qj;=gFWqB9puQonLIhO^|ff(9)0L`XN zg&0+rJm(WNc3gerKWmsthg&}w$oz*4(EI-2nVJd@R@Xmn6F`fkv3`GFsZtFA* zL1B^TVgw>YepQJtl@d|qHmx>BAv|Dm2e?#iW(ls+MrSZZ>w9@<3&tQkkTgw5gUZ@& zLRv^dn|~QGS;AYW%~pS9+l!}5P7~z0HTfdXE0TFdekvf21k7k{zIP(d1e9rcwjudG zpVL(3TNTu^%=ap55Z*z+5#Cuu>L}qltBKLeG!fZai4&1ghCukg&LV(gOhAjX5g`x= zxrOSAz%2H=naC&*H!S!M&{hUtNFwY5eZ`{e#c0Igi8kQ@1_3U+1oc?}u^ezI2;<|NLochPe;7e*;iU v0Rl4s6aWAK2mk@8Vn~yj7BLP1sbWZHdK7P(1ONc!7n9f)ECz8F00000c|}Vm delta 1291 zcmV+m1@!vzEs8D@6aWAK2mlyvTSu`Dtr341Zd*sz+yz9k1ONaH7ytkW0001O zVQ?;aVQp-kSle=(I1qg{U%?0HL3bpcHtRS~v9mSfa-JEiWT|BUbFtU^_1hXog4#>e zl`2;a;6B~z?$Z~zuZBArt1^SZ0E?6H|!SLVm6d!A+x%(9Pe zs>gq3n47*UbN0&eb2Vhyhh_e~AIp4L+R1rX>m~t#rPCgO;r|RaebLYlQ+Zp~- zIs1ol_H)X!4>gd%JAS#KWqux}p?d4q*t&5a?9Y8&UD-m3;8zSoVwBo2yv(No2*Q68 zW(?u-3K3|Cq*sW5G1XguJv{?dZY-RFZdb{%Yf6lyX@R9f*IS ztq0I#+Ej>9amjOfdy-+{Dtw;(n)AaW!LSN_xZoIK$n6!Z5E$xN!h;11KGZ1}xL*Ko zj?3xRwJjK2UqYMidzss4Sz&xru?!21pfCh4q_eo>pQUG5AWUH}4Bi>AIL5Q!fuRV1 z+-;qPAt)?1x)^~7kzZBfOQl3qx!r$O8>0{&Fu4OFh%Qod1wp9AUu$C zn~(;TwcUiYkc2w@GGda1w@{n4O12kImy{;Rb8XT^o>nB&iu_bS90{0F+jQ?loCzpX z^JGKveLkhBNVh7eXPNF*)*!rtfFr!Kh}2QSby5?fmuVuBwGt;HqYQ!YpU!_GfMZNR zi?b0S5D2-3>WaWD_Pd$LC=leW@1GM3;?`6cEieeVM;HtOUd2^JU|!;&5yAG59nZ`2 zcjv!$AC~s=dvq_0|ElY+pZY&tyMOT2Rm1vm{Hbr&NB7Ir)bRVz&&{`HRqvlaj#W3c z;r4G(O928i02BZK00;mWZd(CIlYtg74j67*N7md0M6v_`01X(Ez!oe9i536=008i( BSBd}t diff --git a/mods/cnc/maps/sea_and_cake.oramap b/mods/cnc/maps/sea_and_cake.oramap index 726521a4c1d35c13cd2856958d6600178de71c1e..cb5cf1e361bfbe5d170632d306e766440557caca 100644 GIT binary patch delta 616 zcmV-u0+;=%B8DOkP)h>@6aWAK2mk@8Vo0$LSPp*ysbWYgQs6iP0ssJJ1^@sE0001O zVQ?;aVQp-kmCtgUFc8Mi(NpLFbU;F2n^RNQImK?q_9SN+Z&HmxB9fTYefln@spEir z$P6=Rm;HVF2O*ZKxwEcTp`bHD*6`YD2YzYy1uacU$X1663c3MBmD$s|IshTJZTMwf zK_7o0I4}p>g;n4IMSd(ci}jWe)ZOSmNam8|l92DVHG5xB$t25iya;*JUhj0J!?B?E zcDFmC%&|daZp~{8J`nOysUtXFkehzBhG)QxC45^!8=R`}$<0dD2>o-Q{qxQEC+jL~ zVe4AxBCMI)dZ&Ui;lJ}vl|frm(3ia)>d${2K;zHyz5O+v#6jh=;pT7y3qFe=VJiSw_CliM=b)3{HIq@d20ha4mCZK--#2*#6s%HTeX{Y3Dd zNG}L38P8&b=m~j2q$x`$F(NH!NT!$Z2}`3j$zi<6nM`BxSwZW@H|ot?c9F4E#+ZM} zFb8h(JQhA3X@OrE(hTGIWjxOrkLvSe2nd|1hyr{h17}(MMT;RI@!O7=20Rl4s6aWAK2mk@8Vn~y?5HSq_sbWYgQs6iP0ssJJllBlT289p+0001c C$r>a8 delta 651 zcmV;60(AX`BB>${P)h>@6aWAK2mlyvTSu`DSPp*}Zd*s%>Q{j#0ssJ@1^@sE0001O zVQ?;aVQp-kmCbV6Fc8Pj(NpLFbg<+Pz^A5!oC3)JC1+tTi3ZzpBzaQ$^j+h$#IeO8 zGceY!_xIlq39*#*y*8zEDV-9shPOr;uuGk%G^;W~w#pTd(hW!|tDMf|5eT^hn;BI* zrK^9G{<1(VzCLI}rNVEyZ|o~rLT(%Ps!d9tz!|8Hx>YN{0_M6~Y!>S+A((!n{$PS6 zVo5~EPu*0xO=-j;7AN>2WT&j!t3tU`N+0xoe?pm4jmTVAZw*-2hUB1aO3356rgrsI z$P*Y`-E^xp8~}^R;KvFYXJmnIZdS5HoezHp+K=y*eb%PH=C`JSHbPf(UGAlmmHY3! zms!{PORk3ca|2M@i+pE)Pixr}P6ZdO&PKBhl>2sPzUr)Tn{Z?i;2jb62p%yW`v}nyQI7~i7EXVB zM3_<+O#ATx3%xZ(!+4RfDD=h0DJ^ST%lE3^Ma;s;$4rJf@Z2Z9@aaek{K}AK7|;9h zJYn3c&x0W#aHhfw@R1Ch#r};JLmHywj?4EgP#ce6F-p2i2u({aYg|Tl_Qs0#Hi<0y6*<00008 l02pptN0XHhF%1}QTSwaJSAix1005wq(-18Ns1N`E001O?D8&E( diff --git a/mods/cnc/maps/shellmap/map.yaml b/mods/cnc/maps/shellmap/map.yaml index 69d44dafde..f3fcf81444 100644 --- a/mods/cnc/maps/shellmap/map.yaml +++ b/mods/cnc/maps/shellmap/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: shellmap -Description: CNC Shellmap - Author: Chris Forbes Tileset: WINTER @@ -18,10 +16,6 @@ Visibility: Shellmap Type: Shellmap -Videos: - -Options: - Players: PlayerReference@Nod: Name: Nod diff --git a/mods/cnc/maps/the-hot-box/map.yaml b/mods/cnc/maps/the-hot-box/map.yaml index 14762935d8..7bd16cd088 100644 --- a/mods/cnc/maps/the-hot-box/map.yaml +++ b/mods/cnc/maps/the-hot-box/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: cnc Title: The Hot Box -Description: Drop Zone for CnC - Author: Dan9550 Tileset: DESERT @@ -18,17 +16,6 @@ Visibility: Lobby Type: Drop Zone -Videos: - -Options: - Fog: False - Shroud: False - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - TechLevel: Unrestricted - ConfigurableStartingUnits: False - Players: PlayerReference@Neutral: Name: Neutral @@ -217,6 +204,12 @@ Rules: InitialSpawnDelay: 0 -SpawnMPUnits: -MPStartLocations: + MapBuildRadius: + AllyBuildRadiusLocked: True + AllyBuildRadiusEnabled: False + MapOptions: + TechLevelLocked: True + TechLevel: Unrestricted UNITCRATE: Inherits: ^Crate GiveUnitCrateAction@stnk: @@ -240,6 +233,15 @@ Rules: MustBeDestroyed: RequiredForShortGame: true -AttackMove: + Player: + Shroud: + FogLocked: True + FogEnabled: False + ExploredMapLocked: True + ExploredMapEnabled: True + PlayerResources: + DefaultCashLocked: True + DefaultCash: 5000 Sequences: diff --git a/mods/cnc/maps/the_hourglass.oramap b/mods/cnc/maps/the_hourglass.oramap index 5dc778eaaf39f07612ebb831994f911b133629a7..d3126dfbc372d93fba5b710da39735ebb4417df6 100644 GIT binary patch delta 955 zcmV;s14R7g7RMG2P)h>@6aWAK2mk@8Vo0$LN(X-dsbWZ(WWl~t0{{T=4gdfM0001O zVQ?;aVQp-!m(6mUFc8Pj)l={QI-oDUPEFHhdWfA)>`Bgml|)mF2p>t^r|$xB6A;Vv z(DA`Y=(nrYf3-rJw7RnOF>MnsCgfH>cc#|O#vT$cFLOfnrY&^h?Vq&w-FEe3kv0t> z7hQk*Wb4HHnwGIrem|_xjRqsT?ae(QV0CAH11BRI2ZVgFU3qArN#W@qexG>ZW8ioe7e;Sy4Gc`KW}x{)@cE6K5f$@KyMw; zzIiR1ds`O}z`pKuKf;!m_L!w@TDE^XuhM_KHMUH=$AfY0Z@Qv2{=50H4b6UFnhh&5 zvvZr42YZB`Z>2sO4Z&X4T2~EXoXw20|73jZe>Z*}_b;pPZhefGo~K4G^41PQ3=e+d zH5DkA6@!s$o2R1{4(bM@2D<(r%0RIY1Zfe>>M#TXJHK5!yVyceI%JqU$r==XpdwLk$-z0G|!A%vm=PZQp|h^8)l zDpAFm=z*Ds0LlysfZ#7oIsiifwE%=`K+pr+2|7XnP&+er3NR|s>|mgER-2y=fiF|M zM64|=_ZJA*7Apit2s94P5CY98E|7mXLX?mQfy%)ZGArCifDmY&^AMR8x>-4{IRDcq_fLhsdlDXqUs?bs+2bHHM5%a0SCj=_Dz6+qKErZ@eI04{e1x+Iv_72$m z;NtjqN8|!RtYo%~hr?9Pbylbg_qBZ*<@v&;E^tGH;FhL_!=RlwkTY$*!*c~3>?g5w3t{DDza2f6IH2w3P{iTbK z9rrq|Y&pI%W7no@Ob-8B+nNV6`s@4mby_yXx%mfBO928i02BZK00;#D0jXk0lk^HP d4gslRNSS28zET4K0Pzl!GYc#R#tHxc003;#u6h6f delta 985 zcmV;~119{(7UdQWP)h>@6aWAK2mlyvTSu`DN(X-!Zd*t8Be>LX0{{RX4*&oN0001O zVQ?;aVQp-!mpfD3Fc8OU{3+aKMuqkAD@_Q5NdZR!4AizyfCiss{D53OeO5LXu;uln z$XsDbr{Att|JBOA$m%oG?6NNPW6!%%&%JI`dttVzUsQ$X-RQ1VsekjR{O_i39?Gn3 zJ@0>1wMC=rPMa$AkNuy$E}r)O=TDw@+;@+rN&VBTN~8>|fl{>!%wKOV?>rCuUF+Xq zQN$z(J@2dOt8EKi0>6O7u!vjT>Rgw)+o%4y$@4uJ+1G%anCiJ#ZD*%!m1$GYyByYF zTR+NduNr6_jjbznuNqYq>dQv;U6YmY&(VJ-+ku_80q9@8R_&c>N{IHR>6M*fsuQ!z zvo5Q;zk_F4F^2lE)vo=EzU*}HZhq`T*G|mxVf$uwuCi)tb};g-Qai06{*y+jxXH6MRO z87TTju?a$B5;6>7iwH|r5RQ4_0fq?73yy?u2%jK=5rGkMk&rkLVJ_kXLt?}SP9&-S z641E^E>R5w3%F5p6adw`B9Ie;OTzIqVb(=FbrBGODo(itW*$PQJSYHyzfj=-6b0l0 z5Ul~B1(*|bi~^u`uFVvnM4;J0LF<3K(N7M6Z&R{FtZgg{76>>ND+EIbG!8})0?jDK zkvJlh5D0=kTE!#qIIdg>sbm5XIpd9f5EGV9_L@ra*tR1O$_P zodO_rF$*DCDQO&pF5LX0{{RX50e!OEC%EX H00000FUGtK diff --git a/mods/cnc/maps/thesentinel.oramap b/mods/cnc/maps/thesentinel.oramap index e864931e24b335e1c3a49266f4336237779eff79..fc6daefb45d2c87fc8087090f3aafb69cdae451e 100644 GIT binary patch delta 820 zcmV-41IzsR644S4P)h>@6aWAK2mk@8Vo0$L>;-=TsbWY;Q^Gg80ssJ@3jhEJ0001O zVQ?;aVQp-!md$e8AP~pT;VJY09E8x9b!wVPW;zqQ9ov(fu}l(XBv2&O)P4FcR@}sf zRWChBp#AL!e^|5>-JR)MVXJ6C$XdRRs+Ysk?5n8OH6dGN8(Br$7a47&wo1!}kn7RD zm>z#-)lT+GXlK^QL4uRVZ>#O?nh@~2QNMxY3C&YNzM4_*hbm%}Q6AGgA>=^~YNr}y z4^?z;cDn<(Idp*B82viR!4mSL5eL~16}g(;*78aAQrGg!N{+S{4Scy;i58&u2^fEW z)5D|b8z^DhkJ4EfePi04utM9vlXs%F%IJS8dfqGF|8i`sia*>>V;DL^u{*BGg`c(1 zd(*ZE zV2lJ}FbqknsO^SMyyF>K`^}iW2cQ|TI7IL{!qpI` zUWfz*Kyu5nb6`OksvhHRm6!*hJA|eFvO+_`mx*Oz02Q0%4k#~Enu$<2z$C+AS?k zgpRaR4=0@5aqflSDB$Fd%gd&L9*Hy$T%j}#TyJF4j{9f$OM-vqu{l0B@bBz?z})+T z`6Zjr6OU4KMo*vAG_@QDRl{>-ta?&YI5)rTg&vyI@DET+0Rl4s6aWAK2mk@8Vo0Cx yF80d>000pv000L700000005I52^|dqsbWY;Q^Gg80ssJ@lST@6aWAK2mlyvTSu`D>;-=qZd*tHLJ(@=0ssKw3jhEJ0001O zVQ?;aVQp-!md#SzFc5&x)l=vJbg=v%pGqmrbcTdZl7X}02+)iz8Ow&IPv2Dxg+yBS z(o-a5zx~(BOVM4Mz7<17OG4K2c~rf$OS7+Nt!qNIYG`Cdw@;F8q#l%(4I$s9t$WoC z%IJTJUQkY7WN$|ci&k`0X(}{T^?`Pcs3jp6xqkMh%CG-k9C)0BQ~$AeTlzkJ1iKWG{`a z2)RA_=2kx&aRBEk@?~1B<%8^{uI1O29EX2iH1N-tm1sfF+X3uvU$wnAeFI6@_M>zX zMqiqCCkCO1zlYbNo>K6*SHAw`*bFNAP(STq>jcH_nAI~qYoYh1g_A2STO}d>%U;UP zBFg!ha{ix`Pv;-X-{t<11>e9FGJE%qT-1X(*5bHGqKdxo0)QJ+i%CaZFdj`6ko|wB zk{khEQQJWS#3u;P8DC&X97GBhqeSvXB&SAVmK3OwMIexTCXg&>BL*8BL(+=2o$bV{ zK4l`7rD!NT;8!{0R|)db;@qhim4~=rjoEtu>Jg7ZL^4OX7^2iO5u*T#nlxh}m{Em8S6&`I!C;6M^;y*VHa0LdJX`JGqHjg36e+APgbc_?z7pSd$5 zUV0f#S(;`&d`eh{y!Ppc|}8ADnbBD(XLD4zyMp!46q~#-n1DYe3ySY?ot+Z z2?z4<5XONb{4C-?8Ge3nAUL;yKyPOnoZH15!9zqjM}%&)OD#@>uC%KjPPlSMxo09l z0axy*JRch9l}Piz6Ux%S^F}u9xPO%H8+AQ4$KMTneY+1Zx4tvKWb^spUW#t|q`fn0 zI$Dla)$qGAgL+VtId{J8g|-yU`}Pk|O928i02BZK00;mWZd*r_;0Q4d7;alf|3VOI T;sO8w;*%Z;Ee7}q00000*U)|S diff --git a/mods/cnc/maps/tiberium-oasis-cluster.oramap b/mods/cnc/maps/tiberium-oasis-cluster.oramap index 5b4ed0b2e67a31ade0f519cbf42ef828e806be88..6b8ecbb6ad9cba8c27e12ccf52b5203c1dc233c4 100644 GIT binary patch delta 1937 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 diff --git a/mods/cnc/maps/treasure-island-2.oramap b/mods/cnc/maps/treasure-island-2.oramap index c9d0dca4d0e74b93f02add5579328ce2fdc62ad8..a033ba53c87b70d1c7b18146eb73e2e228e6cd8c 100644 GIT binary patch delta 1493 zcmV;`1uFWnO6o}tP)h>@6aWAK2mk@8Vo0$L*B*ZXsbWZR8Qb1y1polH8~^|a0001O zVQ?;aVQp-!Sxax*Mi4%Szd}D?54*E(othdgP#|^++epro#H0iyQs$$n`|C5L>{{f` zY%e}Zr1qQlb9Gyue{Z`}IcztvDDJDLvF@t=wmob&`(|GhkM(e@wwuSUD*LgkHh=WT zvN?Yg#m8~@tL?U%zHX*N$EvT8#KYa^uSJ10AL@S*r633;O;P;Xj?JOpZi2uU3PcD+ z@ulwTU45*F=k4ZGyW2e@o#!*6ZrbK)toorS{ydh?Ro8Ee50`KE)wimvntk=lT{R9} zdBk5n+?6K;y}ZEZ&p(>}Yug6F&adRHwQ^J#V_II`<4^wW6%vjWVn#!@E(|E6VykC|};c zQGPx5zYcpNeQ}L=G33i9h*u$tkNcsW18DwYF<#FYal7M8@l(4mhq`UH8{LJSCCxdajtbjApgQ^!XEEJ{g|Q}n{J80}MsIxVbanNS|}AT%%56f;UK zSxBKh3z&jZ$ppa5WK)2RLbF~}E){*XgeV*v9(IyS*#$s{oEmOsu|im(*>VDeyR{dZ z&2b>ytz9O@Arj6&nGBz)G7a*H1?z9Eh)e~SV*!MrzzWN^10uI0)=wT_2)%!ml(`aR zXNX=hal*3R&@Sz2&I!ktC`DFIB_R_eI#4bIVOftDDg#5v)J`)y-6bs8xY9AL=a{j4 zf0hXRNG1DcyO&w=cM(OB@9*on+b+3Efa4$;_(YOLE%HQ%l*&0D8 z!vToC6|7L6J3j}vSsV2_l9uP^*w$SQzm*z^oOEqgKM7SE6Z zlth`>xCoJ)&QNVWG9-UBGsesm6cs&X@_j1;y{O|p#VQ}s-=}kbE`Kyh&`QQ9(a;!d zkq$VFr7^)}hAtc(2pdcTh34WH9hVL{0e4m|AY-7$W>^er3xFpoAqJ$DtVE2tuo@a( z4Wb2rUTh32fFl5w*IP+XEK1A7S^)yNSpl$sNNk`!15niNh5&z7X{E@05*!Pl#slMW zEHrsT0j%egq3-h3VnbRX=9;*)lQoNCvI02jiX!F^RAa(%GlQVkHk{S?IH#^=TrM%F ztC^@X5eS64y%UOc-h4B&Zm*tiuZp~w3ArE#YEwsq=Y=As3fyiz&w}cKK8qlFAWk}- zv#ck^5W6f-tI2SWyM?p2oBce zu0y3tn-SX88Xf@zB6m}y<~z0ZR&Rs_9zpEfSfDbuv|5s>9SEt4htqiYUiI6exF3)6 z=R@^0PJi}H-@ml~RLAQVU#s%mHkY63%d6Y5ulM+Q*A5@`xB9|wdjHs!O@DlS{0UG? v0Rl4s6aWAK2mk@8Vn~y~Bry&FsbWZR8Qb1y1polH9FzYfECy*L00000wGpq{ delta 1564 zcmV+%2IKkaNwG=}P)h>@6aWAK2mlyvTSu`D*B*ZuZd*rJ4|s8}1pojR9RL6b0001O zVQ?;aVQp-!S<7zQMigC#U%?L;6!U&))x>Rq0k5Y)^AL^t<{#juU*TECOzPg`kK-G`!H~489 zj&hMtD*mLj?%$% z#xo-*l%P=7F>NW7eMZR@1X5jl3gUlIh?Y!}Ts#W#s$hgbspA5ZBua3UQ*g|X80B(@ zTE&bZnP47uk||oO6f;7sS#YKt2}nUHcm|+lGC9BmrbsUen~MZtuLB8i2tXC$MED$F zB(pRipdxuvX~_`|5LBcNQY@a!WOABBTzoAv9<)#jK{#6ob*T}A56qI`VUmAT!mI$w zm(;Keiw(jsMV1qZxLY}<$Q+l5yOk}(xD1FhKqgIRD$j#Fu^|1e1d^%JmRLx{P|`3% zw*w@%1Jq9%pb@0s=9UwJmz~XP0aUhGW zcDYDN2ikMV*GSaT4M2xHU7cf+RKkcHpn0Lz8je&>s8WtDYX*tG#Dmn^D5N4-ST^Mpr$T>L9JZUJ)5s?%Vw4DqBFa>`djKevQcC`}m zT|&@y^#}`IVxf?%2nDSzlG#p_?1~I(phE$WVq?2L_=3_l*>%$^j3^WvyI4tXr);_u z*d>_O9K2(e1UQiZn@UjX^iC!n*5%BpLZ^2+0oI<@q0l9q$sMOfLFwR-9t_jR>t6S= z;a-*=q;Ywh*B)+J_K1C`Y zz~9HybZWl#S=xoRw^Ka$Hr#4 z8q`(*hg3ocNX1Es2y;O-)U+B%3y^BHF>C-90T^0u!5y+FtrKel@aSeGB?$<~2I>j` zf$eSpAe9yZ-6y3b0oZt;ZHa|KZzv?`Iiaz;Jh9r4Hi)GruI*&>s+ep57Q3PdB?Q)( zVB9Pqu(b_lH9CLJv8x$dN(}63Ca6LLO2pmHGC?|TxtZCvS4X#3fnLn`Qjkk*QwM~j zg+itZ*lr!o0_%aUh(LNEOgfITtV6~Svo24Y$q1Q&UFo9FA$JWh1JnDnbI9ccFWhFh zkY^F>N3;&XB7k+p+yD>`#+I%_xyYLl*wttnArVCBrbuQicWT?MUNa+U1hR8Ofhye6 zDvqYMN2IFmj_1SYnEtxEJ$K9JUHo!RfA*yB_rtf?y?*g2HmA!!efL9qd3AlB+C6;U z40HR~UihW=AIGMjx|hd)0Z>Z;0y6*<0000802pptN0WIZF%B4RTSr$9cyX@<000&p Olei=-2CyUm0002UB;JGo diff --git a/mods/cnc/maps/two-ponds.oramap b/mods/cnc/maps/two-ponds.oramap index f2ef89f4e8abbb1b32e9c4642d91295fa4800225..12ba2590719b84dc853bb06009faee1e164c6086 100644 GIT binary patch delta 1076 zcmV-41k3xeIh{EUP)h>@6aWAK2mk@8Vo0$LDj0tOsbWY~;8zdG0{{S&5dZ)P0001O zVQ?;aVQp-!SIu(UHV{6CPr(Pkf%qqQYU((r*vZJ6{wW*|&#=<-8BjN&f1Ld|W!aame)hvyW$%`!o&W9!-#7lZdp}P@-NBo8_w@-t zKPO=P`Kcejg`tDp?}yn(i_qVM)1jW~e)@lJa#uG1`*Ccyi{H)N)E2L6FJl-+!}@T^ z#oI-8b$<*e7~b~&)OrZ?X7K(z5-anomHDq&d6|D*`Ni&kgMVFm36s5SDtq5d;gbBz z12!*GN5{4;3f-F+6 zmPtAeDAb{tgG9tIde9^ws;wy2K?4z__DC54VskvmGL&i?G^m@Qx1^B^piBsfG~0hHS&;(R zEpgz17EpO%dR-c}NZesEGA;SFRM7x+VS1fbEtw)?P<*M^^}VEBf(a$idjQIVlw2jT zQ=!XLBx-?dVo5+WBJ4$i4~3j=sM zX`R&^0oVjUAvc*)OptPeBuRfI8y&UX5fDu~P$iPpRBxvdqLpESJQms_0GDVgbcvP{ zeMM@A08FZsu-b!mkQ6{uAUveDWCX$kloEO14AMzyn@Fp%=n1tXz#`RcQ$4Unsym(^ zvbqgNvXnZ~76}?Y6fBumixgk%@6aWAK2mlyvTSu`DDj0tlZd*s=7BYj}0{{TG5dZ)P0001O zVQ?;aVQp-!Sj%$TIt*P`U!f1+LVQbF-QF}^HEGB3q-$AbTTNxr(W7bl^#!HoCb9tD zO=mJ=iNOH~oI?=yO?7_n`%^WRX`UoI_b@fR8*couOzW;rl6^C_u1xojKKJXcg-*Gz`0k{gH$!u1+Gczz(+~b|cmhvPXFy%~?qPDn7)*}N4`q^koI{7FPi^(&dU$%X zJnh^U*SoHE|J=H1?5h_3^X9fXfuBDM@cw`Cu^T@7zJ&z${p5m$@2>pmP>oeL{Ny|2HoYpOLMs$S;)$?>T7?wE5k`dAWqmd0EnhT%ynHeZ8ej$ zGJv_$c{o>(-3lZOQ-TCpM6Z@fIuCykY|S@mkZff5rgFnHDM1bt4rgeCVx5R)hK$1t z6q5@k$m9jb;{b--o5=7uh8dC>p|(ZNiwKoMLy^U06QNlYW~&vrQglWF>>_!7Nqhv7 zZw0I*lQf_RfMNq68-vV3>sg;d#Ul|U(hNfcO#(u<71=szAcE{YQU-w791nj|hEi>l zhVEwQEotNe$RmwJnr)S=hym=DIEX+uP&qTbmWItDcbE)JOMcm^Xn>lTUYAu%rpO!= zU-Y`Zmvj+fLJ9O90C|utS4r$t=scE*S|FQTA`p!<_AJ7OLQXfRHZmjVZNJf+3GyIm zfdCA%BtR9&rLUPKORKYO4sd_A={~DD0}B?QX~}}bkuf7Kr|gd@6aWAK2mk@8Vo0$Lo+5t%sbWa2#zqIQ2mk;xH2?qz0001O zVQ?;aVQp-!Tgh%5ITAfPzd|3tLq>3~)3^=yspVs^nVSk}xg*$Ra!|?@^Fo?^lf`CE9Ixf9HGAJdf(#T>MjwX%; zLl|aOS}queVZ1fL77VBY=Ztj)<6(atC?>+z(Y=8dwWD!0ctHDvXne5`OO#$7N9rJg zNn8-3>C5OlfMilJCyPH{s0Z*S7F)8N0o>nGQ83dCa9s(hp4!i6=p8yY65=dj?ASv3 zf^ulY2m5qtq2ppHK7ivFjWqbUDw@b9eocP%JHe(F3?D!14m{T|j?L!4~m6 z>l>Xq2+`~*0DfVEJ|6+cvr(0lASI24iXYjG?1&ZMM#S+%f-e999D{QsVK&?t`mS9P zfU^j|H-Oo06uPlM#WkEq49%$;&ILe%Jg-}dU{0#VKLM`cymm4!1BP>Ke6fQ^EbXM^ zl@j3z*-|pD9NIIYR!eBH}m$QddGOaT|Y^E#>YZR00D4 zk|wo0FNXU@)SaNH7%n>C%oJ<7jedTr1v*jwlf)Z*ozGe;T=F2)>C!~`lZMqWDbWyII zY>G%rq!VRIK%HzlarS>1$gARerGv^#A-26TREJ`MniW$#J2TR`SM_9zG*6~zCnGsn zhV2??*&|gXn^@0_^jeZ2E76dVUMn@jRz`ZQ*iaccBN9d(Noj;)IXO+jG!o!OlD1Q- zh_&D9d6I-qWidvJB+9w`=usRpgv=ZB72<(3Bm0Va6eOrKo1lLPWR^-%%OZ^l+g0rv zY0OBG5FxrP8W9D@(43tJ$Oq9k-bD;_PSGjjL1YnEi87y8BN7tn!D*BbLH(A`jSEvi zoGWm96vXgB@x4}E0^p6Ye;|b(|ocpQQi7FHuhV|G3t(pDOLnx@!aIamA>lQFV{U;D8a`@xfW^G zT%+2B@#+#@?VcBgSsmiZ1QDv!I)uljR)j^UxF$h6D87HQHixt@Wz+{$)j~{J3Z^DP z7qMnc)r2t9Qv7NhxeT>QtWytps73dxCx|P{qtVwq3`CNQNmWnYf^AqGOvpQ=7YVTu z;-NOdwL$_=`J%okARm!kiHlUqnS6r$mJRE+kPy$LoG`7aDt29+>q!FAxQPr_8H|LJ zZ;rl@WL3rp5ZpW;_4As`W(jJ^hia=OeZ5@AM4_C8Qhi-ngo(m0{~x(2sx0Ia5MdaGRAjr-ftdMTh&7332jokof6WzSvk5IBm*x8IW-}bp-$a$lh|Jdj43T*7Ar%yXyzFw#@WdnZwlg>-hj@f8o_HOHcto;$Xzm>G2$`Hr_7#D2 zaGrFORV?f zB+6%1)fW(iQ0$JitK@}t1Fk330hkxot=oSzgeE=+$?Y?xtGBF>CeBB_1HlXJ)+aD( zy5fa)1Ny|;W$?mgEXqG_Ssdb<*YRRj{_(zVxqj2GUm%f}mAqsdx`ZLAk7*djTanznz3 zEpmO2wc%rn#A}x3xTdz1M(a1nT>aJ}SCD+uUa&(_v=k>bpF?JB-`q7|2L&u?7s?Jv z(IMzX6ozh`Ick!^N~GED)xV%J0)n6>M=w-b_gzYJ8=j$CXHw48bsa*Khpe~A*h6JG z8CT=UBdD<2I3 asbWa2#zqIQ2mk;xljAEb26!s~0001uh;@|! delta 2368 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 delta 2798 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 AQUCw| From 3635888dd9fea8b3cef18ec291e0de879b3cd997 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 2 Mar 2016 21:15:10 +0000 Subject: [PATCH 20/21] Upgrade TS maps to format 9. --- mods/ts/maps/arivruns/map.yaml | 8 +------- mods/ts/maps/cliffsin/map.yaml | 8 +------- mods/ts/maps/gdi4a/map.yaml | 8 +------- mods/ts/maps/karasjok/map.yaml | 8 +------- mods/ts/maps/rivrrad4/map.yaml | 8 +------- mods/ts/maps/springs/map.yaml | 8 +------- mods/ts/maps/t_garden/map.yaml | 8 +------- mods/ts/maps/tactical/map.yaml | 8 +------- mods/ts/maps/terrace/map.yaml | 8 +------- mods/ts/maps/tread_l/map.yaml | 8 +------- 10 files changed, 10 insertions(+), 70 deletions(-) diff --git a/mods/ts/maps/arivruns/map.yaml b/mods/ts/maps/arivruns/map.yaml index 9dbd68134c..fc0c150619 100644 --- a/mods/ts/maps/arivruns/map.yaml +++ b/mods/ts/maps/arivruns/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: A River Runs Near It -Description: Describe your map here - Author: Westwood Studios Tileset: TEMPERATE @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/cliffsin/map.yaml b/mods/ts/maps/cliffsin/map.yaml index 7ef22fc19d..3410b3ed61 100644 --- a/mods/ts/maps/cliffsin/map.yaml +++ b/mods/ts/maps/cliffsin/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Cliffs of Insanity -Description: Describe your map here - Author: Westwood Studios Tileset: TEMPERATE @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/gdi4a/map.yaml b/mods/ts/maps/gdi4a/map.yaml index ab84663dc5..563198a288 100644 --- a/mods/ts/maps/gdi4a/map.yaml +++ b/mods/ts/maps/gdi4a/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Defend Crash Site -Description: Whatever is contained in this craft, it is apparent that Nod doesn't want GDI to have it. - Author: Westwood Studios Tileset: TEMPERATE @@ -18,10 +16,6 @@ Visibility: Shellmap Type: Shellmap -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/karasjok/map.yaml b/mods/ts/maps/karasjok/map.yaml index f0d3d0b1e2..7ab542ddc9 100644 --- a/mods/ts/maps/karasjok/map.yaml +++ b/mods/ts/maps/karasjok/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Town of Karasjok -Description: Dark 2-5 player map with a decent amount of Tiberium. - Author: Crash Tileset: SNOW @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/rivrrad4/map.yaml b/mods/ts/maps/rivrrad4/map.yaml index 654cfc0b2e..c0d9324730 100644 --- a/mods/ts/maps/rivrrad4/map.yaml +++ b/mods/ts/maps/rivrrad4/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: River Raid -Description: Describe your map here - Author: Westwood Studios Tileset: TEMPERATE @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/springs/map.yaml b/mods/ts/maps/springs/map.yaml index a8202a574d..351ea171fc 100644 --- a/mods/ts/maps/springs/map.yaml +++ b/mods/ts/maps/springs/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Hot Springs -Description: Describe your map here - Author: Westwood Studios Tileset: SNOW @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/t_garden/map.yaml b/mods/ts/maps/t_garden/map.yaml index d9b39c7adc..b93aec77d8 100644 --- a/mods/ts/maps/t_garden/map.yaml +++ b/mods/ts/maps/t_garden/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Tiberium Garden Redux -Description: Large two-to-five player skirmish map remake of Tiberium Garden from Tiberian Dawn featuring abandoned structures from the First Tiberium War. - Author: Westwood Studios Tileset: TEMPERATE @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/tactical/map.yaml b/mods/ts/maps/tactical/map.yaml index ea83ed6ada..5aeaad64f1 100644 --- a/mods/ts/maps/tactical/map.yaml +++ b/mods/ts/maps/tactical/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Tactical -Description: Describe your map here - Author: Westwood Studios Tileset: TEMPERATE @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/terrace/map.yaml b/mods/ts/maps/terrace/map.yaml index 1aa062f527..77bf857cf7 100644 --- a/mods/ts/maps/terrace/map.yaml +++ b/mods/ts/maps/terrace/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Terraces -Description: Describe your map here - Author: Westwood Studios Tileset: TEMPERATE @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral diff --git a/mods/ts/maps/tread_l/map.yaml b/mods/ts/maps/tread_l/map.yaml index f4d73670a8..7e1b45a6c9 100644 --- a/mods/ts/maps/tread_l/map.yaml +++ b/mods/ts/maps/tread_l/map.yaml @@ -1,11 +1,9 @@ -MapFormat: 8 +MapFormat: 9 RequiresMod: ts Title: Tread Lightly -Description: Describe your map here - Author: Westwood Studios Tileset: SNOW @@ -18,10 +16,6 @@ Visibility: Lobby Type: Conquest -Videos: - -Options: - Players: PlayerReference@Neutral: Name: Neutral From 61e17b8c86e1c344cb1542d32533e6358a69633d Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 3 Mar 2016 20:34:49 +0000 Subject: [PATCH 21/21] Fix option reporting when joining a server. --- .../ServerTraits/LobbyCommands.cs | 52 ++++++++++--------- .../ServerTraits/LobbySettingsNotification.cs | 1 + 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index d8d1c12a14..5089f8b7ca 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -1013,6 +1013,33 @@ namespace OpenRA.Mods.Common.Server }; } + public static void LoadMapSettings(Session.Global gs, Map map) + { + var devMode = map.Rules.Actors["player"].TraitInfo(); + gs.AllowCheats = devMode.Enabled; + + var crateSpawner = map.Rules.Actors["world"].TraitInfoOrDefault(); + gs.Crates = crateSpawner != null && crateSpawner.Enabled; + + var shroud = map.Rules.Actors["player"].TraitInfo(); + gs.Fog = shroud.FogEnabled; + gs.Shroud = !shroud.ExploredMapEnabled; + + var resources = map.Rules.Actors["player"].TraitInfo(); + gs.StartingCash = resources.DefaultCash; + + var startingUnits = map.Rules.Actors["world"].TraitInfoOrDefault(); + gs.StartingUnitsClass = startingUnits == null ? "none" : startingUnits.StartingUnitsClass; + + var mapBuildRadius = map.Rules.Actors["world"].TraitInfoOrDefault(); + gs.AllyBuildRadius = mapBuildRadius != null && mapBuildRadius.AllyBuildRadiusEnabled; + + var mapOptions = map.Rules.Actors["world"].TraitInfo(); + gs.ShortGame = mapOptions.ShortGameEnabled; + gs.TechLevel = mapOptions.TechLevel; + gs.Difficulty = mapOptions.Difficulty ?? mapOptions.Difficulties.FirstOrDefault(); + } + static void LoadMap(S server) { server.Map = new Map(server.ModData, server.ModData.MapCache[server.LobbyInfo.GlobalSettings.Map].Package); @@ -1023,30 +1050,7 @@ namespace OpenRA.Mods.Common.Server .Where(s => s != null) .ToDictionary(s => s.PlayerReference, s => s); - var gs = server.LobbyInfo.GlobalSettings; - var devMode = server.Map.Rules.Actors["player"].TraitInfo(); - gs.AllowCheats = devMode.Enabled; - - var crateSpawner = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); - gs.Crates = crateSpawner != null && crateSpawner.Enabled; - - var shroud = server.Map.Rules.Actors["player"].TraitInfo(); - gs.Fog = shroud.FogEnabled; - gs.Shroud = !shroud.ExploredMapEnabled; - - var resources = server.Map.Rules.Actors["player"].TraitInfo(); - gs.StartingCash = resources.DefaultCash; - - var startingUnits = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); - gs.StartingUnitsClass = startingUnits == null ? "none" : startingUnits.StartingUnitsClass; - - var mapBuildRadius = server.Map.Rules.Actors["world"].TraitInfoOrDefault(); - gs.AllyBuildRadius = mapBuildRadius != null && mapBuildRadius.AllyBuildRadiusEnabled; - - var mapOptions = server.Map.Rules.Actors["world"].TraitInfo(); - gs.ShortGame = mapOptions.ShortGameEnabled; - gs.TechLevel = mapOptions.TechLevel; - gs.Difficulty = mapOptions.Difficulty ?? mapOptions.Difficulties.FirstOrDefault(); + LoadMapSettings(server.LobbyInfo.GlobalSettings, server.Map); } static HSLColor SanitizePlayerColor(S server, HSLColor askedColor, int playerIndex, Connection connectionToEcho = null) diff --git a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs index 342623f468..963ffcd99c 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs @@ -24,6 +24,7 @@ namespace OpenRA.Mods.Common.Server return; var defaults = new Session.Global(); + LobbyCommands.LoadMapSettings(defaults, server.Map); if (server.LobbyInfo.GlobalSettings.AllowCheats != defaults.AllowCheats) server.SendOrderTo(conn, "Message", "Allow Cheats: {0}".F(server.LobbyInfo.GlobalSettings.AllowCheats));