diff --git a/mods/ra/maps/allies-10a/allies10a-AI.lua b/mods/ra/maps/allies-10a/allies10a-AI.lua new file mode 100644 index 0000000000..6cfb658ab9 --- /dev/null +++ b/mods/ra/maps/allies-10a/allies10a-AI.lua @@ -0,0 +1,175 @@ +--[[ + Copyright 2007-2021 The OpenRA Developers (see AUTHORS) + This file is part of OpenRA, which is free software. It is made + available to you under the terms of the GNU General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. For more + information, see COPYING. +]] +AttackGroup = { } +AttackGroupSize = 10 +BGAttackGroup = { } +BGAttackGroupSize = 6 +SovietInfantry = { "e1", "e2", "e4" } +SovietVehicles = { "4tnk", "3tnk", "3tnk", "3tnk" } + +SovietAircraftType = { "mig" } +Migs = { } + +ProductionInterval = +{ + easy = DateTime.Seconds(30), + normal = DateTime.Seconds(24), + hard = DateTime.Seconds(15) +} + +SendBGAttackGroup = function() + if #BGAttackGroup < BGAttackGroupSize then + return + end + + Utils.Do(BGAttackGroup, function(unit) + if not unit.IsDead then + Trigger.OnIdle(unit, unit.Hunt) + end + end) + + BGAttackGroup = { } +end + +ProduceBadGuyInfantry = function() + if BadGuyRax.IsDead or BadGuyRax.Owner ~= BadGuy then + return + end + + BadGuy.Build({ Utils.Random(SovietInfantry) }, function(units) + table.insert(BGAttackGroup, units[1]) + SendBGAttackGroup() + Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceBadGuyInfantry) + end) +end + +AttackWaypoints = { AttackWaypoint1, AttackWaypoint2 } +SendAttackGroup = function() + if #AttackGroup < AttackGroupSize then + return + end + + local way = Utils.Random(AttackWaypoints) + Utils.Do(AttackGroup, function(unit) + if not unit.IsDead then + unit.AttackMove(way.Location) + Trigger.OnIdle(unit, unit.Hunt) + end + end) + + AttackGroup = { } +end + +ProduceInfantry = function() + if (USSRRax1.IsDead or USSRRax1.Owner ~= USSR) and (USSRRax2.IsDead or USSRRax2.Owner ~= USSR) then + return + end + + USSR.Build({ Utils.Random(SovietInfantry) }, function(units) + table.insert(AttackGroup, units[1]) + SendAttackGroup() + Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry) + end) +end + +ProduceVehicles = function() + if USSRWarFactory.IsDead or USSRWarFactory.Owner ~= USSR then + return + end + + USSR.Build({ Utils.Random(SovietVehicles) }, function(units) + table.insert(AttackGroup, units[1]) + SendAttackGroup() + Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles) + end) +end + +ProduceAircraft = function() + if (Airfield1.IsDead or Airfield1.Owner ~= BadGuy) and (Airfield2.IsDead or Airfield2.Owner ~= BadGuy) and (Airfield3.IsDead or Airfield3.Owner ~= BadGuy) and (Airfield4.IsDead or Airfield4.Owner ~= BadGuy) then + return + end + + BadGuy.Build(SovietAircraftType, function(units) + local mig = units[1] + Migs[#Migs + 1] = mig + + Trigger.OnKilled(mig, ProduceAircraft) + + local alive = Utils.Where(Migs, function(y) return not y.IsDead end) + if #alive < 2 then + Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft) + end + + InitializeAttackAircraft(mig, Greece) + end) +end + +ParadropDelay = +{ + easy = { DateTime.Minutes(1), DateTime.Minutes(2) }, + normal = { DateTime.Seconds(45), DateTime.Minutes(1) }, + hard = { DateTime.Seconds(30), DateTime.Seconds(45) } +} + +ParadropLZs = { ParaLZ1.CenterPosition, ParaLZ2.CenterPosition, ParaLZ3.CenterPosition, ParaLZ4.CenterPosition, ParaLZ5.CenterPosition } + +Paradrop = function() + local aircraft = StandardDrop.TargetParatroopers(Utils.Random(ParadropLZs), Angle.NorthWest) + Utils.Do(aircraft, function(a) + Trigger.OnPassengerExited(a, function(t, p) + IdleHunt(p) + end) + end) + + Trigger.AfterDelay(Utils.RandomInteger(ParadropDelay[1], ParadropDelay[2]), Paradrop) +end + +BombDelays = +{ + easy = 4, + normal = 3, + hard = 2 +} + +SendParabombs = function() + local targets = Utils.Where(Greece.GetActors(), function(actor) + return + actor.HasProperty("Sell") and + actor.Type ~= "brik" and + actor.Type ~= "sbag" + end) + + if #targets > 0 then + local proxy = Actor.Create("powerproxy.parabombs", false, { Owner = USSR }) + proxy.TargetAirstrike(Utils.Random(targets).CenterPosition, Angle.NorthWest) + proxy.Destroy() + end + + Trigger.AfterDelay(DateTime.Minutes(BombDelays), SendParabombs) +end + +ActivateAI = function() + local difficulty = Map.LobbyOption("difficulty") + ParadropDelay = ParadropDelay[difficulty] + BombDelays = BombDelays[difficulty] + + local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == USSR and self.HasProperty("StartBuildingRepairs") end) + Utils.Do(buildings, function(actor) + Trigger.OnDamaged(actor, function(building) + if building.Owner == USSR and building.Health < building.MaxHealth * 3/4 then + building.StartBuildingRepairs() + end + end) + end) + + ProduceBadGuyInfantry() + Trigger.AfterDelay(DateTime.Minutes(2), ProduceInfantry) + Trigger.AfterDelay(DateTime.Minutes(4), ProduceVehicles) + Trigger.AfterDelay(DateTime.Minutes(6), ProduceAircraft) +end diff --git a/mods/ra/maps/allies-10a/allies10a.lua b/mods/ra/maps/allies-10a/allies10a.lua new file mode 100644 index 0000000000..ad308e13d7 --- /dev/null +++ b/mods/ra/maps/allies-10a/allies10a.lua @@ -0,0 +1,220 @@ +--[[ + Copyright 2007-2021 The OpenRA Developers (see AUTHORS) + This file is part of OpenRA, which is free software. It is made + available to you under the terms of the GNU General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. For more + information, see COPYING. +]] +StartingUnits = { "mcv", "2tnk", "2tnk", "2tnk", "2tnk" } +MammothWays = { MammothWay1.Location, MammothWay2.Location, MammothWay3.Location, MammothWay4.Location, ParaLZ5.Location } +PeekersA = { Peekaboo1, Peekaboo2, Peekaboo3 } +PeekersB = { Peekaboo4, Peekaboo5 } +AmbushTeam = { "3tnk", "v2rl", "e2", "e2", "e4" } +NorthHarassFootprint = { CPos.New(24, 75), CPos.New(25, 75), CPos.New(26, 75), CPos.New(27, 75), CPos.New(36, 72), CPos.New(37, 72), CPos.New(38, 72), CPos.New(39, 72) } +NorthHarassTeam = { "e2", "e2", "e2", "3tnk" } +MissileSilos = { MissileSilo1, MissileSilo2, MissileSilo3, MissileSilo4 } + +StartTimer = false +TimerColor = Player.GetPlayer("USSR").Color +TimerTicks = DateTime.Minutes(59) + DateTime.Seconds(42) +ticked = TimerTicks + +MissionStart = function() + Utils.Do(USSR.GetGroundAttackers(), function(unit) + Trigger.OnDamaged(unit, function() IdleHunt(unit) end) + end) + + Reinforcements.Reinforce(Greece, StartingUnits, { MCVEntry.Location, MCVStop.Location }) + + PatrolMammoth.Patrol(MammothWays, true, 20) + + Trigger.AfterDelay(DateTime.Seconds(10), function() + Utils.Do(PeekersA, function(unit) + if not unit.IsDead then + unit.AttackMove(MCVStop.Location) + IdleHunt(unit) + end + end) + end) + + Trigger.AfterDelay(DateTime.Seconds(45), function() + Utils.Do(PeekersB, function(unit) + if not unit.IsDead then + unit.AttackMove(AttackWaypoint1.Location) + IdleHunt(unit) + end + end) + end) +end + +MissionTriggers = function() + Trigger.OnKilled(CommandCenter, function() + USSR.MarkCompletedObjective(HoldOut) + end) + + Trigger.OnEnteredProximityTrigger(FCom.CenterPosition, WDist.FromCells(15), function(actor, id) + if actor.Owner == Greece and not MissilesLaunched then + Trigger.RemoveProximityTrigger(id) + LaunchMissiles() + end + end) + + Trigger.OnKilled(BridgeBarrel, function() + local bridge = Utils.Where(Map.ActorsInWorld, function(actor) return actor.Type == "bridge1" end)[1] + if not bridge.IsDead then + bridge.Kill() + end + end) + + Trigger.OnEnteredProximityTrigger(OreAmbushTrigger.CenterPosition, WDist.FromCells(5), function(actor, id) + if actor.Owner == Greece and actor.Type == "harv" and not Map.LobbyOption("difficulty") == "easy" then + Trigger.RemoveProximityTrigger(id) + local ambush = Reinforcements.Reinforce(USSR, AmbushTeam, { OreAmbushEntry.Location}) + Utils.Do(ambush, IdleHunt) + end + end) + + local northFootTriggered + Trigger.OnEnteredFootprint(NorthHarassFootprint, function(actor, id) + if actor.Owner == Greece and not northFootTriggered then + Trigger.RemoveFootprintTrigger(id) + northFootTriggered = true + + local northHarass = Reinforcements.Reinforce(USSR, NorthHarassTeam, { OreAmbushEntry.Location}) + Utils.Do(northHarass, IdleHunt) + end + end) +end + +LaunchMissiles = function() + MissilesLaunched = true + local missileCam = Actor.Create("camera", true, { Owner = Greece, Location = FCom.Location }) + Camera.Position = FCom.CenterPosition + Media.PlaySpeechNotification(Greece, "AbombLaunchDetected") + MissileSilo1.ActivateNukePower(CPos.New(127, 127)) + + Trigger.AfterDelay(DateTime.Seconds(3), function() + Media.DisplayMessage("INCOMING TRANSMISSION", "LANDCOM 16") + Media.PlaySpeechNotification(Greece, "AbombLaunchDetected") + MissileSilo2.ActivateNukePower(CPos.New(127, 127)) + end) + + Trigger.AfterDelay(DateTime.Seconds(5), function() + Media.PlaySpeechNotification(Greece, "AbombLaunchDetected") + MissileSilo3.ActivateNukePower(CPos.New(127, 127)) + end) + + Trigger.AfterDelay(DateTime.Seconds(6), function() + Media.PlaySpeechNotification(Greece, "AbombLaunchDetected") + MissileSilo4.ActivateNukePower(CPos.New(127, 127)) + end) + + Trigger.AfterDelay(DateTime.Seconds(8), function() + local fmvStart = DateTime.GameTime + Media.PlayMovieFullscreen("ally10b.vqa", function() + -- Completing immediately indicates that the FMV is not available + -- Fall back to a text message + if fmvStart == DateTime.GameTime then + Media.DisplayMessage("Commander, we're tracking four missiles. They must be deactivated! We are scrambling a team to assult the missile control bunker. Clear the way and capture the enemy command center. Hurry!", "LANDCOM 16") + end + end) + end) + + Trigger.AfterDelay(DateTime.Seconds(9), function() + CaptureFCom = Greece.AddObjective("Capture the enemy Command Center. Hurry!") + StartTimer = true + Media.PlaySpeechNotification(Greece, "TimerStarted") + Greece.MarkCompletedObjective(ApproachBase) + + Trigger.AfterDelay(DateTime.Minutes(30), function() + Media.PlaySpeechNotification(Greece, "ThirtyMinutesRemaining") + end) + Trigger.AfterDelay(DateTime.Minutes(40), function() + Media.PlaySpeechNotification(Greece, "TwentyMinutesRemaining") + end) + Trigger.AfterDelay(DateTime.Minutes(50), function() + Media.PlaySpeechNotification(Greece, "TenMinutesRemaining") + end) + Trigger.AfterDelay(DateTime.Minutes(55), function() + Media.PlaySpeechNotification(Greece, "WarningFiveMinutesRemaining") + end) + Trigger.AfterDelay(DateTime.Minutes(56), function() + Media.PlaySpeechNotification(Greece, "WarningFourMinutesRemaining") + end) + Trigger.AfterDelay(DateTime.Minutes(57), function() + Media.PlaySpeechNotification(Greece, "WarningThreeMinutesRemaining") + end) + Trigger.AfterDelay(DateTime.Minutes(58), function() + Media.PlaySpeechNotification(Greece, "WarningTwoMinutesRemaining") + end) + Trigger.AfterDelay(DateTime.Minutes(59), function() + Media.PlaySpeechNotification(Greece, "WarningOneMinuteRemaining") + end) + end) + + Trigger.OnCapture(CommandCenter, function() + Greece.MarkCompletedObjective(CaptureFCom) + end) + + Paradrop() + Trigger.AfterDelay(DateTime.Minutes(2), SendParabombs) +end + +SilosDamaged = function() + if not MissilesLaunched then + LaunchMissiles() + end +end + +Tick = function() + USSR.Cash = 50000 + BadGuy.Cash = 50000 + + if StartTimer then + if ticked > 0 then + UserInterface.SetMissionText("Missiles reach their targets in " .. Utils.FormatTime(ticked), TimerColor) + ticked = ticked - 1 + elseif ticked == 0 then + UserInterface.SetMissionText("We're too late!", USSR.Color) + USSR.MarkCompletedObjective(HoldOut) + end + end + + if Greece.HasNoRequiredUnits() then + USSR.MarkCompletedObjective(HoldOut) + end +end + +WorldLoaded = function() + Greece = Player.GetPlayer("Greece") + USSR = Player.GetPlayer("USSR") + BadGuy = Player.GetPlayer("BadGuy") + + Trigger.OnObjectiveAdded(Greece, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective") + end) + + HoldOut = USSR.AddObjective("Hold out until missiles reach their destination") + ApproachBase = Greece.AddObjective("Find a way to take the atomic weapons off-line.") + + Trigger.OnObjectiveCompleted(Greece, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed") + end) + Trigger.OnObjectiveFailed(Greece, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed") + end) + Trigger.OnPlayerLost(Greece, function() + Media.PlaySpeechNotification(Greece, "Lose") + end) + Trigger.OnPlayerWon(Greece, function() + Media.PlaySpeechNotification(Greece, "Win") + end) + + Camera.Position = DefaultCameraPosition.CenterPosition + StandardDrop = Actor.Create("paradrop", false, { Owner = USSR }) + MissionStart() + MissionTriggers() + ActivateAI() + OnAnyDamaged(MissileSilos, SilosDamaged) +end diff --git a/mods/ra/maps/allies-10a/map.bin b/mods/ra/maps/allies-10a/map.bin new file mode 100644 index 0000000000..900db98913 Binary files /dev/null and b/mods/ra/maps/allies-10a/map.bin differ diff --git a/mods/ra/maps/allies-10a/map.png b/mods/ra/maps/allies-10a/map.png new file mode 100644 index 0000000000..29bfd56141 Binary files /dev/null and b/mods/ra/maps/allies-10a/map.png differ diff --git a/mods/ra/maps/allies-10a/map.yaml b/mods/ra/maps/allies-10a/map.yaml new file mode 100644 index 0000000000..5cb292042b --- /dev/null +++ b/mods/ra/maps/allies-10a/map.yaml @@ -0,0 +1,1618 @@ +MapFormat: 11 + +RequiresMod: ra + +Title: 10a: Suspicion + +Author: Westwood Studios + +Tileset: SNOW + +MapSize: 128,128 + +Bounds: 24,48,80,56 + +Visibility: MissionSelector + +Categories: Campaign + +LockPreview: True + +Players: + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Faction: allies + PlayerReference@USSR: + Name: USSR + Faction: soviet + Color: FF1400 + Allies: BadGuy + Enemies: Greece + PlayerReference@BadGuy: + Name: BadGuy + Faction: soviet + Color: FF1400 + Allies: USSR + Enemies: Greece + PlayerReference@Greece: + Name: Greece + AllowBots: False + Playable: True + Required: True + LockFaction: True + Faction: allies + LockColor: True + Color: E2E6F6 + LockSpawn: True + LockTeam: True + Enemies: USSR, BadGuy + +Actors: + Actor0: brik + Location: 93,49 + Owner: BadGuy + Actor1: brik + Location: 94,49 + Owner: BadGuy + Actor2: brik + Location: 95,49 + Owner: BadGuy + Actor3: brik + Location: 96,49 + Owner: BadGuy + Actor4: brik + Location: 97,49 + Owner: BadGuy + Actor5: brik + Location: 98,49 + Owner: BadGuy + Actor6: brik + Location: 99,49 + Owner: BadGuy + Actor7: brik + Location: 87,50 + Owner: BadGuy + Actor8: brik + Location: 88,50 + Owner: BadGuy + Actor9: brik + Location: 89,50 + Owner: BadGuy + Actor10: brik + Location: 90,50 + Owner: BadGuy + Actor11: brik + Location: 91,50 + Owner: BadGuy + Actor12: brik + Location: 92,50 + Owner: BadGuy + Actor13: brik + Location: 93,50 + Owner: BadGuy + Actor14: brik + Location: 99,50 + Owner: BadGuy + Actor15: brik + Location: 100,50 + Owner: BadGuy + Actor16: brik + Location: 101,50 + Owner: BadGuy + Actor17: brik + Location: 87,51 + Owner: BadGuy + Actor18: brik + Location: 101,51 + Owner: BadGuy + Actor19: brik + Location: 102,51 + Owner: BadGuy + Actor23: brik + Location: 86,52 + Owner: BadGuy + Actor24: brik + Location: 87,52 + Owner: BadGuy + Actor25: brik + Location: 102,52 + Owner: BadGuy + Actor37: brik + Location: 86,53 + Owner: BadGuy + Actor38: brik + Location: 102,53 + Owner: BadGuy + Actor44: brik + Location: 86,54 + Owner: BadGuy + Actor45: brik + Location: 102,54 + Owner: BadGuy + Actor50: brik + Location: 86,55 + Owner: BadGuy + Actor51: brik + Location: 87,55 + Owner: BadGuy + Actor52: brik + Location: 88,55 + Owner: BadGuy + Actor53: brik + Location: 89,55 + Owner: BadGuy + Actor54: brik + Location: 90,55 + Owner: BadGuy + Actor55: brik + Location: 91,55 + Owner: BadGuy + Actor56: brik + Location: 102,55 + Owner: BadGuy + Actor61: brik + Location: 90,56 + Owner: BadGuy + Actor62: brik + Location: 91,56 + Owner: BadGuy + Actor63: brik + Location: 102,56 + Owner: BadGuy + Actor74: brik + Location: 101,57 + Owner: BadGuy + Actor75: brik + Location: 102,57 + Owner: BadGuy + Actor87: brik + Location: 101,58 + Owner: BadGuy + Actor95: brik + Location: 93,59 + Owner: BadGuy + Actor96: brik + Location: 94,59 + Owner: BadGuy + Actor97: brik + Location: 101,59 + Owner: BadGuy + Actor109: brik + Location: 93,60 + Owner: BadGuy + Actor110: brik + Location: 94,60 + Owner: BadGuy + Actor111: brik + Location: 101,60 + Owner: BadGuy + Actor115: brik + Location: 94,61 + Owner: BadGuy + Actor116: brik + Location: 95,61 + Owner: BadGuy + Actor117: brik + Location: 96,61 + Owner: BadGuy + Actor118: brik + Location: 97,61 + Owner: BadGuy + Actor119: brik + Location: 98,61 + Owner: BadGuy + Actor120: brik + Location: 99,61 + Owner: BadGuy + Actor121: brik + Location: 100,61 + Owner: BadGuy + Actor122: brik + Location: 101,61 + Owner: BadGuy + Actor155: brik + Location: 86,77 + Owner: BadGuy + Actor156: brik + Location: 87,77 + Owner: BadGuy + Actor159: brik + Location: 86,78 + Owner: BadGuy + Actor160: brik + Location: 87,78 + Owner: BadGuy + Actor161: brik + Location: 88,78 + Owner: BadGuy + Actor164: brik + Location: 87,79 + Owner: BadGuy + Actor165: brik + Location: 88,79 + Owner: BadGuy + Actor20: brik + Location: 65,52 + Owner: USSR + Actor21: brik + Location: 66,52 + Owner: USSR + Actor22: brik + Location: 67,52 + Owner: USSR + Actor26: brik + Location: 56,53 + Owner: USSR + Actor27: brik + Location: 57,53 + Owner: USSR + Actor28: brik + Location: 58,53 + Owner: USSR + Actor29: brik + Location: 59,53 + Owner: USSR + Actor30: brik + Location: 60,53 + Owner: USSR + Actor31: brik + Location: 61,53 + Owner: USSR + Actor32: brik + Location: 62,53 + Owner: USSR + Actor33: brik + Location: 63,53 + Owner: USSR + Actor34: brik + Location: 64,53 + Owner: USSR + Actor35: brik + Location: 65,53 + Owner: USSR + Actor36: brik + Location: 67,53 + Owner: USSR + Actor39: brik + Location: 56,54 + Owner: USSR + Actor40: brik + Location: 60,54 + Owner: USSR + Actor41: brik + Location: 61,54 + Owner: USSR + Actor42: brik + Location: 65,54 + Owner: USSR + Actor43: brik + Location: 67,54 + Owner: USSR + Actor46: brik + Location: 56,55 + Owner: USSR + Actor47: brik + Location: 65,55 + Owner: USSR + Actor48: brik + Location: 67,55 + Owner: USSR + Actor49: brik + Location: 68,55 + Owner: USSR + Actor57: brik + Location: 56,56 + Owner: USSR + Actor58: brik + Location: 65,56 + Owner: USSR + Actor59: brik + Location: 67,56 + Owner: USSR + Actor60: brik + Location: 68,56 + Owner: USSR + Actor64: brik + Location: 56,57 + Owner: USSR + Actor65: brik + Location: 65,57 + Owner: USSR + Actor66: brik + Location: 68,57 + Owner: USSR + Actor67: brik + Location: 74,57 + Owner: USSR + Actor68: brik + Location: 75,57 + Owner: USSR + Actor69: brik + Location: 76,57 + Owner: USSR + Actor70: brik + Location: 77,57 + Owner: USSR + Actor71: brik + Location: 78,57 + Owner: USSR + Actor72: brik + Location: 79,57 + Owner: USSR + Actor73: brik + Location: 80,57 + Owner: USSR + Actor76: brik + Location: 56,58 + Owner: USSR + Actor77: brik + Location: 65,58 + Owner: USSR + Actor78: brik + Location: 68,58 + Owner: USSR + Actor79: brik + Location: 69,58 + Owner: USSR + Actor80: brik + Location: 70,58 + Owner: USSR + Actor81: brik + Location: 71,58 + Owner: USSR + Actor82: brik + Location: 72,58 + Owner: USSR + Actor83: brik + Location: 73,58 + Owner: USSR + Actor84: brik + Location: 74,58 + Owner: USSR + Actor85: brik + Location: 80,58 + Owner: USSR + Actor86: brik + Location: 81,58 + Owner: USSR + Actor88: brik + Location: 56,59 + Owner: USSR + Actor89: brik + Location: 59,59 + Owner: USSR + Actor90: brik + Location: 60,59 + Owner: USSR + Actor91: brik + Location: 61,59 + Owner: USSR + Actor92: brik + Location: 62,59 + Owner: USSR + Actor93: brik + Location: 65,59 + Owner: USSR + Actor94: brik + Location: 81,59 + Owner: USSR + Actor98: brik + Location: 56,60 + Owner: USSR + Actor99: brik + Location: 57,60 + Owner: USSR + Actor100: brik + Location: 58,60 + Owner: USSR + Actor101: brik + Location: 59,60 + Owner: USSR + Actor102: brik + Location: 60,60 + Owner: USSR + Actor103: brik + Location: 61,60 + Owner: USSR + Actor104: brik + Location: 62,60 + Owner: USSR + Actor105: brik + Location: 63,60 + Owner: USSR + Actor106: brik + Location: 64,60 + Owner: USSR + Actor107: brik + Location: 65,60 + Owner: USSR + Actor108: brik + Location: 81,60 + Owner: USSR + Actor112: brik + Location: 58,61 + Owner: USSR + Actor113: brik + Location: 80,61 + Owner: USSR + Actor114: brik + Location: 81,61 + Owner: USSR + Actor123: brik + Location: 58,62 + Owner: USSR + Actor124: brik + Location: 59,62 + Owner: USSR + Actor125: brik + Location: 80,62 + Owner: USSR + Actor126: brik + Location: 59,63 + Owner: USSR + Actor127: brik + Location: 80,63 + Owner: USSR + Actor128: brik + Location: 59,64 + Owner: USSR + Actor129: brik + Location: 80,64 + Owner: USSR + Actor130: brik + Location: 59,65 + Owner: USSR + Actor131: brik + Location: 80,65 + Owner: USSR + Actor132: brik + Location: 59,66 + Owner: USSR + Actor133: brik + Location: 80,66 + Owner: USSR + Actor134: brik + Location: 59,67 + Owner: USSR + Actor135: brik + Location: 80,67 + Owner: USSR + Actor136: brik + Location: 59,68 + Owner: USSR + Actor137: brik + Location: 60,68 + Owner: USSR + Actor138: brik + Location: 61,68 + Owner: USSR + Actor139: brik + Location: 62,68 + Owner: USSR + Actor140: brik + Location: 80,68 + Owner: USSR + Actor141: brik + Location: 62,69 + Owner: USSR + Actor142: brik + Location: 63,69 + Owner: USSR + Actor143: brik + Location: 64,69 + Owner: USSR + Actor144: brik + Location: 65,69 + Owner: USSR + Actor145: brik + Location: 80,69 + Owner: USSR + Actor146: brik + Location: 65,70 + Owner: USSR + Actor147: brik + Location: 80,70 + Owner: USSR + Actor148: brik + Location: 81,70 + Owner: USSR + Actor149: brik + Location: 65,71 + Owner: USSR + Actor150: brik + Location: 66,71 + Owner: USSR + Actor151: brik + Location: 80,71 + Owner: USSR + Actor152: brik + Location: 81,71 + Owner: USSR + Actor153: brik + Location: 65,72 + Owner: USSR + Actor154: brik + Location: 66,72 + Owner: USSR + Actor157: brik + Location: 80,78 + Owner: USSR + Actor158: brik + Location: 81,78 + Owner: USSR + Actor162: brik + Location: 80,79 + Owner: USSR + Actor163: brik + Location: 81,79 + Owner: USSR + Actor166: t14 + Location: 42,77 + Owner: Neutral + Actor167: tc03 + Location: 33,77 + Owner: Neutral + Actor168: tc02 + Location: 34,75 + Owner: Neutral + Actor169: tc03 + Location: 33,74 + Owner: Neutral + Actor170: tc04 + Location: 58,83 + Owner: Neutral + Actor171: t08 + Location: 67,79 + Owner: Neutral + Actor172: t11 + Location: 66,89 + Owner: Neutral + Actor173: t12 + Location: 67,88 + Owner: Neutral + Actor174: t17 + Location: 82,94 + Owner: Neutral + Actor175: t17 + Location: 69,87 + Owner: Neutral + Actor176: tc03 + Location: 70,88 + Owner: Neutral + Actor177: t12 + Location: 78,78 + Owner: Neutral + Actor178: t11 + Location: 89,81 + Owner: Neutral + Actor179: t02 + Location: 99,72 + Owner: Neutral + Actor180: t01 + Location: 94,69 + Owner: Neutral + Actor181: t12 + Location: 84,50 + Owner: Neutral + Actor182: t14 + Location: 79,51 + Owner: Neutral + Actor183: tc01 + Location: 75,50 + Owner: Neutral + Actor184: t17 + Location: 72,53 + Owner: Neutral + Actor185: tc03 + Location: 70,53 + Owner: Neutral + Actor186: tc01 + Location: 71,54 + Owner: Neutral + Actor187: t16 + Location: 32,74 + Owner: Neutral + Actor188: t17 + Location: 44,71 + Owner: Neutral + Actor189: tc02 + Location: 32,64 + Owner: Neutral + Actor190: t11 + Location: 43,59 + Owner: Neutral + Actor191: t15 + Location: 47,84 + Owner: Neutral + Actor192: tc01 + Location: 47,83 + Owner: Neutral + Actor193: tc02 + Location: 43,78 + Owner: Neutral + Actor194: tc01 + Location: 36,84 + Owner: Neutral + Actor195: t15 + Location: 44,54 + Owner: Neutral + Actor196: tc02 + Location: 54,79 + Owner: Neutral + Actor197: tc01 + Location: 47,66 + Owner: Neutral + Actor198: tc02 + Location: 47,63 + Owner: Neutral + Actor199: t17 + Location: 51,61 + Owner: Neutral + Actor200: tc02 + Location: 74,84 + Owner: Neutral + Actor201: tc05 + Location: 101,48 + Owner: Neutral + Actor202: tc04 + Location: 100,47 + Owner: Neutral + Actor203: tc04 + Location: 91,47 + Owner: Neutral + Actor204: tc02 + Location: 97,47 + Owner: Neutral + Actor205: tc05 + Location: 42,50 + Owner: Neutral + Actor206: tc04 + Location: 39,48 + Owner: Neutral + Actor207: tc05 + Location: 34,50 + Owner: Neutral + Actor208: tc01 + Location: 39,51 + Owner: Neutral + Actor209: t17 + Location: 42,51 + Owner: Neutral + Actor210: t14 + Location: 37,49 + Owner: Neutral + Actor211: tc01 + Location: 41,47 + Owner: Neutral + Actor212: t15 + Location: 38,50 + Owner: Neutral + Actor213: t11 + Location: 41,49 + Owner: Neutral + Actor214: tc04 + Location: 34,47 + Owner: Neutral + Actor215: t10 + Location: 33,49 + Owner: Neutral + Actor216: t11 + Location: 35,48 + Owner: Neutral + Actor217: t01 + Location: 35,49 + Owner: Neutral + Actor218: t16 + Location: 37,48 + Owner: Neutral + Actor219: tc04 + Location: 38,47 + Owner: Neutral + Actor220: tc03 + Location: 32,48 + Owner: Neutral + Actor221: t16 + Location: 32,49 + Owner: Neutral + Actor222: tc05 + Location: 28,50 + Owner: Neutral + Actor223: tc04 + Location: 29,47 + Owner: Neutral + Actor224: tc01 + Location: 37,51 + Owner: Neutral + Actor225: t17 + Location: 40,50 + Owner: Neutral + Actor226: t17 + Location: 29,49 + Owner: Neutral + Actor227: t12 + Location: 33,50 + Owner: Neutral + Actor228: t06 + Location: 31,49 + Owner: Neutral + Actor229: tc05 + Location: 36,67 + Owner: Neutral + Actor230: tc03 + Location: 24,71 + Owner: Neutral + Actor231: tc03 + Location: 28,53 + Owner: Neutral + Actor232: tc01 + Location: 59,51 + Owner: Neutral + Actor233: t17 + Location: 57,51 + Owner: Neutral + Actor234: t01 + Location: 63,48 + Owner: Neutral + Actor235: tc04 + Location: 73,47 + Owner: Neutral + Actor236: t01 + Location: 44,89 + Owner: Neutral + Actor237: t10 + Location: 46,88 + Owner: Neutral + Actor238: tc02 + Location: 48,88 + Owner: Neutral + Actor239: t17 + Location: 45,88 + Owner: Neutral + Actor240: t02 + Location: 47,89 + Owner: Neutral + Actor241: tc05 + Location: 87,75 + Owner: Neutral + Actor242: tc04 + Location: 97,79 + Owner: Neutral + Actor243: tc02 + Location: 98,78 + Owner: Neutral + Actor244: t15 + Location: 99,80 + Owner: Neutral + Actor245: tc05 + Location: 85,102 + Owner: Neutral + Actor246: tc04 + Location: 54,68 + Owner: Neutral + Actor247: tc03 + Location: 55,70 + Owner: Neutral + Actor248: tc01 + Location: 59,70 + Owner: Neutral + Actor249: tc02 + Location: 45,71 + Owner: Neutral + Actor250: t01 + Location: 56,99 + Owner: Neutral + Actor251: t10 + Location: 53,96 + Owner: Neutral + Actor252: t08 + Location: 43,101 + Owner: Neutral + Actor253: t10 + Location: 30,68 + Owner: Neutral + Actor254: tc04 + Location: 84,59 + Owner: Neutral + Actor255: t01 + Location: 33,52 + Owner: Neutral + Actor256: t02 + Location: 33,58 + Owner: Neutral + Actor257: t11 + Location: 24,63 + Owner: Neutral + Actor258: t14 + Location: 35,54 + Owner: Neutral + Actor259: t01 + Location: 86,50 + Owner: Neutral + Actor260: t01 + Location: 99,61 + Owner: Neutral + Actor261: t01 + Location: 99,88 + Owner: Neutral + Actor262: t03 + Location: 93,84 + Owner: Neutral + Actor263: t03 + Location: 100,67 + Owner: Neutral + Actor264: t05 + Location: 100,94 + Owner: Neutral + Actor265: t01 + Location: 75,76 + Owner: Neutral + Actor266: t07 + Location: 32,81 + Owner: Neutral + Actor267: t10 + Location: 100,79 + Owner: Neutral + Actor268: t01 + Location: 82,100 + Owner: Neutral + Actor269: tc03 + Location: 83,96 + Owner: Neutral + Actor270: tc02 + Location: 94,97 + Owner: Neutral + Actor271: mine + Location: 35,60 + Owner: Neutral + Actor272: mine + Location: 26,66 + Owner: Neutral + Actor273: mine + Location: 77,100 + Owner: Neutral + Actor274: mine + Location: 98,87 + Owner: Neutral + Actor275: t02 + Location: 73,99 + Owner: Neutral + Actor276: t16 + Location: 103,102 + Owner: Neutral + Actor277: t01 + Location: 54,78 + Owner: Neutral + Actor278: t05 + Location: 63,77 + Owner: Neutral + Actor279: t01 + Location: 51,81 + Owner: Neutral + Actor280: t05 + Location: 84,92 + Owner: Neutral + Actor281: fact + Location: 74,59 + Owner: USSR + Actor282: ftur + Location: 66,76 + Owner: USSR + Actor283: tsla + Location: 76,66 + Owner: USSR + Actor284: tsla + Location: 64,72 + Owner: USSR + CommandCenter: fcom + Location: 60,55 + Owner: USSR + Actor286: stek + Location: 77,57 + Owner: USSR + Actor287: ftur + Location: 79,76 + Owner: USSR + USSRWarFactory: weap + Location: 68,70 + Owner: USSR + USSRRax2: barr + Location: 73,70 + Owner: USSR + USSRRax1: barr + Location: 77,66 + Owner: USSR + Actor291: silo + Location: 66,54 + Owner: USSR + Actor292: silo + Location: 66,53 + Owner: USSR + Actor293: fix + Location: 63,64 + Owner: USSR + Actor294: kenn + Location: 77,70 + Owner: USSR + MissileSilo1: mslo + Location: 57,59 + Owner: USSR + MissileSilo2: mslo + Location: 57,54 + Owner: USSR + MissileSilo3: mslo + Location: 63,54 + Owner: USSR + MissileSilo4: mslo + Location: 63,59 + Owner: USSR + Actor299: ftur + Location: 63,66 + Owner: USSR + Actor300: ftur + Location: 82,71 + Owner: USSR + Actor301: minp + Location: 59,56 + Owner: USSR + Actor302: minp + Location: 62,56 + Owner: USSR + Actor303: minp + Location: 59,58 + Owner: USSR + Actor304: minp + Location: 60,58 + Owner: USSR + Actor305: minp + Location: 59,57 + Owner: USSR + Actor306: minp + Location: 62,57 + Owner: USSR + Actor307: minp + Location: 61,58 + Owner: USSR + Actor308: minp + Location: 60,55 + Owner: USSR + Actor309: minp + Location: 62,55 + Owner: USSR + Actor310: minp + Location: 59,55 + Owner: USSR + Actor311: minp + Location: 61,55 + Owner: USSR + Actor312: minp + Location: 62,58 + Owner: USSR + Actor313: brl3 + Location: 101,52 + Owner: BadGuy + Actor314: brl3 + Location: 101,53 + Owner: BadGuy + Actor315: brl3 + Location: 101,54 + Owner: BadGuy + Actor316: brl3 + Location: 100,57 + Owner: BadGuy + Actor317: brl3 + Location: 99,57 + Owner: BadGuy + Actor318: brl3 + Location: 98,57 + Owner: BadGuy + Actor319: v19 + Location: 101,55 + Owner: Neutral + Actor320: v19 + Location: 100,56 + Owner: Neutral + Actor321: v19 + Location: 98,56 + Owner: Neutral + Actor322: v19 + Location: 96,56 + Owner: Neutral + Actor323: barl + Location: 97,57 + Owner: BadGuy + Actor324: barl + Location: 96,57 + Owner: BadGuy + Actor325: brl3 + Location: 101,56 + Owner: BadGuy + Actor326: barl + Location: 100,55 + Owner: BadGuy + Actor327: barl + Location: 99,56 + Owner: BadGuy + Actor328: brl3 + Location: 100,54 + Owner: BadGuy + Actor329: sam + Location: 78,62 + Owner: USSR + Actor330: sam + Location: 60,67 + Owner: USSR + Facing: 380 + Actor331: tsla + Location: 56,52 + Owner: USSR + Actor332: ftur + Location: 55,59 + Owner: BadGuy + Actor333: apwr + Location: 63,61 + Owner: USSR + Actor334: minp + Location: 58,58 + Owner: USSR + Actor335: minp + Location: 57,58 + Owner: USSR + Actor336: minp + Location: 58,55 + Owner: USSR + Actor337: minp + Location: 57,55 + Owner: USSR + Actor338: minp + Location: 63,55 + Owner: USSR + Actor339: minp + Location: 64,55 + Owner: USSR + Actor340: minp + Location: 62,54 + Owner: USSR + Actor341: minp + Location: 59,54 + Owner: USSR + Actor342: minp + Location: 63,58 + Owner: USSR + Actor343: minp + Location: 64,58 + Owner: USSR + Actor344: silo + Location: 66,56 + Owner: USSR + Actor345: silo + Location: 66,55 + Owner: USSR + Actor346: silo + Location: 66,57 + Owner: USSR + Actor347: sam + Location: 57,56 + Owner: USSR + Facing: 380 + Actor348: sam + Location: 63,57 + Owner: USSR + Facing: 636 + Actor349: apwr + Location: 66,59 + Owner: USSR + Actor350: apwr + Location: 69,59 + Owner: USSR + Actor351: apwr + Location: 66,62 + Owner: USSR + Actor352: apwr + Location: 69,62 + Owner: USSR + Actor353: powr + Location: 72,60 + Owner: USSR + Actor354: powr + Location: 61,61 + Owner: USSR + Actor355: powr + Location: 61,64 + Owner: USSR + Actor356: apwr + Location: 72,63 + Owner: USSR + Actor357: apwr + Location: 75,63 + Owner: USSR + Actor358: brl3 + Location: 94,50 + Owner: USSR + Actor359: barl + Location: 95,50 + Owner: USSR + Actor360: barl + Location: 96,50 + Owner: USSR + Actor361: brl3 + Location: 97,50 + Owner: USSR + Actor362: barl + Location: 98,50 + Owner: USSR + BadGuyRax: barr + Location: 92,55 + Owner: BadGuy + Airfield2: afld + Location: 91,51 + Owner: BadGuy + Airfield1: afld + Location: 88,51 + Owner: BadGuy + Airfield4: afld + Location: 90,53 + Owner: BadGuy + Airfield3: afld + Location: 87,53 + Owner: BadGuy + Actor368: apwr + Location: 98,58 + Owner: BadGuy + Actor369: apwr + Location: 95,58 + Owner: BadGuy + BridgeBarrel: brl3 + Location: 75,91 + Owner: Neutral + Actor371: barl + Location: 74,91 + Owner: USSR + Actor372: brl3 + Location: 73,91 + Owner: USSR + Actor373: v19 + Location: 73,90 + Owner: Neutral + Actor374: brl3 + Location: 72,90 + Owner: USSR + Actor377: 4tnk + Location: 58,74 + Owner: USSR + Facing: 252 + PatrolMammoth: 4tnk + Location: 86,74 + Owner: USSR + Facing: 380 + Actor379: 3tnk + Location: 69,75 + Owner: USSR + Facing: 380 + Actor380: 3tnk + Location: 82,80 + Owner: USSR + Facing: 508 + Actor381: 3tnk + Location: 58,79 + Owner: USSR + Facing: 380 + Actor382: 3tnk + Location: 53,75 + Owner: USSR + Facing: 252 + Actor383: 3tnk + Location: 90,98 + Owner: USSR + Facing: 764 + Actor384: 3tnk + Location: 92,100 + Owner: USSR + Facing: 380 + Actor385: v2rl + Location: 48,58 + Owner: USSR + Facing: 380 + Actor386: v2rl + Location: 48,62 + Owner: USSR + Facing: 380 + Actor387: 3tnk + Location: 95,88 + Owner: USSR + Facing: 380 + Actor388: v2rl + Location: 74,77 + Owner: USSR + Facing: 380 + Actor389: v2rl + Location: 63,77 + Owner: USSR + Facing: 380 + Actor390: v2rl + Location: 80,59 + Owner: USSR + Facing: 892 + Actor391: v2rl + Location: 54,77 + Owner: USSR + Facing: 252 + Actor392: 3tnk + Location: 73,55 + Owner: USSR + Facing: 892 + Actor393: 1tnk + Location: 24,90 + Owner: Greece + Facing: 892 + Actor394: 1tnk + Location: 26,93 + Owner: Greece + Facing: 764 + Actor395: 3tnk + Location: 73,75 + Owner: USSR + Facing: 380 + TheTruck: truk + Location: 99,55 + Owner: BadGuy + Facing: 252 + Actor397: e4 + Location: 59,72 + Owner: USSR + Facing: 380 + SubCell: 4 + Actor398: e2 + Location: 58,82 + Owner: USSR + Facing: 380 + SubCell: 3 + Actor399: e2 + Location: 56,83 + Owner: USSR + Facing: 636 + SubCell: 2 + Actor400: e2 + Location: 64,82 + Owner: USSR + Facing: 764 + SubCell: 4 + Actor401: e2 + Location: 62,82 + Owner: USSR + Facing: 508 + SubCell: 3 + Actor402: e1 + Location: 56,82 + Owner: USSR + Facing: 380 + SubCell: 3 + Actor403: e1 + Location: 63,83 + Owner: USSR + Facing: 636 + SubCell: 2 + Actor404: e1 + Location: 73,72 + Owner: USSR + Facing: 508 + SubCell: 1 + Actor405: e1 + Location: 78,68 + Owner: USSR + Facing: 380 + SubCell: 4 + Actor406: e1 + Location: 74,72 + Owner: USSR + Facing: 636 + SubCell: 4 + Actor407: e4 + Location: 73,73 + Owner: USSR + SubCell: 0 + Actor408: e4 + Location: 59,61 + Owner: USSR + Facing: 636 + SubCell: 0 + Actor409: e4 + Location: 63,63 + Owner: USSR + Facing: 380 + SubCell: 4 + Actor410: e2 + Location: 52,75 + Owner: USSR + Facing: 124 + SubCell: 0 + Actor411: e1 + Location: 51,75 + Owner: USSR + Facing: 380 + SubCell: 4 + Actor412: e1 + Location: 52,72 + Owner: USSR + Facing: 636 + SubCell: 0 + Actor413: e2 + Location: 51,72 + Owner: USSR + Facing: 380 + SubCell: 4 + Actor414: e1 + Location: 48,74 + Owner: USSR + Facing: 508 + SubCell: 3 + Actor415: e1 + Location: 46,74 + Owner: USSR + Facing: 636 + SubCell: 4 + Actor416: e1 + Location: 46,73 + Owner: USSR + Facing: 380 + SubCell: 0 + Actor417: e1 + Location: 87,80 + Owner: USSR + Facing: 380 + SubCell: 4 + Actor418: e1 + Location: 80,81 + Owner: USSR + Facing: 636 + SubCell: 4 + Actor419: e1 + Location: 82,82 + Owner: USSR + Facing: 380 + SubCell: 3 + Actor420: e1 + Location: 86,80 + Owner: USSR + Facing: 764 + SubCell: 3 + Actor421: e2 + Location: 81,80 + Owner: USSR + Facing: 252 + SubCell: 3 + Actor422: e2 + Location: 87,81 + Owner: USSR + Facing: 636 + SubCell: 3 + Actor423: e2 + Location: 77,91 + Owner: USSR + Facing: 636 + SubCell: 0 + Actor424: e2 + Location: 76,93 + Owner: USSR + Facing: 380 + SubCell: 3 + Actor425: dog + Location: 77,71 + Owner: USSR + SubCell: 0 + Actor426: dog + Location: 90,100 + Owner: USSR + Facing: 380 + SubCell: 1 + Actor427: dog + Location: 86,76 + Owner: USSR + Facing: 380 + SubCell: 0 + Actor428: dog + Location: 57,78 + Owner: USSR + Facing: 636 + SubCell: 0 + Actor429: dog + Location: 62,72 + Owner: USSR + Facing: 380 + SubCell: 0 + Actor430: dog + Location: 54,56 + Owner: USSR + Facing: 380 + SubCell: 1 + Actor431: dog + Location: 91,60 + Owner: BadGuy + Facing: 380 + SubCell: 1 + Actor432: e4 + Location: 92,57 + Owner: BadGuy + Facing: 380 + SubCell: 3 + Actor433: e4 + Location: 92,59 + Owner: BadGuy + Facing: 252 + SubCell: 2 + Actor434: e2 + Location: 93,57 + Owner: BadGuy + Facing: 636 + SubCell: 0 + Actor435: e2 + Location: 93,61 + Owner: USSR + Facing: 508 + SubCell: 0 + Actor436: e1 + Location: 89,56 + Owner: BadGuy + Facing: 380 + SubCell: 3 + Actor437: e1 + Location: 90,58 + Owner: BadGuy + Facing: 380 + SubCell: 4 + Actor438: e1 + Location: 97,54 + Owner: BadGuy + Facing: 380 + SubCell: 0 + Actor439: e1 + Location: 95,56 + Owner: BadGuy + Facing: 252 + SubCell: 2 + Actor440: e2 + Location: 93,53 + Owner: BadGuy + Facing: 508 + SubCell: 4 + Actor441: e2 + Location: 77,68 + Owner: USSR + Facing: 380 + SubCell: 0 + Actor442: e2 + Location: 73,72 + Owner: USSR + Facing: 380 + SubCell: 4 + Actor443: e2 + Location: 60,61 + Owner: USSR + SubCell: 4 + Actor444: e2 + Location: 78,69 + Owner: USSR + Facing: 636 + SubCell: 0 + Peekaboo1: e2 + Location: 38,78 + Owner: USSR + Facing: 380 + SubCell: 3 + Peekaboo2: e2 + Location: 39,80 + Owner: USSR + Facing: 636 + SubCell: 1 + Peekaboo3: dog + Location: 37,80 + Owner: USSR + Facing: 252 + SubCell: 2 + Peekaboo4: e4 + Location: 57,87 + Owner: USSR + SubCell: 0 + Peekaboo5: e1 + Location: 59,87 + Owner: USSR + SubCell: 2 + Actor450: e1 + Location: 89,101 + Owner: USSR + SubCell: 2 + Actor451: e1 + Location: 89,99 + Owner: USSR + SubCell: 3 + Actor452: e2 + Location: 78,91 + Owner: USSR + SubCell: 0 + Actor453: e2 + Location: 75,93 + Owner: USSR + SubCell: 0 + Actor454: e2 + Location: 57,74 + Owner: USSR + SubCell: 2 + Actor455: e2 + Location: 58,76 + Owner: USSR + SubCell: 4 + Actor456: e2 + Location: 76,76 + Owner: USSR + SubCell: 1 + Actor457: e2 + Location: 74,76 + Owner: USSR + SubCell: 0 + Actor458: dog + Location: 60,64 + Owner: USSR + Facing: 636 + SubCell: 0 + Actor502: stek + Owner: BadGuy + Location: 98,51 + Actor503: dome + Owner: BadGuy + Location: 95,51 + DefaultCameraPosition: waypoint + Location: 24,95 + Owner: Neutral + MCVEntry: waypoint + Location: 24,92 + Owner: Neutral + MCVStop: waypoint + Location: 29,87 + Owner: Neutral + FCom: waypoint + Location: 60,56 + Owner: Neutral + ParaLZ1: waypoint + Location: 71,67 + Owner: Neutral + ParaLZ2: waypoint + Location: 75,74 + Owner: Neutral + ParaLZ3: waypoint + Location: 90,59 + Owner: Neutral + ParaLZ4: waypoint + Location: 83,85 + Owner: Neutral + ParaLZ5: waypoint + Location: 84,74 + Owner: Neutral + MammothWay1: waypoint + Location: 58,75 + Owner: Neutral + MammothWay2: waypoint + Location: 58,88 + Owner: Neutral + MammothWay3: waypoint + Location: 71,96 + Owner: Neutral + MammothWay4: waypoint + Location: 88,99 + Owner: Neutral + AttackWaypoint1: waypoint + Location: 58,95 + Owner: Neutral + AttackWaypoint2: waypoint + Location: 38,79 + Owner: Neutral + OreAmbushTrigger: waypoint + Location: 34,59 + Owner: Neutral + OreAmbushEntry: waypoint + Location: 26,48 + Owner: Neutral + +Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml + +Weapons: weapons.yaml diff --git a/mods/ra/maps/allies-10a/rules.yaml b/mods/ra/maps/allies-10a/rules.yaml new file mode 100644 index 0000000000..ba392c0f5f --- /dev/null +++ b/mods/ra/maps/allies-10a/rules.yaml @@ -0,0 +1,90 @@ +World: + LuaScript: + Scripts: allies10a.lua, allies10a-AI.lua, campaign-global.lua + MissionData: + BriefingVideo: ally10.vqa + LossVideo: trinity.vqa + StartVideo: mcv_land.vqa + Briefing: Kosygin has indicated that this is the site of Stalin's main atomic weapons plant. Use extreme care in approaching the Soviet base -- we don't know if any atomic bombs are armed yet. Take the facility off-line and then destroy any atomic weapons that exist. + ScriptLobbyDropdown@difficulty: + ID: difficulty + Label: Difficulty + Values: + easy: Easy + normal: Normal + hard: Hard + Default: normal + +Player: + PlayerResources: + DefaultCash: 6500 + +PARADROP: + ParatroopersPower: + DropItems: E1, E1, E1, E2, E2 + AlwaysVisible: + +FCOM: + Capturable: + Types: building + +MSLO: + -WithColoredOverlay@IDISABLE: + NukePower: + DisplayTimerRelationships: Neutral + Buildable: + Prerequisites: ~disabled + Capturable: + Types: ~disabled + +MCV: + Buildable: + Prerequisites: ~disabled + +MRJ: + Buildable: + Prerequisites: ~disabled + +HPAD: + Buildable: + Prerequisites: ~disabled + +E7: + Buildable: + Prerequisites: ~disabled + +E7.noautotarget: + Buildable: + Prerequisites: ~disabled + +PDOX: + Buildable: + Prerequisites: ~disabled + +IRON: + Buildable: + Prerequisites: ~disabled + +SYRD: + Buildable: + Prerequisites: ~disabled + +SPEN: + Buildable: + Prerequisites: ~disabled + +QTNK: + Buildable: + Prerequisites: ~disabled + +TTNK: + Buildable: + Prerequisites: ~disabled + +SHOK: + Buildable: + Prerequisites: ~disabled + +DTRK: + Buildable: + Prerequisites: ~disabled diff --git a/mods/ra/maps/allies-10a/weapons.yaml b/mods/ra/maps/allies-10a/weapons.yaml new file mode 100644 index 0000000000..29232fc28a --- /dev/null +++ b/mods/ra/maps/allies-10a/weapons.yaml @@ -0,0 +1,3 @@ +Atomic: + -Warhead@21Shake: + -Warhead@22FlashEffect: diff --git a/mods/ra/missions.yaml b/mods/ra/missions.yaml index edbba8e3f1..c068f7731e 100644 --- a/mods/ra/missions.yaml +++ b/mods/ra/missions.yaml @@ -13,6 +13,7 @@ Allied Campaign: allies-08a allies-08b allies-09a + allies-10a Soviet Campaign: soviet-01 soviet-02a