diff --git a/OpenRA.sln b/OpenRA.sln index 3da53a311d..799d45cf5d 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -58,6 +58,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Red Alert Lua scripts", "Re ProjectSection(SolutionItems) = preProject mods\ra\maps\allies-01\allies01.lua = mods\ra\maps\allies-01\allies01.lua mods\ra\maps\allies-02\allies02.lua = mods\ra\maps\allies-02\allies02.lua + mods\ra\maps\allies-03a\allies03a.lua = mods\ra\maps\allies-03a\allies03a.lua mods\ra\maps\desert-shellmap\desert-shellmap.lua = mods\ra\maps\desert-shellmap\desert-shellmap.lua mods\ra\maps\intervention\intervention.lua = mods\ra\maps\intervention\intervention.lua mods\ra\maps\fort-lonestar\fort-lonestar.lua = mods\ra\maps\fort-lonestar\fort-lonestar.lua diff --git a/mods/ra/maps/allies-03a/allies03a.lua b/mods/ra/maps/allies-03a/allies03a.lua new file mode 100644 index 0000000000..52a322de74 --- /dev/null +++ b/mods/ra/maps/allies-03a/allies03a.lua @@ -0,0 +1,270 @@ +ProductionUnits = { "e1", "e1", "e2" } +ProductionBuildings = { USSRBarracks1, USSRBarracks2 } +ParatroopersReinforcements = { "e1", "e1", "e1", "e2", "e2" } +TransportReinforcements = { "e1", "e1", "e1", "e2", "e2" } +FirstUSSRBase = { USSRFlameTower1, USSRBarracks1, USSRPowerPlant1, USSRPowerPlant2, USSRConstructionYard1, USSRTechCenter, USSRBaseGuard1, USSRBaseGuard2, USSRBaseGuard3, USSRBaseGuard4, USSRBaseGuard5, USSRBaseGuard6, USSRBaseGuard7, USSRBaseGuard8 } +SecondUSSRBase = { USSRBarracks2, USSRKennel, USSRRadarDome, USSRBaseGuard10, USSRBaseGuard11, USSRBaseGuard12, USSRBaseGuard13, USSRBaseGuard14 } +Prisoners = { PrisonedMedi1, PrisonedMedi2, PrisonedEngi } +CameraTriggerArea = { CPos.New(43, 64), CPos.New(44, 64), CPos.New(45, 64), CPos.New(46, 64), CPos.New(47, 64) } +WaterTransportTriggerArea = { CPos.New(39, 54), CPos.New(40, 54), CPos.New(41, 54), CPos.New(42, 54), CPos.New(43, 54), CPos.New(44, 54), CPos.New(45, 54) } +ParadropTriggerArea = { CPos.New(81, 60), CPos.New(82, 60), CPos.New(83, 60), CPos.New(63, 63), CPos.New(64, 63), CPos.New(65, 63), CPos.New(66, 63), CPos.New(67, 63), CPos.New(68, 63), CPos.New(69, 63), CPos.New(70, 63), CPos.New(71, 63), CPos.New(72, 63) } +ReinforcementsTriggerArea = { CPos.New(96, 55), CPos.New(97, 55), CPos.New(97, 56), CPos.New(98, 56) } + +IdleHunt = function(actor) Trigger.OnIdle(actor, actor.Hunt) end + +ProduceUnits = function(factory, count) + if ussr.IsProducing("e1") then + Trigger.AfterDelay(DateTime.Seconds(5), function() ProduceUnits(factory, count) end) + return + end + + local units = { } + for i = 0, count, 1 do + local type = Utils.Random(ProductionUnits) + units[i] = type + end + + if not factory.IsDead then + factory.IsPrimaryBuilding = true + ussr.Build(units, function(soldiers) + Utils.Do(soldiers, function(unit) IdleHunt(unit) end) + end) + end +end + +countFreed = 0 +FreePrisoner = function(unit, type) + if not unit.IsDead then + local newUnit = Actor.Create(type, true, { Owner = player, Location = unit.Location, CenterPosition = unit.CenterPosition }) + unit.Destroy() + Trigger.AfterDelay(15, function() + if not newUnit.IsDead then + if not DefendPrisoners then + DefendPrisoners = player.AddSecondaryObjective("Keep all rescued Allied soldiers alive.") + end + Trigger.OnKilled(newUnit, function() player.MarkFailedObjective(DefendPrisoners) end) + else + player.MarkFailedObjective(FreePrisoners) + end + + countFreed = countFreed + 1 + if countFreed == 3 then + player.MarkCompletedObjective(FreePrisoners) + end + end) + end +end + +SendAlliedUnits = function() + Camera.Position = TanyaWaypoint.CenterPosition + + local Artillery = Actor.Create("arty", true, { Owner = player, Location = AlliedUnitsEntry.Location }) + local Tanya = Actor.Create("e7", true, { Owner = player, Location = AlliedUnitsEntry.Location }) + Tanya.Stance = "HoldFire" + Artillery.Stance = "HoldFire" + Tanya.Move(TanyaWaypoint.Location) + Artillery.Move(ArtilleryWaypoint.Location) + + Trigger.OnKilled(Tanya, function() player.MarkFailedObjective(TanyaSurvive) end) +end + +SendUSSRParadrops = function(units, entry, dropzone) + local plane = Actor.Create("badr", true, { Owner = ussr, Location = entry }) + Utils.Do(units, function(type) + local unit = Actor.Create(type, false, { Owner = ussr }) + plane.LoadPassenger(unit) + IdleHunt(unit) + end) + plane.Paradrop(dropzone) +end + +SendUSSRWaterTransport = function() + local units = Reinforcements.ReinforceWithTransport(ussr, "lst", TransportReinforcements, { WaterTransportEntry.Location, WaterTransportLoadout.Location }, { WaterTransportExit.Location })[2] + Utils.Do(units, function(unit) IdleHunt(unit) end) +end + +SendUSSRTankReinforcements = function() + local camera = Actor.Create("camera", true, { Owner = player, Location = USSRReinforcementsCameraWaypoint.Location }) + local ussrTank = Reinforcements.Reinforce(ussr, { "3tnk" }, { USSRReinforcementsEntryWaypoint.Location, USSRReinforcementsRallyWaypoint1.Location, USSRReinforcementsRallyWaypoint2.Location })[1] + Trigger.OnRemovedFromWorld(ussrTank, function() + Trigger.AfterDelay(DateTime.Seconds(3), function() + if not camera.IsDead then + camera.Destroy() + end + end) + end) +end + +InitPlayers = function() + player = Player.GetPlayer("Greece") + ussr = Player.GetPlayer("USSR") + + ussr.Cash = 10000 + + Media.PlayMovieFullscreen("brdgtilt.vqa") +end + +InitObjectives = function() + Trigger.OnObjectiveAdded(player, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective") + end) + + KillBridges = player.AddPrimaryObjective("Destroy all bridges.") + TanyaSurvive = player.AddPrimaryObjective("Tanya must survive.") + KillUSSR = player.AddSecondaryObjective("Destroy all soviet Oil Pumps.") + FreePrisoners = player.AddSecondaryObjective("Free all imprisoned Allied soldiers.") + ussr.AddPrimaryObjective("Bridges must not be destroyed.") + + Trigger.OnObjectiveCompleted(player, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed") + end) + Trigger.OnObjectiveFailed(player, function(p, id) + Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed") + end) + + Trigger.OnPlayerLost(player, function() + Trigger.AfterDelay(25, function() + Media.PlaySpeechNotification(player, "Lose") + Trigger.AfterDelay(DateTime.Seconds(1), function() Media.PlayMovieFullscreen("sovtstar.vqa") end) + end) + end) + Trigger.OnPlayerWon(player, function() + Trigger.AfterDelay(25, function() + Media.PlaySpeechNotification(player, "Win") + Trigger.AfterDelay(DateTime.Seconds(1), function() Media.PlayMovieFullscreen("toofar.vqa") end) + end) + end) +end + +InitTriggers = function() + Utils.Do(ussr.GetGroundAttackers(), function(unit) + Trigger.OnDamaged(unit, function() IdleHunt(unit) end) + end) + + Trigger.OnAnyKilled(Prisoners, function() player.MarkFailedObjective(FreePrisoners) end) + + Trigger.OnKilled(PGuard1, function() FreePrisoner(PrisonedMedi1, "medi") end) + Trigger.OnKilled(PGuard2, function() FreePrisoner(PrisonedMedi2, "medi") FreePrisoner(PrisonedEngi, "hacke6") end) + + Trigger.OnKilled(USSRTechCenter, function() + Actor.Create("moneycrate", true, { Owner = ussr, Location = USSRMoneyCrateSpawn.Location }) + end) + + Trigger.OnKilled(ExplosiveBarrel, function() + local bridge = Map.ActorsInBox(USSRReinforcementsCameraWaypoint.CenterPosition, USSRReinforcementsEntryWaypoint.CenterPosition, + function(self) return self.Type == "bridge1" end) + + if not bridge[1].IsDead then + bridge[1].Kill() + end + end) + + Utils.Do(FirstUSSRBase, function(unit) + Trigger.OnDamaged(unit, function() + if not FirstBaseAlert then + FirstBaseAlert = true + if not baseCamera then -- TODO: remove the Trigger + baseCamera = Actor.Create("camera", true, { Owner = player, Location = BaseCameraWaypoint.Location }) + end + Utils.Do(FirstUSSRBase, function(unit) + if unit.HasProperty("Move") then + IdleHunt(unit) + end + end) + for i = 0, 2 do + Trigger.AfterDelay(DateTime.Seconds(i), function() + Media.PlaySoundNotification(player, "AlertBuzzer") + end) + end + ProduceUnits(ProductionBuildings[1], Utils.RandomInteger(4, 8)) + end + end) + end) + Trigger.OnAllRemovedFromWorld(FirstUSSRBase, function() -- The camera can remain when one building is captured + if baseCamera then baseCamera.Destroy() end + end) + + Utils.Do(SecondUSSRBase, function(unit) + Trigger.OnDamaged(unit, function() + if not SecondBaseAlert then + SecondBaseAlert = true + Utils.Do(SecondUSSRBase, function(unit) + if unit.HasProperty("Move") then + IdleHunt(unit) + end + end) + for i = 0, 2 do + Trigger.AfterDelay(DateTime.Seconds(i), function() + Media.PlaySoundNotification(player, "AlertBuzzer") + end) + end + ProduceUnits(ProductionBuildings[2], Utils.RandomInteger(5, 7)) + end + end) + end) + + Trigger.OnCapture(USSRRadarDome, function(self) + largeCamera = Actor.Create("camera.verylarge", true, { Owner = player, Location = LargeCameraWaypoint.Location }) + Trigger.ClearAll(self) + Trigger.AfterDelay(DateTime.Seconds(1), function() + Trigger.OnRemovedFromWorld(self, function() + Trigger.ClearAll(self) + if largeCamera.IsInWorld then largeCamera.Destroy() end + end) + end) + end) + + Trigger.OnEnteredFootprint(CameraTriggerArea, function(a, id) + if a.Owner == player and not baseCamera then + Trigger.RemoveFootprintTrigger(id) + baseCamera = Actor.Create("camera", true, { Owner = player, Location = BaseCameraWaypoint.Location }) + end + end) + Trigger.OnEnteredFootprint(WaterTransportTriggerArea, function(a, id) + if a.Owner == player and not waterTransportTriggered then + waterTransportTriggered = true + Trigger.RemoveFootprintTrigger(id) + SendUSSRWaterTransport() + end + end) + Trigger.OnEnteredFootprint(ParadropTriggerArea, function(a, id) + if a.Owner == player and not paradropsTriggered then + paradropsTriggered = true + Trigger.RemoveFootprintTrigger(id) + SendUSSRParadrops(ParatroopersReinforcements, ParadropTransportEntry1.Location, ParadropLZ.Location) + SendUSSRParadrops(ParatroopersReinforcements, ParadropTransportEntry2.Location, ParadropLZ.Location) + end + end) + Trigger.OnEnteredFootprint(ReinforcementsTriggerArea, function(a, id) + if a.Owner == player and not reinforcementsTriggered then + reinforcementsTriggered = true + Trigger.RemoveFootprintTrigger(id) + Trigger.AfterDelay(DateTime.Seconds(1), function() SendUSSRTankReinforcements() end) + end + end) + + Trigger.AfterDelay(0, function() + local bridges = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(self) return self.Type == "bridge1" end) + + Trigger.OnAllKilled(bridges, function() + player.MarkCompletedObjective(KillBridges) + player.MarkCompletedObjective(TanyaSurvive) + if DefendPrisoners then player.MarkCompletedObjective(DefendPrisoners) end + end) + + local oilPumps = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(self) return self.Type == "v19" end) + + Trigger.OnAllKilled(oilPumps, function() + player.MarkCompletedObjective(KillUSSR) + end) + end) +end + +WorldLoaded = function() + + InitPlayers() + InitObjectives() + InitTriggers() + + SendAlliedUnits() +end diff --git a/mods/ra/maps/allies-03a/map.bin b/mods/ra/maps/allies-03a/map.bin new file mode 100644 index 0000000000..d811058e10 Binary files /dev/null and b/mods/ra/maps/allies-03a/map.bin differ diff --git a/mods/ra/maps/allies-03a/map.png b/mods/ra/maps/allies-03a/map.png new file mode 100644 index 0000000000..aaa1507d66 Binary files /dev/null and b/mods/ra/maps/allies-03a/map.png differ diff --git a/mods/ra/maps/allies-03a/map.yaml b/mods/ra/maps/allies-03a/map.yaml new file mode 100644 index 0000000000..5769933db4 --- /dev/null +++ b/mods/ra/maps/allies-03a/map.yaml @@ -0,0 +1,1579 @@ +Selectable: False + +MapFormat: 6 + +RequiresMod: ra + +Title: Allies 03a: Dead End + +Description: LANDCOM 16 HQS.\nTOP SECRET.\nTO: FIELD COMMANDER A9\n\nINTELLIGENCE RECON SHOWS HEAVY\nSOVIET MOVEMENT IN YOUR AREA.\nNEARBY BRIDGES ARE KEY TO SOVIET\nADVANCEMENT. DESTROY ALL BRIDGES\nASAP. TANYA WILL ASSIST. KEEP HER\nALIVE AT ALL COSTS.\n\nCONFIRMATION CODE 1612.\n\nTRANSMISSION ENDS. + +Author: Westwood Studios + +Tileset: SNOW + +MapSize: 128,128 + +Bounds: 35,48,72,36 + +UseAsShellmap: False + +Type: Campaign + +Options: + Crates: False + Fog: True + Shroud: True + AllyBuildRadius: False + FragileAlliances: False + StartingCash: 0 + ConfigurableStartingUnits: False + +Players: + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: allies + PlayerReference@USSR: + Name: USSR + Race: soviet + ColorRamp: 3,255,127 + Enemies: Greece + PlayerReference@Greece: + Name: Greece + Playable: True + Required: True + LockRace: True + Race: allies + LockColor: True + ColorRamp: 161,134,236 + Enemies: USSR + +Actors: + Actor0: brik + Location: 89,71 + Owner: Neutral + Actor1: brik + Location: 90,71 + Owner: Neutral + Actor2: brik + Location: 88,72 + Owner: Neutral + Actor3: brik + Location: 89,72 + Owner: Neutral + Actor4: brik + Location: 90,72 + Owner: Neutral + Actor5: brik + Location: 87,73 + Owner: Neutral + Actor6: brik + Location: 88,73 + Owner: Neutral + Actor7: brik + Location: 77,74 + Owner: Neutral + Actor8: brik + Location: 93,74 + Owner: Neutral + Actor9: brik + Location: 94,74 + Owner: Neutral + Actor10: brik + Location: 77,75 + Owner: Neutral + Actor11: brik + Location: 93,75 + Owner: Neutral + Actor12: brik + Location: 94,75 + Owner: Neutral + Actor13: brik + Location: 76,76 + Owner: Neutral + Actor14: brik + Location: 77,76 + Owner: Neutral + Actor15: brik + Location: 94,76 + Owner: Neutral + Actor16: brik + Location: 76,77 + Owner: Neutral + Actor17: brik + Location: 77,77 + Owner: Neutral + Actor18: brik + Location: 76,81 + Owner: Neutral + Actor19: brik + Location: 77,81 + Owner: Neutral + Actor20: brik + Location: 76,82 + Owner: Neutral + Actor21: brik + Location: 77,82 + Owner: Neutral + Actor22: brik + Location: 77,83 + Owner: Neutral + Actor23: tc01 + Location: 52,63 + Owner: Neutral + Actor24: t17 + Location: 49,64 + Owner: Neutral + Actor25: t14 + Location: 45,59 + Owner: Neutral + Actor26: tc02 + Location: 47,59 + Owner: Neutral + Actor27: tc03 + Location: 46,56 + Owner: Neutral + Actor28: tc02 + Location: 80,57 + Owner: Neutral + Actor29: t12 + Location: 40,48 + Owner: Neutral + Actor30: t08 + Location: 76,68 + Owner: Neutral + Actor31: t01 + Location: 76,64 + Owner: Neutral + Actor32: tc01 + Location: 72,47 + Owner: Neutral + Actor33: tc05 + Location: 49,58 + Owner: Neutral + Actor34: tc04 + Location: 47,57 + Owner: Neutral + Actor35: tc03 + Location: 50,54 + Owner: Neutral + Actor36: tc04 + Location: 45,54 + Owner: Neutral + Actor37: tc01 + Location: 46,53 + Owner: Neutral + Actor38: tc01 + Location: 42,56 + Owner: Neutral + Actor39: tc04 + Location: 50,49 + Owner: Neutral + Actor40: tc03 + Location: 51,51 + Owner: Neutral + Actor41: tc05 + Location: 44,49 + Owner: Neutral + Actor42: tc01 + Location: 81,49 + Owner: Neutral + Actor43: t16 + Location: 78,53 + Owner: Neutral + Actor44: tc05 + Location: 58,65 + Owner: Neutral + Actor45: tc02 + Location: 50,64 + Owner: Neutral + Actor46: tc01 + Location: 95,73 + Owner: Neutral + Actor47: tc05 + Location: 96,70 + Owner: Neutral + Actor48: tc04 + Location: 70,59 + Owner: Neutral + Actor49: tc03 + Location: 64,61 + Owner: Neutral + Actor50: t01 + Location: 63,70 + Owner: Neutral + Actor51: t02 + Location: 67,72 + Owner: Neutral + Actor52: t03 + Location: 65,74 + Owner: Neutral + Actor53: t10 + Location: 62,71 + Owner: Neutral + Actor54: tc02 + Location: 62,77 + Owner: Neutral + Actor55: tc03 + Location: 68,76 + Owner: Neutral + Actor56: tc05 + Location: 56,82 + Owner: Neutral + Actor57: tc01 + Location: 58,78 + Owner: Neutral + Actor58: t10 + Location: 39,71 + Owner: Neutral + Actor59: t14 + Location: 46,76 + Owner: Neutral + Actor60: t15 + Location: 54,78 + Owner: Neutral + Actor61: t13 + Location: 43,68 + Owner: Neutral + Actor62: tc05 + Location: 38,79 + Owner: Neutral + Actor63: tc04 + Location: 35,77 + Owner: Neutral + Actor64: tc03 + Location: 36,80 + Owner: Neutral + Actor65: tc02 + Location: 37,81 + Owner: Neutral + Actor66: tc01 + Location: 41,81 + Owner: Neutral + Actor67: t07 + Location: 96,77 + Owner: Neutral + Actor68: t12 + Location: 97,76 + Owner: Neutral + Actor69: tc03 + Location: 80,52 + Owner: Neutral + Actor70: tc03 + Location: 44,57 + Owner: Neutral + Actor71: tc03 + Location: 97,82 + Owner: Neutral + Actor72: tc04 + Location: 98,78 + Owner: Neutral + Actor73: t11 + Location: 74,70 + Owner: Neutral + Actor74: t16 + Location: 74,71 + Owner: Neutral + Actor75: t17 + Location: 73,68 + Owner: Neutral + Actor76: tc02 + Location: 65,51 + Owner: Neutral + Actor77: tc04 + Location: 67,47 + Owner: Neutral + Actor78: tc05 + Location: 57,48 + Owner: Neutral + Actor79: tc03 + Location: 67,50 + Owner: Neutral + Actor80: tc05 + Location: 91,48 + Owner: Neutral + Actor81: tc04 + Location: 90,47 + Owner: Neutral + Actor82: tc01 + Location: 94,48 + Owner: Neutral + Actor83: t17 + Location: 89,48 + Owner: Neutral + Actor84: tc05 + Location: 61,55 + Owner: Neutral + Actor85: tc04 + Location: 64,54 + Owner: Neutral + Actor86: tc05 + Location: 104,56 + Owner: Neutral + Actor87: tc04 + Location: 104,58 + Owner: Neutral + Actor88: tc01 + Location: 75,82 + Owner: Neutral + Actor89: tc02 + Location: 73,82 + Owner: Neutral + Actor90: t01 + Location: 87,55 + Owner: Neutral + Actor91: t02 + Location: 84,53 + Owner: Neutral + Actor92: t02 + Location: 90,59 + Owner: Neutral + Actor93: t02 + Location: 96,61 + Owner: Neutral + Actor94: t05 + Location: 93,58 + Owner: Neutral + Actor95: t05 + Location: 90,53 + Owner: Neutral + Actor96: t16 + Location: 92,57 + Owner: Neutral + Actor97: tc01 + Location: 88,58 + Owner: Neutral + Actor98: tc02 + Location: 90,54 + Owner: Neutral + Actor99: tc05 + Location: 100,61 + Owner: Neutral + Actor100: tc02 + Location: 94,60 + Owner: Neutral + Actor101: tc01 + Location: 82,55 + Owner: Neutral + Actor102: t01 + Location: 90,62 + Owner: Neutral + Actor103: t06 + Location: 98,58 + Owner: Neutral + Actor104: tc04 + Location: 88,68 + Owner: Neutral + Actor105: tc03 + Location: 90,66 + Owner: Neutral + Actor106: tc02 + Location: 96,80 + Owner: Neutral + Actor107: barl + Location: 81,67 + Owner: USSR + Actor108: barl + Location: 81,66 + Owner: USSR + Actor109: barl + Location: 85,70 + Owner: USSR + Actor110: barl + Location: 83,66 + Owner: USSR + Actor111: barl + Location: 85,69 + Owner: USSR + Actor112: barl + Location: 72,55 + Owner: USSR + Actor113: brl3 + Location: 70,55 + Owner: USSR + Actor114: barl + Location: 74,55 + Owner: USSR + Actor115: barl + Location: 75,57 + Owner: USSR + Actor116: barl + Location: 75,56 + Owner: USSR + Actor117: brl3 + Location: 76,56 + Owner: USSR + Actor118: barl + Location: 75,54 + Owner: USSR + Actor119: brl3 + Location: 75,55 + Owner: USSR + Actor120: barl + Location: 69,56 + Owner: USSR + Actor121: brl3 + Location: 71,54 + Owner: USSR + Actor122: brl3 + Location: 69,55 + Owner: USSR + Actor123: barl + Location: 73,54 + Owner: USSR + Actor124: brl3 + Location: 73,53 + Owner: USSR + Actor125: brl3 + Location: 74,53 + Owner: USSR + Actor126: brl3 + Location: 75,53 + Owner: USSR + Actor127: v19 + Location: 70,56 + Owner: Neutral + Actor128: v19 + Location: 70,54 + Owner: Neutral + Actor129: v19 + Location: 72,54 + Owner: Neutral + Actor130: v19 + Location: 74,54 + Owner: Neutral + Actor131: brl3 + Location: 84,65 + Owner: USSR + Actor132: barl + Location: 85,67 + Owner: USSR + Actor133: v19 + Location: 83,65 + Owner: Neutral + Actor134: barl + Location: 78,70 + Owner: USSR + Actor135: brl3 + Location: 77,71 + Owner: USSR + Actor136: barl + Location: 76,71 + Owner: USSR + Actor137: barl + Location: 78,71 + Owner: USSR + Actor138: barl + Location: 76,72 + Owner: USSR + Actor139: brl3 + Location: 78,68 + Owner: USSR + Actor140: brl3 + Location: 82,67 + Owner: USSR + Actor141: brl3 + Location: 85,64 + Owner: USSR + Actor141b: brl3 + Location: 85,64 + Owner: USSR + Actor142: v19 + Location: 87,66 + Owner: Neutral + Actor143: v19 + Location: 85,68 + Owner: Neutral + Actor144: v19 + Location: 82,66 + Owner: Neutral + Actor145: v19 + Location: 85,63 + Owner: Neutral + Actor146: v04 + Location: 54,52 + Owner: Neutral + Actor147: v07 + Location: 53,57 + Owner: Neutral + Actor148: brl3 + Location: 73,55 + Owner: USSR + Actor149: barl + Location: 71,56 + Owner: USSR + Actor150: barl + Location: 74,58 + Owner: USSR + Actor151: brl3 + Location: 59,60 + Owner: USSR + Actor152: brl3 + Location: 57,60 + Owner: USSR + Actor153: barl + Location: 59,59 + Owner: USSR + Actor154: v19 + Location: 59,61 + Owner: Neutral + Actor155: v19 + Location: 57,61 + Owner: Neutral + Actor156: brl3 + Location: 58,61 + Owner: USSR + Actor157: barl + Location: 56,59 + Owner: USSR + USSRBarracks1: barr + Location: 51,67 + Owner: USSR + USSRConstructionYard1: fact + Location: 55,71 + Owner: USSR + USSRPowerPlant1: powr + Location: 53,72 + Owner: USSR + USSRPowerPlant2: powr + Location: 51,72 + Owner: USSR + Actor162: brl3 + Location: 55,67 + Owner: USSR + Actor163: brl3 + Location: 54,67 + Owner: USSR + Actor164: barl + Location: 53,69 + Owner: USSR + Actor165: brl3 + Location: 58,70 + Owner: USSR + Actor166: brl3 + Location: 55,68 + Owner: USSR + Actor167: brl3 + Location: 53,68 + Owner: USSR + Actor168: brl3 + Location: 53,67 + Owner: USSR + Actor169: barl + Location: 54,70 + Owner: USSR + Actor170: v19 + Location: 54,68 + Owner: Neutral + USSRWarFactory: weap + Location: 83,73 + Owner: USSR + USSRBarracks2: barr + Location: 78,75 + Owner: USSR + USSRKennel: kenn + Location: 81,77 + Owner: USSR + USSRAdvancedPowerPlant: apwr + Location: 81,80 + Owner: USSR + USSRRadarDome: dome + Location: 78,80 + Owner: USSR + USSRConstructionYard2: fact + Location: 88,80 + Owner: USSR + USSRPowerPlant3: powr + Location: 90,77 + Owner: USSR + USSRPowerPlant4: powr + Location: 92,76 + Owner: USSR + Actor179: brl3 + Location: 77,66 + Owner: USSR + Actor180: brl3 + Location: 77,67 + Owner: USSR + Actor181: barl + Location: 76,67 + Owner: USSR + Actor182: barl + Location: 77,68 + Owner: USSR + Actor183: barl + Location: 78,69 + Owner: USSR + USSRFlameTower1: ftur + Location: 50,69 + Owner: USSR + Actor185: brl3 + Location: 57,70 + Owner: USSR + Actor186: barl + Location: 56,70 + Owner: USSR + Actor187: barl + Location: 55,69 + Owner: USSR + Actor188: brl3 + Location: 59,68 + Owner: USSR + Actor189: barl + Location: 59,69 + Owner: USSR + USSRTechCenter: miss + Location: 58,71 + Owner: USSR + Actor191: brl3 + Location: 56,67 + Owner: USSR + Actor191b: brl3 + Location: 56,67 + Owner: USSR + Actor192: barl + Location: 56,68 + Owner: USSR + USSRForwardCommand: fcom + Location: 79,69 + Owner: USSR + ExplosiveBarrel: brl3 + Location: 102,49 + Owner: USSR + Actor194: brl3 + Location: 102,49 + Owner: USSR + Actor195: barl + Location: 101,49 + Owner: USSR + Actor196: brl3 + Location: 100,49 + Owner: USSR + Actor196b: brl3 + Location: 100,49 + Owner: USSR + Actor197: barl + Location: 100,48 + Owner: USSR + Actor198: barl + Location: 99,48 + Owner: USSR + Actor199: brl3 + Location: 102,48 + Owner: USSR + Actor200: brl3 + Location: 99,51 + Owner: USSR + Actor200b: brl3 + Location: 99,51 + Owner: USSR + Actor201: brl3 + Location: 98,51 + Owner: USSR + Actor202: v19 + Location: 101,48 + Owner: Neutral + Actor203: brl3 + Location: 96,50 + Owner: USSR + Actor204: barl + Location: 97,51 + Owner: USSR + Actor205: v19 + Location: 95,50 + Owner: USSR + Actor206: v19 + Location: 94,51 + Owner: USSR + Actor207: brl3 + Location: 94,50 + Owner: USSR + Actor208: barl + Location: 93,51 + Owner: USSR + Actor209: v19 + Location: 102,67 + Owner: Neutral + Actor210: v19 + Location: 101,69 + Owner: Neutral + Actor211: v19 + Location: 100,71 + Owner: Neutral + Actor212: brl3 + Location: 102,66 + Owner: USSR + Actor213: barl + Location: 102,68 + Owner: USSR + Actor214: brl3 + Location: 101,70 + Owner: USSR + Actor215: brl3 + Location: 99,72 + Owner: USSR + Actor216: brl3 + Location: 100,72 + Owner: USSR + Actor217: brl3 + Location: 101,72 + Owner: USSR + Actor218: barl + Location: 101,71 + Owner: USSR + Actor219: brl3 + Location: 99,66 + Owner: USSR + Actor220: barl + Location: 98,66 + Owner: USSR + Actor221: barl + Location: 100,67 + Owner: USSR + Actor222: brl3 + Location: 101,68 + Owner: USSR + Actor223: brl3 + Location: 101,66 + Owner: USSR + Actor224: brl3 + Location: 100,70 + Owner: USSR + USSRFlameTower2: ftur + Location: 100,69 + Owner: USSR + Actor226: brl3 + Location: 88,64 + Owner: USSR + Actor227: barl + Location: 87,65 + Owner: USSR + Actor228: brl3 + Location: 86,66 + Owner: USSR + Actor229: brl3 + Location: 99,69 + Owner: USSR + Actor230: barl + Location: 98,68 + Owner: USSR + Actor231: brl3 + Location: 99,71 + Owner: USSR + Actor232: v19 + Location: 91,68 + Owner: Neutral + Actor233: brl3 + Location: 91,69 + Owner: USSR + Actor233b: brl3 + Location: 91,69 + Owner: USSR + Actor234: v19 + Location: 84,51 + Owner: Neutral + Actor235: v19 + Location: 87,51 + Owner: Neutral + Actor236: v19 + Location: 86,52 + Owner: Neutral + Actor237: brl3 + Location: 84,52 + Owner: USSR + Actor238: brl3 + Location: 85,51 + Owner: USSR + Actor239: brl3 + Location: 86,51 + Owner: USSR + Actor240: barl + Location: 88,52 + Owner: USSR + Actor240b: brl3 + Location: 87,52 + Owner: USSR + Actor241: brl3 + Location: 85,52 + Owner: USSR + Actor242: barl + Location: 85,53 + Owner: USSR + Actor243: barl + Location: 89,52 + Owner: USSR + Actor244: brl3 + Location: 68,66 + Owner: USSR + Actor245: barl + Location: 69,67 + Owner: USSR + Actor246: brl3 + Location: 69,66 + Owner: USSR + Actor247: barl + Location: 70,67 + Owner: USSR + Actor249: v2rl + Location: 76,66 + Owner: USSR + Health: 0.5195313 + Facing: 224 + Actor250: e1.autotarget + Location: 42,56 + Owner: USSR + Facing: 32 + SubCell: 3 + Actor251: e1.autotarget + Location: 51,53 + Owner: USSR + Facing: 64 + SubCell: 4 + Actor252: e1.autotarget + Location: 47,53 + Owner: USSR + Facing: 192 + SubCell: 3 + Actor253: e2 + Location: 79,66 + Owner: USSR + Facing: 160 + SubCell: 2 + Actor254: e2 + Location: 80,67 + Owner: USSR + Facing: 128 + SubCell: 1 + Actor255: e2 + Location: 79,68 + Owner: USSR + Facing: 96 + SubCell: 0 + Actor256: e2 + Location: 80,68 + Owner: USSR + Facing: 224 + SubCell: 1 + PGuard1: e1 + Location: 58,59 + Owner: USSR + Facing: 224 + SubCell: 3 + Actor259: e1.autotarget + Location: 54,55 + Owner: USSR + Facing: 32 + SubCell: 2 + Actor260: e1.autotarget + Location: 70,65 + Owner: USSR + Facing: 160 + SubCell: 4 + Actor261: e2.autotarget + Location: 71,65 + Owner: USSR + Facing: 32 + SubCell: 2 + Actor262: dog + Location: 69,63 + Owner: USSR + Facing: 160 + SubCell: 1 + Actor263: e1.autotarget + Location: 72,62 + Owner: USSR + Facing: 32 + SubCell: 1 + Actor264: e1.autotarget + Location: 74,62 + Owner: USSR + Facing: 192 + SubCell: 1 + USSRBaseGuard5: e1 + Location: 51,69 + Owner: USSR + Facing: 160 + SubCell: 3 + USSRBaseGuard6: e2 + Location: 49,72 + Owner: USSR + Facing: 128 + SubCell: 2 + USSRBaseGuard3: e2 + Location: 48,70 + Owner: USSR + Facing: 0 + SubCell: 4 + USSRBaseGuard4: e2 + Location: 49,69 + Owner: USSR + Facing: 160 + SubCell: 0 + USSRBaseGuard7: e1 + Location: 53,70 + Owner: USSR + Facing: 160 + SubCell: 1 + Actor270: e1.autotarget + Location: 65,71 + Owner: USSR + Facing: 160 + SubCell: 0 + Actor271: e1.autotarget + Location: 64,70 + Owner: USSR + Facing: 160 + SubCell: 0 + Actor272: e1.autotarget + Location: 66,70 + Owner: USSR + Facing: 128 + SubCell: 4 + USSRBaseGuard1: e1 + Location: 49,66 + Owner: USSR + Facing: 96 + SubCell: 0 + USSRBaseGuard2: e1 + Location: 48,67 + Owner: USSR + Facing: 224 + SubCell: 0 + USSRBaseGuard11: e1 + Location: 78,77 + Owner: USSR + Facing: 128 + SubCell: 4 + USSRBaseGuard12: e1 + Location: 79,77 + Owner: USSR + Facing: 96 + SubCell: 4 + Actor277: e1 + Location: 78,77 + Owner: USSR + Facing: 160 + SubCell: 3 + USSRBaseGuard10: e2 + Location: 77,80 + Owner: USSR + Facing: 64 + SubCell: 0 + USSRBaseGuard13: e2 + Location: 80,76 + Owner: USSR + Facing: 0 + SubCell: 0 + USSRBaseGuard14: dog + Location: 81,76 + Owner: USSR + Facing: 160 + SubCell: 3 + Actor281: dog + Location: 85,81 + Owner: USSR + Facing: 224 + SubCell: 1 + Actor282: dog + Location: 96,73 + Owner: USSR + Facing: 160 + SubCell: 1 + PrisonedMedi2: pmedi + Location: 57,67 + Owner: Greece + Facing: 128 + SubCell: 0 + PGuard2: e1 + Location: 57,68 + Owner: USSR + Facing: 128 + SubCell: 4 + USSRBaseGuard8: e1 + Location: 56,69 + Owner: USSR + Facing: 96 + SubCell: 2 + PrisonedEngi: pe6 + Location: 57,67 + Owner: Greece + Facing: 96 + SubCell: 2 + Actor287: e1.autotarget + Location: 84,53 + Owner: USSR + Facing: 0 + SubCell: 4 + Actor288: e1.autotarget + Location: 90,53 + Owner: USSR + Facing: 160 + SubCell: 4 + Actor289: e1.autotarget + Location: 88,58 + Owner: USSR + Facing: 0 + SubCell: 4 + Actor290: e2.autotarget + Location: 89,58 + Owner: USSR + Facing: 96 + SubCell: 3 + Actor291: e2.autotarget + Location: 83,55 + Owner: USSR + Facing: 160 + SubCell: 3 + Actor292: e2.autotarget + Location: 98,58 + Owner: USSR + Facing: 160 + SubCell: 4 + Actor293: e2.autotarget + Location: 96,61 + Owner: USSR + Facing: 128 + SubCell: 4 + Actor294: e1.autotarget + Location: 93,58 + Owner: USSR + Facing: 64 + SubCell: 4 + Actor295: e1.autotarget + Location: 90,59 + Owner: USSR + Facing: 160 + SubCell: 4 + Actor296: e1.autotarget + Location: 97,66 + Owner: USSR + Facing: 32 + SubCell: 0 + Actor297: e1.autotarget + Location: 94,65 + Owner: USSR + Facing: 0 + SubCell: 4 + Actor298: e1.autotarget + Location: 96,65 + Owner: USSR + Facing: 192 + SubCell: 3 + Actor299: e2.autotarget + Location: 99,67 + Owner: USSR + Facing: 192 + SubCell: 0 + Actor300: e2.autotarget + Location: 99,68 + Owner: USSR + Facing: 128 + SubCell: 4 + Actor301: e2.autotarget + Location: 98,67 + Owner: USSR + Facing: 160 + SubCell: 1 + Actor302: e1.autotarget + Location: 87,61 + Owner: USSR + Facing: 160 + SubCell: 2 + PrisonedMedi1: pmedi + Location: 58,60 + Owner: Greece + Facing: 0 + SubCell: 0 + Actor309: fenc + Location: 72,63 + Owner: USSR + Actor311: fenc + Location: 69,57 + Owner: USSR + Actor307: fenc + Location: 83,50 + Owner: USSR + Actor304: fenc + Location: 73,63 + Owner: USSR + Actor306: fenc + Location: 71,63 + Owner: USSR + waypoint10: waypoint + Location: 50,70 + Owner: Neutral + waypoint20: waypoint + Location: 83,54 + Owner: Neutral + waypoint23: waypoint + Location: 88,75 + Owner: Neutral + waypoint25: waypoint + Location: 59,81 + Owner: Neutral + waypoint26: waypoint + Location: 84,74 + Owner: Neutral + waypoint27: waypoint + Location: 97,64 + Owner: Neutral + waypoint28: waypoint + Location: 60,69 + Owner: Neutral + waypoint29: waypoint + Location: 76,66 + Owner: Neutral + waypoint30: waypoint + Location: 69,66 + Owner: Neutral + waypoint98: waypoint + Location: 61,52 + Owner: Neutral + waypoint99: waypoint + Location: 67,64 + Owner: Neutral + Actor312: fenc + Location: 71,62 + Owner: USSR + Actor313: fenc + Location: 70,62 + Owner: USSR + Actor314: fenc + Location: 68,57 + Owner: USSR + Actor315: fenc + Location: 70,57 + Owner: USSR + Actor316: fenc + Location: 71,57 + Owner: USSR + Actor317: fenc + Location: 76,57 + Owner: USSR + Actor318: fenc + Location: 76,58 + Owner: USSR + Actor319: fenc + Location: 75,58 + Owner: USSR + Actor320: fenc + Location: 75,59 + Owner: USSR + Actor321: fenc + Location: 60,68 + Owner: USSR + Actor322: fenc + Location: 61,68 + Owner: USSR + Actor323: fenc + Location: 61,69 + Owner: USSR + Actor324: fenc + Location: 61,70 + Owner: USSR + Actor325: fenc + Location: 61,71 + Owner: USSR + Actor326: fenc + Location: 61,72 + Owner: USSR + Actor327: fenc + Location: 61,73 + Owner: USSR + Actor328: fenc + Location: 61,74 + Owner: USSR + Actor329: fenc + Location: 60,74 + Owner: USSR + Actor330: fenc + Location: 59,74 + Owner: USSR + Actor331: fenc + Location: 59,75 + Owner: USSR + Actor332: fenc + Location: 58,75 + Owner: USSR + Actor333: fenc + Location: 57,75 + Owner: USSR + Actor334: fenc + Location: 56,75 + Owner: USSR + Actor335: fenc + Location: 55,75 + Owner: USSR + Actor336: fenc + Location: 54,75 + Owner: USSR + Actor337: fenc + Location: 53,75 + Owner: USSR + Actor338: fenc + Location: 52,75 + Owner: USSR + Actor339: fenc + Location: 51,75 + Owner: USSR + Actor340: fenc + Location: 50,75 + Owner: USSR + Actor342: fenc + Location: 50,67 + Owner: USSR + Actor341: fenc + Location: 50,68 + Owner: USSR + Actor343: fenc + Location: 50,72 + Owner: USSR + Actor344: fenc + Location: 50,73 + Owner: USSR + Actor345: fenc + Location: 50,74 + Owner: USSR + Actor346: fenc + Location: 50,66 + Owner: USSR + Actor347: fenc + Location: 51,66 + Owner: USSR + Actor348: fenc + Location: 52,66 + Owner: USSR + Actor349: fenc + Location: 53,66 + Owner: USSR + Actor350: fenc + Location: 54,66 + Owner: USSR + Actor351: fenc + Location: 55,66 + Owner: USSR + Actor352: fenc + Location: 56,66 + Owner: USSR + Actor353: fenc + Location: 57,66 + Owner: USSR + Actor354: fenc + Location: 58,67 + Owner: USSR + Actor355: fenc + Location: 58,68 + Owner: USSR + Actor356: fenc + Location: 83,51 + Owner: USSR + Actor357: fenc + Location: 83,52 + Owner: USSR + Actor358: fenc + Location: 83,53 + Owner: USSR + Actor359: fenc + Location: 84,50 + Owner: USSR + Actor360: fenc + Location: 85,50 + Owner: USSR + Actor361: fenc + Location: 86,50 + Owner: USSR + Actor362: fenc + Location: 87,50 + Owner: USSR + Actor363: fenc + Location: 103,60 + Owner: USSR + Actor364: fenc + Location: 103,59 + Owner: USSR + Actor365: fenc + Location: 103,58 + Owner: USSR + Actor366: fenc + Location: 103,57 + Owner: USSR + Actor367: fenc + Location: 102,57 + Owner: USSR + Actor368: fenc + Location: 101,57 + Owner: USSR + Actor369: fenc + Location: 100,57 + Owner: USSR + AlliedUnitsEntry: waypoint + Location: 60,48 + Owner: Neutral + TanyaWaypoint: waypoint + Location: 61,50 + Owner: Neutral + ArtilleryWaypoint: waypoint + Location: 62,49 + Owner: Neutral + WaterTransportEntry: waypoint + Location: 36,48 + Owner: Neutral + WaterTransportLoadout: waypoint + Location: 37,58 + Owner: Neutral + WaterTransportExit: waypoint + Location: 35,58 + Owner: Neutral + BaseCameraWaypoint: waypoint + Location: 55,70 + Owner: Neutral + LargeCameraWaypoint: waypoint + Location: 71,65 + Owner: Neutral + ParadropTransportEntry1: waypoint + Location: 66,38 + Owner: Neutral + ParadropTransportEntry2: waypoint + Location: 85,38 + Owner: Neutral + ParadropLZ: waypoint + Location: 73,57 + Owner: Neutral + USSRReinforcementsCameraWaypoint: waypoint + Location: 101,52 + Owner: Neutral + USSRReinforcementsEntryWaypoint: waypoint + Location: 106,48 + Owner: Neutral + USSRReinforcementsRallyWaypoint1: waypoint + Location: 104,49 + Owner: Neutral + USSRReinforcementsRallyWaypoint2: waypoint + Location: 96,56 + Owner: Neutral + USSRMoneyCrateSpawn: waypoint + Location: 59,72 + Owner: Neutral + +Smudges: + +Rules: + Player: + -ConquestVictoryConditions: + MissionObjectives: + EarlyGameOver: true + World: + -CrateSpawner: + -SpawnMPUnits: + -MPStartLocations: + LuaScript: + Scripts: allies03a.lua + ObjectivesPanel: + PanelName: MISSION_OBJECTIVES + ^Infantry: + MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + ^Tank: + MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + Demolishable: + ^Vehicle: + MustBeDestroyed: + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + Demolishable: + ^Building: + Capturable: + CaptureThreshold: 0.25 + Tooltip: + GenericVisibility: Enemy + ShowOwnerRow: false + ^TechBuilding: + Capturable: + Type: ~disabled + ^Wall: + Tooltip: + ShowOwnerRow: false + ^Husk: + Tooltip: + GenericVisibility: Enemy, Ally, Neutral + GenericStancePrefix: false + ShowOwnerRow: false + ^Crate: + Tooltip: + ShowOwnerRow: false + HACKE6: + Inherits: E6 + -RepairsBridges: + -ExternalCaptures: + Captures: + CaptureTypes: building + RenderInfantry: + Image: E6 + E7: + AutoTarget: + EnableStances: false + -AttackMove: + CAMERA: + RevealsShroud: + Range: 8c7 + CAMERA.VeryLarge: + Inherits: CAMERA + RevealsShroud: + Range: 40c0 + MONEYCRATE: + Tooltip: + Name: Crate + WithCrateBody: + Images: scrate + PE6: + Inherits: E6 + -RepairsBridges: + -ExternalCaptures: + Captures: + CaptureTypes: building + RejectsOrders: + AutoTargetIgnore: + -Huntable: + RenderInfantry: + Image: e6 + PMEDI: + Inherits: MEDI + RejectsOrders: + AutoTargetIgnore: + -Huntable: + RenderInfantry: + Image: medi + E1.Autotarget: + Inherits: E1 + Buildable: + Prerequisites: ~disabled + RevealsShroud: + Range: 8c0 + AutoTarget: + ScanRadius: 7 + RenderInfantry: + Image: E1 + E2.Autotarget: + Inherits: E2 + Buildable: + Prerequisites: ~disabled + RevealsShroud: + Range: 8c0 + AutoTarget: + ScanRadius: 7 + RenderInfantry: + Image: E2 + DOG: + Buildable: + Prerequisites: ~disabled + RevealsShroud: + Range: 9c0 + AutoTarget: + ScanRadius: 8 + DOME: + Buildable: + Prerequisites: ~disabled + WEAP: + Buildable: + Prerequisites: ~disabled + FIX: + Buildable: + Prerequisites: ~disabled + APC: + Buildable: + Prerequisites: ~disabled + V2RL: + Buildable: + Prerequisites: ~disabled + 2TNK: + Buildable: + Prerequisites: ~disabled + 3TNK: + Buildable: + Prerequisites: ~disabled + 4TNK: + Buildable: + Prerequisites: ~disabled + MCV: + Buildable: + Prerequisites: ~disabled + MNLY.AP: + Buildable: + Prerequisites: ~disabled + TTNK: + Buildable: + Prerequisites: ~disabled + FTRK: + Buildable: + Prerequisites: ~disabled + DTRK: + Buildable: + Prerequisites: ~disabled + QTNK: + Buildable: + Prerequisites: ~disabled + MSLO: + Buildable: + Prerequisites: ~disabled + SPEN: + Buildable: + Prerequisites: ~disabled + IRON: + Buildable: + Prerequisites: ~disabled + TSLA: + Buildable: + Prerequisites: ~disabled + SAM: + Buildable: + Prerequisites: ~disabled + AFLD: + Buildable: + Prerequisites: ~disabled + APWR: + Buildable: + Prerequisites: ~disabled + STEK: + Buildable: + Prerequisites: ~disabled + KENN: + Buildable: + Prerequisites: ~disabled + E3: + Buildable: + Prerequisites: ~disabled + E4: + Buildable: + Prerequisites: ~disabled + E6: + Buildable: + Prerequisites: ~disabled + SNIPER: + Buildable: + Prerequisites: ~disabled + HIJACKER: + Buildable: + Prerequisites: ~disabled + SHOK: + Buildable: + Prerequisites: ~disabled + +Sequences: + +VoxelSequences: + +Weapons: + +Voices: + +Notifications: + +Translations: diff --git a/mods/ra/missions.yaml b/mods/ra/missions.yaml index 4519c9f89d..603ff73be6 100644 --- a/mods/ra/missions.yaml +++ b/mods/ra/missions.yaml @@ -1,3 +1,4 @@ Allied Campaign: ./mods/ra/maps/allies-01 ./mods/ra/maps/allies-02 + ./mods/ra/maps/allies-03a