Focus on the town more; create additional crash site there and and move Einstein there for players to save.

This commit is contained in:
Scott_NZ
2012-09-22 15:32:56 +12:00
parent e07d55f5f4
commit e3b2e84792
5 changed files with 428 additions and 271 deletions

View File

@@ -245,7 +245,7 @@ namespace OpenRA.Mods.RA.Missions
bool AlliesControlLab() bool AlliesControlLab()
{ {
return MissionUtils.AreaSecuredByPlayer(world, allies, lab.CenterLocation, LabClearRange); return MissionUtils.AreaSecuredWithUnits(world, allies, lab.CenterLocation, LabClearRange);
} }
void SpawnEinsteinAtLab() void SpawnEinsteinAtLab()

View File

@@ -78,7 +78,6 @@ namespace OpenRA.Mods.RA.Missions
Actor sam4; Actor sam4;
Actor tanya; Actor tanya;
Actor einstein; Actor einstein;
Actor engineer;
Actor chinookHusk; Actor chinookHusk;
Actor allies2BasePoint; Actor allies2BasePoint;
@@ -89,6 +88,9 @@ namespace OpenRA.Mods.RA.Missions
Actor badgerDropPoint; Actor badgerDropPoint;
Actor sovietRallyPoint; Actor sovietRallyPoint;
Actor flamersEntryPoint; Actor flamersEntryPoint;
Actor townPoint;
Actor sovietTownAttackPoint1;
Actor sovietTownAttackPoint2;
Actor einsteinChinook; Actor einsteinChinook;
@@ -126,7 +128,10 @@ namespace OpenRA.Mods.RA.Missions
const string ChinookName = "tran"; const string ChinookName = "tran";
const string SignalFlareName = "flare"; const string SignalFlareName = "flare";
const int EngineerSafeRange = 5;
const int AlliedTownTransferRange = 15;
const int SovietTownAttackGroupRange = 5;
const int SovietTownMoveNearEnough = 5;
void MissionFailed(string text) void MissionFailed(string text)
{ {
@@ -172,7 +177,7 @@ namespace OpenRA.Mods.RA.Missions
{ {
DisplayObjectives(); DisplayObjectives();
} }
if (world.FrameNumber % 50 == 1) if (world.FrameNumber % 50 == 1 && chinookHusk.IsInWorld)
{ {
world.Add(new Smoke(world, chinookHusk.CenterLocation, "smoke_m")); world.Add(new Smoke(world, chinookHusk.CenterLocation, "smoke_m"));
} }
@@ -200,9 +205,10 @@ namespace OpenRA.Mods.RA.Missions
BuildSovietUnits(); BuildSovietUnits();
ManageSovietUnits(); ManageSovietUnits();
} }
if (EngineerSafe()) if (AlliesNearTown())
{ {
RescueEngineer(); TransferTownUnitsToAllies();
SovietsAttackTown();
} }
if (MissionUtils.HasFlag(currentObjectives, Allies02Objectives.DestroySamSites)) if (MissionUtils.HasFlag(currentObjectives, Allies02Objectives.DestroySamSites))
{ {
@@ -235,7 +241,7 @@ namespace OpenRA.Mods.RA.Missions
{ {
MissionFailed("Einstein was killed."); MissionFailed("Einstein was killed.");
} }
else if (!world.Actors.Any(a => a.IsInWorld && a.HasTrait<Building>() && !a.HasTrait<Wall>() && a.Owner == allies2)) else if (!world.FindAliveCombatantActorsInCircle(allies2BasePoint.CenterLocation, 20).Any(a => a.HasTrait<Building>() && !a.HasTrait<Wall>() && a.Owner == allies2))
{ {
MissionFailed("The Allied reinforcements have been defeated."); MissionFailed("The Allied reinforcements have been defeated.");
} }
@@ -269,7 +275,7 @@ namespace OpenRA.Mods.RA.Missions
void ManageSovietUnits() void ManageSovietUnits()
{ {
var idleSovietUnitsAtRP = world.ForcesNearLocation(sovietRallyPoint.CenterLocation, 3).Where(a => a.Owner == soviets && a.IsIdle && a.HasTrait<Mobile>()); var idleSovietUnitsAtRP = world.FindAliveCombatantActorsInCircle(sovietRallyPoint.CenterLocation, 3).Where(a => a.Owner == soviets && a.IsIdle && a.HasTrait<IMove>());
if (idleSovietUnitsAtRP.Count() >= SovietGroupSize) if (idleSovietUnitsAtRP.Count() >= SovietGroupSize)
{ {
var firstUnit = idleSovietUnitsAtRP.FirstOrDefault(); var firstUnit = idleSovietUnitsAtRP.FirstOrDefault();
@@ -286,7 +292,7 @@ namespace OpenRA.Mods.RA.Missions
} }
} }
} }
var idleSovietUnits = world.ForcesNearLocation(allies2BasePoint.CenterLocation, 20).Where(a => a.Owner == soviets && a.IsIdle); var idleSovietUnits = world.FindAliveCombatantActorsInCircle(allies2BasePoint.CenterLocation, 20).Where(a => a.Owner == soviets && a.IsIdle && a.HasTrait<IMove>());
foreach (var unit in idleSovietUnits) foreach (var unit in idleSovietUnits)
{ {
var closestAlliedBuilding = ClosestAlliedBuilding(unit, 40); var closestAlliedBuilding = ClosestAlliedBuilding(unit, 40);
@@ -407,20 +413,28 @@ namespace OpenRA.Mods.RA.Missions
extractionLZEntryPoint.Location); extractionLZEntryPoint.Location);
} }
bool EngineerSafe() bool AlliesNearTown()
{ {
if (engineer.Destroyed) return world.FindAliveCombatantActorsInCircle(townPoint.CenterLocation, AlliedTownTransferRange).Where(a => a.HasTrait<IMove>()).Any(a => a.Owner == allies1);
{
return false;
}
return MissionUtils.AreaSecuredByPlayer(world, allies1, engineer.CenterLocation, EngineerSafeRange);
} }
void RescueEngineer() void TransferTownUnitsToAllies()
{ {
if (!engineer.Destroyed) foreach (var unit in world.FindAliveNonCombatantActorsInCircle(townPoint.CenterLocation, AlliedTownTransferRange).Where(a => a.HasTrait<IMove>()))
{ {
engineer.ChangeOwner(allies1); unit.ChangeOwner(allies1);
}
}
void SovietsAttackTown()
{
var sovietAttackUnits = world.FindAliveCombatantActorsInCircle(sovietTownAttackPoint1.CenterLocation, SovietTownAttackGroupRange)
.Union(world.FindAliveCombatantActorsInCircle(sovietTownAttackPoint2.CenterLocation, SovietTownAttackGroupRange))
.Union(world.FindAliveCombatantActorsInCircle(townPoint.CenterLocation, AlliedTownTransferRange))
.Where(a => a.HasTrait<IMove>() && a.Owner == soviets);
foreach (var unit in sovietAttackUnits)
{
unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, new Move.Move(townPoint.Location, SovietTownMoveNearEnough)));
} }
} }
@@ -444,11 +458,13 @@ namespace OpenRA.Mods.RA.Missions
extractionLZEntryPoint = actors["ExtractionLZEntryPoint"]; extractionLZEntryPoint = actors["ExtractionLZEntryPoint"];
badgerEntryPoint = actors["BadgerEntryPoint"]; badgerEntryPoint = actors["BadgerEntryPoint"];
badgerDropPoint = actors["BadgerDropPoint"]; badgerDropPoint = actors["BadgerDropPoint"];
engineer = actors["Engineer"];
sovietBarracks = actors["SovietBarracks"]; sovietBarracks = actors["SovietBarracks"];
sovietWarFactory = actors["SovietWarFactory"]; sovietWarFactory = actors["SovietWarFactory"];
sovietRallyPoint = actors["SovietRallyPoint"]; sovietRallyPoint = actors["SovietRallyPoint"];
flamersEntryPoint = actors["FlamersEntryPoint"]; flamersEntryPoint = actors["FlamersEntryPoint"];
townPoint = actors["TownPoint"];
sovietTownAttackPoint1 = actors["SovietTownAttackPoint1"];
sovietTownAttackPoint2 = actors["SovietTownAttackPoint2"];
var shroud = w.WorldActor.Trait<Shroud>(); var shroud = w.WorldActor.Trait<Shroud>();
shroud.Explore(w, sam1.Location, 2); shroud.Explore(w, sam1.Location, 2);
shroud.Explore(w, sam2.Location, 2); shroud.Explore(w, sam2.Location, 2);

View File

@@ -22,20 +22,16 @@ namespace OpenRA.Mods.RA.Missions
{ {
public static class MissionUtils public static class MissionUtils
{ {
public static IEnumerable<Actor> UnitsNearLocation(this World world, PPos location, int range) public static IEnumerable<Actor> FindAliveCombatantActorsInCircle(this World world, PPos location, int range)
{ {
return world.FindUnitsInCircle(location, Game.CellSize * range) return world.FindUnitsInCircle(location, Game.CellSize * range)
.Where(a => a.IsInWorld && a != world.WorldActor && !a.Destroyed && !a.Owner.NonCombatant); .Where(a => a.IsInWorld && a != world.WorldActor && !a.Destroyed && !a.Owner.NonCombatant);
} }
public static IEnumerable<Actor> BuildingsNearLocation(this World world, PPos location, int range) public static IEnumerable<Actor> FindAliveNonCombatantActorsInCircle(this World world, PPos location, int range)
{ {
return UnitsNearLocation(world, location, range).Where(a => a.HasTrait<Building>() && !a.HasTrait<Wall>()); return world.FindUnitsInCircle(location, Game.CellSize * range)
} .Where(a => a.IsInWorld && a != world.WorldActor && !a.Destroyed && a.Owner.NonCombatant);
public static IEnumerable<Actor> ForcesNearLocation(this World world, PPos location, int range)
{
return UnitsNearLocation(world, location, range).Where(a => a.HasTrait<IMove>());
} }
public static Actor ExtractUnitWithChinook(World world, Player owner, Actor unit, CPos entry, CPos lz, CPos exit) public static Actor ExtractUnitWithChinook(World world, Player owner, Actor unit, CPos entry, CPos lz, CPos exit)
@@ -67,16 +63,24 @@ namespace OpenRA.Mods.RA.Missions
return Pair.New(chinook, unit); return Pair.New(chinook, unit);
} }
public static bool AreaSecuredByPlayer(World world, Player player, PPos location, int range) public static bool AreaSecuredWithUnits(World world, Player player, PPos location, int range)
{ {
var units = ForcesNearLocation(world, location, range); var units = world.FindAliveCombatantActorsInCircle(location, range).Where(a => a.HasTrait<IMove>());
return units.Any() && units.All(a => a.Owner == player); return units.Any() && units.All(a => a.Owner == player);
} }
public static Actor ClosestPlayerUnit(World world, Player player, PPos location, int range)
{
return world.FindAliveCombatantActorsInCircle(location, range)
.Where(a => a.Owner == player && a.HasTrait<IMove>())
.OrderBy(a => (location - a.CenterLocation).LengthSquared)
.FirstOrDefault();
}
public static Actor ClosestPlayerBuilding(World world, Player player, PPos location, int range) public static Actor ClosestPlayerBuilding(World world, Player player, PPos location, int range)
{ {
return world.BuildingsNearLocation(location, range) return world.FindAliveCombatantActorsInCircle(location, range)
.Where(a => a.Owner == player) .Where(a => a.Owner == player && a.HasTrait<Building>() && !a.HasTrait<Wall>())
.OrderBy(a => (location - a.CenterLocation).LengthSquared) .OrderBy(a => (location - a.CenterLocation).LengthSquared)
.FirstOrDefault(); .FirstOrDefault();
} }

Binary file not shown.

View File

@@ -29,7 +29,6 @@ Players:
PlayerReference@Allies1: PlayerReference@Allies1:
Name: Allies1 Name: Allies1
Playable: True Playable: True
AllowBots: False
LockRace: True LockRace: True
Race: allies Race: allies
LockColor: True LockColor: True
@@ -41,7 +40,6 @@ Players:
PlayerReference@Allies2: PlayerReference@Allies2:
Name: Allies2 Name: Allies2
Playable: True Playable: True
AllowBots: False
LockRace: True LockRace: True
Race: allies Race: allies
LockColor: True LockColor: True
@@ -138,8 +136,8 @@ Actors:
Actor30: wood Actor30: wood
Location: 64,96 Location: 64,96
Owner: Neutral Owner: Neutral
Actor225: sbag Actor214: sbag
Location: 88,38 Location: 94,50
Owner: Soviets Owner: Soviets
Actor27: wood Actor27: wood
Location: 66,97 Location: 66,97
@@ -171,15 +169,12 @@ Actors:
Actor39: t15 Actor39: t15
Location: 84,108 Location: 84,108
Owner: Neutral Owner: Neutral
Actor40: t06 Actor430: e6
Location: 65,85 Location: 68,86
Owner: Neutral Owner: Neutral
Actor41: t01 Actor41: t01
Location: 71,80 Location: 71,80
Owner: Neutral Owner: Neutral
Actor42: t02
Location: 80,78
Owner: Neutral
Actor43: t02 Actor43: t02
Location: 79,102 Location: 79,102
Owner: Neutral Owner: Neutral
@@ -204,17 +199,17 @@ Actors:
Actor50: t06 Actor50: t06
Location: 96,82 Location: 96,82
Owner: Neutral Owner: Neutral
Actor51: t16 Actor669: fenc
Location: 80,82 Location: 95,79
Owner: Neutral Owner: Soviets
Actor135: tc05 Actor135: tc05
Location: 106,109 Location: 106,109
Owner: Neutral Owner: Neutral
Actor58: t06 Actor58: t06
Location: 85,105 Location: 85,105
Owner: Neutral Owner: Neutral
Actor125: e1 Actor125: e2
Location: 100,89 Location: 99,86
Owner: Soviets Owner: Soviets
Actor63: t11 Actor63: t11
Location: 96,68 Location: 96,68
@@ -246,8 +241,8 @@ Actors:
Actor154: e1 Actor154: e1
Location: 105,95 Location: 105,95
Owner: Soviets Owner: Soviets
Actor194: sbag Actor225: sbag
Location: 88,37 Location: 95,49
Owner: Soviets Owner: Soviets
Actor99: e1 Actor99: e1
Location: 82,72 Location: 82,72
@@ -277,10 +272,10 @@ Actors:
Location: 20,67 Location: 20,67
Owner: Soviets Owner: Soviets
Einstein: einstein Einstein: einstein
Location: 108,86 Location: 66,85
Owner: Allies1 Owner: Neutral
Actor85: medi Actor85: medi
Location: 110,87 Location: 110,86
Owner: Allies1 Owner: Allies1
SAM1: sam SAM1: sam
Location: 105,97 Location: 105,97
@@ -303,8 +298,8 @@ Actors:
Actor469: e2 Actor469: e2
Location: 97,20 Location: 97,20
Owner: Soviets Owner: Soviets
Actor332: sbag Actor194: sbag
Location: 88,39 Location: 93,50
Owner: Soviets Owner: Soviets
Actor438: fenc Actor438: fenc
Location: 88,19 Location: 88,19
@@ -315,8 +310,8 @@ Actors:
Actor549: t16 Actor549: t16
Location: 111,50 Location: 111,50
Owner: Neutral Owner: Neutral
Actor333: e1 Actor131: sbag
Location: 89,38 Location: 92,48
Owner: Soviets Owner: Soviets
Actor104: t10 Actor104: t10
Location: 107,46 Location: 107,46
@@ -348,8 +343,8 @@ Actors:
Actor64: e1 Actor64: e1
Location: 96,93 Location: 96,93
Owner: Soviets Owner: Soviets
Actor398: e2 Actor207: e1
Location: 32,27 Location: 45,22
Owner: Soviets Owner: Soviets
Actor292: tsla Actor292: tsla
Location: 58,55 Location: 58,55
@@ -378,9 +373,9 @@ Actors:
Actor105: fenc Actor105: fenc
Location: 110,94 Location: 110,94
Owner: Soviets Owner: Soviets
Actor144: e2 Actor146: t16
Location: 101,108 Location: 62,85
Owner: Soviets Owner: Neutral
Actor159: brl3 Actor159: brl3
Location: 93,64 Location: 93,64
Owner: Soviets Owner: Soviets
@@ -435,9 +430,6 @@ Actors:
Actor158: t07 Actor158: t07
Location: 110,48 Location: 110,48
Owner: Neutral Owner: Neutral
Actor112: e2
Location: 101,88
Owner: Soviets
Actor126: t03 Actor126: t03
Location: 107,79 Location: 107,79
Owner: Neutral Owner: Neutral
@@ -456,18 +448,18 @@ Actors:
Actor185: tc02 Actor185: tc02
Location: 17,57 Location: 17,57
Owner: Neutral Owner: Neutral
Actor61: e1 Actor61: tc05
Location: 73,86 Location: 87,109
Owner: Soviets Owner: Neutral
Actor381: brik Actor381: brik
Location: 28,67 Location: 28,67
Owner: Soviets Owner: Soviets
Actor174: t06 Actor174: t06
Location: 51,78 Location: 51,78
Owner: Neutral Owner: Neutral
Actor181: mine Actor711: e1
Location: 104,71 Location: 74,36
Owner: Neutral Owner: Soviets
Actor178: brik Actor178: brik
Location: 21,67 Location: 21,67
Owner: Soviets Owner: Soviets
@@ -510,9 +502,6 @@ Actors:
Actor37: fenc Actor37: fenc
Location: 99,97 Location: 99,97
Owner: Soviets Owner: Soviets
Actor240: 3tnk
Location: 89,45
Owner: Soviets
Actor195: tc03 Actor195: tc03
Location: 16,16 Location: 16,16
Owner: Neutral Owner: Neutral
@@ -603,8 +592,8 @@ Actors:
Actor140: t11 Actor140: t11
Location: 110,82 Location: 110,82
Owner: Neutral Owner: Neutral
Actor593: fenc Actor610: e2
Location: 105,109 Location: 101,79
Owner: Soviets Owner: Soviets
Actor109: fenc Actor109: fenc
Location: 111,95 Location: 111,95
@@ -619,7 +608,7 @@ Actors:
Location: 104,85 Location: 104,85
Owner: Neutral Owner: Neutral
Actor236: 3tnk Actor236: 3tnk
Location: 94,45 Location: 91,45
Owner: Soviets Owner: Soviets
Actor254: tc02 Actor254: tc02
Location: 89,34 Location: 89,34
@@ -882,9 +871,6 @@ Actors:
Actor397: brik Actor397: brik
Location: 17,50 Location: 17,50
Owner: Soviets Owner: Soviets
Actor361: sbag
Location: 35,27
Owner: Soviets
Actor547: e1 Actor547: e1
Location: 56,48 Location: 56,48
Owner: Soviets Owner: Soviets
@@ -897,9 +883,6 @@ Actors:
Actor301: tc04 Actor301: tc04
Location: 27,33 Location: 27,33
Owner: Neutral Owner: Neutral
Actor308: t12
Location: 26,25
Owner: Neutral
Actor300: v08 Actor300: v08
Location: 27,23 Location: 27,23
Owner: Soviets Owner: Soviets
@@ -909,9 +892,9 @@ Actors:
Actor311: t10 Actor311: t10
Location: 33,20 Location: 33,20
Owner: Neutral Owner: Neutral
Actor331: t03 Actor304: cycl
Location: 97,49 Location: 53,21
Owner: Neutral Owner: Soviets
Actor193: fenc Actor193: fenc
Location: 95,63 Location: 95,63
Owner: Soviets Owner: Soviets
@@ -933,17 +916,11 @@ Actors:
Actor338: wood Actor338: wood
Location: 99,62 Location: 99,62
Owner: Neutral Owner: Neutral
Actor340: e1
Location: 98,59
Owner: Soviets
Actor339: dog
Location: 99,58
Owner: Soviets
Actor412: brik Actor412: brik
Location: 17,51 Location: 17,51
Owner: Soviets Owner: Soviets
Actor344: sbag Actor345: tsla
Location: 84,50 Location: 55,31
Owner: Soviets Owner: Soviets
Actor348: e3 Actor348: e3
Location: 87,48 Location: 87,48
@@ -951,8 +928,8 @@ Actors:
Actor346: sbag Actor346: sbag
Location: 88,48 Location: 88,48
Owner: Soviets Owner: Soviets
Actor345: sbag Actor342: sbag
Location: 83,50 Location: 85,48
Owner: Soviets Owner: Soviets
Actor352: fenc Actor352: fenc
Location: 71,46 Location: 71,46
@@ -1038,41 +1015,23 @@ Actors:
Actor326: brik Actor326: brik
Location: 43,67 Location: 43,67
Owner: Soviets Owner: Soviets
Actor406: e3
Location: 35,22
Owner: Soviets
Actor396: tsla Actor396: tsla
Location: 43,39 Location: 43,39
Owner: Soviets Owner: Soviets
Actor285: sbag
Location: 24,25
Owner: Soviets
Actor407: fenc Actor407: fenc
Location: 35,25 Location: 35,25
Owner: Soviets Owner: Soviets
Actor304: sbag Actor332: cycl
Location: 25,26 Location: 45,21
Owner: Soviets Owner: Soviets
Actor399: e2 Actor331: cycl
Location: 36,22 Location: 47,21
Owner: Soviets Owner: Soviets
Actor405: e3 Actor189: t13
Location: 25,25 Location: 88,57
Owner: Soviets Owner: Neutral
Actor189: sbag Actor213: cycl
Location: 36,21 Location: 46,21
Owner: Soviets
Actor400: e3
Location: 33,27
Owner: Soviets
Actor286: sbag
Location: 24,23
Owner: Soviets
Actor360: sbag
Location: 35,28
Owner: Soviets
Actor342: sbag
Location: 24,26
Owner: Soviets Owner: Soviets
Actor175: tsla Actor175: tsla
Location: 47,51 Location: 47,51
@@ -1092,8 +1051,8 @@ Actors:
Actor123: apwr Actor123: apwr
Location: 25,55 Location: 25,55
Owner: Soviets Owner: Soviets
Actor261: powr Actor261: apwr
Location: 46,18 Location: 45,17
Owner: Soviets Owner: Soviets
Actor124: mine Actor124: mine
Location: 49,25 Location: 49,25
@@ -1104,9 +1063,6 @@ Actors:
Actor415: brik Actor415: brik
Location: 17,52 Location: 17,52
Owner: Soviets Owner: Soviets
Actor207: sbag
Location: 37,21
Owner: Soviets
Actor319: brik Actor319: brik
Location: 47,67 Location: 47,67
Owner: Soviets Owner: Soviets
@@ -1122,8 +1078,8 @@ Actors:
Actor444: brik Actor444: brik
Location: 62,58 Location: 62,58
Owner: Soviets Owner: Soviets
Actor166: e1 Actor112: e1
Location: 98,84 Location: 98,87
Owner: Soviets Owner: Soviets
Actor428: e1 Actor428: e1
Location: 90,100 Location: 90,100
@@ -1170,6 +1126,7 @@ Actors:
Actor343: 3tnk Actor343: 3tnk
Location: 57,58 Location: 57,58
Owner: Soviets Owner: Soviets
Facing: 192
Actor364: brik Actor364: brik
Location: 18,42 Location: 18,42
Owner: Soviets Owner: Soviets
@@ -1299,17 +1256,17 @@ Actors:
Actor403: brik Actor403: brik
Location: 17,66 Location: 17,66
Owner: Soviets Owner: Soviets
Actor32: barr Actor626: barl
Location: 81,66 Location: 80,72
Owner: Soviets Owner: Soviets
Actor419: e1 Actor419: e1
Location: 82,62 Location: 82,62
Owner: Soviets Owner: Soviets
Actor149: sbag Actor220: sbag
Location: 89,36 Location: 95,50
Owner: Soviets Owner: Soviets
Actor626: fenc Actor608: brl3
Location: 82,64 Location: 81,72
Owner: Soviets Owner: Soviets
Actor427: e1 Actor427: e1
Location: 76,71 Location: 76,71
@@ -1332,9 +1289,9 @@ Actors:
Actor391: brik Actor391: brik
Location: 25,67 Location: 25,67
Owner: Soviets Owner: Soviets
Actor418: powr Actor611: t05
Location: 84,66 Location: 81,65
Owner: Soviets Owner: Neutral
Actor336: fenc Actor336: fenc
Location: 90,20 Location: 90,20
Owner: Soviets Owner: Soviets
@@ -1524,15 +1481,12 @@ Actors:
Actor79: e1 Actor79: e1
Location: 80,87 Location: 80,87
Owner: Soviets Owner: Soviets
Actor556: t14 Actor42: t07
Location: 93,109 Location: 92,110
Owner: Neutral Owner: Neutral
Actor558: v10 Actor558: v10
Location: 64,90 Location: 64,90
Owner: Neutral Owner: Neutral
Actor559: e1
Location: 67,92
Owner: Soviets
ExtractionLZ: waypoint ExtractionLZ: waypoint
Location: 30,24 Location: 30,24
Owner: Neutral Owner: Neutral
@@ -1563,26 +1517,8 @@ Actors:
Actor386: brik Actor386: brik
Location: 17,43 Location: 17,43
Owner: Soviets Owner: Soviets
Actor357: sbag Actor308: cycl
Location: 32,28 Location: 52,21
Owner: Soviets
Actor358: sbag
Location: 33,28
Owner: Soviets
Actor359: sbag
Location: 34,28
Owner: Soviets
Actor220: sbag
Location: 24,24
Owner: Soviets
Actor183: sbag
Location: 35,21
Owner: Soviets
Actor213: sbag
Location: 37,22
Owner: Soviets
Actor214: e2
Location: 25,24
Owner: Soviets Owner: Soviets
Actor256: apwr Actor256: apwr
Location: 24,40 Location: 24,40
@@ -1608,8 +1544,8 @@ Actors:
Actor446: spen Actor446: spen
Location: 58,17 Location: 58,17
Owner: Soviets Owner: Soviets
Actor447: e1 Actor333: cycl
Location: 46,21 Location: 44,21
Owner: Soviets Owner: Soviets
Actor448: e2 Actor448: e2
Location: 54,22 Location: 54,22
@@ -1692,8 +1628,8 @@ Actors:
Actor495: tc02 Actor495: tc02
Location: 40,102 Location: 40,102
Owner: Neutral Owner: Neutral
Actor532: t17 Actor51: t13
Location: 59,86 Location: 66,80
Owner: Neutral Owner: Neutral
Allies2BasePoint: waypoint Allies2BasePoint: waypoint
Location: 34,96 Location: 34,96
@@ -1800,27 +1736,24 @@ Actors:
Actor598: barl Actor598: barl
Location: 93,66 Location: 93,66
Owner: Soviets Owner: Soviets
Actor430: fenc Actor462: t02
Location: 98,108 Location: 65,89
Owner: Soviets Owner: Neutral
Actor529: fenc Actor529: fenc
Location: 107,102 Location: 107,102
Owner: Soviets Owner: Soviets
Actor596: fenc Actor588: e1
Location: 95,110 Location: 69,93
Owner: Soviets Owner: Neutral
Actor535: fenc Actor535: fenc
Location: 101,100 Location: 101,100
Owner: Soviets Owner: Soviets
Actor463: fenc Actor524: e1
Location: 95,107 Location: 69,89
Owner: Soviets Owner: Neutral
Actor525: fenc Actor513: e1
Location: 102,108 Location: 67,88
Owner: Soviets Owner: Neutral
Actor601: fenc
Location: 96,107
Owner: Soviets
Actor211: e1 Actor211: e1
Location: 105,107 Location: 105,107
Owner: Soviets Owner: Soviets
@@ -1836,72 +1769,66 @@ Actors:
Actor592: dog Actor592: dog
Location: 108,97 Location: 108,97
Owner: Soviets Owner: Soviets
Actor597: fenc Actor525: e1
Location: 94,107 Location: 70,88
Owner: Soviets Owner: Neutral
Actor604: brl3 Actor604: brl3
Location: 90,67 Location: 90,67
Owner: Soviets Owner: Soviets
Actor513: fenc Actor602: brik
Location: 105,108 Location: 100,80
Owner: Soviets
Actor524: fenc
Location: 94,109
Owner: Soviets Owner: Soviets
Actor556: e1
Location: 110,89
Owner: Allies1
Actor600: barl Actor600: barl
Location: 92,68 Location: 92,68
Owner: Soviets Owner: Soviets
Actor594: fenc Actor166: brik
Location: 103,108 Location: 99,80
Owner: Soviets Owner: Soviets
Actor464: fenc Actor532: e1
Location: 94,108 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 Owner: Soviets
Actor146: fenc Actor603: brik
Location: 105,111 Location: 101,80
Owner: Soviets
Actor608: e2
Location: 84,91
Owner: Soviets
Actor602: fenc
Location: 97,107
Owner: Soviets
Actor603: fenc
Location: 98,107
Owner: Soviets
Actor588: fenc
Location: 94,110
Owner: Soviets
Actor595: fenc
Location: 105,110
Owner: Soviets
Actor462: fenc
Location: 104,108
Owner: Soviets Owner: Soviets
Actor606: brl3 Actor606: brl3
Location: 89,67 Location: 89,67
Owner: Soviets Owner: Soviets
Engineer: e6 Actor144: t01
Location: 95,108 Location: 98,107
Owner: Neutral Owner: Neutral
Actor609: fenc Actor594: e1
Location: 96,110 Location: 73,88
Owner: Soviets Owner: Neutral
Actor610: fenc Actor595: e1
Location: 97,110 Location: 73,83
Owner: Soviets
Actor611: fenc
Location: 98,110
Owner: Soviets
Actor612: e1
Location: 98,109
Owner: Soviets Owner: Soviets
SovietTownAttackPoint2: waypoint
Location: 86,78
Owner: Neutral
Actor129: e1 Actor129: e1
Location: 102,78 Location: 102,78
Owner: Soviets Owner: Soviets
Actor101: dog Actor181: mine
Location: 101,73 Location: 109,76
Owner: Soviets Owner: Neutral
Actor72: dog Actor72: dog
Location: 81,71 Location: 81,71
Owner: Soviets Owner: Soviets
@@ -1914,6 +1841,7 @@ Actors:
Actor551: 3tnk Actor551: 3tnk
Location: 54,46 Location: 54,46
Owner: Soviets Owner: Soviets
Facing: 192
Actor619: sbag Actor619: sbag
Location: 67,48 Location: 67,48
Owner: Soviets Owner: Soviets
@@ -1929,11 +1857,12 @@ Actors:
Actor548: 3tnk Actor548: 3tnk
Location: 65,44 Location: 65,44
Owner: Soviets Owner: Soviets
Facing: 192
Actor553: tsla Actor553: tsla
Location: 35,48 Location: 35,48
Owner: Soviets Owner: Soviets
Actor131: sbag Actor150: sbag
Location: 90,36 Location: 92,50
Owner: Soviets Owner: Soviets
Actor625: sbag Actor625: sbag
Location: 64,41 Location: 64,41
@@ -1974,24 +1903,24 @@ Actors:
Actor638: sbag Actor638: sbag
Location: 64,45 Location: 64,45
Owner: Soviets Owner: Soviets
Actor150: sbag Actor149: sbag
Location: 88,36 Location: 92,49
Owner: Soviets
Actor627: fenc
Location: 81,64
Owner: Soviets
Actor639: fenc
Location: 80,64
Owner: Soviets
Actor640: fenc
Location: 79,64
Owner: Soviets
Actor641: fenc
Location: 79,65
Owner: Soviets
Actor642: fenc
Location: 79,66
Owner: Soviets 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 Actor496: 3tnk
Location: 86,20 Location: 86,20
Owner: Soviets Owner: Soviets
@@ -2007,20 +1936,14 @@ Actors:
Actor100: e1 Actor100: e1
Location: 87,61 Location: 87,61
Owner: Soviets Owner: Soviets
Actor589: ftur Actor339: e1
Location: 106,59 Location: 80,59
Owner: Soviets Owner: Soviets
Actor616: e1 Actor589: dog
Location: 104,58 Location: 80,57
Owner: Soviets Owner: Soviets
Actor622: dog Actor340: e1
Location: 108,61 Location: 77,58
Owner: Soviets
Actor623: e2
Location: 104,61
Owner: Soviets
Actor629: miss
Location: 102,109
Owner: Soviets Owner: Soviets
Actor630: 3tnk Actor630: 3tnk
Location: 35,65 Location: 35,65
@@ -2041,7 +1964,7 @@ Actors:
Location: 79,96 Location: 79,96
Owner: Neutral Owner: Neutral
Actor302: cycl Actor302: cycl
Location: 45,20 Location: 44,16
Owner: Soviets Owner: Soviets
Actor303: cycl Actor303: cycl
Location: 53,19 Location: 53,19
@@ -2085,23 +2008,23 @@ Actors:
Actor659: cycl Actor659: cycl
Location: 53,20 Location: 53,20
Owner: Soviets Owner: Soviets
Actor658: cycl Actor615: cycl
Location: 45,19 Location: 44,17
Owner: Soviets Owner: Soviets
Actor657: cycl Actor657: cycl
Location: 45,18 Location: 44,18
Owner: Soviets Owner: Soviets
Actor615: cycl Actor658: cycl
Location: 45,17 Location: 44,19
Owner: Soviets Owner: Soviets
Actor661: tc03 Actor661: tc03
Location: 54,16 Location: 54,16
Owner: Neutral Owner: Neutral
Actor662: ftur Actor183: ftur
Location: 49,21 Location: 48,21
Owner: Soviets Owner: Soviets
Actor409: 3tnk.husk Actor285: sbag
Location: 45,22 Location: 85,49
Owner: Soviets Owner: Soviets
Actor664: silo Actor664: silo
Location: 25,61 Location: 25,61
@@ -2112,6 +2035,219 @@ Actors:
Actor666: dog Actor666: dog
Location: 30,47 Location: 30,47
Owner: Soviets Owner: Soviets
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
Actor640: wood
Location: 85,97
Owner: Neutral
Actor641: wood
Location: 84,97
Owner: Neutral
Actor642: wood
Location: 83,97
Owner: Neutral
Actor673: wood
Location: 82,97
Owner: Neutral
Actor674: wood
Location: 81,97
Owner: Neutral
Actor682: wood
Location: 74,82
Owner: Neutral
Actor681: wood
Location: 70,100
Owner: Neutral
Actor680: wood
Location: 69,100
Owner: Neutral
Actor679: wood
Location: 84,90
Owner: Neutral
Actor678: wood
Location: 85,90
Owner: Neutral
Actor676: wood
Location: 79,97
Owner: Neutral
Actor677: wood
Location: 86,90
Owner: Neutral
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
Actor696: cycl
Location: 44,20
Owner: Soviets
Actor701: e1
Location: 69,110
Owner: Soviets
Actor702: e1
Location: 74,109
Owner: Soviets
Actor703: e1
Location: 77,110
Owner: Soviets
Actor704: e1
Location: 73,110
Owner: Soviets
Actor705: e1
Location: 71,109
Owner: Soviets
Actor694: dog
Location: 87,79
Owner: Soviets
Actor710: dog
Location: 92,81
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
Actor344: sbag
Location: 95,48
Owner: Soviets
Actor639: 3tnk
Location: 84,77
Owner: Soviets
Actor683: wood
Location: 75,82
Owner: Neutral
Actor684: wood
Location: 76,82
Owner: Neutral
Actor685: wood
Location: 77,82
Owner: Neutral
Actor691: wood
Location: 78,82
Owner: Neutral
Actor693: wood
Location: 79,82
Owner: Neutral
Actor700: tsla
Location: 55,17
Owner: Soviets
Actor698: wood
Location: 80,82
Owner: Neutral
Actor708: v17
Location: 69,97
Owner: Neutral
Actor101: dog
Location: 98,74
Owner: Soviets
Actor715: e2
Location: 75,34
Owner: Soviets
Actor286: apc
Location: 74,34
Owner: Soviets
Actor720: fenc
Location: 99,81
Owner: Soviets
Actor721: fenc
Location: 100,81
Owner: Soviets
Actor722: fenc
Location: 101,81
Owner: Soviets
Actor723: fenc
Location: 93,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
Smudges: Smudges:
@@ -2123,11 +2259,12 @@ Rules:
-SpawnMPUnits: -SpawnMPUnits:
-MPStartLocations: -MPStartLocations:
Allies02Script: Allies02Script:
TRAN.Husk1:
Burns:
Damage: 0
TRAN.Husk2: TRAN.Husk2:
Burns: Burns:
Damage: 0 Damage: 0
RevealsShroud:
Range: 3
E7: E7:
AutoTarget: AutoTarget:
InitialStance: ReturnFire InitialStance: ReturnFire