@@ -30,12 +30,7 @@ Reinforcements.PerformHelicopterExtraction = function(owner, helicopterName, pas
|
||||
Actor.Turn(heli, 0)
|
||||
Actor.HeliLand(heli, true)
|
||||
Actor.WaitFor(heli, function()
|
||||
for i, passenger in ipairs(passengers) do
|
||||
if not cargo.Passengers:Contains(passenger) then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
return Utils.All(passengers, function(passenger) return cargo.Passengers:Contains(passenger) end)
|
||||
end)
|
||||
Actor.Wait(heli, 125)
|
||||
Actor.HeliFly(heli, exitPosition)
|
||||
@@ -45,10 +40,10 @@ end
|
||||
|
||||
Reinforcements.Reinforce = function(owner, reinforcementNames, enterLocation, rallyPointLocation, interval, onCreateFunc)
|
||||
local facing = { Map.GetFacing(CPos.op_Subtraction(rallyPointLocation, enterLocation), 0), "Int32" }
|
||||
local ret = { }
|
||||
for i = 1, #reinforcementNames do
|
||||
local reinforcement = Actor.Create(reinforcementNames[i], { AddToWorld = false, Owner = owner, Location = enterLocation, Facing = facing })
|
||||
table.insert(ret, reinforcement)
|
||||
local reinforcements = { }
|
||||
for i, reinforcementName in ipairs(reinforcementNames) do
|
||||
local reinforcement = Actor.Create(reinforcementName, { AddToWorld = false, Owner = owner, Location = enterLocation, Facing = facing })
|
||||
reinforcements[i] = reinforcement
|
||||
OpenRA.RunAfterDelay((i - 1) * interval, function()
|
||||
World:Add(reinforcement)
|
||||
Actor.MoveNear(reinforcement, rallyPointLocation, 2)
|
||||
@@ -57,5 +52,5 @@ Reinforcements.Reinforce = function(owner, reinforcementNames, enterLocation, ra
|
||||
end
|
||||
end)
|
||||
end
|
||||
return ret
|
||||
return reinforcements
|
||||
end
|
||||
@@ -8,6 +8,7 @@ SupportPowers.Parabomb = function(owner, planeName, enterLocation, bombLocation)
|
||||
Actor.Fly(plane, bombLocation.CenterPosition)
|
||||
Actor.FlyOffMap(plane)
|
||||
Actor.RemoveSelf(plane)
|
||||
return plane
|
||||
end
|
||||
|
||||
SupportPowers.Paradrop = function(owner, planeName, passengerNames, enterLocation, dropLocation)
|
||||
@@ -17,7 +18,11 @@ SupportPowers.Paradrop = function(owner, planeName, passengerNames, enterLocatio
|
||||
Actor.FlyAttackCell(plane, dropLocation)
|
||||
Actor.Trait(plane, "ParaDrop"):SetLZ(dropLocation)
|
||||
local cargo = Actor.Trait(plane, "Cargo")
|
||||
local passengers = { }
|
||||
for i, passengerName in ipairs(passengerNames) do
|
||||
cargo:Load(plane, Actor.Create(passengerName, { AddToWorld = false, Owner = owner }))
|
||||
local passenger = Actor.Create(passengerName, { AddToWorld = false, Owner = owner })
|
||||
passengers[i] = passenger
|
||||
cargo:Load(plane, passenger)
|
||||
end
|
||||
return plane, passengers
|
||||
end
|
||||
Reference in New Issue
Block a user