Fix breakage of the old Lua API due to recent changes
Specifically, the CPos::CenterPosition -> Map::CenterOfCell rename (#5758), as well as the additional argument to Paradrop::SetLZ (#5695).
This commit is contained in:
@@ -461,5 +461,11 @@ namespace OpenRA.Mods.RA.Scripting
|
||||
{
|
||||
return Util.ExpandFootprint(cells.Values.Cast<CPos>(), allowDiagonal);
|
||||
}
|
||||
|
||||
[LuaGlobal]
|
||||
public WPos CenterOfCell(CPos position)
|
||||
{
|
||||
return world.Map.CenterOfCell(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ end
|
||||
AttackPlayer = function()
|
||||
if not Actor.IsDead(NodBarracks) then
|
||||
Production.BuildWithPerFactoryQueue(NodBarracks, "e1", 5)
|
||||
attackSquad = Team.New(Map.FindUnitsInCircle(enemy, NodBarracks.location, 3))
|
||||
attackSquad = Team.New(Map.FindUnitsInCircle(enemy, NodBarracks, 3))
|
||||
Team.Do(attackSquad, function(unit)
|
||||
Actor.AttackMove(unit, waypoint9.location)
|
||||
Actor.Hunt(unit)
|
||||
@@ -38,4 +38,4 @@ Tick = function()
|
||||
if Mission.RequiredUnitsAreDestroyed(enemy) then
|
||||
MissionAccomplished()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -22,7 +22,7 @@ HeliAction = function(heliActor, team)
|
||||
Actor.AfterMove(heliActor)
|
||||
Actor.UnloadCargo(heliActor, true)
|
||||
Actor.Wait(heliActor, Utils.Seconds(2))
|
||||
Actor.ScriptedMove(heliActor, NodHeliEntry)
|
||||
Actor.ScriptedMove(heliActor, NodHeliEntry.Location)
|
||||
Actor.RemoveSelf(heliActor)
|
||||
|
||||
Team.Do(team, function(actor)
|
||||
|
||||
@@ -18,7 +18,7 @@ HeliAction = function(heliActor, team)
|
||||
Actor.AfterMove(heliActor)
|
||||
Actor.UnloadCargo(heliActor, true)
|
||||
Actor.Wait(heliActor, Utils.Seconds(2))
|
||||
Actor.ScriptedMove(heliActor, HeliEntry)
|
||||
Actor.ScriptedMove(heliActor, HeliEntry.Location)
|
||||
Actor.RemoveSelf(heliActor)
|
||||
|
||||
Team.Do(team, function(actor)
|
||||
|
||||
@@ -29,7 +29,7 @@ end
|
||||
|
||||
Actor.ScriptedMove = function(actor, location)
|
||||
if Actor.HasTrait(actor, "Helicopter") then
|
||||
Internal.HeliFlyToPos(actor, location.CenterPosition)
|
||||
Internal.HeliFlyToPos(actor, Map.CenterOfCell(location))
|
||||
else
|
||||
actor:QueueActivity(OpenRA.New("Move", { location }))
|
||||
end
|
||||
|
||||
@@ -70,6 +70,10 @@ Map.ExpandFootprint = function(cells, allowDiagonal)
|
||||
return Utils.EnumerableToTable(Internal.ExpandFootprint(cells, allowDiagonal))
|
||||
end
|
||||
|
||||
Map.CenterOfCell = function(position)
|
||||
return Internal.CenterOfCell(position)
|
||||
end
|
||||
|
||||
CPos.New = function(x, y)
|
||||
return OpenRA.New("CPos", { { x, "Int32" }, { y, "Int32" } })
|
||||
end
|
||||
@@ -102,4 +106,4 @@ end
|
||||
|
||||
WRange.FromCells = function(cells)
|
||||
return WRange.New(cells * 1024)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,7 +2,7 @@ Reinforcements = { }
|
||||
|
||||
Reinforcements.Insert = function(owner, transportName, passengerNames, enterPath, exitPath)
|
||||
local facing = { Map.GetFacing(CPos.op_Subtraction(enterPath[2], enterPath[1]), 0), "Int32" }
|
||||
local center = WPos.op_Addition(enterPath[1].CenterPosition, WVec.New(0, 0, Rules.InitialAltitude(transportName)))
|
||||
local center = WPos.op_Addition(Map.CenterOfCell(enterPath[1]), WVec.New(0, 0, Rules.InitialAltitude(transportName)))
|
||||
local transport = Actor.Create(transportName, { Owner = owner, Location = enterPath[1], CenterPosition = center, Facing = facing })
|
||||
local cargo = Actor.Trait(transport, "Cargo")
|
||||
local passengers = { }
|
||||
@@ -24,7 +24,7 @@ end
|
||||
|
||||
Reinforcements.Extract = function(owner, transportName, passengerNames, enterPath, exitPath)
|
||||
local facing = { Map.GetFacing(CPos.op_Subtraction(enterPath[2], enterPath[1]), 0), "Int32" }
|
||||
local center = WPos.op_Addition(enterPath[1].CenterPosition, WVec.New(0, 0, Rules.InitialAltitude(transportName)))
|
||||
local center = WPos.op_Addition(Map.CenterOfCell(enterPath[1]), WVec.New(0, 0, Rules.InitialAltitude(transportName)))
|
||||
local transport = Actor.Create(transportName, { Owner = owner, Location = enterPath[1], CenterPosition = center, Facing = facing })
|
||||
local cargo = Actor.Trait(transport, "Cargo")
|
||||
|
||||
|
||||
@@ -2,10 +2,11 @@ SupportPowers = { }
|
||||
|
||||
SupportPowers.Airstrike = function(owner, planeName, enterLocation, bombLocation)
|
||||
local facing = { Map.GetFacing(CPos.op_Subtraction(bombLocation, enterLocation), 0), "Int32" }
|
||||
local center = WPos.op_Addition(enterLocation.CenterPosition, WVec.New(0, 0, Rules.InitialAltitude(planeName)))
|
||||
local center = WPos.op_Addition(Map.CenterOfCell(enterLocation), WVec.New(0, 0, Rules.InitialAltitude(planeName)))
|
||||
local plane = Actor.Create(planeName, { Location = enterLocation, Owner = owner, Facing = facing, CenterPosition = center })
|
||||
Actor.Trait(plane, "AttackBomber"):SetTarget(bombLocation.CenterPosition)
|
||||
Actor.Fly(plane, bombLocation.CenterPosition)
|
||||
local bombLoc = Map.CenterOfCell(bombLocation)
|
||||
Actor.Trait(plane, "AttackBomber"):SetTarget(bombLoc)
|
||||
Actor.Fly(plane, bombLoc)
|
||||
Actor.FlyOffMap(plane)
|
||||
Actor.RemoveSelf(plane)
|
||||
return plane
|
||||
@@ -13,10 +14,10 @@ end
|
||||
|
||||
SupportPowers.Paradrop = function(owner, planeName, passengerNames, enterLocation, dropLocation)
|
||||
local facing = { Map.GetFacing(CPos.op_Subtraction(dropLocation, enterLocation), 0), "Int32" }
|
||||
local center = WPos.op_Addition(enterLocation.CenterPosition, WVec.New(0, 0, Rules.InitialAltitude(planeName)))
|
||||
local center = WPos.op_Addition(Map.CenterOfCell(enterLocation), WVec.New(0, 0, Rules.InitialAltitude(planeName)))
|
||||
local plane = Actor.Create(planeName, { Location = enterLocation, Owner = owner, Facing = facing, CenterPosition = center })
|
||||
Actor.FlyAttackCell(plane, dropLocation)
|
||||
Actor.Trait(plane, "ParaDrop"):SetLZ(dropLocation)
|
||||
Actor.Trait(plane, "ParaDrop"):SetLZ(dropLocation, true)
|
||||
local cargo = Actor.Trait(plane, "Cargo")
|
||||
local passengers = { }
|
||||
for i, passengerName in ipairs(passengerNames) do
|
||||
@@ -38,4 +39,4 @@ SupportPowers.Chronoshift = function(unitLocationPairs, chronosphere, duration,
|
||||
cs:Teleport(unit, cell, duration, killCargo, chronosphere)
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -55,9 +55,8 @@ Reinforcements.ReinforceAir = function(owner, planeNames, entrypoint, rallypoint
|
||||
local flight = { }
|
||||
|
||||
for i, planeName in ipairs(planeNames) do
|
||||
local plane = Actor.Create(planeName, { AddToWorld = false, Location = entrypoint.Location, Owner = owner, Facing = facing })
|
||||
local enterLocation = entrypoint.Location
|
||||
local enterPosition = WPos.op_Addition(entrypoint.CenterPosition, WVec.New(0, 0, Rules.InitialAltitude(planeName)))
|
||||
local plane = Actor.Create(planeName, { AddToWorld = false, Location = entrypoint.Location, CenterPosition = enterPosition, Owner = owner, Facing = facing })
|
||||
flight[i] = plane
|
||||
OpenRA.RunAfterDelay((i - 1) * interval, function()
|
||||
World:Add(plane)
|
||||
|
||||
Reference in New Issue
Block a user