Introduce ActivateParatroopers Lua API.

SendParatroopers and SendParatroopersFrom are now deprecated.
The paratrooper actors themselves can be accessed using the
Trigger.OnPassengerExited trigger.
This commit is contained in:
Paul Chote
2019-08-21 08:59:19 +00:00
committed by Matthias Mailänder
parent ed415cb637
commit c0587cc568
2 changed files with 48 additions and 23 deletions

View File

@@ -27,19 +27,30 @@ namespace OpenRA.Mods.Common.Scripting
pp = self.TraitsImplementing<ParatroopersPower>().First();
}
[Desc("Activate the actor's Paratroopers Power. Returns the dropped units.")]
public Actor[] SendParatroopers(WPos target, bool randomize = true, int facing = 0)
[Desc("Activate the actor's Paratroopers Power. Returns the aircraft that will drop the reinforcements.")]
public Actor[] ActivateParatroopers(WPos target, int facing = -1)
{
return pp.SendParatroopers(Self, target, randomize, facing);
var actors = pp.SendParatroopers(Self, target, facing);
return actors.First;
}
[Desc("Activate the actor's Paratroopers Power. Returns the dropped units.")]
[Desc("Activate the actor's Paratroopers Power. Returns the dropped units. DEPRECATED! Will be removed.")]
public Actor[] SendParatroopers(WPos target, bool randomize = true, int facing = 0)
{
Game.Debug("SendParatroopers is deprecated. Use ActivateParatroopers instead.");
var actors = pp.SendParatroopers(Self, target, randomize ? -1 : facing);
return actors.Second;
}
[Desc("Activate the actor's Paratroopers Power. Returns the dropped units. DEPRECATED! Will be removed.")]
public Actor[] SendParatroopersFrom(CPos from, CPos to)
{
Game.Debug("SendParatroopersFrom is deprecated. Use ActivateParatroopers instead.");
var i = Self.World.Map.CenterOfCell(from);
var j = Self.World.Map.CenterOfCell(to);
return pp.SendParatroopers(Self, j, false, (i - j).Yaw.Facing);
var actors = pp.SendParatroopers(Self, j, (i - j).Yaw.Facing);
return actors.Second;
}
}
}