Added Allies-06b to the Red Alert mod
This commit is contained in:
@@ -66,6 +66,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Red Alert Lua scripts", "Re
|
|||||||
mods\ra\maps\allies-05a\allies05a.lua = mods\ra\maps\allies-05a\allies05a.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-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\allies-06a\allies06a.lua = mods\ra\maps\allies-06a\allies06a.lua
|
||||||
|
mods\ra\maps\allies-06b\allies06b.lua = mods\ra\maps\allies-06b\allies06b.lua
|
||||||
|
mods\ra\maps\allies-06b\allies06b-AI.lua = mods\ra\maps\allies-06b\allies06b-AI.lua
|
||||||
mods\ra\maps\desert-shellmap\desert-shellmap.lua = mods\ra\maps\desert-shellmap\desert-shellmap.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\evacuation\evacuation.lua = mods\ra\maps\evacuation\evacuation.lua
|
||||||
mods\ra\maps\exodus\exodus.lua = mods\ra\maps\exodus\exodus.lua
|
mods\ra\maps\exodus\exodus.lua = mods\ra\maps\exodus\exodus.lua
|
||||||
|
|||||||
248
mods/ra/maps/allies-06b/allies06b-AI.lua
Normal file
248
mods/ra/maps/allies-06b/allies06b-AI.lua
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
--[[
|
||||||
|
Copyright 2007-2017 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 =
|
||||||
|
{
|
||||||
|
{ WaterUnloadEntry1.Location, WaterUnload1.Location },
|
||||||
|
{ WaterUnloadEntry2.Location, WaterUnload2.Location },
|
||||||
|
{ WaterUnloadEntry3.Location, WaterUnload3.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", "e1", "e1"},
|
||||||
|
{ "e2", "e2", "e1", "e1", "e1"},
|
||||||
|
{ "e4", "e4", "e4", "e1", "e1"}
|
||||||
|
}
|
||||||
|
|
||||||
|
AttackRallyPoints =
|
||||||
|
{
|
||||||
|
{ SovietSideAttack1.Location, SovietBaseAttack.Location },
|
||||||
|
{ SovietBaseAttack.Location },
|
||||||
|
{ SovietSideAttack2.Location, SovietBaseAttack.Location }
|
||||||
|
}
|
||||||
|
|
||||||
|
ImportantBuildings = { WarFactory, Airfield1, Airfield2, Radar2, Refinery, SovietConyard }
|
||||||
|
SovietAircraftType = { "yak" }
|
||||||
|
Yaks = { }
|
||||||
|
IdlingUnits = { }
|
||||||
|
IdlingTanks = { tank1, tank2, tank3, tank4, tank5, tank6, tank7 }
|
||||||
|
IdlingNavalUnits = { }
|
||||||
|
|
||||||
|
InitialiseAttack = function()
|
||||||
|
Utils.Do(ImportantBuildings, function(a)
|
||||||
|
Trigger.OnDamaged(a, function()
|
||||||
|
Utils.Do(IdlingTanks, function(unit)
|
||||||
|
if not unit.IsDead then
|
||||||
|
IdleHunt(unit)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
Trigger.OnCapture(a, function()
|
||||||
|
Utils.Do(IdlingTanks, function(unit)
|
||||||
|
if not unit.IsDead then
|
||||||
|
IdleHunt(unit)
|
||||||
|
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 AttackTank1.IsDead then
|
||||||
|
units[#units + 1] = AttackTank1
|
||||||
|
elseif Attack == 4 and not AttackTank2.IsDead then
|
||||||
|
units[#units + 1] = AttackTank2
|
||||||
|
end
|
||||||
|
|
||||||
|
SendAttack(units, Utils.Random(AttackRallyPoints))
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(BuildDelays), ProduceInfantry)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
ProduceVehicles = function()
|
||||||
|
if WarFactory.IsDead or WarFactory.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
|
||||||
|
|
||||||
|
if not shouldProduce and #Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == player and self.Type == "syrd" end) < 1 then
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1), ProduceNaval)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
shouldProduce = true
|
||||||
|
|
||||||
|
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(), { SubPatrol1_2.Location })
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
ProduceAircraft = function()
|
||||||
|
if (Airfield1.IsDead or Airfield1.Owner ~= ussr) and (Airfield2.IsDead or Airfield2.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(BuildDelays / 2), 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") and yak.CanTarget(self) end)
|
||||||
|
if #enemies > 0 then
|
||||||
|
target = Utils.Random(enemies)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if target and yak.AmmoCount() > 0 and yak.CanTarget(target) 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 + 1)
|
||||||
|
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(SovietBaseAttack.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(40), ProduceInfantry)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(1) + DateTime.Seconds(10), ProduceAircraft)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(2) + DateTime.Seconds(10), ProduceVehicles)
|
||||||
|
|
||||||
|
WarFactory.RallyPoint = WeaponMeetPoint.Location
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(4) + DateTime.Seconds(10), ProduceNaval)
|
||||||
|
Trigger.AfterDelay(DateTime.Minutes(WTransDelays + 1) + DateTime.Seconds(30), WTransWaves)
|
||||||
|
end
|
||||||
269
mods/ra/maps/allies-06b/allies06b.lua
Normal file
269
mods/ra/maps/allies-06b/allies06b.lua
Normal file
@@ -0,0 +1,269 @@
|
|||||||
|
--[[
|
||||||
|
Copyright 2007-2017 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.
|
||||||
|
]]
|
||||||
|
AlliedReinforcementsA = { "e1", "e1", "e1", "e1", "e1" }
|
||||||
|
AlliedReinforcementsB = { "e1", "e1", "e3", "e3", "e3" }
|
||||||
|
AlliedBoatReinforcements = { "pt", "pt" }
|
||||||
|
BadGuys = { BadGuy1, BadGuy2, BadGuy3, BadGuy4 }
|
||||||
|
|
||||||
|
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 },
|
||||||
|
{ TnkPatrol5.Location, TnkPatrol6.Location, TnkPatrol1.Location, TnkPatrol2.Location, TnkPatrol3.Location, TnkPatrol4.Location },
|
||||||
|
{ TnkPatrol6.Location, TnkPatrol1.Location, TnkPatrol2.Location, TnkPatrol3.Location, TnkPatrol4.Location, TnkPatrol5.Location }
|
||||||
|
}
|
||||||
|
|
||||||
|
SubPaths = {
|
||||||
|
{ SubPatrol1_1.Location, SubPatrol1_2.Location },
|
||||||
|
{ SubPatrol2_1.Location, SubPatrol2_2.Location },
|
||||||
|
{ SubPatrol3_1.Location, SubPatrol3_2.Location },
|
||||||
|
{ SubPatrol4_1.Location, SubPatrol4_2.Location },
|
||||||
|
{ SubPatrol5_1.Location, SubPatrol5_2.Location }
|
||||||
|
}
|
||||||
|
|
||||||
|
ParadropWaypoints =
|
||||||
|
{
|
||||||
|
easy = { UnitBStopLocation },
|
||||||
|
normal = { UnitBStopLocation, UnitAStopLocation },
|
||||||
|
hard = { UnitBStopLocation, UnitCStopLocation, UnitAStopLocation }
|
||||||
|
}
|
||||||
|
|
||||||
|
SovietTechLabs = { TechLab1, TechLab2 }
|
||||||
|
|
||||||
|
TechLabCams = { TechCam1, TechCam2 }
|
||||||
|
|
||||||
|
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
|
||||||
|
BeachDog.Patrol({ BeachPatrol1.Location, BeachPatrol2.Location, BeachPatrol3.Location })
|
||||||
|
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(SubPaths[1])
|
||||||
|
Patrol2Sub.Patrol(SubPaths[2])
|
||||||
|
Patrol3Sub.Patrol(SubPaths[3])
|
||||||
|
Patrol4Sub.Patrol(SubPaths[4])
|
||||||
|
Patrol5Sub.Patrol(SubPaths[5])
|
||||||
|
end
|
||||||
|
|
||||||
|
InitialAlliedReinforcements = function()
|
||||||
|
local camera = Actor.Create("Camera", true, { Owner = player, Location = DefaultCameraPosition.Location })
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(30), camera.Destroy)
|
||||||
|
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||||
|
Reinforcements.Reinforce(player, AlliedReinforcementsA, { AlliedEntry3.Location, UnitCStopLocation.Location }, 2)
|
||||||
|
Reinforcements.Reinforce(player, AlliedReinforcementsB, { AlliedEntry2.Location, UnitAStopLocation.Location }, 2)
|
||||||
|
end)
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||||
|
Reinforcements.Reinforce(player, { "mcv" }, { AlliedEntry1.Location, UnitBStopLocation.Location })
|
||||||
|
Reinforcements.Reinforce(player, AlliedBoatReinforcements, { AlliedBoatEntry.Location, AlliedBoatStop.Location })
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
CaptureRadarDome = function()
|
||||||
|
Trigger.OnKilled(Radar, function()
|
||||||
|
player.MarkFailedObjective(CaptureRadarDomeObj)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnCapture(Radar, function()
|
||||||
|
player.MarkCompletedObjective(CaptureRadarDomeObj)
|
||||||
|
Beacon.New(player, TechLab1.CenterPosition)
|
||||||
|
Beacon.New(player, TechLab2.CenterPosition)
|
||||||
|
Media.DisplayMessage("Coordinates of the Soviet tech centers discovered.")
|
||||||
|
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
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
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)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnCapture(a, function()
|
||||||
|
if not infiltrated then
|
||||||
|
Media.DisplayMessage("Do not capture the tech centers! Infiltrate one with a spy.")
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnAllKilledOrCaptured(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.OnCapture(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 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 with a spy.")
|
||||||
|
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
|
||||||
|
Trigger.OnEnteredProximityTrigger(SovietDefenseCam.CenterPosition, WDist.New(1024 * 7), function(a, id)
|
||||||
|
if a.Owner == player then
|
||||||
|
Trigger.RemoveProximityTrigger(id)
|
||||||
|
local cam1 = Actor.Create("TECH.CAM", true, { Owner = player, Location = SovietDefenseCam.Location })
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(15), cam1.Destroy)
|
||||||
|
if not DefenseFlame1.IsDead then
|
||||||
|
local cam2 = Actor.Create("TECH.CAM", true, { Owner = player, Location = DefenseFlame1.Location })
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(15), cam2.Destroy)
|
||||||
|
end
|
||||||
|
if not DefenseFlame2.IsDead then
|
||||||
|
local cam3 = Actor.Create("TECH.CAM", true, { Owner = player, Location = DefenseFlame2.Location })
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(15), cam3.Destroy)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
if Map.LobbyOption("difficulty") == "easy" then
|
||||||
|
Trigger.OnKilled(DefBrl1, function(a, b)
|
||||||
|
DefenseFlame1.Kill()
|
||||||
|
end)
|
||||||
|
Trigger.OnKilled(DefBrl2, function(a, b)
|
||||||
|
DefenseFlame2.Kill()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Utils.Do(BadGuys, function(a)
|
||||||
|
a.AttackMove(UnitCStopLocation.Location)
|
||||||
|
end)
|
||||||
|
|
||||||
|
InitialAlliedReinforcements()
|
||||||
|
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||||
|
InitialSovietPatrols()
|
||||||
|
end)
|
||||||
|
|
||||||
|
Trigger.OnEnteredProximityTrigger(SovietMiniBaseCam.CenterPosition, WDist.New(1024 * 14), 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
|
||||||
BIN
mods/ra/maps/allies-06b/map.bin
Normal file
BIN
mods/ra/maps/allies-06b/map.bin
Normal file
Binary file not shown.
BIN
mods/ra/maps/allies-06b/map.png
Normal file
BIN
mods/ra/maps/allies-06b/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
851
mods/ra/maps/allies-06b/map.yaml
Normal file
851
mods/ra/maps/allies-06b/map.yaml
Normal file
@@ -0,0 +1,851 @@
|
|||||||
|
MapFormat: 11
|
||||||
|
|
||||||
|
RequiresMod: ra
|
||||||
|
|
||||||
|
Title: 06b: Cripple Iron Curtain research
|
||||||
|
|
||||||
|
Author: Westwood Studios
|
||||||
|
|
||||||
|
Tileset: SNOW
|
||||||
|
|
||||||
|
MapSize: 128,128
|
||||||
|
|
||||||
|
Bounds: 20,34,83,78
|
||||||
|
|
||||||
|
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
|
||||||
|
Enemies: 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:
|
||||||
|
Actor245: sbag
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 69,83
|
||||||
|
Actor0: sbag
|
||||||
|
Location: 69,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor1: sbag
|
||||||
|
Location: 70,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor2: sbag
|
||||||
|
Location: 71,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor3: sbag
|
||||||
|
Location: 72,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor4: sbag
|
||||||
|
Location: 73,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor5: sbag
|
||||||
|
Location: 74,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor6: sbag
|
||||||
|
Location: 75,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor7: sbag
|
||||||
|
Location: 76,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor8: sbag
|
||||||
|
Location: 77,80
|
||||||
|
Owner: Neutral
|
||||||
|
Actor9: sbag
|
||||||
|
Location: 69,81
|
||||||
|
Owner: Neutral
|
||||||
|
Actor10: sbag
|
||||||
|
Location: 75,81
|
||||||
|
Owner: Neutral
|
||||||
|
Actor11: sbag
|
||||||
|
Location: 77,81
|
||||||
|
Owner: Neutral
|
||||||
|
Actor12: sbag
|
||||||
|
Location: 69,82
|
||||||
|
Owner: Neutral
|
||||||
|
Actor13: sbag
|
||||||
|
Location: 75,82
|
||||||
|
Owner: Neutral
|
||||||
|
Actor14: sbag
|
||||||
|
Location: 76,82
|
||||||
|
Owner: Neutral
|
||||||
|
Actor15: sbag
|
||||||
|
Location: 77,82
|
||||||
|
Owner: Neutral
|
||||||
|
Actor17: sbag
|
||||||
|
Location: 69,84
|
||||||
|
Owner: Neutral
|
||||||
|
Actor18: sbag
|
||||||
|
Location: 85,84
|
||||||
|
Owner: Neutral
|
||||||
|
Actor19: sbag
|
||||||
|
Location: 86,84
|
||||||
|
Owner: Neutral
|
||||||
|
Actor20: sbag
|
||||||
|
Location: 87,84
|
||||||
|
Owner: Neutral
|
||||||
|
Actor21: sbag
|
||||||
|
Location: 85,85
|
||||||
|
Owner: Neutral
|
||||||
|
Actor22: sbag
|
||||||
|
Location: 87,85
|
||||||
|
Owner: Neutral
|
||||||
|
Actor23: sbag
|
||||||
|
Location: 85,86
|
||||||
|
Owner: Neutral
|
||||||
|
Actor24: sbag
|
||||||
|
Location: 86,86
|
||||||
|
Owner: Neutral
|
||||||
|
Actor25: sbag
|
||||||
|
Location: 87,86
|
||||||
|
Owner: Neutral
|
||||||
|
Actor26: sbag
|
||||||
|
Location: 87,87
|
||||||
|
Owner: Neutral
|
||||||
|
Actor27: sbag
|
||||||
|
Location: 87,88
|
||||||
|
Owner: Neutral
|
||||||
|
Actor28: sbag
|
||||||
|
Location: 87,89
|
||||||
|
Owner: Neutral
|
||||||
|
Actor29: sbag
|
||||||
|
Location: 69,90
|
||||||
|
Owner: Neutral
|
||||||
|
Actor30: sbag
|
||||||
|
Location: 87,90
|
||||||
|
Owner: Neutral
|
||||||
|
Actor31: sbag
|
||||||
|
Location: 69,91
|
||||||
|
Owner: Neutral
|
||||||
|
Actor32: sbag
|
||||||
|
Location: 87,91
|
||||||
|
Owner: Neutral
|
||||||
|
Actor33: sbag
|
||||||
|
Location: 69,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor34: sbag
|
||||||
|
Location: 74,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor35: sbag
|
||||||
|
Location: 75,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor36: sbag
|
||||||
|
Location: 76,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor37: sbag
|
||||||
|
Location: 81,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor38: sbag
|
||||||
|
Location: 82,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor39: sbag
|
||||||
|
Location: 83,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor40: sbag
|
||||||
|
Location: 87,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor41: sbag
|
||||||
|
Location: 69,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor42: sbag
|
||||||
|
Location: 74,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor43: sbag
|
||||||
|
Location: 76,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor44: sbag
|
||||||
|
Location: 81,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor45: sbag
|
||||||
|
Location: 83,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor46: sbag
|
||||||
|
Location: 87,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor47: sbag
|
||||||
|
Location: 69,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor48: sbag
|
||||||
|
Location: 70,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor49: sbag
|
||||||
|
Location: 71,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor50: sbag
|
||||||
|
Location: 72,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor51: sbag
|
||||||
|
Location: 73,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor52: sbag
|
||||||
|
Location: 74,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor53: sbag
|
||||||
|
Location: 75,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor54: sbag
|
||||||
|
Location: 76,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor55: sbag
|
||||||
|
Location: 81,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor56: sbag
|
||||||
|
Location: 82,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor57: sbag
|
||||||
|
Location: 83,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor58: sbag
|
||||||
|
Location: 84,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor59: sbag
|
||||||
|
Location: 85,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor60: sbag
|
||||||
|
Location: 86,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor61: sbag
|
||||||
|
Location: 87,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor62: tc05
|
||||||
|
Location: 54,109
|
||||||
|
Owner: Neutral
|
||||||
|
Actor63: tc02
|
||||||
|
Location: 46,103
|
||||||
|
Owner: Neutral
|
||||||
|
Actor64: t08
|
||||||
|
Location: 43,103
|
||||||
|
Owner: Neutral
|
||||||
|
Actor65: t08
|
||||||
|
Location: 46,109
|
||||||
|
Owner: Neutral
|
||||||
|
Actor66: t01
|
||||||
|
Location: 52,102
|
||||||
|
Owner: Neutral
|
||||||
|
Actor67: t11
|
||||||
|
Location: 72,94
|
||||||
|
Owner: Neutral
|
||||||
|
Actor68: tc05
|
||||||
|
Location: 89,89
|
||||||
|
Owner: Neutral
|
||||||
|
Actor69: tc04
|
||||||
|
Location: 84,95
|
||||||
|
Owner: Neutral
|
||||||
|
Actor70: tc03
|
||||||
|
Location: 78,97
|
||||||
|
Owner: Neutral
|
||||||
|
Actor71: tc01
|
||||||
|
Location: 73,97
|
||||||
|
Owner: Neutral
|
||||||
|
Actor72: t17
|
||||||
|
Location: 76,95
|
||||||
|
Owner: Neutral
|
||||||
|
Actor73: t16
|
||||||
|
Location: 77,102
|
||||||
|
Owner: Neutral
|
||||||
|
Actor74: tc02
|
||||||
|
Location: 76,40
|
||||||
|
Owner: Neutral
|
||||||
|
Actor75: tc05
|
||||||
|
Location: 72,47
|
||||||
|
Owner: Neutral
|
||||||
|
Actor76: tc04
|
||||||
|
Location: 72,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor77: t08
|
||||||
|
Location: 75,49
|
||||||
|
Owner: Neutral
|
||||||
|
Actor78: t08
|
||||||
|
Location: 75,40
|
||||||
|
Owner: Neutral
|
||||||
|
Actor79: tc02
|
||||||
|
Location: 39,34
|
||||||
|
Owner: Neutral
|
||||||
|
Actor80: t08
|
||||||
|
Location: 38,36
|
||||||
|
Owner: Neutral
|
||||||
|
Actor81: tc05
|
||||||
|
Location: 93,43
|
||||||
|
Owner: Neutral
|
||||||
|
Actor82: tc03
|
||||||
|
Location: 93,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor83: tc01
|
||||||
|
Location: 91,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor84: t08
|
||||||
|
Location: 93,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor85: tc02
|
||||||
|
Location: 42,38
|
||||||
|
Owner: Neutral
|
||||||
|
Actor86: tc04
|
||||||
|
Location: 42,41
|
||||||
|
Owner: Neutral
|
||||||
|
Actor87: tc05
|
||||||
|
Location: 46,39
|
||||||
|
Owner: Neutral
|
||||||
|
Actor88: t17
|
||||||
|
Location: 46,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor89: tc01
|
||||||
|
Location: 51,104
|
||||||
|
Owner: Neutral
|
||||||
|
Actor90: t17
|
||||||
|
Location: 47,106
|
||||||
|
Owner: Neutral
|
||||||
|
Actor91: t16
|
||||||
|
Location: 53,107
|
||||||
|
Owner: Neutral
|
||||||
|
Actor92: t08
|
||||||
|
Location: 50,109
|
||||||
|
Owner: Neutral
|
||||||
|
Actor93: t08
|
||||||
|
Location: 51,106
|
||||||
|
Owner: Neutral
|
||||||
|
Actor94: t08
|
||||||
|
Location: 87,95
|
||||||
|
Owner: Neutral
|
||||||
|
Actor95: tc04
|
||||||
|
Location: 88,93
|
||||||
|
Owner: Neutral
|
||||||
|
Actor96: tc05
|
||||||
|
Location: 88,95
|
||||||
|
Owner: Neutral
|
||||||
|
Actor97: t01
|
||||||
|
Location: 36,110
|
||||||
|
Owner: Neutral
|
||||||
|
Actor98: t07
|
||||||
|
Location: 38,110
|
||||||
|
Owner: Neutral
|
||||||
|
Actor99: t07
|
||||||
|
Location: 34,100
|
||||||
|
Owner: Neutral
|
||||||
|
Actor100: t08
|
||||||
|
Location: 33,105
|
||||||
|
Owner: Neutral
|
||||||
|
Actor101: mine
|
||||||
|
Location: 42,108
|
||||||
|
Owner: Neutral
|
||||||
|
Actor102: mine
|
||||||
|
Location: 77,105
|
||||||
|
Owner: Neutral
|
||||||
|
Actor103: mine
|
||||||
|
Location: 84,104
|
||||||
|
Owner: Neutral
|
||||||
|
Actor104: mine
|
||||||
|
Location: 31,108
|
||||||
|
Owner: Neutral
|
||||||
|
Actor106: ftur
|
||||||
|
Location: 69,89
|
||||||
|
Owner: USSR
|
||||||
|
Actor107: ftur
|
||||||
|
Location: 69,85
|
||||||
|
Owner: USSR
|
||||||
|
Actor108: powr
|
||||||
|
Location: 80,87
|
||||||
|
Owner: USSR
|
||||||
|
Actor109: powr
|
||||||
|
Location: 78,85
|
||||||
|
Owner: USSR
|
||||||
|
Actor114: ftur
|
||||||
|
Location: 57,45
|
||||||
|
Owner: USSR
|
||||||
|
Actor115: ftur
|
||||||
|
Location: 62,45
|
||||||
|
Owner: USSR
|
||||||
|
Actor118: silo
|
||||||
|
Location: 68,35
|
||||||
|
Owner: USSR
|
||||||
|
Actor119: silo
|
||||||
|
Location: 71,34
|
||||||
|
Owner: USSR
|
||||||
|
Actor120: silo
|
||||||
|
Location: 67,34
|
||||||
|
Owner: USSR
|
||||||
|
Actor121: silo
|
||||||
|
Location: 72,35
|
||||||
|
Owner: USSR
|
||||||
|
Actor124: apwr
|
||||||
|
Location: 81,46
|
||||||
|
Owner: USSR
|
||||||
|
Actor125: apwr
|
||||||
|
Location: 58,59
|
||||||
|
Owner: USSR
|
||||||
|
Actor126: apwr
|
||||||
|
Location: 75,46
|
||||||
|
Owner: USSR
|
||||||
|
Actor127: apwr
|
||||||
|
Location: 78,46
|
||||||
|
Owner: USSR
|
||||||
|
Actor128: apwr
|
||||||
|
Location: 50,59
|
||||||
|
Owner: USSR
|
||||||
|
Actor131: kenn
|
||||||
|
Location: 52,45
|
||||||
|
Owner: USSR
|
||||||
|
Actor132: kenn
|
||||||
|
Location: 75,41
|
||||||
|
Owner: USSR
|
||||||
|
Actor133: tsla
|
||||||
|
Location: 77,64
|
||||||
|
Owner: USSR
|
||||||
|
Actor134: tsla
|
||||||
|
Location: 33,44
|
||||||
|
Owner: USSR
|
||||||
|
Actor135: tsla
|
||||||
|
Location: 72,60
|
||||||
|
Owner: USSR
|
||||||
|
Actor136: kenn
|
||||||
|
Location: 72,50
|
||||||
|
Owner: USSR
|
||||||
|
Actor137: brl3
|
||||||
|
Location: 52,91
|
||||||
|
Owner: USSR
|
||||||
|
Actor138: barl
|
||||||
|
Location: 52,90
|
||||||
|
Owner: USSR
|
||||||
|
Actor139: brl3
|
||||||
|
Location: 47,90
|
||||||
|
Owner: USSR
|
||||||
|
Actor140: barl
|
||||||
|
Location: 46,91
|
||||||
|
Owner: USSR
|
||||||
|
Actor143: barl
|
||||||
|
Location: 52,92
|
||||||
|
Owner: USSR
|
||||||
|
Actor146: barl
|
||||||
|
Location: 46,90
|
||||||
|
Owner: USSR
|
||||||
|
Actor148: 3tnk
|
||||||
|
Location: 49,91
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 127
|
||||||
|
Actor158: harv
|
||||||
|
Location: 78,37
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 223
|
||||||
|
Actor161: v2rl
|
||||||
|
Location: 85,55
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
Actor165: e1
|
||||||
|
Location: 75,93
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 3
|
||||||
|
Actor166: e1
|
||||||
|
Location: 82,93
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 3
|
||||||
|
Actor167: e1
|
||||||
|
Location: 86,85
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 2
|
||||||
|
Actor168: e1
|
||||||
|
Location: 76,81
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 1
|
||||||
|
Actor169: e2
|
||||||
|
Location: 75,93
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 2
|
||||||
|
Actor170: e2
|
||||||
|
Location: 82,93
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 2
|
||||||
|
Actor171: e2
|
||||||
|
Location: 86,85
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 3
|
||||||
|
Actor172: e2
|
||||||
|
Location: 76,81
|
||||||
|
Owner: USSR
|
||||||
|
SubCell: 3
|
||||||
|
Actor182: e1
|
||||||
|
Location: 54,105
|
||||||
|
Owner: Greece
|
||||||
|
SubCell: 1
|
||||||
|
Actor183: e1
|
||||||
|
Location: 53,106
|
||||||
|
Owner: Greece
|
||||||
|
Facing: 31
|
||||||
|
SubCell: 2
|
||||||
|
Actor184: e1
|
||||||
|
Location: 55,105
|
||||||
|
Owner: Greece
|
||||||
|
Facing: 223
|
||||||
|
SubCell: 4
|
||||||
|
Actor186: ss
|
||||||
|
Location: 67,62
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 127
|
||||||
|
Actor236: mine
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 88,35
|
||||||
|
Actor237: mine
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 40,52
|
||||||
|
Actor238: mine
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 28,36
|
||||||
|
Actor244: camera
|
||||||
|
Owner: USSR
|
||||||
|
Location: 49,107
|
||||||
|
SovietBaseAttack: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 49,87
|
||||||
|
SovietSideAttack1: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 66,93
|
||||||
|
SovietSideAttack2: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 66,82
|
||||||
|
AttackTank1: 3tnk
|
||||||
|
Location: 71,87
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
AttackTank2: 3tnk
|
||||||
|
Location: 80,84
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
AlliedEntry1: waypoint
|
||||||
|
Location: 49,111
|
||||||
|
Owner: Neutral
|
||||||
|
AlliedEntry2: waypoint
|
||||||
|
Location: 46,111
|
||||||
|
Owner: Neutral
|
||||||
|
AlliedEntry3: waypoint
|
||||||
|
Location: 52,111
|
||||||
|
Owner: Neutral
|
||||||
|
AlliedBoatEntry: waypoint
|
||||||
|
Location: 60,111
|
||||||
|
Owner: Neutral
|
||||||
|
UnitAStopLocation: waypoint
|
||||||
|
Location: 49,108
|
||||||
|
Owner: Neutral
|
||||||
|
UnitBStopLocation: waypoint
|
||||||
|
Location: 47,108
|
||||||
|
Owner: Neutral
|
||||||
|
UnitCStopLocation: waypoint
|
||||||
|
Location: 51,108
|
||||||
|
Owner: Neutral
|
||||||
|
AlliedBoatStop: waypoint
|
||||||
|
Location: 60,108
|
||||||
|
Owner: Neutral
|
||||||
|
WaterUnload1: waypoint
|
||||||
|
Location: 79,109
|
||||||
|
Owner: Neutral
|
||||||
|
WaterUnload2: waypoint
|
||||||
|
Location: 26,107
|
||||||
|
Owner: Neutral
|
||||||
|
WaterUnload3: waypoint
|
||||||
|
Location: 83,82
|
||||||
|
Owner: Neutral
|
||||||
|
WaterUnloadEntry1: waypoint
|
||||||
|
Location: 102,108
|
||||||
|
Owner: Neutral
|
||||||
|
WaterUnloadEntry2: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 20,68
|
||||||
|
WaterUnloadEntry3: waypoint
|
||||||
|
Location: 102,53
|
||||||
|
Owner: Neutral
|
||||||
|
DefaultCameraPosition: waypoint
|
||||||
|
Location: 54,107
|
||||||
|
Owner: Neutral
|
||||||
|
SovietMiniBaseCam: waypoint
|
||||||
|
Location: 77,87
|
||||||
|
Owner: Neutral
|
||||||
|
SovietDefenseCam: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 49,91
|
||||||
|
TechCam1: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 55,58
|
||||||
|
TechCam2: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 91,43
|
||||||
|
Weapcam: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 53,47
|
||||||
|
TechLab1: stek
|
||||||
|
Location: 54,57
|
||||||
|
Owner: USSR
|
||||||
|
TechLab2: stek
|
||||||
|
Location: 90,42
|
||||||
|
Owner: USSR
|
||||||
|
Airfield1: afld
|
||||||
|
Location: 60,48
|
||||||
|
Owner: USSR
|
||||||
|
Airfield2: afld
|
||||||
|
Location: 58,41
|
||||||
|
Owner: USSR
|
||||||
|
WarFactory: weap
|
||||||
|
Location: 52,46
|
||||||
|
Owner: USSR
|
||||||
|
WeaponMeetPoint: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 65,46
|
||||||
|
SovietConyard: fact
|
||||||
|
Location: 70,54
|
||||||
|
Owner: USSR
|
||||||
|
Refinery: proc
|
||||||
|
Location: 68,35
|
||||||
|
Owner: USSR
|
||||||
|
Radar: dome
|
||||||
|
Location: 75,86
|
||||||
|
Owner: USSR
|
||||||
|
Radar2: dome
|
||||||
|
Location: 59,44
|
||||||
|
Owner: USSR
|
||||||
|
SovietBarracks: barr
|
||||||
|
Location: 73,83
|
||||||
|
Owner: USSR
|
||||||
|
SubPen: spen
|
||||||
|
Location: 72,62
|
||||||
|
Owner: USSR
|
||||||
|
BadGuy1: e1
|
||||||
|
Location: 48,95
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubCell: 4
|
||||||
|
BadGuy2: e1
|
||||||
|
Location: 50,98
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubCell: 1
|
||||||
|
BadGuy3: e1
|
||||||
|
Location: 50,96
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubCell: 1
|
||||||
|
BadGuy4: e1
|
||||||
|
Location: 48,97
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubCell: 4
|
||||||
|
Patrol1Sub: ss
|
||||||
|
Location: 96,58
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 127
|
||||||
|
SubPatrol1_1: waypoint
|
||||||
|
Location: 96,58
|
||||||
|
Owner: Neutral
|
||||||
|
SubPatrol1_2: waypoint
|
||||||
|
Location: 86,77
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol2Sub: ss
|
||||||
|
Location: 39,70
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubPatrol2_1: waypoint
|
||||||
|
Location: 42,63
|
||||||
|
Owner: Neutral
|
||||||
|
SubPatrol2_2: waypoint
|
||||||
|
Location: 22,72
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol3Sub: ss
|
||||||
|
Location: 22,64
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 191
|
||||||
|
SubPatrol3_1: waypoint
|
||||||
|
Location: 41,75
|
||||||
|
Owner: Neutral
|
||||||
|
SubPatrol3_2: waypoint
|
||||||
|
Location: 22,64
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol4Sub: ss
|
||||||
|
Location: 79,51
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 191
|
||||||
|
SubPatrol4_1: waypoint
|
||||||
|
Location: 79,51
|
||||||
|
Owner: Neutral
|
||||||
|
SubPatrol4_2: waypoint
|
||||||
|
Location: 102,51
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol5Sub: ss
|
||||||
|
Owner: USSR
|
||||||
|
Location: 94,75
|
||||||
|
Facing: 125
|
||||||
|
SubPatrol5_1: waypoint
|
||||||
|
Location: 94,94
|
||||||
|
Owner: Neutral
|
||||||
|
SubPatrol5_2: waypoint
|
||||||
|
Location: 94,75
|
||||||
|
Owner: Neutral
|
||||||
|
Mammoth1: 4tnk
|
||||||
|
Location: 69,43
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
Mammoth2: 4tnk
|
||||||
|
Location: 43,40
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
Mammoth3: 4tnk
|
||||||
|
Location: 54,37
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
TnkPatrol1: waypoint
|
||||||
|
Location: 69,43
|
||||||
|
Owner: Neutral
|
||||||
|
TnkPatrol2: waypoint
|
||||||
|
Location: 69,55
|
||||||
|
Owner: Neutral
|
||||||
|
TnkPatrol3: waypoint
|
||||||
|
Location: 56,55
|
||||||
|
Owner: Neutral
|
||||||
|
TnkPatrol4: waypoint
|
||||||
|
Location: 41,44
|
||||||
|
Owner: Neutral
|
||||||
|
TnkPatrol5: waypoint
|
||||||
|
Location: 42,37
|
||||||
|
Owner: Neutral
|
||||||
|
TnkPatrol6: waypoint
|
||||||
|
Location: 62,37
|
||||||
|
Owner: Neutral
|
||||||
|
DefenseFlame1: ftur
|
||||||
|
Location: 51,91
|
||||||
|
Owner: USSR
|
||||||
|
DefenseFlame2: ftur
|
||||||
|
Location: 47,91
|
||||||
|
Owner: USSR
|
||||||
|
DefBrl1: brl3
|
||||||
|
Location: 51,90
|
||||||
|
Owner: USSR
|
||||||
|
DefBrl2: brl3
|
||||||
|
Location: 46,89
|
||||||
|
Owner: USSR
|
||||||
|
Patrol_1_e1: e1
|
||||||
|
Location: 40,44
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
SubCell: 1
|
||||||
|
Patrol_1_dog: dog
|
||||||
|
Location: 40,43
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
SubCell: 1
|
||||||
|
Patrol_2_e1: e1
|
||||||
|
Location: 41,37
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
SubCell: 1
|
||||||
|
Patrol_2_dog: dog
|
||||||
|
Location: 41,37
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
SubCell: 3
|
||||||
|
Patrol_3_e1: e1
|
||||||
|
Location: 84,43
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
SubCell: 2
|
||||||
|
Patrol_3_dog: dog
|
||||||
|
Location: 86,43
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 63
|
||||||
|
SubCell: 0
|
||||||
|
Patrol_4_e1: e1
|
||||||
|
Location: 67,51
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubCell: 1
|
||||||
|
Patrol_4_dog: dog
|
||||||
|
Location: 66,50
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubCell: 3
|
||||||
|
Patrol1: waypoint
|
||||||
|
Location: 85,43
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol2: waypoint
|
||||||
|
Location: 66,50
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol3: waypoint
|
||||||
|
Location: 53,55
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol4: waypoint
|
||||||
|
Location: 46,49
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol5: waypoint
|
||||||
|
Location: 40,44
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol6: waypoint
|
||||||
|
Location: 41,37
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol7: waypoint
|
||||||
|
Location: 54,37
|
||||||
|
Owner: Neutral
|
||||||
|
Patrol8: waypoint
|
||||||
|
Location: 71,43
|
||||||
|
Owner: Neutral
|
||||||
|
tank1: 3tnk
|
||||||
|
Location: 81,56
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
tank2: 3tnk
|
||||||
|
Location: 77,54
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
tank3: 3tnk
|
||||||
|
Location: 64,43
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 159
|
||||||
|
tank4: 3tnk
|
||||||
|
Location: 45,43
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 127
|
||||||
|
tank5: 3tnk
|
||||||
|
Location: 51,56
|
||||||
|
Owner: USSR
|
||||||
|
tank6: v2rl
|
||||||
|
Location: 46,41
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
tank7: v2rl
|
||||||
|
Location: 62,42
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 159
|
||||||
|
BeachDog: dog
|
||||||
|
Location: 75,54
|
||||||
|
Owner: USSR
|
||||||
|
Facing: 95
|
||||||
|
SubCell: 1
|
||||||
|
BeachPatrol1: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 68,59
|
||||||
|
BeachPatrol2: waypoint
|
||||||
|
Owner: Neutral
|
||||||
|
Location: 75,54
|
||||||
|
BeachPatrol3: waypoint
|
||||||
|
Location: 77,58
|
||||||
|
Owner: Neutral
|
||||||
|
|
||||||
|
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||||
93
mods/ra/maps/allies-06b/rules.yaml
Normal file
93
mods/ra/maps/allies-06b/rules.yaml
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
Player:
|
||||||
|
PlayerResources:
|
||||||
|
DefaultCash: 5000
|
||||||
|
|
||||||
|
World:
|
||||||
|
LuaScript:
|
||||||
|
Scripts: allies06b.lua, allies06b-AI.lua
|
||||||
|
MissionData:
|
||||||
|
BriefingVideo: ally6.vqa
|
||||||
|
WinVideo: allymorf.vqa
|
||||||
|
LossVideo: overrun.vqa
|
||||||
|
StartVideo: mcv.vqa
|
||||||
|
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.
|
||||||
|
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
|
||||||
|
|
||||||
|
3TNK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~vehicles.soviet
|
||||||
|
|
||||||
|
ARTY:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
MCV:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
TRUK:
|
||||||
|
Buildable:
|
||||||
|
Prerequisites: ~disabled
|
||||||
|
|
||||||
|
TECH.CAM:
|
||||||
|
Inherits: CAMERA
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 4c0
|
||||||
|
Type: CenterPosition
|
||||||
|
|
||||||
|
STEK:
|
||||||
|
Targetable:
|
||||||
|
TargetTypes: Ground, Water, Structure, C4, DetonateAttack, SpyInfiltrate
|
||||||
|
|
||||||
|
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
|
||||||
@@ -6,6 +6,7 @@ Allied Campaign:
|
|||||||
./mods/ra/maps/allies-04
|
./mods/ra/maps/allies-04
|
||||||
./mods/ra/maps/allies-05a
|
./mods/ra/maps/allies-05a
|
||||||
./mods/ra/maps/allies-06a
|
./mods/ra/maps/allies-06a
|
||||||
|
./mods/ra/maps/allies-06b
|
||||||
Soviet Campaign:
|
Soviet Campaign:
|
||||||
./mods/ra/maps/soviet-01
|
./mods/ra/maps/soviet-01
|
||||||
./mods/ra/maps/soviet-02a
|
./mods/ra/maps/soviet-02a
|
||||||
|
|||||||
Reference in New Issue
Block a user