Overhaul Land activity:

- Landing on an actor is no longer blocked by the underlying terrain
- Land in a nearby cell if the requested location is blocked
- Internally manages the fixed-wing landing sequence
- ProductionAirdrop transport waits until the exit is free before landing
This commit is contained in:
tovl
2019-06-30 11:56:26 +00:00
committed by reaperrr
parent ff9db0bf7a
commit adecd4ca87
7 changed files with 257 additions and 186 deletions

View File

@@ -72,8 +72,8 @@ namespace OpenRA.Mods.Cnc.Traits
new FacingInit(64)
});
actor.QueueActivity(new Fly(actor, Target.FromPos(self.CenterPosition + new WVec(landDistance, 0, 0))));
actor.QueueActivity(new Land(actor, Target.FromActor(self)));
var exitCell = self.Location + exit.ExitCell;
actor.QueueActivity(new Land(actor, Target.FromActor(self), WDist.Zero, WVec.Zero, 64, clearCells: new CPos[1] { exitCell }));
actor.QueueActivity(new CallFunc(() =>
{
if (!self.IsInWorld || self.IsDead)