Add Allies 09a

This commit is contained in:
yuantse
2020-10-10 14:03:59 +08:00
committed by abcdefg30
parent c4a0f2f169
commit 408d66cdaf
8 changed files with 1521 additions and 0 deletions

View File

@@ -0,0 +1,209 @@
--[[
Copyright 2007-2020 The OpenRA Developers (see AUTHORS)
This file is part of OpenRA, which is free software. It is made
available to you under the terms of the GNU General Public License
as published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version. For more
information, see COPYING.
]]
WTransWays =
{
{ USSRRFEntry.Location, USSRUnload1.Location },
{ USSRRFEntry.Location, USSRUnload2.Location }
}
WTransUnits =
{
hard = { { "3tnk", "3tnk", "3tnk", "v2rl", "v2rl" }, { "v2rl", "v2rl", "e4", "e4", "3tnk" } },
normal = { { "e1", "e1", "3tnk", "3tnk", "v2rl" }, { "e4", "e4", "e4", "e4", "v2rl" } },
easy = { { "e1", "e1", "e1", "e2", "e2" }, { "e2", "3tnk", "3tnk" } }
}
WTransDelays =
{
easy = 7,
normal = 6,
hard = 5
}
SubAttackGroupSize =
{
easy = 1,
normal = 2,
hard = 3
}
InfantryUnits =
{
hard = { "e1", "e2", "e2", "e4", "e4" },
normal = { "e1", "e1", "e2", "e2", "e4" },
easy = { "e1", "e1", "e1", "e2", "e2" }
}
ProductionInterval =
{
easy = DateTime.Seconds(60),
normal = DateTime.Seconds(40),
hard = DateTime.Seconds(20)
}
ParadropDelay =
{
easy = 7,
normal = 6,
hard = 5
}
InfantryAttackGroup = { }
InfantryAttackGroupSize = 5
VehicleAttackGroup = { }
VehicleAttackGroupSize = 3
SubAttackGroup = { }
SovietAircraftType = { "yak" }
SovietSSType = { "ss" }
VehicleUnits = { "3tnk", "3tnk", "3tnk", "v2rl" }
IdleHunt = function(unit) if not unit.IsDead then Trigger.OnIdle(unit, unit.Hunt) end end
SendInfantryAttackGroup = function()
if #InfantryAttackGroup < InfantryAttackGroupSize then
return
end
Utils.Do(InfantryAttackGroup, IdleHunt)
InfantryAttackGroup = { }
end
SendVehicleAttackGroup = function()
if #VehicleAttackGroup < VehicleAttackGroupSize then
return
end
Utils.Do(VehicleAttackGroup, IdleHunt)
VehicleAttackGroup = { }
end
SendSubAttackGroup = function()
if #SubAttackGroup < SubAttackGroupSize then
return
end
Utils.Do(SubAttackGroup, IdleHunt)
SubAttackGroup = { }
end
ProduceSovietInfantry = function()
if (Barracks.IsDead or Barracks.Owner ~= USSR) and (BarracksA.IsDead or BarracksA.Owner ~= USSR) then
return
end
USSR.Build({ Utils.Random(InfantryUnits) }, function(units)
table.insert(InfantryAttackGroup, units[1])
SendInfantryAttackGroup()
Trigger.AfterDelay(ProductionInterval, ProduceSovietInfantry)
end)
end
ProduceSovietVehicle = function()
if WarFactory.IsDead or WarFactory.Owner ~= USSR then
return
end
USSR.Build({ Utils.Random(VehicleUnits) }, function(units)
table.insert(VehicleAttackGroup, units[1])
SendVehicleAttackGroup()
Trigger.AfterDelay(ProductionInterval, ProduceSovietVehicle)
end)
end
ProduceSovietSub = function()
if SubPen.IsDead or SubPen.Owner ~= USSR then
return
end
USSR.Build(SovietSSType, function(units)
table.insert(SubAttackGroup, units[1])
SendSubAttackGroup()
Trigger.AfterDelay(ProductionInterval, ProduceSovietSub)
end)
end
ProduceAircraft = function()
if Airfield.IsDead or Airfield.Owner ~= USSR then
return
end
USSR.Build(SovietAircraftType, function(units)
local yak = units[1]
Trigger.OnKilled(yak, ProduceAircraft)
InitializeAttackAircraft(yak, Greece)
end)
end
WTransWaves = function()
if SubPen.IsDead or SubPen.Owner ~= USSR then
return
end
local way = Utils.Random(WTransWays)
local units = Utils.Random(WTransUnits)
local attackUnits = Reinforcements.ReinforceWithTransport(USSR, "lst", units , way, { way[2], way[1] })[2]
Utils.Do(attackUnits, function(a)
Trigger.OnAddedToWorld(a, function()
a.AttackMove(KosyginExtractPoint.Location)
IdleHunt(a)
end)
end)
Trigger.AfterDelay(DateTime.Minutes(WTransDelays), WTransWaves)
end
MMGroupGuardGate = function()
if not MM1.IsDead then
MM1.AttackMove(WP78.Location)
end
if not MM2.IsDead then
MM2.AttackMove(WP79.Location)
end
if not MM1.IsDead then
MM3.AttackMove(WP80.Location)
end
end
TankGroupWallGuard = function()
if not WGTank01.IsDead then
WGTank01.AttackMove(WP72.Location)
end
if not WGTank02.IsDead then
WGTank02.AttackMove(WP72.Location)
end
if not WGV2.IsDead then
WGV2.AttackMove(WP72.Location)
end
end
Paradrop = function()
if Airfield.IsDead or Airfield.Owner ~= USSR then
return
end
local aircraft = PowerProxy.TargetParatroopers(KosyginExtractPoint.CenterPosition)
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)
Trigger.AfterDelay(DateTime.Minutes(ParadropDelay), Paradrop)
end
ActivateAI = function()
local difficulty = Map.LobbyOption("difficulty")
WTransUnits = WTransUnits[difficulty]
WTransDelays = WTransDelays[difficulty]
SubAttackGroupSize = SubAttackGroupSize[difficulty]
InfantryUnits = InfantryUnits[difficulty]
ProductionInterval = ProductionInterval[difficulty]
ParadropDelay = ParadropDelay[difficulty]
PowerProxy = Actor.Create("powerproxy.paratroopers", false, { Owner = USSR })
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)
Trigger.AfterDelay(DateTime.Minutes(2), ProduceAircraft)
Trigger.AfterDelay(DateTime.Minutes(2), ProduceSovietInfantry)
Trigger.AfterDelay(DateTime.Minutes(2), ProduceSovietVehicle)
Trigger.AfterDelay(DateTime.Minutes(4), ProduceSovietSub)
Trigger.AfterDelay(DateTime.Minutes(5), MMGroupGuardGate)
Trigger.AfterDelay(DateTime.Minutes(5), TankGroupWallGuard)
Trigger.AfterDelay(DateTime.Minutes(WTransDelays), WTransWaves)
Trigger.AfterDelay(DateTime.Minutes(ParadropDelay), Paradrop)
end

View File

@@ -0,0 +1,184 @@
--[[
Copyright 2007-2020 The OpenRA Developers (see AUTHORS)
This file is part of OpenRA, which is free software. It is made
available to you under the terms of the GNU General Public License
as published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version. For more
information, see COPYING.
]]
lstReinforcements =
{
actors = { "mcv" },
entryPath = { AlliedMCVEntry.Location, Unload1.Location },
exitPath = { AlliedMCVEntry.Location }
}
ExtractionHelicopterType = "tran.extraction"
ExtractionPath = { HeliWP01.Location, HeliWP02.Location, HeliWP03.Location }
Dog5PatrolPath = { WP94.Location, WP93.Location }
Dog6PatrolPath = { WP90.Location, WP91.Location, WP92.Location, WP91.Location }
TankGroup10 = { TankGroup101, TankGroup102 }
TankGroup10PatrolPath = { WP81.Location, WP82.Location, WP83.Location, WP84.Location, WP85.Location, WP84.Location, WP83.Location, WP82.Location }
HuntDogsGroup = { Dog701, Dog702, Dog703, Dog704, Dog705, Dog706 }
KosyginType = "gnrl"
KosyginContacted = false
MissionAccomplished = function()
Media.PlaySpeechNotification(Greece, "MissionAccomplished")
end
MissionFailed = function()
Media.PlaySpeechNotification(Greece, "MissionFailed")
end
InitialAlliedReinforcements = function()
Trigger.AfterDelay(DateTime.Seconds(1), function()
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
Reinforcements.ReinforceWithTransport(Greece, "lst.reinforcement", lstReinforcements.actors, lstReinforcements.entryPath, lstReinforcements.exitPath)
end)
end
RescueFailed = function()
Media.PlaySpeechNotification(Greece, "ObjectiveNotMet")
Greece.MarkFailedObjective(KosyginSurviveObjective)
end
InitialSovietPatrols = function()
Dog5.Patrol(Dog5PatrolPath, true, DateTime.Seconds(60))
Dog6.Patrol(Dog6PatrolPath, true, DateTime.Seconds(90))
for i = 1, 2 do
TankGroup10[i].Patrol(TankGroup10PatrolPath, true, DateTime.Seconds(30))
end
end
CreateKosygin = function()
Greece.MarkCompletedObjective(UseSpyObjective)
Media.PlaySpeechNotification(Greece, "ObjectiveMet")
local kosygin = Actor.Create(KosyginType, true, { Location = KosyginSpawnPoint.Location, Owner = Greece })
Trigger.OnKilled(kosygin, RescueFailed)
ExtractObjective = Greece.AddObjective("Extract Kosygin and\nget him back to your base.")
Trigger.AfterDelay(DateTime.Seconds(1), function() Media.PlaySpeechNotification(Greece, "TargetFreed") end)
end
DogsGuardGates = function()
if not Dog707.IsDead then
Dog707.AttackMove(WP89.Location)
end
if not Dog708.IsDead then
Dog708.AttackMove(WP81.Location)
end
if not Dog709.IsDead then
Dog709.AttackMove(WP79.Location)
end
end
InfiltrateForwardCenter = function()
Trigger.OnInfiltrated(USSRFC, function()
if not KosyginContacted then
KosyginContacted = true
CreateKosygin()
DogsGuardGates()
end
end)
Trigger.OnKilledOrCaptured(USSRFC, function()
if not Greece.IsObjectiveCompleted(UseSpyObjective) then
Greece.MarkFailedObjective(UseSpyObjective)
end
end)
end
Tick = function()
USSR.Cash = 5000
if Greece.HasNoRequiredUnits() then
USSR.MarkCompletedObjective(USSRObj)
end
end
TriggerHuntKosygin = function()
Trigger.OnEnteredProximityTrigger(WP79.CenterPosition, WDist.FromCells(4), function(actor, triggerflee)
if actor.Type == KosyginType then
Trigger.RemoveProximityTrigger(triggerflee)
for i = 1, 6 do
if not HuntDogsGroup[i].IsDead then
HuntDogsGroup[i].Attack(actor)
end
end
end
end)
Trigger.OnEnteredProximityTrigger(WP81.CenterPosition, WDist.FromCells(4), function(actor, triggerflee)
if actor.Type == KosyginType then
Trigger.RemoveProximityTrigger(triggerflee)
for i = 1, 6 do
if not HuntDogsGroup[i].IsDead then
HuntDogsGroup[i].Attack(actor)
end
end
end
end)
Trigger.OnEnteredProximityTrigger(WP89.CenterPosition, WDist.FromCells(4), function(actor, triggerflee)
if actor.Type == KosyginType then
Trigger.RemoveProximityTrigger(triggerflee)
for i = 1, 6 do
if not HuntDogsGroup[i].IsDead then
HuntDogsGroup[i].Attack(actor)
end
end
end
end)
end
TriggerRevealUSSRBase = function()
Trigger.OnEnteredProximityTrigger(LowerBaseWP.CenterPosition, WDist.FromCells(10), function(a, id)
if a.Owner == Greece then
Trigger.RemoveProximityTrigger(id)
local cam = Actor.Create("Camera", true, { Owner = Greece, Location = RevealLowerBase.Location })
Trigger.AfterDelay(DateTime.Seconds(15), cam.Destroy)
end
end)
end
TriggerRevealUSSRFC = function()
Trigger.OnEnteredProximityTrigger(UpperBaseWP.CenterPosition, WDist.FromCells(10), function(a, id)
if a.Owner == Greece then
Trigger.RemoveProximityTrigger(id)
local cam = Actor.Create("Camera", true, { Owner = Greece, Location = KosyginSpawnPoint.Location })
Trigger.AfterDelay(DateTime.Seconds(15), cam.Destroy)
end
end)
end
TriggerExtractKosygin = function()
Trigger.OnEnteredProximityTrigger(KosyginExtractPoint.CenterPosition, WDist.FromCells(10), function(actor, triggerflee)
if actor.Type == KosyginType then
Reinforcements.ReinforceWithTransport(Greece, ExtractionHelicopterType, nil, ExtractionPath)
Trigger.RemoveProximityTrigger(triggerflee)
Trigger.AfterDelay(DateTime.Seconds(10), function()
Greece.MarkCompletedObjective(KosyginSurviveObjective)
Greece.MarkCompletedObjective(ExtractObjective)
Media.PlaySpeechNotification(Greece, "ObjectiveMet")
end)
end
end)
end
WorldLoaded = function()
Greece = Player.GetPlayer("Greece")
USSR = Player.GetPlayer("USSR")
Camera.Position = DefaultCameraPosition.CenterPosition
UseSpyObjective = Greece.AddObjective("Infiltrate the Soviet command center and\ncontact Kosygin.")
KosyginSurviveObjective = Greece.AddObjective("Kosygin must survive.")
USSRObj = USSR.AddObjective("Eliminate all Allied forces.")
Trigger.OnPlayerLost(Greece, MissionFailed)
Trigger.OnPlayerWon(Greece, MissionAccomplished)
InitialAlliedReinforcements()
InfiltrateForwardCenter()
InitialSovietPatrols()
TriggerRevealUSSRBase()
TriggerRevealUSSRFC()
TriggerExtractKosygin()
TriggerHuntKosygin()
ActivateAI()
end

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,975 @@
MapFormat: 11
RequiresMod: ra
Title: 09a: Evacuate Kosygin
Author: Westwood Studios
Tileset: TEMPERAT
MapSize: 86,72
Bounds: 1,1,84,70
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
Bot: campaign
Faction: soviet
Color: FF1400
Enemies: Greece
PlayerReference@Greece:
Name: Greece
Playable: True
Required: True
LockFaction: True
Faction: allies
LockColor: True
Color: E2E6F5
Enemies: USSR
Actors:
Actor0: t17
Owner: Neutral
Location: 18,21
Health: 100
Actor1: tc02
Owner: Neutral
Location: 7,33
Actor2: tc04
Owner: Neutral
Location: 1,28
Actor3: t08
Owner: Neutral
Location: 6,29
Actor4: tc04
Owner: Neutral
Location: 9,27
Health: 100
Actor5: tc05
Owner: Neutral
Location: 12,27
Actor6: tc03
Owner: Neutral
Location: 11,29
Actor7: tc05
Owner: Neutral
Location: 67,11
Actor8: t16
Owner: Neutral
Location: 73,10
Actor9: t12
Owner: Neutral
Location: 67,8
Actor10: t02
Owner: Neutral
Location: 67,4
Actor11: t17
Owner: Neutral
Location: 69,1
Actor12: t14
Owner: Neutral
Location: 71,3
Actor13: t03
Owner: Neutral
Location: 72,7
Actor14: t12
Owner: Neutral
Location: 59,19
Actor15: mine
Owner: Neutral
Location: 69,57
Actor16: t08
Owner: Neutral
Location: 65,52
Actor17: tc02
Owner: Neutral
Location: 61,50
Actor18: t07
Owner: Neutral
Location: 60,53
Actor19: tc01
Owner: Neutral
Location: 55,53
Actor20: mine
Owner: Neutral
Location: 43,58
Actor21: t10
Owner: Neutral
Location: 29,63
Actor22: t08
Owner: Neutral
Location: 28,63
Actor23: t07
Owner: Neutral
Location: 30,62
Actor24: tc05
Owner: Neutral
Location: 22,49
Actor25: tc04
Owner: Neutral
Location: 25,49
Actor26: tc03
Owner: Neutral
Location: 11,58
Actor28: tc02
Owner: Neutral
Location: 13,60
Actor30: t11
Owner: Neutral
Location: 12,59
Actor29: tc01
Owner: Neutral
Location: 15,61
Actor31: tc04
Owner: Neutral
Location: 22,27
Health: 100
Actor32: tc04
Owner: Neutral
Location: 19,31
Actor33: tc03
Owner: Neutral
Location: 24,31
Actor34: tc04
Owner: Neutral
Location: 26,31
Actor35: t10
Owner: Neutral
Location: 26,28
Actor36: tc02
Owner: Neutral
Location: 31,25
Health: 100
Actor37: tc01
Owner: Neutral
Location: 46,36
Actor38: t11
Owner: Neutral
Location: 44,35
Actor39: t16
Owner: Neutral
Location: 48,35
Actor40: t11
Owner: Neutral
Location: 45,31
Actor41: t13
Owner: Neutral
Location: 41,27
Actor42: tc05
Owner: Neutral
Location: 35,38
Actor43: tc01
Owner: Neutral
Location: 33,39
Actor44: tc02
Owner: Neutral
Location: 38,37
Actor46: t17
Owner: Neutral
Location: 38,31
Actor47: t15
Owner: Neutral
Location: 35,31
Actor48: t16
Owner: Neutral
Location: 38,29
Actor49: brik
Owner: USSR
Location: 1,1
Actor50: brik
Owner: USSR
Location: 1,1
Actor51: brik
Owner: USSR
Location: 1,2
Actor52: brik
Owner: USSR
Location: 1,3
Actor53: brik
Owner: USSR
Location: 1,4
Actor54: brik
Owner: USSR
Location: 1,5
Actor55: brik
Owner: USSR
Location: 1,6
Actor56: brik
Owner: USSR
Location: 1,7
Actor57: brik
Owner: USSR
Location: 1,8
Actor58: brik
Owner: USSR
Location: 1,10
Actor59: brik
Owner: USSR
Location: 1,9
Actor60: brik
Owner: USSR
Location: 1,11
Actor61: brik
Owner: USSR
Location: 1,12
Actor62: brik
Owner: USSR
Location: 1,13
Actor63: brik
Owner: USSR
Location: 1,14
Actor64: brik
Owner: USSR
Location: 1,15
Actor65: brik
Owner: USSR
Location: 1,16
Actor66: brik
Owner: USSR
Location: 1,17
Actor67: brik
Owner: USSR
Location: 1,18
Actor68: brik
Owner: USSR
Location: 1,19
Actor69: brik
Owner: USSR
Location: 2,19
Actor76: brik
Owner: USSR
Location: 8,19
Actor77: brik
Owner: USSR
Location: 9,19
Actor81: brik
Owner: USSR
Location: 24,19
Actor82: brik
Owner: USSR
Location: 23,19
Actor83: brik
Owner: USSR
Location: 24,20
Actor84: brik
Owner: USSR
Location: 23,20
Actor85: brik
Owner: USSR
Location: 22,20
Actor86: brik
Owner: USSR
Location: 21,20
Actor87: brik
Owner: USSR
Location: 20,20
Actor88: brik
Owner: USSR
Location: 19,20
Actor89: brik
Owner: USSR
Location: 18,20
Actor90: brik
Owner: USSR
Location: 17,20
Actor91: brik
Owner: USSR
Location: 17,19
Actor92: brik
Owner: USSR
Location: 18,19
Actor93: brik
Owner: USSR
Location: 27,10
Actor94: brik
Owner: USSR
Location: 27,9
Actor95: brik
Owner: USSR
Location: 26,10
Actor96: brik
Owner: USSR
Location: 26,9
Actor97: brik
Owner: USSR
Location: 26,8
Actor98: brik
Owner: USSR
Location: 27,8
Actor99: brik
Owner: USSR
Location: 26,7
Actor100: brik
Owner: USSR
Location: 27,7
Actor101: brik
Owner: USSR
Location: 26,1
Actor102: brik
Owner: USSR
Location: 26,2
Actor103: brik
Owner: USSR
Location: 27,1
Actor104: brik
Owner: USSR
Location: 27,2
Actor105: brik
Owner: USSR
Location: 25,1
Actor106: brik
Owner: USSR
Location: 24,1
Actor107: brik
Owner: USSR
Location: 23,1
Actor108: brik
Owner: USSR
Location: 23,1
Actor109: brik
Owner: USSR
Location: 22,1
Actor110: brik
Owner: USSR
Location: 21,1
Actor111: brik
Owner: USSR
Location: 20,1
Actor112: brik
Owner: USSR
Location: 20,1
Actor113: brik
Owner: USSR
Location: 19,1
Actor114: brik
Owner: USSR
Location: 18,1
Actor115: brik
Owner: USSR
Location: 17,1
Actor116: brik
Owner: USSR
Location: 17,1
Actor117: brik
Owner: USSR
Location: 16,1
Actor118: brik
Owner: USSR
Location: 15,1
Actor119: brik
Owner: USSR
Location: 14,1
Actor120: brik
Owner: USSR
Location: 13,1
Actor121: brik
Owner: USSR
Location: 12,1
Actor122: brik
Owner: USSR
Location: 11,1
Actor123: brik
Owner: USSR
Location: 10,1
Actor124: brik
Owner: USSR
Location: 9,1
Actor125: brik
Owner: USSR
Location: 8,1
Actor126: brik
Owner: USSR
Location: 7,1
Actor127: brik
Owner: USSR
Location: 7,1
Actor128: brik
Owner: USSR
Location: 6,1
Actor129: brik
Owner: USSR
Location: 6,1
Actor130: brik
Owner: USSR
Location: 4,1
Actor131: brik
Owner: USSR
Location: 5,1
Actor132: brik
Owner: USSR
Location: 3,1
Actor133: brik
Owner: USSR
Location: 2,1
Actor134: fenc
Owner: USSR
Location: 2,2
Health: 100
Actor135: fenc
Owner: USSR
Location: 3,2
Actor136: fenc
Owner: USSR
Location: 4,2
Actor137: fenc
Owner: USSR
Location: 5,2
Actor138: fenc
Owner: USSR
Location: 5,3
Actor139: fenc
Owner: USSR
Location: 2,3
Actor140: fenc
Owner: USSR
Location: 2,4
Actor141: fenc
Owner: USSR
Location: 2,4
Actor142: fenc
Owner: USSR
Location: 2,5
Actor143: fenc
Owner: USSR
Location: 3,5
Dog703: dog
Location: 4,3
SubCell: 3
Health: 100
Facing: 384
Owner: USSR
Dog702: dog
Location: 3,3
SubCell: 3
Owner: USSR
Health: 100
Facing: 384
Dog706: dog
Location: 4,4
SubCell: 3
Owner: USSR
Health: 100
Facing: 384
Dog705: dog
Location: 3,4
SubCell: 3
Owner: USSR
Health: 100
Facing: 384
Dog704: dog
Location: 4,4
SubCell: 1
Owner: USSR
Health: 100
Facing: 384
Dog701: dog
SubCell: 1
Location: 3,3
Health: 100
Facing: 384
Owner: USSR
Actor150: apwr
Owner: USSR
Location: 6,2
Actor151: apwr
Owner: USSR
Location: 9,2
Kennel: kenn
Owner: USSR
Location: 12,2
Actor153: apwr
Owner: USSR
Location: 22,2
Actor154: apwr
Owner: USSR
Location: 19,2
Actor155: stek
Owner: USSR
Location: 16,1
Actor156: apwr
Owner: USSR
Location: 6,6
Actor157: fact
Owner: USSR
Location: 6,9
Airfield: afld
Owner: USSR
Location: 2,10
Actor161: proc
Owner: USSR
Location: 23,7
Actor171: fenc
Owner: USSR
Location: 18,18
Actor172: fenc
Owner: USSR
Location: 17,18
Actor173: fenc
Owner: USSR
Location: 16,18
Actor174: fenc
Owner: USSR
Location: 16,18
Actor175: fenc
Owner: USSR
Location: 15,18
Actor176: fenc
Owner: USSR
Location: 15,17
Actor177: brik
Owner: USSR
Location: 1,20
Actor178: brik
Owner: USSR
Location: 2,20
Actor179: brik
Owner: USSR
Location: 3,20
Actor180: brik
Owner: USSR
Location: 4,20
Actor181: brik
Owner: USSR
Location: 5,20
Actor182: brik
Owner: USSR
Location: 6,20
Actor183: brik
Owner: USSR
Location: 6,20
Actor184: brik
Owner: USSR
Location: 7,20
Actor185: brik
Owner: USSR
Location: 8,20
Actor186: brik
Owner: USSR
Location: 9,20
Actor187: tsla
Owner: USSR
Location: 9,17
Actor188: ftur
Owner: USSR
TurretFacing: 384
Location: 10,17
Actor189: fenc
Owner: USSR
Location: 11,17
Actor190: fenc
Owner: USSR
Location: 8,18
Actor191: fenc
Owner: USSR
Location: 9,18
Actor192: fenc
Owner: USSR
Location: 10,18
Actor193: fenc
Owner: USSR
Location: 11,18
Actor194: apwr
Owner: USSR
Location: 7,14
Actor195: apwr
Owner: USSR
Location: 2,14
Actor196: ftur
Owner: USSR
TurretFacing: 384
Location: 16,17
Actor197: tsla
Owner: USSR
Location: 17,17
Actor199: fenc
Owner: USSR
Location: 24,18
Actor200: fenc
Owner: USSR
Location: 24,17
Actor201: fenc
Owner: USSR
Location: 24,16
Actor202: fenc
Owner: USSR
Location: 23,18
Actor203: fenc
Owner: USSR
Location: 22,18
Actor204: fenc
Owner: USSR
Location: 21,18
Actor205: fenc
Owner: USSR
Location: 21,17
Actor206: fenc
Owner: USSR
Location: 21,16
Dog709: dog
Location: 22,17
SubCell: 3
Owner: USSR
Health: 100
Facing: 384
Dog710: dog
Location: 23,17
SubCell: 3
Health: 100
Facing: 384
Owner: USSR
Dog708: dog
Location: 23,16
SubCell: 3
Owner: USSR
Health: 100
Facing: 384
Dog707: dog
Location: 22,16
SubCell: 3
Owner: USSR
Health: 100
Facing: 384
Actor211: tsla
Owner: USSR
Location: 37,15
Actor212: ftur
Owner: USSR
TurretFacing: 384
Location: 29,17
Actor213: ftur
Owner: USSR
TurretFacing: 384
Location: 29,13
Actor214: kenn
Owner: USSR
Location: 26,11
Actor215: dome
Owner: USSR
Location: 22,12
Barracks: barr
Owner: USSR
Location: 17,12
Health: 100
BarracksA: barr
Owner: USSR
Location: 20,7
Health: 100
Actor218: tsla
Owner: USSR
Location: 30,4
WarFactory: weap
Owner: USSR
Location: 12,9
Health: 100
USSRFC: fcom
Owner: USSR
Location: 13,4
SubPen: spen
Owner: USSR
Location: 33,10
Actor222: ss
Owner: USSR
Location: 57,13
Facing: 612
Actor223: ss
Owner: USSR
Location: 58,13
Facing: 632
Actor224: ss
Owner: USSR
Location: 60,13
Facing: 652
Actor225: ss
Owner: USSR
Location: 61,12
Facing: 668
Actor226: ss
Owner: USSR
Location: 60,11
Facing: 632
Actor227: harv
Owner: USSR
Location: 39,3
Facing: 0
TankGroup101: 3tnk
Owner: USSR
Location: 27,3
TurretFacing: 0
Health: 100
Facing: 753
TankGroup102: 3tnk
Owner: USSR
Location: 28,4
TurretFacing: 0
Health: 100
Facing: 761
Actor230: dog
Owner: USSR
SubCell: 3
Location: 26,3
Health: 100
Facing: 716
Actor231: dog
Owner: USSR
SubCell: 3
Location: 26,5
Health: 100
Facing: 769
Actor232: e1
Owner: USSR
SubCell: 3
Location: 25,4
Health: 100
Facing: 756
TurretFacing: 756
Actor233: v2rl
Owner: USSR
Location: 19,6
Health: 100
Facing: 531
Actor234: v2rl
Owner: USSR
Location: 17,8
Health: 100
Facing: 515
Actor235: 3tnk
Owner: USSR
Location: 18,7
TurretFacing: 0
Health: 100
Facing: 507
WGV2: v2rl
Owner: USSR
Location: 9,5
Health: 100
Facing: 504
Actor237: v2rl
Owner: USSR
Location: 11,7
Health: 100
Facing: 520
Actor238: 3tnk
Owner: USSR
Location: 10,6
Health: 100
Facing: 512
TurretFacing: 0
MM2: 4tnk
Owner: USSR
Location: 13,13
TurretFacing: 0
Health: 100
Facing: 528
MM1: 4tnk
Owner: USSR
Location: 12,15
TurretFacing: 0
Health: 100
Facing: 508
MM3: 4tnk
Owner: USSR
Location: 14,15
TurretFacing: 0
Health: 100
Facing: 528
WGTank01: 3tnk
Owner: USSR
Location: 5,12
TurretFacing: 0
Health: 100
Facing: 604
WGTank02: 3tnk
Owner: USSR
Location: 6,16
TurretFacing: 0
Health: 100
Facing: 636
Actor244: dog
Owner: USSR
SubCell: 3
Location: 12,22
Health: 100
Facing: 539
Actor245: dog
Owner: USSR
SubCell: 3
Location: 14,22
Health: 100
Facing: 507
Actor246: e1
Owner: USSR
SubCell: 3
Location: 13,21
Health: 100
Facing: 384
TurretFacing: 384
Actor247: 3tnk
Owner: USSR
Location: 18,16
Health: 100
Facing: 384
TurretFacing: 0
Actor248: 3tnk
Owner: USSR
Location: 15,2
TurretFacing: 0
Health: 100
Facing: 523
Actor249: e1
Owner: Greece
SubCell: 3
Location: 17,60
Health: 100
Facing: 634
TurretFacing: 634
Actor250: e1
Owner: Greece
SubCell: 3
Location: 23,62
Health: 100
TurretFacing: 29
Facing: 29
AlliedMCVEntry: waypoint
Owner: Neutral
Location: 19,70
Unload1: waypoint
Owner: Neutral
Location: 19,63
DefaultCameraPosition: waypoint
Owner: Neutral
Location: 21,60
HeliLandZone: waypoint
Owner: Neutral
Location: 21,62
KosyginSpawnPoint: waypoint
Owner: Neutral
Location: 14,6
KosyginExtractPoint: waypoint
Owner: Neutral
Location: 25,57
HeliWP01: waypoint
Owner: Neutral
Location: 58,70
HeliWP02: waypoint
Owner: Neutral
Location: 58,66
HeliWP03: waypoint
Owner: Neutral
Location: 16,55
LowerBaseWP: waypoint
Owner: Neutral
Location: 13,25
USSRUnload1: waypoint
Owner: Neutral
Location: 53,53
USSRRFEntry: waypoint
Owner: Neutral
Location: 80,1
RevealLowerBase: waypoint
Owner: Neutral
Location: 13,19
Harbor: waypoint
Owner: Neutral
Location: 22,43
USSRUnload2: waypoint
Owner: Neutral
Location: 55,63
WP92: waypoint
Owner: Neutral
Location: 20,31
WP91: waypoint
Owner: Neutral
Location: 22,27
WP90: waypoint
Owner: Neutral
Location: 31,25
Dog6: dog
Owner: USSR
SubCell: 3
Location: 22,31
Health: 100
Facing: 384
Dog5: dog
Owner: USSR
SubCell: 3
Location: 10,25
Health: 100
Facing: 384
WP93: waypoint
Owner: Neutral
Location: 9,27
WP94: waypoint
Owner: Neutral
Location: 1,28
WP88: waypoint
Owner: Neutral
Location: 13,23
WP81: waypoint
Owner: Neutral
Location: 27,4
WP82: waypoint
Owner: Neutral
Location: 37,4
WP83: waypoint
Owner: Neutral
Location: 46,8
WP84: waypoint
Owner: Neutral
Location: 52,11
WP85: waypoint
Owner: Neutral
Location: 60,2
WP89: waypoint
Owner: Neutral
Location: 30,15
WP79: waypoint
Owner: Neutral
Location: 13,18
WP78: waypoint
Owner: Neutral
Location: 12,18
WP80: waypoint
Owner: Neutral
Location: 14,18
WPHNTG: waypoint
Owner: Neutral
Location: 15,9
WP4: waypoint
Owner: Neutral
Location: 19,13
WP76: waypoint
Owner: Neutral
Location: 56,7
WP72: waypoint
Owner: Neutral
Location: 5,18
WP18: waypoint
Owner: Neutral
Location: 42,9
WP17: waypoint
Owner: Neutral
Location: 47,12
UpperBaseWP: waypoint
Owner: Neutral
Location: 13,8
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
Weapons: weapons.yaml

View File

@@ -0,0 +1,148 @@
Player:
PlayerResources:
DefaultCash: 10000
World:
LuaScript:
Scripts: campaign-global.lua, allies09a.lua, allies09a-AI.lua
MissionData:
Briefing: One of Stalin's top atomic strategists, Vladimir Kosygin, wishes to defect. His knowledge of Stalin's atomic strategies is invaluable to us. We will extract him from the Riga compound where he is stationed.\n\nUse a spy to infiltrate the Soviet command center and contact Kosygin. Once he is out of the building, guide him back to your base any way you can.
StartVideo:
WinVideo:
LossVideo:
ScriptLobbyDropdown@difficulty:
ID: difficulty
Label: Difficulty
Values:
easy: Easy
normal: Normal
hard: Hard
Default: normal
LST.Reinforcement:
Inherits: LST
RejectsOrders:
-Buildable:
-Selectable:
RenderSprites:
Image: lst
Interactable:
TRAN.Extraction:
Inherits: TRAN
RejectsOrders:
-Selectable:
RenderSprites:
Image: tran
Interactable:
powerproxy.paratroopers:
ParatroopersPower:
DropItems: E1,E1,E1,E2,E2
MCV:
Buildable:
Prerequisites: ~disabled
TRUK:
Buildable:
Prerequisites: ~disabled
MRJ:
Buildable:
Prerequisites: ~disabled
3TNK:
Buildable:
Prerequisites: ~vehicles.soviet
V2RL:
Buildable:
Prerequisites: ~vehicles.soviet
4TNK:
Buildable:
Prerequisites: ~vehicles.soviet
QTNK:
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
FCOM:
Targetable:
TargetTypes: GroundActor, Structure, C4, DetonateAttack, SpyInfiltrate
GNRL:
Targetable:
TargetTypes: Kosygin
AutoTarget:
InitialStance: HoldFire
InitialStanceAI: HoldFire
DOG:
AutoTargetPriority@DEFAULT:
ValidTargets: Infantry, Kosygin

View File

@@ -0,0 +1,4 @@
DogJaw:
ValidTargets: Infantry, Kosygin
Warhead@1Dam: TargetDamage
ValidTargets: Infantry, Kosygin

View File

@@ -10,6 +10,7 @@ Allied Campaign:
allies-07 allies-07
allies-08a allies-08a
allies-08b allies-08b
allies-09a
Soviet Campaign: Soviet Campaign:
soviet-01 soviet-01
soviet-02a soviet-02a