diff --git a/OpenRA.Mods.RA/Missions/Allies01Script.cs b/OpenRA.Mods.RA/Missions/Allies01Script.cs deleted file mode 100644 index 868e46c3e5..0000000000 --- a/OpenRA.Mods.RA/Missions/Allies01Script.cs +++ /dev/null @@ -1,322 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; -using OpenRA.Mods.RA.Move; -using OpenRA.Scripting; -using OpenRA.Traits; - -namespace OpenRA.Mods.RA.Missions -{ - class Allies01ScriptInfo : TraitInfo, Requires { } - - class Allies01Script : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return new[] { findEinstein, extractEinstein }; } } - - Objective findEinstein = new Objective(ObjectiveType.Primary, FindEinsteinText, ObjectiveStatus.InProgress); - Objective extractEinstein = new Objective(ObjectiveType.Primary, ExtractEinsteinText, ObjectiveStatus.Inactive); - - const string FindEinsteinText = "Find Einstein. Tanya and Einstein must survive."; - const string ExtractEinsteinText = "Wait for the helicopter and extract Einstein. Tanya and Einstein must survive."; - - Player allies; - Player soviets; - - Actor insertionLZ; - Actor extractionLZ; - Actor lab; - Actor insertionLZEntryPoint; - Actor extractionLZEntryPoint; - Actor chinookExitPoint; - Actor shipSpawnPoint; - Actor shipMovePoint; - Actor einstein; - Actor einsteinChinook; - Actor tanya; - Actor attackEntryPoint1; - Actor attackEntryPoint2; - - World world; - - static readonly string[] Taunts = { "laugh1.aud", "lefty1.aud", "cmon1.aud", "gotit1.aud" }; - - static readonly string[] Ships = { "ca", "ca", "ca", "ca" }; - static readonly string[] Patrol = { "e1", "dog", "e1" }; - - static readonly string[] AttackWave = { "e1", "e1", "e1", "e1", "e2", "e2", "e2", "e2", "dog" }; - static readonly string[] LastAttackWaveAddition = { "3tnk", "e1", "e1", "e1", "e1", "e2", "e2", "e2", "e2" }; - int currentAttackWaveFrameNumber; - int currentAttackWave; - const int EinsteinChinookAttackWave = 5; - - const int LabClearRange = 5; - const string EinsteinName = "einstein"; - const string TanyaName = "e7"; - const string SignalFlareName = "flare"; - - string difficulty; - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, allies); - } - - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, allies); - } - - public void Tick(Actor self) - { - if (allies.WinState != WinState.Undefined) return; - - if (world.FrameNumber % 1000 == 0) - Sound.Play(Taunts[world.SharedRandom.Next(Taunts.Length)]); - - if (findEinstein.Status == ObjectiveStatus.InProgress) - { - if (AlliesControlLab()) - LabSecured(); - - if (lab.IsDead()) - { - findEinstein.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("Einstein was killed."); - } - } - if (extractEinstein.Status == ObjectiveStatus.InProgress) - { - if (difficulty != "Easy") - { - ManageSovietUnits(); - if (world.FrameNumber >= currentAttackWaveFrameNumber + 400) - { - SpawnSovietUnits(AttackWave); - currentAttackWave++; - currentAttackWaveFrameNumber = world.FrameNumber; - - if (currentAttackWave >= EinsteinChinookAttackWave) - SpawnSovietUnits(LastAttackWaveAddition); - - if (currentAttackWave == EinsteinChinookAttackWave) - ExtractEinsteinAtLZ(); - } - } - if (einsteinChinook != null) - { - if (einsteinChinook.IsDead()) - { - extractEinstein.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The extraction helicopter was destroyed."); - } - else if (!world.Map.IsInMap(einsteinChinook.Location) && einsteinChinook.Trait().Passengers.Contains(einstein)) - { - extractEinstein.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - MissionAccomplished("Einstein was rescued"); - } - } - } - - if (tanya != null && tanya.IsDead()) - MissionFailed("Tanya was killed."); - - else if (einstein != null && einstein.IsDead()) - MissionFailed("Einstein was killed."); - - MissionUtils.CapOre(soviets); - } - - void LabSecured() - { - SpawnSignalFlare(); - Sound.Play("flaren1.aud"); - SpawnEinsteinAtLab(); - SendShips(); - lab.QueueActivity(new Transform(lab, "stek") { SkipMakeAnims = true }); - - findEinstein.Status = ObjectiveStatus.Completed; - extractEinstein.Status = ObjectiveStatus.InProgress; - OnObjectivesUpdated(true); - - currentAttackWaveFrameNumber = world.FrameNumber; - - if (difficulty == "Easy") - ExtractEinsteinAtLZ(); - else - { - var infantry = MissionUtils.FindQueues(world, soviets, "Infantry").FirstOrDefault(); - if (infantry != null) - infantry.ResolveOrder(infantry.self, Order.StartProduction(infantry.self, "e1", 5)); - } - } - - void SpawnSignalFlare() - { - world.CreateActor(SignalFlareName, new TypeDictionary { new OwnerInit(allies), new LocationInit(extractionLZ.Location) }); - } - - void SpawnSovietUnits(IEnumerable wave) - { - foreach (var unit in wave) - { - var spawnActor = world.SharedRandom.Next(2) == 0 ? attackEntryPoint1 : attackEntryPoint2; - world.CreateActor(unit, new TypeDictionary { new OwnerInit(soviets), new LocationInit(spawnActor.Location) }); - } - } - - void ManageSovietUnits() - { - foreach (var unit in world.Actors.Where(u => u.IsInWorld && u.Owner == soviets && !u.IsDead() && u.IsIdle - && u.HasTrait() && u.HasTrait())) - { - Activity innerActivity; - if (einstein != null) - { - if (einstein.IsInWorld) - innerActivity = new Move.Move(Target.FromActor(einstein), WRange.FromCells(3)); - - else - { - var container = world.UnitContaining(einstein); - - if (container != null && !container.HasTrait() && container.HasTrait()) - innerActivity = new Move.Move(Target.FromActor(container), WRange.FromCells(3)); - - else - innerActivity = new Move.Move(extractionLZ.Location, 3); - } - unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, innerActivity)); - } - } - } - - void SendPatrol() - { - for (int i = 0; i < Patrol.Length; i++) - world.CreateActor(Patrol[i], new TypeDictionary - { - new OwnerInit(soviets), - new LocationInit(insertionLZ.Location + new CVec(-1 + i, 10 + i * 2)) - }) - .QueueActivity(new Move.Move(insertionLZ.Location)); - } - - bool AlliesControlLab() - { - return MissionUtils.AreaSecuredWithUnits(world, allies, lab.CenterPosition, WRange.FromCells(LabClearRange)); - } - - void SpawnEinsteinAtLab() - { - einstein = world.CreateActor(EinsteinName, new TypeDictionary { new OwnerInit(allies), new LocationInit(lab.Location) }); - einstein.QueueActivity(new Move.Move(lab.Location - new CVec(0, 2))); - } - - void SendShips() - { - for (int i = 0; i < Ships.Length; i++) - world.CreateActor(Ships[i], new TypeDictionary - { - new OwnerInit(allies), - new LocationInit(shipSpawnPoint.Location + new CVec(i * 2, 0)) - }) - .QueueActivity(new Move.Move(shipMovePoint.Location + new CVec(i * 4, 0))); - } - - void ExtractEinsteinAtLZ() - { - einsteinChinook = MissionUtils.ExtractUnitWithChinook( - world, - allies, - einstein, - extractionLZEntryPoint.Location, - extractionLZ.Location, - chinookExitPoint.Location); - } - - void InsertTanyaAtLZ() - { - tanya = MissionUtils.InsertUnitWithChinook( - world, - allies, - TanyaName, - insertionLZEntryPoint.Location, - insertionLZ.Location, - chinookExitPoint.Location, - unit => - { - Sound.Play("laugh1.aud"); - unit.QueueActivity(new Move.Move(insertionLZ.Location - new CVec(1, 0))); - }).Second; - } - - void SetAlliedUnitsToDefensiveStance() - { - foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.Owner == allies && !a.IsDead() && a.HasTrait())) - actor.Trait().Stance = UnitStance.Defend; - } - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - - difficulty = w.LobbyInfo.GlobalSettings.Difficulty; - Game.Debug("{0} difficulty selected".F(difficulty)); - - allies = w.Players.Single(p => p.InternalName == "Allies"); - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - - allies.PlayerActor.Trait().Cash = 0; - - var actors = w.WorldActor.Trait().Actors; - insertionLZ = actors["InsertionLZ"]; - extractionLZ = actors["ExtractionLZ"]; - lab = actors["Lab"]; - insertionLZEntryPoint = actors["InsertionLZEntryPoint"]; - chinookExitPoint = actors["ChinookExitPoint"]; - extractionLZEntryPoint = actors["ExtractionLZEntryPoint"]; - shipSpawnPoint = actors["ShipSpawnPoint"]; - shipMovePoint = actors["ShipMovePoint"]; - attackEntryPoint1 = actors["SovietAttackEntryPoint1"]; - attackEntryPoint2 = actors["SovietAttackEntryPoint2"]; - SetAlliedUnitsToDefensiveStance(); - - wr.Viewport.Center(insertionLZ.CenterPosition); - - if (w.LobbyInfo.IsSinglePlayer) - Media.PlayFMVFullscreen(w, "ally1.vqa", () => - Media.PlayFMVFullscreen(w, "landing.vqa", () => - { - InsertTanyaAtLZ(); - SendPatrol(); - MissionUtils.PlayMissionMusic(); - }) - ); - else - { - InsertTanyaAtLZ(); - SendPatrol(); - MissionUtils.PlayMissionMusic(); - } - } - } -} diff --git a/OpenRA.Mods.RA/Missions/Allies02Script.cs b/OpenRA.Mods.RA/Missions/Allies02Script.cs deleted file mode 100644 index ee017320c4..0000000000 --- a/OpenRA.Mods.RA/Missions/Allies02Script.cs +++ /dev/null @@ -1,478 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Effects; -using OpenRA.Mods.RA.Move; -using OpenRA.Traits; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA.Missions -{ - class Allies02ScriptInfo : TraitInfo, Requires { } - - class Allies02Script : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return new[] { findEinstein, destroySamSites, extractEinstein, maintainPresence, fewDeaths }; } } - - Objective findEinstein = new Objective(ObjectiveType.Primary, FindEinsteinText, ObjectiveStatus.InProgress); - Objective destroySamSites = new Objective(ObjectiveType.Primary, DestroySamSitesText, ObjectiveStatus.InProgress); - Objective extractEinstein = new Objective(ObjectiveType.Primary, ExtractEinsteinText, ObjectiveStatus.Inactive); - Objective maintainPresence = new Objective(ObjectiveType.Primary, MaintainPresenceText, ObjectiveStatus.InProgress); - Objective fewDeaths = new Objective(ObjectiveType.Secondary, "", ObjectiveStatus.InProgress); - - const string FindEinsteinText = "Find Einstein's crashed helicopter. Tanya must survive."; - const string DestroySamSitesText = "Destroy the SAM sites. Tanya must survive."; - const string ExtractEinsteinText = "Wait for the helicopter and extract Einstein. Tanya and Einstein must survive."; - const string MaintainPresenceText = "Maintain an Allied presence in the area. Reinforcements will arrive soon."; - - const string FewDeathsTemplate = "Lose fewer than {0}/{1} units."; - - const int DeathsThreshold = 200; - - Actor sam1; - Actor sam2; - Actor sam3; - Actor sam4; - Actor[] sams; - Actor tanya; - Actor einstein; - Actor engineer; - - Actor chinookHusk; - Actor allies2BasePoint; - Actor reinforcementsEntryPoint; - Actor extractionLZEntryPoint; - Actor extractionLZ; - Actor badgerEntryPoint1; - Actor badgerEntryPoint2; - Actor badgerDropPoint1; - Actor badgerDropPoint2; - Actor badgerDropPoint3; - Actor parabombPoint1; - Actor parabombPoint2; - Actor sovietRallyPoint; - Actor townPoint; - Actor sovietTownAttackPoint1; - Actor sovietTownAttackPoint2; - Actor yakEntryPoint; - Actor yakAttackPoint; - Actor yak; - - Actor einsteinChinook; - - World world; - Player allies; - Player allies1; - Player allies2; - Player soviets; - - Actor sovietBarracks; - Actor sovietWarFactory; - - CountdownTimer reinforcementsTimer; - CountdownTimerWidget reinforcementsTimerWidget; - - CPos alliedBaseTopLeft; - CPos alliedBaseBottomRight; - - const string InfantryQueueName = "Infantry"; - const string VehicleQueueName = "Vehicle"; - static readonly string[] SovietInfantry = { "e1", "e2", "e3" }; - static readonly string[] SovietVehicles1 = { "3tnk" }; - static readonly string[] SovietVehicles2 = { "3tnk", "v2rl" }; - const int SovietVehiclesUpgradeTicks = 1500 * 4; - const int SovietGroupSize = 5; - - const int ReinforcementsTicks = 1500 * 16; - static readonly string[] Reinforcements = - { - "2tnk", "2tnk", "2tnk", "2tnk", "2tnk", "2tnk", - "1tnk", "1tnk", - "jeep", - "e1", "e1", "e1", "e1", - "e3", "e3", - "mcv", - "truk", "truk", "truk", "truk", "truk", "truk" - }; - int currentReinforcement = -1; - - const int ParabombTicks = 750; - - const int ParatroopersTicks = 1500 * 5; - static readonly string[] Badger1Passengers = { "e1", "e1", "e1", "e2", "3tnk" }; - static readonly string[] Badger2Passengers = { "e1", "e1", "e1", "e2", "e2" }; - static readonly string[] Badger3Passengers = { "e1", "e1", "e1", "e2", "e2" }; - - const string SignalFlareName = "flare"; - const string YakName = "yak"; - - const int AlliedTownTransferRange = 15; - const int SovietTownAttackGroupRange = 5; - const int SovietTownMoveNearEnough = 3; - - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, allies1, allies2); - if (reinforcementsTimer != null) - reinforcementsTimerWidget.Visible = false; - } - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, allies1, allies2); - } - - public void Tick(Actor self) - { - if (allies1.WinState != WinState.Undefined) return; - - if (world.FrameNumber % 50 == 1 && chinookHusk.IsInWorld) - world.Add(new Smoke(world, chinookHusk.CenterPosition, "smoke_m")); - - if (world.FrameNumber == 1) - { - InitializeSovietFactories(); - StartReinforcementsTimer(); - } - - reinforcementsTimer.Tick(); - - if (world.FrameNumber == ParatroopersTicks) - { - MissionUtils.Paradrop(world, soviets, Badger1Passengers, badgerEntryPoint1.Location, badgerDropPoint1.Location); - MissionUtils.Paradrop(world, soviets, Badger2Passengers, badgerEntryPoint1.Location + new CVec(3, 0), badgerDropPoint2.Location); - MissionUtils.Paradrop(world, soviets, Badger3Passengers, badgerEntryPoint1.Location + new CVec(6, 0), badgerDropPoint3.Location); - } - if (world.FrameNumber == ParabombTicks) - { - MissionUtils.Parabomb(world, soviets, badgerEntryPoint2.Location, parabombPoint1.Location); - MissionUtils.Parabomb(world, soviets, badgerEntryPoint2.Location + new CVec(0, 3), parabombPoint2.Location); - } - - if (allies1 != allies2) - { - if (yak == null || (yak != null && !yak.IsDead() && (yak.GetCurrentActivity() is FlyCircle || yak.IsIdle))) - { - var alliedUnitsNearYakPoint = world.FindAliveCombatantActorsInCircle(yakAttackPoint.CenterPosition, WRange.FromCells(10)) - .Where(a => a.Owner != soviets && a.HasTrait() && a != tanya && a != einstein && a != engineer); - if (alliedUnitsNearYakPoint.Any()) - YakStrafe(alliedUnitsNearYakPoint); - } - } - - if (currentReinforcement > -1 && currentReinforcement < Reinforcements.Length && world.FrameNumber % 25 == 0) - SpawnAlliedUnit(Reinforcements[currentReinforcement++]); - - if (world.FrameNumber % 25 == 0) - { - BuildSovietUnits(); - ManageSovietUnits(); - } - - UpdateDeaths(); - - if (findEinstein.Status == ObjectiveStatus.InProgress) - { - if (AlliesNearTown()) - { - findEinstein.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - TransferTownUnitsToAllies(); - SovietsAttackTown(); - } - } - if (destroySamSites.Status == ObjectiveStatus.InProgress) - { - if (sams.All(s => s.IsDead() || s.Owner != soviets)) - { - destroySamSites.Status = ObjectiveStatus.Completed; - extractEinstein.Status = ObjectiveStatus.InProgress; - - OnObjectivesUpdated(true); - - world.CreateActor(SignalFlareName, new TypeDictionary { new OwnerInit(allies1), new LocationInit(extractionLZ.Location) }); - Sound.Play("flaren1.aud"); - ExtractEinsteinAtLZ(); - } - } - if (extractEinstein.Status == ObjectiveStatus.InProgress && einsteinChinook != null) - { - if (einsteinChinook.IsDead()) - { - extractEinstein.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The extraction helicopter was destroyed."); - } - else if (!world.Map.IsInMap(einsteinChinook.Location) && einsteinChinook.Trait().Passengers.Contains(einstein)) - { - extractEinstein.Status = ObjectiveStatus.Completed; - maintainPresence.Status = ObjectiveStatus.Completed; - - if (fewDeaths.Status == ObjectiveStatus.InProgress) - fewDeaths.Status = ObjectiveStatus.Completed; - - OnObjectivesUpdated(true); - MissionAccomplished("Einstein was rescued."); - } - } - - if (tanya.IsDead()) - MissionFailed("Tanya was killed."); - - else if (einstein.IsDead()) - MissionFailed("Einstein was killed."); - - world.AddFrameEndTask(w => - { - if (!w.FindAliveCombatantActorsInBox(alliedBaseTopLeft, alliedBaseBottomRight) - .Any(a => (a.Owner == allies || a.Owner == allies2) && (a.HasTrait() && !a.HasTrait()) || a.HasTrait())) - { - maintainPresence.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The Allied reinforcements have been defeated."); - } - }); - } - - void UpdateDeaths() - { - var unitDeaths = allies1.PlayerActor.Trait().UnitsDead + allies2.PlayerActor.Trait().UnitsDead; - fewDeaths.Text = FewDeathsTemplate.F(unitDeaths, DeathsThreshold); - OnObjectivesUpdated(false); - if (unitDeaths >= DeathsThreshold && fewDeaths.Status == ObjectiveStatus.InProgress) - { - fewDeaths.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - } - } - - void YakStrafe(IEnumerable candidates) - { - if (yak == null) - { - var altitude = Rules.Info[YakName].Traits.Get().CruiseAltitude; - yak = world.CreateActor(YakName, new TypeDictionary - { - new CenterPositionInit(yakEntryPoint.CenterPosition + new WVec(WRange.Zero, WRange.Zero, altitude)), - new OwnerInit(soviets), - new FacingInit(Traits.Util.GetFacing(yakAttackPoint.Location - yakEntryPoint.Location, 0)) - }); - } - - if (yak.Trait().HasAmmo()) - yak.QueueActivity(new FlyAttack(Target.FromActor(candidates.Random(world.SharedRandom)))); - - else - { - yak.QueueActivity(new FlyOffMap()); - yak.QueueActivity(new RemoveSelf()); - } - } - - void BuildSovietUnits() - { - if (!sovietBarracks.IsDead()) - BuildSovietUnit(InfantryQueueName, SovietInfantry.Random(world.SharedRandom)); - - if (!sovietWarFactory.IsDead()) - { - var vehicles = world.FrameNumber >= SovietVehiclesUpgradeTicks ? SovietVehicles2 : SovietVehicles1; - BuildSovietUnit(VehicleQueueName, vehicles.Random(world.SharedRandom)); - } - } - - void ManageSovietUnits() - { - var units = world.FindAliveCombatantActorsInCircle(sovietRallyPoint.CenterPosition, WRange.FromCells(10)) - .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets) - .Except(world.WorldActor.Trait().Actors.Values); - if (units.Count() >= SovietGroupSize) - { - foreach (var unit in units) - MissionUtils.AttackNearestLandActor(true, unit, allies2); - } - - var scatteredUnits = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && u.IsIdle - && u.HasTrait() && u.HasTrait() && u.Owner == soviets) - .Except(world.WorldActor.Trait().Actors.Values) - .Except(units); - - foreach (var unit in scatteredUnits) - MissionUtils.AttackNearestLandActor(true, unit, allies2); - } - - void SetupAlliedBase() - { - foreach (var actor in world.Actors.Where(a => a.Owner == allies && a != allies.PlayerActor)) - { - actor.ChangeOwner(allies2); - if (actor.Info.Name == "proc") - actor.QueueActivity(new Transform(actor, "proc") { SkipMakeAnims = true }); // for harv spawn - foreach (var c in actor.TraitsImplementing()) - c.OnCapture(actor, actor, allies, allies2); - } - } - - void InitializeSovietFactories() - { - var sbrp = sovietBarracks.Trait(); - var swrp = sovietWarFactory.Trait(); - sbrp.rallyPoint = swrp.rallyPoint = sovietRallyPoint.Location; - sbrp.nearEnough = swrp.nearEnough = 6; - sovietBarracks.Trait().SetPrimaryProducer(sovietBarracks, true); - sovietWarFactory.Trait().SetPrimaryProducer(sovietWarFactory, true); - } - - void BuildSovietUnit(string category, string unit) - { - MissionUtils.StartProduction(world, soviets, category, unit); - } - - void StartReinforcementsTimer() - { - Sound.Play("timergo1.aud"); - reinforcementsTimer = new CountdownTimer(ReinforcementsTicks, ReinforcementsTimerExpired, true); - reinforcementsTimerWidget = new CountdownTimerWidget(reinforcementsTimer, "Allied reinforcements arrive in: {0}"); - Ui.Root.AddChild(reinforcementsTimerWidget); - } - - void ReinforcementsTimerExpired(CountdownTimer countdownTimer) - { - reinforcementsTimerWidget.Visible = false; - currentReinforcement++; - Sound.Play("aarrivs1.aud"); - } - - void SpawnAlliedUnit(string unit) - { - world.CreateActor(unit, new TypeDictionary - { - new LocationInit(reinforcementsEntryPoint.Location), - new FacingInit(0), - new OwnerInit(allies2) - }) - .QueueActivity(new Move.Move(allies2BasePoint.Location)); - } - - void ExtractEinsteinAtLZ() - { - einsteinChinook = MissionUtils.ExtractUnitWithChinook( - world, - allies1, - einstein, - extractionLZEntryPoint.Location, - extractionLZ.Location, - extractionLZEntryPoint.Location); - } - - bool AlliesNearTown() - { - return world.FindAliveCombatantActorsInCircle(townPoint.CenterPosition, WRange.FromCells(AlliedTownTransferRange)) - .Any(a => a.Owner == allies1 && a.HasTrait()); - } - - void TransferTownUnitsToAllies() - { - foreach (var unit in world.FindAliveNonCombatantActorsInCircle(townPoint.CenterPosition, WRange.FromCells(AlliedTownTransferRange)) - .Where(a => a.HasTrait())) - unit.ChangeOwner(allies1); - } - - void SovietsAttackTown() - { - var sovietAttackUnits = world.FindAliveCombatantActorsInCircle(sovietTownAttackPoint1.CenterPosition, WRange.FromCells(SovietTownAttackGroupRange)) - .Union(world.FindAliveCombatantActorsInCircle(sovietTownAttackPoint2.CenterPosition, WRange.FromCells(SovietTownAttackGroupRange))) - .Union(world.FindAliveCombatantActorsInCircle(townPoint.CenterPosition, WRange.FromCells(AlliedTownTransferRange))) - .Where(a => a.HasTrait() && a.Owner == soviets); - - foreach (var unit in sovietAttackUnits) - unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, new Move.Move(townPoint.Location, SovietTownMoveNearEnough))); - } - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - - allies1 = w.Players.Single(p => p.InternalName == "Allies1"); - allies2 = w.Players.SingleOrDefault(p => p.InternalName == "Allies2"); - - allies1.PlayerActor.Trait().Cash = 5000; - if (allies2 == null) - allies2 = allies1; - else - allies2.PlayerActor.Trait().Cash = 5000; - - allies = w.Players.Single(p => p.InternalName == "Allies"); - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - - soviets.PlayerActor.Trait().Cash = 1000; - - var actors = w.WorldActor.Trait().Actors; - sam1 = actors["SAM1"]; - sam2 = actors["SAM2"]; - sam3 = actors["SAM3"]; - sam4 = actors["SAM4"]; - sams = new[] { sam1, sam2, sam3, sam4 }; - tanya = actors["Tanya"]; - einstein = actors["Einstein"]; - engineer = actors["Engineer"]; - chinookHusk = actors["ChinookHusk"]; - allies2BasePoint = actors["Allies2BasePoint"]; - reinforcementsEntryPoint = actors["ReinforcementsEntryPoint"]; - extractionLZ = actors["ExtractionLZ"]; - extractionLZEntryPoint = actors["ExtractionLZEntryPoint"]; - - badgerEntryPoint1 = actors["BadgerEntryPoint1"]; - badgerEntryPoint2 = actors["BadgerEntryPoint2"]; - badgerDropPoint1 = actors["BadgerDropPoint1"]; - badgerDropPoint2 = actors["BadgerDropPoint2"]; - badgerDropPoint3 = actors["BadgerDropPoint3"]; - - parabombPoint1 = actors["ParabombPoint1"]; - parabombPoint2 = actors["ParabombPoint2"]; - sovietBarracks = actors["SovietBarracks"]; - sovietWarFactory = actors["SovietWarFactory"]; - sovietRallyPoint = actors["SovietRallyPoint"]; - townPoint = actors["TownPoint"]; - sovietTownAttackPoint1 = actors["SovietTownAttackPoint1"]; - sovietTownAttackPoint2 = actors["SovietTownAttackPoint2"]; - yakEntryPoint = actors["YakEntryPoint"]; - yakAttackPoint = actors["YakAttackPoint"]; - - alliedBaseTopLeft = actors["AlliedBaseTopLeft"].Location; - alliedBaseBottomRight = actors["AlliedBaseBottomRight"].Location; - - SetupAlliedBase(); - - var shroud = allies1.Shroud; - shroud.Explore(w, sam1.Location, WRange.FromCells(2)); - shroud.Explore(w, sam2.Location, WRange.FromCells(2)); - shroud.Explore(w, sam3.Location, WRange.FromCells(2)); - shroud.Explore(w, sam4.Location, WRange.FromCells(2)); - - if (w.LocalPlayer == null || w.LocalPlayer == allies1) - wr.Viewport.Center(chinookHusk.CenterPosition); - else - wr.Viewport.Center(allies2BasePoint.CenterPosition); - - MissionUtils.PlayMissionMusic(); - } - } -} diff --git a/OpenRA.Mods.RA/Missions/Allies03Script.cs b/OpenRA.Mods.RA/Missions/Allies03Script.cs deleted file mode 100644 index 501765bf88..0000000000 --- a/OpenRA.Mods.RA/Missions/Allies03Script.cs +++ /dev/null @@ -1,459 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Move; -using OpenRA.Traits; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA.Missions -{ - class Allies03ScriptInfo : TraitInfo, Requires { } - - class Allies03Script : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return new[] { evacuateUnits, destroyAirbases, evacuateMgg }; } } - - Objective evacuateUnits = new Objective(ObjectiveType.Primary, EvacuateUnitsText, ObjectiveStatus.InProgress); - Objective destroyAirbases = new Objective(ObjectiveType.Secondary, DestroyAirbasesText, ObjectiveStatus.InProgress); - Objective evacuateMgg = new Objective(ObjectiveType.Secondary, EvacuateMggText, ObjectiveStatus.InProgress); - - const string EvacuateUnitsText = "Following the rescue of Einstein, the Allies are now being flanked from both sides." - + " Evacuate {0} units before the remaining Allied forces in the area are wiped out."; - const string DestroyAirbasesText = "Destroy the nearby Soviet airbases."; - const string EvacuateMggText = "Einstein has recently developed a technology which allows us to obscure units from the enemy." - + " Evacuate at least one prototype mobile gap generator intact."; - - const string ShortEvacuateTemplate = "{0}/{1} units evacuated"; - - int unitsEvacuatedThreshold; - int unitsEvacuated; - InfoWidget evacuateWidget; - - World world; - Player allies1; - Player allies2; - Player allies; - Player soviets; - - Actor exit1TopLeft; - Actor exit1BottomRight; - Actor exit1ExitPoint; - - Actor exit2TopLeft; - Actor exit2BottomRight; - Actor exit2ExitPoint; - - Actor sovietEntryPoint1; - Actor sovietEntryPoint2; - Actor sovietEntryPoint3; - Actor sovietEntryPoint4; - Actor sovietEntryPoint5; - Actor sovietEntryPoint6; - CPos[] sovietEntryPoints; - Actor sovietRallyPoint1; - Actor sovietRallyPoint2; - Actor sovietRallyPoint3; - Actor sovietRallyPoint4; - Actor sovietRallyPoint5; - Actor sovietRallyPoint6; - CPos[] sovietRallyPoints; - - Actor[] sovietAirfields; - - Rectangle paradropBox; - - const int ReinforcementsTicks1 = 1500 * 5; - static readonly string[] Reinforcements1 = { "mgg", "2tnk", "2tnk", "2tnk", "2tnk", "1tnk", "1tnk", "jeep", "jeep", "e1", "e1", "e1", "e1", "e3", "e3" }; - int currentReinforcement1; - - const int ReinforcementsTicks2 = 1500 * 10; - static readonly string[] Reinforcements2 = { "mgg", "2tnk", "2tnk", "2tnk", "2tnk", "truk", "truk", "truk", "truk", "truk", "truk", "1tnk", "1tnk", "jeep", "jeep" }; - int currentReinforcement2; - - static readonly string[] SovietUnits1 = { "3tnk", "3tnk", "3tnk", "3tnk", "3tnk", "3tnk", "v2rl", "v2rl", "ftrk", "apc", "e1", "e1", "e2", "e3", "e3", "e4" }; - static readonly string[] SovietUnits2 = { "4tnk", "4tnk", "4tnk", "4tnk", "3tnk", "3tnk", "3tnk", "3tnk", "v2rl", "v2rl", "ftrk", "apc", "e1", "e1", "e2", "e3", "e3", "e4" }; - int sovietUnits2Ticks; - const int SovietGroupSize = 5; - - int sovietParadropTicks; - const int ParadropIncrement = 200; - static readonly string[] ParadropTerrainTypes = { "Clear", "Road", "Rough", "Beach", "Ore" }; - static readonly string[] SovietParadroppers = { "e1", "e1", "e3", "e3", "e4" }; - int sovietParadrops; - int maxSovietYaks; - - int attackAtFrame; - int attackAtFrameIncrement; - int minAttackAtFrame; - - Actor allies1EntryPoint; - Actor allies1MovePoint; - - Actor allies2EntryPoint; - Actor allies2MovePoint; - - const string McvName = "mcv"; - const string YakName = "yak"; - - string difficulty; - - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, allies1, allies2); - } - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, allies1, allies2); - } - - public void Tick(Actor self) - { - if (allies1.WinState != WinState.Undefined) return; - - if (world.FrameNumber == 1) - { - SpawnAlliedUnit(McvName); - evacuateWidget = new InfoWidget(""); - Ui.Root.AddChild(evacuateWidget); - UpdateUnitsEvacuated(); - } - if (world.FrameNumber == attackAtFrame) - { - SpawnSovietUnits(); - attackAtFrame += attackAtFrameIncrement; - attackAtFrameIncrement = Math.Max(attackAtFrameIncrement - 5, minAttackAtFrame); - } - - if (world.FrameNumber == ReinforcementsTicks1 || world.FrameNumber == ReinforcementsTicks2) - Sound.Play("reinfor1.aud"); - - if (world.FrameNumber % 25 == 0) - { - if (world.FrameNumber >= ReinforcementsTicks1 && currentReinforcement1 < Reinforcements1.Length) - SpawnAlliedUnit(Reinforcements1[currentReinforcement1++]); - - if (world.FrameNumber >= ReinforcementsTicks2 && currentReinforcement2 < Reinforcements2.Length) - SpawnAlliedUnit(Reinforcements2[currentReinforcement2++]); - } - - - if (sovietParadrops > 0) - { - if (world.FrameNumber == sovietParadropTicks) - Sound.Play("sovfapp1.aud"); - - if (world.FrameNumber >= sovietParadropTicks && world.FrameNumber % ParadropIncrement == 0) - { - CPos lz; - CPos entry; - do - { - var x = world.SharedRandom.Next(paradropBox.X, paradropBox.X + paradropBox.Width); - var y = world.SharedRandom.Next(paradropBox.Y, paradropBox.Y + paradropBox.Height); - entry = new CPos(0, y); - lz = new CPos(x, y); - } - while (!ParadropTerrainTypes.Contains(world.GetTerrainType(lz))); - MissionUtils.Paradrop(world, soviets, SovietParadroppers, entry, lz); - sovietParadrops--; - } - } - if (world.FrameNumber % 25 == 0) - ManageSovietUnits(); - - if (destroyAirbases.Status != ObjectiveStatus.Completed) - { - if (world.FrameNumber % 25 == 0) - BuildSovietAircraft(); - - ManageSovietAircraft(); - } - - EvacuateAlliedUnits(exit1TopLeft.Location, exit1BottomRight.Location, exit1ExitPoint.Location); - EvacuateAlliedUnits(exit2TopLeft.Location, exit2BottomRight.Location, exit2ExitPoint.Location); - - CheckSovietAirbases(); - - if (!world.Actors.Any(a => (a.Owner == allies1 || a.Owner == allies2) && a.IsInWorld && !a.IsDead() - && ((a.HasTrait() && !a.HasTrait()) || a.HasTrait()))) - { - evacuateUnits.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The remaining Allied forces in the area have been wiped out."); - } - } - - Actor FirstUnshroudedOrDefault(IEnumerable actors, World world, int shroudRange) - { - return actors.FirstOrDefault(u => world.FindAliveCombatantActorsInCircle(u.CenterPosition, WRange.FromCells(shroudRange)).All(a => !a.HasTrait())); - } - - void ManageSovietAircraft() - { - var enemies = world.Actors - .Where(u => (u.Owner == allies1 || u.Owner == allies2) - && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && u.IsInWorld && !u.IsDead() - && (!u.HasTrait() || !u.Trait().Disguised || (u.Trait().Disguised && u.Trait().disguisedAsPlayer != soviets))); - - foreach (var aircraft in SovietAircraft()) - { - var pos = aircraft.CenterPosition; - var plane = aircraft.Trait(); - var ammo = aircraft.Trait(); - if ((pos.Z == 0 && ammo.FullAmmo()) || (pos.Z != 0 && ammo.HasAmmo())) - { - var enemy = FirstUnshroudedOrDefault(enemies.OrderBy(u => (aircraft.CenterPosition - u.CenterPosition).LengthSquared), world, 10); - if (enemy != null) - { - if (!aircraft.IsIdle && aircraft.GetCurrentActivity().GetType() != typeof(FlyAttack)) - aircraft.CancelActivity(); - - if (pos.Z == 0) - plane.UnReserve(); - - aircraft.QueueActivity(new FlyAttack(Target.FromActor(enemy))); - } - } - else if (pos.Z != 0 && !LandIsQueued(aircraft)) - { - aircraft.CancelActivity(); - aircraft.QueueActivity(new ReturnToBase(aircraft, null)); - aircraft.QueueActivity(new ResupplyAircraft()); - } - } - } - - bool LandIsQueued(Actor actor) - { - for (var a = actor.GetCurrentActivity(); a != null; a = a.NextActivity) - if (a is ReturnToBase || a is Land) return true; - return false; - } - - void BuildSovietAircraft() - { - var queue = MissionUtils.FindQueues(world, soviets, "Plane").FirstOrDefault(q => q.CurrentItem() == null); - if (queue == null || SovietAircraft().Count() >= maxSovietYaks) return; - - queue.ResolveOrder(queue.self, Order.StartProduction(queue.self, YakName, 1)); - } - - IEnumerable SovietAircraft() - { - return world.Actors.Where(a => a.HasTrait() && a.Owner == soviets && a.IsInWorld && !a.IsDead()); - } - - void CheckSovietAirbases() - { - if (destroyAirbases.Status != ObjectiveStatus.Completed && sovietAirfields.All(a => a.IsDead() || a.Owner != soviets)) - { - destroyAirbases.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - } - } - - void SpawnSovietUnits() - { - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - var rallyPoint = sovietRallyPoints[route]; - - IEnumerable units; - if (world.FrameNumber >= sovietUnits2Ticks) - units = SovietUnits2; - else - units = SovietUnits1; - - var unit = world.CreateActor(units.Random(world.SharedRandom), - new TypeDictionary - { - new LocationInit(spawnPoint), - new OwnerInit(soviets) - }); - unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, new Move.Move(rallyPoint, 3))); - } - - void AttackNearestAlliedActor(Actor self) - { - var enemies = world.Actors.Where(u => u.AppearsHostileTo(self) && (u.Owner == allies1 || u.Owner == allies2) - && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && u.IsInWorld && !u.IsDead()); - - var enemy = FirstUnshroudedOrDefault(enemies.OrderBy(u => (self.CenterPosition - u.CenterPosition).LengthSquared), world, 10); - if (enemy != null) - self.QueueActivity(new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(enemy), WRange.FromCells(3)))); - } - - void ManageSovietUnits() - { - foreach (var rallyPoint in sovietRallyPoints) - { - var units = world.FindAliveCombatantActorsInCircle(rallyPoint.CenterPosition, WRange.FromCells(10)) - .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets); - if (units.Count() >= SovietGroupSize) - { - foreach (var unit in units) - AttackNearestAlliedActor(unit); - } - } - - var scatteredUnits = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && u.HasTrait() && u.IsIdle && u.Owner == soviets) - .Except(world.WorldActor.Trait().Actors.Values) - .Except(sovietRallyPoints.SelectMany(rp => world.FindAliveCombatantActorsInCircle(rp.CenterPosition, WRange.FromCells(10)))); - - foreach (var unit in scatteredUnits) - AttackNearestAlliedActor(unit); - } - - void SpawnAlliedUnit(string actor) - { - SpawnAndMove(actor, allies1, allies1EntryPoint.Location, allies1MovePoint.Location); - if (allies1 != allies2) - SpawnAndMove(actor, allies2, allies2EntryPoint.Location, allies2MovePoint.Location); - } - - Actor SpawnAndMove(string actor, Player owner, CPos entry, CPos to) - { - var unit = world.CreateActor(actor, new TypeDictionary - { - new OwnerInit(owner), - new LocationInit(entry), - new FacingInit(Traits.Util.GetFacing(to - entry, 0)) - }); - unit.QueueActivity(new Move.Move(to)); - return unit; - } - - void UpdateUnitsEvacuated() - { - evacuateWidget.Text = ShortEvacuateTemplate.F(unitsEvacuated, unitsEvacuatedThreshold); - if (evacuateUnits.Status == ObjectiveStatus.InProgress && unitsEvacuated >= unitsEvacuatedThreshold) - { - evacuateUnits.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - MissionAccomplished("The remaining Allied forces in the area have evacuated."); - } - } - - void EvacuateAlliedUnits(CPos tl, CPos br, CPos exit) - { - var units = world.FindAliveCombatantActorsInBox(tl, br) - .Where(u => u.HasTrait() && !u.HasTrait() && (u.Owner == allies1 || u.Owner == allies2)); - - foreach (var unit in units) - { - unit.CancelActivity(); - unit.ChangeOwner(allies); - unitsEvacuated++; - - var createsShroud = unit.TraitOrDefault(); - if (createsShroud != null && evacuateMgg.Status == ObjectiveStatus.InProgress) - { - evacuateMgg.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - } - - var cargo = unit.TraitOrDefault(); - if (cargo != null) - unitsEvacuated += cargo.Passengers.Count(); - - UpdateUnitsEvacuated(); - unit.QueueActivity(new Move.Move(exit)); - unit.QueueActivity(new RemoveSelf()); - } - } - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - - difficulty = w.LobbyInfo.GlobalSettings.Difficulty; - Game.Debug("{0} difficulty selected".F(difficulty)); - - allies1 = w.Players.Single(p => p.InternalName == "Allies1"); - allies2 = w.Players.SingleOrDefault(p => p.InternalName == "Allies2"); - - var res = allies1.PlayerActor.Trait(); - if (allies2 == null) - { - res.Cash = 10000; - allies2 = allies1; - } - else - { - res.Cash = 5000; - res = allies2.PlayerActor.Trait(); - res.Cash = 5000; - } - - attackAtFrame = attackAtFrameIncrement = difficulty == "Hard" || difficulty == "Normal" ? 500 : 600; - minAttackAtFrame = difficulty == "Hard" || difficulty == "Normal" ? 100 : 150; - unitsEvacuatedThreshold = difficulty == "Hard" ? 200 : difficulty == "Normal" ? 100 : 50; - maxSovietYaks = difficulty == "Hard" ? 4 : difficulty == "Normal" ? 2 : 0; - sovietParadrops = difficulty == "Hard" ? 40 : difficulty == "Normal" ? 20 : 0; - sovietParadropTicks = difficulty == "Hard" ? 1500 * 17 : 1500 * 20; - sovietUnits2Ticks = difficulty == "Hard" ? 1500 * 12 : 1500 * 15; - - evacuateUnits.Text = evacuateUnits.Text.F(unitsEvacuatedThreshold); - - allies = w.Players.Single(p => p.InternalName == "Allies"); - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - - var actors = w.WorldActor.Trait().Actors; - exit1TopLeft = actors["Exit1TopLeft"]; - exit1BottomRight = actors["Exit1BottomRight"]; - exit1ExitPoint = actors["Exit1ExitPoint"]; - exit2TopLeft = actors["Exit2TopLeft"]; - exit2BottomRight = actors["Exit2BottomRight"]; - exit2ExitPoint = actors["Exit2ExitPoint"]; - allies1EntryPoint = actors["Allies1EntryPoint"]; - allies1MovePoint = actors["Allies1MovePoint"]; - allies2EntryPoint = actors["Allies2EntryPoint"]; - allies2MovePoint = actors["Allies2MovePoint"]; - sovietEntryPoint1 = actors["SovietEntryPoint1"]; - sovietEntryPoint2 = actors["SovietEntryPoint2"]; - sovietEntryPoint3 = actors["SovietEntryPoint3"]; - sovietEntryPoint4 = actors["SovietEntryPoint4"]; - sovietEntryPoint5 = actors["SovietEntryPoint5"]; - sovietEntryPoint6 = actors["SovietEntryPoint6"]; - sovietEntryPoints = new[] { sovietEntryPoint1, sovietEntryPoint2, sovietEntryPoint3, sovietEntryPoint4, sovietEntryPoint5, sovietEntryPoint6 }.Select(p => p.Location).ToArray(); - sovietRallyPoint1 = actors["SovietRallyPoint1"]; - sovietRallyPoint2 = actors["SovietRallyPoint2"]; - sovietRallyPoint3 = actors["SovietRallyPoint3"]; - sovietRallyPoint4 = actors["SovietRallyPoint4"]; - sovietRallyPoint5 = actors["SovietRallyPoint5"]; - sovietRallyPoint6 = actors["SovietRallyPoint6"]; - sovietRallyPoints = new[] { sovietRallyPoint1, sovietRallyPoint2, sovietRallyPoint3, sovietRallyPoint4, sovietRallyPoint5, sovietRallyPoint6 }.Select(p => p.Location).ToArray(); - sovietAirfields = actors.Values.Where(a => a.Owner == soviets && a.HasTrait() && a.Info.Traits.Get().Produces.Contains("Plane")).ToArray(); - var topLeft = actors["ParadropBoxTopLeft"]; - var bottomRight = actors["ParadropBoxBottomRight"]; - paradropBox = new Rectangle(topLeft.Location.X, topLeft.Location.Y, bottomRight.Location.X - topLeft.Location.X, bottomRight.Location.Y - topLeft.Location.Y); - - if (w.LocalPlayer == null || w.LocalPlayer == allies1) - wr.Viewport.Center(allies1EntryPoint.CenterPosition); - else - wr.Viewport.Center(allies2EntryPoint.CenterPosition); - - OnObjectivesUpdated(false); - MissionUtils.PlayMissionMusic(); - } - } -} diff --git a/OpenRA.Mods.RA/Missions/Allies04Script.cs b/OpenRA.Mods.RA/Missions/Allies04Script.cs deleted file mode 100644 index b5b2fb1b04..0000000000 --- a/OpenRA.Mods.RA/Missions/Allies04Script.cs +++ /dev/null @@ -1,576 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Move; -using OpenRA.Mods.RA.Render; -using OpenRA.Traits; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA.Missions -{ - class Allies04ScriptInfo : TraitInfo, Requires { } - - class Allies04Script : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return new[] { infiltrateLab, destroyBase }; } } - - Objective infiltrateLab = new Objective(ObjectiveType.Primary, "", ObjectiveStatus.InProgress); - Objective destroyBase = new Objective(ObjectiveType.Primary, DestroyBaseText, ObjectiveStatus.Inactive); - - const string InfiltrateLabTemplate = "The Soviets are currently developing a new defensive system named the \"Iron Curtain\" at their main research laboratory." - + " Get our {0} into the laboratory undetected."; - - const string DestroyBaseText = "Secure the laboratory and destroy the rest of the Soviet base. Ensure that the laboratory is not destroyed."; - - Actor hijackTruck; - Actor baseGuard; - Actor baseGuardMovePos; - Actor baseGuardTruckPos; - Actor lab; - int baseGuardTicks = 100; - - Actor allies1Spy; - Actor allies2Spy; - bool allies1SpyInfiltratedLab; - bool allies2SpyInfiltratedLab; - int frameInfiltrated = -1; - - CountdownTimer destroyBaseTimer; - CountdownTimerWidget destroyBaseTimerWidget; - - Player allies1; - Player allies2; - Player soviets; - Player creeps; - World world; - WorldRenderer worldRenderer; - - List patrols; - CPos[] patrolPoints1; - CPos[] patrolPoints2; - CPos[] patrolPoints3; - CPos[] patrolPoints4; - CPos[] patrolPoints5; - - Actor reinforcementsEntryPoint; - Actor reinforcementsUnloadPoint; - - Actor spyReinforcementsEntryPoint; - Actor spyReinforcementsUnloadPoint; - Actor spyReinforcementsExitPoint; - - string difficulty; - int destroyBaseTicks; - - int nextCivilianMove = 1; - - Actor bridgeTank; - Actor bridgeAttackPoint; - Actor bridge; - bool attackingBridge; - - bool attackingTown = true; - Actor[] townAttackers; - - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, allies1, allies2); - } - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, allies1, allies2); - } - - public void Tick(Actor self) - { - if (allies1.WinState != WinState.Undefined) return; - - if (world.FrameNumber == 1) - InsertSpies(); - - if (frameInfiltrated != -1) - { - if (world.FrameNumber == frameInfiltrated + 100) - { - Sound.Play("aarrivs1.aud"); - worldRenderer.Viewport.Center(reinforcementsUnloadPoint.CenterPosition); - world.AddFrameEndTask(w => SendReinforcements()); - } - if (world.FrameNumber == frameInfiltrated + 200) - { - Sound.Play("timergo1.aud"); - destroyBaseTimer = new CountdownTimer(destroyBaseTicks, OnDestroyBaseTimerExpired, true); - destroyBaseTimerWidget = new CountdownTimerWidget(destroyBaseTimer, "Secure lab in: {0}"); - Ui.Root.AddChild(destroyBaseTimerWidget); - } - - if (world.FrameNumber >= frameInfiltrated + 200) - destroyBaseTimer.Tick(); - - if (world.FrameNumber == frameInfiltrated + 1500 * 12 && !bridgeTank.IsDead() && bridgeTank.IsInWorld && !bridge.IsDead()) - { - bridgeTank.QueueActivity(new Attack(Target.FromPos(bridge.CenterPosition), WRange.FromCells(4))); - attackingBridge = true; - } - if (attackingBridge && bridge.IsDead()) - { - if (!bridgeTank.IsDead()) - bridgeTank.CancelActivity(); - attackingBridge = false; - } - - if (world.FrameNumber == frameInfiltrated + 1500 * 6) - foreach (var attacker in townAttackers.Where(a => !a.IsDead() && a.IsInWorld)) - { - attacker.CancelActivity(); - attacker.QueueActivity(new AttackMove.AttackMoveActivity(attacker, new Move.Move(reinforcementsUnloadPoint.Location + new CVec(10, -15), 3))); - } - } - - if (attackingTown) - { - foreach (var attacker in townAttackers.Where(u => u.IsIdle && !u.IsDead() && u.IsInWorld)) - { - var enemies = world.Actors.Where(u => u.Owner == creeps && u.HasTrait() - && ((u.HasTrait() && !u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && !u.IsDead() && u.IsInWorld); - - var enemy = enemies.ClosestTo(attacker); - if (enemy != null) - attacker.QueueActivity(new AttackMove.AttackMoveActivity(attacker, new Attack(Target.FromActor(enemy), WRange.FromCells(3)))); - else - { - attackingTown = false; - break; - } - } - } - - foreach (var patrol in patrols) - patrol.DoPatrol(); - - MissionUtils.CapOre(soviets); - - BaseGuardTick(); - - if (world.FrameNumber == nextCivilianMove) - { - var civilians = world.Actors.Where(a => !a.IsDead() && a.IsInWorld && a.Owner == creeps && a.HasTrait()); - if (civilians.Any()) - { - var civilian = civilians.Random(world.SharedRandom); - civilian.Trait().Nudge(civilian, civilian, true); - nextCivilianMove += world.SharedRandom.Next(1, 75); - } - } - - world.AddFrameEndTask(w => - { - if ((allies1Spy.IsDead() && !allies1SpyInfiltratedLab) || (allies2Spy != null && allies2Spy.IsDead() && !allies2SpyInfiltratedLab)) - { - infiltrateLab.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("{0} spy was killed.".F(allies1 != allies2 ? "A" : "The")); - } - else if (lab.IsDead()) - { - if (infiltrateLab.Status == ObjectiveStatus.InProgress) - infiltrateLab.Status = ObjectiveStatus.Failed; - else if (destroyBase.Status == ObjectiveStatus.InProgress) - destroyBase.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The Soviet research laboratory was destroyed."); - } - else if (!world.Actors.Any(a => (a.Owner == allies1 || a.Owner == allies2) && !a.IsDead() - && (a.HasTrait() && !a.HasTrait()) || a.HasTrait())) - { - destroyBase.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The remaining Allied forces in the area have been wiped out."); - } - else if (SovietBaseDestroyed() && infiltrateLab.Status == ObjectiveStatus.Completed) - { - destroyBase.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - MissionAccomplished("The Soviet research laboratory has been secured successfully."); - } - }); - } - - bool SovietBaseDestroyed() - { - return !world.Actors.Any(a => a.Owner == soviets && a.IsInWorld && !a.IsDead() - && a.HasTrait() && !a.HasTrait() && !a.HasTrait() && a != lab); - } - - void OnDestroyBaseTimerExpired(CountdownTimer t) - { - if (SovietBaseDestroyed() && infiltrateLab.Status == ObjectiveStatus.Completed) return; - destroyBase.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The Soviet research laboratory was not secured in time."); - } - - void BaseGuardTick() - { - if (baseGuardTicks <= 0 || baseGuard.IsDead() || !baseGuard.IsInWorld) return; - - if (hijackTruck.Location == baseGuardTruckPos.Location) - { - if (--baseGuardTicks <= 0) - baseGuard.QueueActivity(new Move.Move(baseGuardMovePos.Location)); - } - else - baseGuardTicks = 100; - } - - void OnLabInfiltrated(Actor spy) - { - if (spy == allies1Spy) allies1SpyInfiltratedLab = true; - else if (spy == allies2Spy) allies2SpyInfiltratedLab = true; - - if (allies1SpyInfiltratedLab && (allies2SpyInfiltratedLab || allies2Spy == null)) - { - infiltrateLab.Status = ObjectiveStatus.Completed; - destroyBase.Status = ObjectiveStatus.InProgress; - OnObjectivesUpdated(true); - frameInfiltrated = world.FrameNumber; - - foreach (var actor in world.Actors.Where(a => !a.IsDead() && a.HasTrait())) - actor.QueueActivity(false, new Transform(actor, actor.Info.Traits.Get().ToActor) { SkipMakeAnims = true }); - } - } - - void SendReinforcements() - { - var lst = world.CreateActor("lst.unselectable", new TypeDictionary - { - new OwnerInit(allies1), - new LocationInit(reinforcementsEntryPoint.Location) - }); - lst.Trait().Load(lst, world.CreateActor(false, "mcv", new TypeDictionary { new OwnerInit(allies1) })); - if (allies1 != allies2) - lst.Trait().Load(lst, world.CreateActor(false, "mcv", new TypeDictionary { new OwnerInit(allies2) })); - - lst.QueueActivity(new Move.Move(reinforcementsUnloadPoint.Location)); - lst.QueueActivity(new Wait(10)); - - lst.QueueActivity(new CallFunc(() => - { - allies1.PlayerActor.Trait().GiveCash(allies1 == allies2 ? 5000 : 2500); - if (allies1 != allies2) - allies2.PlayerActor.Trait().GiveCash(2500); - })); - - lst.AddTrait(new TransformedAction(self => - { - self.QueueActivity(new Wait(10)); - self.QueueActivity(new Move.Move(reinforcementsEntryPoint.Location)); - self.QueueActivity(new RemoveSelf()); - })); - lst.QueueActivity(new UnloadCargo(lst, true)); - lst.QueueActivity(new Transform(lst, "lst.unselectable.nocargo") { SkipMakeAnims = true }); - } - - class Patrol - { - Actor[] actors; - CPos[] points; - int pointIndex; - World world; - - public Patrol(World world, string[] actorNames, Player owner, CPos[] points, int pointIndex) - { - this.world = world; - this.points = points; - this.pointIndex = pointIndex; - var td = new TypeDictionary { new OwnerInit(owner), new LocationInit(points[pointIndex]) }; - actors = actorNames.Select(a => world.CreateActor(a, td)).ToArray(); - } - - public void DoPatrol() - { - if (actors.Any(a => a.IsDead() || !a.IsIdle || !a.IsInWorld)) return; - - pointIndex = (pointIndex + 1) % points.Length; - foreach (var actor in actors.Where(a => !a.IsDead() && a.IsInWorld)) - { - actor.QueueActivity(new Wait(world.SharedRandom.Next(50, 75))); - actor.QueueActivity(new AttackMove.AttackMoveActivity(actor, new Move.Move(points[pointIndex], 0))); - } - } - } - - void InsertSpies() - { - var lst = world.CreateActor("lst.unselectable", new TypeDictionary - { - new OwnerInit(allies1), - new LocationInit(spyReinforcementsEntryPoint.Location) - }); - - allies1Spy = world.CreateActor(false, "spy.strong", new TypeDictionary { new OwnerInit(allies1) }); - lst.Trait().Load(lst, allies1Spy); - if (allies1 != allies2) - { - allies2Spy = world.CreateActor(false, "spy.strong", new TypeDictionary { new OwnerInit(allies2) }); - lst.Trait().Load(lst, allies2Spy); - } - - lst.AddTrait(new TransformedAction(self => - { - self.QueueActivity(new Wait(10)); - self.QueueActivity(new Move.Move(spyReinforcementsExitPoint.Location)); - self.QueueActivity(new RemoveSelf()); - })); - lst.QueueActivity(new Move.Move(spyReinforcementsUnloadPoint.Location)); - lst.QueueActivity(new Wait(10)); - lst.QueueActivity(new UnloadCargo(lst, true)); - lst.QueueActivity(new Transform(lst, "lst.unselectable.nocargo") { SkipMakeAnims = true }); - } - - void SetupSubStances() - { - foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.Owner == soviets && !a.IsDead() && a.HasTrait())) - actor.Trait().Stance = UnitStance.Defend; - } - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - worldRenderer = wr; - - difficulty = w.LobbyInfo.GlobalSettings.Difficulty; - Game.Debug("{0} difficulty selected".F(difficulty)); - - allies1 = w.Players.Single(p => p.InternalName == "Allies1"); - allies2 = w.Players.SingleOrDefault(p => p.InternalName == "Allies2"); - - allies1.PlayerActor.Trait().Cash = 0; - if (allies2 == null) - allies2 = allies1; - else - allies2.PlayerActor.Trait().Cash = 0; - - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - creeps = w.Players.Single(p => p.InternalName == "Creeps"); - infiltrateLab.Text = InfiltrateLabTemplate.F(allies1 != allies2 ? "spies" : "spy"); - - destroyBaseTicks = difficulty == "Hard" ? 1500 * 25 : difficulty == "Normal" ? 1500 * 28 : 1500 * 31; - - var actors = w.WorldActor.Trait().Actors; - - spyReinforcementsEntryPoint = actors["SpyReinforcementsEntryPoint"]; - spyReinforcementsUnloadPoint = actors["SpyReinforcementsUnloadPoint"]; - spyReinforcementsExitPoint = actors["SpyReinforcementsExitPoint"]; - - hijackTruck = actors["HijackTruck"]; - baseGuard = actors["BaseGuard"]; - baseGuardMovePos = actors["BaseGuardMovePos"]; - baseGuardTruckPos = actors["BaseGuardTruckPos"]; - patrolPoints1 = new[] - { - actors["PatrolPoint11"].Location, - actors["PatrolPoint12"].Location, - actors["PatrolPoint13"].Location, - actors["PatrolPoint14"].Location, - actors["PatrolPoint15"].Location - }; - patrolPoints2 = patrolPoints1; - patrolPoints3 = new[] - { - actors["PatrolPoint21"].Location, - actors["PatrolPoint22"].Location, - actors["PatrolPoint23"].Location, - actors["PatrolPoint24"].Location, - actors["PatrolPoint25"].Location - }; - patrolPoints4 = new[] - { - actors["PatrolPoint31"].Location, - actors["PatrolPoint32"].Location, - actors["PatrolPoint33"].Location, - actors["PatrolPoint34"].Location - }; - patrolPoints5 = new[] - { - actors["PatrolPoint41"].Location, - actors["PatrolPoint42"].Location, - actors["PatrolPoint43"].Location, - actors["PatrolPoint44"].Location, - actors["PatrolPoint45"].Location - }; - - lab = actors["Lab"]; - lab.AddTrait(new InfiltrateAction(OnLabInfiltrated)); - lab.AddTrait(new TransformedAction(self => lab = self)); - - reinforcementsEntryPoint = actors["ReinforcementsEntryPoint"]; - reinforcementsUnloadPoint = actors["ReinforcementsUnloadPoint"]; - - patrols = new List - { - new Patrol(world, new[] { "e1", "e1", "e1", "e1", "e1" }, soviets, patrolPoints1, 0), - new Patrol(world, new[] { "e1", "dog.patrol", "dog.patrol" }, soviets, patrolPoints2, 2), - new Patrol(world, new[] { "e1", "dog.patrol", "dog.patrol" }, soviets, patrolPoints4, 0), - new Patrol(world, new[] { "e1", "dog.patrol", "dog.patrol" }, soviets, patrolPoints5, 0), - }; - if (difficulty == "Hard") - patrols.Add(new Patrol(world, new[] { "e1", "e1", "dog.patrol" }, soviets, patrolPoints3, 0)); - - bridgeTank = actors["BridgeTank"]; - bridgeAttackPoint = actors["BridgeAttackPoint"]; - bridge = world.Actors - .Where(a => a.HasTrait() && !a.IsDead()) - .OrderBy(a => (a.Location - bridgeAttackPoint.Location).LengthSquared) - .FirstOrDefault(); - - var ta1 = actors["TownAttacker1"]; - var ta2 = actors["TownAttacker2"]; - var ta3 = actors["TownAttacker3"]; - var ta4 = actors["TownAttacker4"]; - var ta5 = actors["TownAttacker5"]; - var ta6 = actors["TownAttacker6"]; - var ta7 = actors["TownAttacker7"]; - - townAttackers = new[] { ta1, ta2, ta3, ta4, ta5, ta6, ta7 }; - - OnObjectivesUpdated(false); - SetupSubStances(); - - worldRenderer.Viewport.Center(spyReinforcementsEntryPoint.CenterPosition); - MissionUtils.PlayMissionMusic(); - } - } - - class Allies04HijackableInfo : ITraitInfo, Requires - { - public object Create(ActorInitializer init) { return new Allies04Hijackable(init.self); } - } - - class Allies04Hijackable : IAcceptInfiltrator, INotifyPassengerExited - { - public Player OldOwner; - - void OnTruckHijacked(Actor spy) { } - - public Allies04Hijackable(Actor self) - { - OldOwner = self.Owner; - - self.AddTrait(new InfiltrateAction(OnTruckHijacked)); - } - - public void OnInfiltrate(Actor self, Actor spy) - { - if (self.Trait().IsEmpty(self)) - self.ChangeOwner(spy.Owner); - - self.Trait().Load(self, spy); - } - - public void PassengerExited(Actor self, Actor passenger) - { - if (self.Trait().IsEmpty(self)) - { - self.CancelActivity(); - self.ChangeOwner(OldOwner); - } - else if (self.Owner == passenger.Owner) - self.ChangeOwner(self.Trait().Passengers.First().Owner); - } - } - - class Allies04RenderHijackedInfo : RenderUnitInfo - { - public override object Create(ActorInitializer init) { return new Allies04RenderHijacked(init.self, this); } - } - - class Allies04RenderHijacked : RenderUnit - { - Allies04Hijackable hijackable; - Allies04RenderHijackedInfo info; - - public Allies04RenderHijacked(Actor self, Allies04RenderHijackedInfo info) - : base(self) - { - this.info = info; - hijackable = self.Trait(); - } - - protected override string PaletteName(Actor self) - { - return info.Palette ?? info.PlayerPalette + hijackable.OldOwner.InternalName; - } - } - - class Allies04TrivialBuildingInfo : TraitInfo { } - class Allies04TrivialBuilding { } - - class Allies04MaintainBuildingInfo : TraitInfo - { - public readonly string Player = null; - } - - class Allies04MaintainBuilding : INotifyDamageStateChanged - { - public void DamageStateChanged(Actor self, AttackInfo e) - { - if (self.Owner.InternalName != self.Info.Traits.Get().Player) return; - - if (self.HasTrait() && e.DamageState == DamageState.Critical && e.PreviousDamageState < DamageState.Critical) - self.Trait().Sell(self); - - else if (self.HasTrait() && e.DamageState > DamageState.Undamaged && e.PreviousDamageState == DamageState.Undamaged) - self.Trait().RepairBuilding(self, self.Owner); - } - } - - class Allies04TransformOnLabInfiltrateInfo : TraitInfo - { - [ActorReference] - public readonly string ToActor = null; - } - - class Allies04TransformOnLabInfiltrate { } - - class Allies04HazyPaletteEffectInfo : TraitInfo { } - - class Allies04HazyPaletteEffect : IPaletteModifier - { - static readonly string[] ExcludePalettes = { "cursor", "chrome", "colorpicker", "fog", "shroud" }; - - public void AdjustPalette(Dictionary palettes) - { - foreach (var pal in palettes) - { - if (ExcludePalettes.Contains(pal.Key)) - continue; - - for (var x = 0; x < 256; x++) - { - var from = pal.Value.GetColor(x); - var to = Color.FromArgb(from.A, Color.FromKnownColor(KnownColor.DarkOrange)); - pal.Value.SetColor(x, Exts.ColorLerp(0.15f, from, to)); - } - } - } - } -} diff --git a/OpenRA.Mods.RA/Missions/CountdownTimer.cs b/OpenRA.Mods.RA/Missions/CountdownTimer.cs deleted file mode 100644 index bfbd6ef054..0000000000 --- a/OpenRA.Mods.RA/Missions/CountdownTimer.cs +++ /dev/null @@ -1,68 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; - -namespace OpenRA.Mods.RA.Missions -{ - public class CountdownTimer - { - public int TicksLeft; - - public event Action OnExpired = t => { }; - public event Action OnOneMinuteRemaining = t => { }; - public event Action OnTwoMinutesRemaining = t => { }; - public event Action OnThreeMinutesRemaining = t => { }; - public event Action OnFourMinutesRemaining = t => { }; - public event Action OnFiveMinutesRemaining = t => { }; - public event Action OnTenMinutesRemaining = t => { }; - public event Action OnTwentyMinutesRemaining = t => { }; - public event Action OnThirtyMinutesRemaining = t => { }; - public event Action OnFortyMinutesRemaining = t => { }; - - public CountdownTimer(int ticksLeft, Action onExpired, bool withNotifications) - { - TicksLeft = ticksLeft; - OnExpired += onExpired; - if (withNotifications) - { - OnOneMinuteRemaining += t => Sound.Play("1minr.aud"); - OnTwoMinutesRemaining += t => Sound.Play("2minr.aud"); - OnThreeMinutesRemaining += t => Sound.Play("3minr.aud"); - OnFourMinutesRemaining += t => Sound.Play("4minr.aud"); - OnFiveMinutesRemaining += t => Sound.Play("5minr.aud"); - OnTenMinutesRemaining += t => Sound.Play("10minr.aud"); - OnTwentyMinutesRemaining += t => Sound.Play("20minr.aud"); - OnThirtyMinutesRemaining += t => Sound.Play("30minr.aud"); - OnFortyMinutesRemaining += t => Sound.Play("40minr.aud"); - } - } - - public void Tick() - { - if (TicksLeft <= 0) return; - - TicksLeft--; - switch (TicksLeft) - { - case 1500 * 00: OnExpired(this); break; - case 1500 * 01: OnOneMinuteRemaining(this); break; - case 1500 * 02: OnTwoMinutesRemaining(this); break; - case 1500 * 03: OnThreeMinutesRemaining(this); break; - case 1500 * 04: OnFourMinutesRemaining(this); break; - case 1500 * 05: OnFiveMinutesRemaining(this); break; - case 1500 * 10: OnTenMinutesRemaining(this); break; - case 1500 * 20: OnTwentyMinutesRemaining(this); break; - case 1500 * 30: OnThirtyMinutesRemaining(this); break; - case 1500 * 40: OnFortyMinutesRemaining(this); break; - } - } - } -} diff --git a/OpenRA.Mods.RA/Missions/FortLonestarScript.cs b/OpenRA.Mods.RA/Missions/FortLonestarScript.cs deleted file mode 100644 index 51604bdc88..0000000000 --- a/OpenRA.Mods.RA/Missions/FortLonestarScript.cs +++ /dev/null @@ -1,379 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2013 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Drawing; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Move; -using OpenRA.Traits; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA.Missions -{ - class FortLonestarScriptInfo : TraitInfo, Requires { } - - class FortLonestarScript : IWorldLoaded, ITick - { - Player multi0; - Player soviets; - - Actor entry1; - Actor entry2; - Actor entry3; - Actor entry4; - Actor entry5; - Actor entry6; - Actor entry7; - Actor entry8; - CPos[] sovietEntryPoints; - Actor paradrop1; - Actor paradrop2; - Actor paradrop3; - Actor paradrop4; - Actor patrol1; - Actor patrol2; - Actor patrol3; - Actor patrol4; - World world; - - int WaveNumber = 0; - InfoWidget evacuateWidget; - const string ShortEvacuateTemplate = "Wave {0}"; - static readonly string[] Patrol = { "e1", "e2", "e1" }; - static readonly string[] Infantry = { "e4", "e1", "e1", "e2", "e1", "e2" }; - static readonly string[] Vehicles = { "arty", "ftrk", "ftrk", "apc", "apc" }; - const string tank = "3tnk"; - const string v2 = "v2rl"; - const string boss = "4tnk"; - - const int TimerTicks = 1; - - int AttackSquad = 6; - int AttackSquadCount = 1; - int VehicleSquad = 2; - int VehicleSquadCount = 1; - - int patrolAttackFrame; - int patrolattackAtFrameIncrement; - int WaveAttackFrame; - int WaveAttackAtFrameIncrement; - int VehicleAttackFrame; - int VehicleAttackAtFrameIncrement; - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, multi0); - } - - void AttackNearestAlliedActor(Actor self) - { - var enemies = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == multi0) - && ((u.HasTrait() && !u.HasTrait()))); - - var targetEnemy = enemies.ClosestTo(self); - if (targetEnemy != null) - self.QueueActivity(new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(targetEnemy), WRange.FromCells(6)))); - } - - void SendVehicles() - { - if (SpawnVehicles == true) - { - for (int i = 1; i <= VehicleSquadCount; i++) - { - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - for (int r = 1; r <= VehicleSquad; r++) - { - var squad = world.CreateActor(Vehicles.Random(world.SharedRandom), - new TypeDictionary - { - new LocationInit(spawnPoint), - new OwnerInit(soviets) - }); - squad.QueueActivity(new AttackMove.AttackMoveActivity(squad, new Move.Move(paradrop1.Location, 3))); - } - } - } - } - - void SendWave() - { - if (SpawnWave == true) - { - for (int i = 1; i <= AttackSquadCount; i++) - { - world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == soviets) - && !u.HasTrait()); - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - for (int r = 1; r < AttackSquad; r++) - { - var squad = world.CreateActor(Infantry.Random(world.SharedRandom), - new TypeDictionary - { - new LocationInit(spawnPoint), - new OwnerInit(soviets) - }); - squad.QueueActivity(new AttackMove.AttackMoveActivity(squad, new Move.Move(paradrop1.Location, 3))); - var scatteredUnits = world.FindAliveCombatantActorsInCircle(paradrop1.Location.CenterPosition, WRange.FromCells(15)) - .Where(unit => unit.IsIdle && unit.HasTrait() && unit.Owner == soviets); - foreach (var unit in scatteredUnits) - { - AttackNearestAlliedActor(unit); - } - } - } - } - } - - void SendPatrol(string[] squad, Player owner, CPos location, CPos move) - { - if (SpawnPatrol) - { - for (int i = 0; i < squad.Length; i++) - { - var actor = world.CreateActor(squad[i], new TypeDictionary - { - new OwnerInit(owner), - new LocationInit(location) - }); - actor.QueueActivity(new AttackMove.AttackMoveActivity(actor, new Move.Move(move, 3))); - AttackNearestAlliedActor(actor); - } - } - } - - void SendBoss(string unit) - { - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - var actor = world.CreateActor(unit, new TypeDictionary - { - new OwnerInit(soviets), - new LocationInit(spawnPoint) - }); - if (multi0 != null) - { - AttackNearestAlliedActor(actor); - } - } - - void Wave(string text) - { - Game.AddChatLine(Color.Cyan, "Wave Sequence", text); - } - - public void Tick(Actor self) - { - if (multi0.WinState != WinState.Undefined) return; - - if (world.FrameNumber == patrolAttackFrame) - { - patrolAttackFrame += patrolattackAtFrameIncrement; - patrolattackAtFrameIncrement = Math.Max(patrolattackAtFrameIncrement - 5, 100); - SendPatrol(Patrol, soviets, patrol1.Location, paradrop1.Location); - SendPatrol(Patrol, soviets, patrol2.Location, paradrop2.Location); - SendPatrol(Patrol, soviets, patrol3.Location, paradrop3.Location); - SendPatrol(Patrol, soviets, patrol4.Location, paradrop4.Location); - } - if (world.FrameNumber == WaveAttackFrame) - { - WaveAttackFrame += WaveAttackAtFrameIncrement; - WaveAttackAtFrameIncrement = Math.Max(WaveAttackAtFrameIncrement - 5, 100); - SendWave(); - } - if (world.FrameNumber == VehicleAttackFrame) - { - VehicleAttackFrame += VehicleAttackAtFrameIncrement; - VehicleAttackAtFrameIncrement = Math.Max(VehicleAttackAtFrameIncrement - 5, 100); - SendVehicles(); - } - if (world.FrameNumber == TimerTicks) - { - evacuateWidget = new InfoWidget(""); - Ui.Root.AddChild(evacuateWidget); - WaveNumber++; - Wave("One Initializing"); - UpdateWaveSequence(); - } - if (world.FrameNumber == 1500 * 2) - { - WaveNumber++; - Wave("Two Initializing"); - SpawnPatrol = false; - AttackSquad = 7; - AttackSquadCount = 2; - UpdateWaveSequence(); - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location + new CVec(0, -2)); - } - if (world.FrameNumber == 1500 * 4) - { - WaveNumber++; - Wave("Three Initializing"); - UpdateWaveSequence(); - AttackSquad = 8; - } - if (world.FrameNumber == 1500 * 6) - { - WaveNumber++; - Wave("Four Initializing"); - UpdateWaveSequence(); - AttackSquad = 9; - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop3.Location); - AttackSquadCount = 3; - VehicleSquad = 3; - } - if (world.FrameNumber == 1500 * 8) - { - WaveNumber++; - Wave("Five Initializing"); - UpdateWaveSequence(); - AttackSquad = 10; - VehicleSquad = 4; - VehicleSquadCount = 2; - SendBoss(tank); - } - if (world.FrameNumber == 1500 * 11) - { - WaveNumber++; - Wave("Six Initializing"); - UpdateWaveSequence(); - AttackSquad = 11; - AttackSquadCount = 4; - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry6.Location, paradrop3.Location); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop3.Location); - SendBoss(tank); - SendBoss(tank); - } - if (world.FrameNumber == 1500 * 14) - { - WaveNumber++; - Wave("Seven Initializing"); - UpdateWaveSequence(); - AttackSquad = 12; - VehicleSquad = 5; - VehicleSquadCount = 3; - SendBoss(v2); - } - if (world.FrameNumber == 1500 * 17) - { - SpawnVehicles = true; - WaveNumber++; - Wave("Eight Initializing"); - UpdateWaveSequence(); - AttackSquad = 13; - AttackSquadCount = 5; - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry6.Location, paradrop3.Location); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop3.Location); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop2.Location); - MissionUtils.Parabomb(world, soviets, entry3.Location, paradrop2.Location); - SendBoss(v2); - SendBoss(tank); - SendBoss(v2); - } - if (world.FrameNumber == 1500 * 21) - { - WaveNumber++; - Wave("Nine Initializing"); - UpdateWaveSequence(); - AttackSquad = 14; - VehicleSquad = 6; - VehicleSquadCount = 4; - SendBoss(v2); - SendBoss(tank); - SendBoss(tank); - } - if (world.FrameNumber == 1500 * 25) - { - WaveNumber++; - Wave("Ten Initializing"); - UpdateWaveSequence(); - AttackSquad = 15; - AttackSquadCount = 6; - for (int i = 0; i < 2; i++) - { - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop3.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop2.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop4.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop1.Location + new CVec(0, 2)); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop3.Location + new CVec(0, 2)); - MissionUtils.Parabomb(world, soviets, entry3.Location, paradrop2.Location + new CVec(0, 2)); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop4.Location + new CVec(0, 2)); - } - SendBoss(boss); - } - if (world.FrameNumber == 1500 * 30) - { - SpawnWave = false; - SpawnVehicles = false; - } - if (world.FrameNumber == 1500 * 31) - { - MissionAccomplished("You and your mates have Survived the Onslaught!"); - } - } - - void UpdateWaveSequence() - { - evacuateWidget.Text = ShortEvacuateTemplate.F(WaveNumber); - } - - bool SpawnPatrol = true; - - bool SpawnWave = true; - - bool SpawnVehicles = true; - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - multi0 = w.Players.Single(p => p.InternalName == "Multi0"); - patrolAttackFrame = 750; - patrolattackAtFrameIncrement = 750; - WaveAttackFrame = 500; - WaveAttackAtFrameIncrement = 500; - VehicleAttackFrame = 2000; - VehicleAttackAtFrameIncrement = 2000; - var actors = w.WorldActor.Trait().Actors; - entry1 = actors["Entry1"]; - entry2 = actors["Entry2"]; - entry3 = actors["Entry3"]; - entry4 = actors["Entry4"]; - entry5 = actors["Entry5"]; - entry6 = actors["Entry6"]; - entry7 = actors["Entry7"]; - entry8 = actors["Entry8"]; - sovietEntryPoints = new[] { entry1, entry2, entry3, entry4, entry5, entry6, entry7, entry8 }.Select(p => p.Location).ToArray(); - paradrop1 = actors["Paradrop1"]; - paradrop2 = actors["Paradrop2"]; - paradrop3 = actors["Paradrop3"]; - paradrop4 = actors["Paradrop4"]; - patrol1 = actors["Patrol1"]; - patrol2 = actors["Patrol2"]; - patrol3 = actors["Patrol3"]; - patrol4 = actors["Patrol4"]; - MissionUtils.PlayMissionMusic(); - Game.AddChatLine(Color.Cyan, "Mission", "Defend Fort LoneStar At All costs!"); - } - } -} diff --git a/OpenRA.Mods.RA/Missions/MissionUtils.cs b/OpenRA.Mods.RA/Missions/MissionUtils.cs deleted file mode 100644 index bbbbf977b0..0000000000 --- a/OpenRA.Mods.RA/Missions/MissionUtils.cs +++ /dev/null @@ -1,253 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Move; -using OpenRA.Network; -using OpenRA.Traits; - -namespace OpenRA.Mods.RA.Missions -{ - public static class MissionUtils - { - public static IEnumerable FindAliveCombatantActorsInCircle(this World world, WPos location, WRange range) - { - return world.FindActorsInCircle(location, range) - .Where(u => u.IsInWorld && u != world.WorldActor && !u.IsDead() && !u.Owner.NonCombatant); - } - - public static IEnumerable FindAliveCombatantActorsInBox(this World world, CPos a, CPos b) - { - return world.FindActorsInBox(a, b) - .Where(u => u.IsInWorld && u != world.WorldActor && !u.IsDead() && !u.Owner.NonCombatant); - } - - public static IEnumerable FindAliveNonCombatantActorsInCircle(this World world, WPos location, WRange range) - { - return world.FindActorsInCircle(location, range) - .Where(u => u.IsInWorld && u != world.WorldActor && !u.IsDead() && u.Owner.NonCombatant); - } - - public static Actor ExtractUnitWithChinook(World world, Player owner, Actor unit, CPos entry, CPos lz, CPos exit) - { - var chinook = world.CreateActor("tran", new TypeDictionary { new OwnerInit(owner), new LocationInit(entry) }); - chinook.QueueActivity(new HeliFly(chinook, Target.FromCell(lz))); - chinook.QueueActivity(new Turn(0)); - chinook.QueueActivity(new HeliLand(true)); - chinook.QueueActivity(new WaitFor(() => chinook.Trait().Passengers.Contains(unit))); - chinook.QueueActivity(new Wait(150)); - chinook.QueueActivity(new HeliFly(chinook, Target.FromCell(exit))); - chinook.QueueActivity(new RemoveSelf()); - return chinook; - } - - public static Pair InsertUnitWithChinook(World world, Player owner, string unitName, CPos entry, CPos lz, CPos exit, Action afterUnload) - { - var unit = world.CreateActor(false, unitName, new TypeDictionary { new OwnerInit(owner) }); - var chinook = world.CreateActor("tran", new TypeDictionary { new OwnerInit(owner), new LocationInit(entry) }); - chinook.Trait().Load(chinook, unit); - chinook.QueueActivity(new HeliFly(chinook, Target.FromCell(lz))); - chinook.QueueActivity(new Turn(0)); - chinook.QueueActivity(new HeliLand(true)); - chinook.QueueActivity(new UnloadCargo(chinook, true)); - chinook.QueueActivity(new CallFunc(() => afterUnload(unit))); - chinook.QueueActivity(new Wait(150)); - chinook.QueueActivity(new HeliFly(chinook, Target.FromCell(exit))); - chinook.QueueActivity(new RemoveSelf()); - return Pair.New(chinook, unit); - } - - public static void Paradrop(World world, Player owner, IEnumerable units, CPos entry, CPos location) - { - var altitude = Rules.Info["badr"].Traits.Get().CruiseAltitude; - var badger = world.CreateActor("badr", new TypeDictionary - { - new CenterPositionInit(entry.CenterPosition + new WVec(WRange.Zero, WRange.Zero, altitude)), - new OwnerInit(owner), - new FacingInit(Util.GetFacing(location - entry, 0)) - }); - - badger.QueueActivity(new FlyAttack(Target.FromCell(location))); - badger.Trait().SetLZ(location); - var cargo = badger.Trait(); - foreach (var unit in units) - { - cargo.Load(badger, world.CreateActor(false, unit, new TypeDictionary { new OwnerInit(owner) })); - } - } - - public static void Parabomb(World world, Player owner, CPos entry, CPos location) - { - var altitude = Rules.Info["badr.bomber"].Traits.Get().CruiseAltitude; - var badger = world.CreateActor("badr.bomber", new TypeDictionary - { - new CenterPositionInit(entry.CenterPosition + new WVec(WRange.Zero, WRange.Zero, altitude)), - new OwnerInit(owner), - new FacingInit(Util.GetFacing(location - entry, 0)) - }); - - badger.Trait().SetTarget(location.CenterPosition); - badger.QueueActivity(new Fly(badger, Target.FromCell(location))); - badger.QueueActivity(new FlyOffMap()); - badger.QueueActivity(new RemoveSelf()); - } - - public static bool AreaSecuredWithUnits(World world, Player player, WPos location, WRange range) - { - var units = world.FindAliveCombatantActorsInCircle(location, range).Where(a => a.HasTrait()); - return units.Any() && units.All(a => a.Owner == player); - } - - public static IEnumerable FindQueues(World world, Player player, string category) - { - return world.ActorsWithTrait() - .Where(a => a.Actor.Owner == player && a.Trait.Info.Type == category) - .Select(a => a.Trait); - } - - public static void StartProduction(World world, Player player, string category, string item) - { - var queue = FindQueues(world, player, category).FirstOrDefault(q => q.CurrentItem() == null); - if (queue != null) - queue.ResolveOrder(queue.self, Order.StartProduction(queue.self, item, 1)); - } - - public static Actor UnitContaining(this World world, Actor actor) - { - return world.Actors.FirstOrDefault(a => a.HasTrait() && a.Trait().Passengers.Contains(actor)); - } - - public static void PlayMissionMusic() - { - if (!Rules.InstalledMusic.Any() || !Game.Settings.Sound.MapMusic) - return; - Game.ConnectionStateChanged += StopMusic; - PlayMusic(); - } - - static void PlayMusic() - { - var track = Rules.InstalledMusic.Random(Game.CosmeticRandom); - Sound.PlayMusicThen(track.Value, PlayMusic); - } - - static void StopMusic(OrderManager orderManager) - { - if (!orderManager.GameStarted) - { - Sound.StopMusic(); - Game.ConnectionStateChanged -= StopMusic; - } - } - - public static void CoopMissionAccomplished(World world, string text, params Player[] players) - { - if (players.First().WinState != WinState.Undefined) - return; - - foreach (var player in players) - player.WinState = WinState.Won; - - if (text != null) - Game.AddChatLine(Color.Blue, "Mission accomplished", text); - - Sound.Play("misnwon1.aud"); - } - - public static void CoopMissionFailed(World world, string text, params Player[] players) - { - if (players.First().WinState != WinState.Undefined) - return; - - foreach (var player in players) - { - player.WinState = WinState.Lost; - foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.Owner == player && !a.IsDead())) - { - actor.Kill(actor); - } - } - - if (text != null) - Game.AddChatLine(Color.Red, "Mission failed", text); - - Sound.Play("misnlst1.aud"); - } - - public static Actor CreateActor(this World world, bool addToWorld, string name, Player owner, CPos? location, int? facing) - { - var td = new TypeDictionary { new OwnerInit(owner) }; - if (location.HasValue) - td.Add(new LocationInit(location.Value)); - if (facing.HasValue) - td.Add(new FacingInit(facing.Value)); - return world.CreateActor(addToWorld, name, td); - } - - public static Actor CreateActor(this World world, string name, Player owner, CPos? location, int? facing) - { - return CreateActor(world, true, name, owner, location, facing); - } - - public static void CapOre(Player player) - { - var res = player.PlayerActor.Trait(); - if (res.Ore > res.OreCapacity * 0.8) - res.Ore = (int)(res.OreCapacity * 0.8); - } - - public static void AttackNearestLandActor(bool queued, Actor self, Player enemyPlayer) - { - var enemies = self.World.Actors.Where(u => u.AppearsHostileTo(self) && u.Owner == enemyPlayer - && ((u.HasTrait() && !u.HasTrait()) || (u.HasTrait() && !u.HasTrait())) && u.IsInWorld && !u.IsDead()); - - var enemy = enemies.ClosestTo(self); - if (enemy != null) - self.QueueActivity(queued, new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(enemy), WRange.FromCells(3)))); - } - } - - class TransformedAction : INotifyTransformed - { - Action a; - - public TransformedAction(Action a) - { - this.a = a; - } - - public void OnTransformed(Actor toActor) - { - a(toActor); - } - } - - class InfiltrateAction : IAcceptInfiltrator - { - Action a; - - public InfiltrateAction(Action a) - { - this.a = a; - } - - public void OnInfiltrate(Actor self, Actor spy) - { - a(spy); - } - } -} diff --git a/OpenRA.Mods.RA/Missions/MissionWidgets.cs b/OpenRA.Mods.RA/Missions/MissionWidgets.cs deleted file mode 100644 index 5da20131c9..0000000000 --- a/OpenRA.Mods.RA/Missions/MissionWidgets.cs +++ /dev/null @@ -1,55 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System.Drawing; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA.Missions -{ - public class CountdownTimerWidget : Widget - { - public CountdownTimer Timer; - public string Format; - - public CountdownTimerWidget(CountdownTimer timer, string format) - { - Timer = timer; - Format = format; - } - - public override void Draw() - { - if (!IsVisible()) return; - - // TODO: Don't hardcode the screen position - var font = Game.Renderer.Fonts["Bold"]; - var text = Format.F(WidgetUtils.FormatTime(Timer.TicksLeft)); - var pos = new float2(Game.Renderer.Resolution.Width * 0.5f - font.Measure(text).X / 2, Game.Renderer.Resolution.Height * 0.1f); - font.DrawTextWithContrast(text, pos, Timer.TicksLeft <= 25 * 60 && Game.LocalTick % 50 < 25 ? Color.Red : Color.White, Color.Black, 1); - } - } - - public class InfoWidget : Widget - { - public string Text; - - public InfoWidget(string text) { Text = text; } - - public override void Draw() - { - if (!IsVisible()) return; - - // TODO: Don't hardcode the screen position - var font = Game.Renderer.Fonts["Bold"]; - var pos = new float2(Game.Renderer.Resolution.Width * 0.5f - font.Measure(Text).X / 2, Game.Renderer.Resolution.Height * 0.1f); - font.DrawTextWithContrast(Text, pos, Color.White, Color.Black, 1); - } - } -} diff --git a/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs b/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs deleted file mode 100644 index bc1c5431b1..0000000000 --- a/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs +++ /dev/null @@ -1,342 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Linq; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Move; -using OpenRA.Traits; - -namespace OpenRA.Mods.RA.Missions -{ - class MonsterTankMadnessScriptInfo : ITraitInfo, Requires - { - public readonly string[] FirstStartUnits = null; - public readonly string[] SecondStartUnits = null; - public readonly string[] ThirdStartUnits = null; - public readonly string[] FirstBaseUnits = null; - public readonly string[] CivilianEvacuees = null; - - public object Create(ActorInitializer init) { return new MonsterTankMadnessScript(this); } - } - - class MonsterTankMadnessScript : IHasObjectives, IWorldLoaded, ITick - { - MonsterTankMadnessScriptInfo info; - - public MonsterTankMadnessScript(MonsterTankMadnessScriptInfo info) - { - this.info = info; - } - - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return new[] { findOutpost, evacuateDemitri, infiltrateRadarDome }; } } - - Objective findOutpost = new Objective(ObjectiveType.Primary, FindOutpostText, ObjectiveStatus.InProgress); - Objective evacuateDemitri = new Objective(ObjectiveType.Primary, EvacuateDemitriText, ObjectiveStatus.InProgress); - Objective infiltrateRadarDome = new Objective(ObjectiveType.Primary, InfiltrateRadarDomeText, ObjectiveStatus.InProgress); - - const string FindOutpostText = "Find our outpost and start repairs on it."; - const string EvacuateDemitriText = "Find and evacuate Dr. Demitri. He is missing -- likely hiding in the village to the far south."; - const string InfiltrateRadarDomeText = "Reprogram the Super Tanks by sending a spy into the Soviet radar dome."; - - //const string Briefing = "Dr. Demitri, creator of a Soviet Super Tank, wants to defect." - // + " We planned to extract him while the Soviets were testing their new weapon, but something has gone wrong." - // + " The Super Tanks are out of control, and Demitri is missing -- likely hiding in the village to the far south." - // + " Find our outpost and start repairs on it, then find and evacuate Demitri." - // + " As for the tanks, we can reprogram them. Send a spy into the Soviet radar dome in the NE, turning the tanks on their creators."; - - World world; - - Player neutral; - Player greece; - Player ussr; - Player badGuy; - Player turkey; - - Actor startEntryPoint; - Actor startMovePoint; - Actor startBridgeEndPoint; - Actor alliedBaseTopLeft; - Actor alliedBaseBottomRight; - Actor alliedBaseEntryPoint; - Actor alliedBaseMovePoint; - - Actor demitriChurch; - Actor demitriChurchSpawnPoint; - Actor demitriTriggerAreaCenter; - Actor demitri; - Actor demitriLZ; - Actor demitriLZFlare; - Actor demitriChinook; - - Actor provingGroundsCameraPoint; - - Actor[] superTanks; - - Actor hospital; - Actor hospitalCivilianSpawnPoint; - Actor hospitalSuperTankPoint; - - Actor superTankDome; - - bool hospitalEvacuated; - bool superTanksDestroyed; - - int baseTransferredTick = -1; - int superTankDomeInfiltratedTick = -1; - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, greece); - } - - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, greece); - } - - public void Tick(Actor self) - { - if (greece.WinState != WinState.Undefined) return; - - if (world.FrameNumber == 1) - SpawnAndMoveBridgeUnits(info.FirstStartUnits); - - else if (world.FrameNumber == 25 * 3) - SpawnAndMoveBridgeUnits(info.SecondStartUnits); - - else if (world.FrameNumber == 25 * 8) - SpawnAndMoveBridgeUnits(info.ThirdStartUnits); - - MissionUtils.CapOre(ussr); - - if (!hospitalEvacuated && !hospital.IsDead() && MissionUtils.AreaSecuredWithUnits(world, greece, hospital.CenterPosition, WRange.FromCells(5))) - { - EvacuateCivilians(); - hospitalEvacuated = true; - } - - if (baseTransferredTick == -1) - { - var actorsInBase = world.FindActorsInBox(alliedBaseTopLeft.Location, alliedBaseBottomRight.Location).Where(a => a != a.Owner.PlayerActor); - if (actorsInBase.Any(a => a.Owner == greece)) - { - SetupAlliedBase(actorsInBase); - baseTransferredTick = world.FrameNumber; - findOutpost.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - } - } - else if (superTankDomeInfiltratedTick == -1) - { - if (world.FrameNumber == baseTransferredTick + 25 * 100) - foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld)) - tank.QueueActivity(false, new Move.Move(hospitalSuperTankPoint.Location, 2)); - - else if (world.FrameNumber == baseTransferredTick + 25 * 180) - foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld)) - tank.QueueActivity(false, new Move.Move(alliedBaseBottomRight.Location, 2)); - - else if (world.FrameNumber == baseTransferredTick + 25 * 280) - foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld)) - tank.QueueActivity(false, new Move.Move(demitriTriggerAreaCenter.Location, 2)); - - else if (world.FrameNumber == baseTransferredTick + 25 * 480) - foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld)) - tank.QueueActivity(false, new Move.Move(demitriLZ.Location, 4)); - } - else - { - if (world.FrameNumber % 25 == 0) - foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld && t.IsIdle)) - MissionUtils.AttackNearestLandActor(false, tank, ussr); - if (world.FrameNumber == superTankDomeInfiltratedTick + 25 * 180) - { - foreach (var actor in world.Actors.Where(a => !a.IsDead() && (a.Owner == ussr || a.Owner == badGuy))) - actor.Kill(actor); - } - if (world.FrameNumber == superTankDomeInfiltratedTick + 25 * 181) - { - foreach (var tank in superTanks.Where(t => !t.IsDead())) - tank.Kill(tank); - superTanksDestroyed = true; - } - } - if (evacuateDemitri.Status != ObjectiveStatus.Completed) - { - if (demitri == null) - { - if (demitriChurch.IsDead()) - { - evacuateDemitri.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("Dr. Demitri was killed."); - } - - else if (MissionUtils.AreaSecuredWithUnits(world, greece, demitriTriggerAreaCenter.CenterPosition, WRange.FromCells(3))) - { - demitri = world.CreateActor("demitri", greece, demitriChurchSpawnPoint.Location, null); - demitri.QueueActivity(new Move.Move(demitriTriggerAreaCenter.Location, 0)); - demitriLZFlare = world.CreateActor("flare", greece, demitriLZ.Location, null); - Sound.Play("flaren1.aud"); - var chinookEntry = new CPos(demitriLZ.Location.X, 0); - demitriChinook = MissionUtils.ExtractUnitWithChinook(world, greece, demitri, chinookEntry, demitriLZ.Location, chinookEntry); - } - } - else if (demitri.IsDead()) - { - evacuateDemitri.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("Dr. Demitri was killed."); - } - else if (demitriChinook != null && !demitriChinook.IsDead() && !world.Map.IsInMap(demitriChinook.Location) && demitriChinook.Trait().Passengers.Contains(demitri)) - { - demitriLZFlare.Destroy(); - SpawnAndMoveAlliedBaseUnits(info.FirstBaseUnits); - evacuateDemitri.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - } - } - if (!world.Actors.Any(a => a.Owner == greece && a.IsInWorld && !a.IsDead() - && ((a.HasTrait() && !a.HasTrait()) || a.HasTrait() || a.HasTrait()))) - { - MissionFailed("The remaining Allied forces in the area have been wiped out."); - } - if (superTankDomeInfiltratedTick == -1 && superTankDome.IsDead()) - { - infiltrateRadarDome.Status = ObjectiveStatus.Failed; - OnObjectivesUpdated(true); - MissionFailed("The Soviet radar dome was destroyed."); - } - if (superTanksDestroyed && evacuateDemitri.Status == ObjectiveStatus.Completed) - { - MissionAccomplished("Dr. Demitri has been extracted and the super tanks have been dealt with."); - } - } - - void SetupAlliedBase(IEnumerable actors) - { - foreach (var actor in actors) - { - // hack hack hack - actor.ChangeOwner(greece); - if (actor.Info.Name == "pbox") - { - actor.AddTrait(new TransformedAction(s => s.Trait().Load(s, world.CreateActor(false, "e1", greece, null, null)))); - actor.QueueActivity(new Transform(actor, "hbox.e1") { SkipMakeAnims = true }); - } - else if (actor.Info.Name == "proc") - actor.QueueActivity(new Transform(actor, "proc") { SkipMakeAnims = true }); - foreach (var c in actor.TraitsImplementing()) - c.OnCapture(actor, actor, neutral, greece); - } - } - - void EvacuateCivilians() - { - foreach (var unit in info.CivilianEvacuees) - { - var actor = world.CreateActor(unit, neutral, hospitalCivilianSpawnPoint.Location, null); - actor.Trait().Nudge(actor, actor, true); - actor.QueueActivity(new Move.Move(alliedBaseEntryPoint.Location, 0)); - actor.QueueActivity(new RemoveSelf()); - } - } - - void SpawnAndMoveBridgeUnits(string[] units) - { - Sound.Play("reinfor1.aud"); - foreach (var unit in units) - world.CreateActor(unit, greece, startEntryPoint.Location, Traits.Util.GetFacing(startBridgeEndPoint.CenterPosition - startEntryPoint.CenterPosition, 0)) - .QueueActivity(new Move.Move(startMovePoint.Location, 0)); - } - - void SpawnAndMoveAlliedBaseUnits(string[] units) - { - Sound.Play("reinfor1.aud"); - foreach (var unit in units) - world.CreateActor(unit, greece, alliedBaseEntryPoint.Location, Traits.Util.GetFacing(alliedBaseMovePoint.CenterPosition - alliedBaseEntryPoint.CenterPosition, 0)) - .QueueActivity(new Move.Move(alliedBaseMovePoint.Location, 0)); - } - - void OnSuperTankDomeInfiltrated(Actor spy) - { - if (superTankDomeInfiltratedTick != -1) return; - - superTankDome.QueueActivity(new Transform(superTankDome, "dome") { SkipMakeAnims = true }); - - world.AddFrameEndTask(_ => - { - superTanks.Do(world.Remove); - turkey.Stances[greece] = turkey.Stances[neutral] = Stance.Ally; - greece.Stances[turkey] = neutral.Stances[turkey] = Stance.Ally; - greece.Shroud.ExploreAll(world); - superTanks.Do(world.Add); - }); - - foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld)) - MissionUtils.AttackNearestLandActor(false, tank, ussr); - - superTankDomeInfiltratedTick = world.FrameNumber; - - infiltrateRadarDome.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - } - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - - neutral = w.Players.Single(p => p.InternalName == "Neutral"); - greece = w.Players.Single(p => p.InternalName == "Greece"); - ussr = w.Players.Single(p => p.InternalName == "USSR"); - badGuy = w.Players.Single(p => p.InternalName == "BadGuy"); - turkey = w.Players.Single(p => p.InternalName == "Turkey"); - - greece.PlayerActor.Trait().Cash = 0; - ussr.PlayerActor.Trait().Cash = 2000; - - var actors = w.WorldActor.Trait().Actors; - startEntryPoint = actors["StartEntryPoint"]; - startMovePoint = actors["StartMovePoint"]; - startBridgeEndPoint = actors["StartBridgeEndPoint"]; - alliedBaseTopLeft = actors["AlliedBaseTopLeft"]; - alliedBaseBottomRight = actors["AlliedBaseBottomRight"]; - alliedBaseEntryPoint = actors["AlliedBaseEntryPoint"]; - alliedBaseMovePoint = actors["AlliedBaseMovePoint"]; - - demitriChurch = actors["DemitriChurch"]; - demitriChurchSpawnPoint = actors["DemitriChurchSpawnPoint"]; - demitriTriggerAreaCenter = actors["DemitriTriggerAreaCenter"]; - demitriLZ = actors["DemitriLZ"]; - - hospital = actors["Hospital"]; - hospitalCivilianSpawnPoint = actors["HospitalCivilianSpawnPoint"]; - hospitalSuperTankPoint = actors["HospitalSuperTankPoint"]; - - superTanks = actors.Values.Where(a => a.Info.Name == "5tnk" && a.Owner == turkey).ToArray(); - - provingGroundsCameraPoint = actors["ProvingGroundsCameraPoint"]; - world.CreateActor("camera", greece, provingGroundsCameraPoint.Location, null); - - superTankDome = actors["SuperTankDome"]; - superTankDome.AddTrait(new InfiltrateAction(OnSuperTankDomeInfiltrated)); - superTankDome.AddTrait(new TransformedAction(self => superTankDome = self)); - - wr.Viewport.Center(startEntryPoint.CenterPosition); - MissionUtils.PlayMissionMusic(); - } - } -} diff --git a/OpenRA.Mods.RA/Missions/Objective.cs b/OpenRA.Mods.RA/Missions/Objective.cs deleted file mode 100644 index b0142c2205..0000000000 --- a/OpenRA.Mods.RA/Missions/Objective.cs +++ /dev/null @@ -1,52 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using OpenRA.Traits; - -namespace OpenRA.Mods.RA.Missions -{ - public class Objective - { - public ObjectiveType Type; - public string Text; - public ObjectiveStatus Status; - - public Objective(ObjectiveType type, string text, ObjectiveStatus status) - { - Type = type; - Text = text; - Status = status; - } - } - - public enum ObjectiveType { Primary, Secondary } - public enum ObjectiveStatus { Inactive, InProgress, Completed, Failed } - - public interface IHasObjectives - { - event Action OnObjectivesUpdated; - IEnumerable Objectives { get; } - } - - public class MissionObjectivesPanelInfo : ITraitInfo - { - public string ObjectivesPanel = null; - public object Create(ActorInitializer init) { return new MissionObjectivesPanel(this); } - } - - public class MissionObjectivesPanel : IObjectivesPanel - { - MissionObjectivesPanelInfo info; - public MissionObjectivesPanel(MissionObjectivesPanelInfo info) { this.info = info; } - public string ObjectivesPanel { get { return info.ObjectivesPanel; } } - } -} diff --git a/OpenRA.Mods.RA/Missions/Soviet01ClassicScript.cs b/OpenRA.Mods.RA/Missions/Soviet01ClassicScript.cs deleted file mode 100644 index 775165c0dc..0000000000 --- a/OpenRA.Mods.RA/Missions/Soviet01ClassicScript.cs +++ /dev/null @@ -1,208 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Air; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Move; -using OpenRA.Scripting; -using OpenRA.Traits; - -namespace OpenRA.Mods.RA.Missions -{ - class Soviet01ClassicScriptInfo : TraitInfo, Requires { } - - class Soviet01ClassicScript : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return new[] { destroy }; } } - - Objective destroy = new Objective(ObjectiveType.Primary, DestroyText, ObjectiveStatus.InProgress); - - const string DestroyText = "A pitiful excuse for resistance has blockaded itself in this village." - + " Stalin 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."; - - World world; - - Player ussr; - Player france; - - Actor startJeep; - Actor startJeepMovePoint; - Actor church; - bool startJeepParadropped; - bool churchParadropped; - - Actor paradropPoint1; - Actor paradropEntryPoint1; - Actor paradropPoint2; - Actor paradropEntryPoint2; - - Actor airfield1; - Actor airfield2; - Actor airfield3; - Actor[] airfields; - - const string BadgerName = "badr"; - static readonly string[] Reinforcements = { "e1", "e1", "e1", "e2", "e2" }; - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, ussr); - } - - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, ussr); - } - - public void Tick(Actor self) - { - if (ussr.WinState != WinState.Undefined) return; - - var unitsAndBuildings = world.Actors.Where(a => !a.IsDead() && a.IsInWorld && (a.HasTrait() || (a.HasTrait() && !a.HasTrait()))); - if (!unitsAndBuildings.Any(a => a.Owner == france)) - { - destroy.Status = ObjectiveStatus.Completed; - MissionAccomplished("We destroyed the resistance."); - } - else if (!unitsAndBuildings.Any(a => a.Owner == ussr)) - { - destroy.Status = ObjectiveStatus.Failed; - MissionFailed("We were destroyed by the resistance."); - } - if (!startJeepParadropped && startJeep.IsDead()) - { - Sound.Play("reinfor1.aud"); - MissionUtils.Paradrop(world, ussr, Reinforcements, paradropEntryPoint1.Location, paradropPoint1.Location); - startJeepParadropped = true; - } - if (!churchParadropped && church.IsDead()) - { - Sound.Play("reinfor1.aud"); - MissionUtils.Paradrop(world, ussr, Reinforcements, paradropEntryPoint2.Location, paradropPoint2.Location); - churchParadropped = true; - } - } - - void LandYaks() - { - foreach (var airfield in airfields) - { - var entry = airfield.Location - new CVec(10, 0); - var altitude = Rules.Info["yak"].Traits.Get().CruiseAltitude; - var yak = world.CreateActor("yak", new TypeDictionary - { - new CenterPositionInit(entry.CenterPosition + new WVec(WRange.Zero, WRange.Zero, altitude)), - new OwnerInit(ussr), - new FacingInit(Traits.Util.GetFacing(airfield.Location - entry, 0)) - }); - - while (yak.Trait().TakeAmmo()) { } - - yak.QueueActivity(new ReturnToBase(yak, airfield)); - yak.QueueActivity(new ResupplyAircraft()); - } - } - - void MoveJeep() - { - startJeep.QueueActivity(new Move.Move(startJeepMovePoint.Location, 0)); - startJeep.QueueActivity(new Turn(128)); - startJeep.QueueActivity(new CallFunc(() => - { - var bridge = world.Actors.Where(a => a.HasTrait()).ClosestTo(startJeep); - bridge.Trait().Demolish(bridge, startJeep); - })); - } - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - - ussr = w.Players.Single(p => p.InternalName == "USSR"); - france = w.Players.Single(p => p.InternalName == "France"); - - var actors = w.WorldActor.Trait().Actors; - startJeep = actors["StartJeep"]; - startJeepMovePoint = actors["StartJeepMovePoint"]; - paradropPoint1 = actors["ParadropPoint1"]; - paradropEntryPoint1 = actors["ParadropEntryPoint1"]; - paradropPoint2 = actors["ParadropPoint2"]; - paradropEntryPoint2 = actors["ParadropEntryPoint2"]; - church = actors["Church"]; - airfield1 = actors["Airfield1"]; - airfield2 = actors["Airfield2"]; - airfield3 = actors["Airfield3"]; - airfields = new[] { airfield1, airfield2, airfield3 }; - - wr.Viewport.Center(startJeep.CenterPosition); - - if (w.LobbyInfo.IsSinglePlayer) - { - Media.PlayFMVFullscreen(w, "soviet1.vqa", () => - { - LandYaks(); - MoveJeep(); - MissionUtils.PlayMissionMusic(); - }); - } - else - { - LandYaks(); - MoveJeep(); - MissionUtils.PlayMissionMusic(); - } - } - } - - class Soviet01ClassicContainsActorsInfo : ITraitInfo - { - public readonly string[] Actors = { }; - - public object Create(ActorInitializer init) { return new Soviet01ClassicContainsActors(this); } - } - - class Soviet01ClassicContainsActors : INotifyDamage - { - bool spawned; - Soviet01ClassicContainsActorsInfo info; - - public Soviet01ClassicContainsActors(Soviet01ClassicContainsActorsInfo info) - { - this.info = info; - } - - public void Damaged(Actor self, AttackInfo e) - { - if (spawned || self.IsDead()) - { - return; - } - foreach (var actor in info.Actors) - { - var unit = self.World.CreateActor(actor, new TypeDictionary - { - new OwnerInit(self.Owner), - new LocationInit(self.Location) - }); - unit.Trait().Nudge(unit, unit, true); - } - spawned = true; - } - } -} diff --git a/OpenRA.Mods.RA/Missions/Survival01Script.cs b/OpenRA.Mods.RA/Missions/Survival01Script.cs deleted file mode 100644 index 4d7b0e0d16..0000000000 --- a/OpenRA.Mods.RA/Missions/Survival01Script.cs +++ /dev/null @@ -1,346 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2013 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. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Collections.Generic; -using System.Linq; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Buildings; -using OpenRA.Mods.RA.Move; -using OpenRA.Traits; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA.Missions -{ - class Survival01ScriptInfo : TraitInfo, Requires { } - - class Survival01Script : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return new[] { maintainPresence, destroySoviets }; } } - - Objective maintainPresence = new Objective(ObjectiveType.Primary, MaintainPresenceText, ObjectiveStatus.InProgress); - Objective destroySoviets = new Objective(ObjectiveType.Primary, DestroySovietsText, ObjectiveStatus.Inactive); - - const string MaintainPresenceText = "Enforce your position and hold-out the onslaught until reinforcements arrive. We must not lose the base!"; - const string DestroySovietsText = "Take control of French reinforcements and dismantle the nearby Soviet base."; - - Player allies; - Player soviets; - - Actor sovietEntryPoint1; - Actor sovietEntryPoint2; - Actor sovietEntryPoint3; - Actor sovietEntryPoint4; - Actor sovietEntryPoint5; - CPos[] sovietEntryPoints; - Actor sovietRallyPoint1; - Actor sovietRallyPoint2; - Actor sovietRallyPoint3; - Actor sovietRallyPoint4; - Actor sovietRallyPoint5; - CPos[] sovietRallyPoints; - - Actor sovietinfantryentry1; - Actor sovietinfantryrally1; - - Actor badgerEntryPoint1; - Actor badgerEntryPoint2; - Actor paraDrop1; - Actor paraDrop2; - Actor sovietEntryPoint7; - - Actor alliesbase1; - Actor alliesbase2; - Actor alliesbase; - Actor sam1; - Actor sam2; - Actor barrack1; - World world; - - CountdownTimer survivalTimer; - CountdownTimerWidget survivalTimerWidget; - - int attackAtFrame; - int attackAtFrameIncrement; - int attackAtFrameInf; - int attackAtFrameIncrementInf; - - const int paradropTicks = 750; - static readonly string[] badger1Passengers = { "e1", "e1", "e1", "e2", "e2" }; - - const int factoryClearRange = 10; - static readonly string[] squad1 = { "e1", "e1" }; - static readonly string[] squad2 = { "e2", "e2" }; - static readonly string[] sovietVehicles = { "3tnk", "3tnk", "3tnk", "3tnk", "3tnk", "3tnk", "v2rl", "v2rl", "ftrk", "ftrk", "ftrk", "apc", "apc" }; - static readonly string[] sovietInfantry = { "e1", "e1", "e1", "e1", "e2", "e2", "e2", "e4", "e4", "e3", }; - static readonly string[] reinforcements = { "2tnk", "2tnk", "2tnk", "2tnk", "2tnk", "1tnk", "1tnk", "1tnk", "arty", "arty", "arty", "jeep", "jeep" }; - const int sovietAttackGroupSize = 5; - const int sovietInfantryGroupSize = 7; - - const int timerTicks = 1500 * 25; - bool spawningSovietUnits = true; - bool spawningInfantry = true; - string difficulty; - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, allies); - } - - public void Tick(Actor self) - { - if (allies.WinState != WinState.Undefined) - return; - - survivalTimer.Tick(); - - if (world.FrameNumber == attackAtFrame) - { - attackAtFrame += attackAtFrameIncrement; - attackAtFrameIncrement = Math.Max(attackAtFrameIncrement - 5, 100); - SpawnSovietUnits(); - ManageSovietUnits(); - MissionUtils.CapOre(soviets); - } - - if (world.FrameNumber == attackAtFrameInf) - { - attackAtFrameInf += attackAtFrameIncrementInf; - attackAtFrameIncrementInf = Math.Max(attackAtFrameIncrementInf - 5, 100); - SpawnSovietInfantry(); - } - - if (barrack1.Destroyed) - { - spawningInfantry = false; - } - - if (world.FrameNumber == paradropTicks) - { - MissionUtils.Paradrop(world, soviets, badger1Passengers, badgerEntryPoint1.Location, paraDrop1.Location); - MissionUtils.Paradrop(world, soviets, badger1Passengers, badgerEntryPoint2.Location, paraDrop2.Location); - } - - if (world.FrameNumber == paradropTicks * 2) - { - MissionUtils.Paradrop(world, soviets, badger1Passengers, badgerEntryPoint1.Location, alliesbase2.Location); - MissionUtils.Paradrop(world, soviets, badger1Passengers, badgerEntryPoint2.Location, alliesbase1.Location); - } - - if (world.FrameNumber == 1500 * 23) - { - attackAtFrame = 100; - attackAtFrameIncrement = 100; - } - - if (world.FrameNumber == 1500 * 25) - { - spawningSovietUnits = false; - spawningInfantry = false; - } - - if (destroySoviets.Status == ObjectiveStatus.InProgress) - { - if (barrack1.Destroyed) - { - destroySoviets.Status = ObjectiveStatus.Completed; - OnObjectivesUpdated(true); - MissionAccomplished("The French forces have survived and dismantled the soviet presence in the area!"); - } - } - } - - void SendSquad1() - { - for (int i = 0; i < squad1.Length; i++) - { - var actor = world.CreateActor(squad1[i], new TypeDictionary { new OwnerInit(soviets), new LocationInit(alliesbase1.Location + new CVec(-2 + i, -6 + i * 2)) }); - actor.QueueActivity(new Move.Move(alliesbase1.Location)); - } - } - - void SendSquad2() - { - for (int i = 0; i < squad2.Length; i++) - { - var actor = world.CreateActor(squad2[i], new TypeDictionary { new OwnerInit(soviets), new LocationInit(alliesbase2.Location + new CVec(-9 + i, -2 + i * 2)) }); - actor.QueueActivity(new Move.Move(alliesbase2.Location)); - } - } - - void SpawnSovietInfantry() - { - if (spawningInfantry) - { - var units = world.CreateActor((sovietInfantry).Random(world.SharedRandom), new TypeDictionary { new LocationInit(sovietinfantryentry1.Location), new OwnerInit(soviets) }); - units.QueueActivity(new Move.Move(sovietinfantryrally1.Location, 3)); - var unitsincircle = world.FindAliveCombatantActorsInCircle(sovietinfantryrally1.CenterPosition, WRange.FromCells(10)) - .Where(a => a.Owner == soviets && a.IsIdle && a.HasTrait()); - if (unitsincircle.Count() >= sovietInfantryGroupSize) - { - foreach (var scatteredunits in unitsincircle) - AttackNearestAlliedActor(scatteredunits); - } - } - } - - void SpawnSovietUnits() - { - if (spawningSovietUnits) - { - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - var rallyPoint = sovietRallyPoints[route]; - var unit = world.CreateActor(sovietVehicles.Random(world.SharedRandom), - new TypeDictionary { new LocationInit(spawnPoint), new OwnerInit(soviets) }); - unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, new Move.Move(rallyPoint, 3))); - } - } - - void AttackNearestAlliedActor(Actor self) - { - var enemies = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == allies) - && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait())); - - var targetEnemy = enemies.ClosestTo(self); - if (targetEnemy != null) - self.QueueActivity(new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(targetEnemy), WRange.FromCells(3)))); - } - - void ManageSovietUnits() - { - foreach (var rallyPoint in sovietRallyPoints) - { - var units = world.FindAliveCombatantActorsInCircle(rallyPoint.CenterPosition, WRange.FromCells(4)) - .Where(u => u.IsIdle && u.HasTrait() && u.Owner == soviets); - if (units.Count() >= sovietAttackGroupSize) - { - foreach (var unit in units) - { - AttackNearestAlliedActor(unit); - } - } - } - var scatteredUnits = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && u.HasTrait() && u.IsIdle && u.Owner == soviets) - .Except(world.WorldActor.Trait().Actors.Values) - .Except(sovietRallyPoints.SelectMany(rp => world.FindAliveCombatantActorsInCircle(rp.CenterPosition, WRange.FromCells(4)))); - foreach (var unit in scatteredUnits) - { - AttackNearestAlliedActor(unit); - } - } - - void StartCountDownTimer() - { - Sound.Play("timergo1.aud"); - survivalTimer = new CountdownTimer(timerTicks, CountDownTimerExpired, true); - survivalTimerWidget = new CountdownTimerWidget(survivalTimer, "Survive: {0}"); - Ui.Root.AddChild(survivalTimerWidget); - } - - void SendReinforcements() - { - foreach (var unit in reinforcements) - { - var u = world.CreateActor(unit, new TypeDictionary - { - new LocationInit(sovietEntryPoint7.Location), - new FacingInit(0), - new OwnerInit(allies) - }); - u.QueueActivity(new Move.Move(alliesbase.Location)); - } - } - - void CountDownTimerExpired(CountdownTimer countDownTimer) - { - survivalTimerWidget.Visible = false; - SendReinforcements(); - maintainPresence.Status = ObjectiveStatus.Completed; - destroySoviets.Status = ObjectiveStatus.InProgress; - OnObjectivesUpdated(true); - } - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - - allies = w.Players.SingleOrDefault(p => p.InternalName == "Allies"); - if (allies != null) - { - attackAtFrameInf = 300; - attackAtFrameIncrementInf = 300; - attackAtFrame = 450; - attackAtFrameIncrement = 450; - } - - difficulty = w.LobbyInfo.GlobalSettings.Difficulty; - Game.Debug("{0} difficulty selected".F(difficulty)); - - switch (difficulty) - { - case "Hard": - attackAtFrameIncrement = 350; - attackAtFrameIncrementInf = 200; - break; - case "Normal": - attackAtFrameIncrement = 450; - attackAtFrameIncrementInf = 300; - break; - case "Easy": - attackAtFrameIncrement = 550; - attackAtFrameIncrementInf = 400; - break; - } - - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - var actors = w.WorldActor.Trait().Actors; - sovietEntryPoint1 = actors["sovietEntryPoint1"]; - sovietEntryPoint2 = actors["sovietEntryPoint2"]; - sovietEntryPoint3 = actors["sovietEntryPoint3"]; - sovietEntryPoint4 = actors["sovietEntryPoint4"]; - sovietEntryPoint5 = actors["sovietEntryPoint5"]; - sovietEntryPoints = new[] { sovietEntryPoint1, sovietEntryPoint2, sovietEntryPoint3, sovietEntryPoint4, sovietEntryPoint5 }.Select(p => p.Location).ToArray(); - sovietRallyPoint1 = actors["sovietRallyPoint1"]; - sovietRallyPoint2 = actors["sovietRallyPoint2"]; - sovietRallyPoint3 = actors["sovietRallyPoint3"]; - sovietRallyPoint4 = actors["sovietRallyPoint4"]; - sovietRallyPoint5 = actors["sovietRallyPoint5"]; - sovietRallyPoints = new[] { sovietRallyPoint1, sovietRallyPoint2, sovietRallyPoint3, sovietRallyPoint4, sovietRallyPoint5 }.Select(p => p.Location).ToArray(); - alliesbase = actors["alliesbase"]; - alliesbase1 = actors["alliesbase1"]; - alliesbase2 = actors["alliesbase2"]; - badgerEntryPoint1 = actors["BadgerEntryPoint1"]; - badgerEntryPoint2 = actors["BadgerEntryPoint2"]; - sovietEntryPoint7 = actors["sovietEntryPoint7"]; - sovietinfantryentry1 = actors["SovietInfantryEntry1"]; - sovietinfantryrally1 = actors["SovietInfantryRally1"]; - paraDrop1 = actors["ParaDrop1"]; - paraDrop2 = actors["ParaDrop2"]; - barrack1 = actors["Barrack1"]; - sam1 = actors["Sam1"]; - sam2 = actors["Sam2"]; - - var shroud = allies.PlayerActor.Trait(); - shroud.Explore(w, sam1.Location, WRange.FromCells(4)); - shroud.Explore(w, sam2.Location, WRange.FromCells(4)); - - wr.Viewport.Center(alliesbase.CenterPosition); - StartCountDownTimer(); - SendSquad1(); - SendSquad2(); - MissionUtils.PlayMissionMusic(); - } - } -} diff --git a/OpenRA.Mods.RA/Missions/Survival02Script.cs b/OpenRA.Mods.RA/Missions/Survival02Script.cs deleted file mode 100644 index 7139793f37..0000000000 --- a/OpenRA.Mods.RA/Missions/Survival02Script.cs +++ /dev/null @@ -1,411 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2013 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. For more information, - * see COPYING. - */ -#endregion - -using System.Collections.Generic; -using System.Linq; -using System; -using System.Drawing; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Mods.RA.Activities; -using OpenRA.Mods.RA.Move; -using OpenRA.Traits; -using OpenRA.Widgets; -using OpenRA.Mods.RA.Buildings; - -namespace OpenRA.Mods.RA.Missions -{ - class Survival02ScriptInfo : TraitInfo, Requires { } - - class Survival02Script : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; - - public IEnumerable Objectives { get { return objectives.Values; } } - - Dictionary objectives = new Dictionary - { - { maintainPresenceID, new Objective(ObjectiveType.Primary, maintainPresence, ObjectiveStatus.InProgress) }, - { destroySovietsID, new Objective(ObjectiveType.Primary, destroySoviets, ObjectiveStatus.Inactive) }, - }; - const int destroySovietsID = 0; - const string destroySoviets = "Excellent work Commander! We have reinforced our position enough to initiate a counter-attack. Destroy the remaining Soviet forces in the area!"; - const int maintainPresenceID = 1; - const string maintainPresence = "Commander! The Soviets have rendered us useless... Reports indicate Soviet reinforcements are coming to finish us off... the situation looks bleak..."; - - Player allies; - Player soviets; - - Actor sovietEntry1; - Actor sovietEntry2; - Actor sovietEntry3; - CPos[] sovietentrypoints; - CPos[] newsovietentrypoints; - - Actor sovietrally; - Actor sovietrally1; - Actor sovietrally2; - Actor sovietrally3; - Actor sovietrally4; - Actor sovietrally5; - Actor sovietrally6; - Actor sovietrally8; - CPos[] sovietrallypoints; - CPos[] newsovietrallypoints; - - Actor sovietparadrop1; - Actor sovietparadrop2; - Actor sovietparadrop3; - Actor sovietparadropEntry; - - Actor alliesbase; - Actor factory; - Actor barrack1; - - Actor drum1; - Actor drum2; - Actor drum3; - Actor FranceEntry; - Actor FranceRally; - Actor FranceparaEntry1; - Actor FranceparaEntry2; - Actor FranceparaEntry3; - - World world; - WorldRenderer worldRenderer; - - CountdownTimer survivalTimer; - CountdownTimerWidget survivalTimerWidget; - - const int timerTicks = 1500 * 10; - const int attackTicks = 1500 * 1; - const int sovietAttackGroupSize = 7; - const int SovietGroupSize = 4; - - const string Camera = "Camera"; - const string InfantryQueueName = "Infantry"; - const string Flare = "flare"; - - static readonly string[] FrenchSquad = { "2tnk", "2tnk", "mcv" }; - static readonly string[] SovietInfantry = { "e1", "e4", "e2" }; - static readonly string[] SovietVehicles = { "3tnk", "3tnk", "v2rl" }; - static readonly string[] SovietTanks = { "3tnk", "3tnk", "3tnk" }; - static readonly string[] squad = { "e1", "e1", "e2", "e4", "e4" }; - static readonly string[] platoon = { "e1", "e1", "e2", "e4", "e4", "e1", "e1", "e2", "e4", "e4" }; - - int ProduceAtFrame; - int ProduceAtFrameIncrement; - int attackAtFrame; - int attackAtFrameIncrement; - - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, allies); - } - - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, allies); - } - - void Message(string text) - { - Game.AddChatLine(Color.Aqua, "Incoming Report", text); - } - - void SetSovietUnitsToDefensiveStance() - { - foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.Owner == soviets && !a.IsDead() && a.HasTrait())) - actor.Trait().Stance = UnitStance.Defend; - } - - Actor FirstUnshroudedOrDefault(IEnumerable actors, World world, int shroudRange) - { - return actors.FirstOrDefault(u => world.FindAliveCombatantActorsInCircle(u.CenterPosition, WRange.FromCells(shroudRange)).All(a => !a.HasTrait())); - } - - void AttackNearestAlliedActor(Actor self) - { - var enemies = world.Actors.Where(u => u.AppearsHostileTo(self) && (u.Owner == allies) - && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && u.IsInWorld && !u.IsDead()); - - var enemy = FirstUnshroudedOrDefault(enemies.OrderBy(u => (self.CenterPosition - u.CenterPosition).LengthSquared), world, 20); - if (enemy != null) - self.QueueActivity(new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(enemy), WRange.FromCells(3)))); - } - - void SpawnAndAttack(string[] squad, Player owner, CPos location) - { - for (int i = 0; i < squad.Length; i++) - { - var actor = world.CreateActor(squad[i], new TypeDictionary { new OwnerInit(owner), new LocationInit(location) }); - AttackNearestAlliedActor(actor); - } - } - - void SpawnFlare(Player owner, Actor location) - { - world.CreateActor(Flare, new TypeDictionary { new OwnerInit(owner), new LocationInit(location.Location) }); - } - - void FinalAttack() - { - SpawnAndAttack(SovietTanks, soviets, sovietEntry1.Location); - SpawnAndAttack(SovietTanks, soviets, sovietEntry1.Location); - SpawnAndAttack(SovietTanks, soviets, sovietEntry2.Location); - SpawnAndAttack(platoon, soviets, sovietEntry1.Location); - SpawnAndAttack(platoon, soviets, sovietEntry2.Location); - } - - void FrenchReinforcements() - { - worldRenderer.Viewport.Center(sovietrally1.CenterPosition); - MissionUtils.Parabomb(world, allies, FranceparaEntry1.Location, drum3.Location); - MissionUtils.Parabomb(world, allies, FranceparaEntry3.Location, drum2.Location); - MissionUtils.Parabomb(world, allies, FranceparaEntry2.Location, drum1.Location); - for (int i = 0; i < FrenchSquad.Length; i++) - { - var actor = world.CreateActor(FrenchSquad[i], new TypeDictionary { new OwnerInit(allies), new LocationInit(FranceEntry.Location) }); - actor.QueueActivity(new Move.Move(FranceRally.Location)); - } - } - - public void Tick(Actor self) - { - if (allies.WinState != WinState.Undefined) - return; - - survivalTimer.Tick(); - if (allies != null) - { - ManageSovietUnits(); - } - - var unitsAndBuildings = world.Actors.Where(a => !a.IsDead() && a.IsInWorld && (a.HasTrait() || (a.HasTrait() && !a.HasTrait()))); - if (!unitsAndBuildings.Any(a => a.Owner == soviets)) - { - objectives[destroySovietsID].Status = ObjectiveStatus.Completed; - MissionAccomplished("We have destroyed the remaining Soviet presence!"); - } - - if (world.FrameNumber == ProduceAtFrame) - { - ProduceAtFrame += ProduceAtFrameIncrement; - ProduceAtFrameIncrement = Math.Max(ProduceAtFrameIncrement - 5, 100); - InitializeSovietFactories(barrack1, sovietrally.Location); - BuildSovietUnits(factory, barrack1); - } - if (world.FrameNumber == attackAtFrame) - { - attackAtFrame += attackAtFrameIncrement; - attackAtFrameIncrement = Math.Max(attackAtFrameIncrement - 5, 100); - ManageSovietVehicles(); - if (producing) - { - BuildSovietVehicles(sovietentrypoints, sovietrallypoints); - } - else - BuildSovietVehicles(newsovietentrypoints, newsovietrallypoints); - } - if (world.FrameNumber == attackTicks) - { - SpawnAndAttack(squad, soviets, sovietrally5.Location); - SpawnAndAttack(squad, soviets, sovietrally6.Location); - } - if (world.FrameNumber == attackTicks * 3) - { - SpawnFlare(soviets, sovietparadrop3); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop3.Location); - SpawnAndAttack(squad, soviets, sovietrally2.Location); - SpawnAndAttack(platoon, soviets, sovietrally5.Location); - SpawnAndAttack(platoon, soviets, sovietrally6.Location); - } - if (world.FrameNumber == attackTicks * 5) - { - SpawnFlare(soviets, sovietparadrop2); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop2.Location); - } - if (world.FrameNumber == attackTicks * 7) - { - SpawnFlare(soviets, sovietparadrop1); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop1.Location); - } - if (world.FrameNumber == attackTicks * 10) - { - SpawnFlare(soviets, sovietparadrop1); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop1.Location); - ManageSovietUnits(); - } - if (world.FrameNumber == attackTicks * 12) - { - Sound.Play("reinfor1.aud"); - FrenchReinforcements(); - } - } - - void StartCountDownTimer() - { - Sound.Play("timergo1.aud"); - survivalTimer = new CountdownTimer(timerTicks, CountDownTimerExpired, true); - survivalTimerWidget = new CountdownTimerWidget(survivalTimer, "Time Until Soviet Reinforcements Arrive: {0}"); - Ui.Root.AddChild(survivalTimerWidget); - } - - void CountDownTimerExpired(CountdownTimer countDownTimer) - { - survivalTimerWidget.Visible = false; - Message("The Soviet reinforcements are approuching!"); - BuildSovietVehicles(newsovietentrypoints, newsovietrallypoints); - FinalAttack(); - producing = false; - objectives[maintainPresenceID].Status = ObjectiveStatus.Completed; - objectives[destroySovietsID].Status = ObjectiveStatus.InProgress; - OnObjectivesUpdated(true); - } - - void InitializeSovietFactories(Actor tent, CPos rally) - { - if (tent.IsInWorld && !tent.IsDead()) - { - var sbrp = tent.Trait(); - sbrp.rallyPoint = rally; - sbrp.nearEnough = 6; - } - } - - void BuildSovietUnit(string category, string unit) - { - var queueTent = MissionUtils.FindQueues(world, soviets, category).FirstOrDefault(q => q.CurrentItem() == null); - if (queueTent == null) return; - queueTent.ResolveOrder(queueTent.self, Order.StartProduction(queueTent.self, unit, 1)); - } - - void BuildSovietUnits(Actor factory, Actor tent) - { - if (barrack1.IsInWorld && !barrack1.IsDead()) - { - BuildSovietUnit(InfantryQueueName, SovietInfantry.Random(world.SharedRandom)); - } - } - - void ManageSovietUnits() - { - var units = world.FindAliveCombatantActorsInCircle(sovietrally.CenterPosition, WRange.FromCells(3)) - .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets); - if (units.Count() >= sovietAttackGroupSize) - { - foreach (var unit in units) - { - var route = world.SharedRandom.Next(sovietrallypoints.Length); - unit.QueueActivity(new Move.Move(sovietrally3.Location)); - unit.QueueActivity(new Wait(300)); - unit.QueueActivity(new Move.Move(sovietrallypoints[route])); - AttackNearestAlliedActor(unit); - } - } - } - - void BuildSovietVehicles(CPos[] spawnpoints, CPos[] rallypoints) - { - var route = world.SharedRandom.Next(spawnpoints.Length); - var spawnPoint = spawnpoints[route]; - var rally = world.SharedRandom.Next(rallypoints.Length); - var rallyPoint = rallypoints[rally]; - var unit = world.CreateActor(SovietVehicles.Random(world.SharedRandom), - new TypeDictionary - { - new LocationInit(spawnPoint), - new OwnerInit(soviets) - }); - unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, new Move.Move(rallyPoint, 3))); - } - - void ManageSovietVehicles() - { - foreach (var rallyPoint in sovietrallypoints) - { - var units = world.FindAliveCombatantActorsInCircle(rallyPoint.CenterPosition, WRange.FromCells(10)) - .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets); - if (units.Count() >= SovietGroupSize) - { - foreach (var unit in units) - AttackNearestAlliedActor(unit); - } - } - - var scatteredUnits = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && u.HasTrait() && u.IsIdle && u.Owner == soviets) - .Except(world.WorldActor.Trait().Actors.Values) - .Except(sovietrallypoints.SelectMany(rp => world.FindAliveCombatantActorsInCircle(rp.CenterPosition, WRange.FromCells(10)))); - - foreach (var unit in scatteredUnits) - AttackNearestAlliedActor(unit); - } - - bool producing = true; - - public void WorldLoaded(World w, WorldRenderer wr) - { - world = w; - worldRenderer = wr; - - allies = w.Players.SingleOrDefault(p => p.InternalName == "Allies"); - if (allies != null) - { - ProduceAtFrame = 300; - ProduceAtFrameIncrement = 300; - attackAtFrame = 450; - attackAtFrameIncrement = 450; - } - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - var actors = w.WorldActor.Trait().Actors; - sovietEntry1 = actors["SovietEntry1"]; - sovietEntry2 = actors["SovietEntry2"]; - sovietEntry3 = actors["SovietEntry3"]; - sovietentrypoints = new[] { sovietEntry1, sovietEntry2, sovietEntry3 }.Select(p => p.Location).ToArray(); - sovietrally = actors["SovietRally"]; - sovietrally1 = actors["SovietRally1"]; - sovietrally2 = actors["SovietRally2"]; - sovietrally3 = actors["SovietRally3"]; - sovietrally4 = actors["SovietRally4"]; - sovietrally5 = actors["SovietRally5"]; - sovietrally6 = actors["SovietRally6"]; - sovietrally8 = actors["SovietRally8"]; - sovietrallypoints = new[] { sovietrally2, sovietrally4, sovietrally5, sovietrally6 }.Select(p => p.Location).ToArray(); - alliesbase = actors["AlliesBase"]; - sovietparadropEntry = actors["SovietParaDropEntry"]; - sovietparadrop1 = actors["SovietParaDrop1"]; - sovietparadrop2 = actors["SovietParaDrop2"]; - sovietparadrop3 = actors["SovietParaDrop3"]; - barrack1 = actors["barrack1"]; - factory = actors["Factory"]; - drum1 = actors["drum1"]; - drum2 = actors["drum2"]; - drum3 = actors["drum3"]; - FranceEntry = actors["FranceEntry"]; - FranceRally = actors["FranceRally"]; - FranceparaEntry1 = actors["FranceparaEntry1"]; - FranceparaEntry2 = actors["FranceparaEntry2"]; - FranceparaEntry3 = actors["FranceparaEntry3"]; - newsovietentrypoints = new[] { sovietparadropEntry, sovietEntry3 }.Select(p => p.Location).ToArray(); - newsovietrallypoints = new[] { sovietrally3, sovietrally4, sovietrally8 }.Select(p => p.Location).ToArray(); - - worldRenderer.Viewport.Center(alliesbase.CenterPosition); - StartCountDownTimer(); - SetSovietUnitsToDefensiveStance(); - world.CreateActor(Camera, new TypeDictionary - { - new OwnerInit(allies), - new LocationInit(sovietrally1.Location), - }); - MissionUtils.PlayMissionMusic(); - } - } - -} diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index 5f830fa235..02aa8caf19 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -261,22 +261,9 @@ - - - - - - - - - - - - - @@ -407,7 +394,6 @@ - diff --git a/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs b/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs index 93150f1faa..8530e855c0 100644 --- a/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs +++ b/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs @@ -17,7 +17,7 @@ using OpenRA.Effects; using OpenRA.FileFormats; using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Air; -using OpenRA.Mods.RA.Missions; +using OpenRA.Network; using OpenRA.Scripting; using OpenRA.Support; using OpenRA.Traits; @@ -245,7 +245,25 @@ namespace OpenRA.Mods.RA.Scripting [LuaGlobal] public void PlayRandomMusic() { - MissionUtils.PlayMissionMusic(); + if (!Rules.InstalledMusic.Any() || !Game.Settings.Sound.MapMusic) + return; + Game.ConnectionStateChanged += StopMusic; + PlayMusic(); + } + + void PlayMusic() + { + var track = Rules.InstalledMusic.Random(Game.CosmeticRandom); + Sound.PlayMusicThen(track.Value, PlayMusic); + } + + void StopMusic(OrderManager orderManager) + { + if (!orderManager.GameStarted) + { + Sound.StopMusic(); + Game.ConnectionStateChanged -= StopMusic; + } } [LuaGlobal] diff --git a/OpenRA.Mods.RA/Widgets/Logic/MissionObjectivesLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/MissionObjectivesLogic.cs deleted file mode 100644 index fd653e3988..0000000000 --- a/OpenRA.Mods.RA/Widgets/Logic/MissionObjectivesLogic.cs +++ /dev/null @@ -1,111 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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. For more information, - * see COPYING. - */ -#endregion - -using System.Linq; -using OpenRA.Mods.RA.Missions; -using OpenRA.Network; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA.Widgets.Logic -{ - public class MissionObjectivesLogic - { - IHasObjectives objectives; - Widget primaryPanel; - Widget secondaryPanel; - Widget primaryTemplate; - Widget secondaryTemplate; - ButtonWidget objectivesButton; - - [ObjectCreator.UseCtor] - public MissionObjectivesLogic(World world, Widget widget) - { - var gameRoot = Ui.Root.Get("INGAME_ROOT"); - primaryPanel = widget.Get("PRIMARY_OBJECTIVES"); - secondaryPanel = widget.Get("SECONDARY_OBJECTIVES"); - primaryTemplate = primaryPanel.Get("PRIMARY_OBJECTIVE_TEMPLATE"); - secondaryTemplate = secondaryPanel.Get("SECONDARY_OBJECTIVE_TEMPLATE"); - - objectives = world.WorldActor.TraitsImplementing().First(); - - objectivesButton = gameRoot.Get("OBJECTIVES_BUTTON"); - objectivesButton.IsHighlighted = () => Game.LocalTick % 50 < 25 && objectivesButton.Highlighted; - objectivesButton.OnClick += () => objectivesButton.Highlighted = false; - - objectives.OnObjectivesUpdated += UpdateObjectives; - UpdateObjectives(true); - Game.ConnectionStateChanged += RemoveHandlers; - } - - public void RemoveHandlers(OrderManager orderManager) - { - if (!orderManager.GameStarted) - { - Game.ConnectionStateChanged -= RemoveHandlers; - objectives.OnObjectivesUpdated -= UpdateObjectives; - } - } - - public void UpdateObjectives(bool notify) - { - if (notify) - objectivesButton.Highlighted = true; - - primaryPanel.RemoveChildren(); - secondaryPanel.RemoveChildren(); - - foreach (var o in objectives.Objectives.Where(o => o.Status != ObjectiveStatus.Inactive)) - { - var objective = o; - - Widget widget; - LabelWidget objectiveText; - LabelWidget objectiveStatus; - - if (objective.Type == ObjectiveType.Primary) - { - widget = primaryTemplate.Clone(); - objectiveText = widget.Get("PRIMARY_OBJECTIVE"); - objectiveStatus = widget.Get("PRIMARY_STATUS"); - SetupWidget(widget, objectiveText, objectiveStatus, objective); - primaryPanel.AddChild(widget); - } - else - { - widget = secondaryTemplate.Clone(); - objectiveText = widget.Get("SECONDARY_OBJECTIVE"); - objectiveStatus = widget.Get("SECONDARY_STATUS"); - SetupWidget(widget, objectiveText, objectiveStatus, objective); - secondaryPanel.AddChild(widget); - } - } - } - - void SetupWidget(Widget widget, LabelWidget objectiveText, LabelWidget objectiveStatus, Objective objective) - { - var font = Game.Renderer.Fonts[objectiveText.Font]; - var text = WidgetUtils.WrapText(objective.Text, objectiveText.Bounds.Width, font); - widget.Bounds.Height = objectiveText.Bounds.Height = objectiveStatus.Bounds.Height = font.Measure(text).Y; - objectiveText.GetText = () => text; - objectiveStatus.GetText = () => GetObjectiveStatusText(objective.Status); - } - - static string GetObjectiveStatusText(ObjectiveStatus status) - { - switch (status) - { - case ObjectiveStatus.InProgress: return "In Progress"; - case ObjectiveStatus.Completed: return "Completed"; - case ObjectiveStatus.Failed: return "Failed"; - default: return ""; - } - } - } -} diff --git a/mods/ra/maps/Fort-Lonestar/map.bin b/mods/ra/maps/Fort-Lonestar/map.bin deleted file mode 100644 index f3a2b6011f..0000000000 Binary files a/mods/ra/maps/Fort-Lonestar/map.bin and /dev/null differ diff --git a/mods/ra/maps/Fort-Lonestar/map.yaml b/mods/ra/maps/Fort-Lonestar/map.yaml deleted file mode 100644 index 183929ed0b..0000000000 --- a/mods/ra/maps/Fort-Lonestar/map.yaml +++ /dev/null @@ -1,1249 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Fort Lonestar - -Description: Survive 11 Waves with 4 mates. - -Author: Nuke'm Bro. - -Tileset: TEMPERAT - -MapSize: 96,96 - -Bounds: 8,8,48,48 - -UseAsShellmap: False - -Type: Minigame - -Options: - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 50 - ConfigurableStartingUnits: False - -Players: - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Multi0: - Name: Multi0 - Playable: True - AllowBots: False - LockTeam: True - Allies: Multi1,Multi2,Multi3 - Enemies: Soviets - PlayerReference@Multi1: - Name: Multi1 - Playable: True - AllowBots: False - LockTeam: True - Allies: Multi0,Multi2,Multi3 - Enemies: Soviets - PlayerReference@Multi2: - Name: Multi2 - Playable: True - AllowBots: False - LockTeam: True - Allies: Multi0,Multi1,Multi3 - Enemies: Soviets - PlayerReference@Multi3: - Name: Multi3 - Playable: True - AllowBots: False - LockTeam: True - Allies: Multi0,Multi1,Multi2 - Enemies: Soviets - PlayerReference@Soviets: - Name: Soviets - Race: soviet - ColorRamp: 0,255,128 - Enemies: Multi0,Multi1,Multi2,Multi3 - -Actors: - Actor76: t11 - Location: 47,27 - Owner: Neutral - Actor47: t12 - Location: 55,24 - Owner: Neutral - Actor25: tc03 - Location: 54,49 - Owner: Neutral - Actor14: tc04 - Location: 24,7 - Owner: Neutral - Actor10: tc04 - Location: 38,53 - Owner: Neutral - Actor0: t14 - Location: 32,16 - Owner: Neutral - Actor75: tc04 - Location: 45,25 - Owner: Neutral - Actor72: tc01 - Location: 49,16 - Owner: Neutral - Actor58: t10 - Location: 22,54 - Owner: Neutral - Actor26: tc01 - Location: 54,41 - Owner: Neutral - Actor37: tc01 - Location: 54,21 - Owner: Neutral - Actor60: tc05 - Location: 7,16 - Owner: Neutral - Actor69: t17 - Location: 23,8 - Owner: Neutral - Actor4: tc04 - Location: 29,45 - Owner: Neutral - Actor6: t17 - Location: 33,43 - Owner: Neutral - Actor16: tc04 - Location: 53,16 - Owner: Neutral - Actor21: tc03 - Location: 8,14 - Owner: Neutral - Actor8: t14 - Location: 49,37 - Owner: Neutral - Actor29: tc01 - Location: 8,42 - Owner: Neutral - Actor49: t15 - Location: 54,47 - Owner: Neutral - Actor62: tc05 - Location: 6,43 - Owner: Neutral - Actor73: tc05 - Location: 16,34 - Owner: Neutral - Actor30: barr - Location: 36,26 - Owner: Multi0 - Actor84: brik - Location: 35,25 - Owner: Neutral - Actor32: tc01 - Location: 8,24 - Owner: Neutral - Actor59: tc05 - Location: 7,39 - Owner: Neutral - Actor5: tc01 - Location: 44,44 - Owner: Neutral - Actor67: brik - Location: 29,25 - Owner: Neutral - Actor41: brik - Location: 25,25 - Owner: Neutral - Actor56: brik - Location: 26,25 - Owner: Neutral - Actor85: brik - Location: 39,26 - Owner: Neutral - Actor81: brik - Location: 38,25 - Owner: Neutral - Actor65: brik - Location: 27,25 - Owner: Neutral - Actor66: brik - Location: 28,25 - Owner: Neutral - Actor51: t08 - Location: 55,46 - Owner: Neutral - Actor57: t12 - Location: 19,54 - Owner: Neutral - Actor54: t11 - Location: 26,54 - Owner: Neutral - Actor33: tc01 - Location: 21,7 - Owner: Neutral - Actor27: tc01 - Location: 42,54 - Owner: Neutral - Actor23: tc03 - Location: 16,54 - Owner: Neutral - Actor15: tc04 - Location: 38,8 - Owner: Neutral - Actor19: tc03 - Location: 18,7 - Owner: Neutral - Actor17: tc03 - Location: 54,26 - Owner: Neutral - Actor83: brik - Location: 36,25 - Owner: Neutral - Actor197: brik - Location: 39,37 - Owner: Neutral - Actor11: tc04 - Location: 20,53 - Owner: Neutral - Actor9: tc04 - Location: 53,37 - Owner: Neutral - Actor7: tc02 - Location: 44,36 - Owner: Neutral - Actor3: t15 - Location: 19,25 - Owner: Neutral - Actor1: t05 - Location: 29,16 - Owner: Neutral - Actor82: brik - Location: 37,25 - Owner: Neutral - Actor86: brik - Location: 39,27 - Owner: Neutral - Actor80: brik - Location: 39,25 - Owner: Neutral - Actor71: tc02 - Location: 15,40 - Owner: Neutral - Actor64: t06 - Location: 18,16 - Owner: Neutral - Actor63: t14 - Location: 8,22 - Owner: Neutral - Actor53: t08 - Location: 41,55 - Owner: Neutral - Actor61: tc05 - Location: 54,39 - Owner: Neutral - Actor48: t01 - Location: 54,23 - Owner: Neutral - Actor50: t17 - Location: 54,44 - Owner: Neutral - Actor36: tc01 - Location: 42,8 - Owner: Neutral - Actor52: t12 - Location: 44,53 - Owner: Neutral - Actor87: brik - Location: 39,28 - Owner: Neutral - Actor91: brik - Location: 37,39 - Owner: Neutral - Actor196: brik - Location: 39,38 - Owner: Neutral - Actor195: brik - Location: 39,39 - Owner: Neutral - Actor45: brik - Location: 25,28 - Owner: Neutral - Actor92: brik - Location: 39,29 - Owner: Neutral - Actor194: brik - Location: 38,39 - Owner: Neutral - Actor55: brik - Location: 25,39 - Owner: Neutral - Actor200: brik - Location: 28,39 - Owner: Neutral - Actor233: brik - Location: 29,39 - Owner: Neutral - Actor240: brik - Location: 39,35 - Owner: Neutral - Actor199: brik - Location: 27,39 - Owner: Neutral - Actor78: mpspawn - Location: 36,28 - Owner: Neutral - Actor28: tc01 - Location: 24,54 - Owner: Neutral - Actor22: tc03 - Location: 7,46 - Owner: Neutral - Actor24: tc03 - Location: 45,54 - Owner: Neutral - Actor18: tc03 - Location: 45,8 - Owner: Neutral - Actor12: tc04 - Location: 7,37 - Owner: Neutral - Actor13: tc04 - Location: 8,19 - Owner: Neutral - Actor2: tc04 - Location: 14,23 - Owner: Neutral - Actor74: t06 - Location: 19,36 - Owner: Neutral - Actor46: t11 - Location: 54,19 - Owner: Neutral - Actor42: t16 - Location: 53,19 - Owner: Neutral - Actor68: tc05 - Location: 35,7 - Owner: Neutral - Actor239: brik - Location: 39,36 - Owner: Neutral - Actor89: brik - Location: 35,39 - Owner: Neutral - Actor90: brik - Location: 36,39 - Owner: Neutral - Actor40: oilb - Location: 32,30 - Owner: Multi0 - Actor237: brik - Location: 25,35 - Owner: Neutral - Actor236: brik - Location: 25,36 - Owner: Neutral - Actor235: brik - Location: 25,37 - Owner: Neutral - Actor234: brik - Location: 25,38 - Owner: Neutral - Actor44: brik - Location: 25,27 - Owner: Neutral - Actor43: brik - Location: 25,26 - Owner: Neutral - Actor198: brik - Location: 26,39 - Owner: Neutral - Actor88: brik - Location: 25,29 - Owner: Neutral - Entry1: waypoint - Location: 8,8 - Owner: Neutral - Entry2: waypoint - Location: 31,8 - Owner: Neutral - Entry3: waypoint - Location: 55,8 - Owner: Neutral - Entry4: waypoint - Location: 55,32 - Owner: Neutral - Entry5: waypoint - Location: 55,55 - Owner: Neutral - Entry6: waypoint - Location: 32,55 - Owner: Neutral - Entry7: waypoint - Location: 8,55 - Owner: Neutral - Entry8: waypoint - Location: 8,32 - Owner: Neutral - Paradrop1: waypoint - Location: 32,28 - Owner: Neutral - Paradrop2: waypoint - Location: 27,32 - Owner: Neutral - Paradrop3: waypoint - Location: 32,36 - Owner: Neutral - Paradrop4: waypoint - Location: 36,32 - Owner: Neutral - Patrol3: waypoint - Location: 32,46 - Owner: Neutral - Patrol4: waypoint - Location: 46,32 - Owner: Neutral - Actor20: apwr - Location: 37,4 - Owner: Soviets - Patrol2: waypoint - Location: 17,32 - Owner: Neutral - Patrol1: waypoint - Location: 32,18 - Owner: Neutral - Actor34: sniper - Location: 9,26 - Owner: Soviets - Actor35: sniper - Location: 10,21 - Owner: Soviets - Actor38: sniper - Location: 26,9 - Owner: Soviets - Actor39: sniper - Location: 40,10 - Owner: Soviets - Actor77: sniper - Location: 53,21 - Owner: Soviets - Actor79: sniper - Location: 54,25 - Owner: Soviets - Actor93: sniper - Location: 53,40 - Owner: Soviets - Actor94: sniper - Location: 54,43 - Owner: Soviets - Actor95: sniper - Location: 54,46 - Owner: Soviets - Actor96: sniper - Location: 43,53 - Owner: Soviets - Actor97: sniper - Location: 8,36 - Owner: Soviets - Actor98: sniper - Location: 28,55 - Owner: Soviets - Actor100: barr - Location: 27,26 - Owner: Multi3 - Actor99: barr - Location: 27,36 - Owner: Multi2 - Actor31: barr - Location: 36,36 - Owner: Multi1 - Actor101: oilb - Location: 32,32 - Owner: Multi1 - Actor102: oilb - Location: 30,32 - Owner: Multi2 - Actor103: oilb - Location: 30,30 - Owner: Multi3 - Actor104: mpspawn - Location: 27,28 - Owner: Neutral - Actor105: mpspawn - Location: 27,38 - Owner: Neutral - Actor106: mpspawn - Location: 36,38 - Owner: Neutral - -Smudges: - -Rules: - World: - CrateSpawner: - Maximum: 1 - SpawnInterval: 100 - -SpawnMPUnits: - -MPStartLocations: - FortLonestarScript: - CRATE: - -LevelUpCrateAction: - -GiveMcvCrateAction: - -RevealMapCrateAction: - -HideMapCrateAction: - -ExplodeCrateAction@nuke: - -ExplodeCrateAction@boom: - -ExplodeCrateAction@fire: - -GiveUnitCrateAction@jeep: - -GiveUnitCrateAction@arty: - -GiveUnitCrateAction@v2rl: - -GiveUnitCrateAction@1tnk: - -GiveUnitCrateAction@2tnk: - -GiveUnitCrateAction@3tnk: - -GiveUnitCrateAction@4tnk: - SupportPowerCrateAction@parabombs: - SelectionShares: 30 - HealUnitsCrateAction: - SelectionShares: 30 - GiveCashCrateAction: - Amount: 400 - UseCashTick: yes - SelectionShares: 30 - GiveUnitCrateAction@e7: - Unit: e7 - SelectionShares: 10 - Player: - ClassicProductionQueue@Infantry: - Type: Infantry - BuildSpeed: 1 - LowPowerSlowdown: 3 - ClassicProductionQueue@Defense: - Type: Defense - BuildSpeed: .4 - LowPowerSlowdown: 3 - OILB: - Health: - HP: 3000 - Armor: - Type: Wood - Bib: - RevealsShroud: - Range: 3c0 - ExternalCapturable: - ExternalCapturableBar: - EngineerRepairable: - CashTrickler: - Period: 250 - Amount: 50 - BARR: - Buildable: - Owner: allies,soviet - Building: - Power: 0 - Health: - HP: 1000 - Production: - Produces: Defense,Infantry - -Sellable: - BaseProvider: - Range: 16 - FTUR: - Building: - Power: 0 - Owner: soviet - Valued: - Cost: 400 - PBOX: - Building: - Power: 0 - Owner: allies - Prerequisites: barr,oilb - Valued: - Cost: 400 - Health: - HP: 200 - Armor: - Type: Heavy - TransformOnPassenger@MEDI: - PassengerTypes: MEDI - OnEnter: pbox.MEDI - OnExit: pbox - SkipMakeAnims: true - PBOX.E1: - Buildable: - Queue: Defense - Prerequisites: barr - Owner: allies - PBOX.MEDI: - Inherits: PBOX - Tooltip: - Name: Pillbox (Medic) - RenderBuilding: - Image: PBOX - RenderRangeCircle: - AutoTarget: - AttackTurreted: - PrimaryWeapon: Heal - PrimaryLocalOffset: 0,-11,0,0,0 - HBOX.E1: - Inherits: HBOX - Buildable: - Queue: Defense - BuildPaletteOrder: 20 - Prerequisites: barr - Owner: None - HBOX: - Building: - Owner: None - GUN: - Buildable: - Queue: Defense - Prerequisites: barr - Owner: None - SAM: - Buildable: - Owner: None - SBAG: - Buildable: - Owner: None - MSLO: - Buildable: - Owner: None - GAP: - Buildable: - Owner: None - IRON: - Buildable: - Owner: None - PDOX: - Buildable: - Owner: None - SPEN: - Buildable: - Owner: allies - DOME: - Buildable: - Owner: allies - PROC: - Buildable: - Owner: allies - SILO: - Buildable: - Owner: allies - AGUN: - Buildable: - Owner: None - TSLA: - Buildable: - Owner: None - APWR: - Buildable: - Owner: allies - STEK: - Buildable: - Owner: allies - FIX: - Buildable: - Owner: allies - POWR: - Buildable: - Owner: allies - MIG: - Buildable: - Owner: allies - Prerequisites: barr,afld - Valued: - Cost: 2000 - YAK: - Buildable: - Owner: allies - Prerequisites: barr,afld - Valued: - Cost: 150 - TRAN: - Buildable: - Owner: allies - Prerequisites: barr,hpad - Valued: - Cost: 150 - HIND: - Buildable: - Owner: allies - Prerequisites: barr,hpad - Valued: - Cost: 200 - HELI: - Buildable: - Owner: allies - Prerequisites: barr,hpad - Valued: - Cost: 200 - HPAD: - Building: - Power: 0 - Buildable: - Owner: allies - Prerequisites: barr - Valued: - Cost: 200 - FENC: - Buildable: - Queue: Building - Owner: None - Prerequisites: barr - Valued: - Cost: 10 - AFLD: - Building: - Power: 0 - Buildable: - Owner: allies - Prerequisites: barr - Valued: - Cost: 200 - DOG: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 20 - E1: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 20 - E2: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 40 - Explodes: - Weapon: UnitExplodeSmall - Chance: 20 - E3: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 60 - E4: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 100 - E6: - Buildable: - Owner: soviet,allies - Prerequisites: barr - Valued: - Cost: 100 - E7: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 750 - 3TNK: - Inherits: ^Tank - Buildable: - Queue: Vehicle - BuildPaletteOrder: 40 - Prerequisites: fix - Owner: soviet - Hotkey: h - Valued: - Cost: 1150 - Health: - HP: 700 - Armor: - Type: Heavy - Mobile: - Speed: 71 - Crushes: wall, atmine, crate, infantry - RevealsShroud: - Range: 7c0 - Turreted: - ROT: 5 - Armament: - Weapon: VolkNapalm - Recoil: 200 - RecoilRecovery: 38 - LocalOffset: 0,85,0, 0,-85,0 - AttackTurreted: - RenderUnit: - WithTurret: - AutoTarget: - Explodes: - Weapon: UnitExplodeSmall - EmptyWeapon: UnitExplodeSmall - Chance: 100 - LeavesHusk: - HuskActor: 3TNK.Husk - Selectable: - Bounds: 30,30 - MECH: - Buildable: - Owner: None - MEDI: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 100 - SHOK: - Buildable: - Owner: soviet,allies - Prerequisites: barr,oilb - Valued: - Cost: 150 - SNIPER: - Inherits: ^Infantry - Valued: - Cost: 200 - Buildable: - Queue: Infantry - BuildPaletteOrder: 80 - Owner: soviet, allies - Prerequisites: barr,oilb - Hotkey: n - Selectable: - Bounds: 12,17,0,-6 - Mobile: - Speed: 56 - Health: - HP: 200 - Passenger: - PipType: Red - RevealsShroud: - Range: 6c0 - AutoTarget: - InitialStance: Defend - Armament: - Weapon: Sniper - SPY: - Inherits: ^Infantry - Buildable: - Queue: Infantry - BuildPaletteOrder: 60 - Prerequisites: barr,oilb - Owner: allies, soviet - Valued: - Cost: 300 - Selectable: - Voice: SpyVoice - Bounds: 12,17,0,-9 - Health: - HP: 25 - Mobile: - Speed: 56 - RevealsShroud: - Range: 5c0 - Passenger: - PipType: Yellow - TakeCover: - Spy: - -AutoTarget: - -RenderInfantry: - RenderSpy: - IdleAnimations: idle1,idle2 - AttackFrontal: - PrimaryWeapon: SilencedPPK - FTRK: - Inherits: ^Vehicle - Valued: - Cost: 600 - Health: - HP: 150 - Armor: - Type: Light - Mobile: - ROT: 10 - Speed: 128 - RevealsShroud: - Range: 4c0 - Turreted: - ROT: 5 - Offset: -298,0,298 - Armament: - Weapon: FLAK-23 - Recoil: 85 - AttackTurreted: - RenderUnit: - WithTurret: - AutoTarget: - Explodes: - Weapon: UnitExplodeSmall - EmptyWeapon: UnitExplodeSmall - Selectable: - Bounds: 28,28,0,0 - APC: - Inherits: ^Tank - Health: - HP: 400 - Armor: - Type: Heavy - Mobile: - Speed: 142 - RevealsShroud: - Range: 5c0 - Armament: - Weapon: M60mg - LocalOffset: 0,0,171 - AttackFrontal: - RenderUnit: - WithMuzzleFlash: - AutoTarget: - Cargo: - Types: Infantry - MaxWeight: 5 - PipCount: 5 - ARTY: - Inherits: ^Tank - Buildable: - Queue: Vehicle - BuildPaletteOrder: 80 - Prerequisites: dome - Owner: allies - Valued: - Cost: 600 - Tooltip: - Name: Artillery - Description: Long-range artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft - Health: - HP: 75 - Armor: - Type: Light - Mobile: - ROT: 2 - Speed: 85 - RevealsShroud: - Range: 7c0 - AttackFrontal: - PrimaryWeapon: 155mm - SecondaryWeapon: 155mm - RenderUnit: - Explodes: - Weapon: UnitExplode - Chance: 50 - AutoTarget: - V2RL: - Inherits: ^Vehicle - Health: - HP: 100 - Armor: - Type: Light - Mobile: - Speed: 99 - RevealsShroud: - Range: 5c0 - Armament: - Weapon: SCUD - AttackFrontal: - RenderUnitReload: - AutoTarget: - Explodes: - Weapon: SCUD - EmptyWeapon: - 4TNK: - Inherits: ^Tank - Buildable: - Health: - HP: 2500 - Armor: - Type: Heavy - Mobile: - Speed: 56 - RevealsShroud: - Range: 14c0 - Turreted: - ROT: 1 - AttackTurreted: - PrimaryWeapon: 120mm - SecondaryWeapon: MammothTusk - PrimaryLocalOffset: -4,-5,0,0,0, 4,-5,0,0,0 - SecondaryLocalOffset: -7,2,0,0,25, 7,2,0,0,-25 - PrimaryRecoil: 8 - PrimaryRecoilRecovery: 0.7 - SecondaryRecoil: 2 - RenderUnit: - WithTurret: - AutoTarget: - Explodes: - Weapon: napalm - EmptyWeapon: napalm - LeavesHusk: - HuskActor: 4TNK.Husk - SelfHealing: - Step: 2 - Ticks: 1 - HealIfBelow: 40% - DamageCooldown: 150 - Selectable: - Bounds: 44,38,0,-4 - BRIK: - Inherits: ^Wall - Buildable: - Queue: Defense - BuildPaletteOrder: 1000 - Prerequisites: fact - Owner: None - Hotkey: w - Valued: - Cost: 100 - Health: - HP: 250 - Armor: - Type: Concrete - BADR.Bomber: - AttackBomber: - Armament: - Weapon: ParaBomb - Inherits: ^Plane - Health: - HP: 60 - Armor: - Type: Light - Plane: - ROT: 5 - Speed: 280 - LimitedAmmo: - Ammo: 30 - RenderUnit: - Image: mig - WithShadow: - IronCurtainable: - -Selectable: - -GainsExperience: - Tooltip: - Name: Mig Bomber - LeavesHusk: - HuskActor: BADR.Husk - -EjectOnDeath: - -GpsDot: - Contrail@1: - Offset: -598,-683,0 - Contrail@2: - Offset: -598,683,0 - SmokeTrailWhenDamaged: - Offset: -853,0,171 - Interval: 2 - BADR.Husk: - Inherits: ^PlaneHusk - Tooltip: - Name: Badger - RenderUnit: - Image: mig - WithShadow: - Plane: - ROT: 5 - Speed: 149 - SmokeTrailWhenDamaged: - Offset: -853,0,171 - Interval: 2 - MinDamage: Undamaged - -Sequences: - -VoxelSequences: - -Weapons: - 120mm: - ROF: 150 - Range: 10c0 - Report: CANNON1.AUD - Burst: 6 - Projectile: Bullet - Speed: 204 - High: true - Inaccuracy: 1c682 - Image: 120MM - ContrailLength: 50 - Warhead: - Spread: 256 - Versus: - None: 75% - Wood: 75% - Light: 75% - Concrete: 100% - Explosion: self_destruct - WaterExplosion: self_destruct - InfDeath: 4 - SmudgeType: Crater - Damage: 150 - MammothTusk: - ROF: 300 - Range: 10c0 - Report: MISSILE6.AUD - Burst: 2 - ValidTargets: Ground, Air - Projectile: Missile - Speed: 128 - Arm: 2 - High: true - Shadow: false - Trail: smokey - ContrailLength: 150 - Inaccuracy: 853 - Image: DRAGON - ROT: 10 - RangeLimit: 80 - Warhead: - Spread: 640 - Versus: - None: 125% - Wood: 110% - Light: 110% - Heavy: 100% - Concrete: 200% - Explosion: nuke - WaterExplosion: nuke - InfDeath: 3 - SmudgeType: Crater - Damage: 250 - VolkNapalm: - ROF: 40 - Range: 8c0 - Report: firebl3.aud - ValidTargets: Ground - Burst: 6 - BurstDelay: 1 - Projectile: Bullet - Speed: 426 - Image: 120MM - Inaccuracy: 2c512 - Trail: smokey - ContrailLength: 2 - Warhead: - Spread: 341 - Versus: - None: 90% - Wood: 170% - Light: 100% - Heavy: 100% - Concrete: 100% - Explosion: small_explosion - WaterExplosion: small_explosion - InfDeath: 4 - SmudgeType: Scorch - ImpactSound: firebl3 - Damage: 15 - ParaBomb: - ROF: 5 - Range: 5c0 - Report: CHUTE1.AUD - Projectile: GravityBomb - Image: BOMBLET - Warhead: - Spread: 426 - Versus: - None: 125% - Wood: 100% - Light: 60% - Concrete: 25% - Explosion: napalm - ImpactSound: firebl3.aud - WaterExplosion: napalm - InfDeath: 5 - SmudgeType: Crater - Damage: 200 - 155mm: - ROF: 10 - Range: 7c512 - Burst: 20 - MinRange: 3c0 - -Report: - Projectile: Bullet - Speed: 170 - Trail: fb4 - Image: fb3 - High: true - Angle: 62 - Inaccuracy: 1c682 - ContrailLength: 2 - Warhead: - Spread: 426 - Versus: - None: 80% - Wood: 100% - Light: 60% - Heavy: 75% - Concrete: 35% - Explosion: small_napalm - WaterExplosion: small_napalm - InfDeath: 5 - SmudgeType: Scorch - ImpactSound: firebl3.aud - Damage: 10 - FLAK-23: - ROF: 10 - Range: 8c0 - Report: AACANON3.AUD - ValidTargets: Air,Ground - Projectile: Bullet - Speed: 1c682 - High: true - Warhead: - Spread: 213 - Versus: - None: 35% - Wood: 30% - Light: 30% - Heavy: 40% - Concrete: 30% - Explosion: med_explosion - Damage: 25 - SCUD: - ROF: 280 - Range: 7c0 - MinRange: 3c0 - Report: MISSILE1.AUD - Projectile: Bullet - Speed: 170 - Arm: 10 - High: true - Shadow: false - Trail: smokey - Inaccuracy: 426 - Image: V2 - Angle: 62 - Warhead: - Spread: 853 - Versus: - None: 100% - Wood: 90% - Light: 80% - Heavy: 70% - Explosion: nuke - WaterExplosion: large_splash - InfDeath: 3 - SmudgeType: Crater - Damage: 500 - ImpactSound: kaboom1.aud - WaterImpactSound: kaboom1.aud - SilencedPPK: - ROF: 80 - Range: 2c512 - Report: silppk.aud - Projectile: Bullet - Speed: 1c682 - Warhead: - Spread: 128 - Versus: - Wood: 0% - Light: 0% - Heavy: 50% - Concrete: 0% - Explosion: piffs - InfDeath: 2 - Damage: 150 - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/Survival01/map.bin b/mods/ra/maps/Survival01/map.bin deleted file mode 100644 index 942e6c2de7..0000000000 Binary files a/mods/ra/maps/Survival01/map.bin and /dev/null differ diff --git a/mods/ra/maps/Survival01/map.yaml b/mods/ra/maps/Survival01/map.yaml deleted file mode 100644 index 9739b49cae..0000000000 --- a/mods/ra/maps/Survival01/map.yaml +++ /dev/null @@ -1,1329 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Survivial01 - -Description: Survive! - -Author: Nuke'm Bro. - -Tileset: TEMPERAT - -MapSize: 96,64 - -Bounds: 4,4,88,56 - -UseAsShellmap: False - -Type: Minigame - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - Difficulties: Easy,Normal,Hard - -Players: - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Creeps: - Name: Creeps - NonCombatant: True - Race: allies - PlayerReference@Allies: - Name: Allies - Playable: True - AllowBots: False - Required: True - LockRace: True - Race: allies - LockColor: True - ColorRamp: 115,240,130 - LockSpawn: True - LockTeam: True - Enemies: Soviets - PlayerReference@Soviets: - Name: Soviets - Race: soviet - ColorRamp: 0,255,128 - Enemies: Allies - -Actors: - Actor113: fenc - Location: 46,54 - Owner: Allies - Actor115: fenc - Location: 46,55 - Owner: Allies - Actor88: brik - Location: 48,54 - Owner: Allies - Actor84: hpad - Location: 66,47 - Owner: Allies - Actor5: brik - Location: 72,55 - Owner: Allies - Actor4: brik - Location: 72,54 - Owner: Allies - Actor6: brik - Location: 72,53 - Owner: Allies - Actor77: brik - Location: 67,57 - Owner: Allies - Actor8: brik - Location: 72,52 - Owner: Allies - Actor9: brik - Location: 72,51 - Owner: Allies - Actor13: brik - Location: 75,50 - Owner: Allies - Actor12: brik - Location: 75,51 - Owner: Allies - Actor11: brik - Location: 74,51 - Owner: Allies - Actor10: brik - Location: 73,51 - Owner: Allies - Actor14: brik - Location: 75,49 - Owner: Allies - Actor15: brik - Location: 75,48 - Owner: Allies - Actor16: brik - Location: 76,48 - Owner: Allies - Actor17: brik - Location: 76,47 - Owner: Allies - Actor18: brik - Location: 75,47 - Owner: Allies - Actor19: brik - Location: 75,41 - Owner: Allies - Actor20: brik - Location: 75,42 - Owner: Allies - Actor21: brik - Location: 76,42 - Owner: Allies - Actor22: brik - Location: 76,41 - Owner: Allies - Actor23: brik - Location: 74,41 - Owner: Allies - Actor24: brik - Location: 73,41 - Owner: Allies - Actor25: brik - Location: 72,41 - Owner: Allies - Actor26: brik - Location: 71,41 - Owner: Allies - Actor27: brik - Location: 71,40 - Owner: Allies - Actor28: brik - Location: 70,40 - Owner: Allies - Actor29: brik - Location: 70,41 - Owner: Allies - Actor30: brik - Location: 61,40 - Owner: Allies - Actor31: brik - Location: 61,41 - Owner: Allies - Actor83: hpad - Location: 57,48 - Owner: Allies - Actor33: brik - Location: 60,40 - Owner: Allies - Actor1: brik - Location: 57,56 - Owner: Allies - Actor35: brik - Location: 59,40 - Owner: Allies - Actor36: brik - Location: 58,40 - Owner: Allies - Actor37: brik - Location: 57,40 - Owner: Allies - Actor38: brik - Location: 57,41 - Owner: Allies - Actor39: brik - Location: 56,41 - Owner: Allies - Actor40: brik - Location: 55,41 - Owner: Allies - Actor41: brik - Location: 54,41 - Owner: Allies - Actor42: brik - Location: 53,41 - Owner: Allies - Actor43: brik - Location: 53,42 - Owner: Allies - Actor44: brik - Location: 52,42 - Owner: Allies - Actor45: brik - Location: 51,42 - Owner: Allies - Actor46: brik - Location: 50,42 - Owner: Allies - Actor47: brik - Location: 49,42 - Owner: Allies - Actor48: brik - Location: 48,42 - Owner: Allies - Actor49: brik - Location: 48,43 - Owner: Allies - Actor50: brik - Location: 49,43 - Owner: Allies - Actor51: brik - Location: 48,52 - Owner: Allies - Actor52: brik - Location: 48,51 - Owner: Allies - Actor53: brik - Location: 48,50 - Owner: Allies - Actor54: brik - Location: 48,49 - Owner: Allies - Actor55: brik - Location: 48,48 - Owner: Allies - Actor71: brik - Location: 64,56 - Owner: Allies - Actor58: brik - Location: 46,47 - Owner: Allies - Actor57: brik - Location: 46,48 - Owner: Allies - Actor56: brik - Location: 47,48 - Owner: Allies - Actor59: brik - Location: 47,47 - Owner: Allies - Actor72: brik - Location: 64,57 - Owner: Allies - Actor65: brik - Location: 51,57 - Owner: Allies - Actor66: brik - Location: 50,57 - Owner: Allies - Actor61: brik - Location: 55,57 - Owner: Allies - Actor2: brik - Location: 57,57 - Owner: Allies - Actor34: brik - Location: 56,57 - Owner: Allies - Actor62: brik - Location: 54,57 - Owner: Allies - Actor74: brik - Location: 63,56 - Owner: Allies - Actor79: brik - Location: 65,57 - Owner: Allies - Actor80: apwr - Location: 68,53 - Owner: Allies - Actor81: powr - Location: 65,53 - Owner: Allies - Actor63: brik - Location: 53,57 - Owner: Allies - Actor64: brik - Location: 52,57 - Owner: Allies - Actor68: brik - Location: 72,57 - Owner: Allies - Actor73: brik - Location: 63,57 - Owner: Allies - Actor69: brik - Location: 71,57 - Owner: Allies - Actor76: brik - Location: 68,57 - Owner: Allies - Actor78: brik - Location: 66,57 - Owner: Allies - Actor75: brik - Location: 69,57 - Owner: Allies - Actor70: brik - Location: 70,57 - Owner: Allies - Actor7: brik - Location: 72,56 - Owner: Allies - Actor60: brik - Location: 56,56 - Owner: Allies - Actor 408: weap - Location: 53,46 - Owner: Allies - Actor32: tent - Location: 62,47 - Owner: Allies - Actor0: brik - Location: 48,53 - Owner: Allies - Actor111: proc - Location: 43,55 - Owner: Allies - Actor112: fenc - Location: 45,54 - Owner: Allies - Actor116: fenc - Location: 46,56 - Owner: Allies - Actor89: fenc - Location: 65,46 - Owner: Allies - Actor90: fenc - Location: 66,46 - Owner: Allies - Actor91: fenc - Location: 67,46 - Owner: Allies - Actor92: fenc - Location: 68,46 - Owner: Allies - Actor93: fenc - Location: 68,47 - Owner: Allies - Actor94: fenc - Location: 68,48 - Owner: Allies - Actor95: fenc - Location: 68,49 - Owner: Allies - Actor96: fenc - Location: 57,47 - Owner: Allies - Actor97: fenc - Location: 58,47 - Owner: Allies - Actor98: fenc - Location: 59,47 - Owner: Allies - Actor99: fenc - Location: 59,48 - Owner: Allies - Actor100: fenc - Location: 59,49 - Owner: Allies - Actor101: fix - Location: 50,52 - Owner: Allies - Actor102: dome - Location: 55,53 - Owner: Allies - Actor103: powr - Location: 58,41 - Owner: Allies - Actor104: apwr - Location: 71,47 - Owner: Allies - Actor105: fact - Location: 59,51 - Owner: Allies - Actor106: powr - Location: 55,42 - Owner: Allies - Actor107: gun - Location: 64,42 - Owner: Allies - Actor108: pbox.e1 - Location: 67,42 - Owner: Allies - Actor109: pbox.e1 - Location: 74,45 - Owner: Allies - Actor110: gun - Location: 50,45 - Owner: Allies - Actor114: fenc - Location: 44,54 - Owner: Allies - Actor118: fenc - Location: 42,57 - Owner: Allies - Actor117: fenc - Location: 46,57 - Owner: Allies - Actor67: brik - Location: 49,57 - Owner: Allies - Actor82: brik - Location: 48,57 - Owner: Allies - Actor85: brik - Location: 48,56 - Owner: Allies - Actor87: brik - Location: 48,55 - Owner: Allies - Actor86: brik - Location: 49,56 - Owner: Allies - Actor119: fenc - Location: 42,56 - Owner: Allies - Actor120: mine - Location: 30,58 - Owner: Neutral - Actor121: oilb - Location: 43,38 - Owner: Neutral - Actor122: oilb - Location: 36,37 - Owner: Neutral - Actor124: oilb - Location: 88,46 - Owner: Allies - Actor123: oilb - Location: 80,46 - Owner: Allies - Actor130: fenc - Location: 88,48 - Owner: Neutral - Actor129: fenc - Location: 89,48 - Owner: Neutral - Actor125: fenc - Location: 90,45 - Owner: Neutral - Actor127: fenc - Location: 90,47 - Owner: Neutral - Actor126: fenc - Location: 90,46 - Owner: Neutral - Actor128: fenc - Location: 90,48 - Owner: Neutral - Actor131: fenc - Location: 87,48 - Owner: Neutral - Actor141: fenc - Location: 78,11 - Owner: Soviets - Actor403: sam - Location: 76,11 - Owner: Soviets - Actor134: afld - Location: 86,5 - Owner: Soviets - Actor133: afld - Location: 80,6 - Owner: Soviets - Actor132: afld - Location: 75,5 - Owner: Soviets - Actor160: fenc - Location: 77,4 - Owner: Soviets - Actor159: fenc - Location: 76,4 - Owner: Soviets - Actor162: fenc - Location: 74,4 - Owner: Soviets - Actor161: fenc - Location: 78,4 - Owner: Soviets - Actor136: fenc - Location: 75,11 - Owner: Soviets - Actor137: fenc - Location: 75,10 - Owner: Soviets - Actor138: fenc - Location: 76,10 - Owner: Soviets - Actor139: fenc - Location: 77,10 - Owner: Soviets - Actor140: fenc - Location: 78,10 - Owner: Soviets - Actor143: barl - Location: 79,6 - Owner: Soviets - Actor144: brl3 - Location: 74,5 - Owner: Soviets - Actor145: brl3 - Location: 75,7 - Owner: Soviets - Actor146: barl - Location: 74,6 - Owner: Soviets - Actor147: barl - Location: 80,5 - Owner: Soviets - Actor148: brl3 - Location: 84,6 - Owner: Soviets - Actor149: brl3 - Location: 85,5 - Owner: Soviets - Actor150: brl3 - Location: 83,6 - Owner: Soviets - Actor151: barl - Location: 84,5 - Owner: Soviets - Actor142: brl3 - Location: 79,5 - Owner: Soviets - Actor152: barl - Location: 82,6 - Owner: Soviets - Actor153: barl - Location: 84,7 - Owner: Soviets - Actor154: barl - Location: 85,6 - Owner: Soviets - Actor155: barl - Location: 89,5 - Owner: Soviets - Actor171: fenc - Location: 87,4 - Owner: Soviets - Actor172: fenc - Location: 88,4 - Owner: Soviets - Actor156: brl3 - Location: 90,5 - Owner: Soviets - Actor170: fenc - Location: 86,4 - Owner: Soviets - Actor169: fenc - Location: 85,4 - Owner: Soviets - Actor158: fenc - Location: 75,4 - Owner: Soviets - Actor168: fenc - Location: 84,4 - Owner: Soviets - Actor157: barl - Location: 90,6 - Owner: Soviets - Actor167: fenc - Location: 83,4 - Owner: Soviets - Actor166: fenc - Location: 82,4 - Owner: Soviets - Actor165: fenc - Location: 81,4 - Owner: Soviets - Actor164: fenc - Location: 80,4 - Owner: Soviets - Actor163: fenc - Location: 79,4 - Owner: Soviets - Actor173: fenc - Location: 89,4 - Owner: Soviets - Actor174: fenc - Location: 90,4 - Owner: Soviets - Actor175: fenc - Location: 91,4 - Owner: Soviets - Actor176: fenc - Location: 91,5 - Owner: Soviets - Actor177: fenc - Location: 91,6 - Owner: Soviets - Actor178: fenc - Location: 91,7 - Owner: Soviets - Actor179: fenc - Location: 91,8 - Owner: Soviets - Actor180: fenc - Location: 90,8 - Owner: Soviets - Actor181: fenc - Location: 90,7 - Owner: Soviets - Actor183: proc - Location: 81,11 - Owner: Soviets - Actor187: t11 - Location: 69,10 - Owner: Neutral - Actor186: t16 - Location: 58,6 - Owner: Neutral - Actor185: tc04 - Location: 57,8 - Owner: Neutral - Actor184: mine - Location: 85,22 - Owner: Neutral - Actor188: tc01 - Location: 69,6 - Owner: Neutral - Actor189: t12 - Location: 62,13 - Owner: Neutral - Actor193: fenc - Location: 75,16 - Owner: Soviets - Actor194: fenc - Location: 75,15 - Owner: Soviets - Actor191: fenc - Location: 74,15 - Owner: Soviets - Actor192: fenc - Location: 74,16 - Owner: Soviets - Actor195: ftur - Location: 78,17 - Owner: Soviets - Actor190: fenc - Location: 74,14 - Owner: Soviets - Actor198: apwr - Location: 88,12 - Owner: Soviets - Actor196: silo - Location: 84,13 - Owner: Soviets - Actor197: silo - Location: 84,12 - Owner: Soviets - Actor199: e1 - Location: 79,15 - Owner: Soviets - Actor200: e2 - Location: 81,17 - Owner: Soviets - Actor201: v2rl - Location: 76,15 - Owner: Soviets - Actor202: tc04 - Location: 4,15 - Owner: Soviets - Actor203: tc01 - Location: 7,17 - Owner: Soviets - Actor204: t15 - Location: 9,16 - Owner: Neutral - Actor205: tc05 - Location: 4,26 - Owner: Neutral - Actor206: tc02 - Location: 5,24 - Owner: Neutral - Actor207: tc04 - Location: 7,25 - Owner: Neutral - Actor208: tc03 - Location: 40,21 - Owner: Neutral - Sam1: sam - Location: 62,27 - Owner: Soviets - Actor210: tc04 - Location: 34,22 - Owner: Neutral - Actor211: tc02 - Location: 32,33 - Owner: Neutral - Actor212: t16 - Location: 35,33 - Owner: Neutral - Actor213: t11 - Location: 49,37 - Owner: Neutral - Actor214: tc04 - Location: 82,39 - Owner: Neutral - Actor215: tc01 - Location: 89,39 - Owner: Neutral - Actor216: tc05 - Location: 85,39 - Owner: Neutral - Actor217: t16 - Location: 80,41 - Owner: Neutral - Actor218: fenc - Location: 79,48 - Owner: Neutral - Actor219: fenc - Location: 80,48 - Owner: Neutral - Actor220: fenc - Location: 81,48 - Owner: Neutral - Actor221: fenc - Location: 82,48 - Owner: Neutral - Actor222: fenc - Location: 82,47 - Owner: Neutral - Actor223: tc02 - Location: 21,41 - Owner: Neutral - Actor224: tc04 - Location: 35,43 - Owner: Neutral - Actor225: tc02 - Location: 38,44 - Owner: Neutral - Actor226: t16 - Location: 38,42 - Owner: Neutral - Actor227: t13 - Location: 44,33 - Owner: Neutral - Actor228: t02 - Location: 39,31 - Owner: Neutral - Actor229: tc04 - Location: 54,13 - Owner: Neutral - Actor230: t07 - Location: 47,12 - Owner: Neutral - Actor235: brik - Location: 12,18 - Owner: Neutral - Actor267: brik - Location: 33,17 - Owner: Neutral - Actor237: brik - Location: 11,19 - Owner: Neutral - Actor231: brik - Location: 11,16 - Owner: Neutral - Actor238: brik - Location: 12,19 - Owner: Neutral - Actor232: brik - Location: 11,17 - Owner: Neutral - Actor243: ftur - Location: 23,16 - Owner: Soviets - Actor244: ftur - Location: 29,13 - Owner: Soviets - Actor307: v2rl - Location: 31,9 - Owner: Soviets - Actor306: v2rl - Location: 31,18 - Owner: Soviets - Actor241: dome - Location: 14,16 - Owner: Soviets - Actor239: apwr - Location: 24,5 - Owner: Soviets - Actor234: brik - Location: 12,16 - Owner: Neutral - Actor233: brik - Location: 12,17 - Owner: Neutral - Actor236: brik - Location: 11,18 - Owner: Neutral - Actor293: brik - Location: 25,4 - Owner: Neutral - Actor291: brik - Location: 26,4 - Owner: Neutral - Actor295: brik - Location: 23,4 - Owner: Neutral - Actor294: brik - Location: 24,4 - Owner: Neutral - Actor290: brik - Location: 27,4 - Owner: Neutral - Actor289: brik - Location: 28,4 - Owner: Neutral - Actor288: brik - Location: 29,4 - Owner: Neutral - Actor287: brik - Location: 30,4 - Owner: Neutral - Actor286: brik - Location: 31,4 - Owner: Neutral - Actor285: brik - Location: 32,5 - Owner: Neutral - Actor284: brik - Location: 32,4 - Owner: Neutral - Actor283: brik - Location: 33,4 - Owner: Neutral - Actor261: brik - Location: 29,19 - Owner: Neutral - Actor262: brik - Location: 30,19 - Owner: Neutral - Actor260: brik - Location: 28,19 - Owner: Neutral - Actor265: brik - Location: 32,18 - Owner: Neutral - Actor259: brik - Location: 27,19 - Owner: Neutral - Sam2: sam - Location: 17,31 - Owner: Soviets - Actor264: brik - Location: 32,19 - Owner: Neutral - Actor246: brik - Location: 14,19 - Owner: Neutral - Actor242: brik - Location: 13,19 - Owner: Neutral - Actor263: brik - Location: 31,19 - Owner: Neutral - Actor266: brik - Location: 33,18 - Owner: Neutral - Actor247: brik - Location: 15,19 - Owner: Neutral - Actor248: brik - Location: 16,19 - Owner: Neutral - Actor249: brik - Location: 17,19 - Owner: Neutral - Actor251: brik - Location: 19,19 - Owner: Neutral - Actor250: brik - Location: 18,19 - Owner: Neutral - Actor254: brik - Location: 19,18 - Owner: Neutral - Actor253: brik - Location: 20,18 - Owner: Neutral - Actor252: brik - Location: 20,19 - Owner: Neutral - Actor281: brik - Location: 33,6 - Owner: Neutral - Actor277: brik - Location: 33,9 - Owner: Neutral - Actor276: brik - Location: 32,10 - Owner: Neutral - Actor270: brik - Location: 33,15 - Owner: Neutral - Actor278: brik - Location: 33,8 - Owner: Neutral - Actor275: brik - Location: 33,10 - Owner: Neutral - Actor274: brik - Location: 33,11 - Owner: Neutral - Actor273: brik - Location: 32,15 - Owner: Neutral - Actor271: brik - Location: 32,16 - Owner: Neutral - Actor282: brik - Location: 33,5 - Owner: Neutral - Actor272: brik - Location: 32,11 - Owner: Neutral - Actor279: brik - Location: 33,7 - Owner: Neutral - Actor269: brik - Location: 33,16 - Owner: Neutral - Actor268: brik - Location: 33,19 - Owner: Neutral - Actor420: weap - Location: 22,12 - Owner: Soviets - Actor240: apwr - Location: 16,13 - Owner: Soviets - Actor258: brik - Location: 26,18 - Owner: Neutral - Actor255: brik - Location: 25,18 - Owner: Neutral - Actor256: brik - Location: 25,19 - Owner: Neutral - Actor257: brik - Location: 26,19 - Owner: Neutral - Actor309: e1 - Location: 52,44 - Owner: Allies - Barrack1: barr - Location: 28,7 - Owner: Soviets - Actor305: v2rl - Location: 17,18 - Owner: Soviets - Actor304: e3 - Location: 17,17 - Owner: Soviets - Actor303: e1 - Location: 29,15 - Owner: Soviets - Actor300: e1 - Location: 25,16 - Owner: Soviets - Actor301: e2 - Location: 21,17 - Owner: Soviets - Actor302: e3 - Location: 28,10 - Owner: Soviets - sovietRallyPoint3: waypoint - Location: 37,13 - Owner: Neutral - sovietRallyPoint2: waypoint - Location: 23,21 - Owner: Neutral - Actor404: sam - Location: 29,17 - Owner: Soviets - sovietRallyPoint1: waypoint - Location: 23,39 - Owner: Neutral - Actor310: e1 - Location: 50,47 - Owner: Allies - Actor311: e1 - Location: 62,43 - Owner: Allies - Actor312: e1 - Location: 64,44 - Owner: Allies - Actor313: e3 - Location: 66,44 - Owner: Allies - Actor314: e1 - Location: 69,43 - Owner: Allies - Actor315: e1 - Location: 73,43 - Owner: Allies - Actor316: jeep - Location: 54,49 - Owner: Allies - Actor317: 1tnk - Location: 69,45 - Owner: Allies - Actor318: 1tnk - Location: 52,46 - Owner: Allies - sovietEntryPoint1: waypoint - Location: 4,31 - Owner: Neutral - sovietEntryPoint2: waypoint - Location: 4,21 - Owner: Neutral - sovietEntryPoint3: waypoint - Location: 37,4 - Owner: Neutral - sovietEntryPoint4: waypoint - Location: 65,4 - Owner: Neutral - sovietEntryPoint5: waypoint - Location: 91,19 - Owner: Neutral - sovietEntryPoint7: waypoint - Location: 91,43 - Owner: Neutral - alliesEntryPoint: waypoint - Location: 60,59 - Owner: Neutral - Actor296: tc02 - Location: 73,32 - Owner: Neutral - Actor298: tc01 - Location: 77,34 - Owner: Neutral - Actor299: tc04 - Location: 83,35 - Owner: Neutral - Actor308: tc01 - Location: 86,35 - Owner: Neutral - Actor319: t07 - Location: 90,27 - Owner: Neutral - Actor320: tc01 - Location: 80,26 - Owner: Neutral - alliesbase1: waypoint - Location: 66,45 - Owner: Neutral - alliesbase2: waypoint - Location: 51,46 - Owner: Neutral - alliesbase3: waypoint - Location: 72,45 - Owner: Neutral - alliesbase: waypoint - Location: 60,48 - Owner: Neutral - sovietRallyPoint4: waypoint - Location: 65,13 - Owner: Neutral - sovietRallyPoint5: waypoint - Location: 80,19 - Owner: Neutral - Actor321: brik - Location: 60,41 - Owner: Allies - BadgerEntryPoint1: waypoint - Location: 1,54 - Owner: Neutral - BadgerEntryPoint2: waypoint - Location: 1,47 - Owner: Neutral - ParaDrop1: waypoint - Location: 54,51 - Owner: Neutral - ParaDrop2: waypoint - Location: 67,51 - Owner: Neutral - ParaBomb1: waypoint - Location: 69,54 - Owner: Neutral - ParaBomb2: waypoint - Location: 72,48 - Owner: Neutral - Actor135: e1 - Location: 63,39 - Owner: Soviets - Actor209: e2 - Location: 65,40 - Owner: Soviets - Actor280: e1 - Location: 68,40 - Owner: Soviets - Actor292: e1 - Location: 76,44 - Owner: Soviets - Actor322: e2 - Location: 78,46 - Owner: Soviets - Actor323: e1 - Location: 46,44 - Owner: Soviets - Actor324: e3 - Location: 45,46 - Owner: Soviets - Actor325: e3 - Location: 66,39 - Owner: Soviets - Actor326: v2rl - Location: 61,37 - Owner: Soviets - Actor327: brl3 - Location: 79,47 - Owner: Allies - Actor328: barl - Location: 79,46 - Owner: Allies - Actor329: brl3 - Location: 87,45 - Owner: Allies - Actor330: barl - Location: 87,46 - Owner: Allies - Actor331: barl - Location: 88,45 - Owner: Allies - Actor332: oilb - Location: 74,53 - Owner: Allies - Actor333: fenc - Location: 73,55 - Owner: Allies - Actor334: fenc - Location: 74,55 - Owner: Allies - Actor335: fenc - Location: 75,55 - Owner: Allies - Actor336: fenc - Location: 75,52 - Owner: Allies - Actor337: fenc - Location: 76,52 - Owner: Allies - Actor338: fenc - Location: 74,52 - Owner: Allies - Actor339: brl3 - Location: 73,53 - Owner: Allies - Actor340: barl - Location: 73,52 - Owner: Allies - Actor3: spef - Location: 13,9 - Owner: Soviets - Factory: waypoint - Location: 23,13 - Owner: Neutral - Actor297: brik - Location: 22,4 - Owner: Neutral - Actor341: brik - Location: 21,4 - Owner: Neutral - Actor342: brik - Location: 21,5 - Owner: Neutral - Actor343: brik - Location: 22,5 - Owner: Neutral - SovietInfantryEntry1: waypoint - Location: 28,9 - Owner: Neutral - SovietInfantryRally1: waypoint - Location: 23,26 - Owner: Neutral - Actor346: t15 - Location: 57,24 - Owner: Neutral - Actor1000: camera.large - Location: 1,1 - Owner: Soviets - -Smudges: - -Rules: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - Survival01Script: - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - TENT: - ProvidesCustomPrerequisite: - Prerequisite: barracks - GUN: - Valued: - Cost: 1000 - BARR: - ProvidesCustomPrerequisite: - Prerequisite: barracks - Buildable: - Owner: None - MEDI: - Buildable: - Prerequisites: barracks - SPY: - Buildable: - Prerequisites: barracks, dome - MIG: - Buildable: - Owner: None - YAK: - Buildable: - Owner: None - HELI: - Buildable: - Owner: None - SS: - Buildable: - Owner: None - MSUB: - Buildable: - Owner: None - DD: - Buildable: - Owner: None - CA: - Buildable: - Owner: None - PT: - Buildable: - Owner: None - MSLO: - Buildable: - Owner: None - GAP: - Buildable: - Owner: None - SPEN: - Buildable: - Owner: None - SYRD: - Buildable: - Owner: None - IRON: - Buildable: - Owner: None - PDOX: - Buildable: - Owner: None - TSLA: - Buildable: - Owner: None - AGUN: - Buildable: - Owner: None - FTUR: - Buildable: - Owner: None - SAM: - Buildable: - Owner: None - ATEK: - Buildable: - Owner: None - AFLD: - Buildable: - Owner: None - STEK: - Buildable: - Owner: None - 4TNK: - Buildable: - Owner: None - MCV: - Buildable: - Owner: None - APC: - Buildable: - Owner: None - MNLY.AP: - Buildable: - Owner: None - MNLY.AT: - Buildable: - Owner: None - TTNK: - Buildable: - Owner: None - FTRK: - Buildable: - Owner: None - CTNK: - Buildable: - Owner: None - DOME: - Buildable: - Owner: None - BRIK: - Buildable: - Owner: None - MRJ: - Buildable: - Owner: None - CAMERA.Large: - Inherits: CAMERA - RevealsShroud: - Range: 1000c0 - -Sequences: - -VoxelSequences: - -Weapons: - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/Survival02/map.bin b/mods/ra/maps/Survival02/map.bin deleted file mode 100644 index 13fdf929d5..0000000000 Binary files a/mods/ra/maps/Survival02/map.bin and /dev/null differ diff --git a/mods/ra/maps/Survival02/map.yaml b/mods/ra/maps/Survival02/map.yaml deleted file mode 100644 index 895b23c017..0000000000 --- a/mods/ra/maps/Survival02/map.yaml +++ /dev/null @@ -1,1149 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Survival02 - -Description: Survive! - -Author: Nuke'm Bro. - -Tileset: SNOW - -MapSize: 80,80 - -Bounds: 2,2,76,76 - -UseAsShellmap: False - -Type: Minigame - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - -Players: - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Allies: - Name: Allies - Playable: True - AllowBots: False - LockRace: True - Race: allies - LockColor: True - ColorRamp: 115,240,130 - LockSpawn: True - LockTeam: True - Allies: Greece - Enemies: Soviets - PlayerReference@Soviets: - Name: Soviets - Race: soviet - ColorRamp: 0,255,128 - Enemies: Allies,Greece - PlayerReference@Creeps: - Name: Creeps - NonCombatant: True - Race: allies - -Actors: - Actor0: tc05 - Location: 37,56 - Owner: Neutral - Actor1: tc02 - Location: 33,56 - Owner: Neutral - Actor2: t16 - Location: 37,59 - Owner: Neutral - Actor3: t10 - Location: 26,56 - Owner: Neutral - Actor4: tc04 - Location: 33,72 - Owner: Neutral - Actor5: tc01 - Location: 32,76 - Owner: Neutral - Actor98: fenc - Location: 56,68 - Owner: Soviets - Actor7: t05 - Location: 40,74 - Owner: Neutral - Actor8: tc04 - Location: 67,70 - Owner: Soviets - Actor9: tc02 - Location: 68,75 - Owner: Neutral - Actor6: fenc - Location: 55,68 - Owner: Soviets - Actor11: tc05 - Location: 73,63 - Owner: Neutral - Actor12: tc02 - Location: 70,67 - Owner: Neutral - Actor13: t07 - Location: 29,71 - Owner: Neutral - Actor14: tc01 - Location: 24,72 - Owner: Neutral - Actor15: t01 - Location: 29,66 - Owner: Neutral - Actor16: t05 - Location: 34,62 - Owner: Neutral - Actor17: tc01 - Location: 52,52 - Owner: Neutral - Actor18: tc02 - Location: 47,54 - Owner: Neutral - Actor19: tc02 - Location: 26,51 - Owner: Neutral - Actor20: t11 - Location: 42,54 - Owner: Neutral - Actor21: tc05 - Location: 75,16 - Owner: Neutral - Actor22: tc02 - Location: 70,16 - Owner: Neutral - Actor23: tc04 - Location: 69,13 - Owner: Soviets - Actor24: t02 - Location: 73,16 - Owner: Neutral - Actor25: t11 - Location: 76,12 - Owner: Neutral - Actor26: tc02 - Location: 55,2 - Owner: Neutral - Actor27: powr - Location: 73,3 - Owner: Soviets - Actor31: tc01 - Location: 47,25 - Owner: Neutral - Actor30: tc05 - Location: 28,25 - Owner: Neutral - Actor28: tc05 - Location: 58,2 - Owner: Soviets - Actor29: t16 - Location: 56,4 - Owner: Neutral - Actor32: tc04 - Location: 57,30 - Owner: Neutral - Actor33: t02 - Location: 56,28 - Owner: Neutral - Actor34: t06 - Location: 19,45 - Owner: Neutral - Actor35: t01 - Location: 20,49 - Owner: Neutral - Actor37: tc05 - Location: 22,47 - Owner: Neutral - Actor36: tc01 - Location: 22,45 - Owner: Neutral - Actor38: tc04 - Location: 53,14 - Owner: Neutral - Actor39: tc05 - Location: 54,16 - Owner: Neutral - Actor40: tc01 - Location: 56,14 - Owner: Neutral - Actor41: tc02 - Location: 52,17 - Owner: Neutral - Actor45: brik - Location: 5,17 - Owner: Soviets - Actor42: brik - Location: 4,17 - Owner: Soviets - Actor43: brik - Location: 4,18 - Owner: Soviets - Actor46: brik - Location: 6,18 - Owner: Soviets - Actor47: brik - Location: 7,18 - Owner: Soviets - Actor48: brik - Location: 8,18 - Owner: Soviets - Actor49: brik - Location: 9,18 - Owner: Soviets - Actor50: brik - Location: 10,18 - Owner: Soviets - Actor44: brik - Location: 5,18 - Owner: Soviets - Actor51: brik - Location: 11,18 - Owner: Soviets - Actor52: brik - Location: 12,18 - Owner: Soviets - Actor53: brik - Location: 13,17 - Owner: Soviets - Actor56: brik - Location: 13,18 - Owner: Soviets - Actor57: brik - Location: 14,18 - Owner: Soviets - Actor54: brik - Location: 14,17 - Owner: Soviets - Actor69: apwr - Location: 75,6 - Owner: Soviets - Actor73: tsla - Location: 16,12 - Owner: Soviets - Factory: weap - Location: 7,6 - Owner: Soviets - Actor67: barb - Location: 19,11 - Owner: Soviets - Actor86: fenc - Location: 65,68 - Owner: Soviets - Actor60: brik - Location: 22,10 - Owner: Soviets - Actor55: brik - Location: 21,10 - Owner: Soviets - Actor74: proc - Location: 13,5 - Owner: Soviets - Actor58: brik - Location: 21,11 - Owner: Soviets - Actor71: powr - Location: 5,13 - Owner: Soviets - barrack1: barr - Location: 18,7 - Owner: Soviets - Actor91: fenc - Location: 68,66 - Owner: Soviets - Actor81: tc03 - Location: 6,20 - Owner: Soviets - Actor80: tc05 - Location: 10,19 - Owner: Soviets - Actor78: brl3 - Location: 64,69 - Owner: Soviets - Actor82: tc04 - Location: 2,19 - Owner: Soviets - Actor85: fenc - Location: 64,68 - Owner: Soviets - Actor61: ftur - Location: 15,16 - Owner: Soviets - Actor65: ftur - Location: 20,12 - Owner: Soviets - Actor84: fenc - Location: 63,68 - Owner: Soviets - Actor62: barb - Location: 14,16 - Owner: Soviets - Actor122: fenc - Location: 46,45 - Owner: Neutral - Actor63: barb - Location: 14,15 - Owner: Soviets - Actor59: brik - Location: 22,11 - Owner: Soviets - Actor104: barb - Location: 19,12 - Owner: Soviets - Actor66: barb - Location: 20,11 - Owner: Soviets - Actor90: fenc - Location: 67,66 - Owner: Soviets - Actor99: fenc - Location: 55,70 - Owner: Soviets - Actor101: fenc - Location: 68,65 - Owner: Soviets - Actor89: fenc - Location: 67,67 - Owner: Soviets - Actor88: fenc - Location: 67,68 - Owner: Soviets - Actor87: fenc - Location: 66,68 - Owner: Soviets - Actor96: e1 - Location: 13,13 - Owner: Soviets - Facing: 160 - boom3: ftur - Location: 59,70 - Owner: Soviets - Actor92: fenc - Location: 55,69 - Owner: Soviets - Actor103: e4 - Location: 8,12 - Owner: Soviets - Facing: 160 - Actor102: 3tnk - Location: 14,11 - Owner: Soviets - Facing: 160 - boom1: apwr - Location: 56,72 - Owner: Soviets - Actor105: tc04 - Location: 23,29 - Owner: Soviets - Actor94: fenc - Location: 55,72 - Owner: Soviets - Actor108: t06 - Location: 24,32 - Owner: Soviets - Actor107: tc01 - Location: 27,30 - Owner: Soviets - Actor76: fenc - Location: 62,69 - Owner: Soviets - Actor75: fenc - Location: 62,68 - Owner: Soviets - boom2: barr - Location: 65,69 - Owner: Soviets - Actor95: fenc - Location: 56,69 - Owner: Soviets - Actor109: t01 - Location: 26,31 - Owner: Soviets - Actor110: tc05 - Location: 51,29 - Owner: Soviets - Actor111: tc04 - Location: 45,29 - Owner: Soviets - Actor112: tc05 - Location: 62,45 - Owner: Soviets - Actor113: t13 - Location: 71,27 - Owner: Soviets - Actor114: tc03 - Location: 74,21 - Owner: Soviets - Actor115: tc02 - Location: 38,2 - Owner: Soviets - Actor116: tc05 - Location: 40,8 - Owner: Soviets - Actor117: tc05 - Location: 4,41 - Owner: Soviets - Actor118: tc04 - Location: 2,43 - Owner: Soviets - Actor119: tc02 - Location: 5,44 - Owner: Soviets - Actor120: t07 - Location: 4,46 - Owner: Soviets - Actor121: fenc - Location: 46,44 - Owner: Neutral - Actor123: fenc - Location: 46,46 - Owner: Neutral - Actor124: fenc - Location: 45,46 - Owner: Neutral - Actor97: powr - Location: 32,43 - Owner: Allies - Health: 0.2 - Actor125: fenc - Location: 44,46 - Owner: Neutral - Actor72: dome - Location: 44,44 - Owner: Allies - Health: 0.3 - Actor127: fact - Location: 38,38 - Owner: Allies - Health: 0.4 - Actor128: powr - Location: 35,45 - Owner: Allies - Health: 0.4 - Actor129: powr - Location: 30,34 - Owner: Allies - Health: 0.3 - Actor130: weap - Location: 33,35 - Owner: Allies - Health: 0.3 - Actor131: tc01 - Location: 30,45 - Owner: Neutral - Actor132: tc04 - Location: 32,45 - Owner: Neutral - Actor133: tc02 - Location: 34,47 - Owner: Neutral - Actor134: agun - Location: 35,42 - Owner: Allies - Health: 0.4 - Actor135: gun - Location: 27,35 - Owner: Allies - Health: 0.4 - Actor136: gun - Location: 28,41 - Owner: Allies - Actor137: cycl - Location: 29,37 - Owner: Neutral - Actor138: cycl - Location: 29,38 - Owner: Neutral - Actor139: cycl - Location: 29,39 - Owner: Neutral - Actor140: pbox.e1 - Location: 28,38 - Owner: Allies - Health: 0.5 - Actor141: agun - Location: 32,31 - Owner: Allies - Health: 0.4 - Actor142: fenc - Location: 31,30 - Owner: Neutral - Actor143: fenc - Location: 32,30 - Owner: Neutral - Actor144: fenc - Location: 33,30 - Owner: Neutral - Actor145: fenc - Location: 34,31 - Owner: Neutral - Actor146: fenc - Location: 34,30 - Owner: Neutral - Actor147: tent - Location: 43,34 - Owner: Allies - Health: 0.3 - Actor148: fix - Location: 44,39 - Owner: Allies - Health: 0.2 - Actor149: cycl - Location: 48,37 - Owner: Neutral - Actor150: cycl - Location: 48,38 - Owner: Neutral - Actor151: cycl - Location: 48,39 - Owner: Neutral - Actor152: gun - Location: 49,38 - Owner: Allies - Health: 0.3 - Actor157: fenc - Location: 40,32 - Owner: Neutral - Actor156: fenc - Location: 40,33 - Owner: Neutral - Actor155: fenc - Location: 39,33 - Owner: Neutral - Actor154: fenc - Location: 38,33 - Owner: Neutral - Actor153: fenc - Location: 38,32 - Owner: Neutral - Actor158: gun - Location: 39,32 - Owner: Allies - Health: 0.3 - Actor159: powr - Location: 46,33 - Owner: Allies - Health: 0.3 - Actor160: fenc - Location: 45,32 - Owner: Neutral - Actor161: fenc - Location: 46,32 - Owner: Neutral - Actor162: fenc - Location: 47,32 - Owner: Neutral - Actor163: fenc - Location: 48,32 - Owner: Neutral - Actor164: fenc - Location: 48,33 - Owner: Neutral - Actor165: fenc - Location: 48,34 - Owner: Neutral - Actor166: agun - Location: 46,37 - Owner: Allies - Health: 0.5 - Actor167: e1 - Location: 35,33 - Owner: Allies - Facing: 64 - Actor168: e1 - Location: 43,32 - Owner: Allies - Actor169: e3 - Location: 42,42 - Owner: Allies - Actor170: e1 - Location: 33,40 - Owner: Allies - Actor171: jeep - Location: 38,35 - Owner: Allies - Actor172: 1tnk - Location: 30,41 - Owner: Allies - Actor173: 1tnk - Location: 47,41 - Owner: Allies - Actor174: 2tnk - Location: 37,46 - Owner: Allies - Facing: 160 - AlliesBase: waypoint - Location: 39,37 - Owner: Neutral - Actor64: barb - Location: 15,15 - Owner: Soviets - Actor177: fenc - Location: 55,71 - Owner: Soviets - Actor100: e2 - Location: 16,10 - Owner: Soviets - Facing: 160 - Actor180: fenc - Location: 53,72 - Owner: Soviets - Actor179: fenc - Location: 54,72 - Owner: Soviets - Actor181: fenc - Location: 53,73 - Owner: Soviets - Actor183: fenc - Location: 54,73 - Owner: Soviets - Actor176: t02 - Location: 43,16 - Owner: Neutral - Actor126: tc04 - Location: 29,15 - Owner: Neutral - Actor182: apwr - Location: 22,2 - Owner: Soviets - Actor77: v2rl - Location: 40,23 - Owner: Soviets - Actor223: e2 - Location: 37,43 - Owner: Soviets - Facing: 192 - Actor220: e1 - Location: 32,38 - Owner: Soviets - Facing: 192 - Actor222: e2 - Location: 40,35 - Owner: Soviets - Facing: 192 - Actor221: e1 - Location: 42,40 - Owner: Soviets - Facing: 192 - SovietEntry1: waypoint - Location: 77,45 - Owner: Neutral - SovietEntry2: waypoint - Location: 2,54 - Owner: Neutral - SovietRally: waypoint - Location: 11,10 - Owner: Neutral - SovietRally1: waypoint - Location: 61,72 - Owner: Neutral - SovietRally2: waypoint - Location: 55,61 - Owner: Neutral - SovietRally3: waypoint - Location: 22,18 - Owner: Neutral - SovietRally4: waypoint - Location: 40,18 - Owner: Neutral - SovietRally5: waypoint - Location: 14,36 - Owner: Neutral - SovietRally6: waypoint - Location: 65,39 - Owner: Neutral - SovietParaDrop1: waypoint - Location: 48,41 - Owner: Neutral - SovietParaDrop2: waypoint - Location: 26,38 - Owner: Neutral - SovietParaDrop3: waypoint - Location: 39,34 - Owner: Neutral - SovietParaDropEntry: waypoint - Location: 2,2 - Owner: Neutral - Actor70: mine - Location: 38,50 - Owner: Neutral - Actor68: 3tnk - Location: 61,70 - Owner: Soviets - Facing: 32 - Actor106: 3tnk - Location: 59,74 - Owner: Soviets - Facing: 224 - Actor175: e1 - Location: 63,72 - Owner: Soviets - Facing: 32 - Actor184: e2 - Location: 61,74 - Owner: Soviets - drum2: brl3 - Location: 60,75 - Owner: Soviets - Actor224: brl3 - Location: 59,75 - Owner: Soviets - Actor225: barl - Location: 58,75 - Owner: Soviets - Actor226: barl - Location: 61,75 - Owner: Soviets - Actor227: barl - Location: 62,70 - Owner: Soviets - drum1: brl3 - Location: 63,70 - Owner: Soviets - Actor229: barl - Location: 63,71 - Owner: Soviets - Actor230: fenc - Location: 67,65 - Owner: Soviets - Actor231: brl3 - Location: 62,74 - Owner: Soviets - Actor232: barl - Location: 62,75 - Owner: Soviets - Actor196: tsla - Location: 60,8 - Owner: Soviets - Actor235: barl - Location: 64,70 - Owner: Soviets - Actor233: proc - Location: 61,3 - Owner: Soviets - Actor236: fenc - Location: 61,2 - Owner: Soviets - Actor237: fenc - Location: 62,2 - Owner: Soviets - Actor238: fenc - Location: 63,2 - Owner: Soviets - Actor241: silo - Location: 64,5 - Owner: Soviets - Actor240: fenc - Location: 64,2 - Owner: Soviets - Actor239: silo - Location: 64,4 - Owner: Soviets - Actor242: powr - Location: 8,14 - Owner: Soviets - Actor243: fenc - Location: 64,3 - Owner: Soviets - Actor10: tc04 - Location: 75,73 - Owner: Neutral - Actor178: t16 - Location: 77,69 - Owner: Neutral - Actor192: tc02 - Location: 22,4 - Owner: Soviets - Actor193: tc01 - Location: 27,6 - Owner: Soviets - Actor194: powr - Location: 74,10 - Owner: Soviets - Actor195: barr - Location: 72,6 - Owner: Soviets - Actor93: tc03 - Location: 75,68 - Owner: Neutral - Actor248: mine - Location: 59,60 - Owner: Neutral - SovietRally7: waypoint - Location: 15,41 - Owner: Neutral - Actor249: tc02 - Location: 26,47 - Owner: Neutral - Actor250: t16 - Location: 24,45 - Owner: Neutral - Actor251: t06 - Location: 22,43 - Owner: Neutral - Actor252: t01 - Location: 24,43 - Owner: Neutral - Actor253: kenn - Location: 12,6 - Owner: Soviets - Actor254: fenc - Location: 10,5 - Owner: Soviets - Actor255: fenc - Location: 11,5 - Owner: Soviets - Actor256: fenc - Location: 12,5 - Owner: Soviets - Actor257: dog - Location: 11,14 - Owner: Soviets - Actor258: dog - Location: 18,10 - Owner: Soviets - Actor259: fenc - Location: 10,6 - Owner: Soviets - Actor260: dog - Location: 11,7 - Owner: Soviets - Actor191: tc04 - Location: 25,1 - Owner: Soviets - Actor79: tc05 - Location: 23,6 - Owner: Soviets - Actor190: apwr - Location: 25,4 - Owner: Soviets - Actor83: barl - Location: 63,69 - Owner: Soviets - FranceEntry: waypoint - Location: 66,77 - Owner: Neutral - FranceRally: waypoint - Location: 59,67 - Owner: Neutral - drum3: brl3 - Location: 58,71 - Owner: Soviets - Actor185: brl3 - Location: 56,71 - Owner: Soviets - Actor186: barl - Location: 58,70 - Owner: Soviets - Actor187: barl - Location: 58,72 - Owner: Soviets - Actor188: barl - Location: 57,71 - Owner: Soviets - Actor189: barl - Location: 59,71 - Owner: Soviets - FranceparaEntry1: waypoint - Location: 50,77 - Owner: Neutral - FranceparaEntry2: waypoint - Location: 56,77 - Owner: Neutral - FranceparaEntry3: waypoint - Location: 53,77 - Owner: Neutral - Actor197: barb - Location: 59,9 - Owner: Soviets - Actor198: barb - Location: 59,10 - Owner: Soviets - Actor199: barb - Location: 60,10 - Owner: Soviets - Actor200: barb - Location: 61,10 - Owner: Soviets - Actor201: barb - Location: 61,9 - Owner: Soviets - Actor202: ftur - Location: 56,8 - Owner: Soviets - Actor203: ftur - Location: 63,12 - Owner: Soviets - Actor209: fenc - Location: 74,7 - Owner: Soviets - Actor208: fenc - Location: 74,6 - Owner: Soviets - Actor207: fenc - Location: 74,5 - Owner: Soviets - Actor206: fenc - Location: 73,5 - Owner: Soviets - Actor205: fenc - Location: 72,5 - Owner: Soviets - Actor204: fenc - Location: 71,5 - Owner: Soviets - Actor210: fenc - Location: 74,8 - Owner: Soviets - Actor211: 3tnk - Location: 58,6 - Owner: Soviets - Facing: 160 - Actor212: 3tnk - Location: 65,10 - Owner: Soviets - Facing: 96 - Actor214: e1 - Location: 73,9 - Owner: Soviets - Facing: 96 - Actor215: e3 - Location: 76,4 - Owner: Soviets - Facing: 32 - Actor216: e4 - Location: 66,3 - Owner: Soviets - Facing: 96 - SovietEntry3: waypoint - Location: 71,2 - Owner: Neutral - Actor234: minv - Location: 16,17 - Owner: Soviets - Actor268: minv - Location: 16,19 - Owner: Soviets - Actor218: minv - Location: 62,13 - Owner: Soviets - Actor219: minv - Location: 57,9 - Owner: Soviets - Actor228: mine - Location: 37,14 - Owner: Neutral - Actor246: minv - Location: 56,11 - Owner: Soviets - Actor247: minv - Location: 58,11 - Owner: Soviets - Actor261: minv - Location: 58,13 - Owner: Soviets - Actor262: minv - Location: 60,12 - Owner: Soviets - Actor263: minv - Location: 60,14 - Owner: Soviets - Actor245: minv - Location: 20,13 - Owner: Soviets - Actor266: minv - Location: 19,16 - Owner: Soviets - Actor264: minv - Location: 20,15 - Owner: Soviets - Actor265: minv - Location: 18,17 - Owner: Soviets - Actor267: minv - Location: 22,13 - Owner: Soviets - Actor269: minv - Location: 19,14 - Owner: Soviets - Actor270: minv - Location: 17,16 - Owner: Soviets - SovietRally8: waypoint - Location: 59,19 - Owner: Neutral - -Smudges: - -Rules: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - Survival02Script: - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - TENT: - ProvidesCustomPrerequisite: - Prerequisite: barracks - ARTY: - Valued: - Cost: 1000 - GUN: - Valued: - Cost: 1000 - BARR: - ProvidesCustomPrerequisite: - Prerequisite: barracks - Buildable: - Owner: None - MEDI: - Buildable: - Prerequisites: barracks - SPY: - Buildable: - Prerequisites: barracks, dome - MIG: - Buildable: - Owner: None - YAK: - Buildable: - Owner: None - HELI: - Buildable: - Owner: None - HIND: - Buildable: - Owner: None - SS: - Buildable: - Owner: None - MSUB: - Buildable: - Owner: None - DD: - Buildable: - Owner: None - CA: - Buildable: - Owner: None - PT: - Buildable: - Owner: None - MSLO: - Buildable: - Owner: None - GAP: - Buildable: - Owner: None - SPEN: - Buildable: - Owner: None - SYRD: - Buildable: - Owner: None - IRON: - Buildable: - Owner: None - PDOX: - Buildable: - Owner: None - TSLA: - Buildable: - Owner: None - AGUN: - Buildable: - Owner: None - FTUR: - Buildable: - Owner: None - SAM: - Buildable: - Owner: None - ATEK: - Buildable: - Owner: None - AFLD: - Buildable: - Owner: None - STEK: - Buildable: - Owner: None - 4TNK: - Buildable: - Owner: None - MCV: - Buildable: - Owner: None - APC: - Buildable: - Owner: None - MNLY.AP: - Buildable: - Owner: None - MNLY.AT: - Buildable: - Owner: None - TTNK: - Buildable: - Owner: None - FTRK: - Buildable: - Owner: None - CTNK: - Buildable: - Owner: None - DOME: - Buildable: - Owner: None - BRIK: - Buildable: - Owner: None - CAMERA: - RevealsShroud: - Range: 7c0 - -Sequences: - -VoxelSequences: - -Weapons: - ParaBomb: - ROF: 5 - Range: 7c0 - Report: CHUTE1 - Projectile: GravityBomb - Image: BOMBLET - Warhead: - Spread: 640 - Versus: - None: 125% - Wood: 100% - Light: 60% - Concrete: 25% - Explosion: napalm - ImpactSound: firebl3 - WaterExplosion: napalm - InfDeath: 5 - SmudgeType: Crater - Damage: 350 - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/allies-01/map.bin b/mods/ra/maps/allies-01/map.bin deleted file mode 100644 index 61151bb35f..0000000000 Binary files a/mods/ra/maps/allies-01/map.bin and /dev/null differ diff --git a/mods/ra/maps/allies-01/map.yaml b/mods/ra/maps/allies-01/map.yaml deleted file mode 100644 index 812dcfdb25..0000000000 --- a/mods/ra/maps/allies-01/map.yaml +++ /dev/null @@ -1,446 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Allies 01 - -Description: Allies' first mission - -Author: Scott_NZ - -Tileset: SNOW - -MapSize: 48,64 - -Bounds: 8,8,32,38 - -UseAsShellmap: False - -Type: Campaign - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - Difficulties: Easy,Normal - -Players: - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Creeps: - Name: Creeps - NonCombatant: True - Race: allies - PlayerReference@Allies: - Name: Allies - Playable: True - AllowBots: False - Required: True - LockRace: True - Race: allies - LockColor: True - ColorRamp: 161,134,200 - LockSpawn: True - LockTeam: True - Allies: Creeps - Enemies: Soviets - PlayerReference@Soviets: - Name: Soviets - Race: soviet - ColorRamp: 3,255,127 - Enemies: Allies,Creeps - -Actors: - Actor1: tc01 - Location: 13,9 - Owner: Neutral - Actor10: oilb - Location: 17,19 - Owner: Soviets - Actor3: t13 - Location: 17,13 - Owner: Neutral - Actor5: t16 - Location: 25,9 - Owner: Neutral - Actor4: t17 - Location: 17,10 - Owner: Neutral - Actor8: brl3 - Location: 19,21 - Owner: Soviets - Actor7: barl - Location: 19,20 - Owner: Soviets - Actor2: brl3 - Location: 19,19 - Owner: Soviets - Actor6: brl3 - Location: 20,19 - Owner: Soviets - Actor71: t01 - Location: 33,31 - Owner: Neutral - Actor11: powr - Location: 20,20 - Owner: Soviets - Actor12: powr - Location: 24,20 - Owner: Soviets - Actor13: powr - Location: 26,20 - Owner: Soviets - Actor14: t08 - Location: 25,13 - Owner: Neutral - Actor15: fenc - Location: 27,18 - Owner: Soviets - Actor16: fenc - Location: 28,18 - Owner: Soviets - Actor17: fenc - Location: 27,17 - Owner: Soviets - Actor18: jeep - Location: 21,13 - Owner: Allies - Actor19: jeep - Location: 22,13 - Owner: Allies - Actor20: jeep - Location: 23,13 - Owner: Allies - Actor22: e2 - Location: 21,19 - Owner: Soviets - Actor23: e1 - Location: 17,23 - Owner: Soviets - Actor28: e1 - Location: 23,12 - Owner: Allies - Actor26: e1 - Location: 22,12 - Owner: Allies - Actor25: e1 - Location: 21,12 - Owner: Allies - Actor65: fenc - Location: 33,33 - Owner: Soviets - Actor31: mine - Location: 33,14 - Owner: Neutral - Actor32: tc03 - Location: 28,13 - Owner: Neutral - Actor33: v04 - Location: 35,8 - Owner: Neutral - Actor34: tsla - Location: 30,22 - Owner: Soviets - Actor35: proc - Location: 32,21 - Owner: Soviets - Actor37: e1 - Location: 23,24 - Owner: Soviets - Actor0: e2 - Location: 22,27 - Owner: Soviets - Actor21: e2 - Location: 20,27 - Owner: Soviets - Actor40: weap - Location: 24,25 - Owner: Soviets - Actor41: fact - Location: 28,25 - Owner: Soviets - Actor42: barr - Location: 20,28 - Owner: Soviets - Actor43: silo - Location: 18,28 - Owner: Soviets - Actor44: dome - Location: 26,28 - Owner: Soviets - Actor45: t12 - Location: 15,19 - Owner: Neutral - Actor46: t12 - Location: 15,25 - Owner: Neutral - Actor47: fenc - Location: 14,27 - Owner: Soviets - Actor48: fenc - Location: 14,28 - Owner: Soviets - Actor49: fenc - Location: 14,29 - Owner: Soviets - Actor50: fenc - Location: 14,30 - Owner: Soviets - Actor51: tsla - Location: 19,30 - Owner: Soviets - Actor52: tsla - Location: 26,30 - Owner: Soviets - Actor53: fenc - Location: 14,31 - Owner: Soviets - Actor54: fenc - Location: 15,31 - Owner: Soviets - Actor55: fenc - Location: 16,31 - Owner: Soviets - Actor56: fenc - Location: 17,31 - Owner: Soviets - Actor57: fenc - Location: 17,32 - Owner: Soviets - Actor70: fenc - Location: 35,33 - Owner: Soviets - Actor59: e1 - Location: 23,31 - Owner: Soviets - Actor60: e1 - Location: 21,31 - Owner: Soviets - Actor61: powr - Location: 34,30 - Owner: Soviets - Actor58: powr - Location: 36,27 - Owner: Soviets - Actor64: t05 - Location: 32,27 - Owner: Neutral - Actor62: powr - Location: 36,30 - Owner: Soviets - Actor63: fenc - Location: 32,33 - Owner: Soviets - Actor30: powr - Location: 34,27 - Owner: Soviets - Actor67: fenc - Location: 34,33 - Owner: Soviets - Actor68: c1 - Location: 28,16 - Owner: Creeps - Actor69: c2 - Location: 30,17 - Owner: Creeps - Actor72: e1 - Location: 35,29 - Owner: Soviets - Actor66: e1 - Location: 31,29 - Owner: Soviets - Actor9: barl - Location: 18,21 - Owner: Soviets - Actor74: tc02 - Location: 11,23 - Owner: Neutral - Actor73: tc03 - Location: 37,22 - Owner: Neutral - Actor75: t02 - Location: 29,31 - Owner: Neutral - Actor76: t02 - Location: 12,34 - Owner: Neutral - Actor79: fenc - Location: 14,21 - Owner: Soviets - Actor78: fenc - Location: 14,22 - Owner: Soviets - Actor77: fenc - Location: 14,23 - Owner: Soviets - Actor85: 3tnk - Location: 17,25 - Owner: Soviets - Facing: 0 - Actor92: wood - Location: 34,9 - Owner: Neutral - Actor94: c1 - Location: 19,24 - Owner: Soviets - Actor95: c2 - Location: 31,23 - Owner: Soviets - InsertionLZ: waypoint - Location: 22,10 - Owner: Neutral - Lab: stek.autotargetignore - Location: 20,24 - Owner: Soviets - Actor24: e2 - Location: 27,24 - Owner: Soviets - ShipSpawnPoint: waypoint - Location: 23,45 - Owner: Neutral - ShipMovePoint: waypoint - Location: 23,40 - Owner: Neutral - InsertionLZEntryPoint: waypoint - Location: 22,4 - Owner: Neutral - Actor27: e2 - Location: 27,27 - Owner: Soviets - ChinookExitPoint: waypoint - Location: 55,11 - Owner: Neutral - ExtractionLZEntryPoint: waypoint - Location: 31,48 - Owner: Neutral - SovietAttackEntryPoint2: waypoint - Location: 39,11 - Owner: Neutral - ExtractionLZ: waypoint - Location: 13,12 - Owner: Neutral - Actor36: e1 - Location: 20,12 - Owner: Allies - Actor38: e1 - Location: 24,12 - Owner: Allies - Actor39: e3 - Location: 21,11 - Owner: Allies - Actor80: e3 - Location: 22,11 - Owner: Allies - Actor81: e3 - Location: 23,11 - Owner: Allies - SovietAttackEntryPoint1: waypoint - Location: 8,30 - Owner: Neutral - Actor29: kenn - Location: 23,28 - Owner: Soviets - Actor1000: camera.large - Location: 1,1 - Owner: Soviets - -Smudges: - -Rules: - Player: - -ConquestVictoryConditions: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - Allies01Script: - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - TRAN: - -Selectable: - RevealsShroud: - Range: 0c0 - E7: - AutoTarget: - InitialStance: Defend - Passenger: - Weight: 0 - EINSTEIN: - Passenger: - Weight: 0 - STEK.AutoTargetIgnore: - Inherits: STEK - RenderBuilding: - Image: STEK - Tooltip: - Icon: STEK - AutoTargetIgnore: - ^Vehicle: - GivesBounty: - Percentage: 0 - ^Tank: - GivesBounty: - Percentage: 0 - ^Infantry: - GivesBounty: - Percentage: 0 - ^Ship: - GivesBounty: - Percentage: 0 - ^Plane: - GivesBounty: - Percentage: 0 - ^Building: - GivesBounty: - Percentage: 0 - CAMERA.Large: - Inherits: CAMERA - RevealsShroud: - Range: 1000c0 - -Sequences: - -VoxelSequences: - -Weapons: - 8Inch: - ROF: 200 - Range: 25c0 - Burst: 2 - Report: TURRET1.AUD - Projectile: Bullet - Speed: 512 - High: true - Angle: 62 - Inaccuracy: 4c170 - Image: 120MM - ContrailLength: 10 - Warhead: - Spread: 213 - Versus: - None: 60% - Wood: 75% - Light: 60% - Heavy: 25% - Explosion: large_explosion - WaterExplosion: large_splash - InfDeath: 2 - SmudgeType: Crater - Damage: 500 - ImpactSound: kaboom12.aud - WaterImpactSound: splash9.aud - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/allies-02/map.bin b/mods/ra/maps/allies-02/map.bin deleted file mode 100644 index d6e1792895..0000000000 Binary files a/mods/ra/maps/allies-02/map.bin and /dev/null differ diff --git a/mods/ra/maps/allies-02/map.yaml b/mods/ra/maps/allies-02/map.yaml deleted file mode 100644 index d904a22c3a..0000000000 --- a/mods/ra/maps/allies-02/map.yaml +++ /dev/null @@ -1,1947 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Allies 02 - -Description: Allies' second mission - -Author: Scott_NZ - -Tileset: SNOW - -MapSize: 128,128 - -Bounds: 16,16,96,96 - -UseAsShellmap: False - -Type: Campaign - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - -Players: - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Allies1: - Name: Allies1 - Playable: True - AllowBots: False - Required: True - LockRace: True - Race: allies - LockColor: True - ColorRamp: 161,134,200 - LockSpawn: True - LockTeam: True - Allies: Allies2,Allies - Enemies: Soviets - PlayerReference@Allies2: - Name: Allies2 - Playable: True - AllowBots: False - LockRace: True - Race: allies - LockColor: True - ColorRamp: 76,196,190 - LockSpawn: True - LockTeam: True - Allies: Allies1,Allies - Enemies: Soviets - PlayerReference@Allies: - Name: Allies - Race: allies - ColorRamp: 115,115,143 - Allies: Allies1,Allies2 - Enemies: Soviets - PlayerReference@Soviets: - Name: Soviets - Race: soviet - ColorRamp: 3,255,127 - Enemies: Allies1,Allies2,Allies - -Actors: - Actor1: v07 - Location: 71,91 - Owner: Neutral - Actor2: v04 - Location: 77,90 - Owner: Neutral - Actor3: v03 - Location: 66,90 - Owner: Neutral - Actor4: v02 - Location: 73,94 - Owner: Neutral - Actor5: v01 - Location: 77,94 - Owner: Neutral - Actor6: v07 - Location: 77,87 - Owner: Neutral - Actor7: v09 - Location: 61,95 - Owner: Neutral - Actor8: v08 - Location: 60,91 - Owner: Neutral - Actor15: t16 - Location: 60,104 - Owner: Neutral - Actor33: t06 - Location: 59,95 - Owner: Neutral - Actor11: wood - Location: 68,100 - Owner: Neutral - Actor12: v05 - Location: 72,87 - Owner: Neutral - Actor20: t05 - Location: 74,76 - Owner: Neutral - Actor10: tc03 - Location: 60,99 - Owner: Neutral - Actor16: wood - Location: 67,100 - Owner: Neutral - Actor17: wood - Location: 66,100 - Owner: Neutral - Actor18: wood - Location: 66,99 - Owner: Neutral - Actor19: wood - Location: 66,98 - Owner: Neutral - Actor29: wood - Location: 65,96 - Owner: Neutral - Actor13: t06 - Location: 65,82 - Owner: Neutral - Actor22: v08 - Location: 83,94 - Owner: Neutral - Actor23: v04 - Location: 64,93 - Owner: Neutral - Actor24: v04 - Location: 83,91 - Owner: Neutral - Actor25: tc04 - Location: 93,86 - Owner: Neutral - Actor26: v12 - Location: 79,91 - Owner: Neutral - Actor31: wood - Location: 63,96 - Owner: Neutral - Actor30: wood - Location: 64,96 - Owner: Neutral - Actor194: sbag - Location: 94,50 - Owner: Soviets - Actor27: wood - Location: 66,97 - Owner: Neutral - Actor14: tc05 - Location: 59,101 - Owner: Neutral - Actor28: wood - Location: 66,96 - Owner: Neutral - Actor9: t12 - Location: 59,98 - Owner: Neutral - Actor34: t14 - Location: 68,98 - Owner: Neutral - Actor35: t11 - Location: 71,89 - Owner: Neutral - Actor36: t15 - Location: 83,95 - Owner: Neutral - Actor115: fenc - Location: 100,99 - Owner: Soviets - Actor38: t14 - Location: 89,97 - Owner: Neutral - Actor39: t15 - Location: 84,108 - Owner: Neutral - Engineer: e6 - Location: 68,86 - Owner: Neutral - Actor41: t01 - Location: 71,80 - Owner: Neutral - Actor43: t02 - Location: 79,102 - Owner: Neutral - Actor132: fenc - Location: 100,100 - Owner: Soviets - Actor45: tc04 - Location: 64,108 - Owner: Neutral - Actor46: tc01 - Location: 64,105 - Owner: Neutral - Actor47: t07 - Location: 77,107 - Owner: Neutral - Actor48: t05 - Location: 92,80 - Owner: Neutral - Actor49: t03 - Location: 87,88 - Owner: Neutral - Actor50: t06 - Location: 96,82 - Owner: Neutral - Actor669: fenc - Location: 95,79 - Owner: Soviets - Actor135: tc05 - Location: 106,109 - Owner: Neutral - Actor58: t06 - Location: 85,105 - Owner: Neutral - Actor125: e2 - Location: 99,86 - Owner: Soviets - Actor599: tc01 - Location: 70,32 - Owner: Neutral - Actor62: t12 - Location: 96,79 - Owner: Neutral - Actor66: t17 - Location: 85,71 - Owner: Neutral - Actor65: t14 - Location: 89,70 - Owner: Neutral - Actor87: t03 - Location: 69,34 - Owner: Neutral - Actor598: t08 - Location: 71,31 - Owner: Neutral - Actor82: e2 - Location: 73,109 - Owner: Soviets - Actor81: e2 - Location: 70,109 - Owner: Soviets - Actor86: e2 - Location: 74,110 - Owner: Soviets - Actor154: e1 - Location: 105,95 - Owner: Soviets - Actor149: sbag - Location: 92,50 - Owner: Soviets - Actor99: e1 - Location: 82,72 - Owner: Soviets - Actor75: t06 - Location: 73,64 - Owner: Neutral - Actor76: t14 - Location: 71,71 - Owner: Neutral - Actor77: tc04 - Location: 93,96 - Owner: Neutral - ChinookHusk: tran.husk2 - Location: 108,87 - Owner: Allies1 - Actor95: fenc - Location: 83,71 - Owner: Soviets - Actor642: t10 - Location: 66,29 - Owner: Neutral - Actor603: fenc - Location: 84,71 - Owner: Soviets - Einstein: einstein - Location: 66,85 - Owner: Neutral - Actor85: medi - Location: 110,86 - Owner: Allies1 - SAM1: sam - Location: 105,97 - Owner: Soviets - Tanya: e7 - Location: 106,86 - Owner: Allies1 - Actor60: e2 - Location: 77,96 - Owner: Soviets - Actor59: e2 - Location: 74,92 - Owner: Soviets - Actor89: e1 - Location: 71,99 - Owner: Soviets - Actor88: t07 - Location: 93,80 - Owner: Neutral - Actor469: e2 - Location: 97,20 - Owner: Soviets - Actor438: fenc - Location: 88,19 - Owner: Soviets - Actor56: e1 - Location: 78,74 - Owner: Soviets - Actor549: t16 - Location: 111,50 - Owner: Neutral - Actor242: fenc - Location: 88,50 - Owner: Soviets - Actor104: t10 - Location: 107,46 - Owner: Neutral - Actor163: e2 - Location: 109,96 - Owner: Soviets - Actor90: t02 - Location: 90,72 - Owner: Neutral - Actor106: fenc - Location: 111,94 - Owner: Soviets - Actor590: e1 - Location: 102,97 - Owner: Soviets - Actor64: e1 - Location: 96,93 - Owner: Soviets - Actor169: v2rl - Location: 53,20 - Owner: Soviets - Actor122: e1 - Location: 89,66 - Owner: Soviets - Actor137: t01 - Location: 111,92 - Owner: Neutral - Actor98: fenc - Location: 109,93 - Owner: Soviets - Actor105: fenc - Location: 110,94 - Owner: Soviets - Actor146: t16 - Location: 62,85 - Owner: Neutral - Actor159: brl3 - Location: 93,64 - Owner: Soviets - Actor160: tc05 - Location: 15,108 - Owner: Neutral - Actor155: t05 - Location: 110,40 - Owner: Neutral - Actor157: tc05 - Location: 91,36 - Owner: Neutral - Actor330: oilb - Location: 65,31 - Owner: Neutral - Actor114: fenc - Location: 100,98 - Owner: Soviets - Actor136: t15 - Location: 110,103 - Owner: Neutral - Actor226: fenc - Location: 97,39 - Owner: Soviets - Actor113: fenc - Location: 100,97 - Owner: Soviets - Actor110: fenc - Location: 98,97 - Owner: Soviets - Actor152: t01 - Location: 109,39 - Owner: Neutral - Actor439: fenc - Location: 88,18 - Owner: Soviets - Actor127: fenc - Location: 109,101 - Owner: Soviets - Actor153: t08 - Location: 108,58 - Owner: Neutral - Actor130: e1 - Location: 100,77 - Owner: Soviets - Actor118: fenc - Location: 109,102 - Owner: Soviets - Actor158: t07 - Location: 110,48 - Owner: Neutral - Actor126: t03 - Location: 107,79 - Owner: Neutral - Actor143: dome - Location: 102,74 - Owner: Soviets - Actor156: e1 - Location: 98,72 - Owner: Soviets - Actor142: e2 - Location: 101,69 - Owner: Soviets - Actor247: silo - Location: 39,33 - Owner: Soviets - Actor61: tc05 - Location: 87,109 - Owner: Neutral - Actor174: t06 - Location: 51,78 - Owner: Neutral - Actor711: e1 - Location: 74,36 - Owner: Soviets - Actor73: e1 - Location: 72,109 - Owner: Soviets - Actor306: apwr - Location: 54,65 - Owner: Soviets - Actor134: tc03 - Location: 110,107 - Owner: Neutral - Actor215: tc01 - Location: 16,62 - Owner: Neutral - Actor188: t02 - Location: 55,24 - Owner: Neutral - Actor37: fenc - Location: 99,97 - Owner: Soviets - Actor195: tc03 - Location: 16,16 - Owner: Neutral - Actor196: t17 - Location: 21,15 - Owner: Neutral - Actor198: tc03 - Location: 18,106 - Owner: Neutral - Actor200: tc01 - Location: 19,110 - Owner: Neutral - Actor203: t11 - Location: 45,91 - Owner: Neutral - Actor356: proc - Location: 26,90 - Owner: Allies - FreeActor: False - Actor147: mine - Location: 20,98 - Owner: Neutral - Actor459: tc01 - Location: 41,99 - Owner: Neutral - Actor216: tc05 - Location: 23,45 - Owner: Neutral - Actor217: t07 - Location: 49,32 - Owner: Neutral - Actor218: t16 - Location: 55,34 - Owner: Neutral - Actor53: e1 - Location: 109,89 - Owner: Allies1 - Actor182: tc02 - Location: 53,35 - Owner: Neutral - Actor52: e1 - Location: 106,88 - Owner: Allies1 - Actor239: t06 - Location: 48,75 - Owner: Neutral - Actor292: ftur - Location: 36,56 - Owner: Soviets - Actor71: e1 - Location: 86,102 - Owner: Soviets - Actor80: e1 - Location: 70,110 - Owner: Soviets - Actor44: t16 - Location: 87,105 - Owner: Neutral - Actor133: v04 - Location: 83,101 - Owner: Neutral - Actor259: tc01 - Location: 110,109 - Owner: Neutral - Actor140: t11 - Location: 110,82 - Owner: Neutral - Actor610: e2 - Location: 101,79 - Owner: Soviets - Actor109: fenc - Location: 111,95 - Owner: Soviets - Actor70: dog - Location: 87,99 - Owner: Soviets - Actor141: t13 - Location: 104,85 - Owner: Neutral - Actor236: 3tnk - Location: 91,45 - Owner: Soviets - Actor254: tc02 - Location: 89,34 - Owner: Neutral - Actor138: tc01 - Location: 104,82 - Owner: Neutral - Actor164: e1 - Location: 107,99 - Owner: Soviets - Actor442: e2 - Location: 91,19 - Owner: Soviets - Actor251: fenc - Location: 63,41 - Owner: Soviets - Actor199: t01 - Location: 108,49 - Owner: Neutral - Actor440: fenc - Location: 88,17 - Owner: Soviets - Actor222: fenc - Location: 94,63 - Owner: Soviets - Actor441: e1 - Location: 89,19 - Owner: Soviets - Actor287: fenc - Location: 93,63 - Owner: Soviets - Actor93: fenc - Location: 96,65 - Owner: Soviets - Actor223: e2 - Location: 94,64 - Owner: Soviets - Actor224: e2 - Location: 92,67 - Owner: Soviets - Actor437: fenc - Location: 98,21 - Owner: Soviets - Actor21: fenc - Location: 97,47 - Owner: Soviets - Actor227: fenc - Location: 96,39 - Owner: Soviets - Actor208: oilb - Location: 105,43 - Owner: Soviets - Actor231: fenc - Location: 94,38 - Owner: Soviets - Actor201: oilb - Location: 105,40 - Owner: Soviets - Actor210: powr - Location: 105,46 - Owner: Soviets - Actor78: barr - Location: 101,40 - Owner: Soviets - Actor151: fenc - Location: 97,45 - Owner: Soviets - Actor235: tc05 - Location: 106,51 - Owner: Neutral - Actor74: fenc - Location: 97,46 - Owner: Soviets - Actor234: tc03 - Location: 107,54 - Owner: Neutral - Actor219: fenc - Location: 97,41 - Owner: Soviets - Actor221: fenc - Location: 97,40 - Owner: Soviets - Actor228: fenc - Location: 95,39 - Owner: Soviets - Actor248: barl - Location: 100,41 - Owner: Soviets - Actor229: fenc - Location: 94,39 - Owner: Soviets - Actor245: e1 - Location: 101,43 - Owner: Soviets - Actor249: brl3 - Location: 100,40 - Owner: Soviets - Actor250: brl3 - Location: 101,39 - Owner: Soviets - Actor258: e2 - Location: 103,45 - Owner: Soviets - Actor443: e1 - Location: 97,105 - Owner: Soviets - Actor260: e1 - Location: 97,43 - Owner: Soviets - Actor108: e1 - Location: 99,47 - Owner: Soviets - Actor266: e1 - Location: 96,47 - Owner: Soviets - Actor279: brl3 - Location: 106,39 - Owner: Soviets - Actor280: barl - Location: 106,42 - Owner: Soviets - Actor331: e1 - Location: 36,88 - Owner: Soviets - Actor193: fenc - Location: 95,63 - Owner: Soviets - Actor192: fenc - Location: 95,64 - Owner: Soviets - Actor94: fenc - Location: 96,64 - Owner: Soviets - Actor640: tc04 - Location: 72,31 - Owner: Neutral - Actor641: t02 - Location: 71,29 - Owner: Neutral - Actor181: mine - Location: 109,76 - Owner: Neutral - Actor348: e3 - Location: 87,48 - Owner: Soviets - Actor244: fenc - Location: 86,50 - Owner: Soviets - Actor246: fenc - Location: 85,50 - Owner: Soviets - Actor243: fenc - Location: 87,50 - Owner: Soviets - Actor284: fenc - Location: 85,49 - Owner: Soviets - Actor366: e1 - Location: 88,51 - Owner: Soviets - Actor367: e1 - Location: 92,51 - Owner: Soviets - Actor368: e1 - Location: 91,49 - Owner: Soviets - Actor347: e3 - Location: 86,49 - Owner: Soviets - Actor370: e2 - Location: 94,49 - Owner: Soviets - Actor281: fenc - Location: 56,38 - Owner: Soviets - Actor376: e1 - Location: 107,89 - Owner: Allies1 - Actor377: e1 - Location: 108,89 - Owner: Allies1 - Actor378: e1 - Location: 110,88 - Owner: Allies1 - SAM2: sam - Location: 91,65 - Owner: Soviets - Actor327: t06 - Location: 37,73 - Owner: Neutral - Actor189: t13 - Location: 88,57 - Owner: Neutral - Actor328: t14 - Location: 26,57 - Owner: Neutral - Actor297: e1 - Location: 33,25 - Owner: Soviets - Actor124: mine - Location: 49,25 - Owner: Neutral - Actor112: e1 - Location: 98,87 - Owner: Soviets - Actor428: e1 - Location: 90,100 - Owner: Soviets - Actor298: e2 - Location: 33,23 - Owner: Soviets - Actor510: e1 - Location: 94,20 - Owner: Soviets - Actor508: e1 - Location: 79,19 - Owner: Soviets - Actor57: cycl - Location: 74,16 - Owner: Soviets - Actor511: sbag - Location: 96,19 - Owner: Soviets - Actor515: tc05 - Location: 108,17 - Owner: Neutral - Actor516: t13 - Location: 72,20 - Owner: Neutral - Actor121: cycl - Location: 75,23 - Owner: Soviets - Actor519: sbag - Location: 93,18 - Owner: Soviets - Actor489: apwr - Location: 76,19 - Owner: Soviets - Actor517: sbag - Location: 96,17 - Owner: Soviets - Actor520: sbag - Location: 93,19 - Owner: Soviets - Actor488: apwr - Location: 80,19 - Owner: Soviets - Actor116: cycl - Location: 74,20 - Owner: Soviets - Actor117: cycl - Location: 74,21 - Owner: Soviets - Actor107: oilb - Location: 68,29 - Owner: Neutral - Actor232: fenc - Location: 94,37 - Owner: Soviets - Actor102: spen - Location: 101,35 - Owner: Soviets - Actor487: apwr - Location: 80,16 - Owner: Soviets - Actor523: t17 - Location: 85,20 - Owner: Neutral - Actor522: t05 - Location: 90,16 - Owner: Neutral - Actor119: cycl - Location: 74,22 - Owner: Soviets - Actor120: cycl - Location: 74,23 - Owner: Soviets - Actor518: sbag - Location: 94,17 - Owner: Soviets - Actor521: sbag - Location: 93,17 - Owner: Soviets - Actor237: tc04 - Location: 99,53 - Owner: Neutral - Actor139: cycl - Location: 77,23 - Owner: Soviets - Actor123: cycl - Location: 76,23 - Owner: Soviets - Actor504: e2 - Location: 78,23 - Owner: Soviets - Actor505: e1 - Location: 84,18 - Owner: Soviets - Actor289: sbag - Location: 95,17 - Owner: Soviets - SAM3: sam - Location: 94,18 - Owner: Soviets - Actor512: sbag - Location: 96,18 - Owner: Soviets - Actor486: apwr - Location: 76,16 - Owner: Soviets - Actor514: tc03 - Location: 104,20 - Owner: Neutral - Actor307: apwr - Location: 54,59 - Owner: Soviets - Actor91: cycl - Location: 74,17 - Owner: Soviets - Actor103: cycl - Location: 74,18 - Owner: Soviets - Actor111: cycl - Location: 74,19 - Owner: Soviets - Actor413: e1 - Location: 104,38 - Owner: Soviets - Actor626: barl - Location: 80,72 - Owner: Soviets - Actor419: e1 - Location: 82,62 - Owner: Soviets - Actor150: sbag - Location: 93,50 - Owner: Soviets - Actor608: brl3 - Location: 81,72 - Owner: Soviets - Actor427: e1 - Location: 76,71 - Owner: Soviets - Actor429: e2 - Location: 78,70 - Owner: Soviets - Actor611: t05 - Location: 81,65 - Owner: Neutral - Actor336: fenc - Location: 90,20 - Owner: Soviets - Actor422: fenc - Location: 96,21 - Owner: Soviets - Actor335: fenc - Location: 89,20 - Owner: Soviets - Actor436: fenc - Location: 97,21 - Owner: Soviets - Actor421: fenc - Location: 91,20 - Owner: Soviets - Actor334: fenc - Location: 88,20 - Owner: Soviets - SAM4: sam - Location: 31,37 - Owner: Soviets - Actor295: e1 - Location: 28,25 - Owner: Soviets - Actor299: dog - Location: 31,23 - Owner: Soviets - Actor170: weap - Location: 23,103 - Owner: Allies - Actor460: t08 - Location: 40,110 - Owner: Neutral - Actor206: dome - Location: 35,99 - Owner: Allies - Actor204: apwr - Location: 37,107 - Owner: Allies - Actor92: powr - Location: 101,46 - Owner: Soviets - Actor84: fenc - Location: 110,93 - Owner: Soviets - Actor83: apwr - Location: 37,104 - Owner: Allies - Actor162: mine - Location: 20,91 - Owner: Neutral - ReinforcementsEntryPoint: waypoint - Location: 31,111 - Owner: Neutral - Actor96: fenc - Location: 82,71 - Owner: Soviets - Actor97: fenc - Location: 111,66 - Owner: Soviets - Actor79: e1 - Location: 80,87 - Owner: Soviets - Actor42: t07 - Location: 92,110 - Owner: Neutral - Actor558: v10 - Location: 64,90 - Owner: Neutral - ExtractionLZ: waypoint - Location: 30,38 - Owner: Neutral - ExtractionLZEntryPoint: waypoint - Location: 9,9 - Owner: Neutral - Actor414: t13 - Location: 74,43 - Owner: Neutral - Actor361: silo - Location: 25,89 - Owner: Allies - Actor446: spen - Location: 58,17 - Owner: Soviets - Actor273: t13 - Location: 45,38 - Owner: Neutral - Actor253: gun - Location: 27,88 - Owner: Allies - Actor534: 1tnk - Location: 37,90 - Owner: Allies - Facing: 0 - Actor398: 1tnk - Location: 36,90 - Owner: Allies - Facing: 0 - BadgerDropPoint1: waypoint - Location: 19,96 - Owner: Neutral - BadgerEntryPoint1: waypoint - Location: 40,12 - Owner: Neutral - Actor485: tc03 - Location: 41,101 - Owner: Neutral - Actor495: tc02 - Location: 40,102 - Owner: Neutral - Actor51: t13 - Location: 66,80 - Owner: Neutral - Allies2BasePoint: waypoint - Location: 34,96 - Owner: Neutral - FlamersEntryPoint: waypoint - Location: 16,74 - Owner: Neutral - Actor873: brl3 - Location: 45,79 - Owner: Neutral - Actor171: tsla - Location: 41,56 - Owner: Soviets - Actor570: oilb - Location: 43,80 - Owner: Neutral - Actor263: dome - Location: 61,45 - Owner: Soviets - Actor584: tc04 - Location: 52,70 - Owner: Neutral - Actor586: tc01 - Location: 45,70 - Owner: Neutral - Actor587: t17 - Location: 31,84 - Owner: Neutral - SovietRallyPoint: waypoint - Location: 36,65 - Owner: Neutral - Actor605: barl - Location: 91,68 - Owner: Soviets - Actor498: barl - Location: 94,65 - Owner: Soviets - Actor67: tc01 - Location: 97,65 - Owner: Neutral - Actor462: t02 - Location: 65,89 - Owner: Neutral - Actor529: fenc - Location: 107,102 - Owner: Soviets - Actor588: e1 - Location: 69,93 - Owner: Neutral - Actor535: fenc - Location: 101,100 - Owner: Soviets - Actor524: e1 - Location: 69,89 - Owner: Neutral - Actor513: e1 - Location: 67,88 - Owner: Neutral - Actor211: e1 - Location: 105,107 - Owner: Soviets - Actor530: fenc - Location: 106,102 - Owner: Soviets - Actor591: e2 - Location: 104,101 - Owner: Soviets - Actor128: fenc - Location: 108,102 - Owner: Soviets - Actor592: dog - Location: 108,97 - Owner: Soviets - Actor525: e1 - Location: 70,88 - Owner: Neutral - Actor604: brl3 - Location: 90,67 - Owner: Soviets - Actor720: fenc - Location: 110,66 - Owner: Soviets - Actor556: e1 - Location: 110,89 - Owner: Allies1 - Actor600: barl - Location: 92,68 - Owner: Soviets - Actor647: fenc - Location: 84,72 - Owner: Soviets - Actor532: e1 - Location: 106,89 - Owner: Allies1 - SovietTownAttackPoint1: waypoint - Location: 72,110 - Owner: Neutral - Actor464: t05 - Location: 64,82 - Owner: Neutral - Actor463: tc04 - Location: 60,83 - Owner: Neutral - Actor714: e1 - Location: 73,90 - Owner: Neutral - Actor609: e2 - Location: 99,79 - Owner: Soviets - Actor721: fenc - Location: 109,66 - Owner: Soviets - Actor606: brl3 - Location: 89,67 - Owner: Soviets - Actor144: t01 - Location: 98,107 - Owner: Neutral - Actor594: e1 - Location: 73,88 - Owner: Neutral - Actor595: e1 - Location: 73,83 - Owner: Soviets - SovietTownAttackPoint2: waypoint - Location: 86,78 - Owner: Neutral - Actor129: e1 - Location: 102,78 - Owner: Soviets - Actor283: apwr - Location: 51,58 - Owner: Soviets - Actor72: dog - Location: 81,71 - Owner: Soviets - Actor617: truk - Location: 104,43 - Owner: Soviets - Actor220: sbag - Location: 92,48 - Owner: Soviets - Actor275: fenc - Location: 64,44 - Owner: Soviets - Actor225: fenc - Location: 84,49 - Owner: Soviets - Actor597: t16 - Location: 82,67 - Owner: Neutral - Actor596: tc01 - Location: 83,65 - Owner: Neutral - Actor559: tc02 - Location: 84,66 - Owner: Neutral - Actor418: tc04 - Location: 81,68 - Owner: Neutral - Actor32: tc05 - Location: 83,67 - Owner: Neutral - Actor496: 3tnk - Location: 86,20 - Owner: Soviets - Actor646: fenc - Location: 84,70 - Owner: Soviets - Actor649: fenc - Location: 86,70 - Owner: Soviets - Actor648: fenc - Location: 85,70 - Owner: Soviets - Actor100: e1 - Location: 87,61 - Owner: Soviets - Actor339: e1 - Location: 80,59 - Owner: Soviets - Actor589: dog - Location: 80,57 - Owner: Soviets - Actor340: e1 - Location: 77,58 - Owner: Soviets - Actor55: wood - Location: 79,94 - Owner: Neutral - Actor168: wood - Location: 79,95 - Owner: Neutral - Actor172: wood - Location: 79,96 - Owner: Neutral - Actor324: t05 - Location: 64,63 - Owner: Neutral - Actor265: tsla - Location: 61,64 - Owner: Soviets - Actor257: proc - Location: 35,28 - Owner: Soviets - Actor325: t12 - Location: 48,52 - Owner: Neutral - Actor661: tc03 - Location: 54,16 - Owner: Neutral - Actor326: t17 - Location: 34,50 - Owner: Neutral - Actor667: tc04 - Location: 88,106 - Owner: Neutral - Actor668: t16 - Location: 80,106 - Owner: Neutral - Actor670: fenc - Location: 95,78 - Owner: Soviets - Actor671: fenc - Location: 94,78 - Owner: Soviets - Actor672: fenc - Location: 93,78 - Owner: Soviets - Actor69: e1 - Location: 90,102 - Owner: Soviets - Actor68: e2 - Location: 92,102 - Owner: Soviets - Actor63: e1 - Location: 92,104 - Owner: Soviets - Actor673: wood - Location: 82,97 - Owner: Neutral - Actor674: wood - Location: 81,97 - Owner: Neutral - Actor176: tsla - Location: 56,36 - Owner: Soviets - Actor681: wood - Location: 70,100 - Owner: Neutral - Actor680: wood - Location: 69,100 - Owner: Neutral - Actor308: apwr - Location: 54,62 - Owner: Soviets - Actor262: t06 - Location: 20,51 - Owner: Neutral - Actor676: wood - Location: 79,97 - Owner: Neutral - Actor185: ftur - Location: 42,62 - Owner: Soviets - Actor675: wood - Location: 80,97 - Owner: Neutral - Actor686: brl3 - Location: 82,73 - Owner: Soviets - TownPoint: waypoint - Location: 70,89 - Owner: Neutral - Actor688: e1 - Location: 70,86 - Owner: Neutral - Actor689: e1 - Location: 69,84 - Owner: Neutral - Actor687: e1 - Location: 82,77 - Owner: Soviets - Actor690: e1 - Location: 85,76 - Owner: Soviets - Actor692: e1 - Location: 89,79 - Owner: Soviets - Actor695: e1 - Location: 84,79 - Owner: Soviets - Actor697: e1 - Location: 89,80 - Owner: Soviets - Actor699: e2 - Location: 86,77 - Owner: Soviets - Actor148: proc - Location: 40,36 - Owner: Soviets - Actor701: e1 - Location: 69,110 - Owner: Soviets - Actor702: e1 - Location: 74,109 - Owner: Soviets - Actor704: e1 - Location: 73,110 - Owner: Soviets - Actor705: e1 - Location: 71,109 - Owner: Soviets - Actor694: dog - Location: 87,79 - Owner: Soviets - Actor712: e1 - Location: 71,86 - Owner: Neutral - Actor713: e1 - Location: 68,91 - Owner: Neutral - Actor593: e1 - Location: 73,85 - Owner: Neutral - Actor707: v18 - Location: 68,97 - Owner: Neutral - Actor716: e3 - Location: 66,89 - Owner: Neutral - Actor717: e3 - Location: 66,87 - Owner: Neutral - Actor718: e3 - Location: 64,88 - Owner: Neutral - Actor612: t07 - Location: 80,67 - Owner: Neutral - Actor601: t11 - Location: 74,72 - Owner: Neutral - Actor627: t01 - Location: 84,59 - Owner: Neutral - Actor131: sbag - Location: 92,49 - Owner: Soviets - Actor639: 3tnk - Location: 84,77 - Owner: Soviets - SovietBarracks: barr - Location: 39,49 - Owner: Soviets - Actor264: t10 - Location: 17,45 - Owner: Neutral - Actor177: hpad - Location: 45,44 - Owner: Soviets - Actor179: tsla - Location: 25,52 - Owner: Soviets - Actor180: ftur - Location: 32,25 - Owner: Soviets - Actor700: tsla - Location: 55,17 - Owner: Soviets - Actor183: ftur - Location: 22,40 - Owner: Soviets - Actor708: v17 - Location: 69,97 - Owner: Neutral - Actor101: dog - Location: 98,74 - Owner: Soviets - Actor715: e2 - Location: 75,34 - Owner: Soviets - Actor0: silo - Location: 94,72 - Owner: Soviets - Actor602: fenc - Location: 99,80 - Owner: Soviets - Actor346: fenc - Location: 100,80 - Owner: Soviets - Actor166: fenc - Location: 101,80 - Owner: Soviets - Actor54: ftur - Location: 97,77 - Owner: Soviets - Actor725: fenc - Location: 75,74 - Owner: Soviets - Actor724: fenc - Location: 76,74 - Owner: Soviets - Actor726: fenc - Location: 74,74 - Owner: Soviets - Actor727: fenc - Location: 73,74 - Owner: Soviets - Actor728: fenc - Location: 72,74 - Owner: Soviets - Actor729: fenc - Location: 72,73 - Owner: Soviets - Actor730: fenc - Location: 72,72 - Owner: Soviets - Actor40: tran.husk1 - Location: 69,87 - Owner: Allies1 - Actor333: brl3 - Location: 21,73 - Owner: Neutral - Actor145: mine - Location: 44,29 - Owner: Neutral - Actor270: e1 - Location: 31,87 - Owner: Soviets - Actor573: 2tnk - Location: 34,92 - Owner: Allies - Facing: 0 - Actor577: tc02 - Location: 81,87 - Owner: Neutral - Actor329: e1 - Location: 41,87 - Owner: Soviets - Actor574: 2tnk - Location: 35,92 - Owner: Allies - Facing: 0 - Actor578: v11 - Location: 64,84 - Owner: Neutral - Actor546: 1tnk - Location: 38,90 - Owner: Allies - Facing: 0 - BadgerDropPoint2: waypoint - Location: 34,106 - Owner: Neutral - BadgerDropPoint3: waypoint - Location: 26,100 - Owner: Neutral - TanksEntryPoint: waypoint - Location: 16,86 - Owner: Neutral - Actor342: e1 - Location: 99,38 - Owner: Soviets - Actor286: e1 - Location: 104,67 - Owner: Soviets - Actor755: e1 - Location: 107,70 - Owner: Soviets - Actor756: e2 - Location: 107,67 - Owner: Soviets - Actor161: proc - Location: 108,69 - Owner: Soviets - Actor285: powr - Location: 102,68 - Owner: Soviets - Actor309: apwr - Location: 51,64 - Owner: Soviets - Actor316: fact - Location: 59,61 - Owner: Soviets - YakAttackPoint: waypoint - Location: 78,62 - Owner: Neutral - YakEntryPoint: waypoint - Location: 99,10 - Owner: Neutral - Actor323: t06 - Location: 29,43 - Owner: Neutral - BadgerEntryPoint2: waypoint - Location: 119,77 - Owner: Neutral - ParabombPoint1: waypoint - Location: 39,105 - Owner: Neutral - ParabombPoint2: waypoint - Location: 39,108 - Owner: Neutral - Actor722: t14 - Location: 67,52 - Owner: Neutral - Actor763: tsla - Location: 79,24 - Owner: Soviets - Actor764: e1 - Location: 95,59 - Owner: Soviets - Actor765: e1 - Location: 98,56 - Owner: Soviets - Actor207: fenc - Location: 61,39 - Owner: Soviets - Actor767: dog - Location: 95,57 - Owner: Soviets - Actor766: e1 - Location: 93,56 - Owner: Soviets - Actor205: fenc - Location: 60,39 - Owner: Soviets - Actor187: afld - Location: 35,37 - Owner: Soviets - Actor213: v2rl - Location: 52,44 - Owner: Soviets - Actor272: t16 - Location: 26,30 - Owner: Neutral - Actor214: fenc - Location: 62,41 - Owner: Soviets - Actor233: tc01 - Location: 29,53 - Owner: Neutral - Actor212: fenc - Location: 61,41 - Owner: Soviets - Actor776: e1 - Location: 74,69 - Owner: Soviets - Actor230: tc03 - Location: 16,55 - Owner: Neutral - Actor167: fix - Location: 57,50 - Owner: Soviets - Actor802: t06 - Location: 22,64 - Owner: Neutral - Actor165: mine - Location: 40,24 - Owner: Neutral - Actor322: tsla - Location: 48,64 - Owner: Soviets - Actor255: gun - Location: 42,91 - Owner: Allies - Actor268: e1 - Location: 33,90 - Owner: Allies - Actor269: e1 - Location: 34,90 - Owner: Allies - Actor267: pbox.e1 - Location: 30,90 - Owner: Allies - Actor882: barl - Location: 46,81 - Owner: Neutral - Actor202: kenn - Location: 45,49 - Owner: Soviets - Actor184: fenc - Location: 59,39 - Owner: Soviets - Actor256: fenc - Location: 64,42 - Owner: Soviets - Actor240: silo - Location: 38,34 - Owner: Soviets - Actor173: ftur - Location: 66,44 - Owner: Soviets - Actor305: ftur - Location: 46,21 - Owner: Soviets - SovietWarFactory: weap - Location: 51,47 - Owner: Soviets - Actor261: tc01 - Location: 42,77 - Owner: Neutral - Actor778: t05 - Location: 48,78 - Owner: Neutral - Actor831: t15 - Location: 47,82 - Owner: Neutral - Actor865: t08 - Location: 24,110 - Owner: Neutral - Actor864: t01 - Location: 33,109 - Owner: Neutral - Actor862: t07 - Location: 41,71 - Owner: Neutral - Actor867: t01 - Location: 16,68 - Owner: Neutral - Actor883: barl - Location: 44,79 - Owner: Neutral - Actor905: v01 - Location: 20,74 - Owner: Neutral - Actor209: fenc - Location: 61,40 - Owner: Soviets - Actor276: fenc - Location: 65,44 - Owner: Soviets - Actor197: tsla - Location: 55,44 - Owner: Soviets - Actor277: fenc - Location: 57,39 - Owner: Soviets - Actor288: apwr - Location: 51,61 - Owner: Soviets - Actor278: fenc - Location: 56,39 - Owner: Soviets - Actor274: fenc - Location: 64,43 - Owner: Soviets - Actor252: fenc - Location: 64,41 - Owner: Soviets - Actor906: v03 - Location: 16,72 - Owner: Neutral - Actor175: fenc - Location: 58,39 - Owner: Soviets - Actor271: v2rl - Location: 29,33 - Owner: Soviets - Facing: 0 - Actor186: afld - Location: 53,40 - Owner: Soviets - Actor238: silo - Location: 39,34 - Owner: Soviets - Actor241: silo - Location: 38,33 - Owner: Soviets - Actor178: e3 - Location: 37,43 - Owner: Soviets - Actor190: e3 - Location: 35,35 - Owner: Soviets - Actor191: e3 - Location: 38,52 - Owner: Soviets - Actor337: e3 - Location: 37,53 - Owner: Soviets - Actor338: e3 - Location: 45,58 - Owner: Soviets - Actor341: e3 - Location: 54,50 - Owner: Soviets - Actor343: e3 - Location: 66,49 - Owner: Soviets - Actor344: e3 - Location: 62,60 - Owner: Soviets - Actor345: e2 - Location: 42,51 - Owner: Soviets - Actor349: e2 - Location: 55,55 - Owner: Soviets - Actor350: e2 - Location: 43,35 - Owner: Soviets - Actor351: dog - Location: 43,55 - Owner: Soviets - Actor352: dog - Location: 45,60 - Owner: Soviets - Actor353: dog - Location: 41,42 - Owner: Soviets - Actor354: dog - Location: 57,46 - Owner: Soviets - Actor355: dog - Location: 40,31 - Owner: Soviets - Actor357: 3tnk - Location: 43,59 - Owner: Soviets - Facing: 90 - Actor358: 3tnk - Location: 38,55 - Owner: Soviets - Facing: 110 - Actor359: v2rl - Location: 44,53 - Owner: Soviets - Actor282: tent - Location: 40,94 - Owner: Allies - Actor290: pbox.e1 - Location: 39,92 - Owner: Allies - AlliedBaseBottomRight: waypoint - Location: 51,111 - Owner: Neutral - AlliedBaseTopLeft: waypoint - Location: 16,84 - Owner: Neutral - Actor1000: camera.large - Location: 1,1 - Owner: Soviets - -Smudges: - -Rules: - Player: - -ConquestVictoryConditions: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - Allies02Script: - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - TRAN.Husk1: - Burns: - Damage: 0 - TRAN.Husk2: - Burns: - Damage: 0 - E7: - AutoTarget: - InitialStance: Defend - Passenger: - Weight: 0 - Buildable: - Owner: None - EINSTEIN: - Passenger: - Weight: 0 - V01: - ContainsCrate: - TRAN: - -Selectable: - Buildable: - Owner: None - RevealsShroud: - Range: 0c0 - TENT: - ProvidesCustomPrerequisite: - Prerequisite: barracks - BARR: - ProvidesCustomPrerequisite: - Prerequisite: barracks - Buildable: - Owner: None - MEDI: - Buildable: - Prerequisites: barracks - SPY: - Buildable: - Prerequisites: barracks, dome - MIG: - Buildable: - Owner: None - YAK: - Buildable: - Owner: None - HELI: - Buildable: - Owner: None - HIND: - Buildable: - Owner: None - SS: - Buildable: - Owner: None - MSUB: - Buildable: - Owner: None - DD: - Buildable: - Owner: None - CA: - Buildable: - Owner: None - PT: - Buildable: - Owner: None - MSLO: - Buildable: - Owner: None - GAP: - Buildable: - Owner: None - SPEN: - Buildable: - Owner: None - SYRD: - Buildable: - Owner: None - IRON: - Buildable: - Owner: None - PDOX: - Buildable: - Owner: None - TSLA: - Buildable: - Owner: None - AGUN: - Buildable: - Owner: None - FTUR: - Buildable: - Owner: None - SAM: - Buildable: - Owner: None - ATEK: - Buildable: - Owner: None - HPAD: - Buildable: - Owner: None - AFLD: - Buildable: - Owner: None - STEK: - Buildable: - Owner: None - 4TNK: - Buildable: - Owner: None - MCV: - Buildable: - Owner: None - ARTY: - Buildable: - Owner: None - APC: - Buildable: - Owner: None - MNLY.AP: - Buildable: - Owner: None - MNLY.AT: - Buildable: - Owner: None - TRUK: - Buildable: - Owner: None - TTNK: - Buildable: - Owner: None - FTRK: - Buildable: - Owner: None - CTNK: - Buildable: - Owner: None - MGG: - Buildable: - Owner: None - MRJ: - Buildable: - Owner: None - CRATE: - GiveCashCrateAction: - SelectionShares: 0 - LevelUpCrateAction: - SelectionShares: 0 - ExplodeCrateAction@fire: - SelectionShares: 0 - ExplodeCrateAction@boom: - SelectionShares: 0 - ExplodeCrateAction@nuke: - SelectionShares: 0 - HideMapCrateAction: - SelectionShares: 0 - HealUnitsCrateAction: - SelectionShares: 10000 - RevealMapCrateAction: - SelectionShares: 0 - SupportPowerCrateAction@parabombs: - SelectionShares: 0 - GiveMcvCrateAction: - SelectionShares: 0 - GiveUnitCrateAction@jeep: - SelectionShares: 0 - GiveUnitCrateAction@arty: - SelectionShares: 0 - GiveUnitCrateAction@v2rl: - SelectionShares: 0 - GiveUnitCrateAction@1tnk: - SelectionShares: 0 - GiveUnitCrateAction@2tnk: - SelectionShares: 0 - GiveUnitCrateAction@3tnk: - SelectionShares: 0 - GiveUnitCrateAction@4tnk: - SelectionShares: 0 - CAMERA.Large: - Inherits: CAMERA - RevealsShroud: - Range: 1000c0 - -Sequences: - -VoxelSequences: - -Weapons: - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/allies-03/map.bin b/mods/ra/maps/allies-03/map.bin deleted file mode 100644 index 89ef1b5ec8..0000000000 Binary files a/mods/ra/maps/allies-03/map.bin and /dev/null differ diff --git a/mods/ra/maps/allies-03/map.yaml b/mods/ra/maps/allies-03/map.yaml deleted file mode 100644 index 41f5342ce3..0000000000 --- a/mods/ra/maps/allies-03/map.yaml +++ /dev/null @@ -1,1580 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Allies 03 - -Description: Allies' third mission - -Author: Scott_NZ - -Tileset: SNOW - -MapSize: 192,96 - -Bounds: 16,16,160,64 - -UseAsShellmap: False - -Type: Campaign - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - Difficulties: Easy,Normal,Hard - -Players: - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Allies1: - Name: Allies1 - Playable: True - AllowBots: False - Required: True - LockRace: True - Race: allies - LockColor: True - ColorRamp: 161,134,200 - LockSpawn: True - LockTeam: True - Allies: Allies2,Allies - Enemies: Soviets - PlayerReference@Allies2: - Name: Allies2 - Playable: True - AllowBots: False - LockRace: True - Race: allies - LockColor: True - ColorRamp: 76,196,190 - LockSpawn: True - LockTeam: True - Allies: Allies1,Allies - Enemies: Soviets - PlayerReference@Allies: - Name: Allies - Race: allies - ColorRamp: 115,115,143 - Allies: Allies1,Allies2 - Enemies: Soviets - PlayerReference@Soviets: - Name: Soviets - Race: soviet - ColorRamp: 3,255,127 - Enemies: Allies1,Allies2,Allies - -Actors: - Actor239: dog - Location: 169,60 - Owner: Soviets - Actor12: t08 - Location: 163,57 - Owner: Neutral - Actor14: t14 - Location: 148,59 - Owner: Neutral - Actor25: t07 - Location: 142,77 - Owner: Neutral - Actor29: t07 - Location: 165,78 - Owner: Neutral - Actor21: mine - Location: 169,71 - Owner: Neutral - Actor23: t08 - Location: 124,40 - Owner: Neutral - Actor10: tc04 - Location: 43,67 - Owner: Neutral - Actor28: t02 - Location: 151,51 - Owner: Neutral - Actor34: t17 - Location: 148,52 - Owner: Neutral - Actor36: tc04 - Location: 172,46 - Owner: Neutral - Actor37: t02 - Location: 169,46 - Owner: Neutral - Actor39: t02 - Location: 148,45 - Owner: Neutral - Actor42: t10 - Location: 151,47 - Owner: Neutral - Actor9: tc04 - Location: 33,41 - Owner: Neutral - Actor52: t05 - Location: 163,47 - Owner: Neutral - Actor53: tc03 - Location: 138,53 - Owner: Neutral - SovietAirfield5: afld - Location: 62,47 - Owner: Soviets - Actor57: tc04 - Location: 43,19 - Owner: Neutral - Actor58: tc04 - Location: 56,18 - Owner: Neutral - Actor59: tc04 - Location: 69,28 - Owner: Neutral - Actor60: tc05 - Location: 63,19 - Owner: Neutral - Actor61: tc05 - Location: 48,19 - Owner: Neutral - Actor62: tc05 - Location: 37,18 - Owner: Neutral - Actor63: tc05 - Location: 78,14 - Owner: Neutral - Actor64: tc03 - Location: 70,19 - Owner: Neutral - Actor65: tc03 - Location: 55,26 - Owner: Neutral - Actor66: tc03 - Location: 45,24 - Owner: Neutral - Actor67: tc03 - Location: 38,23 - Owner: Neutral - Actor68: tc02 - Location: 39,21 - Owner: Neutral - Actor69: tc02 - Location: 42,16 - Owner: Neutral - Actor70: tc02 - Location: 50,16 - Owner: Neutral - Actor71: tc02 - Location: 51,22 - Owner: Neutral - Actor72: tc02 - Location: 64,29 - Owner: Neutral - Actor73: tc02 - Location: 67,24 - Owner: Neutral - Actor74: tc02 - Location: 74,17 - Owner: Neutral - Actor75: tc01 - Location: 61,16 - Owner: Neutral - Actor76: tc01 - Location: 57,22 - Owner: Neutral - Actor77: tc01 - Location: 48,23 - Owner: Neutral - Actor78: tc01 - Location: 38,26 - Owner: Neutral - Actor79: t05 - Location: 38,20 - Owner: Neutral - Actor80: t05 - Location: 42,17 - Owner: Neutral - Actor81: t05 - Location: 47,20 - Owner: Neutral - Actor82: t05 - Location: 53,25 - Owner: Neutral - Actor83: t05 - Location: 57,16 - Owner: Neutral - Actor84: t05 - Location: 56,22 - Owner: Neutral - Actor85: t05 - Location: 64,27 - Owner: Neutral - Actor86: t05 - Location: 70,22 - Owner: Neutral - Actor87: t05 - Location: 68,15 - Owner: Neutral - Actor88: t05 - Location: 81,18 - Owner: Neutral - Actor89: t16 - Location: 79,18 - Owner: Neutral - Actor90: t16 - Location: 68,16 - Owner: Neutral - Actor91: t16 - Location: 67,22 - Owner: Neutral - Actor92: t16 - Location: 53,16 - Owner: Neutral - Actor93: t16 - Location: 51,23 - Owner: Neutral - Actor94: t16 - Location: 47,16 - Owner: Neutral - Actor95: t16 - Location: 42,27 - Owner: Neutral - Actor96: t16 - Location: 38,16 - Owner: Neutral - Actor97: t16 - Location: 34,20 - Owner: Neutral - Actor98: t02 - Location: 54,19 - Owner: Neutral - Actor99: t02 - Location: 64,24 - Owner: Neutral - Actor100: t02 - Location: 48,26 - Owner: Neutral - Actor101: t02 - Location: 42,18 - Owner: Neutral - Actor102: t02 - Location: 37,16 - Owner: Neutral - Actor103: t06 - Location: 42,24 - Owner: Neutral - Actor104: t06 - Location: 45,21 - Owner: Neutral - Actor105: t06 - Location: 58,16 - Owner: Neutral - Actor106: t06 - Location: 59,28 - Owner: Neutral - Actor107: t06 - Location: 63,24 - Owner: Neutral - Actor108: t06 - Location: 67,29 - Owner: Neutral - Actor109: t10 - Location: 66,17 - Owner: Neutral - Actor110: t10 - Location: 65,28 - Owner: Neutral - Actor111: t10 - Location: 54,22 - Owner: Neutral - Actor112: t11 - Location: 40,23 - Owner: Neutral - Actor113: t11 - Location: 52,26 - Owner: Neutral - Actor114: t11 - Location: 69,20 - Owner: Neutral - Actor115: t12 - Location: 68,30 - Owner: Neutral - Actor116: t12 - Location: 60,20 - Owner: Neutral - Actor117: t17 - Location: 44,17 - Owner: Neutral - Actor118: t17 - Location: 36,19 - Owner: Neutral - Actor119: t08 - Location: 52,20 - Owner: Neutral - Actor120: t08 - Location: 70,27 - Owner: Neutral - Actor121: t08 - Location: 48,16 - Owner: Neutral - Actor123: tc03 - Location: 17,25 - Owner: Neutral - Exit1BottomRight: waypoint - Location: 25,50 - Owner: Neutral - Exit1BottomLeft: waypoint - Location: 16,50 - Owner: Neutral - SovietAirfield4: afld - Location: 151,67 - Owner: Soviets - Actor127: t05 - Location: 17,21 - Owner: Neutral - Exit1TopLeft: waypoint - Location: 16,44 - Owner: Neutral - Actor48: fenc - Location: 29,27 - Owner: Allies - Actor130: t02 - Location: 28,16 - Owner: Neutral - Actor131: t06 - Location: 48,32 - Owner: Neutral - Actor132: t02 - Location: 30,35 - Owner: Neutral - Actor133: t03 - Location: 28,34 - Owner: Neutral - Actor134: t17 - Location: 55,31 - Owner: Neutral - Actor135: t03 - Location: 60,37 - Owner: Neutral - Actor136: t11 - Location: 64,38 - Owner: Neutral - Actor137: t10 - Location: 65,33 - Owner: Neutral - Actor140: tc05 - Location: 163,42 - Owner: Neutral - Actor51: t01 - Location: 48,62 - Owner: Neutral - Actor142: t05 - Location: 175,43 - Owner: Neutral - Actor143: t02 - Location: 173,41 - Owner: Neutral - Actor20: mine - Location: 158,26 - Owner: Neutral - Actor147: t10 - Location: 139,41 - Owner: Neutral - Actor148: t13 - Location: 129,40 - Owner: Neutral - Actor149: t17 - Location: 134,47 - Owner: Neutral - Actor156: t05 - Location: 139,44 - Owner: Neutral - Actor150: t05 - Location: 146,37 - Owner: Neutral - Actor162: t06 - Location: 126,37 - Owner: Neutral - Actor178: t16 - Location: 137,77 - Owner: Neutral - Actor370: tc02 - Location: 25,65 - Owner: Neutral - Actor165: tc03 - Location: 157,77 - Owner: Neutral - Actor181: t13 - Location: 137,71 - Owner: Neutral - Actor182: t16 - Location: 135,57 - Owner: Neutral - Actor184: tc01 - Location: 124,38 - Owner: Neutral - Actor363: t12 - Location: 81,50 - Owner: Neutral - Actor345: t08 - Location: 90,23 - Owner: Neutral - Actor364: t12 - Location: 83,27 - Owner: Neutral - Actor346: t08 - Location: 107,28 - Owner: Neutral - Actor153: apwr - Location: 55,43 - Owner: Soviets - Actor298: t06 - Location: 72,50 - Owner: Neutral - Actor30: t01 - Location: 173,61 - Owner: Neutral - Actor224: ftur - Location: 66,60 - Owner: Soviets - Actor203: t16 - Location: 54,41 - Owner: Neutral - Actor338: tc04 - Location: 28,76 - Owner: Neutral - Actor1: tc02 - Location: 95,73 - Owner: Neutral - Actor333: t07 - Location: 133,36 - Owner: Neutral - Actor238: t01 - Location: 111,60 - Owner: Neutral - Actor283: t05 - Location: 102,59 - Owner: Neutral - SovietAirfield6: afld - Location: 62,53 - Owner: Soviets - Actor284: t05 - Location: 82,70 - Owner: Neutral - Actor369: tc02 - Location: 30,60 - Owner: Neutral - Actor289: t05 - Location: 71,33 - Owner: Neutral - Actor157: tc05 - Location: 23,39 - Owner: Neutral - Actor226: tc01 - Location: 98,24 - Owner: Neutral - Actor194: tc05 - Location: 103,62 - Owner: Neutral - Actor371: tc02 - Location: 37,77 - Owner: Neutral - Actor367: tc03 - Location: 35,71 - Owner: Neutral - Actor236: ftur - Location: 62,61 - Owner: Soviets - Actor302: t06 - Location: 71,73 - Owner: Neutral - Actor329: t07 - Location: 97,28 - Owner: Neutral - Actor331: t07 - Location: 124,48 - Owner: Neutral - Actor296: t05 - Location: 63,63 - Owner: Neutral - Actor155: tc04 - Location: 18,37 - Owner: Neutral - Actor279: t03 - Location: 72,32 - Owner: Neutral - Actor274: t03 - Location: 71,78 - Owner: Neutral - Actor280: t03 - Location: 121,19 - Owner: Neutral - Actor315: t06 - Location: 88,17 - Owner: Neutral - Actor312: t06 - Location: 110,24 - Owner: Neutral - Actor314: t06 - Location: 125,20 - Owner: Neutral - Actor307: t06 - Location: 119,50 - Owner: Neutral - Actor310: t06 - Location: 80,41 - Owner: Neutral - Actor323: t07 - Location: 113,76 - Owner: Neutral - Actor322: t07 - Location: 112,65 - Owner: Neutral - Actor246: t06 - Location: 94,64 - Owner: Neutral - Actor303: t06 - Location: 101,69 - Owner: Neutral - Actor234: t01 - Location: 79,77 - Owner: Neutral - Actor354: t11 - Location: 73,71 - Owner: Neutral - Actor212: barr - Location: 69,57 - Owner: Soviets - Actor365: tc04 - Location: 18,56 - Owner: Neutral - Actor196: t06 - Location: 129,52 - Owner: Neutral - Actor356: t11 - Location: 119,43 - Owner: Neutral - Actor360: t11 - Location: 122,76 - Owner: Neutral - Actor187: tc04 - Location: 99,27 - Owner: Neutral - Actor186: tc04 - Location: 79,34 - Owner: Neutral - Actor179: tc05 - Location: 59,43 - Owner: Neutral - Actor350: t10 - Location: 87,22 - Owner: Neutral - Actor17: proc - Location: 168,62 - Owner: Soviets - Actor291: t05 - Location: 91,33 - Owner: Neutral - Actor254: t02 - Location: 72,63 - Owner: Neutral - Actor43: t05 - Location: 58,62 - Owner: Neutral - Actor257: t02 - Location: 119,53 - Owner: Neutral - Actor8: e1 - Location: 26,46 - Owner: Allies - Actor264: t02 - Location: 127,17 - Owner: Neutral - Actor269: t03 - Location: 84,37 - Owner: Neutral - Actor271: t03 - Location: 79,57 - Owner: Neutral - SovietEntryPoint4: waypoint - Location: 115,16 - Owner: Neutral - Actor278: t03 - Location: 122,33 - Owner: Neutral - Actor221: tc01 - Location: 113,73 - Owner: Neutral - Actor215: t05 - Location: 72,40 - Owner: Neutral - Actor267: t02 - Location: 123,62 - Owner: Neutral - Actor253: t02 - Location: 118,77 - Owner: Neutral - Actor220: tc01 - Location: 117,40 - Owner: Neutral - Actor158: tc01 - Location: 23,35 - Owner: Neutral - Actor160: t06 - Location: 21,40 - Owner: Neutral - Actor164: t16 - Location: 18,41 - Owner: Neutral - Actor163: t05 - Location: 20,35 - Owner: Neutral - Actor211: tc02 - Location: 75,74 - Owner: Neutral - Actor174: apwr - Location: 58,45 - Owner: Soviets - Actor214: tc02 - Location: 79,47 - Owner: Neutral - Actor38: t15 - Location: 30,52 - Owner: Neutral - Actor407: t13 - Location: 32,62 - Owner: Neutral - Actor139: t01 - Location: 111,35 - Owner: Neutral - Actor410: t15 - Location: 17,55 - Owner: Neutral - Actor141: t14 - Location: 36,56 - Owner: Neutral - Actor386: t07 - Location: 30,62 - Owner: Neutral - Actor2: tc05 - Location: 153,77 - Owner: Neutral - Actor54: t01 - Location: 56,76 - Owner: Neutral - Actor391: t06 - Location: 25,75 - Owner: Neutral - Actor403: t01 - Location: 34,74 - Owner: Neutral - Actor402: t02 - Location: 21,65 - Owner: Neutral - Actor175: tc01 - Location: 62,44 - Owner: Neutral - Actor375: tc01 - Location: 20,61 - Owner: Neutral - Actor712: t07 - Location: 170,34 - Owner: Neutral - Actor0: mine - Location: 160,27 - Owner: Neutral - Actor385: t07 - Location: 17,58 - Owner: Neutral - Actor401: t02 - Location: 30,74 - Owner: Neutral - Actor400: t05 - Location: 32,69 - Owner: Neutral - Actor382: t16 - Location: 27,60 - Owner: Neutral - Actor374: tc01 - Location: 34,68 - Owner: Neutral - Actor376: tc01 - Location: 16,65 - Owner: Neutral - Actor409: t15 - Location: 24,67 - Owner: Neutral - Actor405: t03 - Location: 24,58 - Owner: Neutral - Actor373: tc01 - Location: 25,68 - Owner: Neutral - Actor406: t13 - Location: 35,72 - Owner: Neutral - Actor55: t01 - Location: 37,37 - Owner: Neutral - Actor760: t03 - Location: 175,27 - Owner: Neutral - Actor399: t05 - Location: 22,68 - Owner: Neutral - Actor408: t14 - Location: 20,59 - Owner: Neutral - Actor390: t07 - Location: 18,72 - Owner: Neutral - Actor767: t10 - Location: 158,15 - Owner: Neutral - Actor381: t16 - Location: 23,65 - Owner: Neutral - Actor775: t02 - Location: 171,15 - Owner: Neutral - Actor392: t06 - Location: 31,70 - Owner: Neutral - Actor366: tc03 - Location: 17,68 - Owner: Neutral - Actor368: tc03 - Location: 25,56 - Owner: Neutral - Actor780: t03 - Location: 79,39 - Owner: Neutral - Actor398: t05 - Location: 32,64 - Owner: Neutral - Actor796: t02 - Location: 154,40 - Owner: Neutral - SovietAirfield3: afld - Location: 154,67 - Owner: Soviets - Actor383: t16 - Location: 22,52 - Owner: Neutral - Actor372: tc02 - Location: 20,77 - Owner: Neutral - Exit1TopRight: waypoint - Location: 25,44 - Owner: Neutral - SovietEntryPoint5: waypoint - Location: 130,79 - Owner: Neutral - Actor804: t13 - Location: 125,68 - Owner: Neutral - SovietAirfield8: afld - Location: 62,51 - Owner: Soviets - Actor268: t03 - Location: 95,23 - Owner: Neutral - Actor812: tc03 - Location: 133,25 - Owner: Neutral - Actor818: t16 - Location: 138,15 - Owner: Neutral - Actor819: t16 - Location: 139,29 - Owner: Neutral - Actor820: t02 - Location: 147,16 - Owner: Neutral - Actor396: t05 - Location: 27,70 - Owner: Neutral - Actor387: t07 - Location: 22,63 - Owner: Neutral - Actor393: t06 - Location: 25,61 - Owner: Neutral - Actor32: t05 - Location: 42,40 - Owner: Neutral - Actor378: t16 - Location: 26,73 - Owner: Neutral - Actor31: t05 - Location: 53,51 - Owner: Neutral - Actor395: t06 - Location: 35,78 - Owner: Neutral - Actor826: t01 - Location: 136,15 - Owner: Neutral - Actor827: t01 - Location: 142,24 - Owner: Neutral - Actor829: t03 - Location: 146,15 - Owner: Neutral - Actor379: t16 - Location: 37,74 - Owner: Neutral - Actor411: t15 - Location: 31,77 - Owner: Neutral - Actor397: t05 - Location: 21,58 - Owner: Neutral - Actor394: t06 - Location: 18,52 - Owner: Neutral - Actor13: tc02 - Location: 38,61 - Owner: Neutral - Actor27: t05 - Location: 41,55 - Owner: Neutral - Actor377: t16 - Location: 16,78 - Owner: Neutral - Actor380: t16 - Location: 31,66 - Owner: Neutral - Actor845: t14 - Location: 136,21 - Owner: Neutral - Actor16: tc02 - Location: 52,39 - Owner: Neutral - Actor404: t03 - Location: 24,71 - Owner: Neutral - Actor389: t07 - Location: 25,71 - Owner: Neutral - Actor388: t07 - Location: 37,68 - Owner: Neutral - Actor412: t15 - Location: 28,73 - Owner: Neutral - Actor384: t07 - Location: 22,67 - Owner: Neutral - Actor26: t05 - Location: 45,72 - Owner: Neutral - Actor856: t16 - Location: 133,23 - Owner: Neutral - Actor15: tc04 - Location: 144,73 - Owner: Neutral - Actor861: t16 - Location: 128,62 - Owner: Neutral - Exit1ExitPoint: waypoint - Location: 16,47 - Owner: Neutral - Actor7: e1 - Location: 27,50 - Owner: Allies - Actor5: gun - Location: 28,51 - Owner: Allies - Actor6: gun - Location: 28,44 - Owner: Allies - Actor47: powr - Location: 3,37 - Owner: Allies - Actor45: 2tnk - Location: 28,28 - Owner: Allies - Actor35: gun - Location: 29,29 - Owner: Allies - Actor24: gun - Location: 25,30 - Owner: Allies - Actor41: e1 - Location: 30,28 - Owner: Allies - Actor4: jeep - Location: 27,45 - Owner: Allies - Actor40: e1 - Location: 24,30 - Owner: Allies - Actor46: powr - Location: 1,37 - Owner: Allies - Actor49: fenc - Location: 28,27 - Owner: Allies - Actor50: fenc - Location: 27,27 - Owner: Allies - Actor122: fenc - Location: 30,27 - Owner: Allies - Actor124: fenc - Location: 31,27 - Owner: Allies - Actor125: fenc - Location: 32,27 - Owner: Allies - Actor126: fenc - Location: 32,25 - Owner: Allies - Actor128: fenc - Location: 32,26 - Owner: Allies - Actor129: fenc - Location: 33,25 - Owner: Allies - Actor145: fenc - Location: 34,25 - Owner: Allies - Actor146: fenc - Location: 35,25 - Owner: Allies - Allies1MovePoint: waypoint - Location: 149,24 - Owner: Neutral - Allies1EntryPoint: waypoint - Location: 149,16 - Owner: Neutral - Allies2EntryPoint: waypoint - Location: 175,38 - Owner: Neutral - Exit2TopRight: waypoint - Location: 35,16 - Owner: Neutral - Exit2BottomLeft: waypoint - Location: 16,30 - Owner: Neutral - Exit2BottomRight: waypoint - Location: 35,30 - Owner: Neutral - Exit2TopLeft: waypoint - Location: 16,16 - Owner: Neutral - Exit2ExitPoint: waypoint - Location: 16,29 - Owner: Neutral - Actor255: ftur - Location: 68,45 - Owner: Soviets - SovietEntryPoint3: waypoint - Location: 105,79 - Owner: Neutral - SovietEntryPoint2: waypoint - Location: 93,16 - Owner: Neutral - SovietEntryPoint1: waypoint - Location: 89,79 - Owner: Neutral - SovietRallyPoint2: waypoint - Location: 93,20 - Owner: Neutral - SovietRallyPoint1: waypoint - Location: 89,75 - Owner: Neutral - SovietRallyPoint3: waypoint - Location: 105,75 - Owner: Neutral - SovietRallyPoint4: waypoint - Location: 115,20 - Owner: Neutral - SovietRallyPoint5: waypoint - Location: 130,75 - Owner: Neutral - Actor152: brl3 - Location: 157,66 - Owner: Soviets - Actor151: barl - Location: 159,58 - Owner: Soviets - Actor138: brl3 - Location: 154,58 - Owner: Soviets - Actor144: brl3 - Location: 159,59 - Owner: Soviets - Actor19: oilb - Location: 154,59 - Owner: Soviets - Actor22: oilb - Location: 157,57 - Owner: Soviets - Actor154: oilb - Location: 169,18 - Owner: Neutral - Actor159: oilb - Location: 172,22 - Owner: Neutral - Actor166: brl3 - Location: 171,18 - Owner: Neutral - Actor167: barl - Location: 173,24 - Owner: Neutral - Actor168: powr - Location: 1,34 - Owner: Allies - Actor183: powr - Location: 3,34 - Owner: Allies - Actor185: apwr - Location: 154,72 - Owner: Soviets - Actor190: ftur - Location: 160,53 - Owner: Soviets - Actor227: e3 - Location: 157,54 - Owner: Soviets - Actor225: e3 - Location: 148,68 - Owner: Soviets - Actor223: e1 - Location: 163,55 - Owner: Soviets - Actor209: fenc - Location: 156,52 - Owner: Soviets - Actor200: e1 - Location: 171,61 - Owner: Soviets - Actor201: e2 - Location: 165,64 - Owner: Soviets - Actor222: e2 - Location: 154,53 - Owner: Soviets - Actor216: fenc - Location: 154,52 - Owner: Soviets - Actor217: fenc - Location: 153,52 - Owner: Soviets - Actor219: fenc - Location: 152,52 - Owner: Soviets - Actor210: fenc - Location: 155,52 - Owner: Soviets - Actor188: brl3 - Location: 160,54 - Owner: Soviets - Actor189: ftur - Location: 147,64 - Owner: Soviets - Actor191: barl - Location: 160,55 - Owner: Soviets - SovietAirfield1: afld - Location: 151,69 - Owner: Soviets - SovietAirfield2: afld - Location: 154,69 - Owner: Soviets - Actor228: e3 - Location: 158,66 - Owner: Soviets - Actor241: barl - Location: 157,67 - Owner: Soviets - Actor242: barr - Location: 159,61 - Owner: Soviets - Actor56: tc01 - Location: 145,71 - Owner: Neutral - Actor237: dog - Location: 151,62 - Owner: Soviets - Actor11: e1 - Location: 149,64 - Owner: Soviets - Actor192: fenc - Location: 147,65 - Owner: Soviets - Actor244: e1 - Location: 160,60 - Owner: Soviets - Actor206: fenc - Location: 158,53 - Owner: Soviets - Actor18: apwr - Location: 149,72 - Owner: Soviets - Actor230: 3tnk - Location: 157,60 - Owner: Soviets - Actor231: kenn - Location: 162,59 - Owner: Soviets - Actor235: waypoint - Location: 147,51 - Owner: Neutral - Actor205: fenc - Location: 159,53 - Owner: Soviets - Actor207: fenc - Location: 158,52 - Owner: Soviets - Actor208: fenc - Location: 157,52 - Owner: Soviets - Actor204: fenc - Location: 147,70 - Owner: Soviets - Actor193: fenc - Location: 147,66 - Owner: Soviets - Actor195: fenc - Location: 147,67 - Owner: Soviets - Actor197: fenc - Location: 146,67 - Owner: Soviets - Actor199: fenc - Location: 146,69 - Owner: Soviets - Actor198: fenc - Location: 146,68 - Owner: Soviets - Actor202: fenc - Location: 147,69 - Owner: Soviets - Actor292: e2 - Location: 165,59 - Owner: Soviets - Actor232: t01 - Location: 72,43 - Owner: Neutral - Actor176: tc05 - Location: 69,46 - Owner: Neutral - Actor170: mine - Location: 114,55 - Owner: Neutral - Actor169: mine - Location: 113,57 - Owner: Neutral - Allies2MovePoint: waypoint - Location: 167,38 - Owner: Neutral - Actor3: silo - Location: 172,59 - Owner: Soviets - Actor33: fact - Location: 162,67 - Owner: Soviets - SovietEntryPoint6: waypoint - Location: 53,79 - Owner: Neutral - SovietRallyPoint6: waypoint - Location: 53,75 - Owner: Neutral - Actor171: mine - Location: 168,73 - Owner: Neutral - Actor248: ftur - Location: 64,44 - Owner: Soviets - SovietAirfield7: afld - Location: 62,49 - Owner: Soviets - Actor256: ftur - Location: 74,57 - Owner: Soviets - Actor273: brik - Location: 72,61 - Owner: Soviets - Actor44: t11 - Location: 57,54 - Owner: Neutral - Actor249: t11 - Location: 98,58 - Owner: Neutral - Actor245: tc05 - Location: 106,43 - Owner: Neutral - Actor233: ftur - Location: 75,54 - Owner: Soviets - Actor287: brik - Location: 72,60 - Owner: Soviets - Actor258: brik - Location: 71,61 - Owner: Soviets - Actor293: brik - Location: 70,61 - Owner: Soviets - Actor177: tc04 - Location: 59,50 - Owner: Neutral - Actor294: brik - Location: 72,59 - Owner: Soviets - Actor213: tsla - Location: 71,59 - Owner: Soviets - Actor295: brik - Location: 73,59 - Owner: Soviets - Actor180: v01.sniper - Location: 100,29 - Owner: Soviets - Actor218: v03 - Location: 90,30 - Owner: Neutral - Actor243: v02 - Location: 95,30 - Owner: Neutral - Actor247: v04 - Location: 102,30 - Owner: Neutral - Actor250: v07 - Location: 104,33 - Owner: Neutral - Actor252: v13 - Location: 101,33 - Owner: Neutral - Actor251: truk - Location: 105,30 - Owner: Neutral - Actor259: v18 - Location: 105,28 - Owner: Neutral - Actor260: v09 - Location: 110,30 - Owner: Neutral - Actor261: v08 - Location: 109,33 - Owner: Neutral - Actor262: v17 - Location: 104,28 - Owner: Neutral - Actor263: e1 - Location: 108,34 - Owner: Soviets - Actor265: e1 - Location: 97,30 - Owner: Soviets - Actor266: e1 - Location: 92,34 - Owner: Soviets - Actor270: e2 - Location: 102,33 - Owner: Soviets - Actor272: e3 - Location: 94,30 - Owner: Soviets - Actor275: e3 - Location: 100,31 - Owner: Soviets - Actor276: 3tnk - Location: 107,30 - Owner: Soviets - Actor277: dome - Location: 165,56 - Owner: Soviets - Actor281: ftur - Location: 166,51 - Owner: Soviets - Actor282: ftur - Location: 147,58 - Owner: Soviets - Actor286: t12 - Location: 154,65 - Owner: Neutral - Actor285: t05 - Location: 148,76 - Owner: Neutral - Actor288: tc02 - Location: 168,51 - Owner: Neutral - Actor240: mine - Location: 159,27 - Owner: Neutral - Actor290: mine - Location: 159,26 - Owner: Neutral - Actor297: brik - Location: 69,61 - Owner: Soviets - Actor299: brik - Location: 73,58 - Owner: Soviets - Actor300: brik - Location: 69,60 - Owner: Soviets - Actor301: brik - Location: 68,60 - Owner: Soviets - Actor304: e1 - Location: 63,59 - Owner: Soviets - Actor305: e1 - Location: 71,56 - Owner: Soviets - Actor306: e1 - Location: 66,46 - Owner: Soviets - Actor308: e2 - Location: 63,57 - Owner: Soviets - Actor309: e2 - Location: 69,51 - Owner: Soviets - Actor311: e1 - Location: 68,58 - Owner: Soviets - Actor313: e1 - Location: 63,46 - Owner: Soviets - Actor316: oilb - Location: 91,50 - Owner: Soviets - Actor317: oilb - Location: 91,53 - Owner: Soviets - Actor318: oilb - Location: 94,50 - Owner: Soviets - Actor319: oilb - Location: 94,53 - Owner: Soviets - Actor320: sbag - Location: 91,56 - Owner: Soviets - Actor321: sbag - Location: 93,56 - Owner: Soviets - Actor324: sbag - Location: 94,56 - Owner: Soviets - Actor325: sbag - Location: 95,56 - Owner: Soviets - Actor326: sbag - Location: 96,56 - Owner: Soviets - Actor327: sbag - Location: 92,56 - Owner: Soviets - Actor328: sbag - Location: 97,56 - Owner: Soviets - Actor330: sbag - Location: 97,55 - Owner: Soviets - Actor332: sbag - Location: 97,54 - Owner: Soviets - Actor334: sbag - Location: 97,53 - Owner: Soviets - Actor335: sbag - Location: 97,52 - Owner: Soviets - Actor336: sbag - Location: 97,51 - Owner: Soviets - Actor337: sbag - Location: 97,50 - Owner: Soviets - Actor339: e1 - Location: 96,49 - Owner: Soviets - Actor340: e1 - Location: 93,47 - Owner: Soviets - Actor341: e1 - Location: 89,56 - Owner: Soviets - Actor342: e2 - Location: 88,55 - Owner: Soviets - Actor343: apc - Location: 91,48 - Owner: Soviets - Actor344: 3tnk - Location: 67,52 - Owner: Soviets - Actor161: brl3 - Location: 93,50 - Owner: Soviets - Actor172: barl - Location: 90,55 - Owner: Soviets - ParadropBoxBottomRight: waypoint - Location: 170,72 - Owner: Neutral - ParadropBoxTopLeft: waypoint - Location: 78,27 - Owner: Neutral - Actor1000: camera.large - Location: 1,1 - Owner: Soviets - -Smudges: - -Rules: - Player: - -ConquestVictoryConditions: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - Allies03Script: - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - YAK: - Buildable: - Owner: soviet, allies - E7: - Buildable: - Owner: None - TRAN: - Buildable: - Owner: None - BARR: - Buildable: - Owner: None - MIG: - Buildable: - Owner: None - HELI: - Buildable: - Owner: None - HIND: - Buildable: - Owner: None - SS: - Buildable: - Owner: None - ARTY: - Buildable: - Owner: None - AGUN: - Buildable: - Owner: None - MSUB: - Buildable: - Owner: None - DD: - Buildable: - Owner: None - CA: - Buildable: - Owner: None - PT: - Buildable: - Owner: None - MSLO: - Buildable: - Owner: None - SPEN: - Buildable: - Owner: None - SYRD: - Buildable: - Owner: None - IRON: - Buildable: - Owner: None - PDOX: - Buildable: - Owner: None - TSLA: - Buildable: - Owner: None - FTUR: - Buildable: - Owner: None - SAM: - Buildable: - Owner: None - HPAD: - Buildable: - Owner: None - AFLD: - Buildable: - Owner: None - ATEK: - Buildable: - Owner: None - STEK: - Buildable: - Owner: None - 4TNK: - Buildable: - Owner: None - MCV: - Buildable: - Owner: None - APC: - Buildable: - Owner: None - MNLY.AP: - Buildable: - Owner: None - MNLY.AT: - Buildable: - Owner: None - TRUK: - Buildable: - Owner: None - TTNK: - Buildable: - Owner: None - FTRK: - Buildable: - Owner: None - CTNK: - Buildable: - Owner: None - MRJ: - Buildable: - Owner: None - MGG: - Buildable: - Owner: None - CreatesShroud: - Range: 6c0 - GAP: - Buildable: - Owner: None - CAMERA.Large: - Inherits: CAMERA - RevealsShroud: - Range: 1000c0 - -Sequences: - -VoxelSequences: - -Weapons: - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/allies-04/map.bin b/mods/ra/maps/allies-04/map.bin deleted file mode 100644 index ea6cf8e118..0000000000 Binary files a/mods/ra/maps/allies-04/map.bin and /dev/null differ diff --git a/mods/ra/maps/allies-04/map.yaml b/mods/ra/maps/allies-04/map.yaml deleted file mode 100644 index b57b929b5e..0000000000 --- a/mods/ra/maps/allies-04/map.yaml +++ /dev/null @@ -1,2004 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Allies 04 - -Description: Allies' fourth mission - -Author: Scott_NZ - -Tileset: TEMPERAT - -MapSize: 128,128 - -Bounds: 16,16,96,96 - -UseAsShellmap: False - -Type: Campaign - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - Difficulties: Easy,Normal,Hard - -Players: - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Creeps: - Name: Creeps - NonCombatant: True - Race: allies - Enemies: Soviets - PlayerReference@Allies1: - Name: Allies1 - Playable: True - AllowBots: False - Required: True - LockRace: True - Race: allies - LockColor: True - ColorRamp: 161,134,200 - LockSpawn: True - LockTeam: True - Allies: Allies2,Allies - Enemies: Soviets - PlayerReference@Allies2: - Name: Allies2 - Playable: True - AllowBots: False - LockRace: True - Race: allies - LockColor: True - ColorRamp: 76,196,190 - LockSpawn: True - LockTeam: True - Allies: Allies1,Allies - Enemies: Soviets - PlayerReference@Allies: - Name: Allies - Race: allies - ColorRamp: 115,115,143 - Allies: Allies1,Allies2 - Enemies: Soviets - PlayerReference@Soviets: - Name: Soviets - Race: soviet - ColorRamp: 3,255,127 - Enemies: Allies1,Allies2,Allies,Creeps - -Actors: - Actor2: v07 - Location: 58,83 - Owner: Creeps - Actor1: v05 - Location: 54,89 - Owner: Creeps - Actor56: t01 - Location: 68,97 - Owner: Neutral - Actor5: v03 - Location: 66,84 - Owner: Creeps - Actor25: t16 - Location: 69,64 - Owner: Neutral - Actor68: t08 - Location: 65,93 - Owner: Neutral - Actor26: tc04 - Location: 69,61 - Owner: Neutral - Actor27: t02 - Location: 68,63 - Owner: Neutral - Actor28: t07 - Location: 67,78 - Owner: Neutral - Actor30: t08 - Location: 81,88 - Owner: Neutral - Actor31: t14 - Location: 84,88 - Owner: Neutral - Actor33: t10 - Location: 73,83 - Owner: Neutral - Actor8: v07 - Location: 66,95 - Owner: Creeps - Actor0: v04 - Location: 58,90 - Owner: Creeps - Actor41: t12 - Location: 73,69 - Owner: Neutral - Actor44: t13 - Location: 83,78 - Owner: Neutral - Actor47: v01 - Location: 70,84 - Owner: Creeps - Actor10: v02 - Location: 73,90 - Owner: Creeps - Actor236: sbag - Location: 66,36 - Owner: Soviets - Actor233: sbag - Location: 66,35 - Owner: Soviets - Actor235: sbag - Location: 68,35 - Owner: Soviets - Actor234: sbag - Location: 67,35 - Owner: Soviets - Actor222: hpad - Location: 56,36 - Owner: Soviets - Actor57: t07 - Location: 74,64 - Owner: Neutral - Actor49: tc02 - Location: 63,79 - Owner: Neutral - Actor75: t17 - Location: 84,95 - Owner: Neutral - Actor48: t14 - Location: 63,90 - Owner: Neutral - Actor66: tc03 - Location: 87,89 - Owner: Neutral - Actor77: mine - Location: 96,85 - Owner: Neutral - Actor78: tc04 - Location: 103,78 - Owner: Neutral - Actor80: t07 - Location: 81,81 - Owner: Neutral - Actor81: t06 - Location: 111,82 - Owner: Neutral - Actor82: t03 - Location: 110,76 - Owner: Neutral - Actor84: tc02 - Location: 94,75 - Owner: Neutral - Actor9: v01 - Location: 64,94 - Owner: Creeps - Actor53: powr - Location: 86,65 - Owner: Soviets - Actor113: tc05 - Location: 86,59 - Owner: Neutral - Actor51: barr - Location: 93,70 - Owner: Soviets - Lab: miss - Location: 34,30 - Owner: Soviets - Actor45: brik - Location: 39,34 - Owner: Soviets - Actor43: brik - Location: 39,33 - Owner: Soviets - Actor42: brik - Location: 39,32 - Owner: Soviets - Actor39: brik - Location: 39,31 - Owner: Soviets - Actor38: brik - Location: 39,30 - Owner: Soviets - Actor34: brik - Location: 38,28 - Owner: Soviets - Actor36: brik - Location: 39,29 - Owner: Soviets - Actor494: e4 - Location: 98,38 - Owner: Soviets - Actor495: e4 - Location: 48,34 - Owner: Soviets - Actor58: brik - Location: 32,28 - Owner: Soviets - Actor35: brik - Location: 39,28 - Owner: Soviets - Actor110: e1 - Location: 33,28 - Owner: Soviets - Actor60: apwr - Location: 44,46 - Owner: Soviets - Actor22: brik - Location: 32,34 - Owner: Soviets - Actor95: brik - Location: 32,29 - Owner: Soviets - Actor97: brik - Location: 32,30 - Owner: Soviets - Actor98: brik - Location: 32,31 - Owner: Soviets - Actor100: brik - Location: 32,33 - Owner: Soviets - Actor263: 3tnk - Location: 37,35 - Owner: Soviets - Actor138: e2 - Location: 39,37 - Owner: Soviets - Actor99: brik - Location: 32,32 - Owner: Soviets - Actor106: hpad - Location: 34,42 - Owner: Soviets - Actor21: brik - Location: 33,34 - Owner: Soviets - Actor14: brik - Location: 32,35 - Owner: Soviets - Actor55: brik - Location: 32,26 - Owner: Soviets - Actor40: apwr - Location: 44,43 - Owner: Soviets - Actor69: barr - Location: 60,33 - Owner: Soviets - Actor96: barr - Location: 107,36 - Owner: Soviets - Actor94: barr - Location: 39,41 - Owner: Soviets - Actor102: ftur - Location: 46,39 - Owner: Soviets - Actor4: brik - Location: 38,34 - Owner: Soviets - Actor121: e1 - Location: 100,21 - Owner: Soviets - Actor59: sam - Location: 47,60 - Owner: Soviets - TurretFacing: 160 - Actor61: apwr - Location: 45,49 - Owner: Soviets - Actor62: apwr - Location: 46,52 - Owner: Soviets - Actor29: brik - Location: 35,26 - Owner: Soviets - Actor87: tsla - Location: 31,61 - Owner: Soviets - Actor76: ftur - Location: 78,22 - Owner: Soviets - Actor83: ftur - Location: 67,34 - Owner: Soviets - Actor73: spen - Location: 31,82 - Owner: Soviets - Actor37: dome - Location: 44,57 - Owner: Soviets - Actor65: sam - Location: 50,37 - Owner: Soviets - TurretFacing: 192 - Actor70: spen - Location: 39,71 - Owner: Soviets - Actor71: spen - Location: 25,68 - Owner: Soviets - Actor64: sam - Location: 28,43 - Owner: Soviets - TurretFacing: 48 - Actor72: spen - Location: 23,76 - Owner: Soviets - Actor88: tsla - Location: 49,25 - Owner: Soviets - Actor67: fact - Location: 42,52 - Owner: Soviets - Actor85: kenn - Location: 58,32 - Owner: Soviets - Actor86: tsla - Location: 49,32 - Owner: Soviets - Actor89: tsla - Location: 37,65 - Owner: Soviets - Actor90: tsla - Location: 40,37 - Owner: Soviets - Actor91: tsla - Location: 43,49 - Owner: Soviets - Actor103: afld - Location: 34,51 - Owner: Soviets - Actor20: fcom - Location: 39,50 - Owner: Soviets - Actor18: afld - Location: 34,45 - Owner: Soviets - Actor79: afld - Location: 34,47 - Owner: Soviets - Actor74: ftur - Location: 31,36 - Owner: Soviets - Actor32: brik - Location: 34,26 - Owner: Soviets - Actor104: tsla - Location: 28,80 - Owner: Soviets - Actor493: e4 - Location: 102,24 - Owner: Soviets - Actor274: e3 - Location: 34,41 - Owner: Soviets - Actor452: e4 - Location: 34,32 - Owner: Soviets - Actor112: fenc - Location: 96,39 - Owner: Soviets - Actor15: brik - Location: 33,35 - Owner: Soviets - Actor105: tsla - Location: 71,33 - Owner: Soviets - Actor126: e1 - Location: 109,22 - Owner: Soviets - Actor107: hpad - Location: 36,42 - Owner: Soviets - Actor129: kenn - Location: 110,37 - Owner: Soviets - Actor108: stek - Location: 38,55 - Owner: Soviets - Actor7: brik - Location: 38,35 - Owner: Soviets - Actor46: brik - Location: 33,26 - Owner: Soviets - Actor6: brik - Location: 39,35 - Owner: Soviets - Actor117: fenc - Location: 98,39 - Owner: Soviets - Actor116: fenc - Location: 97,39 - Owner: Soviets - Actor111: fenc - Location: 95,37 - Owner: Soviets - Actor16: fenc - Location: 95,38 - Owner: Soviets - Actor13: fenc - Location: 95,39 - Owner: Soviets - Actor120: e1 - Location: 107,41 - Owner: Soviets - Actor119: e1 - Location: 99,41 - Owner: Soviets - Actor279: dog - Location: 101,38 - Owner: Soviets - Actor151: fenc - Location: 111,39 - Owner: Soviets - Actor125: fenc - Location: 110,39 - Owner: Soviets - Actor124: fenc - Location: 109,39 - Owner: Soviets - Actor127: fenc - Location: 99,39 - Owner: Soviets - Actor148: e1 - Location: 92,20 - Owner: Soviets - Actor128: ftur - Location: 42,61 - Owner: Soviets - Actor93: afld - Location: 34,49 - Owner: Soviets - Actor101: kenn - Location: 41,47 - Owner: Soviets - Actor133: apwr - Location: 97,16 - Owner: Soviets - Actor131: apwr - Location: 107,16 - Owner: Soviets - Actor132: apwr - Location: 107,19 - Owner: Soviets - Actor130: apwr - Location: 101,16 - Owner: Soviets - Actor134: proc - Location: 106,30 - Owner: Soviets - Actor135: fix - Location: 102,25 - Owner: Soviets - Actor136: dome - Location: 107,25 - Owner: Soviets - HijackFactory: weap - Location: 98,32 - Owner: Soviets - Actor12: sam - Location: 34,27 - Owner: Soviets - Actor297: v08 - Location: 68,95 - Owner: Creeps - Actor142: fenc - Location: 91,16 - Owner: Soviets - Actor141: fenc - Location: 91,17 - Owner: Soviets - Actor140: fenc - Location: 91,18 - Owner: Soviets - Actor139: fenc - Location: 91,19 - Owner: Soviets - Actor145: ftur - Location: 90,23 - Owner: Soviets - Actor146: ftur - Location: 90,19 - Owner: Soviets - Actor147: e1 - Location: 92,23 - Owner: Soviets - Actor118: ftur - Location: 99,40 - Owner: Soviets - Actor149: fact - Location: 95,25 - Owner: Soviets - Actor304: 3tnk - Location: 106,38 - Owner: Soviets - Facing: 96 - Actor488: t02 - Location: 110,28 - Owner: Neutral - Actor123: fenc - Location: 108,39 - Owner: Soviets - Actor153: apwr - Location: 101,19 - Owner: Soviets - Actor154: apwr - Location: 93,16 - Owner: Soviets - Actor155: powr - Location: 45,41 - Owner: Soviets - Actor156: apwr - Location: 47,55 - Owner: Soviets - Actor157: tc02 - Location: 27,46 - Owner: Neutral - Actor158: t12 - Location: 26,46 - Owner: Neutral - Actor159: tc05 - Location: 23,45 - Owner: Neutral - Actor160: tc04 - Location: 23,43 - Owner: Neutral - Actor161: e1 - Location: 22,42 - Owner: Soviets - Actor162: t12 - Location: 22,39 - Owner: Neutral - Actor163: t03 - Location: 24,36 - Owner: Neutral - Actor164: t01 - Location: 23,38 - Owner: Neutral - Actor165: t15 - Location: 23,36 - Owner: Neutral - Actor166: tc05 - Location: 22,33 - Owner: Neutral - Actor167: t02 - Location: 25,31 - Owner: Neutral - Actor168: t03 - Location: 26,26 - Owner: Neutral - Actor169: tc04 - Location: 28,19 - Owner: Neutral - Actor170: t11 - Location: 25,28 - Owner: Neutral - Actor171: tc02 - Location: 23,30 - Owner: Neutral - Actor172: tc05 - Location: 26,24 - Owner: Neutral - Actor173: t01 - Location: 28,21 - Owner: Neutral - Actor174: t03 - Location: 31,20 - Owner: Neutral - Actor63: apwr - Location: 32,53 - Owner: Soviets - Actor176: tc02 - Location: 50,62 - Owner: Neutral - Actor177: tc01 - Location: 52,51 - Owner: Neutral - Actor178: t17 - Location: 51,44 - Owner: Neutral - Actor179: t07 - Location: 30,39 - Owner: Neutral - Actor175: sam - Location: 30,58 - Owner: Soviets - TurretFacing: 96 - Actor181: t12 - Location: 27,54 - Owner: Neutral - Actor182: t08 - Location: 28,56 - Owner: Neutral - Actor183: t06 - Location: 47,25 - Owner: Neutral - Actor184: t05 - Location: 41,26 - Owner: Neutral - Actor185: tc02 - Location: 43,22 - Owner: Neutral - Actor186: tc05 - Location: 49,20 - Owner: Neutral - Actor187: t15 - Location: 44,19 - Owner: Neutral - Actor188: tc05 - Location: 46,21 - Owner: Neutral - Actor189: tc04 - Location: 41,20 - Owner: Neutral - Actor190: t03 - Location: 37,20 - Owner: Neutral - Actor191: tc04 - Location: 54,38 - Owner: Neutral - Actor192: tc05 - Location: 59,38 - Owner: Neutral - Actor193: tc02 - Location: 49,45 - Owner: Neutral - Actor194: t03 - Location: 54,40 - Owner: Neutral - Actor195: t03 - Location: 35,72 - Owner: Neutral - Actor196: tc01 - Location: 30,71 - Owner: Neutral - Actor197: t08 - Location: 27,79 - Owner: Neutral - Actor198: t15 - Location: 52,57 - Owner: Neutral - Actor199: tc01 - Location: 49,34 - Owner: Neutral - Actor200: t11 - Location: 28,28 - Owner: Neutral - Actor201: t07 - Location: 38,64 - Owner: Neutral - Actor202: t06 - Location: 50,54 - Owner: Neutral - Actor203: t12 - Location: 60,31 - Owner: Neutral - Actor204: tc02 - Location: 74,16 - Owner: Neutral - Actor205: t07 - Location: 69,19 - Owner: Neutral - Actor206: tc04 - Location: 87,16 - Owner: Neutral - Actor207: tc05 - Location: 84,16 - Owner: Neutral - Actor208: tc03 - Location: 82,18 - Owner: Neutral - Actor209: t16 - Location: 84,18 - Owner: Neutral - Actor210: tc02 - Location: 82,15 - Owner: Neutral - Actor211: t02 - Location: 74,18 - Owner: Neutral - Actor212: t01 - Location: 92,29 - Owner: Neutral - Actor213: t16 - Location: 102,22 - Owner: Neutral - Actor214: silo - Location: 109,29 - Owner: Soviets - Actor215: t01 - Location: 96,36 - Owner: Neutral - Actor216: mine - Location: 103,57 - Owner: Neutral - Actor218: fenc - Location: 81,65 - Owner: Soviets - Actor219: fenc - Location: 81,66 - Owner: Soviets - Actor220: fenc - Location: 81,67 - Owner: Soviets - Actor221: 4tnk - Location: 39,46 - Owner: Soviets - Facing: 0 - Actor228: brik - Location: 102,34 - Owner: Soviets - Actor514: brik - Location: 103,34 - Owner: Soviets - Actor227: e1 - Location: 98,28 - Owner: Soviets - Actor226: fenc - Location: 95,35 - Owner: Soviets - Actor225: fenc - Location: 95,36 - Owner: Soviets - Actor224: 4tnk - Location: 103,30 - Owner: Soviets - Actor144: 4tnk - Location: 42,58 - Owner: Soviets - Actor52: hpad - Location: 83,65 - Owner: Soviets - Actor387: powr - Location: 89,64 - Owner: Soviets - Actor231: e1 - Location: 104,40 - Owner: Soviets - Actor238: sbag - Location: 65,37 - Owner: Soviets - Actor237: sbag - Location: 66,37 - Owner: Soviets - Actor229: v2rl - Location: 96,19 - Owner: Soviets - Facing: 64 - Actor137: e1 - Location: 66,34 - Owner: Soviets - Actor50: fenc - Location: 81,68 - Owner: Soviets - Actor242: ftur - Location: 90,74 - Owner: Soviets - Actor241: fenc - Location: 93,74 - Owner: Soviets - Actor240: fenc - Location: 94,74 - Owner: Soviets - Actor239: fenc - Location: 95,74 - Owner: Soviets - Actor232: fenc - Location: 96,74 - Owner: Soviets - Actor244: sbag - Location: 64,37 - Owner: Soviets - Actor245: e3 - Location: 67,36 - Owner: Soviets - Actor246: e3 - Location: 63,38 - Owner: Soviets - Actor247: e1 - Location: 69,34 - Owner: Soviets - Actor248: e1 - Location: 57,35 - Owner: Soviets - Actor249: e1 - Location: 59,33 - Owner: Soviets - Actor250: e1 - Location: 47,31 - Owner: Soviets - Actor251: e1 - Location: 42,38 - Owner: Soviets - Actor252: e1 - Location: 46,38 - Owner: Soviets - Actor253: e1 - Location: 49,27 - Owner: Soviets - Actor254: e1 - Location: 37,64 - Owner: Soviets - Actor255: e1 - Location: 32,63 - Owner: Soviets - Actor256: e1 - Location: 40,58 - Owner: Soviets - Actor257: e1 - Location: 44,61 - Owner: Soviets - Actor322: v2rl - Location: 36,57 - Owner: Soviets - Actor259: e1 - Location: 43,48 - Owner: Soviets - Actor260: e1 - Location: 37,45 - Owner: Soviets - Actor261: e1 - Location: 31,40 - Owner: Soviets - Actor262: e1 - Location: 37,31 - Owner: Soviets - Actor17: brik - Location: 37,28 - Owner: Soviets - Actor264: v2rl - Location: 50,36 - Owner: Soviets - Facing: 192 - Actor266: 3tnk - Location: 88,70 - Owner: Soviets - Actor268: dog - Location: 64,34 - Owner: Soviets - Actor269: dog - Location: 44,38 - Owner: Soviets - Actor180: apwr - Location: 31,59 - Owner: Soviets - Actor270: dog - Location: 43,60 - Owner: Soviets - Actor265: 3tnk - Location: 90,46 - Owner: Soviets - Actor271: dog - Location: 37,40 - Owner: Soviets - Actor122: fenc - Location: 107,39 - Owner: Soviets - Actor152: ftur - Location: 107,40 - Owner: Soviets - Actor275: tc02 - Location: 74,48 - Owner: Neutral - Actor276: t03 - Location: 91,43 - Owner: Neutral - Actor277: dog.patrol - Location: 37,32 - Owner: Soviets - Actor272: 3tnk - Location: 102,37 - Owner: Soviets - Facing: 160 - Actor280: t16 - Location: 87,41 - Owner: Neutral - Actor281: tc02 - Location: 85,42 - Owner: Neutral - Actor282: t02 - Location: 85,48 - Owner: Neutral - Actor283: t13 - Location: 72,54 - Owner: Neutral - Actor284: t03 - Location: 84,56 - Owner: Neutral - Actor285: tc02 - Location: 109,52 - Owner: Neutral - Actor286: t03 - Location: 110,61 - Owner: Neutral - Actor287: t07 - Location: 100,62 - Owner: Neutral - Actor288: t06 - Location: 91,53 - Owner: Neutral - Actor289: t13 - Location: 81,47 - Owner: Neutral - Actor290: t12 - Location: 110,42 - Owner: Neutral - Actor291: t02 - Location: 102,49 - Owner: Neutral - Actor292: tc04 - Location: 87,38 - Owner: Neutral - Actor293: t02 - Location: 86,40 - Owner: Neutral - Actor294: t11 - Location: 89,42 - Owner: Neutral - Actor295: t07 - Location: 84,40 - Owner: Neutral - PatrolPoint22: waypoint - Location: 92,49 - Owner: Neutral - Actor515: wood - Location: 66,100 - Owner: Neutral - Actor298: t01 - Location: 90,61 - Owner: Neutral - Actor299: t13 - Location: 108,66 - Owner: Neutral - Actor300: dog - Location: 41,49 - Owner: Soviets - Actor338: ss - Location: 57,64 - Owner: Soviets - Actor301: mine - Location: 101,55 - Owner: Neutral - Actor337: ss - Location: 19,80 - Owner: Soviets - Actor316: ss - Location: 32,92 - Owner: Soviets - Actor336: ss - Location: 46,80 - Owner: Soviets - Actor308: tc02 - Location: 78,104 - Owner: Neutral - Actor309: t15 - Location: 72,101 - Owner: Neutral - Actor310: oilb - Location: 77,17 - Owner: Soviets - Actor307: tc02 - Location: 82,97 - Owner: Neutral - Actor311: oilb - Location: 32,76 - Owner: Soviets - Actor114: c1 - Location: 69,84 - Owner: Creeps - Actor217: c3 - Location: 63,96 - Owner: Creeps - Actor54: c1 - Location: 67,99 - Owner: Creeps - Actor302: tsla - Location: 103,34 - Owner: Soviets - Actor317: e2 - Location: 106,26 - Owner: Soviets - Actor318: e2 - Location: 94,20 - Owner: Soviets - Actor319: e3 - Location: 97,29 - Owner: Soviets - Actor320: e3 - Location: 109,27 - Owner: Soviets - Actor321: e3 - Location: 48,36 - Owner: Soviets - Actor267: dog - Location: 35,61 - Owner: Soviets - Actor323: e3 - Location: 30,43 - Owner: Soviets - Actor324: e3 - Location: 38,30 - Owner: Soviets - Actor325: e2 - Location: 32,36 - Owner: Soviets - Actor326: e2 - Location: 62,35 - Owner: Soviets - Actor327: e2 - Location: 37,48 - Owner: Soviets - Actor329: e2 - Location: 46,28 - Owner: Soviets - Actor330: e2 - Location: 35,67 - Owner: Soviets - Actor331: e1 - Location: 27,78 - Owner: Soviets - Actor332: e2 - Location: 29,79 - Owner: Soviets - Actor333: e1 - Location: 75,22 - Owner: Soviets - Actor334: e2 - Location: 101,29 - Owner: Soviets - Actor335: e2 - Location: 77,20 - Owner: Soviets - SpyReinforcementsExitPoint: waypoint - Location: 48,111 - Owner: Neutral - Actor305: ss - Location: 19,101 - Owner: Soviets - Actor258: apwr - Location: 32,56 - Owner: Soviets - Actor340: v09 - Location: 72,86 - Owner: Creeps - Actor339: e1 - Location: 21,35 - Owner: Soviets - Actor342: v05 - Location: 68,88 - Owner: Creeps - Actor341: e1 - Location: 24,27 - Owner: Soviets - Actor344: v08 - Location: 65,99 - Owner: Creeps - Actor345: v16 - Location: 59,97 - Owner: Neutral - Actor346: v18 - Location: 60,97 - Owner: Neutral - Actor347: v17 - Location: 61,97 - Owner: Neutral - Actor348: v06 - Location: 60,96 - Owner: Creeps - Actor349: v14 - Location: 66,83 - Owner: Neutral - Actor351: t11 - Location: 62,100 - Owner: Neutral - Actor352: tc04 - Location: 55,94 - Owner: Neutral - Actor353: tc03 - Location: 56,96 - Owner: Neutral - Actor354: t12 - Location: 68,99 - Owner: Neutral - Actor355: tc01 - Location: 66,93 - Owner: Neutral - Actor356: tc02 - Location: 66,89 - Owner: Neutral - Actor357: t10 - Location: 60,88 - Owner: Neutral - Actor358: t14 - Location: 59,87 - Owner: Neutral - Actor359: tc04 - Location: 58,88 - Owner: Neutral - Actor360: tc02 - Location: 58,80 - Owner: Neutral - Actor361: tc01 - Location: 79,92 - Owner: Neutral - Actor362: t07 - Location: 77,89 - Owner: Neutral - Actor363: t02 - Location: 77,84 - Owner: Neutral - Actor364: t01 - Location: 73,91 - Owner: Neutral - Actor273: v10 - Location: 58,86 - Owner: Creeps - Actor343: e1 - Location: 28,49 - Owner: Soviets - Actor367: e1 - Location: 27,60 - Owner: Soviets - Actor368: t02 - Location: 75,92 - Owner: Neutral - Actor369: tc03 - Location: 75,84 - Owner: Neutral - Actor370: t16 - Location: 99,98 - Owner: Neutral - Actor371: t02 - Location: 110,92 - Owner: Neutral - Actor372: t08 - Location: 89,96 - Owner: Neutral - Actor373: tc03 - Location: 94,100 - Owner: Neutral - Actor374: wood - Location: 67,100 - Owner: Neutral - Actor375: e1 - Location: 89,47 - Owner: Soviets - Actor376: e1 - Location: 91,46 - Owner: Soviets - Actor377: dog - Location: 91,48 - Owner: Soviets - Actor378: t10 - Location: 81,74 - Owner: Neutral - Actor379: tc02 - Location: 100,75 - Owner: Neutral - Actor380: tc05 - Location: 99,72 - Owner: Neutral - Actor381: tc04 - Location: 103,74 - Owner: Neutral - Actor382: tc03 - Location: 104,72 - Owner: Neutral - Actor383: tc02 - Location: 109,65 - Owner: Neutral - Actor384: t07 - Location: 103,65 - Owner: Neutral - Actor385: t06 - Location: 91,64 - Owner: Neutral - Actor386: t05 - Location: 100,68 - Owner: Neutral - Actor243: ftur - Location: 81,69 - Owner: Soviets - Actor223: e3 - Location: 39,53 - Owner: Soviets - Actor278: ftur - Location: 37,58 - Owner: Soviets - Actor391: ftur - Location: 94,66 - Owner: Soviets - Actor392: e1 - Location: 83,69 - Owner: Soviets - Actor393: e1 - Location: 90,76 - Owner: Soviets - Actor394: e1 - Location: 92,67 - Owner: Soviets - Actor395: e2 - Location: 88,67 - Owner: Soviets - Actor396: e2 - Location: 85,75 - Owner: Soviets - Actor397: e1 - Location: 96,72 - Owner: Soviets - Actor398: e1 - Location: 89,71 - Owner: Soviets - Actor399: tsla - Location: 94,22 - Owner: Soviets - Actor400: e1 - Location: 49,66 - Owner: Soviets - Actor401: tsla - Location: 31,42 - Owner: Soviets - Actor402: ftur - Location: 26,40 - Owner: Soviets - Actor328: v2rl - Location: 27,37 - Owner: Soviets - Facing: 64 - Actor366: powr - Location: 35,54 - Owner: Soviets - Actor403: powr - Location: 56,31 - Owner: Soviets - SpyReinforcementsEntryPoint: waypoint - Location: 16,107 - Owner: Neutral - Actor404: ss - Location: 80,33 - Owner: Soviets - Actor405: ss - Location: 65,47 - Owner: Soviets - Actor406: ss - Location: 20,56 - Owner: Soviets - Actor312: t17 - Location: 88,100 - Owner: Neutral - PatrolPoint13: waypoint - Location: 81,86 - Owner: Neutral - PatrolPoint12: waypoint - Location: 74,78 - Owner: Neutral - PatrolPoint11: waypoint - Location: 77,70 - Owner: Neutral - PatrolPoint15: waypoint - Location: 88,73 - Owner: Neutral - PatrolPoint14: waypoint - Location: 91,83 - Owner: Neutral - PatrolPoint21: waypoint - Location: 105,45 - Owner: Neutral - PatrolPoint23: waypoint - Location: 78,53 - Owner: Neutral - PatrolPoint24: waypoint - Location: 92,56 - Owner: Neutral - PatrolPoint25: waypoint - Location: 106,53 - Owner: Neutral - Actor409: e1 - Location: 76,59 - Owner: Soviets - Actor410: v2rl - Location: 74,59 - Owner: Soviets - Actor3: dog - Location: 74,52 - Owner: Soviets - Actor416: dog - Location: 82,73 - Owner: Soviets - Actor413: sbag - Location: 75,60 - Owner: Soviets - Actor414: sbag - Location: 74,60 - Owner: Soviets - Actor412: proc - Location: 84,68 - Owner: Soviets - Actor472: brl3 - Location: 77,101 - Owner: Soviets - Actor417: sbag - Location: 73,60 - Owner: Soviets - Actor296: kenn - Location: 90,68 - Owner: Soviets - Actor303: e2 - Location: 100,38 - Owner: Soviets - Actor408: dog - Location: 108,42 - Owner: Soviets - Actor418: dog - Location: 109,74 - Owner: Soviets - Actor419: e1 - Location: 108,75 - Owner: Soviets - Actor420: e1 - Location: 110,75 - Owner: Soviets - Actor421: sbag - Location: 108,73 - Owner: Soviets - Actor422: sbag - Location: 109,73 - Owner: Soviets - Actor423: sbag - Location: 110,73 - Owner: Soviets - Actor424: sbag - Location: 111,73 - Owner: Soviets - PatrolPoint43: waypoint - Location: 109,51 - Owner: Neutral - PatrolPoint42: waypoint - Location: 109,44 - Owner: Neutral - PatrolPoint41: waypoint - Location: 102,41 - Owner: Neutral - PatrolPoint45: waypoint - Location: 93,42 - Owner: Neutral - PatrolPoint44: waypoint - Location: 96,53 - Owner: Neutral - Actor425: dog - Location: 79,22 - Owner: Soviets - Actor426: dog - Location: 93,19 - Owner: Soviets - Actor427: dog - Location: 104,24 - Owner: Soviets - HijackTruck: truk.hijackable - Location: 99,34 - Owner: Soviets - Facing: 160 - BaseGuard: e1 - Location: 63,36 - Owner: Soviets - Actor429: cycl - Location: 63,33 - Owner: Soviets - Actor428: cycl - Location: 63,34 - Owner: Soviets - Actor230: cycl - Location: 63,35 - Owner: Soviets - Actor430: sbag - Location: 68,34 - Owner: Soviets - Actor431: sbag - Location: 68,33 - Owner: Soviets - Actor432: cycl - Location: 63,32 - Owner: Soviets - Actor433: sbag - Location: 63,37 - Owner: Soviets - BaseGuardMovePos: waypoint - Location: 62,37 - Owner: Neutral - BaseGuardTruckPos: waypoint - Location: 64,36 - Owner: Neutral - Actor411: e2 - Location: 73,53 - Owner: Soviets - Actor434: e1 - Location: 94,54 - Owner: Soviets - Actor435: dog - Location: 95,54 - Owner: Soviets - Actor436: e1 - Location: 82,44 - Owner: Soviets - Actor437: e1 - Location: 80,43 - Owner: Soviets - Actor438: dog - Location: 81,43 - Owner: Soviets - Actor439: e1 - Location: 109,48 - Owner: Soviets - Actor440: dog - Location: 108,48 - Owner: Soviets - Actor441: 3tnk - Location: 108,47 - Owner: Soviets - Actor442: brl3 - Location: 82,65 - Owner: Soviets - Actor443: brl3 - Location: 82,66 - Owner: Soviets - Actor444: barl - Location: 83,67 - Owner: Soviets - Actor445: brl3 - Location: 88,65 - Owner: Soviets - Actor446: barl - Location: 89,66 - Owner: Soviets - Actor447: barl - Location: 87,67 - Owner: Soviets - Actor448: brl3 - Location: 89,67 - Owner: Soviets - Actor450: barl - Location: 109,28 - Owner: Soviets - Actor449: brl3 - Location: 107,27 - Owner: Soviets - Actor454: e2 - Location: 38,32 - Owner: Soviets - Actor451: barl - Location: 108,29 - Owner: Soviets - Actor453: brl3 - Location: 38,31 - Owner: Soviets - Actor11: truk - Location: 36,32 - Owner: Soviets - Actor455: silo - Location: 82,67 - Owner: Soviets - Actor456: e1 - Location: 85,66 - Owner: Soviets - Actor457: t06 - Location: 101,92 - Owner: Neutral - Actor115: c2 - Location: 56,89 - Owner: Creeps - Actor459: e1 - Location: 79,102 - Owner: Soviets - Actor460: sbag - Location: 80,103 - Owner: Soviets - Actor462: hpad - Location: 75,100 - Owner: Soviets - Actor463: sbag - Location: 79,103 - Owner: Soviets - Actor464: sbag - Location: 78,103 - Owner: Soviets - Actor465: sbag - Location: 77,103 - Owner: Soviets - Actor466: sbag - Location: 76,103 - Owner: Soviets - Actor467: sbag - Location: 76,102 - Owner: Soviets - Actor468: sbag - Location: 75,102 - Owner: Soviets - Actor469: sbag - Location: 74,102 - Owner: Soviets - Actor470: sbag - Location: 74,101 - Owner: Soviets - Actor471: powr - Location: 79,98 - Owner: Soviets - Actor415: sam - Location: 77,102 - Owner: Soviets - TurretFacing: 128 - Actor475: brl3 - Location: 79,97 - Owner: Soviets - Actor407: ftur - Location: 76,98 - Owner: Soviets - Actor473: barl - Location: 78,98 - Owner: Soviets - Actor461: e2 - Location: 78,97 - Owner: Soviets - Actor481: fenc - Location: 82,99 - Owner: Soviets - Actor482: fenc - Location: 82,100 - Owner: Soviets - Actor483: fenc - Location: 81,99 - Owner: Soviets - Actor484: fenc - Location: 81,98 - Owner: Soviets - ReinforcementsEntryPoint: waypoint - Location: 92,111 - Owner: Neutral - ReinforcementsUnloadPoint: waypoint - Location: 92,103 - Owner: Neutral - Actor474: mine - Location: 95,86 - Owner: Neutral - Actor480: fenc - Location: 87,74 - Owner: Soviets - Actor485: fenc - Location: 86,74 - Owner: Soviets - Actor486: fenc - Location: 85,74 - Owner: Soviets - Actor487: fenc - Location: 84,74 - Owner: Soviets - Actor313: c3 - Location: 65,86 - Owner: Creeps - Actor314: c4 - Location: 72,91 - Owner: Creeps - Actor315: c4 - Location: 58,92 - Owner: Creeps - Actor458: c8 - Location: 68,94 - Owner: Creeps - Actor476: c9 - Location: 59,98 - Owner: Creeps - Actor477: c10 - Location: 57,82 - Owner: Creeps - Actor478: c7 - Location: 69,89 - Owner: Creeps - Actor479: c6 - Location: 73,89 - Owner: Creeps - Actor150: silo - Location: 109,31 - Owner: Soviets - Actor489: silo - Location: 110,30 - Owner: Soviets - Actor490: silo - Location: 108,30 - Owner: Soviets - Actor306: e2 - Location: 43,56 - Owner: Soviets - Actor365: e3 - Location: 40,54 - Owner: Soviets - Actor388: e1 - Location: 38,50 - Owner: Soviets - Actor389: e1 - Location: 48,58 - Owner: Soviets - Actor390: e2 - Location: 42,43 - Owner: Soviets - Actor491: e1 - Location: 42,41 - Owner: Soviets - Actor492: e1 - Location: 35,35 - Owner: Soviets - BridgeTank: 3tnk - Location: 76,20 - Owner: Soviets - BridgeAttackPoint: waypoint - Location: 74,25 - Owner: Neutral - Actor19: brik - Location: 37,27 - Owner: Soviets - Actor23: brik - Location: 37,26 - Owner: Soviets - Actor24: brik - Location: 36,26 - Owner: Soviets - Actor109: brik - Location: 32,27 - Owner: Soviets - Actor496: e4 - Location: 57,38 - Owner: Soviets - Actor497: e4 - Location: 38,60 - Owner: Soviets - Actor498: apc - Location: 78,99 - Owner: Soviets - Actor499: 3tnk - Location: 106,23 - Owner: Soviets - Actor500: sbag - Location: 44,30 - Owner: Soviets - Actor501: sbag - Location: 44,31 - Owner: Soviets - Actor502: sbag - Location: 44,32 - Owner: Soviets - Actor503: sbag - Location: 44,33 - Owner: Soviets - Actor504: sbag - Location: 43,30 - Owner: Soviets - Actor505: e1 - Location: 43,32 - Owner: Soviets - Actor506: e3 - Location: 43,31 - Owner: Soviets - Actor507: brik - Location: 104,36 - Owner: Soviets - Actor508: brik - Location: 104,35 - Owner: Soviets - Actor509: brik - Location: 104,34 - Owner: Soviets - Actor510: brik - Location: 102,35 - Owner: Soviets - Actor511: brik - Location: 102,36 - Owner: Soviets - Actor512: brik - Location: 103,36 - Owner: Soviets - Actor513: e1 - Location: 110,34 - Owner: Soviets - PatrolPoint31: waypoint - Location: 79,71 - Owner: Neutral - PatrolPoint32: waypoint - Location: 78,46 - Owner: Neutral - PatrolPoint33: waypoint - Location: 100,48 - Owner: Neutral - PatrolPoint34: waypoint - Location: 92,70 - Owner: Neutral - Actor516: wood - Location: 65,100 - Owner: Neutral - Actor143: v11 - Location: 72,95 - Owner: Creeps - Actor517: wood - Location: 64,100 - Owner: Neutral - Actor518: wood - Location: 63,100 - Owner: Neutral - Actor519: wood - Location: 63,99 - Owner: Neutral - Actor520: wood - Location: 63,98 - Owner: Neutral - Actor521: v18 - Location: 59,96 - Owner: Neutral - TownAttacker6: e4 - Location: 70,97 - Owner: Soviets - TownAttacker4: e4 - Location: 70,91 - Owner: Soviets - TownAttacker1: e4 - Location: 70,82 - Owner: Soviets - TownAttacker2: e1 - Location: 70,87 - Owner: Soviets - TownAttacker5: e1 - Location: 70,93 - Owner: Soviets - TownAttacker3: 3tnk - Location: 74,87 - Owner: Soviets - TownAttacker7: 3tnk - Location: 73,97 - Owner: Soviets - SpyReinforcementsUnloadPoint: waypoint - Location: 52,94 - Owner: Neutral - Actor522: ss - Location: 43,100 - Owner: Soviets - Actor92: hosp - Location: 57,78 - Owner: Creeps - Actor523: v02 - Location: 56,87 - Owner: Creeps - Actor524: v03 - Location: 60,90 - Owner: Creeps - Actor525: c1 - Location: 55,90 - Owner: Creeps - Actor526: c9 - Location: 60,94 - Owner: Creeps - Actor527: v11 - Location: 59,94 - Owner: Creeps - Actor528: brl3 - Location: 60,95 - Owner: Neutral - Actor529: barl - Location: 59,95 - Owner: Neutral - Actor530: brl3 - Location: 58,94 - Owner: Neutral - Actor533: brl3 - Location: 54,88 - Owner: Neutral - Actor1000: camera.large - Location: 1,1 - Owner: Soviets - -Smudges: - -Rules: - Player: - -ConquestVictoryConditions: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - Allies04Script: - Allies04HazyPaletteEffect: - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - ^Building: - Allies04MaintainBuilding: - Player: Soviets - MISS: - AutoTargetIgnore: - Allies04TransformOnLabInfiltrate: - ToActor: MISS - Infiltratable: - Type: Lab - LST.Unselectable: - Inherits: LST - Buildable: - Owner: None - RenderLandingCraft: - Image: LST - -Selectable: - LST.Unselectable.NoCargo: - Inherits: LST.Unselectable - Cargo: - MaxWeight: 0 - PipCount: 0 - SPY.Strong: - Inherits: SPY - Buildable: - Owner: None - RenderSpy: - Image: SPY - Health: - HP: 100 - RevealsShroud: - Range: 6c0 - Spy: - Infiltrates: - Types: Lab, Truck - DOG.Patrol: - Inherits: DOG - Buildable: - Owner: None - Mobile: - Speed: 56 - RenderInfantry: - Image: DOG - TRUK.Hijackable: - Inherits: TRUK - Buildable: - Owner: None - Cargo: - Types: Infantry - MaxWeight: 5 - PipCount: 5 - AutoTargetIgnore: - Infiltratable: - Type: Truck - Allies04Hijackable: - Allies04RenderHijacked: - Image: TRUK - -SupplyTruck: - -RenderUnit: - Selectable: - Voice: SpyVoice - RevealsShroud: - Range: 6c0 - BARL: - Allies04TrivialBuilding: - BRL3: - Allies04TrivialBuilding: - OILB: - Allies04TrivialBuilding: - E7: - Buildable: - Owner: None - TRAN: - Buildable: - Owner: None - BARR: - Buildable: - Owner: None - MIG: - Buildable: - Owner: None - HELI: - Buildable: - Owner: None - SS: - Buildable: - Owner: None - ARTY: - Buildable: - Owner: None - AGUN: - Buildable: - Owner: None - MSUB: - Buildable: - Owner: None - CA: - Buildable: - Owner: None - MSLO: - Buildable: - Owner: None - SPEN: - Buildable: - Owner: None - IRON: - Buildable: - Owner: None - PDOX: - Buildable: - Owner: None - TSLA: - Buildable: - Owner: None - FTUR: - Buildable: - Owner: None - SAM: - Buildable: - Owner: None - HPAD: - Buildable: - Owner: None - AFLD: - Buildable: - Owner: None - ATEK: - Buildable: - Owner: None - STEK: - Buildable: - Owner: None - 4TNK: - Buildable: - Owner: None - MCV: - Buildable: - Owner: None - APC: - Buildable: - Owner: None - MNLY.AP: - Buildable: - Owner: None - MNLY.AT: - Buildable: - Owner: None - TTNK: - Buildable: - Owner: None - FTRK: - Buildable: - Owner: None - CTNK: - Buildable: - Owner: None - MGG: - Buildable: - Owner: None - MRJ: - Buildable: - Owner: None - GAP: - Buildable: - Owner: None - CAMERA.Large: - Inherits: CAMERA - RevealsShroud: - Range: 1000c0 - -Sequences: - truk: - unload: - Start: 0 - Facings: 32 - -VoxelSequences: - -Weapons: - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/monster-tank-madness/map.bin b/mods/ra/maps/monster-tank-madness/map.bin deleted file mode 100644 index 00599aec5e..0000000000 Binary files a/mods/ra/maps/monster-tank-madness/map.bin and /dev/null differ diff --git a/mods/ra/maps/monster-tank-madness/map.yaml b/mods/ra/maps/monster-tank-madness/map.yaml deleted file mode 100644 index af4d13bfa9..0000000000 --- a/mods/ra/maps/monster-tank-madness/map.yaml +++ /dev/null @@ -1,2777 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Monster Tank Madness - -Description: Monster Tank Madness - -Author: Westwood Studios - -Tileset: SNOW - -MapSize: 128,128 - -Bounds: 19,16,87,88 - -UseAsShellmap: False - -Type: Campaign - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 5000 - ConfigurableStartingUnits: False - -Players: - PlayerReference@Greece: - Name: Greece - Playable: True - AllowBots: False - Required: True - LockRace: True - Race: allies - LockColor: True - ColorRamp: 161,134,200 - LockSpawn: True - LockTeam: True - Enemies: BadGuy,USSR,Ukraine,Turkey - PlayerReference@BadGuy: - Name: BadGuy - Race: soviet - ColorRamp: 3,255,127 - Allies: USSR - Enemies: Greece,Ukraine,Turkey - PlayerReference@USSR: - Name: USSR - Race: soviet - ColorRamp: 3,255,127 - Allies: BadGuy,Ukraine - Enemies: Greece,Turkey - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - Enemies: Turkey - PlayerReference@Ukraine: - Name: Ukraine - Race: soviet - ColorRamp: 32,255,202 - Allies: BadGuy,USSR - Enemies: Greece,Turkey - PlayerReference@Turkey: - Name: Turkey - Race: allies - ColorRamp: 14,123,167 - Enemies: Greece,BadGuy,USSR,Ukraine,Neutral - PlayerReference@Creeps: - Name: Creeps - NonCombatant: True - Race: allies - -Actors: - Actor0: sbag - Location: 21,26 - Owner: Neutral - Actor1: sbag - Location: 22,26 - Owner: Neutral - Actor2: sbag - Location: 43,26 - Owner: Neutral - Actor3: sbag - Location: 44,26 - Owner: Neutral - Actor4: sbag - Location: 45,26 - Owner: Neutral - Actor5: sbag - Location: 45,27 - Owner: Neutral - Actor6: sbag - Location: 39,28 - Owner: Neutral - Actor7: sbag - Location: 40,28 - Owner: Neutral - Actor8: sbag - Location: 45,28 - Owner: Neutral - Actor9: sbag - Location: 39,29 - Owner: Neutral - Actor10: sbag - Location: 39,30 - Owner: Neutral - Actor11: sbag - Location: 26,31 - Owner: Neutral - Actor12: sbag - Location: 27,31 - Owner: Neutral - Actor13: sbag - Location: 28,31 - Owner: Neutral - Actor14: brik - Location: 87,31 - Owner: Neutral - Actor15: brik - Location: 88,31 - Owner: Neutral - Actor16: brik - Location: 89,31 - Owner: Neutral - Actor17: brik - Location: 90,31 - Owner: Neutral - Actor18: brik - Location: 91,31 - Owner: Neutral - Actor19: brik - Location: 92,31 - Owner: Neutral - Actor20: brik - Location: 93,31 - Owner: Neutral - Actor21: brik - Location: 94,31 - Owner: Neutral - Actor22: brik - Location: 95,31 - Owner: Neutral - Actor23: brik - Location: 96,31 - Owner: Neutral - Actor24: brik - Location: 97,31 - Owner: Neutral - Actor25: brik - Location: 98,31 - Owner: Neutral - Actor26: brik - Location: 99,31 - Owner: Neutral - Actor27: brik - Location: 100,31 - Owner: Neutral - Actor28: brik - Location: 101,31 - Owner: Neutral - Actor29: brik - Location: 102,31 - Owner: Neutral - Actor30: sbag - Location: 28,32 - Owner: Neutral - Actor31: brik - Location: 87,32 - Owner: Neutral - Actor32: brik - Location: 88,32 - Owner: Neutral - Actor33: brik - Location: 101,32 - Owner: Neutral - Actor34: brik - Location: 102,32 - Owner: Neutral - Actor35: brik - Location: 102,33 - Owner: Neutral - Actor36: brik - Location: 102,34 - Owner: Neutral - Actor37: brik - Location: 73,35 - Owner: Neutral - Actor38: brik - Location: 74,35 - Owner: Neutral - Actor39: brik - Location: 75,35 - Owner: Neutral - Actor40: brik - Location: 76,35 - Owner: Neutral - Actor41: brik - Location: 77,35 - Owner: Neutral - Actor42: brik - Location: 78,35 - Owner: Neutral - Actor43: brik - Location: 102,35 - Owner: Neutral - Actor44: brik - Location: 73,36 - Owner: Neutral - Actor45: brik - Location: 74,36 - Owner: Neutral - Actor46: brik - Location: 77,36 - Owner: Neutral - Actor47: brik - Location: 78,36 - Owner: Neutral - Actor48: brik - Location: 102,36 - Owner: Neutral - Actor49: brik - Location: 73,37 - Owner: Neutral - Actor50: brik - Location: 102,37 - Owner: Neutral - Actor51: brik - Location: 73,38 - Owner: Neutral - Actor52: brik - Location: 102,38 - Owner: Neutral - Actor53: brik - Location: 73,39 - Owner: Neutral - Actor54: brik - Location: 102,39 - Owner: Neutral - Actor55: brik - Location: 73,40 - Owner: Neutral - Actor56: brik - Location: 102,40 - Owner: Neutral - Actor57: brik - Location: 73,41 - Owner: Neutral - Actor58: brik - Location: 101,41 - Owner: Neutral - Actor59: brik - Location: 102,41 - Owner: Neutral - Actor60: brik - Location: 73,42 - Owner: Neutral - Actor61: brik - Location: 101,42 - Owner: Neutral - Actor62: brik - Location: 102,42 - Owner: Neutral - Actor63: brik - Location: 73,43 - Owner: Neutral - Actor64: brik - Location: 73,44 - Owner: Neutral - Actor65: brik - Location: 73,45 - Owner: Neutral - Actor66: brik - Location: 74,45 - Owner: Neutral - Actor67: brik - Location: 81,45 - Owner: Neutral - Actor68: brik - Location: 82,45 - Owner: Neutral - Actor69: brik - Location: 91,45 - Owner: Neutral - Actor70: brik - Location: 92,45 - Owner: Neutral - Actor71: brik - Location: 97,45 - Owner: Neutral - Actor72: brik - Location: 98,45 - Owner: Neutral - Actor73: v18 - Location: 53,46 - Owner: Neutral - Actor74: v14 - Location: 54,46 - Owner: Neutral - Actor75: v16 - Location: 55,46 - Owner: Neutral - Actor76: brik - Location: 73,46 - Owner: Neutral - Actor77: brik - Location: 74,46 - Owner: Neutral - Actor78: brik - Location: 75,46 - Owner: Neutral - Actor79: brik - Location: 76,46 - Owner: Neutral - Actor80: brik - Location: 77,46 - Owner: Neutral - Actor81: brik - Location: 78,46 - Owner: Neutral - Actor82: brik - Location: 79,46 - Owner: Neutral - Actor83: brik - Location: 80,46 - Owner: Neutral - Actor84: brik - Location: 81,46 - Owner: Neutral - Actor85: brik - Location: 82,46 - Owner: Neutral - Actor86: brik - Location: 91,46 - Owner: Neutral - Actor87: brik - Location: 92,46 - Owner: Neutral - Actor88: brik - Location: 93,46 - Owner: Neutral - Actor89: brik - Location: 94,46 - Owner: Neutral - Actor90: brik - Location: 95,46 - Owner: Neutral - Actor91: brik - Location: 96,46 - Owner: Neutral - Actor92: brik - Location: 97,46 - Owner: Neutral - Actor93: brik - Location: 98,46 - Owner: Neutral - Actor94: cycl - Location: 84,49 - Owner: Neutral - Actor95: cycl - Location: 90,49 - Owner: Neutral - Actor96: cycl - Location: 73,50 - Owner: Neutral - Actor97: cycl - Location: 74,50 - Owner: Neutral - Actor98: cycl - Location: 75,50 - Owner: Neutral - Actor99: cycl - Location: 76,50 - Owner: Neutral - Actor100: cycl - Location: 77,50 - Owner: Neutral - Actor101: cycl - Location: 78,50 - Owner: Neutral - Actor102: cycl - Location: 80,50 - Owner: Neutral - Actor103: cycl - Location: 81,50 - Owner: Neutral - Actor104: cycl - Location: 82,50 - Owner: Neutral - Actor105: cycl - Location: 83,50 - Owner: Neutral - Actor106: cycl - Location: 84,50 - Owner: Neutral - Actor107: cycl - Location: 90,50 - Owner: Neutral - Actor108: cycl - Location: 91,50 - Owner: Neutral - Actor109: cycl - Location: 92,50 - Owner: Neutral - Actor110: cycl - Location: 94,50 - Owner: Neutral - Actor111: cycl - Location: 95,50 - Owner: Neutral - Actor112: cycl - Location: 96,50 - Owner: Neutral - Actor113: cycl - Location: 97,50 - Owner: Neutral - Actor114: cycl - Location: 98,50 - Owner: Neutral - Actor115: cycl - Location: 73,51 - Owner: Neutral - Actor116: cycl - Location: 98,51 - Owner: Neutral - Actor117: cycl - Location: 73,52 - Owner: Neutral - Actor118: cycl - Location: 98,52 - Owner: Neutral - Actor119: cycl - Location: 73,53 - Owner: Neutral - Actor120: cycl - Location: 98,53 - Owner: Neutral - Actor121: cycl - Location: 73,54 - Owner: Neutral - Actor122: wood - Location: 84,54 - Owner: Neutral - Actor123: wood - Location: 85,54 - Owner: Neutral - Actor124: cycl - Location: 98,54 - Owner: Neutral - Actor125: wood - Location: 81,55 - Owner: Neutral - Actor126: v16 - Location: 82,55 - Owner: Neutral - Actor127: v15 - Location: 83,55 - Owner: Neutral - Actor128: v14 - Location: 84,55 - Owner: Neutral - Actor129: wood - Location: 85,55 - Owner: Neutral - Actor130: cycl - Location: 98,55 - Owner: Neutral - Actor131: cycl - Location: 73,56 - Owner: Neutral - Actor132: wood - Location: 81,56 - Owner: Neutral - Actor133: v17 - Location: 82,56 - Owner: Neutral - Actor134: v18 - Location: 83,56 - Owner: Neutral - Actor135: cycl - Location: 73,57 - Owner: Neutral - Actor136: wood - Location: 81,57 - Owner: Neutral - Actor137: wood - Location: 82,57 - Owner: Neutral - Actor138: wood - Location: 83,57 - Owner: Neutral - Actor139: wood - Location: 84,57 - Owner: Neutral - Actor140: wood - Location: 85,57 - Owner: Neutral - Actor141: cycl - Location: 98,57 - Owner: Neutral - Actor142: cycl - Location: 98,58 - Owner: Neutral - Actor143: cycl - Location: 25,59 - Owner: Neutral - Actor144: cycl - Location: 26,59 - Owner: Neutral - Actor145: cycl - Location: 27,59 - Owner: Neutral - Actor146: cycl - Location: 28,59 - Owner: Neutral - Actor147: cycl - Location: 73,59 - Owner: Neutral - Actor148: cycl - Location: 98,59 - Owner: Neutral - Actor149: cycl - Location: 25,60 - Owner: Neutral - Actor150: cycl - Location: 30,60 - Owner: Neutral - Actor151: cycl - Location: 31,60 - Owner: Neutral - Actor152: cycl - Location: 73,60 - Owner: Neutral - Actor153: cycl - Location: 94,60 - Owner: Neutral - Actor154: cycl - Location: 96,60 - Owner: Neutral - Actor155: cycl - Location: 98,60 - Owner: Neutral - Actor156: cycl - Location: 25,61 - Owner: Neutral - Actor157: cycl - Location: 31,61 - Owner: Neutral - Actor158: cycl - Location: 73,61 - Owner: Neutral - Actor159: cycl - Location: 74,61 - Owner: Neutral - Actor160: cycl - Location: 75,61 - Owner: Neutral - Actor161: cycl - Location: 76,61 - Owner: Neutral - Actor162: cycl - Location: 77,61 - Owner: Neutral - Actor163: cycl - Location: 79,61 - Owner: Neutral - Actor164: cycl - Location: 80,61 - Owner: Neutral - Actor165: cycl - Location: 83,61 - Owner: Neutral - Actor166: cycl - Location: 84,61 - Owner: Neutral - Actor167: cycl - Location: 85,61 - Owner: Neutral - Actor168: cycl - Location: 86,61 - Owner: Neutral - Actor169: cycl - Location: 87,61 - Owner: Neutral - Actor170: cycl - Location: 89,61 - Owner: Neutral - Actor171: cycl - Location: 90,61 - Owner: Neutral - Actor172: cycl - Location: 91,61 - Owner: Neutral - Actor173: cycl - Location: 92,61 - Owner: Neutral - Actor174: cycl - Location: 93,61 - Owner: Neutral - Actor175: cycl - Location: 94,61 - Owner: Neutral - Actor176: cycl - Location: 96,61 - Owner: Neutral - Actor177: cycl - Location: 97,61 - Owner: Neutral - Actor178: cycl - Location: 98,61 - Owner: Neutral - Actor179: cycl - Location: 25,62 - Owner: Neutral - Actor180: cycl - Location: 31,62 - Owner: Neutral - Actor181: cycl - Location: 39,62 - Owner: Neutral - Actor182: cycl - Location: 40,62 - Owner: Neutral - Actor183: cycl - Location: 80,62 - Owner: Neutral - Actor184: cycl - Location: 83,62 - Owner: Neutral - Actor185: cycl - Location: 25,63 - Owner: Neutral - Actor186: cycl - Location: 26,63 - Owner: Neutral - Actor187: cycl - Location: 27,63 - Owner: Neutral - Actor188: cycl - Location: 28,63 - Owner: Neutral - Actor189: cycl - Location: 29,63 - Owner: Neutral - Actor190: cycl - Location: 30,63 - Owner: Neutral - Actor191: cycl - Location: 31,63 - Owner: Neutral - Actor192: cycl - Location: 40,63 - Owner: Neutral - Actor193: cycl - Location: 40,64 - Owner: Neutral - Actor194: cycl - Location: 34,65 - Owner: Neutral - Actor195: cycl - Location: 35,65 - Owner: Neutral - Actor196: cycl - Location: 40,65 - Owner: Neutral - Actor197: cycl - Location: 34,66 - Owner: Neutral - Actor198: cycl - Location: 40,66 - Owner: Neutral - Actor199: cycl - Location: 34,67 - Owner: Neutral - Actor200: cycl - Location: 35,67 - Owner: Neutral - Actor201: cycl - Location: 36,67 - Owner: Neutral - Actor202: cycl - Location: 37,67 - Owner: Neutral - Actor203: cycl - Location: 38,67 - Owner: Neutral - Actor204: cycl - Location: 39,67 - Owner: Neutral - Actor205: cycl - Location: 40,67 - Owner: Neutral - Actor206: sbag - Location: 25,68 - Owner: Neutral - Actor207: sbag - Location: 25,69 - Owner: Neutral - Actor208: sbag - Location: 28,69 - Owner: Neutral - Actor209: sbag - Location: 23,70 - Owner: Neutral - Actor210: sbag - Location: 24,70 - Owner: Neutral - Actor211: sbag - Location: 25,70 - Owner: Neutral - Actor212: sbag - Location: 28,70 - Owner: Neutral - Actor213: sbag - Location: 28,71 - Owner: Neutral - Actor214: sbag - Location: 29,71 - Owner: Neutral - Actor215: sbag - Location: 30,71 - Owner: Neutral - Actor216: sbag - Location: 31,71 - Owner: Neutral - Actor217: brik - Location: 61,73 - Owner: Neutral - Actor218: brik - Location: 62,73 - Owner: Neutral - Actor219: brik - Location: 63,73 - Owner: Neutral - Actor220: brik - Location: 64,73 - Owner: Neutral - Actor221: brik - Location: 65,73 - Owner: Neutral - Actor222: brik - Location: 66,73 - Owner: Neutral - Actor223: brik - Location: 67,73 - Owner: Neutral - Actor224: brik - Location: 68,73 - Owner: Neutral - Actor225: brik - Location: 69,73 - Owner: Neutral - Actor226: brik - Location: 70,73 - Owner: Neutral - Actor227: brik - Location: 76,73 - Owner: Neutral - Actor228: brik - Location: 77,73 - Owner: Neutral - Actor229: brik - Location: 78,73 - Owner: Neutral - Actor230: brik - Location: 79,73 - Owner: Neutral - Actor231: brik - Location: 80,73 - Owner: Neutral - Actor232: brik - Location: 81,73 - Owner: Neutral - Actor233: brik - Location: 82,73 - Owner: Neutral - Actor234: brik - Location: 83,73 - Owner: Neutral - Actor235: brik - Location: 84,73 - Owner: Neutral - Actor236: brik - Location: 85,73 - Owner: Neutral - Actor237: brik - Location: 91,73 - Owner: Neutral - Actor238: brik - Location: 92,73 - Owner: Neutral - Actor239: brik - Location: 61,74 - Owner: Neutral - Actor240: brik - Location: 62,74 - Owner: Neutral - Actor241: brik - Location: 69,74 - Owner: Neutral - Actor242: brik - Location: 70,74 - Owner: Neutral - Actor243: brik - Location: 76,74 - Owner: Neutral - Actor244: brik - Location: 77,74 - Owner: Neutral - Actor245: brik - Location: 84,74 - Owner: Neutral - Actor246: brik - Location: 85,74 - Owner: Neutral - Actor247: brik - Location: 91,74 - Owner: Neutral - Actor248: brik - Location: 92,74 - Owner: Neutral - Actor249: brik - Location: 61,75 - Owner: Neutral - Actor250: brik - Location: 92,75 - Owner: Neutral - Actor251: brik - Location: 61,76 - Owner: Neutral - Actor252: brik - Location: 92,76 - Owner: Neutral - Actor253: brik - Location: 61,77 - Owner: Neutral - Actor254: brik - Location: 62,77 - Owner: Neutral - Actor255: brik - Location: 92,77 - Owner: Neutral - Actor256: brik - Location: 61,78 - Owner: Neutral - Actor257: brik - Location: 62,78 - Owner: Neutral - Actor258: sbag - Location: 77,78 - Owner: Neutral - Actor259: sbag - Location: 78,78 - Owner: Neutral - Actor260: sbag - Location: 79,78 - Owner: Neutral - Actor261: brik - Location: 92,78 - Owner: Neutral - Actor262: sbag - Location: 77,79 - Owner: Neutral - Actor263: sbag - Location: 79,79 - Owner: Neutral - Actor264: brik - Location: 92,79 - Owner: Neutral - Actor265: sbag - Location: 77,80 - Owner: Neutral - Actor266: sbag - Location: 78,80 - Owner: Neutral - Actor267: sbag - Location: 79,80 - Owner: Neutral - Actor268: brik - Location: 92,80 - Owner: Neutral - Actor269: brik - Location: 92,81 - Owner: Neutral - Actor270: brik - Location: 92,82 - Owner: Neutral - Actor271: brik - Location: 92,83 - Owner: Neutral - Actor272: brik - Location: 92,84 - Owner: Neutral - Actor273: brik - Location: 61,85 - Owner: Neutral - Actor274: brik - Location: 62,85 - Owner: Neutral - Actor275: brik - Location: 92,85 - Owner: Neutral - Actor276: brik - Location: 61,86 - Owner: Neutral - Actor277: brik - Location: 62,86 - Owner: Neutral - Actor278: sbag - Location: 77,86 - Owner: Neutral - Actor279: sbag - Location: 78,86 - Owner: Neutral - Actor280: sbag - Location: 79,86 - Owner: Neutral - Actor281: brik - Location: 92,86 - Owner: Neutral - Actor282: brik - Location: 61,87 - Owner: Neutral - Actor283: sbag - Location: 77,87 - Owner: Neutral - Actor284: sbag - Location: 79,87 - Owner: Neutral - Actor285: brik - Location: 92,87 - Owner: Neutral - Actor286: brik - Location: 61,88 - Owner: Neutral - Actor287: sbag - Location: 77,88 - Owner: Neutral - Actor288: sbag - Location: 78,88 - Owner: Neutral - Actor289: sbag - Location: 79,88 - Owner: Neutral - Actor290: brik - Location: 92,88 - Owner: Neutral - Actor291: brik - Location: 61,89 - Owner: Neutral - Actor292: brik - Location: 92,89 - Owner: Neutral - Actor293: brik - Location: 61,90 - Owner: Neutral - Actor294: brik - Location: 62,90 - Owner: Neutral - Actor295: brik - Location: 91,90 - Owner: Neutral - Actor296: brik - Location: 92,90 - Owner: Neutral - Actor297: brik - Location: 61,91 - Owner: Neutral - Actor298: brik - Location: 62,91 - Owner: Neutral - Actor299: brik - Location: 63,91 - Owner: Neutral - Actor300: brik - Location: 64,91 - Owner: Neutral - Actor301: brik - Location: 65,91 - Owner: Neutral - Actor302: brik - Location: 66,91 - Owner: Neutral - Actor303: brik - Location: 67,91 - Owner: Neutral - Actor304: brik - Location: 68,91 - Owner: Neutral - Actor305: brik - Location: 69,91 - Owner: Neutral - Actor306: brik - Location: 70,91 - Owner: Neutral - Actor307: brik - Location: 71,91 - Owner: Neutral - Actor308: brik - Location: 72,91 - Owner: Neutral - Actor309: brik - Location: 73,91 - Owner: Neutral - Actor310: brik - Location: 74,91 - Owner: Neutral - Actor311: brik - Location: 75,91 - Owner: Neutral - Actor312: brik - Location: 76,91 - Owner: Neutral - Actor313: brik - Location: 77,91 - Owner: Neutral - Actor314: brik - Location: 78,91 - Owner: Neutral - Actor315: brik - Location: 79,91 - Owner: Neutral - Actor316: brik - Location: 80,91 - Owner: Neutral - Actor317: brik - Location: 81,91 - Owner: Neutral - Actor318: brik - Location: 82,91 - Owner: Neutral - Actor319: brik - Location: 83,91 - Owner: Neutral - Actor320: brik - Location: 84,91 - Owner: Neutral - Actor321: brik - Location: 85,91 - Owner: Neutral - Actor322: brik - Location: 86,91 - Owner: Neutral - Actor323: brik - Location: 87,91 - Owner: Neutral - Actor324: brik - Location: 88,91 - Owner: Neutral - Actor325: brik - Location: 89,91 - Owner: Neutral - Actor326: brik - Location: 90,91 - Owner: Neutral - Actor327: brik - Location: 91,91 - Owner: Neutral - Actor328: brik - Location: 92,91 - Owner: Neutral - Actor329: wood - Location: 32,96 - Owner: Neutral - Actor330: v14 - Location: 30,97 - Owner: Neutral - Actor331: wood - Location: 32,97 - Owner: Neutral - Actor332: v17 - Location: 30,98 - Owner: Neutral - Actor333: v15 - Location: 31,98 - Owner: Neutral - Actor334: wood - Location: 32,98 - Owner: Neutral - Actor335: wood - Location: 31,99 - Owner: Neutral - Actor336: wood - Location: 32,99 - Owner: Neutral - Actor337: v16 - Location: 40,101 - Owner: Neutral - Actor338: v18 - Location: 38,102 - Owner: Neutral - Actor339: v17 - Location: 39,102 - Owner: Neutral - Actor340: v14 - Location: 40,102 - Owner: Neutral - Actor341: wood - Location: 36,103 - Owner: Neutral - Actor342: wood - Location: 37,103 - Owner: Neutral - Actor343: wood - Location: 38,103 - Owner: Neutral - Actor344: wood - Location: 39,103 - Owner: Neutral - Actor345: tc04 - Location: 24,19 - Owner: Neutral - Actor346: tc01 - Location: 23,22 - Owner: Neutral - Actor347: tc02 - Location: 28,23 - Owner: Neutral - Actor348: tc05 - Location: 35,21 - Owner: Neutral - Actor349: tc04 - Location: 32,19 - Owner: Neutral - Actor350: tc03 - Location: 38,17 - Owner: Neutral - Actor351: t07 - Location: 22,24 - Owner: Neutral - Actor352: t07 - Location: 43,23 - Owner: Neutral - Actor353: t06 - Location: 27,19 - Owner: Neutral - Actor354: t05 - Location: 26,24 - Owner: Neutral - Actor355: t01 - Location: 45,21 - Owner: Neutral - Actor356: tc05 - Location: 98,28 - Owner: Neutral - Actor357: tc02 - Location: 95,29 - Owner: Neutral - Actor358: tc01 - Location: 76,33 - Owner: Neutral - Actor359: tc03 - Location: 102,28 - Owner: Neutral - Actor360: tc04 - Location: 103,25 - Owner: Neutral - Actor361: tc04 - Location: 103,41 - Owner: Neutral - Actor362: tc01 - Location: 101,42 - Owner: Neutral - Actor363: tc04 - Location: 63,21 - Owner: Neutral - Actor364: tc05 - Location: 78,19 - Owner: Neutral - Actor365: tc03 - Location: 79,22 - Owner: Neutral - Actor366: tc02 - Location: 70,31 - Owner: Neutral - Actor367: tc05 - Location: 70,59 - Owner: Neutral - Actor368: tc01 - Location: 71,56 - Owner: Neutral - Actor369: tc01 - Location: 84,61 - Owner: Neutral - Actor370: tc04 - Location: 87,63 - Owner: Neutral - Actor371: tc04 - Location: 67,37 - Owner: Neutral - Actor372: tc04 - Location: 22,80 - Owner: Neutral - Actor373: tc02 - Location: 37,50 - Owner: Neutral - Actor374: tc02 - Location: 40,67 - Owner: Neutral - Actor375: tc04 - Location: 37,68 - Owner: Neutral - Actor376: tc05 - Location: 22,59 - Owner: Neutral - Actor377: tc01 - Location: 26,63 - Owner: Neutral - Actor378: t07 - Location: 26,59 - Owner: Neutral - Actor379: t06 - Location: 39,65 - Owner: Neutral - Actor380: tc02 - Location: 22,68 - Owner: Neutral - Actor381: tc01 - Location: 24,71 - Owner: Neutral - Actor382: t01 - Location: 31,33 - Owner: Neutral - Actor383: tc05 - Location: 34,46 - Owner: Neutral - Actor384: tc04 - Location: 37,45 - Owner: Neutral - Actor385: tc02 - Location: 39,41 - Owner: Neutral - Actor386: tc01 - Location: 38,39 - Owner: Neutral - Actor387: mine - Location: 49,83 - Owner: Neutral - Actor388: mine - Location: 44,79 - Owner: Neutral - Actor389: tc05 - Location: 28,82 - Owner: Neutral - Actor390: tc05 - Location: 21,97 - Owner: Neutral - Actor391: tc04 - Location: 25,99 - Owner: Neutral - Actor392: tc02 - Location: 21,100 - Owner: Neutral - Actor393: tc01 - Location: 31,94 - Owner: Neutral - Actor394: tc04 - Location: 38,95 - Owner: Neutral - Actor395: tc05 - Location: 44,101 - Owner: Neutral - Actor396: tc02 - Location: 40,102 - Owner: Neutral - Actor397: tc01 - Location: 36,101 - Owner: Neutral - Actor398: t15 - Location: 29,94 - Owner: Neutral - Actor399: tc05 - Location: 54,41 - Owner: Neutral - Actor400: tc03 - Location: 50,35 - Owner: Neutral - Actor401: tc02 - Location: 51,37 - Owner: Neutral - Actor402: tc01 - Location: 53,39 - Owner: Neutral - Actor403: tc01 - Location: 57,42 - Owner: Neutral - Actor404: t17 - Location: 59,42 - Owner: Neutral - Actor405: t13 - Location: 55,39 - Owner: Neutral - Actor406: tc04 - Location: 49,41 - Owner: Neutral - Actor407: tc01 - Location: 41,48 - Owner: Neutral - Actor408: tc05 - Location: 51,47 - Owner: Neutral - Actor409: t08 - Location: 46,50 - Owner: Neutral - Actor410: t07 - Location: 39,49 - Owner: Neutral - Actor411: t07 - Location: 43,41 - Owner: Neutral - Actor412: tc04 - Location: 48,52 - Owner: Neutral - Actor413: tc02 - Location: 46,54 - Owner: Neutral - Actor414: tc04 - Location: 75,50 - Owner: Neutral - Actor415: tc05 - Location: 95,53 - Owner: Neutral - Actor416: tc01 - Location: 76,59 - Owner: Neutral - Actor417: tc02 - Location: 80,53 - Owner: Neutral - Actor418: t01 - Location: 75,57 - Owner: Neutral - Actor419: t02 - Location: 79,51 - Owner: Neutral - Actor420: t03 - Location: 91,58 - Owner: Neutral - Actor421: tc04 - Location: 86,27 - Owner: Neutral - Actor422: tc02 - Location: 89,27 - Owner: Neutral - Actor423: tc01 - Location: 91,26 - Owner: Neutral - Actor424: weap - Location: 38,19 - Owner: Neutral - Health: 0.375 - Facing: 0 - Actor425: pbox - Location: 22,27 - Owner: Neutral - Health: 0.28125 - Facing: 0 - Actor426: pbox - Location: 44,27 - Owner: Neutral - Health: 0.3515625 - Facing: 0 - Actor427: pbox - Location: 40,29 - Owner: Neutral - Health: 0.375 - Facing: 0 - Actor428: dome - Location: 35,19 - Owner: Neutral - Health: 0.3515625 - Facing: 0 - Actor429: gun - Location: 45,25 - Owner: Neutral - Health: 0.3125 - Facing: 96 - Actor430: gun - Location: 29,30 - Owner: Neutral - Health: 0.1875 - Facing: 32 - Actor431: gun - Location: 38,29 - Owner: Neutral - Health: 0.3945313 - Facing: 96 - Actor432: tent - Location: 33,22 - Owner: Neutral - Health: 0.5 - Facing: 0 - Actor433: fix - Location: 32,28 - Owner: Neutral - Health: 0.3125 - Facing: 0 - Actor434: ftur - Location: 78,34 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor435: silo - Location: 76,38 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor436: silo - Location: 75,38 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor437: silo - Location: 75,37 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor438: silo - Location: 76,37 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor439: apwr - Location: 98,32 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor440: apwr - Location: 94,34 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor441: barr - Location: 97,40 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor442: miss - Location: 86,33 - Owner: BadGuy - Health: 1 - Facing: 0 - SuperTankDome: dome.NoInfiltrate - Location: 90,32 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor444: ftur - Location: 91,47 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor445: ftur - Location: 82,47 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor446: ftur - Location: 86,31 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor447: tsla - Location: 93,44 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor448: tsla - Location: 80,44 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor449: apwr - Location: 95,31 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor450: spen - Location: 102,47 - Owner: BadGuy - Health: 0.875 - Facing: 0 - Actor451: fact - Location: 88,87 - Owner: USSR - Health: 1 - Facing: 0 - Actor452: proc - Location: 68,81 - Owner: USSR - Health: 1 - Facing: 0 - Actor453: silo - Location: 65,87 - Owner: USSR - Health: 1 - Facing: 0 - Actor454: silo - Location: 66,88 - Owner: USSR - Health: 1 - Facing: 0 - Actor455: silo - Location: 66,87 - Owner: USSR - Health: 1 - Facing: 0 - Actor456: silo - Location: 65,88 - Owner: USSR - Health: 1 - Facing: 0 - Actor457: sam - Location: 63,74 - Owner: USSR - Health: 1 - Facing: 0 - Actor458: sam - Location: 80,74 - Owner: USSR - Health: 1 - Facing: 0 - Actor459: apwr - Location: 73,84 - Owner: USSR - Health: 1 - Facing: 0 - Actor460: apwr - Location: 89,75 - Owner: USSR - Health: 1 - Facing: 0 - Actor461: apwr - Location: 69,86 - Owner: USSR - Health: 1 - Facing: 0 - Actor462: apwr - Location: 86,76 - Owner: USSR - Health: 1 - Facing: 0 - Actor463: barr - Location: 66,76 - Owner: USSR - Health: 1 - Facing: 0 - Actor464: kenn - Location: 91,86 - Owner: USSR - Health: 1 - Facing: 0 - Actor465: tsla - Location: 78,73 - Owner: USSR - Health: 1 - Facing: 0 - Actor466: tsla - Location: 83,73 - Owner: USSR - Health: 1 - Facing: 0 - Actor467: tsla - Location: 62,75 - Owner: USSR - Health: 1 - Facing: 0 - Actor468: tsla - Location: 62,86 - Owner: USSR - Health: 1 - Facing: 0 - Actor469: weap - Location: 81,82 - Owner: USSR - Health: 1 - Facing: 0 - Actor470: ftur - Location: 69,72 - Owner: USSR - Health: 1 - Facing: 0 - Actor471: ftur - Location: 77,72 - Owner: USSR - Health: 1 - Facing: 0 - Actor472: ftur - Location: 60,78 - Owner: USSR - Health: 1 - Facing: 0 - Actor473: ftur - Location: 60,85 - Owner: USSR - Health: 1 - Facing: 0 - Actor474: ftur - Location: 85,72 - Owner: USSR - Health: 1 - Facing: 0 - Actor475: ftur - Location: 78,79 - Owner: USSR - Health: 1 - Facing: 0 - Actor476: ftur - Location: 78,87 - Owner: USSR - Health: 1 - Facing: 0 - Actor477: apwr - Location: 89,78 - Owner: USSR - Health: 1 - Facing: 0 - Actor478: spen - Location: 32,56 - Owner: BadGuy - Health: 0.6875 - Facing: 0 - Actor479: silo - Location: 37,61 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor480: powr - Location: 34,61 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor481: v19 - Location: 27,60 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor482: v19 - Location: 29,61 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor483: v19 - Location: 27,61 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor484: v19 - Location: 38,65 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor485: v19 - Location: 36,65 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor486: v19 - Location: 38,64 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor487: barl - Location: 26,61 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor488: brl3 - Location: 26,62 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor489: brl3 - Location: 37,65 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor490: brl3 - Location: 38,62 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor491: brl3 - Location: 28,62 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor492: brl3 - Location: 28,60 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor493: brl3 - Location: 30,61 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor494: barl - Location: 27,62 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor495: barl - Location: 28,61 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor496: barl - Location: 29,62 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor497: barl - Location: 39,64 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor498: barl - Location: 35,66 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor499: barl - Location: 37,64 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor500: barl - Location: 39,65 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor501: barl - Location: 39,63 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor502: ftur - Location: 30,64 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor503: ftur - Location: 33,66 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor504: brl3 - Location: 37,66 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor505: barl - Location: 36,66 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor506: barl - Location: 38,66 - Owner: BadGuy - Health: 1 - Facing: 0 - AlliedBaseProc: proc - Location: 27,25 - Owner: Neutral - Health: 0.3476563 - Facing: 0 - FreeActor: False - Actor508: silo - Location: 36,18 - Owner: Neutral - Health: 0.5898438 - Facing: 0 - Actor509: silo - Location: 37,18 - Owner: Neutral - Health: 0.08203125 - Facing: 0 - Actor510: silo - Location: 37,19 - Owner: Neutral - Health: 0.3320313 - Facing: 0 - Actor511: apwr - Location: 26,20 - Owner: Neutral - Health: 0.25 - Facing: 0 - Actor512: apwr - Location: 23,23 - Owner: Neutral - Health: 0.1367188 - Facing: 0 - Hospital: hosp - Location: 43,43 - Owner: Neutral - Health: 1 - Facing: 0 - DemitriChurch: v01 - Location: 28,99 - Owner: Neutral - Health: 1 - Facing: 0 - Actor515: v02 - Location: 23,99 - Owner: Neutral - Health: 1 - Facing: 0 - Actor516: v03 - Location: 36,96 - Owner: Neutral - Health: 1 - Facing: 0 - Actor517: v05 - Location: 21,102 - Owner: Neutral - Health: 1 - Facing: 0 - Actor518: v06 - Location: 30,96 - Owner: Neutral - Health: 1 - Facing: 0 - Actor519: v06 - Location: 38,101 - Owner: Neutral - Health: 1 - Facing: 0 - Actor520: v07 - Location: 43,103 - Owner: Neutral - Health: 1 - Facing: 0 - Actor521: v08 - Location: 21,99 - Owner: Neutral - Health: 1 - Facing: 0 - Actor522: apwr - Location: 72,87 - Owner: USSR - Health: 1 - Facing: 0 - Actor523: v02 - Location: 42,47 - Owner: Neutral - Health: 1 - Facing: 0 - Actor524: v03 - Location: 50,43 - Owner: Neutral - Health: 1 - Facing: 0 - Actor525: v04 - Location: 42,39 - Owner: Neutral - Health: 1 - Facing: 0 - Actor526: v05 - Location: 39,51 - Owner: Neutral - Health: 1 - Facing: 0 - Actor527: v06 - Location: 52,45 - Owner: Neutral - Health: 1 - Facing: 0 - Actor528: v07 - Location: 47,50 - Owner: Neutral - Health: 1 - Facing: 0 - Actor529: v08 - Location: 45,52 - Owner: Neutral - Health: 1 - Facing: 0 - Actor530: v09 - Location: 46,49 - Owner: Neutral - Health: 1 - Facing: 0 - Actor531: v01 - Location: 76,52 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor532: v02 - Location: 76,58 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor533: v03 - Location: 89,53 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor534: v04 - Location: 91,59 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor535: v05 - Location: 82,51 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor536: v06 - Location: 82,54 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor537: v07 - Location: 78,60 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor538: v08 - Location: 96,53 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor539: v09 - Location: 97,52 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor540: v19 - Location: 74,55 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor541: v19 - Location: 75,55 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor542: v19 - Location: 97,60 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor543: v19 - Location: 84,56 - Owner: Neutral - Health: 1 - Facing: 0 - Actor544: barl - Location: 78,59 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor545: brl3 - Location: 75,59 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor546: brl3 - Location: 78,52 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor547: barl - Location: 96,52 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor548: brl3 - Location: 93,60 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor549: barl - Location: 93,59 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor550: brl3 - Location: 92,59 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor551: brl3 - Location: 73,55 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor552: barl - Location: 74,54 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor553: brl3 - Location: 75,53 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor554: brl3 - Location: 93,50 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor555: barl - Location: 94,51 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor556: brl3 - Location: 95,51 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor557: brl3 - Location: 88,61 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor558: barl - Location: 89,60 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor559: barl - Location: 90,60 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor560: barl - Location: 91,58 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor561: barl - Location: 80,60 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor562: barl - Location: 75,60 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor563: barl - Location: 78,61 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor564: brl3 - Location: 80,55 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor565: brl3 - Location: 79,54 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor566: brl3 - Location: 79,53 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor567: brl3 - Location: 80,53 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor568: brl3 - Location: 81,52 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor569: brl3 - Location: 82,53 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor570: brl3 - Location: 73,58 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor571: barl - Location: 74,58 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor572: barl - Location: 79,50 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor573: brl3 - Location: 79,51 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor574: brl3 - Location: 98,56 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor575: barl - Location: 97,57 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor576: brl3 - Location: 97,58 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor577: barl - Location: 97,59 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor578: brl3 - Location: 85,56 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor579: barl - Location: 86,56 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor580: brl3 - Location: 87,57 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor581: barl - Location: 88,58 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor582: barl - Location: 87,55 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor583: barl - Location: 88,54 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor584: brl3 - Location: 89,53 - Owner: Ukraine - Health: 1 - Facing: 0 - Actor585: 5tnk - Location: 89,59 - Owner: Turkey - Health: 1 - Facing: 0 - Actor586: 5tnk - Location: 77,57 - Owner: Turkey - Health: 1 - Facing: 0 - Actor587: 5tnk - Location: 94,53 - Owner: Turkey - Health: 1 - Facing: 0 - Actor588: v2rl - Location: 91,75 - Owner: USSR - Health: 1 - Facing: 32 - Actor589: v2rl - Location: 91,89 - Owner: USSR - Health: 1 - Facing: 32 - Actor590: truk - Location: 89,34 - Owner: BadGuy - Health: 1 - Facing: 32 - Actor591: truk - Location: 90,35 - Owner: BadGuy - Health: 1 - Facing: 96 - Actor592: truk - Location: 89,36 - Owner: BadGuy - Health: 1 - Facing: 0 - Actor593: v2rl - Location: 31,48 - Owner: USSR - Health: 1 - Facing: 160 - Actor594: 3tnk - Location: 85,86 - Owner: USSR - Health: 1 - Facing: 0 - Actor595: v2rl - Location: 86,86 - Owner: USSR - Health: 1 - Facing: 0 - Actor596: dtrk - Location: 74,81 - Owner: USSR - Health: 1 - Facing: 0 - Actor597: dtrk - Location: 77,83 - Owner: USSR - Health: 1 - Facing: 0 - Actor598: ttnk - Location: 55,61 - Owner: USSR - Health: 1 - Facing: 0 - Actor599: 3tnk - Location: 76,27 - Owner: BadGuy - Health: 1 - Facing: 224 - Actor600: dtrk - Location: 86,83 - Owner: USSR - Health: 1 - Facing: 0 - Actor601: e1 - Location: 24,71 - Owner: BadGuy - Health: 1 - Facing: 96 - SubCell: 2 - Actor602: e1 - Location: 25,71 - Owner: BadGuy - Health: 1 - Facing: 96 - SubCell: 2 - Actor603: e1 - Location: 28,72 - Owner: BadGuy - Health: 1 - Facing: 192 - SubCell: 1 - Actor604: e1 - Location: 29,72 - Owner: BadGuy - Health: 1 - Facing: 0 - SubCell: 1 - Actor605: e2 - Location: 29,70 - Owner: BadGuy - Health: 1 - Facing: 160 - SubCell: 4 - Actor606: e2 - Location: 24,69 - Owner: BadGuy - Health: 1 - Facing: 160 - SubCell: 4 - Actor607: e1 - Location: 81,88 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 1 - Actor608: e1 - Location: 81,88 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 2 - Actor609: e1 - Location: 82,88 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 1 - Actor610: e1 - Location: 81,88 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 0 - Actor611: e1 - Location: 81,88 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 4 - Actor612: e3 - Location: 83,89 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 0 - Actor613: e3 - Location: 83,89 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 2 - Actor614: e3 - Location: 84,89 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 1 - Actor615: e4 - Location: 85,89 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 2 - Actor616: e4 - Location: 85,89 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 3 - Actor617: e4 - Location: 85,90 - Owner: USSR - Health: 1 - Facing: 0 - SubCell: 2 - Actor618: e1 - Location: 61,23 - Owner: BadGuy - Health: 1 - Facing: 160 - SubCell: 0 - Actor619: e1 - Location: 74,26 - Owner: BadGuy - Health: 1 - Facing: 0 - SubCell: 1 - Actor620: e1 - Location: 75,25 - Owner: BadGuy - Health: 1 - Facing: 0 - SubCell: 4 - Actor621: e2 - Location: 78,19 - Owner: BadGuy - Health: 1 - Facing: 192 - SubCell: 0 - Actor622: e2 - Location: 79,19 - Owner: BadGuy - Health: 1 - Facing: 192 - SubCell: 3 - Actor623: dog - Location: 61,24 - Owner: BadGuy - Health: 1 - Facing: 160 - SubCell: 2 - Actor624: dog - Location: 60,24 - Owner: BadGuy - Health: 1 - Facing: 160 - SubCell: 2 - Actor625: dog - Location: 74,25 - Owner: BadGuy - Health: 1 - Facing: 224 - SubCell: 2 - DemitriLZ: waypoint - Location: 30,21 - Owner: Neutral - StartEntryPoint: waypoint - Location: 19,91 - Owner: Neutral - waypoint2: waypoint - Location: 27,83 - Owner: Neutral - DemitriChurchSpawnPoint: waypoint - Location: 29,100 - Owner: Neutral - StartMovePoint: waypoint - Location: 25,81 - Owner: Neutral - StartBridgeEndPoint: waypoint - Location: 25,85 - Owner: Neutral - waypoint6: waypoint - Location: 32,64 - Owner: Neutral - waypoint7: waypoint - Location: 24,51 - Owner: Neutral - waypoint8: waypoint - Location: 29,103 - Owner: Neutral - waypoint9: waypoint - Location: 60,77 - Owner: Neutral - waypoint10: waypoint - Location: 70,48 - Owner: Neutral - waypoint11: waypoint - Location: 82,61 - Owner: Neutral - waypoint12: waypoint - Location: 82,70 - Owner: Neutral - waypoint13: waypoint - Location: 89,75 - Owner: Neutral - waypoint14: waypoint - Location: 91,88 - Owner: Neutral - waypoint15: waypoint - Location: 67,90 - Owner: Neutral - waypoint16: waypoint - Location: 70,81 - Owner: Neutral - waypoint17: waypoint - Location: 70,79 - Owner: Neutral - AlliedBaseTopLeft: waypoint - Location: 19,16 - Owner: Neutral - HospitalCivilianSpawnPoint: waypoint - Location: 44,43 - Owner: Neutral - waypoint20: waypoint - Location: 43,48 - Owner: Neutral - HospitalSuperTankPoint: waypoint - Location: 47,46 - Owner: Neutral - waypoint22: waypoint - Location: 55,61 - Owner: Neutral - waypoint23: waypoint - Location: 54,81 - Owner: Neutral - waypoint24: waypoint - Location: 41,92 - Owner: Neutral - waypoint25: waypoint - Location: 105,85 - Owner: Neutral - waypoint26: waypoint - Location: 62,19 - Owner: Neutral - waypoint27: waypoint - Location: 81,27 - Owner: Neutral - waypoint28: waypoint - Location: 86,40 - Owner: Neutral - ProvingGroundsCameraPoint: waypoint - Location: 85,55 - Owner: Neutral - waypoint30: waypoint - Location: 84,86 - Owner: Neutral - waypoint31: waypoint - Location: 35,27 - Owner: Neutral - AlliedBaseBottomRight: waypoint - Location: 45,32 - Owner: Neutral - AlliedBaseMovePoint: waypoint - Location: 43,20 - Owner: Neutral - DemitriTriggerAreaCenter: waypoint - Location: 30,101 - Owner: Neutral - waypoint36: waypoint - Location: 60,35 - Owner: Neutral - waypoint37: waypoint - Location: 51,44 - Owner: Neutral - waypoint38: waypoint - Location: 52,45 - Owner: Neutral - waypoint39: waypoint - Location: 46,49 - Owner: Neutral - waypoint40: waypoint - Location: 31,96 - Owner: Neutral - waypoint41: waypoint - Location: 39,101 - Owner: Neutral - waypoint42: waypoint - Location: 43,40 - Owner: Neutral - waypoint43: waypoint - Location: 24,39 - Owner: Neutral - AlliedBaseEntryPoint: waypoint - Location: 42,16 - Owner: Neutral - waypoint45: waypoint - Location: 23,100 - Owner: Neutral - waypoint46: waypoint - Location: 92,34 - Owner: Neutral - waypoint47: waypoint - Location: 37,97 - Owner: Neutral - waypoint98: waypoint - Location: 24,89 - Owner: Neutral - waypoint99: waypoint - Location: 68,63 - Owner: Neutral - Actor1000: camera.large - Location: 1,1 - Owner: USSR - Actor1001: camera.large - Location: 1,1 - Owner: Turkey - -Smudges: - -Rules: - Player: - -ConquestVictoryConditions: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - MonsterTankMadnessScript: - FirstStartUnits: 1tnk, 1tnk, 2tnk, 2tnk - SecondStartUnits: e1, e1, e1, e3, e3 - ThirdStartUnits: thf, e6, e6 - FirstBaseUnits: 1tnk, 1tnk, 2tnk, arty, arty - CivilianEvacuees: c1, c2, c5, c7, c8 - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - SPY: - Infiltrates: - InfiltrateTypes: MissionObjective - DEMITRI: - Inherits: DELPHI - Tooltip: - Name: Dr. Demitri - RenderInfantryPanic: - Image: DELPHI - 5TNK: - Inherits: ^Tank - Valued: - Cost: 10000 - Tooltip: - Name: Super Tank - Description: Super Tank - Icon: 4tnkicon - Health: - HP: 20000 - Armor: - Type: Concrete - Mobile: - Speed: 42 - Crushes: wall, atmine, crate, infantry - RevealsShroud: - Range: 6c0 - Turreted: - ROT: 1 - Armament@PRIMARY: - Weapon: SuperTankPrimary - LocalOffset: 213,-171,0, 213,171,0 - Recoil: 171 - RecoilRecovery: 30 - Armament@SECONDARY: - Weapon: MammothTusk - LocalOffset: -85,-299,0, -85,299,0 - LocalYaw: -100,100 - Recoil: 43 - AttackTurreted: - RenderUnit: - Image: 4TNK - WithTurret: - AutoTarget: - Explodes: - Weapon: MiniNuke - EmptyWeapon: MiniNuke - LeavesHusk: - HuskActor: 5TNK.Husk - SelfHealing: - Step: 1 - Ticks: 1 - HealIfBelow: 50% - DamageCooldown: 150 - Selectable: - Bounds: 44,38,0,-4 - 5TNK.Husk: - Inherits: ^Husk - Tooltip: - Name: Husk (Super Tank) - RenderUnit: - Image: 4TNK - ThrowsParticle@turret: - Anim: turret - Health: - HP: 2000 - SILO: - Infiltratable: - Type: Cash - InfiltrateForCash: - DOME.NoInfiltrate: - Inherits: DOME - -Buildable: - Tooltip: - Icon: domeicon - RenderBuilding: - Image: DOME - -InfiltrateForExploration: - V19: - AutoTargetIgnore: - TRAN: - -Selectable: - Buildable: - Owner: None - BARR: - Buildable: - Owner: None - MIG: - Buildable: - Owner: None - HELI: - Buildable: - Owner: None - SS: - Buildable: - Owner: None - AGUN: - Buildable: - Owner: None - MSUB: - Buildable: - Owner: None - DD: - Buildable: - Owner: None - CA: - Buildable: - Owner: None - PT: - Buildable: - Owner: None - MSLO: - Buildable: - Owner: None - SPEN: - Buildable: - Owner: None - IRON: - Buildable: - Owner: None - PDOX: - Buildable: - Owner: None - TSLA: - Buildable: - Owner: None - FTUR: - Buildable: - Owner: None - SAM: - Buildable: - Owner: None - HPAD: - Buildable: - Owner: None - AFLD: - Buildable: - Owner: None - ATEK: - Buildable: - Owner: None - STEK: - Buildable: - Owner: None - 4TNK: - Buildable: - Owner: None - MCV: - Buildable: - Owner: None - APC: - Buildable: - Owner: None - MNLY.AP: - Buildable: - Owner: None - MNLY.AT: - Buildable: - Owner: None - TTNK: - Buildable: - Owner: None - FTRK: - Buildable: - Owner: None - CTNK: - Buildable: - Owner: None - MGG: - Buildable: - Owner: None - GAP: - Buildable: - Owner: None - MRJ: - Buildable: - Owner: None - CAMERA.Large: - Inherits: CAMERA - RevealsShroud: - Range: 1000c0 - -Sequences: - -VoxelSequences: - -Weapons: - FireballLauncher: - Projectile: - High: True - TurretGun: - Projectile: - High: True - SuperTankPrimary: - ROF: 70 - Range: 4c768 - Report: TURRET1 - Burst: 2 - Projectile: Bullet - Speed: 682 - Image: 120MM - Warhead: - Spread: 128 - Versus: - None: 20% - Wood: 75% - Light: 75% - Cybernetic: 70% - Concrete: 50% - Explosion: small_explosion - WaterExplosion: small_splash - InfDeath: 4 - SmudgeType: Crater - Damage: 50 - -Voices: - -Notifications: - -Translations: diff --git a/mods/ra/maps/soviet-01-classic/map.bin b/mods/ra/maps/soviet-01-classic/map.bin deleted file mode 100644 index 93624ab355..0000000000 Binary files a/mods/ra/maps/soviet-01-classic/map.bin and /dev/null differ diff --git a/mods/ra/maps/soviet-01-classic/map.yaml b/mods/ra/maps/soviet-01-classic/map.yaml deleted file mode 100644 index 276341e6a3..0000000000 --- a/mods/ra/maps/soviet-01-classic/map.yaml +++ /dev/null @@ -1,953 +0,0 @@ -Selectable: True - -MapFormat: 6 - -RequiresMod: ra - -Title: Soviet 01 (Classic) - -Description: Lesson in Blood - -Author: Westwood Studios - -Tileset: SNOW - -MapSize: 128,128 - -Bounds: 32,47,32,38 - -UseAsShellmap: False - -Type: Campaign - -Options: - Crates: False - Fog: True - Shroud: True - AllyBuildRadius: False - FragileAlliances: False - StartingCash: 0 - ConfigurableStartingUnits: False - -Players: - PlayerReference@GoodGuy: - Name: GoodGuy - Race: allies - ColorRamp: 161,134,200 - Allies: France,Germany,Turkey - Enemies: USSR - PlayerReference@France: - Name: France - Race: allies - ColorRamp: 115,115,143 - Allies: GoodGuy,Germany,Turkey - Enemies: USSR - PlayerReference@Germany: - Name: Germany - Race: allies - ColorRamp: 0,0,80 - Allies: GoodGuy,France,Turkey - Enemies: USSR - PlayerReference@USSR: - Name: USSR - Playable: True - AllowBots: False - Required: True - LockRace: True - Race: soviet - LockColor: True - ColorRamp: 3,255,127 - LockSpawn: True - LockTeam: True - Enemies: GoodGuy,France,Germany,Turkey - PlayerReference@Turkey: - Name: Turkey - Race: allies - ColorRamp: 14,123,167 - Allies: GoodGuy,France,Germany - Enemies: USSR - PlayerReference@Neutral: - Name: Neutral - OwnsWorld: True - NonCombatant: True - Race: allies - PlayerReference@Creeps: - Name: Creeps - NonCombatant: True - Race: allies - -Actors: - Actor0: wood - Location: 44,50 - Owner: Neutral - Actor1: wood - Location: 44,51 - Owner: Neutral - Actor2: wood - Location: 44,52 - Owner: Neutral - Actor3: wood - Location: 44,53 - Owner: Neutral - Actor4: wood - Location: 45,53 - Owner: Neutral - Actor5: wood - Location: 56,65 - Owner: Neutral - Actor6: v14 - Location: 54,66 - Owner: Neutral - Actor7: v14 - Location: 55,66 - Owner: Neutral - Actor8: wood - Location: 56,66 - Owner: Neutral - Actor9: wood - Location: 53,67 - Owner: Neutral - Actor10: wood - Location: 55,67 - Owner: Neutral - Actor11: wood - Location: 56,67 - Owner: Neutral - Actor12: wood - Location: 45,69 - Owner: Neutral - Actor13: wood - Location: 46,69 - Owner: Neutral - Actor14: wood - Location: 47,69 - Owner: Neutral - Actor15: wood - Location: 45,70 - Owner: Neutral - Actor16: wood - Location: 51,70 - Owner: Neutral - Actor17: wood - Location: 53,71 - Owner: Neutral - Actor18: wood - Location: 52,72 - Owner: Neutral - Actor19: wood - Location: 53,72 - Owner: Neutral - Actor20: t16 - Location: 53,52 - Owner: Neutral - Actor21: tc03 - Location: 60,61 - Owner: Neutral - Actor22: tc01 - Location: 48,47 - Owner: Neutral - Actor23: t06 - Location: 73,59 - Owner: Neutral - Actor24: t01 - Location: 49,74 - Owner: Neutral - Actor25: t14 - Location: 60,69 - Owner: Neutral - Actor26: t16 - Location: 59,72 - Owner: Neutral - Actor27: t14 - Location: 60,72 - Owner: Neutral - Actor28: t07 - Location: 62,72 - Owner: Neutral - Actor29: t10 - Location: 54,74 - Owner: Neutral - Actor30: tc02 - Location: 46,49 - Owner: Neutral - Actor31: t01 - Location: 53,57 - Owner: Neutral - Actor32: tc05 - Location: 41,51 - Owner: Neutral - Actor33: t06 - Location: 44,53 - Owner: Neutral - Actor34: t01 - Location: 44,70 - Owner: Neutral - Actor35: t16 - Location: 52,72 - Owner: Neutral - Actor36: tc02 - Location: 32,51 - Owner: Neutral - Actor37: tc04 - Location: 32,55 - Owner: Neutral - Actor38: tc05 - Location: 32,60 - Owner: Neutral - Actor39: tc02 - Location: 42,57 - Owner: Neutral - Actor40: tc02 - Location: 43,68 - Owner: Neutral - Actor41: tc01 - Location: 42,67 - Owner: Neutral - Actor42: tc04 - Location: 32,72 - Owner: Neutral - Actor43: tc03 - Location: 51,77 - Owner: Neutral - Actor44: tc01 - Location: 39,72 - Owner: Neutral - Actor45: t17 - Location: 35,76 - Owner: Neutral - Actor46: t15 - Location: 59,75 - Owner: Neutral - Actor47: tc03 - Location: 35,65 - Owner: Neutral - Actor48: t01 - Location: 35,56 - Owner: Neutral - Actor49: t10 - Location: 47,59 - Owner: Neutral - Actor50: t08 - Location: 48,64 - Owner: Neutral - Actor51: barl - Location: 33,54 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor52: brl3 - Location: 57,53 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor53: v08 - Location: 41,54 - Owner: France - Health: 0.5195313 - Facing: 0 - Actor54: v07.civilians - Location: 54,65 - Owner: France - Health: 0.4375 - Facing: 0 - Actor55: v07 - Location: 38,52 - Owner: France - Health: 0.4375 - Facing: 0 - Actor56: v06 - Location: 46,51 - Owner: France - Health: 0.9921875 - Facing: 0 - Actor57: v05 - Location: 36,55 - Owner: France - Health: 0.5 - Facing: 0 - Actor58: v04 - Location: 35,51 - Owner: France - Health: 0.3515625 - Facing: 0 - Actor59: v02 - Location: 36,57 - Owner: France - Health: 0.5625 - Facing: 0 - Actor60: brl3 - Location: 34,52 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor61: barl - Location: 57,54 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor62: barl - Location: 55,54 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor63: brl3 - Location: 51,72 - Owner: Germany - Health: 1 - Facing: 0 - Actor64: brl3 - Location: 51,71 - Owner: Germany - Health: 1 - Facing: 0 - Actor65: brl3 - Location: 47,71 - Owner: Germany - Health: 1 - Facing: 0 - Actor66: barl - Location: 46,71 - Owner: Germany - Health: 1 - Facing: 0 - Actor67: barl - Location: 47,70 - Owner: Germany - Health: 1 - Facing: 0 - Actor68: brl3 - Location: 43,50 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor69: brl3 - Location: 45,52 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor70: barl - Location: 41,51 - Owner: France - Health: 1 - Facing: 0 - Actor71: barl - Location: 50,72 - Owner: Germany - Health: 1 - Facing: 0 - Actor72: barl - Location: 42,50 - Owner: GoodGuy - Health: 1 - Facing: 0 - Airfield1: afld.noproduction - Location: 35,81 - Owner: USSR - Health: 1 - Facing: 0 - Actor74: powr - Location: 43,82 - Owner: USSR - Health: 1 - Facing: 0 - Actor75: barl - Location: 56,53 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor76: barl - Location: 58,53 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor77: brl3 - Location: 59,53 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor78: brl3 - Location: 54,53 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor79: barl - Location: 59,56 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor80: brl3 - Location: 48,66 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor81: barl - Location: 45,65 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor82: barl - Location: 34,57 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor83: brl3 - Location: 35,58 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor84: barl - Location: 46,67 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor85: barl - Location: 48,67 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor86: brl3 - Location: 38,65 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor87: barl - Location: 40,52 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor88: barl - Location: 39,64 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor89: brl3 - Location: 41,53 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor90: brl3 - Location: 46,66 - Owner: GoodGuy - Health: 1 - Facing: 0 - Airfield2: afld.noproduction - Location: 39,77 - Owner: USSR - Health: 1 - Facing: 0 - Actor92: powr - Location: 45,82 - Owner: USSR - Health: 1 - Facing: 0 - Airfield3: afld.noproduction - Location: 37,79 - Owner: USSR - Health: 1 - Facing: 0 - Actor94: barl - Location: 35,56 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor95: brl3 - Location: 38,64 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor96: brl3 - Location: 34,55 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor97: barl - Location: 35,55 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor98: barl - Location: 45,50 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor99: v04 - Location: 58,54 - Owner: France - Health: 0.4140625 - Facing: 0 - Actor100: v02 - Location: 56,54 - Owner: France - Health: 0.7070313 - Facing: 0 - Actor101: dome - Location: 45,79 - Owner: USSR - Health: 1 - Facing: 0 - Actor102: barl - Location: 46,61 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor103: brl3 - Location: 43,66 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor104: barl - Location: 43,67 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor105: brl3 - Location: 59,57 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor106: barl - Location: 57,58 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor107: barl - Location: 58,58 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor108: brl3 - Location: 59,58 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor109: brl3 - Location: 56,58 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor110: barl - Location: 56,59 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor111: barl - Location: 56,60 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor112: barl - Location: 41,68 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor113: barl - Location: 42,67 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor114: brl3 - Location: 49,55 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor115: barl - Location: 48,55 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor116: barl - Location: 47,56 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor117: brl3 - Location: 46,56 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor118: pbox.e1 - Location: 46,55 - Owner: France - Health: 1 - Facing: 0 - Actor119: pbox.e1 - Location: 48,54 - Owner: France - Health: 1 - Facing: 0 - Actor120: barl - Location: 34,51 - Owner: GoodGuy - Health: 1 - Facing: 0 - Actor121: v05.civilians - Location: 48,62 - Owner: France - Health: 0.4140625 - Facing: 0 - Church: v01 - Location: 40,63 - Owner: France - Health: 0.5390625 - Facing: 0 - Actor123: jeep - Location: 46,52 - Owner: France - Health: 0.6640625 - Facing: 96 - StartJeep: jeep - Location: 44,76 - Owner: France - Health: 0.5195313 - Facing: 32 - Actor125: jeep - Location: 55,57 - Owner: France - Health: 1 - Facing: 160 - Actor126: jeep - Location: 39,65 - Owner: France - Health: 0.625 - Facing: 64 - Actor127: c9 - Location: 50,64 - Owner: France - Health: 1 - Facing: 192 - SubCell: 1 - Actor128: c8 - Location: 47,61 - Owner: France - Health: 1 - Facing: 0 - SubCell: 3 - Actor129: c8 - Location: 41,50 - Owner: Turkey - Health: 1 - Facing: 224 - SubCell: 3 - Actor130: c6 - Location: 46,61 - Owner: France - Health: 1 - Facing: 128 - SubCell: 2 - Actor131: c5 - Location: 46,61 - Owner: France - Health: 1 - Facing: 0 - SubCell: 1 - Actor132: c4 - Location: 44,67 - Owner: France - Health: 1 - Facing: 96 - SubCell: 1 - Actor133: c2 - Location: 40,54 - Owner: France - Health: 1 - Facing: 160 - SubCell: 2 - Actor134: c2 - Location: 45,61 - Owner: France - Health: 1 - Facing: 64 - SubCell: 4 - Actor135: e1 - Location: 54,60 - Owner: France - Health: 1 - Facing: 160 - SubCell: 4 - Actor136: e1 - Location: 49,60 - Owner: France - Health: 1 - Facing: 128 - SubCell: 2 - Actor137: c5 - Location: 45,51 - Owner: France - Health: 1 - Facing: 224 - SubCell: 0 - Actor138: e1 - Location: 34,58 - Owner: France - Health: 1 - Facing: 96 - SubCell: 0 - Actor139: e1 - Location: 53,54 - Owner: France - Health: 1 - Facing: 128 - SubCell: 2 - Actor140: e1 - Location: 58,56 - Owner: France - Health: 1 - Facing: 128 - SubCell: 1 - Actor141: e1 - Location: 58,52 - Owner: France - Health: 1 - Facing: 160 - SubCell: 0 - Actor142: e1 - Location: 54,64 - Owner: France - Health: 1 - Facing: 160 - SubCell: 3 - Actor143: c7 - Location: 56,54 - Owner: France - Health: 1 - Facing: 0 - SubCell: 3 - Actor144: e1 - Location: 40,51 - Owner: France - Health: 1 - Facing: 160 - SubCell: 0 - Actor145: e1 - Location: 35,53 - Owner: France - Health: 1 - Facing: 96 - SubCell: 1 - Actor146: e1 - Location: 35,54 - Owner: France - Health: 1 - Facing: 0 - SubCell: 4 - Actor147: e1 - Location: 43,64 - Owner: France - Health: 1 - Facing: 96 - SubCell: 0 - Actor148: e1 - Location: 56,63 - Owner: France - Health: 1 - Facing: 192 - SubCell: 2 - Actor149: e1 - Location: 40,67 - Owner: France - Health: 1 - Facing: 32 - SubCell: 4 - Actor150: e1 - Location: 42,81 - Owner: USSR - Health: 0.1367188 - Facing: 0 - SubCell: 2 - waypoint3: waypoint - Location: 47,51 - Owner: Neutral - waypoint6: waypoint - Location: 58,55 - Owner: Neutral - waypoint10: waypoint - Location: 48,62 - Owner: Neutral - waypoint14: waypoint - Location: 66,47 - Owner: Neutral - waypoint15: waypoint - Location: 58,54 - Owner: Neutral - StartJeepMovePoint: waypoint - Location: 47,66 - Owner: Neutral - waypoint17: waypoint - Location: 49,68 - Owner: Neutral - waypoint18: waypoint - Location: 54,64 - Owner: Neutral - waypoint19: waypoint - Location: 55,64 - Owner: Neutral - ParadropEntryPoint1: waypoint - Location: 67,65 - Owner: Neutral - waypoint21: waypoint - Location: 58,57 - Owner: Neutral - waypoint22: waypoint - Location: 66,73 - Owner: Neutral - waypoint23: waypoint - Location: 49,51 - Owner: Neutral - waypoint24: waypoint - Location: 54,60 - Owner: Neutral - waypoint25: waypoint - Location: 35,59 - Owner: Neutral - waypoint37: waypoint - Location: 61,68 - Owner: Neutral - waypoint44: waypoint - Location: 34,47 - Owner: Neutral - waypoint57: waypoint - Location: 38,57 - Owner: Neutral - waypoint67: waypoint - Location: 39,59 - Owner: Neutral - waypoint72: waypoint - Location: 47,70 - Owner: Neutral - waypoint78: waypoint - Location: 39,67 - Owner: Neutral - waypoint79: waypoint - Location: 52,60 - Owner: Neutral - waypoint81: waypoint - Location: 42,82 - Owner: Neutral - waypoint82: waypoint - Location: 44,77 - Owner: Neutral - ParadropEntryPoint2: waypoint - Location: 32,70 - Owner: Neutral - ParadropPoint2: waypoint - Location: 47,65 - Owner: Neutral - ParadropPoint1: waypoint - Location: 47,67 - Owner: Neutral - waypoint96: waypoint - Location: 37,58 - Owner: Neutral - waypoint98: waypoint - Location: 44,79 - Owner: Neutral - Actor1000: camera.large - Location: 1,1 - Owner: France - -Smudges: - -Rules: - Player: - -ConquestVictoryConditions: - World: - -CrateSpawner: - -SpawnMPUnits: - -MPStartLocations: - Soviet01ClassicScript: - MissionObjectivesPanel: - ObjectivesPanel: MISSION_OBJECTIVES - V01: - ContainsCrate: - CRATE: - GiveCashCrateAction: - SelectionShares: 0 - LevelUpCrateAction: - SelectionShares: 0 - ExplodeCrateAction@fire: - SelectionShares: 0 - ExplodeCrateAction@boom: - SelectionShares: 0 - ExplodeCrateAction@nuke: - SelectionShares: 0 - HideMapCrateAction: - SelectionShares: 0 - HealUnitsCrateAction: - SelectionShares: 10000 - RevealMapCrateAction: - SelectionShares: 0 - SupportPowerCrateAction@parabombs: - SelectionShares: 0 - GiveMcvCrateAction: - SelectionShares: 0 - GiveUnitCrateAction@jeep: - SelectionShares: 0 - GiveUnitCrateAction@arty: - SelectionShares: 0 - GiveUnitCrateAction@v2rl: - SelectionShares: 0 - GiveUnitCrateAction@1tnk: - SelectionShares: 0 - GiveUnitCrateAction@2tnk: - SelectionShares: 0 - GiveUnitCrateAction@3tnk: - SelectionShares: 0 - GiveUnitCrateAction@4tnk: - SelectionShares: 0 - AFLD.NoProduction: - Inherits: ^Building - Valued: - Cost: 500 - Tooltip: - Name: Airfield - Building: - Power: -20 - Footprint: xxx xxx - Dimensions: 3,2 - Health: - HP: 1000 - Armor: - Type: Wood - RevealsShroud: - Range: 7c0 - Exit@1: - SpawnOffset: 0,170,0 - ExitCell: 1,1 - Facing: 192 - RenderBuilding: - Image: AFLD - BelowUnits: - Reservable: - YAK: - Plane: - RearmBuildings: afld.noproduction - JEEP: - Explodes: - V05.Civilians: - Inherits: V05 - RenderBuilding: - Image: V05 - Soviet01ClassicContainsActors: - Actors: c3, c4, c7 - V07.Civilians: - Inherits: V07 - RenderBuilding: - Image: V07 - Soviet01ClassicContainsActors: - Actors: c1, c6 - CAMERA.Large: - Inherits: CAMERA - RevealsShroud: - Range: 1000c0 - -Sequences: - -VoxelSequences: - -Weapons: - -Voices: - -Notifications: - -Translations: