diff --git a/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs index c4ce0967bb..58d87dc5bc 100644 --- a/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs +++ b/OpenRA.Mods.RA/Scripting/Properties/TransportProperties.cs @@ -57,7 +57,9 @@ namespace OpenRA.Mods.RA.Scripting public void Paradrop(CPos cell) { paradrop.SetLZ(cell, true); - self.QueueActivity(new FlyAttack(Target.FromCell(self.World, cell))); + self.QueueActivity(new Fly(self, Target.FromCell(self.World, cell))); + self.QueueActivity(new FlyOffMap()); + self.QueueActivity(new RemoveSelf()); } } } \ No newline at end of file diff --git a/mods/common/lua/supportpowers.lua b/mods/common/lua/supportpowers.lua index 3f01c7b0a4..ac620f0120 100644 --- a/mods/common/lua/supportpowers.lua +++ b/mods/common/lua/supportpowers.lua @@ -16,8 +16,10 @@ SupportPowers.Paradrop = function(owner, planeName, passengerNames, enterLocatio local facing = { Map.GetFacing(CPos.op_Subtraction(dropLocation, enterLocation), 0), "Int32" } 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.Fly(plane, Map.CenterOfCell(dropLocation)) Actor.Trait(plane, "ParaDrop"):SetLZ(dropLocation, true) + Actor.FlyOffMap(plane) + Actor.RemoveSelf(plane) local cargo = Actor.Trait(plane, "Cargo") local passengers = { } for i, passengerName in ipairs(passengerNames) do