Initial commit: OpenRA game engine
Some checks failed
Continuous Integration / Linux (.NET 8.0) (push) Has been cancelled
Continuous Integration / Windows (.NET 8.0) (push) Has been cancelled

Fork from OpenRA/OpenRA with one-click launch script (start-ra.cmd)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
let5sne.win10
2026-01-10 21:46:54 +08:00
commit 9cf6ebb986
4065 changed files with 635973 additions and 0 deletions

View File

@@ -0,0 +1,153 @@
--[[
Copyright (c) The OpenRA Developers and Contributors
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.
]]
IdlingUnits = { }
AttackGroup = { }
AttackGroupSize = 10
BGAttackGroup = { }
BGAttackGroupSize = 8
SovietAircraftType = { "yak" }
Yaks = { }
SovietInfantry = { "e1", "e2", "e4" }
SovietVehicles =
{
hard = { "3tnk", "3tnk", "v2rl" },
normal = { "3tnk" },
easy = { "3tnk", "apc" }
}
ProductionInterval =
{
easy = DateTime.Seconds(30),
normal = DateTime.Seconds(15),
hard = DateTime.Seconds(5)
}
ParadropDelay = { DateTime.Seconds(30), DateTime.Minutes(1) }
ParadropWaves = 6
ParadropLZs = { ParaLZ1.CenterPosition, ParaLZ2.CenterPosition, ParaLZ3.CenterPosition, ParaLZ4.CenterPosition }
Paradropped = 0
Paradrop = function()
Trigger.AfterDelay(Utils.RandomInteger(ParadropDelay[1], ParadropDelay[2]), function()
local aircraft = PowerProxy.TargetParatroopers(Utils.Random(ParadropLZs))
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)
Paradropped = Paradropped + 1
if Paradropped <= ParadropWaves then
Paradrop()
end
end)
end
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[Difficulty], ProduceBadGuyInfantry)
end)
end
SendAttackGroup = function()
if #AttackGroup < AttackGroupSize then
return
end
Utils.Do(AttackGroup, function(unit)
if not unit.IsDead then
Trigger.OnIdle(unit, unit.Hunt)
end
end)
AttackGroup = { }
end
ProduceUSSRInfantry = function()
if USSRRax.IsDead or USSRRax.Owner ~= USSR then
return
end
USSR.Build({ Utils.Random(SovietInfantry) }, function(units)
table.insert(AttackGroup, units[1])
SendAttackGroup()
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRInfantry)
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[Difficulty], ProduceVehicles)
end)
end
ProduceAircraft = function()
if (Airfield1.IsDead or Airfield1.Owner ~= USSR) and (Airfield2.IsDead or Airfield2.Owner ~= USSR) and (Airfield3.IsDead or Airfield3.Owner ~= USSR) and (Airfield4.IsDead or Airfield4.Owner ~= USSR) then
return
end
USSR.Build(SovietAircraftType, function(units)
local yak = units[1]
Yaks[#Yaks + 1] = yak
Trigger.OnKilled(yak, ProduceAircraft)
local alive = Utils.Where(Yaks, function(y) return not y.IsDead end)
if #alive < 2 then
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
end
InitializeAttackAircraft(yak, Greece)
end)
end
ActivateAI = function()
SovietVehicles = SovietVehicles[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)
Paradrop()
ProduceBadGuyInfantry()
ProduceUSSRInfantry()
ProduceVehicles()
ProduceAircraft()
end

View File

@@ -0,0 +1,209 @@
--[[
Copyright (c) The OpenRA Developers and Contributors
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.
]]
DestroySubPensTriggerActivator = { Spen1, Spen2, Spen3, Spen4, Spen5 }
ClearSubActivityTriggerActivator = { Sub1, Sub2, Sub3, Sub4, Sub5, Sub6, Sub7, Sub8, Sub9, Sub10, Sub11, Sub12, Sub13, Sub14, Sub15, Sub16, Sub17 }
AlliedGunboats = { "pt", "pt", "pt" }
BeachRifles = { BeachRifle1, BeachRifle2, BeachRifle3, BeachRifle4 }
LstReinforcements =
{
first =
{
actors = { "mcv", "jeep", "2tnk", "2tnk" },
entryPath = { AlliedMCVEntry.Location, Unload1.Location },
exitPath = { AlliedMCVEntry.Location }
},
second =
{
actors = { "jeep", "2tnk", "e1", "e1", "e1" },
entryPath = { AlliedMCVEntry.Location, Unload1.Location },
exitPath = { AlliedMCVEntry.Location }
}
}
if Difficulty == "easy" then
ActivateAIDelay = DateTime.Minutes(1)
else
ActivateAIDelay = DateTime.Seconds(30)
end
RaidingParty = { "3tnk", "3tnk", "v2rl", "e1", "e2"}
BaseRaidDelay1 = { DateTime.Minutes(1), DateTime.Minutes(2) }
BaseRaidDelay2 = { DateTime.Minutes(3), DateTime.Minutes(4) }
RaidOnePath = { RaidOneEntry.Location, RaidOneLanding.Location }
RaidTwoPath = { RaidTwoEntry.Location, RaidTwoLanding.Location }
StartTimer = false
TimerColor = Player.GetPlayer("USSR").Color
TimerTicks = DateTime.Minutes(10)
Ticked = TimerTicks
StartTimerDelay = DateTime.Minutes(5)
InitialAlliedReinforcements = function()
Trigger.AfterDelay(DateTime.Seconds(1), function()
Reinforcements.Reinforce(Greece, AlliedGunboats, { GunboatEntry.Location, waypoint42.Location }, 2)
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
local reinforcement = LstReinforcements.first
Reinforcements.ReinforceWithTransport(Greece, "lst.reinforcement", reinforcement.actors, reinforcement.entryPath, reinforcement.exitPath)
end)
end
BeachRunners = function()
Trigger.AfterDelay(DateTime.Seconds(7), function()
Utils.Do(BeachRifles, function(actor)
actor.Move(BeachRifleDestination.Location)
end)
end)
end
SecondAlliedLanding = function()
Trigger.AfterDelay(DateTime.Minutes(1), function()
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
local reinforcement = LstReinforcements.second
Reinforcements.ReinforceWithTransport(Greece, "lst.reinforcement", reinforcement.actors, reinforcement.entryPath, reinforcement.exitPath)
end)
end
CaptureRadarDome = function()
Trigger.OnKilled(RadarDome, function()
Greece.MarkFailedObjective(CaptureRadarDomeObj)
end)
Trigger.OnCapture(RadarDome, function()
Greece.MarkCompletedObjective(CaptureRadarDomeObj)
BaseRaids()
end)
end
BaseRaids = function()
if Difficulty == "easy" then
return
else
Trigger.AfterDelay(Utils.RandomInteger(BaseRaidDelay1[1], BaseRaidDelay1[2]), function()
local raiders = Reinforcements.ReinforceWithTransport(USSR, "lst", RaidingParty, RaidOnePath, { RaidOneEntry.Location })[2]
Utils.Do(raiders, function(a)
Trigger.OnAddedToWorld(a, function()
a.AttackMove(PlayerBase.Location)
IdleHunt(a)
end)
end)
end)
Trigger.AfterDelay(Utils.RandomInteger(BaseRaidDelay2[1], BaseRaidDelay2[2]), function()
local raiders = Reinforcements.ReinforceWithTransport(USSR, "lst", RaidingParty, RaidTwoPath, { RaidTwoEntry.Location })[2]
Utils.Do(raiders, function(a)
Trigger.OnAddedToWorld(a, function()
a.AttackMove(PlayerBase.Location)
IdleHunt(a)
end)
end)
end)
end
end
StartTimerFunction = function()
if Difficulty == "hard" then
StartTimer = true
Media.PlaySpeechNotification(Greece, "TimerStarted")
end
end
EnemyApproaching = UserInterface.GetFluentMessage("enemy-approaching")
FinishTimer = function()
for i = 0, 5, 1 do
local c = TimerColor
if i % 2 == 0 then
c = HSLColor.White
end
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText(EnemyApproaching, c) end)
end
Trigger.AfterDelay(DateTime.Seconds(6), function() UserInterface.SetMissionText("") end)
end
BattalionWays =
{
{ HardEntry1.Location, HardLanding1.Location },
{ HardEntry2.Location, HardLanding2.Location },
{ HardEntry3.Location, HardLanding3.Location },
{ HardEntry4.Location, HardLanding4.Location },
{ HardEntry5.Location, HardLanding5.Location },
{ HardEntry6.Location, HardLanding6.Location }
}
SendArmoredBattalion = function()
Media.PlaySpeechNotification(Greece, "EnemyUnitsApproaching")
Utils.Do(BattalionWays, function(way)
local units = { "3tnk", "3tnk", "3tnk", "4tnk", "4tnk" }
local armor = Reinforcements.ReinforceWithTransport(USSR, "lst", units , way, { way[2], way[1] })[2]
Utils.Do(armor, function(a)
Trigger.OnAddedToWorld(a, function()
a.AttackMove(PlayerBase.Location)
IdleHunt(a)
end)
end)
end)
end
DestroySubPensCompleted = function()
Greece.MarkCompletedObjective(DestroySubPens)
end
ClearSubActivityCompleted = function()
Greece.MarkCompletedObjective(ClearSubActivity)
end
Tick = function()
USSR.Cash = 5000
BadGuy.Cash = 500
if StartTimer then
if Ticked > 0 then
if (Ticked % DateTime.Seconds(1)) == 0 then
Timer = UserInterface.GetFluentMessage("soviet-armored-battalion-arrives-in", { ["time"] = Utils.FormatTime(Ticked) })
UserInterface.SetMissionText(Timer, TimerColor)
end
Ticked = Ticked - 1
elseif Ticked == 0 then
FinishTimer()
SendArmoredBattalion()
Ticked = Ticked - 1
end
end
if Greece.HasNoRequiredUnits() then
USSR.MarkCompletedObjective(BeatAllies)
end
end
WorldLoaded = function()
Greece = Player.GetPlayer("Greece")
USSR = Player.GetPlayer("USSR")
BadGuy = Player.GetPlayer("BadGuy")
Camera.Position = DefaultCameraPosition.CenterPosition
InitObjectives(Greece)
CaptureRadarDomeObj = AddPrimaryObjective(Greece, "capture-radar-dome")
DestroySubPens = AddPrimaryObjective(Greece, "destroy-all-soviet-sub-pens")
ClearSubActivity = AddSecondaryObjective(Greece, "clear-area-all-subs")
BeatAllies = AddPrimaryObjective(USSR, "")
PowerProxy = Actor.Create("powerproxy.paratroopers", false, { Owner = USSR })
InitialAlliedReinforcements()
SecondAlliedLanding()
BeachRunners()
CaptureRadarDome()
Trigger.AfterDelay(ActivateAIDelay, ActivateAI)
Trigger.AfterDelay(StartTimerDelay, StartTimerFunction)
Trigger.OnAllKilledOrCaptured(DestroySubPensTriggerActivator, DestroySubPensCompleted)
Trigger.OnAllRemovedFromWorld(ClearSubActivityTriggerActivator, ClearSubActivityCompleted)
end

Binary file not shown.

View File

@@ -0,0 +1,13 @@
## rules.yaml
briefing =
LANDCOM 16 HQS.
TOP SECRET.
TO: FIELD COMMANDER A9
INTERCEPTION OF SOVIET COMMUNIQUE INDICATES THAT THEIR IRON CURTAIN RESEARCH WAS SET BACK BY ESPIONAGE. EXCELLENT WORK, COMMANDER!
COMMUNIQUE WAS TRACED BACK TO A SECRET SOVIET BASE IN BORNHOLM. INVESTIGATE POSSIBLE CONNECTION WITH IRON CURTAIN RESEARCH. CAPTURE RADAR CENTER AND DESTROY SUB PRODUCTION CAPABILITY.
CONFIRMATION CODE 1138.
TRANSMISSION ENDS.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,881 @@
MapFormat: 12
RequiresMod: ra
Title: 07: Sunken Treasure
Author: Westwood Studios
Tileset: TEMPERAT
MapSize: 128,128
Bounds: 10,44,98,40
Visibility: MissionSelector
Categories: Campaign
LockPreview: True
Players:
PlayerReference@Neutral:
Name: Neutral
OwnsWorld: True
NonCombatant: True
Faction: england
PlayerReference@Creeps:
Name: Creeps
NonCombatant: True
Faction: england
PlayerReference@USSR:
Name: USSR
Faction: soviet
Color: FF1400
Allies: BadGuy
Enemies: England, Greece
Bot: campaign
PlayerReference@BadGuy:
Name: BadGuy
Faction: soviet
Color: FF1400
Allies: USSR
Enemies: England, Greece
Bot: campaign
PlayerReference@England:
Name: England
Faction: allies
Color: A0F08C
Allies: Greece
Enemies: USSR, BadGuy
Bot: campaign
PlayerReference@Greece:
Name: Greece
AllowBots: False
Playable: True
Required: True
LockFaction: True
Faction: allies
LockColor: True
Color: E2E6F6
LockSpawn: True
LockTeam: True
Allies: England
Enemies: USSR, BadGuy
Actors:
Actor0: brik
Location: 75,61
Owner: USSR
Actor1: brik
Location: 76,61
Owner: USSR
Actor2: brik
Location: 77,61
Owner: USSR
Actor3: brik
Location: 75,62
Owner: USSR
Actor4: brik
Location: 76,62
Owner: USSR
Actor5: brik
Location: 77,62
Owner: USSR
Actor6: brik
Location: 47,78
Owner: BadGuy
Actor7: brik
Location: 48,78
Owner: BadGuy
Actor8: brik
Location: 49,78
Owner: BadGuy
Actor9: brik
Location: 50,78
Owner: BadGuy
Actor10: brik
Location: 51,78
Owner: BadGuy
Actor11: brik
Location: 44,82
Owner: BadGuy
Actor12: brik
Location: 45,82
Owner: BadGuy
Actor13: brik
Location: 44,83
Owner: BadGuy
Actor14: brik
Location: 45,83
Owner: BadGuy
Actor15: t07
Location: 62,78
Owner: Neutral
Actor16: t07
Location: 54,79
Owner: Neutral
Actor17: t07
Location: 56,52
Owner: Neutral
Actor18: t06
Location: 45,60
Owner: Neutral
Actor19: t02
Location: 56,59
Owner: Neutral
Actor20: t17
Location: 43,64
Owner: Neutral
Actor21: tc02
Location: 42,58
Owner: Neutral
Actor22: tc03
Location: 28,55
Owner: Neutral
Actor23: tc02
Location: 53,62
Owner: Neutral
Actor24: tc02
Location: 59,66
Owner: Neutral
Actor25: tc01
Location: 61,65
Owner: Neutral
Actor26: t14
Location: 56,74
Owner: Neutral
Actor27: tc04
Location: 57,62
Owner: Neutral
Actor28: t14
Location: 59,75
Owner: Neutral
Actor29: t16
Location: 53,82
Owner: Neutral
Actor30: t17
Location: 59,80
Owner: Neutral
Actor31: t02
Location: 58,76
Owner: Neutral
Actor32: t01
Location: 54,78
Owner: Neutral
Actor33: t10
Location: 45,59
Owner: Neutral
Actor34: t07
Location: 56,60
Owner: Neutral
Actor35: t01
Location: 50,55
Owner: Neutral
Actor36: t02
Location: 47,51
Owner: Neutral
Actor37: t01
Location: 45,57
Owner: Neutral
Actor38: t12
Location: 73,69
Owner: Neutral
Actor39: t16
Location: 70,82
Owner: Neutral
Actor40: t17
Location: 71,78
Owner: Neutral
Actor41: t17
Location: 78,70
Owner: Neutral
Actor42: tc01
Location: 77,69
Owner: Neutral
Actor43: tc02
Location: 75,70
Owner: Neutral
Actor44: tc02
Location: 70,80
Owner: Neutral
Actor45: t07
Location: 71,77
Owner: Neutral
Actor46: t10
Location: 70,75
Owner: Neutral
Actor47: tc02
Location: 34,52
Owner: Neutral
Actor48: tc04
Location: 32,51
Owner: Neutral
Actor49: tc05
Location: 29,53
Owner: Neutral
Actor50: tc05
Location: 90,72
Owner: Neutral
Actor51: t13
Location: 101,82
Owner: Neutral
Actor52: tc04
Location: 33,76
Owner: Neutral
Actor53: t17
Location: 16,46
Owner: Neutral
Actor54: tc01
Location: 94,71
Owner: Neutral
Actor55: tc01
Location: 81,78
Owner: Neutral
Actor56: tc02
Location: 71,71
Owner: Neutral
Actor57: t16
Location: 71,72
Owner: Neutral
Actor58: tc01
Location: 67,77
Owner: Neutral
Actor59: t16
Location: 68,79
Owner: Neutral
Actor60: tc02
Location: 45,67
Owner: Neutral
Actor61: mine
Location: 27,78
Owner: Neutral
Actor62: mine
Location: 22,71
Owner: Neutral
Actor63: mine
Location: 87,71
Owner: Neutral
Actor64: tc01
Location: 49,72
Owner: Neutral
Actor65: proc
Location: 86,63
Owner: USSR
Actor66: proc
Location: 92,62
Owner: USSR
Actor67: tsla
Location: 78,61
Owner: USSR
Actor68: fact
Location: 76,77
Owner: USSR
Actor69: ftur
Location: 74,67
Owner: USSR
Actor70: ftur
Location: 74,62
Owner: USSR
Actor71: kenn
Location: 81,64
Owner: USSR
USSRWarFactory: weap
Location: 83,62
Owner: USSR
RadarDome: dome
Location: 50,79
Owner: BadGuy
USSRRax: barr
Location: 79,62
Owner: USSR
Actor75: stek
Location: 88,55
Owner: USSR
Actor76: apwr
Location: 72,78
Owner: USSR
Actor77: apwr
Location: 86,59
Owner: USSR
Actor78: apwr
Location: 82,59
Owner: USSR
Actor79: apwr
Location: 79,59
Owner: USSR
Airfield1: afld
Location: 83,56
Owner: USSR
Airfield2: afld
Location: 80,56
Owner: USSR
Airfield3: afld
Location: 83,54
Owner: USSR
Airfield4: afld
Location: 80,54
Owner: USSR
Actor84: fact
Location: 89,60
Owner: USSR
Actor85: tsla
Location: 101,82
Owner: USSR
Actor86: tsla
Location: 83,81
Owner: USSR
Actor87: tsla
Location: 93,74
Owner: USSR
Spen1: spen
Location: 95,80
Owner: USSR
Spen2: spen
Location: 91,81
Owner: USSR
Spen3: spen
Location: 90,77
Owner: USSR
Spen4: spen
Location: 86,81
Owner: USSR
Spen5: spen
Location: 85,77
Owner: USSR
Actor93: apwr
Location: 79,81
Owner: USSR
Actor94: apwr
Location: 73,75
Owner: USSR
Actor95: apwr
Location: 76,73
Owner: USSR
Actor96: tsla
Location: 79,54
Owner: USSR
Actor97: apwr
Location: 73,81
Owner: USSR
BGFlameTower: ftur
Location: 46,78
Owner: BadGuy
Actor99: powr
Location: 48,81
Owner: BadGuy
BadGuyRax: barr
Location: 46,79
Owner: BadGuy
Actor101: brl3
Location: 49,79
Owner: BadGuy
Actor102: barl
Location: 48,79
Owner: BadGuy
Actor103: silo
Location: 92,60
Owner: USSR
Actor104: silo
Location: 91,59
Owner: USSR
Actor105: silo
Location: 93,61
Owner: USSR
Actor106: silo
Location: 93,59
Owner: USSR
Actor107: v2rl
Location: 95,60
Owner: USSR
Facing: 764
Actor108: v2rl
Location: 87,56
Owner: USSR
Facing: 892
Actor109: v2rl
Location: 78,54
Owner: USSR
Facing: 124
Actor110: v2rl
Location: 78,67
Owner: USSR
Facing: 252
Actor111: v2rl
Location: 78,62
Owner: USSR
Facing: 252
Actor112: 3tnk
Location: 87,69
Owner: USSR
Facing: 124
Actor113: 3tnk
Location: 84,71
Owner: USSR
Facing: 124
Actor114: v2rl
Location: 94,68
Owner: USSR
Facing: 636
Actor115: jeep
Location: 27,58
Owner: England
Health: 7
Facing: 636
Actor116: 3tnk
Location: 72,67
Owner: USSR
Facing: 380
Actor117: 3tnk
Location: 63,66
Owner: USSR
Facing: 380
Actor118: 3tnk
Location: 43,79
Owner: BadGuy
Facing: 124
Actor119: 3tnk
Location: 47,55
Owner: USSR
Facing: 636
Actor120: v2rl
Location: 89,71
Owner: BadGuy
Facing: 124
Actor121: v2rl
Location: 48,80
Owner: BadGuy
Facing: 124
Actor122: 3tnk
Location: 65,69
Owner: USSR
Facing: 252
Actor123: 3tnk
Location: 69,69
Owner: USSR
Facing: 252
Actor124: 3tnk
Location: 53,56
Owner: USSR
Facing: 380
Actor125: 3tnk
Location: 67,71
Owner: BadGuy
Facing: 124
Actor126: e1
Location: 79,64
Owner: USSR
Facing: 380
SubCell: 4
Actor127: e1
Location: 78,63
Owner: USSR
Facing: 252
SubCell: 0
Actor128: e1
Location: 82,62
Owner: USSR
Facing: 636
SubCell: 0
Actor129: e1
Location: 95,59
Owner: USSR
Facing: 892
SubCell: 2
Actor130: e1
Location: 94,60
Owner: USSR
Facing: 252
SubCell: 2
Actor131: e1
Location: 96,61
Owner: USSR
Facing: 636
SubCell: 1
Actor132: e2
Location: 77,66
Owner: USSR
SubCell: 2
Actor133: e2
Location: 79,61
Owner: USSR
SubCell: 4
Actor134: e2
Location: 80,67
Owner: USSR
SubCell: 2
Actor135: e2
Location: 59,70
Owner: USSR
Facing: 252
SubCell: 2
Actor136: e2
Location: 60,71
Owner: USSR
Facing: 636
SubCell: 4
Actor137: e2
Location: 58,71
Owner: USSR
Facing: 508
SubCell: 4
Actor138: e2
Location: 71,62
Owner: USSR
Facing: 380
SubCell: 0
Actor139: e2
Location: 70,63
Owner: USSR
Facing: 636
SubCell: 4
Actor140: e1
Location: 82,74
Owner: USSR
SubCell: 1
Actor141: e1
Location: 80,72
Owner: USSR
Facing: 380
SubCell: 4
Actor142: e1
Location: 81,76
Owner: USSR
Facing: 892
SubCell: 3
Actor143: e1
Location: 80,77
Owner: USSR
Facing: 252
SubCell: 1
Actor144: e2
Location: 84,74
Owner: USSR
Facing: 892
SubCell: 4
Actor145: e2
Location: 81,77
Owner: USSR
Facing: 636
SubCell: 4
Actor146: e2
Location: 81,75
Owner: USSR
Facing: 764
SubCell: 1
Actor147: e4
Location: 30,61
Owner: USSR
Facing: 380
SubCell: 0
Actor148: e4
Location: 30,59
Owner: USSR
Facing: 124
SubCell: 0
Actor149: e1
Location: 26,58
Owner: England
Health: 61
Facing: 764
SubCell: 0
Actor150: e1
Location: 27,57
Owner: England
Health: 43
Facing: 636
SubCell: 0
Actor151: e1
Location: 26,59
Owner: England
Health: 55
Facing: 636
SubCell: 4
BeachRifle1: e1
Location: 35,55
Owner: BadGuy
Facing: 252
SubCell: 3
BeachRifle2: e1
Location: 33,55
Owner: BadGuy
Facing: 380
SubCell: 4
BeachRifle3: e1
Location: 34,55
Owner: BadGuy
Facing: 124
SubCell: 1
BeachRifle4: e1
Location: 34,56
Owner: BadGuy
Facing: 636
SubCell: 4
Actor156: dog
Location: 82,65
Owner: USSR
Facing: 380
SubCell: 1
Actor157: dog
Location: 86,62
Owner: USSR
Facing: 252
SubCell: 4
Actor158: dog
Location: 80,69
Owner: USSR
Facing: 892
SubCell: 3
Actor159: e2
Location: 40,74
Owner: BadGuy
Facing: 380
SubCell: 0
Actor160: e2
Location: 40,73
Owner: BadGuy
Facing: 892
SubCell: 4
Actor161: e1
Location: 46,74
Owner: BadGuy
Facing: 252
SubCell: 1
Actor162: e1
Location: 45,75
Owner: BadGuy
Facing: 380
SubCell: 2
Actor163: e1
Location: 47,74
Owner: BadGuy
Facing: 636
SubCell: 1
Actor164: e1
Location: 67,66
Owner: USSR
Facing: 380
SubCell: 4
Actor165: e1
Location: 68,70
Owner: USSR
Facing: 252
SubCell: 1
Actor166: e1
Location: 66,68
Owner: USSR
Facing: 380
SubCell: 1
Actor167: e1
Location: 66,66
Owner: USSR
Facing: 252
SubCell: 1
Actor168: e1
Location: 45,81
Owner: BadGuy
SubCell: 1
Actor169: e1
Location: 44,80
Owner: BadGuy
SubCell: 2
Actor170: e2
Location: 47,82
Owner: BadGuy
SubCell: 1
Actor171: e4
Location: 43,81
Owner: BadGuy
SubCell: 4
Actor172: e4
Location: 45,77
Owner: BadGuy
Facing: 892
SubCell: 0
Actor173: e4
Location: 31,60
Owner: USSR
Facing: 252
SubCell: 1
Actor174: dog
Location: 60,80
Owner: USSR
Facing: 892
SubCell: 0
Actor175: e4
Location: 61,63
Owner: BadGuy
Facing: 508
SubCell: 3
Actor176: e4
Location: 66,72
Owner: BadGuy
SubCell: 3
Actor177: e4
Location: 62,67
Owner: BadGuy
Facing: 380
SubCell: 3
Actor178: pt
Location: 13,51
Owner: Greece
Facing: 764
Actor179: pt
Location: 13,55
Owner: Greece
Facing: 764
Sub1: ss
Location: 43,52
Owner: USSR
Facing: 124
Sub2: ss
Location: 39,52
Owner: USSR
Facing: 764
Sub3: ss
Location: 21,53
Owner: USSR
Facing: 252
Sub4: ss
Location: 13,70
Owner: USSR
Sub5: ss
Location: 16,75
Owner: USSR
Facing: 124
Sub6: ss
Location: 66,58
Owner: USSR
Facing: 252
Sub7: ss
Location: 71,54
Owner: USSR
Facing: 124
Sub8: ss
Location: 65,50
Owner: USSR
Facing: 380
Sub9: ss
Location: 103,75
Owner: USSR
Sub10: ss
Location: 101,78
Owner: USSR
Sub11: ss
Location: 98,75
Owner: USSR
Sub12: ss
Location: 95,78
Owner: USSR
Facing: 764
Sub13: ss
Location: 86,46
Owner: USSR
Facing: 252
Sub14: ss
Location: 93,51
Owner: USSR
Facing: 124
Sub15: ss
Location: 101,50
Owner: BadGuy
Facing: 636
Sub16: ss
Location: 99,51
Owner: BadGuy
Facing: 252
Sub17: ss
Location: 99,48
Owner: BadGuy
Facing: 380
AlliedMCVEntry: waypoint
Location: 10,53
Owner: Neutral
waypoint1: waypoint
Location: 14,53
Owner: Neutral
RaidOneLanding: waypoint
Location: 38,57
Owner: Neutral
ParaLZ4: waypoint
Location: 29,79
Owner: Neutral
RaidTwoLanding: waypoint
Location: 20,79
Owner: Neutral
ParaLZ3: waypoint
Location: 24,70
Owner: Neutral
ParaLZ2: waypoint
Location: 49,64
Owner: Neutral
BeachRifleDestination: waypoint
Location: 44,78
Owner: Neutral
RaidTwoEntry: waypoint
Location: 10,75
Owner: Neutral
RaidOneEntry: waypoint
Location: 52,44
Owner: Neutral
PlayerBase: waypoint
Location: 32,61
Owner: Neutral
ParaLZ1: waypoint
Location: 39,63
Owner: Neutral
Unload1: waypoint
Location: 24,57
Owner: Neutral
GunboatEntry: waypoint
Owner: Neutral
Location: 10,54
waypoint42: waypoint
Location: 19,54
Owner: Neutral
DefaultCameraPosition: waypoint
Location: 13,53
Owner: Neutral
HardLanding1: waypoint
Location: 96,69
Owner: Neutral
HardLanding2: waypoint
Owner: Neutral
Location: 98,65
HardLanding3: waypoint
Owner: Neutral
Location: 98,62
HardLanding4: waypoint
Owner: Neutral
Location: 97,58
HardLanding5: waypoint
Owner: Neutral
Location: 93,56
HardLanding6: waypoint
Owner: Neutral
Location: 86,53
HardEntry1: waypoint
Location: 107,74
Owner: Neutral
HardEntry2: waypoint
Owner: Neutral
Location: 107,70
HardEntry3: waypoint
Owner: Neutral
Location: 107,60
HardEntry4: waypoint
Owner: Neutral
Location: 107,55
HardEntry5: waypoint
Owner: Neutral
Location: 107,51
HardEntry6: waypoint
Owner: Neutral
Location: 100,44
SovCamera: camera
Owner: USSR
Location: 33,62
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
FluentMessages: ra|fluent/lua.ftl, ra|fluent/campaign.ftl, map.ftl

View File

@@ -0,0 +1,130 @@
Player:
PlayerResources:
DefaultCash: 4000
World:
LuaScript:
Scripts: campaign.lua, utils.lua, allies07.lua, allies07-AI.lua
MissionData:
Briefing: briefing
StartVideo: shorbom1.vqa
WinVideo: shorbom2.vqa
LossVideo: shipsink.vqa
ScriptLobbyDropdown@difficulty:
ID: difficulty
Label: dropdown-difficulty.label
Description: dropdown-difficulty.description
Values:
easy: options-difficulty.easy
normal: options-difficulty.normal
hard: options-difficulty.hard
Default: normal
LST.Reinforcement:
Inherits: LST
RejectsOrders:
-Buildable:
-Selectable:
RenderSprites:
Image: lst
Interactable:
powerproxy.paratroopers:
ParatroopersPower:
DropItems: E1,E1,E1,E2,E2
FTRK:
Buildable:
Prerequisites: ~disabled
MCV:
Buildable:
Prerequisites: ~disabled
MRJ:
Buildable:
Prerequisites: ~disabled
3TNK:
Buildable:
Prerequisites: ~vehicles.soviet
V2RL:
Buildable:
Prerequisites: ~vehicles.soviet
4TNK:
Buildable:
Prerequisites: ~disabled
QTNK:
Buildable:
Prerequisites: ~disabled
APWR:
Buildable:
Prerequisites: ~disabled
AFLD:
Buildable:
Prerequisites: ~disabled
HPAD:
Buildable:
Prerequisites: ~disabled
ATEK:
Buildable:
Prerequisites: ~disabled
STEK:
Buildable:
Prerequisites: ~disabled
PDOX:
Buildable:
Prerequisites: ~disabled
IRON:
Buildable:
Prerequisites: ~disabled
MSLO:
Buildable:
Prerequisites: ~disabled
GAP:
Buildable:
Prerequisites: ~disabled
BRIK:
Buildable:
Prerequisites: ~disabled
MECH:
Buildable:
Prerequisites: ~disabled
THF:
Buildable:
Prerequisites: ~disabled
E7:
Buildable:
Prerequisites: ~disabled
E7.noautotarget:
Buildable:
Prerequisites: ~disabled
MIG:
Buildable:
Prerequisites: ~disabled
CA:
Buildable:
Prerequisites: ~disabled
MSUB:
Buildable:
Prerequisites: ~disabled