diff --git a/OpenRA.Mods.RA/Missions/Allies01Script.cs b/OpenRA.Mods.RA/Missions/Allies01Script.cs index e3c57c598c..ca4eae1245 100644 --- a/OpenRA.Mods.RA/Missions/Allies01Script.cs +++ b/OpenRA.Mods.RA/Missions/Allies01Script.cs @@ -11,11 +11,11 @@ using System.Collections.Generic; using System.Linq; using OpenRA.FileFormats; -using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Air; using OpenRA.Mods.RA.Move; using OpenRA.Scripting; using OpenRA.Traits; +using OpenRA.Mods.RA.Activities; namespace OpenRA.Mods.RA.Missions { @@ -155,18 +155,21 @@ namespace OpenRA.Mods.RA.Missions Sound.Play("flaren1.aud"); SpawnEinsteinAtLab(); SendShips(); + lab.QueueActivity(new Transform(lab, "stek") { SkipMakeAnims = true }); + objectives[FindEinsteinID].Status = ObjectiveStatus.Completed; objectives[ExtractEinsteinID].Status = ObjectiveStatus.InProgress; - - if (difficulty == "Easy") - ExtractEinsteinAtLZ(); - OnObjectivesUpdated(true); currentAttackWaveFrameNumber = world.FrameNumber; - var infantry = MissionUtils.FindQueues(world, soviets, "Infantry").FirstOrDefault(); - if (infantry != null) - infantry.ResolveOrder(infantry.self, Order.StartProduction(infantry.self, "e1", 5)); + 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 ManageSovietOre() diff --git a/OpenRA.Mods.RA/Missions/Allies04Script.cs b/OpenRA.Mods.RA/Missions/Allies04Script.cs index dc2df3acb1..4eaa1d8dea 100644 --- a/OpenRA.Mods.RA/Missions/Allies04Script.cs +++ b/OpenRA.Mods.RA/Missions/Allies04Script.cs @@ -150,7 +150,7 @@ namespace OpenRA.Mods.RA.Missions { foreach (var attacker in townAttackers.Where(u => u.IsIdle && !u.IsDead() && u.IsInWorld)) { - var enemies = world.Actors.Where(u => u.Owner == neutral + var enemies = world.Actors.Where(u => u.Owner == neutral && u.HasTrait() && ((u.HasTrait() && !u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && !u.IsDead() && u.IsInWorld); var enemy = enemies.OrderBy(u => (attacker.CenterLocation - u.CenterLocation).LengthSquared).FirstOrDefault(); @@ -283,7 +283,7 @@ namespace OpenRA.Mods.RA.Missions self.QueueActivity(new RemoveSelf()); })); lst.QueueActivity(new UnloadCargo(true)); - lst.QueueActivity(new Transform(lst, "lst.unselectable.nocargo")); + lst.QueueActivity(new Transform(lst, "lst.unselectable.nocargo") { SkipMakeAnims = true }); } class Patrol @@ -340,7 +340,7 @@ namespace OpenRA.Mods.RA.Missions lst.QueueActivity(new Move.Move(spyReinforcementsUnloadPoint.Location)); lst.QueueActivity(new Wait(10)); lst.QueueActivity(new UnloadCargo(true)); - lst.QueueActivity(new Transform(lst, "lst.unselectable.nocargo")); + lst.QueueActivity(new Transform(lst, "lst.unselectable.nocargo") { SkipMakeAnims = true }); } void SetupSubStances() diff --git a/mods/ra/maps/allies-01/map.yaml b/mods/ra/maps/allies-01/map.yaml index 2f7ba6c651..d30a9406bf 100644 --- a/mods/ra/maps/allies-01/map.yaml +++ b/mods/ra/maps/allies-01/map.yaml @@ -289,7 +289,7 @@ Actors: InsertionLZ: waypoint Location: 22,10 Owner: Neutral - Lab: stek + Lab: stek.autotargetignore Location: 20,24 Owner: Soviets Actor24: e2 @@ -365,7 +365,12 @@ Rules: EINSTEIN: Passenger: Weight: 0 - STEK: + STEK.AutoTargetIgnore: + Inherits: STEK + RenderBuilding: + Image: STEK + Tooltip: + Icon: STEK AutoTargetIgnore: ^Vehicle: GivesBounty: