Skip to content

Commit

Permalink
Port missions to the new Paratroopers API.
Browse files Browse the repository at this point in the history
  • Loading branch information
pchote authored and Mailaender committed Feb 29, 2020
1 parent c0587cc commit d73ed76
Show file tree
Hide file tree
Showing 21 changed files with 138 additions and 81 deletions.
17 changes: 11 additions & 6 deletions mods/ra/maps/allies-03a/allies03a.lua
Expand Up @@ -72,14 +72,19 @@ end

SendUSSRParadrops = function()
local powerproxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })
local unitsA = powerproxy.SendParatroopers(ParadropLZ.CenterPosition, false, 128 + 32)
local unitsB = powerproxy.SendParatroopers(ParadropLZ.CenterPosition, false, 128 - 32)

Utils.Do(unitsA, function(unit)
IdleHunt(unit)
local aircraftA = powerproxy.ActivateParatroopers(ParadropLZ.CenterPosition, 128 + 32)
Utils.Do(aircraftA, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)
Utils.Do(unitsB, function(unit)
IdleHunt(unit)

local aircraftB = powerproxy.ActivateParatroopers(ParadropLZ.CenterPosition, 128 - 32)
Utils.Do(aircraftB, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

powerproxy.Destroy()
Expand Down
8 changes: 5 additions & 3 deletions mods/ra/maps/allies-03b/allies03b.lua
Expand Up @@ -95,9 +95,11 @@ end
SendUSSRParadrops = function(facing, dropzone)
local paraproxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })

local units = paraproxy.SendParatroopers(dropzone.CenterPosition, false, facing)
Utils.Do(units, function(unit)
IdleHunt(unit)
local aircraft = paraproxy.ActivateParatroopers(dropzone.CenterPosition, facing)
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

paraproxy.Destroy()
Expand Down
8 changes: 5 additions & 3 deletions mods/ra/maps/allies-04/allies04.lua
Expand Up @@ -57,9 +57,11 @@ ParadropLZs = { ParadropPoint1.CenterPosition, ParadropPoint2.CenterPosition, Pa
Paradropped = 0
Paradrop = function()
Trigger.AfterDelay(Utils.RandomInteger(ParadropDelay[1], ParadropDelay[2]), function()
local units = PowerProxy.SendParatroopers(Utils.Random(ParadropLZs))
Utils.Do(units, function(unit)
Trigger.OnAddedToWorld(unit, IdleHunt)
local aircraft = PowerProxy.ActivateParatroopers(Utils.Random(ParadropLZs))
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

Paradropped = Paradropped + 1
Expand Down
2 changes: 1 addition & 1 deletion mods/ra/maps/allies-06a/allies06a.lua
Expand Up @@ -143,7 +143,7 @@ InfiltrateTechCenter = function()

local Proxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })
Utils.Do(ParadropWaypoints[Map.LobbyOption("difficulty")], function(waypoint)
Proxy.SendParatroopers(waypoint.CenterPosition, false, Facing.South)
Proxy.ActivateParatroopers(waypoint.CenterPosition, Facing.South)
end)
Proxy.Destroy()
end)
Expand Down
8 changes: 5 additions & 3 deletions mods/ra/maps/allies-07/allies07-AI.lua
Expand Up @@ -37,9 +37,11 @@ Paradropped = 0

Paradrop = function()
Trigger.AfterDelay(Utils.RandomInteger(ParadropDelay[1], ParadropDelay[2]), function()
local units = PowerProxy.SendParatroopers(Utils.Random(ParadropLZs))
Utils.Do(units, function(unit)
Trigger.OnAddedToWorld(unit, IdleHunt)
local aircraft = PowerProxy.ActivateParatroopers(Utils.Random(ParadropLZs))
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

Paradropped = Paradropped + 1
Expand Down
9 changes: 5 additions & 4 deletions mods/ra/maps/allies-08a/allies08a-AI.lua
Expand Up @@ -189,11 +189,12 @@ WTransWaves = function()
end

Paradrop = function()
local units = PowerProxy.SendParatroopers(Utils.Random(ParadropLZs))
Utils.Do(units, function(unit)
Trigger.OnAddedToWorld(unit, IdleHunt)
local aircraft = PowerProxy.ActivateParatroopers(Utils.Random(ParadropLZs))
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

Trigger.AfterDelay(DateTime.Minutes(ParadropDelays), Paradrop)
end

Expand Down
8 changes: 5 additions & 3 deletions mods/ra/maps/allies-08b/allies08b-AI.lua
Expand Up @@ -188,9 +188,11 @@ WTransWaves = function()
end

Paradrop = function()
local units = PowerProxy.SendParatroopers(Utils.Random(ParadropLZs))
Utils.Do(units, function(unit)
Trigger.OnAddedToWorld(unit, IdleHunt)
local aircraft = PowerProxy.ActivateParatroopers(Utils.Random(ParadropLZs))
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

Trigger.AfterDelay(DateTime.Minutes(ParadropDelays), Paradrop)
Expand Down
8 changes: 5 additions & 3 deletions mods/ra/maps/desert-shellmap/desert-shellmap.lua
Expand Up @@ -119,10 +119,12 @@ end

ParadropSovietUnits = function()
local lz = Utils.Random(ParadropWaypoints)
local units = powerproxy.SendParatroopers(lz.CenterPosition)
local aircraft = powerproxy.ActivateParatroopers(lz.CenterPosition)

Utils.Do(units, function(a)
BindActorTriggers(a)
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
BindActorTriggers(p)
end)
end)

Trigger.AfterDelay(DateTime.Seconds(35), ParadropSovietUnits)
Expand Down
24 changes: 16 additions & 8 deletions mods/ra/maps/evacuation/evacuation.lua
Expand Up @@ -72,6 +72,14 @@ ReinforcementsDelay = DateTime.Minutes(16)
ReinforcementsUnits = { "2tnk", "2tnk", "2tnk", "2tnk", "2tnk", "2tnk", "1tnk", "1tnk", "jeep", "e1",
"e1", "e1", "e1", "e3", "e3", "mcv", "truk", "truk", "truk", "truk", "truk", "truk" }

IdleHunt = function(actor)
Trigger.OnIdle(actor, function(a)
if a.IsInWorld then
a.Hunt()
end
end)
end

SpawnAlliedReinforcements = function()
if allies2.IsLocalPlayer then
UserInterface.SetMissionText("")
Expand Down Expand Up @@ -115,16 +123,16 @@ end
SendParatroopers = function()
Utils.Do(Paratroopers, function(para)
local proxy = Actor.Create(para.proxy, false, { Owner = soviets })
local units = proxy.SendParatroopersFrom(para.entry, para.drop)
proxy.Destroy()

Utils.Do(units, function(unit)
Trigger.OnIdle(unit, function(a)
if a.IsInWorld then
a.Hunt()
end
local target = Map.CenterOfCell(para.drop)
local dir = target - Map.CenterOfCell(para.entry)

local aircraft = proxy.ActivateParatroopers(target, dir.facing)
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)
proxy.Destroy()
end)
end

Expand Down
2 changes: 1 addition & 1 deletion mods/ra/maps/exodus/exodus.lua
Expand Up @@ -185,7 +185,7 @@ SendSovietParadrop = function()
local lz = Map.CenterOfCell(randomParadropCell)

local powerproxy = Actor.Create("powerproxy.paratroopers", false, { Owner = soviets })
powerproxy.SendParatroopers(lz)
powerproxy.ActivateParatroopers(lz)
powerproxy.Destroy()

Trigger.AfterDelay(sovietParadropTicks, SendSovietParadrop)
Expand Down
18 changes: 12 additions & 6 deletions mods/ra/maps/fort-lonestar/fort-lonestar.lua
Expand Up @@ -91,6 +91,14 @@ if Map.LobbyOption("difficulty") == "tough" or Map.LobbyOption("difficulty") ==
Waves[11] = { delay = 1500, units = { Vehicles, Infantry, Patrol, Patrol, Patrol, Infantry, LongRange, Tank, Boss, Infantry, Infantry, Patrol } }
end

IdleHunt = function(actor)
Trigger.OnIdle(actor, function(a)
if a.IsInWorld then
a.Hunt()
end
end)
end

SendUnits = function(entryCell, unitTypes, targetCell, extraData)
Reinforcements.Reinforce(soviets, unitTypes, { entryCell }, 40, function(a)
if not a.HasProperty("AttackMove") then
Expand Down Expand Up @@ -138,12 +146,10 @@ SendWave = function()

if (Wave < #Waves) then
if Utils.RandomInteger(1, 100) < ParaChance then
local units = ParaProxy.SendParatroopers(Utils.Random(ParadropWaypoints).CenterPosition)
Utils.Do(units, function(unit)
Trigger.OnIdle(unit, function(a)
if a.IsInWorld then
a.Hunt()
end
local aircraft = ParaProxy.ActivateParatroopers(Utils.Random(ParadropWaypoints).CenterPosition)
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

Expand Down
19 changes: 12 additions & 7 deletions mods/ra/maps/intervention/intervention.lua
Expand Up @@ -62,15 +62,20 @@ GroundPatrolUnits =
{ "3tnk", "3tnk" }
}

IdleHunt = function(actor)
Trigger.OnIdle(actor, function(a)
if a.IsInWorld then
a.Hunt()
end
end)
end

ParadropSovietUnits = function()
local powerproxy = Actor.Create("powerproxy.paratroopers", false, { Owner = soviets })
local units = powerproxy.SendParatroopers(MCVDeployLocation.CenterPosition, false, 256 - 53)

Utils.Do(units, function(a)
Trigger.OnIdle(a, function(actor)
if actor.IsInWorld then
actor.Hunt()
end
local aircraft = powerproxy.ActivateParatroopers(MCVDeployLocation.CenterPosition, 256 - 53)
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)

Expand Down
4 changes: 2 additions & 2 deletions mods/ra/maps/soviet-02a/soviet02a.lua
Expand Up @@ -123,8 +123,8 @@ WorldLoaded = function()
-- When destroying the allied radar dome or the refinery drop 2 badgers with 5 grenadiers each
Trigger.OnAnyKilled({ AlliedDome, AlliedProc }, function()
local powerproxy = Actor.Create("powerproxy.paratroopers", true, { Owner = player })
powerproxy.SendParatroopers(ParadropLZ.CenterPosition, false, Facing.South)
powerproxy.SendParatroopers(ParadropLZ.CenterPosition, false, Facing.SouthEast)
powerproxy.ActivateParatroopers(ParadropLZ.CenterPosition, Facing.South)
powerproxy.ActivateParatroopers(ParadropLZ.CenterPosition, Facing.SouthEast)
powerproxy.Destroy()
end)
end
Expand Down
6 changes: 3 additions & 3 deletions mods/ra/maps/soviet-02b/soviet02b.lua
Expand Up @@ -17,16 +17,16 @@ EnemyBaseEntranceShroudTrigger = { CPos.New(80, 73), CPos.New(81, 73), CPos.New(

SendUSSRParadrops = function()
paraproxy1 = Actor.Create("powerproxy.paratroopers", false, { Owner = player })
paraproxy1.SendParatroopers(ParachuteBaseEntrance.CenterPosition, false, Facing.North)
paraproxy1.ActivateParatroopers(ParachuteBaseEntrance.CenterPosition, Facing.North)
paraproxy1.Destroy()
end

SendUSSRParadropsBase = function()
paraproxy2 = Actor.Create("powerproxy.paratroopers2", false, { Owner = player })
paraproxy2.SendParatroopers(ParachuteBase1.CenterPosition, false, Facing.East)
paraproxy2.ActivateParatroopers(ParachuteBase1.CenterPosition, Facing.East)
paraproxy2.Destroy()
paraproxy3 = Actor.Create("powerproxy.paratroopers3", false, { Owner = player })
paraproxy3.SendParatroopers(ParachuteBase2.CenterPosition, false, Facing.East)
paraproxy3.ActivateParatroopers(ParachuteBase2.CenterPosition, Facing.East)
paraproxy3.Destroy()
end

Expand Down
2 changes: 1 addition & 1 deletion mods/ra/maps/soviet-03/soviet03.lua
Expand Up @@ -96,7 +96,7 @@ end

SendUSSRParadrops = function()
paraproxy = Actor.Create("powerproxy.paratroopers", false, { Owner = player })
paraproxy.SendParatroopers(ReinforcementDropOff.CenterPosition, false, 0)
paraproxy.ActivateParatroopers(ReinforcementDropOff.CenterPosition, 0)
paraproxy.Destroy()
end

Expand Down
4 changes: 2 additions & 2 deletions mods/ra/maps/soviet-05/soviet05-reinforcements_teams.lua
Expand Up @@ -46,13 +46,13 @@ TanksGGWaypoints = { PatrolPoint2, BetweenBasesPoint, PrepGGArmyPoint }

Para = function()
local powerproxy = Actor.Create("powerproxy.paratroopers", false, { Owner = player })
local units = powerproxy.SendParatroopers(ParaPoint.CenterPosition, false, 28)
powerproxy.ActivateParatroopers(ParaPoint.CenterPosition, 28)
powerproxy.Destroy()
end

Para2 = function()
local powerproxy = Actor.Create("powerproxy.paratroopers", false, { Owner = player })
local units = powerproxy.SendParatroopers(USSRExpansionPoint.CenterPosition, false, 28)
powerproxy.ActivateParatroopers(USSRExpansionPoint.CenterPosition, 28)
powerproxy.Destroy()
end

Expand Down
2 changes: 1 addition & 1 deletion mods/ra/maps/soviet-08a/soviet08a.lua
Expand Up @@ -53,7 +53,7 @@ end
AddParadropReinforcementTrigger = function()
Trigger.AfterDelay(DateTime.Seconds(90), function()
Media.PlaySpeechNotification(ussr, "ReinforcementsArrived")
scripteddrop.SendParatroopers(ScriptedParadrop.CenterPosition, false, 10)
scripteddrop.ActivateParatroopers(ScriptedParadrop.CenterPosition, 10)
end)
end

Expand Down
24 changes: 14 additions & 10 deletions mods/ra/maps/soviet-soldier-volkov-n-chitzkoi/scu35ea.lua
Expand Up @@ -37,6 +37,14 @@ TanyaTrigger = { CPos.New(59, 43), CPos.New(60, 43), CPos.New(61, 43), CPos.New(
GreeceHarvestersAreDead = false
AlloyFacilityDestroyed = false

IdleHunt = function(actor)
Trigger.OnIdle(actor, function(a)
if a.IsInWorld then
a.Hunt()
end
end)
end

WorldLoaded = function()

--Players Setup
Expand Down Expand Up @@ -324,20 +332,16 @@ WorldLoaded = function()
Trigger.OnEnteredFootprint(ParaTrigger, function(unit, id)
if unit.Owner == player then
local powerproxy = Actor.Create("powerproxy.pararifles", true, { Owner = greece })
local paratroopers = powerproxy.SendParatroopers(waypoint89.CenterPosition, false, Facing.South)
local aircraft = powerproxy.ActivateParatroopers(waypoint89.CenterPosition, Facing.South)
local prtcamera = Actor.Create("camera", true, { Owner = player, Location = waypoint89.Location })
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)
Trigger.AfterDelay(DateTime.Seconds(10), function()
if prtcamera.IsInWorld then prtcamera.Destroy() end
end)
Utils.Do(paratroopers, function(unit)
if not unit.IsDead then
Trigger.OnIdle(unit, function(unit)
if unit.IsInWorld then
unit.Hunt()
end
end)
end
end)
if Map.LobbyOption("difficulty") == "hard" and not RiflemanGuard01.IsDead then
Trigger.ClearAll(RiflemanGuard01)
ProduceInfantry() --Greece will start infantry production right away if the difficulty is set to hard
Expand Down
21 changes: 13 additions & 8 deletions mods/ra/maps/survival01/survival01.lua
Expand Up @@ -182,14 +182,19 @@ FinishTimer = function()
Trigger.AfterDelay(DateTime.Seconds(10), function() UserInterface.SetMissionText("") end)
end

SendSovietParadrops = function(table)
local units = powerproxy.SendParatroopers(table[2].CenterPosition, false, table[1])
IdleHunt = function(unit)
Trigger.OnIdle(unit, function(a)
if a.IsInWorld then
a.Hunt()
end
end)
end

Utils.Do(units, function(unit)
Trigger.OnIdle(unit, function(a)
if a.IsInWorld then
a.Hunt()
end
SendSovietParadrops = function(table)
local aircraft = powerproxy.ActivateParatroopers(table[2].CenterPosition, table[1])
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)
end
Expand Down Expand Up @@ -285,7 +290,7 @@ end

DropAlliedArtillery = function(facing, dropzone)
local proxy = Actor.Create("powerproxy.allied", true, { Owner = allies })
proxy.SendParatroopers(dropzone, false, facing)
proxy.ActivateParatroopers(dropzone, facing)
proxy.Destroy()
end

Expand Down
8 changes: 6 additions & 2 deletions mods/ra/maps/survival02/survival02.lua
Expand Up @@ -129,8 +129,12 @@ end

SendSovietParadrops = function(table)
local paraproxy = Actor.Create(table.type, false, { Owner = soviets })
units = paraproxy.SendParatroopers(table.target.CenterPosition)
Utils.Do(units, function(unit) IdleHunt(unit) end)
local aircraft = paraproxy.ActivateParatroopers(table.target.CenterPosition)
Utils.Do(aircraft, function(a)
Trigger.OnPassengerExited(a, function(t, p)
IdleHunt(p)
end)
end)
paraproxy.Destroy()
end

Expand Down

0 comments on commit d73ed76

Please sign in to comment.