Rework bottom right of the Allies 02 map, move captive Engineer outside. Set Tanya's stance to ReturnFire so attack-move works.
This commit is contained in:
@@ -106,17 +106,14 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// display current objective every so often
|
|
||||||
if (world.FrameNumber % 1500 == 1)
|
if (world.FrameNumber % 1500 == 1)
|
||||||
{
|
{
|
||||||
DisplayObjective();
|
DisplayObjective();
|
||||||
}
|
}
|
||||||
// taunt every so often
|
|
||||||
if (world.FrameNumber % 1000 == 0)
|
if (world.FrameNumber % 1000 == 0)
|
||||||
{
|
{
|
||||||
Sound.Play(Taunts[world.SharedRandom.Next(Taunts.Length)]);
|
Sound.Play(Taunts[world.SharedRandom.Next(Taunts.Length)]);
|
||||||
}
|
}
|
||||||
// objectives
|
|
||||||
if (currentObjective == 0)
|
if (currentObjective == 0)
|
||||||
{
|
{
|
||||||
if (AlliesControlLab())
|
if (AlliesControlLab())
|
||||||
|
|||||||
@@ -42,8 +42,6 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
Actor einstein;
|
Actor einstein;
|
||||||
Actor engineer;
|
Actor engineer;
|
||||||
|
|
||||||
Actor engineerMiss;
|
|
||||||
|
|
||||||
Actor chinookHusk;
|
Actor chinookHusk;
|
||||||
Actor allies2BasePoint;
|
Actor allies2BasePoint;
|
||||||
Actor reinforcementsEntryPoint;
|
Actor reinforcementsEntryPoint;
|
||||||
@@ -89,8 +87,7 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
|
|
||||||
const string ChinookName = "tran";
|
const string ChinookName = "tran";
|
||||||
const string SignalFlareName = "flare";
|
const string SignalFlareName = "flare";
|
||||||
const string EngineerName = "e6";
|
const int EngineerSafeRange = 5;
|
||||||
const int EngineerMissClearRange = 5;
|
|
||||||
|
|
||||||
void DisplayObjective()
|
void DisplayObjective()
|
||||||
{
|
{
|
||||||
@@ -166,10 +163,9 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
BuildSovietUnits();
|
BuildSovietUnits();
|
||||||
ManageSovietUnits();
|
ManageSovietUnits();
|
||||||
}
|
}
|
||||||
if (!engineerMiss.Destroyed && engineer == null && AlliesControlMiss())
|
if (EngineerSafe())
|
||||||
{
|
{
|
||||||
SpawnEngineerAtMiss();
|
RescueEngineer();
|
||||||
engineerMiss.QueueActivity(new Demolish(engineerMiss, 0));
|
|
||||||
}
|
}
|
||||||
if (currentObjective == 0)
|
if (currentObjective == 0)
|
||||||
{
|
{
|
||||||
@@ -387,16 +383,16 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
return UnitsNearActor(actor, range).Where(a => a.HasTrait<IMove>());
|
return UnitsNearActor(actor, range).Where(a => a.HasTrait<IMove>());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AlliesControlMiss()
|
bool EngineerSafe()
|
||||||
{
|
{
|
||||||
var units = ForcesNearActor(engineerMiss, EngineerMissClearRange);
|
if (engineer.Destroyed) return false;
|
||||||
|
var units = ForcesNearActor(engineer, EngineerSafeRange);
|
||||||
return units.Any() && units.All(a => a.Owner == allies1);
|
return units.Any() && units.All(a => a.Owner == allies1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpawnEngineerAtMiss()
|
void RescueEngineer()
|
||||||
{
|
{
|
||||||
engineer = world.CreateActor(EngineerName, new TypeDictionary { new OwnerInit(allies1), new LocationInit(engineerMiss.Location) });
|
if (!engineer.Destroyed) engineer.ChangeOwner(allies1);
|
||||||
engineer.QueueActivity(new Move.Move(engineerMiss.Location + new CVec(5, 0)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WorldLoaded(World w)
|
public void WorldLoaded(World w)
|
||||||
@@ -419,7 +415,7 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
extractionLZEntryPoint = actors["ExtractionLZEntryPoint"];
|
extractionLZEntryPoint = actors["ExtractionLZEntryPoint"];
|
||||||
badgerEntryPoint = actors["BadgerEntryPoint"];
|
badgerEntryPoint = actors["BadgerEntryPoint"];
|
||||||
badgerDropPoint = actors["BadgerDropPoint"];
|
badgerDropPoint = actors["BadgerDropPoint"];
|
||||||
engineerMiss = actors["EngineerMiss"];
|
engineer = actors["Engineer"];
|
||||||
sovietBarracks = actors["SovietBarracks"];
|
sovietBarracks = actors["SovietBarracks"];
|
||||||
sovietWarFactory = actors["SovietWarFactory"];
|
sovietWarFactory = actors["SovietWarFactory"];
|
||||||
sovietRallyPoint = actors["SovietRallyPoint"];
|
sovietRallyPoint = actors["SovietRallyPoint"];
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1214,6 +1214,7 @@ KENN:
|
|||||||
Range: 4
|
Range: 4
|
||||||
IronCurtainable:
|
IronCurtainable:
|
||||||
-EmitInfantryOnSell:
|
-EmitInfantryOnSell:
|
||||||
|
-AcceptsSupplies:
|
||||||
|
|
||||||
FIX:
|
FIX:
|
||||||
Inherits: ^Building
|
Inherits: ^Building
|
||||||
|
|||||||
Reference in New Issue
Block a user