Fix helicopters not returning when all valid weapons are out of ammo
They now return if all weapons are invalid (which includes those that are otherwise valid, but out of ammo) and at least one AmmoPool needs reloading at RearmBuilding.
This commit is contained in:
@@ -65,9 +65,8 @@ namespace OpenRA.Mods.Common.Activities
|
||||
return ActivityUtils.SequenceActivities(new HeliFly(self, newTarget));
|
||||
}
|
||||
|
||||
// If all ammo pools are depleted and none reload automatically, return to helipad to reload and then move to next activity
|
||||
// TODO: This should check whether there is ammo left that is actually suitable for the target
|
||||
if (ammoPools.All(x => !x.Info.SelfReloads && !x.HasAmmo()))
|
||||
// If any AmmoPool is depleted and no weapon is valid against target, return to helipad to reload and then move to next activity
|
||||
if (ammoPools.Any(x => !x.Info.SelfReloads && !x.HasAmmo()) && !attackHeli.HasAnyValidWeapons(target))
|
||||
return ActivityUtils.SequenceActivities(new HeliReturnToBase(self), NextActivity);
|
||||
|
||||
var dist = target.CenterPosition - self.CenterPosition;
|
||||
|
||||
Reference in New Issue
Block a user