diff --git a/mods/ra/maps/allies-01-classic/map.bin b/mods/ra/maps/allies-01-classic/map.bin new file mode 100644 index 0000000000..c99d9acca0 Binary files /dev/null and b/mods/ra/maps/allies-01-classic/map.bin differ diff --git a/mods/ra/maps/allies-01-classic/map.yaml b/mods/ra/maps/allies-01-classic/map.yaml new file mode 100644 index 0000000000..f56f221e72 --- /dev/null +++ b/mods/ra/maps/allies-01-classic/map.yaml @@ -0,0 +1,626 @@ +Selectable: True + +MapFormat: 6 + +Title: Allies 01: In the thick of it + +Description: In the thick of it + +Author: Westwood Studios + +Tileset: SNOW + +Options: + Crates: False + Fog: True + Shroud: True + AllyBuildRadius: False + FragileAlliances: False + StartingCash: 0 + ConfigurableStartingUnits: False + Difficulties: + +MapSize: 128,128 + +RequiresMod: ra + +Bounds: 49,45,30,36 + +UseAsShellmap: False + +Type: Campaign + +Players: + PlayerReference@USSR: + Name: USSR + Race: soviet + ColorRamp: 3,255,127 + Enemies: Greece,England + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: allies + Enemies: USSR,Greece,England + PlayerReference@Greece: + Name: Greece + Race: allies + ColorRamp: 161,134,200 + Allies: England + Enemies: Neutral,USSR + Required: True + Playable: True + AllowBots: False + LockRace: True + LockSpawn: True + LockTeam: True + LockColor: True + PlayerReference@England: + Name: England + Race: allies + ColorRamp: 76,196,190 + Allies: Greece + Enemies: USSR + +Actors: + Actor0: t16 + Location: 66,46 + Owner: Neutral + Actor1: t17 + Location: 59,46 + Owner: Neutral + Actor2: tc04 + Location: 75,44 + Owner: Neutral + Actor3: tc05 + Location: 76,45 + Owner: Neutral + Actor4: t01 + Location: 52,50 + Owner: Neutral + Actor5: t02 + Location: 70,68 + Owner: Neutral + Actor6: t05 + Location: 73,64 + Owner: Neutral + Actor7: t14 + Location: 59,50 + Owner: Neutral + Actor8: t17 + Location: 56,61 + Owner: Neutral + Actor9: tc01 + Location: 53,64 + Owner: Neutral + Actor10: tc02 + Location: 49,66 + Owner: Neutral + Actor11: t07 + Location: 49,59 + Owner: Neutral + Actor12: tc05 + Location: 49,60 + Owner: Neutral + Actor13: tc04 + Location: 50,58 + Owner: Neutral + Actor14: tc03 + Location: 69,50 + Owner: Neutral + Actor15: t11 + Location: 77,60 + Owner: Neutral + Actor16: t01 + Location: 78,59 + Owner: Neutral + Actor17: tc01 + Location: 76,56 + Owner: Neutral + Actor18: t08 + Location: 66,50 + Owner: Neutral + Actor19: t17 + Location: 57,56 + Owner: Neutral + Actor20: t01 + Location: 73,67 + Owner: Neutral + Actor21: tc01 + Location: 54,45 + Owner: Neutral + Actor22: tsla + Location: 71,59 + Owner: USSR + Health: 1 + Facing: 0 + Actor23: powr + Location: 75,64 + Owner: USSR + Health: 1 + Facing: 0 + Actor24: powr + Location: 67,57 + Owner: USSR + Health: 1 + Facing: 0 + Actor25: powr + Location: 61,57 + Owner: USSR + Health: 1 + Facing: 0 + Lab: stek + Location: 61,60 + Owner: USSR + Health: 1 + Facing: 0 + Actor27: fact + Location: 69,62 + Owner: USSR + Health: 1 + Facing: 0 + Actor28: dome + Location: 67,65 + Owner: USSR + Health: 1 + Facing: 0 + Actor29: barr + Location: 61,64 + Owner: USSR + Health: 1 + Facing: 0 + Actor30: tsla + Location: 67,67 + Owner: USSR + Health: 1 + Facing: 0 + Actor31: tsla + Location: 60,66 + Owner: USSR + Health: 1 + Facing: 0 + Actor32: weap + Location: 65,62 + Owner: USSR + Health: 1 + Facing: 0 + Actor33: proc + Location: 73,58 + Owner: USSR + Health: 1 + Facing: 0 + FreeActor: False + Actor34: kenn + Location: 64,65 + Owner: USSR + Health: 0.9921875 + Facing: 0 + Actor35: powr + Location: 65,57 + Owner: USSR + Health: 1 + Facing: 0 + Actor36: powr + Location: 77,64 + Owner: USSR + Health: 1 + Facing: 0 + Actor37: powr + Location: 75,67 + Owner: USSR + Health: 1 + Facing: 0 + Actor38: silo + Location: 59,64 + Owner: USSR + Health: 1 + Facing: 0 + Actor39: powr + Location: 77,67 + Owner: USSR + Health: 1 + Facing: 0 + OilPump: v19 + Location: 59,57 + Owner: USSR + Health: 1 + Facing: 0 + Actor41: brl3 + Location: 60,57 + Owner: USSR + Health: 1 + Facing: 0 + Actor42: barl + Location: 60,56 + Owner: USSR + Health: 1 + Facing: 0 + Actor43: barl + Location: 61,56 + Owner: USSR + Health: 1 + Facing: 0 + Actor44: brl3 + Location: 60,58 + Owner: USSR + Health: 1 + Facing: 0 + Actor45: barl + Location: 58,56 + Owner: USSR + Health: 1 + Facing: 0 + Actor46: barl + Location: 59,59 + Owner: USSR + Health: 1 + Facing: 0 + Actor47: jeep + Location: 63,50 + Owner: Greece + Health: 1 + Facing: 128 + Harvester: harv + Location: 72,60 + Owner: USSR + Health: 1 + Facing: 224 + Actor49: jeep + Location: 62,50 + Owner: Greece + Health: 1 + Facing: 128 + Actor50: jeep + Location: 64,50 + Owner: Greece + Health: 1 + Facing: 128 + Patrol1: dog + Location: 63,59 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 2 + Patrol2: e1 + Location: 64,58 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 3 + LabGuard3: e1 + Location: 61,63 + Owner: USSR + Health: 1 + Facing: 128 + SubCell: 0 + LabGuard2: e1 + Location: 63,63 + Owner: USSR + Health: 1 + Facing: 96 + SubCell: 0 + Actor55: e2 + Location: 73,66 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 1 + Actor56: e1 + Location: 62,67 + Owner: USSR + Health: 1 + Facing: 128 + SubCell: 4 + Actor57: e1 + Location: 67,67 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 3 + Actor58: e1 + Location: 65,67 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 3 + Actor59: e1 + Location: 56,60 + Owner: USSR + Health: 1 + Facing: 96 + SubCell: 1 + Patrol4: e1 + Location: 62,55 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 4 + Patrol3: e1 + Location: 64,59 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 2 + LabGuard1: e1 + Location: 64,61 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 4 + Actor63: e1 + Location: 58,60 + Owner: USSR + Health: 1 + Facing: 64 + SubCell: 1 + Actor64: e1 + Location: 64,49 + Owner: Greece + Health: 1 + Facing: 128 + SubCell: 1 + Actor65: e1 + Location: 63,49 + Owner: Greece + Health: 1 + Facing: 128 + SubCell: 0 + Actor66: e1 + Location: 62,49 + Owner: Greece + Health: 1 + Facing: 160 + SubCell: 2 + Civilian1: c8 + Location: 74,50 + Owner: England + Health: 1 + Facing: 0 + SubCell: 0 + Civilian2: c7 + Location: 76,48 + Owner: England + Health: 1 + Facing: 0 + SubCell: 3 + Actor69: e2 + Location: 62,56 + Owner: USSR + Health: 1 + Facing: 32 + SubCell: 1 + Actor70: e2 + Location: 62,56 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 4 + Actor71: e1 + Location: 64,49 + Owner: Greece + Health: 1 + Facing: 128 + SubCell: 2 + Actor72: e1 + Location: 62,49 + Owner: Greece + Health: 1 + Facing: 128 + SubCell: 1 + ExtractionLZ: waypoint + Location: 53,49 + Owner: Neutral + waypoint1: waypoint + Location: 57,74 + Owner: Neutral + waypoint2: waypoint + Location: 53,79 + Owner: Neutral + waypoint3: waypoint + Location: 57,65 + Owner: Neutral + CruiserCameraPoint: waypoint + Location: 69,67 + Owner: Neutral + waypoint7: waypoint + Location: 69,56 + Owner: Neutral + waypoint6: waypoint + Location: 55,60 + Owner: Neutral + EinsteinSpawnPoint: waypoint + Location: 62,61 + Owner: Neutral + waypoint8: waypoint + Location: 49,55 + Owner: Neutral + waypoint9: waypoint + Location: 55,56 + Owner: Neutral + InsertionLZ: waypoint + Location: 63,47 + Owner: Neutral + InsertionEntry: waypoint + Location: 63,45 + Owner: Neutral + BaseCameraPoint: waypoint + Location: 64,63 + Owner: Neutral + CruiserPoint4: waypoint + Location: 72,75 + Owner: Neutral + SouthReinforcementsPoint: waypoint + Location: 66,80 + Owner: Neutral + ExtractionFlarePoint: waypoint + Location: 54,48 + Owner: Neutral + CruiserPoint2: waypoint + Location: 64,75 + Owner: Neutral + CruiserPoint3: waypoint + Location: 68,76 + Owner: Neutral + CruiserPoint1: waypoint + Location: 60,74 + Owner: Neutral + waypoint78: waypoint + Location: 70,60 + Owner: Neutral + waypoint98: waypoint + Location: 63,47 + Owner: Neutral + Actor48: fenc + Location: 53,60 + Owner: USSR + Actor51: fenc + Location: 53,59 + Owner: USSR + Actor52: fenc + Location: 54,59 + Owner: USSR + Actor60: fenc + Location: 53,63 + Owner: USSR + Actor61: fenc + Location: 54,63 + Owner: USSR + Actor73: fenc + Location: 55,63 + Owner: USSR + Actor74: fenc + Location: 55,64 + Owner: USSR + Actor75: fenc + Location: 55,65 + Owner: USSR + Actor76: fenc + Location: 55,66 + Owner: USSR + Actor77: fenc + Location: 55,67 + Owner: USSR + Actor78: fenc + Location: 56,67 + Owner: USSR + Actor79: fenc + Location: 57,67 + Owner: USSR + Actor80: fenc + Location: 58,67 + Owner: USSR + Actor81: fenc + Location: 58,68 + Owner: USSR + Actor82: fenc + Location: 73,70 + Owner: USSR + Actor83: fenc + Location: 74,70 + Owner: USSR + Actor84: fenc + Location: 78,70 + Owner: USSR + Actor85: fenc + Location: 77,70 + Owner: USSR + Actor86: fenc + Location: 76,70 + Owner: USSR + Actor87: fenc + Location: 78,58 + Owner: USSR + Actor99: fenc + Location: 78,59 + Owner: USSR + Actor88: fenc + Location: 77,58 + Owner: USSR + Actor89: fenc + Location: 78,57 + Owner: USSR + Actor90: fenc + Location: 78,56 + Owner: USSR + Actor91: fenc + Location: 77,56 + Owner: USSR + Actor98: fenc + Location: 76,56 + Owner: USSR + Actor92: fenc + Location: 75,56 + Owner: USSR + Actor93: fenc + Location: 74,56 + Owner: USSR + Actor94: fenc + Location: 74,55 + Owner: USSR + Actor95: fenc + Location: 68,55 + Owner: USSR + Actor96: fenc + Location: 69,55 + Owner: USSR + Actor97: fenc + Location: 68,54 + Owner: USSR + ExtractionExitPoint: waypoint + Location: 78,49 + Owner: Neutral + +Smudges: + +Rules: + Player: + -ConquestVictoryConditions: + World: + -CrateDrop: + -SpawnMPUnits: + -MPStartLocations: + LuaScriptInterface: + LuaScripts: mission.lua + TRAN.Extraction: + Inherits: TRAN + RenderUnit: + Image: tran + RevealsShroud: + Range: 0 + RejectsOrders: + -Selectable: + Cargo: + Types: Einstein + MaxWeight: 1 + TRAN.Insertion: + Inherits: TRAN.Extraction + RenderUnit: + Image: tran + Cargo: + MaxWeight: 0 + EINSTEIN: + Passenger: + CargoType: Einstein + ^CivInfantry: + RevealsShroud: + Range: 0 + +Sequences: + +VoxelSequences: + +Weapons: + 8Inch: + Range: 25 + + M60mg: + Range: 5 + ROF: 20 + Burst: 1 + Warhead: + Damage: 20 +Voices: + +Notifications: + +Translations: diff --git a/mods/ra/maps/allies-01-classic/mission.lua b/mods/ra/maps/allies-01-classic/mission.lua new file mode 100644 index 0000000000..b57014e5c3 --- /dev/null +++ b/mods/ra/maps/allies-01-classic/mission.lua @@ -0,0 +1,151 @@ +InsertionHelicopterType = "tran.insertion" +ExtractionHelicopterType = "tran.extraction" +JeepReinforcements = { "jeep", "jeep" } +JeepInterval = 50 +JeepDelay = 125 +TanyaType = "e7" +EinsteinType = "einstein" +FlareType = "flare" +Cruisers = { "ca", "ca", "ca", "ca" } +CruiserDelay = 250 +CameraDelay = 125 +CivilianWait = 150 +BaseAlertDelay = 300 + +SendInsertionHelicopter = function() + local heli, passengers = Mission.PerformHelicopterInsertion(player, InsertionHelicopterType, { TanyaType }, + InsertionEntry.CenterPosition, InsertionLZ.CenterPosition, InsertionEntry.CenterPosition) + tanya = passengers[1] + Actor.OnKilled(tanya, TanyaKilled) +end + +SendJeeps = function() + Media.PlaySpeechNotification("ReinforcementsArrived") + Mission.Reinforce(player, JeepReinforcements, InsertionEntry.Location, InsertionLZ.Location, JeepInterval) +end + +RunInitialActivities = function() + SendInsertionHelicopter() + Actor.Hunt(Patrol1) + Actor.Hunt(Patrol2) + Actor.Hunt(Patrol3) + Actor.Hunt(Patrol4) + Actor.Harvest(Harvester) + Team.Do(civiliansTeam, function(c) + Actor.Wait(c, CivilianWait) + Actor.Hunt(c) + end) +end + +LabGuardsKilled = function() + CreateEinstein() + + Actor.Create(FlareType, { Owner = england, Location = ExtractionFlarePoint.Location }) + Media.PlaySpeechNotification("SignalFlareNorth") + SendExtractionHelicopter() + + OpenRA.RunAfterDelay(BaseAlertDelay, function() + local ussrUnits = Mission.GetGroundAttackersOf(ussr) + for i, unit in ipairs(ussrUnits) do + Actor.Hunt(unit) + end + end) + + OpenRA.RunAfterDelay(CruiserDelay, function() + Media.PlaySpeechNotification("AlliedReinforcementsArrived") + Actor.Create("camera", { Owner = player, Location = CruiserCameraPoint.Location }) + SendCruisers() + end) +end + +SendExtractionHelicopter = function() + local heli = Mission.PerformHelicopterExtraction(player, ExtractionHelicopterType, { einstein }, + SouthReinforcementsPoint.CenterPosition, ExtractionLZ.CenterPosition, ExtractionExitPoint.CenterPosition) + Actor.OnKilled(heli, HelicopterDestroyed) + Actor.OnRemovedFromWorld(heli, HelicopterExtractionCompleted) +end + +HelicopterExtractionCompleted = function() + MissionAccomplished() +end + +SendCruisers = function() + for i, cruiser in ipairs(Cruisers) do + local ca = Actor.Create(cruiser, { Owner = england, Location = SouthReinforcementsPoint.Location }) + Actor.Move(ca, _G["CruiserPoint" .. i].Location) + end +end + +LabDestroyed = function(self, e) + if not einstein then + MissionFailed() + end +end + +EinsteinKilled = function(self, e) + MissionFailed() +end + +HelicopterDestroyed = function(self, e) + MissionFailed() +end + +TanyaKilled = function(self, e) + MissionFailed() +end + +OilPumpDestroyed = function(self, e) + OpenRA.RunAfterDelay(JeepDelay, SendJeeps) +end + +CreateEinstein = function() + einstein = Actor.Create(EinsteinType, { Location = EinsteinSpawnPoint.Location, Owner = player }) + Actor.Scatter(einstein) + Actor.OnKilled(einstein, EinsteinKilled) +end + +MissionAccomplished = function() + Mission.MissionOver({ player }, nil, false) + --Media.PlayMovieFullscreen("snowbomb.vqa") +end + +MissionFailed = function() + Mission.MissionOver(nil, { player }, false) + Media.PlayMovieFullscreen("bmap.vqa") +end + +SetUnitStances = function() + local playerUnits = Mission.GetGroundAttackersOf(player) + local ussrUnits = Mission.GetGroundAttackersOf(ussr) + for i, unit in ipairs(playerUnits) do + Actor.SetStance(unit, "Defend") + end +end + +Tick = function() + Mission.TickTakeOre(ussr) +end + +WorldLoaded = function() + player = OpenRA.GetPlayer("Greece") + england = OpenRA.GetPlayer("England") + ussr = OpenRA.GetPlayer("USSR") + + Actor.OnKilled(Lab, LabDestroyed) + Actor.OnKilled(OilPump, OilPumpDestroyed) + + labGuardsTeam = Team.Create({ LabGuard1, LabGuard2, LabGuard3 }) + Team.AddEventHandler(labGuardsTeam.OnAllKilled, LabGuardsKilled) + + civiliansTeam = Team.Create({ Civilian1, Civilian2 }) + + RunInitialActivities() + + SetUnitStances() + + OpenRA.RunAfterDelay(CameraDelay, function() Actor.Create("camera", { Owner = player, Location = BaseCameraPoint.Location }) end) + + OpenRA.SetViewportCenterPosition(InsertionLZ.CenterPosition) + + Media.PlayMovieFullscreen("ally1.vqa", function() Media.PlayMovieFullscreen("landing.vqa", Media.PlayRandomMusic) end) +end \ No newline at end of file diff --git a/mods/ra/maps/allies-02-classic/map.bin b/mods/ra/maps/allies-02-classic/map.bin new file mode 100644 index 0000000000..ebace1686e Binary files /dev/null and b/mods/ra/maps/allies-02-classic/map.bin differ diff --git a/mods/ra/maps/allies-02-classic/map.yaml b/mods/ra/maps/allies-02-classic/map.yaml new file mode 100644 index 0000000000..4461dbbef2 --- /dev/null +++ b/mods/ra/maps/allies-02-classic/map.yaml @@ -0,0 +1,954 @@ +Selectable: True + +MapFormat: 6 + +Title: Allies 02: Five to one + +Description: Five to one + +Author: Westwood Studios + +Tileset: SNOW + +Options: + Crates: False + Fog: True + Shroud: True + AllyBuildRadius: False + FragileAlliances: False + StartingCash: 5700 + ConfigurableStartingUnits: False + Difficulties: + +MapSize: 128,128 + +RequiresMod: ra + +Bounds: 43,44,50,42 + +UseAsShellmap: False + +Type: Campaign + +Players: + PlayerReference@USSR: + Name: USSR + Race: soviet + ColorRamp: 3,255,127 + Allies: BadGuy + Enemies: England,Greece + PlayerReference@France: + Name: France + Race: allies + ColorRamp: 115,115,143 + Allies: England,Greece + Enemies: USSR,BadGuy + PlayerReference@Neutral: + Name: Neutral + OwnsWorld: True + NonCombatant: True + Race: allies + Enemies: England,Greece + PlayerReference@BadGuy: + Name: BadGuy + Race: soviet + ColorRamp: 3,255,127 + Allies: USSR + Enemies: England,Greece + PlayerReference@Greece: + Name: Greece + Playable: True + AllowBots: False + Required: True + LockRace: True + Race: allies + LockColor: True + ColorRamp: 161,134,200 + LockSpawn: True + LockTeam: True + Allies: France,England + Enemies: USSR,BadGuy + +Actors: + EntryPoint: t06 + Location: 75,80 + Owner: Neutral + Actor1: t03 + Location: 75,72 + Owner: Neutral + Actor2: t08 + Location: 92,60 + Owner: Neutral + Actor3: t12 + Location: 92,63 + Owner: Neutral + Actor4: t01 + Location: 89,62 + Owner: Neutral + Actor5: t16 + Location: 61,44 + Owner: Neutral + Actor6: t14 + Location: 58,49 + Owner: Neutral + Actor7: t10 + Location: 55,46 + Owner: Neutral + Actor8: t10 + Location: 43,56 + Owner: Neutral + Actor9: t01 + Location: 45,56 + Owner: Neutral + Actor10: t17 + Location: 53,66 + Owner: Neutral + Actor11: tc01 + Location: 59,60 + Owner: Neutral + Actor12: tc01 + Location: 63,74 + Owner: Neutral + Actor13: t07 + Location: 44,77 + Owner: Neutral + Actor14: t08 + Location: 50,78 + Owner: Neutral + Actor15: t11 + Location: 51,71 + Owner: Neutral + Actor16: t10 + Location: 68,77 + Owner: Neutral + Actor17: tc02 + Location: 69,72 + Owner: Neutral + Actor18: tc03 + Location: 71,52 + Owner: Neutral + Actor19: tc04 + Location: 67,76 + Owner: Neutral + Actor20: t17 + Location: 70,55 + Owner: Neutral + Actor21: tc01 + Location: 70,54 + Owner: Neutral + Actor22: t06 + Location: 67,54 + Owner: Neutral + Actor23: t01 + Location: 67,44 + Owner: Neutral + Actor24: tc02 + Location: 67,51 + Owner: Neutral + Actor25: tc04 + Location: 67,49 + Owner: Neutral + Actor26: t17 + Location: 69,50 + Owner: Neutral + Actor27: t08 + Location: 64,55 + Owner: Neutral + Actor28: t16 + Location: 72,62 + Owner: Neutral + Actor29: t15 + Location: 71,63 + Owner: Neutral + Actor30: tc04 + Location: 67,66 + Owner: Neutral + Actor31: tc05 + Location: 68,67 + Owner: Neutral + Actor32: t17 + Location: 67,62 + Owner: Neutral + Actor33: tc02 + Location: 44,68 + Owner: Neutral + Actor34: t12 + Location: 93,81 + Owner: Neutral + Actor35: t03 + Location: 93,55 + Owner: Neutral + Actor36: t02 + Location: 93,57 + Owner: Neutral + Actor37: t02 + Location: 79,47 + Owner: Neutral + Actor38: t11 + Location: 77,56 + Owner: Neutral + Actor39: t01 + Location: 92,45 + Owner: Neutral + Actor40: t05 + Location: 93,54 + Owner: Neutral + Actor41: t06 + Location: 93,82 + Owner: Neutral + Actor42: t07 + Location: 87,44 + Owner: Neutral + Actor43: t14 + Location: 46,84 + Owner: Neutral + Actor44: t08 + Location: 48,85 + Owner: Neutral + Actor45: t07 + Location: 51,84 + Owner: Neutral + Actor46: tc01 + Location: 62,84 + Owner: Neutral + Actor47: t11 + Location: 59,71 + Owner: Neutral + Actor48: t01 + Location: 45,44 + Owner: Neutral + Actor49: tc04 + Location: 45,53 + Owner: Neutral + Actor50: t11 + Location: 54,55 + Owner: Neutral + Actor51: t10 + Location: 84,71 + Owner: Neutral + Actor52: tc05 + Location: 90,83 + Owner: Neutral + Actor53: tc01 + Location: 89,84 + Owner: Neutral + Actor54: tc04 + Location: 85,81 + Owner: Neutral + Actor55: tc05 + Location: 43,71 + Owner: Neutral + Actor56: tc03 + Location: 43,70 + Owner: Neutral + Actor57: weap + Location: 60,66 + Owner: USSR + Health: 1 + Facing: 0 + Actor58: fact + Location: 62,61 + Owner: USSR + Health: 1 + Facing: 0 + Actor59: proc + Location: 53,62 + Owner: USSR + Health: 1 + Facing: 0 + FreeActor: False + Actor60: powr + Location: 57,62 + Owner: USSR + Health: 1 + Facing: 0 + Actor61: barr + Location: 56,66 + Owner: USSR + Health: 1 + Facing: 0 + Actor62: powr + Location: 59,62 + Owner: USSR + Health: 1 + Facing: 0 + Actor63: kenn + Location: 58,68 + Owner: USSR + Health: 0.9921875 + Facing: 0 + Actor64: brl3 + Location: 65,59 + Owner: USSR + Health: 1 + Facing: 0 + Actor65: barl + Location: 66,60 + Owner: USSR + Health: 1 + Facing: 0 + Actor66: barl + Location: 65,60 + Owner: USSR + Health: 1 + Facing: 0 + Actor67: brl3 + Location: 64,60 + Owner: USSR + Health: 1 + Facing: 0 + Actor68: barl + Location: 65,61 + Owner: USSR + Health: 1 + Facing: 0 + Actor69: v19 + Location: 67,60 + Owner: USSR + Health: 1 + Facing: 0 + Actor70: v19 + Location: 67,59 + Owner: USSR + Health: 1 + Facing: 0 + Actor71: barl + Location: 65,62 + Owner: USSR + Health: 1 + Facing: 0 + Actor72: silo + Location: 54,68 + Owner: USSR + Health: 1 + Facing: 0 + Actor73: brl3 + Location: 55,70 + Owner: USSR + Health: 1 + Facing: 0 + Actor74: brl3 + Location: 54,70 + Owner: USSR + Health: 1 + Facing: 0 + Actor75: barl + Location: 53,69 + Owner: USSR + Health: 1 + Facing: 0 + Actor76: barl + Location: 54,69 + Owner: USSR + Health: 1 + Facing: 0 + Actor77: barl + Location: 55,71 + Owner: USSR + Health: 1 + Facing: 0 + Actor78: brl3 + Location: 56,71 + Owner: USSR + Health: 1 + Facing: 0 + Actor79: brl3 + Location: 53,68 + Owner: USSR + Health: 1 + Facing: 0 + Actor80: v19 + Location: 56,70 + Owner: USSR + Health: 1 + Facing: 0 + Actor81: barl + Location: 55,69 + Owner: USSR + Health: 1 + Facing: 0 + Actor82: brl3 + Location: 72,51 + Owner: USSR + Health: 1 + Facing: 0 + Actor83: barl + Location: 72,50 + Owner: USSR + Health: 1 + Facing: 0 + Actor84: barl + Location: 74,48 + Owner: USSR + Health: 1 + Facing: 0 + Actor85: barl + Location: 72,49 + Owner: USSR + Health: 1 + Facing: 0 + Actor86: barl + Location: 73,48 + Owner: USSR + Health: 1 + Facing: 0 + Actor87: v19 + Location: 75,48 + Owner: USSR + Health: 0.5195313 + Facing: 0 + Actor88: v19 + Location: 62,57 + Owner: USSR + Health: 1 + Facing: 0 + Actor89: v19 + Location: 60,58 + Owner: USSR + Health: 1 + Facing: 0 + Actor90: brl3 + Location: 62,56 + Owner: USSR + Health: 1 + Facing: 0 + Actor91: brl3 + Location: 61,58 + Owner: USSR + Health: 1 + Facing: 0 + Actor92: barl + Location: 61,57 + Owner: USSR + Health: 1 + Facing: 0 + Actor93: brl3 + Location: 59,58 + Owner: USSR + Health: 1 + Facing: 0 + Actor94: barl + Location: 58,58 + Owner: USSR + Health: 1 + Facing: 0 + Harvester: harv + Location: 55,65 + Owner: USSR + Health: 0.5 + Facing: 160 + Actor96: dog + Location: 53,58 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 1 + Actor97: dog + Location: 65,68 + Owner: USSR + Health: 1 + Facing: 64 + SubCell: 3 + Actor98: dog + Location: 65,66 + Owner: USSR + Health: 1 + Facing: 32 + SubCell: 2 + Actor99: dog + Location: 59,70 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 2 + Actor100: e2 + Location: 61,56 + Owner: USSR + Health: 1 + Facing: 32 + SubCell: 3 + Actor101: e2 + Location: 59,57 + Owner: USSR + Health: 1 + Facing: 224 + SubCell: 4 + Actor102: e2 + Location: 64,67 + Owner: USSR + Health: 1 + Facing: 96 + SubCell: 0 + Actor103: e1 + Location: 77,74 + Owner: BadGuy + Health: 1 + Facing: 128 + SubCell: 2 + Actor104: e1 + Location: 80,74 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 0 + Actor105: e1 + Location: 56,68 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 3 + Actor106: e1 + Location: 50,72 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 4 + Actor107: e1 + Location: 73,60 + Owner: USSR + Health: 1 + Facing: 32 + SubCell: 2 + Actor108: e1 + Location: 74,61 + Owner: USSR + Health: 1 + Facing: 224 + SubCell: 1 + Actor109: e1 + Location: 72,60 + Owner: USSR + Health: 1 + Facing: 64 + SubCell: 0 + Actor110: e1 + Location: 49,58 + Owner: USSR + Health: 1 + Facing: 192 + SubCell: 0 + Actor111: e1 + Location: 51,58 + Owner: USSR + Health: 1 + Facing: 32 + SubCell: 1 + Actor112: e1 + Location: 60,78 + Owner: USSR + Health: 1 + Facing: 192 + SubCell: 4 + Actor113: e2 + Location: 62,79 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 4 + Actor114: e1 + Location: 57,82 + Owner: USSR + Health: 1 + Facing: 160 + SubCell: 1 + Actor115: e1 + Location: 60,64 + Owner: USSR + Health: 1 + Facing: 224 + SubCell: 3 + Actor116: e2 + Location: 68,45 + Owner: USSR + Health: 1 + Facing: 96 + SubCell: 0 + Actor117: e1 + Location: 48,72 + Owner: USSR + Health: 1 + Facing: 96 + SubCell: 0 + Actor118: e1 + Location: 57,69 + Owner: USSR + Health: 1 + Facing: 96 + SubCell: 1 + Actor119: e2 + Location: 60,70 + Owner: USSR + Health: 1 + Facing: 32 + SubCell: 0 + Actor120: e1 + Location: 89,48 + Owner: Greece + Health: 1 + Facing: 160 + SubCell: 1 + Actor121: e1 + Location: 87,48 + Owner: Greece + Health: 1 + Facing: 192 + SubCell: 4 + Actor122: e1 + Location: 87,48 + Owner: Greece + Health: 1 + Facing: 192 + SubCell: 1 + Actor123: e1 + Location: 88,48 + Owner: Greece + Health: 1 + Facing: 128 + SubCell: 4 + Actor124: e1 + Location: 88,49 + Owner: Greece + Health: 1 + Facing: 128 + SubCell: 1 + Actor125: dog + Location: 78,75 + Owner: BadGuy + Health: 1 + Facing: 160 + SubCell: 1 + Actor126: e1 + Location: 71,61 + Owner: BadGuy + Health: 1 + Facing: 160 + SubCell: 0 + Actor127: dog + Location: 70,61 + Owner: BadGuy + Health: 1 + Facing: 96 + SubCell: 4 + Actor128: e1 + Location: 50,46 + Owner: BadGuy + Health: 1 + Facing: 32 + SubCell: 1 + Actor129: e1 + Location: 49,47 + Owner: BadGuy + Health: 1 + Facing: 64 + SubCell: 0 + Actor130: e2 + Location: 49,49 + Owner: BadGuy + Health: 1 + Facing: 160 + SubCell: 1 + Actor131: e2 + Location: 47,46 + Owner: BadGuy + Health: 1 + Facing: 96 + SubCell: 3 + Actor132: e2 + Location: 48,63 + Owner: BadGuy + Health: 1 + Facing: 0 + SubCell: 1 + Actor133: e1 + Location: 49,63 + Owner: BadGuy + Health: 1 + Facing: 96 + SubCell: 2 + Actor134: e1 + Location: 74,81 + Owner: BadGuy + Health: 1 + Facing: 64 + SubCell: 3 + Actor135: e2 + Location: 75,83 + Owner: BadGuy + Health: 1 + Facing: 96 + SubCell: 0 + Actor136: e2 + Location: 69,66 + Owner: USSR + Health: 1 + Facing: 0 + SubCell: 3 + Actor137: e2 + Location: 73,51 + Owner: USSR + Health: 0.5585938 + Facing: 224 + SubCell: 4 + Actor138: medi + Location: 88,48 + Owner: Greece + Health: 1 + Facing: 160 + SubCell: 1 + TruckEntryPoint: waypoint + Location: 49,44 + Owner: Neutral + waypoint1: waypoint + Location: 49,50 + Owner: Neutral + TruckRallyPoint: waypoint + Location: 49,76 + Owner: Neutral + waypoint3: waypoint + Location: 65,82 + Owner: Neutral + waypoint4: waypoint + Location: 74,82 + Owner: Neutral + waypoint6: waypoint + Location: 65,82 + Owner: Neutral + waypoint7: waypoint + Location: 74,82 + Owner: Neutral + waypoint8: waypoint + Location: 78,74 + Owner: Neutral + waypoint9: waypoint + Location: 82,65 + Owner: Neutral + ReinforcementsRallyPoint: waypoint + Location: 88,49 + Owner: Neutral + waypoint11: waypoint + Location: 51,65 + Owner: Neutral + waypoint12: waypoint + Location: 63,64 + Owner: Neutral + waypoint13: waypoint + Location: 72,61 + Owner: Neutral + waypoint14: waypoint + Location: 69,47 + Owner: Neutral + waypoint15: waypoint + Location: 78,51 + Owner: Neutral + waypoint16: waypoint + Location: 80,45 + Owner: Neutral + waypoint25: waypoint + Location: 80,89 + Owner: Neutral + waypoint26: waypoint + Location: 43,63 + Owner: Neutral + waypoint94: waypoint + Location: 90,46 + Owner: Neutral + McvDeployPoint: waypoint + Location: 89,51 + Owner: Neutral + waypoint96: waypoint + Location: 90,68 + Owner: Neutral + waypoint98: waypoint + Location: 88,49 + Owner: Neutral + Actor139: fenc + Location: 57,75 + Owner: USSR + Actor140: fenc + Location: 57,76 + Owner: USSR + Actor141: fenc + Location: 57,77 + Owner: USSR + Actor142: fenc + Location: 58,77 + Owner: USSR + Actor143: fenc + Location: 58,78 + Owner: USSR + Actor144: fenc + Location: 57,78 + Owner: USSR + Actor145: fenc + Location: 58,75 + Owner: USSR + Actor146: fenc + Location: 58,74 + Owner: USSR + Actor147: fenc + Location: 57,74 + Owner: USSR + Actor148: fenc + Location: 66,67 + Owner: USSR + Actor149: fenc + Location: 66,68 + Owner: USSR + Actor150: fenc + Location: 66,69 + Owner: USSR + Actor151: fenc + Location: 66,70 + Owner: USSR + Actor152: fenc + Location: 65,70 + Owner: USSR + Actor153: fenc + Location: 64,70 + Owner: USSR + Actor154: fenc + Location: 63,70 + Owner: USSR + Actor155: fenc + Location: 51,68 + Owner: USSR + Actor156: fenc + Location: 52,68 + Owner: USSR + Actor157: fenc + Location: 52,67 + Owner: USSR + Actor158: fenc + Location: 52,66 + Owner: USSR + Actor159: fenc + Location: 51,66 + Owner: USSR + Actor160: fenc + Location: 51,62 + Owner: USSR + Actor161: fenc + Location: 51,63 + Owner: USSR + Actor162: fenc + Location: 67,58 + Owner: USSR + Actor163: fenc + Location: 66,58 + Owner: USSR + Actor164: fenc + Location: 66,59 + Owner: USSR + Actor165: fenc + Location: 47,51 + Owner: USSR + Actor166: fenc + Location: 47,50 + Owner: USSR + Actor167: fenc + Location: 46,50 + Owner: USSR + Actor168: fenc + Location: 51,50 + Owner: USSR + Actor169: fenc + Location: 50,50 + Owner: USSR + Actor170: fenc + Location: 50,51 + Owner: USSR + ReinforcementsEntryPoint: waypoint + Location: 90,44 + Owner: Neutral + TruckExitPoint: waypoint + Location: 80,85 + Owner: Neutral + +Smudges: + +Rules: + Player: + -ConquestVictoryConditions: + World: + -CrateDrop: + -SpawnMPUnits: + -MPStartLocations: + LuaScriptInterface: + LuaScripts: mission.lua + ^Infantry: + MustBeDestroyed: + ^Tank: + MustBeDestroyed: + ^Vehicle: + MustBeDestroyed: + APWR: + Buildable: + Owner: None + FIX: + Buildable: + Owner: None + SYRD: + Buildable: + Owner: None + WEAP: + Buildable: + Owner: None + DOME: + Buildable: + Owner: None + HPAD: + Buildable: + Owner: None + ATEK: + Buildable: + Owner: None + BRIK: + Buildable: + Owner: None + HBOX.E1: + Buildable: + Owner: None + GUN: + Buildable: + Owner: None + AGUN: + Buildable: + Owner: None + GAP: + Buildable: + Owner: None + PDOX: + Buildable: + Owner: None + MSLO: + Buildable: + Owner: None + E6: + Buildable: + Owner: None + SPY: + Buildable: + Owner: None + MECH: + Buildable: + Owner: None + E7: + Buildable: + Owner: None + +Sequences: + +VoxelSequences: + +Weapons: + M60mg: + Range: 5 + ROF: 20 + Burst: 1 + Warhead: + Damage: 20 +Voices: + +Notifications: + +Translations: diff --git a/mods/ra/maps/allies-02-classic/mission.lua b/mods/ra/maps/allies-02-classic/mission.lua new file mode 100644 index 0000000000..b6c0bf1d37 --- /dev/null +++ b/mods/ra/maps/allies-02-classic/mission.lua @@ -0,0 +1,78 @@ +Reinforcements = { "e1", "e1", "e1", "jeep" } +ReinforcementsInterval = 15 +TruckNames = { "truk", "truk", "truk" } +TruckInterval = 25 +TruckDelay = 75 +FirstJeepReinforcementsDelay = 125 +SecondJeepReinforcementsDelay = 250 + +SendMcvReinforcements = function() + Media.PlaySpeechNotification("ReinforcementsArrived") + local mcv = Actor.Create("mcv", { Owner = player, Location = ReinforcementsEntryPoint.Location }) + Actor.Move(mcv, McvDeployPoint.Location) + Actor.DeployTransform(mcv) +end + +SendJeepReinforcements = function() + Media.PlaySpeechNotification("ReinforcementsArrived") + Mission.Reinforce(player, Reinforcements, ReinforcementsEntryPoint.Location, ReinforcementsRallyPoint.Location, ReinforcementsInterval) +end + +RunInitialActivities = function() + Actor.Harvest(Harvester) +end + +MissionAccomplished = function() + Mission.MissionOver({ player }, nil, false) + Media.PlayMovieFullscreen("montpass.vqa") +end + +MissionFailed = function() + Mission.MissionOver(nil, { player }, false) + Media.PlayMovieFullscreen("frozen.vqa") +end + +Tick = function() + Mission.TickTakeOre(ussr) + + if not Mission.MissionIsOver then + if Mission.RequiredUnitsAreDestroyed(player) then + MissionFailed() + end + if not trucksSent and Mission.RequiredUnitsAreDestroyed(ussr) and Mission.RequiredUnitsAreDestroyed(badGuy) then + SendTrucks() + trucksSent = true + end + end +end + +SendTrucks = function() + Media.PlaySpeechNotification("ConvoyApproaching") + OpenRA.RunAfterDelay(TruckDelay, function() + local trucks = Mission.Reinforce(france, TruckNames, TruckEntryPoint.Location, TruckRallyPoint.Location, TruckInterval, + function(truck) + Actor.Move(truck, TruckExitPoint.Location) + Actor.RemoveSelf(truck) + end) + local trucksTeam = Team.Create(trucks) + Team.AddEventHandler(trucksTeam.OnAllRemovedFromWorld, MissionAccomplished) + Team.AddEventHandler(trucksTeam.OnAnyKilled, MissionFailed) + end) +end + +WorldLoaded = function() + player = OpenRA.GetPlayer("Greece") + france = OpenRA.GetPlayer("France") + ussr = OpenRA.GetPlayer("USSR") + badGuy = OpenRA.GetPlayer("BadGuy") + + RunInitialActivities() + + SendMcvReinforcements() + OpenRA.RunAfterDelay(FirstJeepReinforcementsDelay, SendJeepReinforcements) + OpenRA.RunAfterDelay(SecondJeepReinforcementsDelay, SendJeepReinforcements) + + OpenRA.SetViewportCenterPosition(ReinforcementsEntryPoint.CenterPosition) + + Media.PlayMovieFullscreen("ally2.vqa", function() Media.PlayMovieFullscreen("mcv.vqa", Media.PlayRandomMusic) end) +end \ No newline at end of file