added flare to paratroopers power
This commit is contained in:
@@ -35,10 +35,12 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
readonly List<int2> droppedAt = new List<int2>();
|
||||
int2 lz;
|
||||
Actor flare;
|
||||
|
||||
public void SetLZ( int2 lz )
|
||||
public void SetLZ( int2 lz, Actor flare )
|
||||
{
|
||||
this.lz = lz;
|
||||
this.flare = flare;
|
||||
droppedAt.Clear();
|
||||
}
|
||||
|
||||
@@ -76,6 +78,13 @@ namespace OpenRA.Mods.RA
|
||||
self.CancelActivity();
|
||||
self.QueueActivity(new FlyOffMap { Interruptible = false });
|
||||
self.QueueActivity(new RemoveSelf());
|
||||
|
||||
if (flare != null)
|
||||
{
|
||||
flare.CancelActivity();
|
||||
flare.QueueActivity(new Wait(300));
|
||||
flare.QueueActivity(new RemoveSelf());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,13 +59,15 @@ namespace OpenRA.Mods.RA
|
||||
var startPos = owner.World.ChooseRandomEdgeCell();
|
||||
owner.World.AddFrameEndTask(w =>
|
||||
{
|
||||
var flare = w.CreateActor("FLARE", p, owner);
|
||||
|
||||
var a = w.CreateActor("BADR", startPos, owner);
|
||||
a.traits.Get<Unit>().Facing = Util.GetFacing(p - startPos, 0);
|
||||
a.traits.Get<Unit>().Altitude = a.Info.Traits.Get<PlaneInfo>().CruiseAltitude;
|
||||
|
||||
a.CancelActivity();
|
||||
a.QueueActivity(new FlyCircle(p));
|
||||
a.traits.Get<ParaDrop>().SetLZ(p);
|
||||
a.traits.Get<ParaDrop>().SetLZ(p, flare);
|
||||
|
||||
var cargo = a.traits.Get<Cargo>();
|
||||
foreach (var i in items)
|
||||
|
||||
Reference in New Issue
Block a user