Remove AutoTargetIgnore for stek after Einstein is freed

This commit is contained in:
Scott_NZ
2013-01-27 23:21:18 +13:00
parent 691e6cf9e8
commit 8a796416a4
3 changed files with 21 additions and 13 deletions

View File

@@ -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()

View File

@@ -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<ITargetable>()
&& ((u.HasTrait<Building>() && !u.HasTrait<Wall>() && !u.HasTrait<Bridge>()) || u.HasTrait<Mobile>()) && !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()

View File

@@ -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: