From 1f8fd404e545f2e8f669d216b091d61263b086b3 Mon Sep 17 00:00:00 2001 From: Scott_NZ Date: Sun, 11 Nov 2012 23:23:32 +1300 Subject: [PATCH] Much better yak management. Map improvements. --- OpenRA.Mods.RA/Missions/Allies02Script.cs | 8 +- OpenRA.Mods.RA/Missions/Allies03Script.cs | 121 ++++-- mods/ra/maps/allies-03/map.bin | Bin 92165 -> 92165 bytes mods/ra/maps/allies-03/map.yaml | 506 ++++++++++------------ 4 files changed, 317 insertions(+), 318 deletions(-) diff --git a/OpenRA.Mods.RA/Missions/Allies02Script.cs b/OpenRA.Mods.RA/Missions/Allies02Script.cs index 260abf5f00..3bf7d3f03a 100644 --- a/OpenRA.Mods.RA/Missions/Allies02Script.cs +++ b/OpenRA.Mods.RA/Missions/Allies02Script.cs @@ -236,10 +236,10 @@ namespace OpenRA.Mods.RA.Missions } if (objectives[DestroySamSitesID].Status == ObjectiveStatus.InProgress) { - if ((sam1.Destroyed || sam1.Owner != soviets) && - (sam2.Destroyed || sam2.Owner != soviets) && - (sam3.Destroyed || sam3.Owner != soviets) && - (sam4.Destroyed || sam4.Owner != soviets)) + if ((sam1.Destroyed || sam1.Owner != soviets) + && (sam2.Destroyed || sam2.Owner != soviets) + && (sam3.Destroyed || sam3.Owner != soviets) + && (sam4.Destroyed || sam4.Owner != soviets)) { objectives[DestroySamSitesID].Status = ObjectiveStatus.Completed; objectives[ExtractEinsteinID].Status = ObjectiveStatus.InProgress; diff --git a/OpenRA.Mods.RA/Missions/Allies03Script.cs b/OpenRA.Mods.RA/Missions/Allies03Script.cs index 0dce6a6cac..9cdce8b569 100644 --- a/OpenRA.Mods.RA/Missions/Allies03Script.cs +++ b/OpenRA.Mods.RA/Missions/Allies03Script.cs @@ -64,12 +64,14 @@ namespace OpenRA.Mods.RA.Missions 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 sovietAirfield1; @@ -78,8 +80,9 @@ namespace OpenRA.Mods.RA.Missions Actor sovietAirfield4; static readonly string[] SovietVehicles = { "3tnk", "3tnk", "3tnk", "3tnk", "3tnk", "3tnk", "v2rl", "v2rl", "ftrk", "ftrk", "apc", "apc", "apc" }; - const int SovietAttackGroupSize = 5; - const int YakTicks = 2000; + const int SovietAttackGroupSize = 3; + const int YakSpawnTicks = 2000; + const int MaxNumberYaks = 4; int attackAtFrame; int attackAtFrameIncrement; @@ -127,7 +130,7 @@ namespace OpenRA.Mods.RA.Missions } if (world.FrameNumber == 1) { - SpawnAlliedUnits(); + SpawnAlliedMcvs(); evacuateWidget = new InfoWidget("", new float2(Game.viewport.Width * 0.35f, Game.viewport.Height * 0.9f)); Ui.Root.AddChild(evacuateWidget); UpdateUnitsEvacuated(); @@ -138,11 +141,16 @@ namespace OpenRA.Mods.RA.Missions attackAtFrame += attackAtFrameIncrement; attackAtFrameIncrement = Math.Max(attackAtFrameIncrement - 5, 100); } - if (world.FrameNumber % YakTicks == 1 && objectives[AirbaseID].Status != ObjectiveStatus.Completed) + if (world.FrameNumber % YakSpawnTicks == 0 && SovietAircraft().Count() < MaxNumberYaks) { - AirStrafe(YakName); + SpawnSovietAircraft(); + } + if (objectives[AirbaseID].Status != ObjectiveStatus.Completed) + { + ManageSovietAircraft(); } ManageSovietUnits(); + ManageSovietAircraft(); ManageSovietOre(); EvacuateAlliedUnits(exit1TopLeft.CenterLocation, exit1BottomRight.CenterLocation, exit1ExitPoint.Location); EvacuateAlliedUnits(exit2TopLeft.CenterLocation, exit2BottomRight.CenterLocation, exit2ExitPoint.Location); @@ -160,51 +168,72 @@ namespace OpenRA.Mods.RA.Missions res.TakeCash(res.Cash); } - void AirStrafe(string withActor) + void ManageSovietAircraft() { - var spawnPoint = world.ChooseRandomEdgeCell(); - var aircraft = world.Actors.Where( - a => a.HasTrait() && a.Trait().FullAmmo() && a.Trait().Altitude == 0 - && a.Owner == soviets && a.IsIdle && a.IsInWorld); - if (aircraft.Count() < 4) + var enemies = world.Actors.Where(u => (u.Owner == allies1 || u.Owner == allies2) && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && u.IsInWorld && !u.IsDead()); + foreach (var a in SovietAircraft()) { - var a = world.CreateActor(withActor, new TypeDictionary - { - new LocationInit(spawnPoint), - new OwnerInit(soviets), - new AltitudeInit(Rules.Info[withActor].Traits.Get().CruiseAltitude) - }); - aircraft = aircraft.Concat(new[] { a }); - } - foreach (var a in aircraft) - { - AirStrafe(a); + var plane = a.Trait(); + var ammo = a.Trait(); + if ((plane.Altitude == 0 && ammo.FullAmmo()) || (plane.Altitude != 0 && ammo.HasAmmo())) + { + if (!a.IsIdle && a.GetCurrentActivity().GetType() != typeof(FlyAttack)) + { + a.CancelActivity(); + } + var enemy = enemies.OrderBy(u => (a.CenterLocation - u.CenterLocation).LengthSquared).FirstOrDefault(); + if (enemy != null) + { + if (plane.Altitude == 0) + { + plane.UnReserve(); + } + a.QueueActivity(new FlyAttack(Target.FromActor(enemy))); + } + } + else if (plane.Altitude != 0 && !LandIsQueued(a)) + { + a.CancelActivity(); + a.QueueActivity(new ReturnToBase(a, null)); + a.QueueActivity(new ResupplyAircraft()); + } } } - void AirStrafe(Actor self) + bool LandIsQueued(Actor actor) { - var enemies = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == allies1 || u.Owner == allies2) && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait())); - var targetEnemy = enemies.OrderBy(u => (self.CenterLocation - u.CenterLocation).LengthSquared).FirstOrDefault(); - if (targetEnemy != null && self.Trait().HasAmmo()) + var a = actor.GetCurrentActivity(); + for (;;) { - self.QueueActivity(new FlyAttack(Target.FromActor(targetEnemy))); - self.QueueActivity(new CallFunc(() => AirStrafe(self))); - } - else - { - self.QueueActivity(new FlyOffMap()); - self.QueueActivity(new RemoveSelf()); + if (a == null) { return false; } + if (a.GetType() == typeof(ReturnToBase) || a.GetType() == typeof(Land)) { return true; } + a = a.NextActivity; } } + void SpawnSovietAircraft() + { + var spawnPoint = world.ChooseRandomEdgeCell(); + world.CreateActor(YakName, new TypeDictionary + { + new LocationInit(spawnPoint), + new OwnerInit(soviets), + new AltitudeInit(Rules.Info[YakName].Traits.Get().CruiseAltitude) + }); + } + + IEnumerable SovietAircraft() + { + return world.Actors.Where(a => a.HasTrait() && a.Owner == soviets && a.IsInWorld && !a.IsDead()); + } + void CheckSovietAirbase() { - if (objectives[AirbaseID].Status != ObjectiveStatus.Completed && - (sovietAirfield1.Destroyed || sovietAirfield1.Owner != soviets) && - (sovietAirfield2.Destroyed || sovietAirfield2.Owner != soviets) && - (sovietAirfield3.Destroyed || sovietAirfield3.Owner != soviets) && - (sovietAirfield4.Destroyed || sovietAirfield4.Owner != soviets)) + if (objectives[AirbaseID].Status != ObjectiveStatus.Completed + && (sovietAirfield1.Destroyed || sovietAirfield1.Owner != soviets) + && (sovietAirfield2.Destroyed || sovietAirfield2.Owner != soviets) + && (sovietAirfield3.Destroyed || sovietAirfield3.Owner != soviets) + && (sovietAirfield4.Destroyed || sovietAirfield4.Owner != soviets)) { objectives[AirbaseID].Status = ObjectiveStatus.Completed; OnObjectivesUpdated(true); @@ -255,7 +284,7 @@ namespace OpenRA.Mods.RA.Missions } } - void SpawnAlliedUnits() + void SpawnAlliedMcvs() { var unit = world.CreateActor(McvName, new TypeDictionary { @@ -317,14 +346,14 @@ namespace OpenRA.Mods.RA.Missions allies2 = w.Players.SingleOrDefault(p => p.InternalName == "Allies2"); if (allies2 != null) { - attackAtFrame = 400; - attackAtFrameIncrement = 400; + attackAtFrame = 500; + attackAtFrameIncrement = 500; } else { allies2 = allies1; - attackAtFrame = 500; - attackAtFrameIncrement = 500; + attackAtFrame = 600; + attackAtFrameIncrement = 600; } allies = w.Players.Single(p => p.InternalName == "Allies"); soviets = w.Players.Single(p => p.InternalName == "Soviets"); @@ -344,13 +373,15 @@ namespace OpenRA.Mods.RA.Missions sovietEntryPoint3 = actors["SovietEntryPoint3"]; sovietEntryPoint4 = actors["SovietEntryPoint4"]; sovietEntryPoint5 = actors["SovietEntryPoint5"]; - sovietEntryPoints = new[] { sovietEntryPoint1, sovietEntryPoint2, sovietEntryPoint3, sovietEntryPoint4, sovietEntryPoint5 }.Select(p => p.Location).ToArray(); + 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"]; - sovietRallyPoints = new[] { sovietRallyPoint1, sovietRallyPoint2, sovietRallyPoint3, sovietRallyPoint4, sovietRallyPoint5 }.Select(p => p.Location).ToArray(); + sovietRallyPoint6 = actors["SovietRallyPoint6"]; + sovietRallyPoints = new[] { sovietRallyPoint1, sovietRallyPoint2, sovietRallyPoint3, sovietRallyPoint4, sovietRallyPoint5, sovietRallyPoint6 }.Select(p => p.Location).ToArray(); sovietAirfield1 = actors["SovietAirfield1"]; sovietAirfield2 = actors["SovietAirfield2"]; sovietAirfield3 = actors["SovietAirfield3"]; diff --git a/mods/ra/maps/allies-03/map.bin b/mods/ra/maps/allies-03/map.bin index 577ad8f61d766169044005b787849d3c12854bc0..4badf81d616f50cc9b6357a5a86ac49f0e5c3f66 100644 GIT binary patch literal 92165 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 diff --git a/mods/ra/maps/allies-03/map.yaml b/mods/ra/maps/allies-03/map.yaml index 7cc48942b6..898329510f 100644 --- a/mods/ra/maps/allies-03/map.yaml +++ b/mods/ra/maps/allies-03/map.yaml @@ -114,8 +114,8 @@ Actors: Actor53: tc03 Location: 138,53 Owner: Neutral - Actor2: tc04 - Location: 53,43 + Actor2: tc05 + Location: 64,44 Owner: Neutral Actor57: tc04 Location: 43,19 @@ -528,11 +528,8 @@ Actors: Actor322: t07 Location: 112,65 Owner: Neutral - Actor321: t07 - Location: 93,59 - Owner: Neutral - Actor320: t07 - Location: 95,51 + Actor246: t06 + Location: 94,64 Owner: Neutral Actor303: t06 Location: 101,69 @@ -558,9 +555,6 @@ Actors: Actor360: t11 Location: 122,76 Owner: Neutral - Actor173: oilb - Location: 146,46 - Owner: Neutral Actor187: tc04 Location: 99,27 Owner: Neutral @@ -570,21 +564,12 @@ Actors: Actor203: tc05 Location: 67,64 Owner: Neutral - Actor172: barl - Location: 74,60 - Owner: Neutral - Actor295: t05 - Location: 89,54 - Owner: Neutral Actor350: t10 Location: 87,22 Owner: Neutral Actor17: proc Location: 168,62 Owner: Soviets - Actor170: oilb - Location: 72,58 - Owner: Neutral Actor291: t05 Location: 91,33 Owner: Neutral @@ -606,15 +591,9 @@ Actors: Actor269: t03 Location: 84,37 Owner: Neutral - Actor256: t02 - Location: 106,42 - Owner: Neutral Actor271: t03 Location: 79,57 Owner: Neutral - Actor352: t10 - Location: 88,57 - Owner: Neutral SovietEntryPoint4: waypoint Location: 115,16 Owner: Neutral @@ -624,8 +603,8 @@ Actors: Actor221: tc01 Location: 113,73 Owner: Neutral - Actor224: tc01 - Location: 65,42 + Actor215: t05 + Location: 72,40 Owner: Neutral Actor267: t02 Location: 123,62 @@ -636,9 +615,6 @@ Actors: Actor220: tc01 Location: 117,40 Owner: Neutral - Actor218: tc01 - Location: 89,63 - Owner: Neutral Actor158: tc01 Location: 23,35 Owner: Neutral @@ -654,8 +630,8 @@ Actors: Actor211: tc02 Location: 75,74 Owner: Neutral - Actor215: tc02 - Location: 71,38 + Actor213: tc04 + Location: 55,43 Owner: Neutral Actor214: tc02 Location: 79,47 @@ -663,9 +639,6 @@ Actors: Actor38: t15 Location: 30,52 Owner: Neutral - Actor44: t01 - Location: 55,56 - Owner: Neutral Actor407: t13 Location: 32,62 Owner: Neutral @@ -741,9 +714,6 @@ Actors: Actor55: t01 Location: 37,37 Owner: Neutral - Actor56: t01 - Location: 94,41 - Owner: Neutral Actor760: t03 Location: 175,27 Owner: Neutral @@ -777,9 +747,6 @@ Actors: Actor780: t03 Location: 79,39 Owner: Neutral - Actor171: brl3 - Location: 74,59 - Owner: Neutral Actor398: t05 Location: 32,64 Owner: Neutral @@ -999,26 +966,8 @@ Actors: Exit2ExitPoint: waypoint Location: 16,29 Owner: Neutral - Actor174: oilb - Location: 143,46 - Owner: Neutral - Actor169: oilb - Location: 72,54 - Owner: Neutral - Actor175: brl3 - Location: 148,47 - Owner: Neutral - Actor176: barl - Location: 142,47 - Owner: Neutral - Actor177: brl3 - Location: 142,46 - Owner: Neutral - Actor179: barl - Location: 145,48 - Owner: Neutral - Actor180: barl - Location: 74,56 + Actor177: oilb + Location: 86,52 Owner: Neutral SovietEntryPoint3: waypoint Location: 105,79 @@ -1030,19 +979,19 @@ Actors: Location: 89,79 Owner: Neutral SovietRallyPoint2: waypoint - Location: 94,33 + Location: 93,20 Owner: Neutral SovietRallyPoint1: waypoint - Location: 83,61 + Location: 89,75 Owner: Neutral SovietRallyPoint3: waypoint - Location: 112,49 + Location: 105,75 Owner: Neutral SovietRallyPoint4: waypoint - Location: 116,30 + Location: 115,20 Owner: Neutral SovietRallyPoint5: waypoint - Location: 131,63 + Location: 130,75 Owner: Neutral Actor152: brl3 Location: 157,66 @@ -1158,9 +1107,6 @@ Actors: Actor244: e1 Location: 160,60 Owner: Soviets - Actor245: fenc - Location: 63,33 - Owner: Soviets Actor206: fenc Location: 158,53 Owner: Soviets @@ -1206,220 +1152,242 @@ Actors: Actor202: fenc Location: 147,69 Owner: Soviets - Actor258: fenc - Location: 63,34 - Owner: Soviets - Actor259: fenc - Location: 63,35 - Owner: Soviets - Actor260: fenc - Location: 63,36 - Owner: Soviets - Actor261: fenc - Location: 64,36 - Owner: Soviets - Actor262: fenc - Location: 64,37 - Owner: Soviets - Actor263: fenc - Location: 65,37 - Owner: Soviets - Actor265: fenc - Location: 66,37 - Owner: Soviets - Actor266: fenc - Location: 66,38 - Owner: Soviets - Actor270: fenc - Location: 66,39 - Owner: Soviets - Actor272: fenc - Location: 66,40 - Owner: Soviets - Actor275: fenc - Location: 66,41 - Owner: Soviets - Actor276: fenc - Location: 65,41 - Owner: Soviets - Actor277: fenc - Location: 64,41 - Owner: Soviets - Actor281: fenc - Location: 64,42 - Owner: Soviets - Actor282: ftur - Location: 68,38 - Owner: Soviets - Actor285: e1 - Location: 67,41 - Owner: Soviets - Actor286: e1 - Location: 68,35 - Owner: Soviets - Actor288: e2 - Location: 64,34 - Owner: Soviets - Actor290: dog - Location: 67,42 - Owner: Soviets Actor292: e2 Location: 165,59 Owner: Soviets - Actor293: fenc - Location: 61,63 - Owner: Soviets - Actor297: fenc - Location: 61,65 - Owner: Soviets - Actor299: fenc - Location: 62,65 - Owner: Soviets - Actor300: fenc - Location: 62,66 - Owner: Soviets - Actor294: fenc - Location: 61,64 - Owner: Soviets - Actor308: dog - Location: 61,67 - Owner: Soviets - Actor304: fenc - Location: 62,70 - Owner: Soviets - Actor305: fenc - Location: 62,71 - Owner: Soviets - Actor306: fenc - Location: 62,72 - Owner: Soviets - Actor301: ftur - Location: 64,66 - Owner: Soviets - Actor309: e1 - Location: 63,69 - Owner: Soviets - Actor311: e1 - Location: 62,67 - Owner: Soviets - Actor313: ftur - Location: 130,29 - Owner: Soviets - Actor318: v02 - Location: 91,54 + Actor232: t01 + Location: 72,43 Owner: Neutral - Actor317: v01.sniper - Location: 96,54 - Owner: Soviets - Actor316: e1 - Location: 130,31 - Owner: Soviets - Actor319: fenc - Location: 127,27 - Owner: Soviets - Actor324: fenc - Location: 127,28 - Owner: Soviets - Actor325: fenc - Location: 127,29 - Owner: Soviets - Actor328: fenc - Location: 127,30 - Owner: Soviets - Actor330: v04 - Location: 101,54 + Actor224: tc02 + Location: 58,46 Owner: Neutral - Actor332: v05 - Location: 102,51 + Actor170: mine + Location: 114,55 Owner: Neutral - Actor334: v06 - Location: 91,60 - Owner: Neutral - Actor336: v04 - Location: 87,56 - Owner: Neutral - Actor337: v07 - Location: 106,55 - Owner: Neutral - Actor339: v09 - Location: 92,53 - Owner: Neutral - Actor340: v10 - Location: 94,53 - Owner: Neutral - Actor341: wood - Location: 100,49 - Owner: Neutral - Actor342: wood - Location: 99,49 - Owner: Neutral - Actor343: wood - Location: 98,49 - Owner: Neutral - Actor344: wood - Location: 97,49 - Owner: Neutral - Actor347: wood - Location: 96,49 - Owner: Neutral - Actor348: wood - Location: 95,49 - Owner: Neutral - Actor349: wood - Location: 94,49 - Owner: Neutral - Actor351: wood - Location: 93,49 - Owner: Neutral - Actor353: wood - Location: 92,49 - Owner: Neutral - Actor355: wood - Location: 91,49 - Owner: Neutral - Actor358: v17 - Location: 91,62 - Owner: Neutral - Actor357: tc05 - Location: 88,48 + Actor169: mine + Location: 113,57 Owner: Neutral Allies2MovePoint: waypoint Location: 167,38 Owner: Neutral - Actor359: powr - Location: 104,4 - Owner: Soviets - Actor361: powr - Location: 106,4 - Owner: Soviets - Actor362: powr - Location: 104,7 - Owner: Soviets - Actor413: powr - Location: 106,7 - Owner: Soviets - Actor414: e1 - Location: 98,58 - Owner: Soviets - Actor415: e1 - Location: 90,56 - Owner: Soviets - Actor416: dog - Location: 97,57 - Owner: Soviets - Actor417: e1 - Location: 98,52 - Owner: Soviets Actor3: silo Location: 172,59 Owner: Soviets Actor33: kenn 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 + Actor176: brl3 + Location: 84,51 + Owner: Neutral + Actor172: t10 + Location: 61,50 + Owner: Neutral + Actor256: barl + Location: 88,56 + Owner: Neutral + Actor255: barl + Location: 87,51 + Owner: Neutral + Actor44: t11 + Location: 57,54 + Owner: Neutral + Actor249: t11 + Location: 98,58 + Owner: Neutral + Actor245: tc05 + Location: 106,43 + Owner: Neutral + Actor179: barl + Location: 84,52 + Owner: Neutral + Actor236: brl3 + Location: 87,55 + Owner: Neutral + Actor258: brl3 + Location: 88,51 + Owner: Neutral + Actor212: oilb + Location: 86,56 + Owner: Neutral + Actor174: brl3 + Location: 84,55 + Owner: Neutral + Actor175: barl + Location: 83,55 + Owner: Neutral + Actor173: oilb + Location: 82,56 + Owner: Neutral + Actor56: oilb + Location: 82,52 + Owner: Neutral + 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 Smudges: Rules: + 1TNK.evac: + Inherits: ^Tank + Valued: + Cost: 700 + Tooltip: + Name: Light Tank + Health: + HP: 220 + Armor: + Type: Heavy + Mobile: + Speed: 4 + RevealsShroud: + Range: 4 + Turreted: + ROT: 5 + AttackTurreted: + PrimaryWeapon: 25mm + PrimaryRecoil: 2 + PrimaryRecoilRecovery: 0.5 + RenderUnitTurreted: + Image: 1TNK + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + LeavesHusk: + HuskActor: 1TNK.Husk + 2TNK.evac: + Inherits: ^Tank + Valued: + Cost: 850 + Tooltip: + Name: Medium Tank + Health: + HP: 450 + Armor: + Type: Heavy + Mobile: + Speed: 4 + Crushes: wall, atmine, crate, infantry + RevealsShroud: + Range: 5 + Turreted: + ROT: 5 + AttackTurreted: + PrimaryWeapon: 90mm + PrimaryRecoil: 3 + PrimaryRecoilRecovery: 0.9 + RenderUnitTurreted: + Image: 2TNK + AutoTarget: + Explodes: + Weapon: UnitExplodeSmall + EmptyWeapon: UnitExplodeSmall + LeavesHusk: + HuskActor: 2TNK.Husk + Selectable: + Bounds: 30,30 + TRUK.evac: + Inherits: ^Vehicle + Valued: + Cost: 500 + Tooltip: + Name: Supply Truck + Health: + HP: 110 + Armor: + Type: Light + Mobile: + Speed: 4 + RevealsShroud: + Range: 3 + RenderUnit: + Image: TRUK + AttackMove: + JustMove: yes + JEEP.evac: + Inherits: ^Vehicle + Valued: + Cost: 500 + Tooltip: + Name: Ranger + Health: + HP: 150 + Armor: + Type: Light + Mobile: + Speed: 4 + RevealsShroud: + Range: 8 + Turreted: + ROT: 10 + AttackTurreted: + PrimaryWeapon: M60mg + PrimaryOffset: 0,0,0,-2 + WithMuzzleFlash: + RenderUnitTurreted: + Image: JEEP + AutoTarget: Player: -ConquestVictoryConditions: World: @@ -1468,9 +1436,6 @@ Rules: MSLO: Buildable: Owner: None - GAP: - Buildable: - Owner: None SPEN: Buildable: Owner: None @@ -1492,9 +1457,6 @@ Rules: SAM: Buildable: Owner: None - ATEK: - Buildable: - Owner: None HPAD: Buildable: Owner: None @@ -1531,6 +1493,12 @@ Rules: CTNK: Buildable: Owner: None + MGG: + Buildable: + Queue: Vehicle + BuildPaletteOrder: 150 + Prerequisites: atek + Owner: allies Sequences: