Merge pull request #12322 from abc013/allies-06a

Added allies-06a to the Red Alert mod
This commit is contained in:
reaperrr
2017-01-06 12:54:17 +01:00
committed by GitHub
9 changed files with 1196 additions and 0 deletions

View File

@@ -68,6 +68,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Red Alert Lua scripts", "Re
mods\ra\maps\allies-03b\allies03b.lua = mods\ra\maps\allies-03b\allies03b.lua
mods\ra\maps\allies-05a\allies05a-AI.lua = mods\ra\maps\allies-05a\allies05a-AI.lua
mods\ra\maps\allies-05a\allies05a.lua = mods\ra\maps\allies-05a\allies05a.lua
mods\ra\maps\allies-06a\allies06a-AI.lua = mods\ra\maps\allies-06a\allies06a-AI.lua
mods\ra\maps\allies-06a\allies06a.lua = mods\ra\maps\allies-06a\allies06a.lua
mods\ra\maps\desert-shellmap\desert-shellmap.lua = mods\ra\maps\desert-shellmap\desert-shellmap.lua
mods\ra\maps\evacuation\evacuation.lua = mods\ra\maps\evacuation\evacuation.lua
mods\ra\maps\exodus\exodus.lua = mods\ra\maps\exodus\exodus.lua

View File

@@ -0,0 +1,226 @@
WTransWays =
{
{ WaterUnloadEntry1.Location, WaterUnload1.Location },
{ WaterUnloadEntry2.Location, WaterUnload2.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", "e2", "3tnk" } }
}
WTransDelays =
{
easy = 4,
normal = 3,
hard = 1
}
BuildDelays =
{
easy = 90,
normal = 60,
hard = 30
}
WaterAttacks =
{
easy = 1,
normal = 2,
hard = 3
}
WaterAttackTypes =
{
easy = { "ss" },
normal = { "ss", "ss" },
hard = { "ss", "ss", "ss" }
}
VehicleTypes = { "v2rl", "3tnk", "3tnk", "3tnk", "3tnk", "harv" }
InfTypes =
{
{ "e1", "e1", "e1"},
{ "e2", "e1", "e1"},
{ "e4", "e4", "e1"}
}
AttackRallyPoints =
{
{ SovietOreAttackStart.Location, SovietOreAttack1.Location },
{ SovietBaseAttack.Location },
{ SovietOreAttack2.Location }
}
ImportantBuildings = { WeaponsFactory, Airfield, dome2, SovietConyard }
SovietAircraftType = { "yak" }
Yaks = { }
IdlingUnits = { }
IdlingTanks = { tank1, tank2, tank3, tank4, tank5, tank6, tank7, tank8 }
IdlingNavalUnits = { }
InitialiseAttack = function()
Utils.Do(ImportantBuildings, function(a)
Trigger.OnDamaged(a, function()
Utils.Do(IdlingTanks, function(unit)
if not unit.IsDead then
unit.Hunt()
end
end)
end)
end)
end
Attack = 0
ProduceInfantry = function()
if SovietBarracks.IsDead or SovietBarracks.Owner ~= ussr then
return
end
Attack = Attack + 1
local toBuild = Utils.Random(InfTypes)
ussr.Build(toBuild, function(units)
if Attack == 2 and not AttackTnk1.IsDead then
units[#units + 1] = AttackTnk1
elseif Attack == 4 and not AttackTnk2.IsDead then
units[#units + 1] = AttackTnk2
end
SendAttack(units, Utils.Random(AttackRallyPoints))
Trigger.AfterDelay(DateTime.Seconds(BuildDelays), ProduceInfantry)
end)
end
ProduceVehicles = function()
if WeaponsFactory.IsDead or WeaponsFactory.Owner ~= ussr then
return
end
ussr.Build(VehicleTypes, function(units)
Utils.Do(units, function(unit)
if unit.Type ~= "harv" then
IdlingTanks[#IdlingTanks + 1] = unit
end
end)
end)
end
ProduceNaval = function()
if SubPen.IsDead or SubPen.Owner ~= ussr then
return
end
ussr.Build(WaterAttackTypes, function(units)
Utils.Do(units, function(unit)
IdlingNavalUnits[#IdlingNavalUnits + 1] = unit
end)
Trigger.AfterDelay(DateTime.Minutes(1) + DateTime.Seconds(40), ProduceNaval)
if #IdlingNavalUnits >= WaterAttacks then
Trigger.AfterDelay(DateTime.Seconds(20), function()
SendAttack(SetupNavalAttackGroup(), { Harbor.Location })
end)
end
end)
end
ProduceAircraft = function()
if Airfield.IsDead or Airfield.Owner ~= ussr then
return
end
ussr.Build(SovietAircraftType, function(units)
local yak = units[1]
Yaks[#Yaks + 1] = yak
Trigger.OnKilled(yak, ProduceAircraft)
if #Yaks == 1 then
Trigger.AfterDelay(DateTime.Seconds(BuildDelays), ProduceAircraft)
end
TargetAndAttack(yak)
end)
end
TargetAndAttack = function(yak, target)
if not target or target.IsDead or (not target.IsInWorld) then
local enemies = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == player and self.HasProperty("Health") end)
if #enemies > 0 then
target = Utils.Random(enemies)
else
yak.Wait(DateTime.Seconds(5))
end
end
if target and yak.AmmoCount() > 0 then
yak.Attack(target)
else
yak.ReturnToBase()
end
yak.CallFunc(function()
TargetAndAttack(yak, target)
end)
end
IdleHunt = function(unit) if not unit.IsDead then Trigger.OnIdle(unit, unit.Hunt) end end
SendAttack = function(units, path)
Utils.Do(units, function(unit)
unit.Patrol(path, false)
IdleHunt(unit)
end)
end
SetupNavalAttackGroup = function()
local units = { }
for i = 0, 3 do
if #IdlingNavalUnits == 0 then
return units
end
local number = Utils.RandomInteger(1, #IdlingNavalUnits)
if IdlingNavalUnits[number] and not IdlingNavalUnits[number].IsDead then
units[i] = IdlingNavalUnits[number]
table.remove(IdlingNavalUnits, number)
end
end
return units
end
WTransWaves = function()
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(UnitBStopLocation.Location)
IdleHunt(a)
end)
end)
Trigger.AfterDelay(DateTime.Minutes(WTransDelays), WTransWaves)
end
ActivateAI = function()
local difficulty = Map.LobbyOption("difficulty")
WaterAttackTypes = WaterAttackTypes[difficulty]
WaterAttacks = WaterAttacks[difficulty]
WTransUnits = WTransUnits[difficulty]
WTransDelays = WTransDelays[difficulty]
BuildDelays = BuildDelays[difficulty]
InitialiseAttack()
Trigger.AfterDelay(DateTime.Seconds(10), ProduceInfantry)
Trigger.AfterDelay(DateTime.Minutes(1) + DateTime.Seconds(10), function()
ProduceAircraft()
ProduceVehicles()
end)
WeaponsFactory.RallyPoint = WeaponMeetPoint.Location
SubPen.RallyPoint = SubMeetPoint.Location
Trigger.AfterDelay(DateTime.Minutes(5) + DateTime.Seconds(10), ProduceNaval)
Trigger.AfterDelay(DateTime.Minutes(WTransDelays), WTransWaves)
end

View File

@@ -0,0 +1,220 @@
AlliedReinforcementsA = { "e1", "e1", "e1", "e1", "e1" }
AlliedReinforcementsB = { "e3", "e3", "e3", "e3", "e3" }
BadGuys = { BadGuy1, BadGuy2, BadGuy3 }
SovietDogPatrols =
{
{ Patrol_1_e1, Patrol_1_dog },
{ Patrol_2_e1, Patrol_2_dog },
{ Patrol_3_e1, Patrol_3_dog },
{ Patrol_4_e1, Patrol_4_dog }
}
SovietDogPatrolPaths =
{
{ Patrol6.Location, Patrol7.Location, Patrol8.Location, Patrol1.Location, Patrol2.Location, Patrol3.Location, Patrol4.Location, Patrol5.Location },
{ Patrol8.Location, Patrol1.Location, Patrol2.Location, Patrol3.Location, Patrol4.Location, Patrol5.Location, Patrol6.Location, Patrol7.Location },
{ Patrol1.Location, Patrol2.Location, Patrol3.Location, Patrol4.Location, Patrol5.Location, Patrol6.Location, Patrol7.Location, Patrol8.Location },
{ Patrol2.Location, Patrol3.Location, Patrol4.Location, Patrol5.Location, Patrol6.Location, Patrol7.Location, Patrol8.Location, Patrol1.Location }
}
Mammoths = { Mammoth1, Mammoth2, Mammoth3 }
SovietMammothPaths =
{
{ TnkPatrol1.Location, TnkPatrol2.Location,TnkPatrol3.Location, TnkPatrol4.Location, TnkPatrol5.Location, TnkPatrol6.Location, TnkPatrol7.Location, TnkPatrol8.Location },
{ TnkPatrol5.Location, TnkPatrol6.Location, TnkPatrol7.Location, TnkPatrol8.Location, TnkPatrol1.Location, TnkPatrol2.Location, TnkPatrol3.Location, TnkPatrol4.Location },
{ TnkPatrol8.Location, TnkPatrol1.Location, TnkPatrol2.Location, TnkPatrol3.Location, TnkPatrol4.Location, TnkPatrol5.Location, TnkPatrol6.Location, TnkPatrol7.Location }
}
SovietSubPath = { SubPatrol3_1.Location, SubPatrol3_2.Location, SubPatrol3_3.Location }
ParadropWaypoints =
{
easy = { UnitBStopLocation },
normal = { UnitBStopLocation, UnitAStopLocation },
hard = { UnitBStopLocation, MCVStopLocation, UnitAStopLocation }
}
SovietTechLabs = { TechLab1, TechLab2, TechLab3 }
TechLabCams = { TechCam1, TechCam2, TechCam3 }
GroupPatrol = function(units, waypoints, delay)
local i = 1
local stop = false
Utils.Do(units, function(unit)
Trigger.OnIdle(unit, function()
if stop then
return
end
if unit.Location == waypoints[i] then
local bool = Utils.All(units, function(actor) return actor.IsIdle end)
if bool then
stop = true
i = i + 1
if i > #waypoints then
i = 1
end
Trigger.AfterDelay(delay, function() stop = false end)
end
else
unit.AttackMove(waypoints[i])
end
end)
end)
end
InitialSovietPatrols = function()
-- Dog Patrols
for i = 1, 4 do
GroupPatrol(SovietDogPatrols[i], SovietDogPatrolPaths[i], DateTime.Seconds(5))
end
-- Mammoth Patrols
for i = 1, 3 do
Trigger.AfterDelay(DateTime.Seconds(6 * (i - 1)), function()
Trigger.OnIdle(Mammoths[i], function()
Mammoths[i].Patrol(SovietMammothPaths[i])
end)
end)
end
-- Sub Patrols
Patrol1Sub.Patrol({ SubPatrol1_1.Location, SubPatrol1_2.Location })
Patrol2Sub.Patrol({ SubPatrol2_1.Location, SubPatrol2_2.Location })
Patrol3Sub1.Patrol(SovietSubPath)
Patrol3Sub2.Patrol(SovietSubPath)
end
InitialAlliedReinforcements = function()
local camera = Actor.Create("Camera", true, { Owner = player, Location = DefaultCameraPosition.Location })
Trigger.AfterDelay(DateTime.Seconds(30), camera.Destroy)
Reinforcements.Reinforce(player, AlliedReinforcementsA, { AlliedEntry1.Location, UnitBStopLocation.Location }, 2)
Trigger.AfterDelay(DateTime.Seconds(2), function()
Reinforcements.Reinforce(player, AlliedReinforcementsB, { AlliedEntry2.Location, UnitAStopLocation.Location }, 2)
end)
Trigger.AfterDelay(DateTime.Seconds(5), function()
Reinforcements.Reinforce(player, { "mcv" }, { AlliedEntry3.Location, MCVStopLocation.Location })
end)
end
CaptureRadarDome = function()
Trigger.OnKilled(Radar, function()
player.MarkFailedObjective(CaptureRadarDomeObj)
end)
Trigger.OnCapture(Radar, function()
player.MarkCompletedObjective(CaptureRadarDomeObj)
end)
end
infiltrated = false
InfiltrateTechCenter = function()
Utils.Do(SovietTechLabs, function(a)
Trigger.OnInfiltrated(a, function()
if infiltrated then
return
end
infiltrated = true
DestroySovietsObj = player.AddPrimaryObjective("Destroy all Soviet buildings and units in the area.")
player.MarkCompletedObjective(InfiltrateTechCenterObj)
local Proxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })
Utils.Do(ParadropWaypoints[Map.LobbyOption("difficulty")], function(waypoint)
Proxy.SendParatroopers(waypoint.CenterPosition, false, Facing.South)
end)
Proxy.Destroy()
end)
end)
Trigger.OnAllKilled(SovietTechLabs, function()
if not player.IsObjectiveCompleted(InfiltrateTechCenterObj) then
player.MarkFailedObjective(InfiltrateTechCenterObj)
end
end)
end
InfiltrateRef = function()
Trigger.OnInfiltrated(Refinery, function()
player.MarkCompletedObjective(InfiltrateRefObj)
end)
Trigger.OnKilled(Refinery, function()
if not player.IsObjectiveCompleted(InfiltrateRefObj) then
player.MarkFailedObjective(InfiltrateRefObj)
end
end)
end
Tick = function()
if DateTime.GameTime > DateTime.Seconds(10) and player.HasNoRequiredUnits() then
player.MarkFailedObjective(InfiltrateTechCenterObj)
end
if DestroySovietsObj and ussr.HasNoRequiredUnits() then
player.MarkCompletedObjective(DestroySovietsObj)
end
end
WorldLoaded = function()
player = Player.GetPlayer("Greece")
ussr = Player.GetPlayer("USSR")
Trigger.OnObjectiveAdded(player, function(p, id)
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
end)
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()
Media.PlaySpeechNotification(player, "MissionFailed")
end)
Trigger.OnPlayerWon(player, function()
Media.PlaySpeechNotification(player, "MissionAccomplished")
end)
InfiltrateTechCenterObj = player.AddPrimaryObjective("Infiltrate one of the Soviet tech centers.")
CaptureRadarDomeObj = player.AddSecondaryObjective("Capture the Radar Dome at the shore.")
InfiltrateRefObj = player.AddSecondaryObjective("Infiltrate the Refinery for money.")
Camera.Position = DefaultCameraPosition.CenterPosition
if Map.LobbyOption("difficulty") ~= "hard" then
Utils.Do(TechLabCams, function(a)
Actor.Create("TECH.CAM", true, { Owner = player, Location = a.Location })
end)
if Map.LobbyOption("difficulty") == "easy" then
Actor.Create("Camera", true, { Owner = player, Location = Weapcam.Location })
end
end
Utils.Do(BadGuys, function(a)
a.AttackMove(MCVStopLocation.Location)
end)
Trigger.AfterDelay(DateTime.Seconds(1), function()
InitialAlliedReinforcements()
InitialSovietPatrols()
end)
Trigger.OnEnteredProximityTrigger(SovietMiniBaseCam.CenterPosition, WDist.New(1024 * 6), function(a, id)
if a.Owner == player then
Trigger.RemoveProximityTrigger(id)
local cam = Actor.Create("Camera", true, { Owner = player, Location = SovietMiniBaseCam.Location })
Trigger.AfterDelay(DateTime.Seconds(15), cam.Destroy)
end
end)
CaptureRadarDome()
InfiltrateTechCenter()
InfiltrateRef()
Trigger.AfterDelay(0, ActivateAI)
end

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,642 @@
MapFormat: 11
RequiresMod: ra
Title: 06a: Cripple Iron Curtain research
Author: Westwood Studios
Tileset: SNOW
MapSize: 128,128
Bounds: 3,61,94,54
Visibility: MissionSelector
Categories: Campaign
LockPreview: True
Players:
PlayerReference@Neutral:
Name: Neutral
OwnsWorld: True
NonCombatant: True
Faction: england
PlayerReference@USSR:
Name: USSR
Faction: soviet
Color: FF1400
Enemies: USSR, Greece
PlayerReference@Greece:
Name: Greece
AllowBots: False
Playable: True
Required: True
LockFaction: True
Faction: allies
LockColor: True
Color: E2E6F6
LockSpawn: True
LockTeam: True
Enemies: USSR
Actors:
Actor176: camera
Owner: USSR
Location: 19,66
Actor0: sbag
Location: 22,81
Owner: USSR
Actor1: sbag
Location: 23,81
Owner: USSR
Actor2: sbag
Location: 24,81
Owner: USSR
Actor3: sbag
Location: 22,82
Owner: USSR
Actor4: sbag
Location: 24,82
Owner: USSR
Actor5: sbag
Location: 22,83
Owner: USSR
Actor6: sbag
Location: 23,83
Owner: USSR
Actor7: sbag
Location: 24,83
Owner: USSR
Actor8: sbag
Location: 12,84
Owner: USSR
Actor9: sbag
Location: 13,84
Owner: USSR
Actor10: sbag
Location: 14,84
Owner: USSR
Actor11: sbag
Location: 12,85
Owner: USSR
Actor12: sbag
Location: 14,85
Owner: USSR
Actor13: sbag
Location: 12,86
Owner: USSR
Actor14: sbag
Location: 13,86
Owner: USSR
Actor15: sbag
Location: 14,86
Owner: USSR
Actor16: t08
Location: 88,68
Owner: Neutral
Actor17: t08
Location: 26,72
Owner: Neutral
Actor18: tc02
Location: 52,92
Owner: Neutral
Actor19: tc01
Location: 57,96
Owner: Neutral
Actor20: t15
Location: 3,76
Owner: Neutral
Actor21: tc05
Location: 11,74
Owner: Neutral
Actor22: t15
Location: 74,81
Owner: Neutral
Actor23: t08
Location: 77,85
Owner: Neutral
Actor24: tc05
Location: 94,106
Owner: Neutral
Actor25: tc03
Location: 84,94
Owner: Neutral
Actor26: t16
Location: 83,94
Owner: Neutral
Actor27: t08
Location: 85,96
Owner: Neutral
Actor28: tc01
Location: 62,105
Owner: Neutral
Actor29: tc01
Location: 89,98
Owner: Neutral
Actor30: tc02
Location: 85,100
Owner: Neutral
Actor31: tc03
Location: 87,99
Owner: Neutral
Actor32: t17
Location: 89,99
Owner: Neutral
Actor33: t16
Location: 85,99
Owner: Neutral
Actor34: t13
Location: 86,98
Owner: Neutral
Actor35: tc04
Location: 15,74
Owner: Neutral
Actor36: tc01
Location: 24,73
Owner: Neutral
Actor37: t17
Location: 27,71
Owner: Neutral
Actor38: t13
Location: 36,69
Owner: Neutral
Actor39: t12
Location: 34,70
Owner: Neutral
Actor40: t11
Location: 23,84
Owner: Neutral
Actor41: t08
Location: 9,78
Owner: Neutral
Actor42: t05
Location: 12,89
Owner: Neutral
Actor43: tc03
Location: 12,82
Owner: Neutral
Actor44: t17
Location: 5,82
Owner: Neutral
Actor45: tc02
Location: 9,95
Owner: Neutral
Actor46: tc03
Location: 7,94
Owner: Neutral
Actor47: tc05
Location: 9,109
Owner: Neutral
Actor48: tc04
Location: 3,100
Owner: Neutral
Actor49: tc02
Location: 3,110
Owner: Neutral
Actor50: tc01
Location: 6,105
Owner: Neutral
Actor51: t17
Location: 12,106
Owner: Neutral
Actor52: t16
Location: 8,107
Owner: Neutral
Actor53: t14
Location: 11,100
Owner: Neutral
Actor54: t01
Location: 29,102
Owner: Neutral
Actor55: t03
Location: 36,104
Owner: Neutral
Actor56: t06
Location: 25,104
Owner: Neutral
Actor57: t08
Location: 38,100
Owner: Neutral
Actor58: tc03
Location: 95,72
Owner: Neutral
Actor59: mine
Location: 5,68
Owner: Neutral
Actor60: mine
Location: 9,104
Owner: Neutral
Actor61: mine
Location: 5,113
Owner: Neutral
Actor70: kenn
Location: 91,94
Owner: USSR
Actor71: kenn
Location: 71,83
Owner: USSR
Actor74: kenn
Location: 77,101
Owner: USSR
Actor75: ftur
Location: 16,82
Owner: USSR
Actor76: ftur
Location: 19,82
Owner: USSR
Actor77: tsla
Location: 60,97
Owner: USSR
Actor78: apwr
Location: 79,108
Owner: USSR
Actor79: apwr
Location: 82,109
Owner: USSR
Actor81: apwr
Location: 82,106
Owner: USSR
Actor82: apwr
Location: 81,112
Owner: USSR
Actor83: silo
Location: 94,104
Owner: USSR
Actor84: silo
Location: 94,105
Owner: USSR
Actor85: silo
Location: 95,104
Owner: USSR
Actor86: silo
Location: 95,105
Owner: USSR
Actor87: silo
Location: 85,102
Owner: USSR
Actor88: silo
Location: 85,93
Owner: USSR
Actor89: apwr
Location: 87,101
Owner: USSR
Actor90: ftur
Location: 80,87
Owner: USSR
Actor105: jeep
Location: 19,64
Owner: Greece
Facing: 127
Actor109: e2
Location: 13,85
Owner: USSR
Facing: 223
SubCell: 2
Actor110: e2
Location: 23,82
Owner: USSR
Facing: 31
SubCell: 3
Actor111: e1
Location: 20,64
Owner: Greece
Facing: 159
SubCell: 2
Actor112: e1
Location: 19,65
Owner: Greece
Facing: 127
SubCell: 0
Actor113: e1
Location: 18,64
Owner: Greece
Facing: 127
SubCell: 1
Actor114: e1
Location: 23,82
Owner: USSR
SubCell: 2
Actor115: e1
Location: 13,85
Owner: USSR
Facing: 63
SubCell: 3
Actor117: dog
Location: 79,100
Owner: USSR
Facing: 191
SubCell: 0
Actor126: ss
Location: 59,102
Owner: USSR
Facing: 95
Actor130: ss
Location: 74,113
Owner: USSR
Facing: 63
Actor177: mine
Owner: Neutral
Location: 56,94
Actor178: mine
Owner: Neutral
Location: 64,108
Actor180: mine
Owner: Neutral
Location: 93,84
SovietConyard: fact
Location: 69,96
Owner: USSR
dome2: dome
Location: 90,109
Owner: USSR
harv: harv
Location: 82,94
Owner: USSR
Facing: 31
tank1: 3tnk
Location: 69,90
Owner: USSR
Facing: 95
tank2: 3tnk
Location: 93,102
Owner: USSR
Facing: 31
tank3: 3tnk
Location: 85,90
Owner: USSR
tank4: 3tnk
Location: 93,106
Owner: USSR
Facing: 63
tank5: 3tnk
Location: 73,100
Owner: USSR
Facing: 63
tank6: v2rl
Location: 80,90
Owner: USSR
Facing: 223
tank7: v2rl
Location: 70,91
Owner: USSR
Facing: 95
tank8: v2rl
Location: 74,101
Owner: USSR
Facing: 63
SubPatrol3_1: waypoint
Location: 48,114
Owner: Neutral
SubPatrol3_2: waypoint
Location: 48,98
Owner: Neutral
SubPatrol3_3: waypoint
Location: 79,71
Owner: Neutral
Patrol3Sub1: ss
Location: 46,105
Owner: USSR
Facing: 63
Patrol3Sub2: ss
Location: 77,71
Owner: USSR
Facing: 63
Patrol1Sub: ss
Location: 46,71
Owner: USSR
Facing: 127
Patrol2Sub: ss
Location: 52,85
Owner: USSR
Facing: 63
SubPatrol1_1: waypoint
Location: 42,71
Owner: Neutral
SubPatrol1_2: waypoint
Location: 58,84
Owner: Neutral
SubPatrol2_1: waypoint
Location: 56,87
Owner: Neutral
SubPatrol2_2: waypoint
Location: 40,74
Owner: Neutral
SubMeetPoint: waypoint
Location: 48,105
Owner: Neutral
SovietBaseAttack: waypoint
Location: 18,68
Owner: Neutral
Patrol1: waypoint
Location: 92,108
Owner: Neutral
Patrol2: waypoint
Location: 76,103
Owner: Neutral
Patrol3: waypoint
Location: 65,110
Owner: Neutral
Patrol4: waypoint
Location: 68,101
Owner: Neutral
Patrol5: waypoint
Location: 68,93
Owner: Neutral
Patrol6: waypoint
Location: 72,84
Owner: Neutral
Patrol7: waypoint
Location: 79,88
Owner: Neutral
Patrol8: waypoint
Location: 90,94
Owner: Neutral
TnkPatrol1: waypoint
Location: 52,100
Owner: Neutral
TnkPatrol2: waypoint
Location: 65,94
Owner: Neutral
TnkPatrol3: waypoint
Location: 65,78
Owner: Neutral
TnkPatrol4: waypoint
Location: 84,82
Owner: Neutral
TnkPatrol5: waypoint
Location: 79,92
Owner: Neutral
TnkPatrol6: waypoint
Location: 77,106
Owner: Neutral
TnkPatrol7: waypoint
Location: 61,107
Owner: Neutral
TnkPatrol8: waypoint
Location: 70,100
Owner: Neutral
Mammoth1: 4tnk
Location: 63,94
Owner: USSR
Facing: 63
Mammoth2: 4tnk
Location: 82,87
Owner: USSR
Facing: 223
Mammoth3: 4tnk
Location: 76,105
Owner: USSR
Facing: 31
AttackTnk1: 3tnk
Location: 18,85
Owner: USSR
Facing: 31
AttackTnk2: 3tnk
Location: 17,82
Owner: USSR
Facing: 223
BadGuy1: e1
Location: 20,69
Owner: USSR
SubCell: 3
BadGuy2: e1
Location: 19,70
Owner: USSR
SubCell: 0
BadGuy3: e1
Location: 24,67
Owner: USSR
Facing: 63
SubCell: 3
Patrol_1_e1: e1
Location: 71,84
Owner: USSR
SubCell: 4
Patrol_1_dog: dog
Location: 72,84
Owner: USSR
Facing: 63
SubCell: 1
Patrol_2_e1: e1
Location: 89,94
Owner: USSR
SubCell: 0
Patrol_2_dog: dog
Location: 89,93
Owner: USSR
Facing: 95
SubCell: 4
Patrol_3_e1: e1
Location: 92,108
Owner: USSR
SubCell: 1
Patrol_3_dog: dog
Location: 92,108
Owner: USSR
SubCell: 3
Patrol_4_e1: e1
Location: 76,102
Owner: USSR
SubCell: 4
Patrol_4_dog: dog
Location: 77,102
Owner: USSR
Facing: 95
SubCell: 4
WaterUnloadEntry1: waypoint
Location: 22,114
Owner: Neutral
WaterUnloadEntry2: waypoint
Location: 43,114
Owner: Neutral
WaterUnload1: waypoint
Location: 15,108
Owner: Neutral
WaterUnload2: waypoint
Location: 30,93
Owner: Neutral
SovietOreAttackStart: waypoint
Location: 5,73
Owner: Neutral
SovietOreAttack1: waypoint
Location: 3,65
Owner: Neutral
SovietOreAttack2: waypoint
Location: 36,67
Owner: Neutral
Harbor: waypoint
Location: 19,92
Owner: Neutral
UnitAStopLocation: waypoint
Location: 16,64
Owner: Neutral
MCVStopLocation: waypoint
Location: 23,64
Owner: Neutral
UnitBStopLocation: waypoint
Location: 19,63
Owner: Neutral
DefaultCameraPosition: waypoint
Location: 19,64
Owner: Neutral
SovietMiniBaseCam: waypoint
Location: 18,83
Owner: Neutral
Weapcam: waypoint
Location: 76,94
Owner: Neutral
TechCam1: waypoint
Location: 69,83
Owner: Neutral
TechCam2: waypoint
Location: 94,94
Owner: Neutral
TechCam3: waypoint
Owner: Neutral
Location: 94,109
AlliedEntry1: waypoint
Location: 19,61
Owner: Neutral
AlliedEntry2: waypoint
Location: 14,61
Owner: Neutral
AlliedEntry3: waypoint
Location: 23,61
Owner: Neutral
SubPen: spen
Location: 63,99
Owner: USSR
TechLab1: stek
Location: 93,93
Owner: USSR
TechLab2: stek
Location: 68,82
Owner: USSR
TechLab3: stek
Location: 93,108
Owner: USSR
SovietBarracks: barr
Location: 15,83
Owner: USSR
WeaponsFactory: weap
Location: 75,93
Owner: USSR
Airfield: afld
Location: 74,86
Owner: USSR
Refinery: proc
Location: 81,90
Owner: USSR
Radar: dome
Location: 20,83
Owner: USSR
WeaponMeetPoint: waypoint
Owner: Neutral
Location: 73,90
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, rules.yaml
Weapons: weapons.yaml

View File

@@ -0,0 +1,98 @@
Player:
PlayerResources:
DefaultCash: 5000
World:
LuaScript:
Scripts: allies06a.lua, allies06a-AI.lua
MissionData:
Briefing: Priority one is to establish a base and get your spy into one of the Soviet Tech Centers in the base across the gulf.\nData on the Iron Curtain is in there and we need it.\n\nOnce you get the data complete your mission...\nWipe out everything.
BriefingVideo: ally6.vqa
WinVideo: allymorf.vqa
LossVideo: overrun.vqa
StartVideo: mcv.vqa
MapOptions:
TechLevel: medium
ScriptLobbyDropdown@difficulty:
ID: difficulty
Label: Difficulty
Values:
easy: Easy
normal: Normal
hard: Hard
Default: easy
powerproxy.paratroopers:
ParatroopersPower:
DropItems: E1,E1,E1,E4,E4
TSLA:
Power:
Amount: -150
3TNK:
Buildable:
Prerequisites: ~vehicles.soviet
ARTY:
Buildable:
Prerequisites: ~disabled
MCV:
Buildable:
Prerequisites: ~disabled
TRUK:
Buildable:
Prerequisites: ~disabled
STEK:
Targetable:
TargetTypes: Ground, Water, Structure, C4, DetonateAttack, SpyInfiltrate
TECH.CAM:
Inherits: CAMERA
RevealsShroud:
Range: 4c0
Type: CenterPosition
APWR:
Buildable:
Prerequisites: ~disabled
AFLD:
Buildable:
Prerequisites: ~disabled
HPAD:
Buildable:
Prerequisites: ~disabled
BRIK:
Buildable:
Prerequisites: ~disabled
MECH:
Buildable:
Prerequisites: ~disabled
HIJACKER:
Buildable:
Prerequisites: ~disabled
DD:
Buildable:
Prerequisites: ~disabled
CA:
Buildable:
Prerequisites: ~disabled
MSUB:
Buildable:
Prerequisites: ~disabled
SS:
AutoTarget:
InitialStanceAI: AttackAnything

View File

@@ -0,0 +1,7 @@
M60mg:
Range: 5c0
ReloadDelay: 20
Burst: 1
Warhead: SpreadDamage
Damage: 20
DamageTypes: Prone50Percent, TriggerProne, BulletDeath

View File

@@ -5,6 +5,7 @@ Allied Campaign:
./mods/ra/maps/allies-03b
./mods/ra/maps/allies-04
./mods/ra/maps/allies-05a
./mods/ra/maps/allies-06a
Soviet Campaign:
./mods/ra/maps/soviet-01
./mods/ra/maps/soviet-02a