Make helicopters move backwards when target is too close

'Too close' as in closer than weapons' MinRange.
This commit is contained in:
reaperrr
2015-04-08 00:31:40 +02:00
parent a37babf0c1
commit 7ddd6aab93
2 changed files with 22 additions and 0 deletions

View File

@@ -57,6 +57,19 @@ namespace OpenRA.Mods.Common.Activities
if (!target.IsInRange(self.CenterPosition, attackHeli.GetMaximumRange()))
helicopter.SetPosition(self, helicopter.CenterPosition + helicopter.FlyStep(desiredFacing));
// Fly backwards from the target
// TODO: Same problem as with MaximumRange
if (target.IsInRange(self.CenterPosition, attackHeli.GetMinimumRange()))
{
// Facing 0 doesn't work with the following position change
var facing = 1;
if (desiredFacing != 0)
facing = desiredFacing;
else if (helicopter.Facing != 0)
facing = helicopter.Facing;
helicopter.SetPosition(self, helicopter.CenterPosition + helicopter.FlyStep(-facing));
}
attackHeli.DoAttack(self, target);
return this;