From 214165646018b745f4ff7652172275a74587c361 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Fri, 30 May 2014 16:06:25 +1200 Subject: [PATCH] Only inset range for mobile targets. --- OpenRA.Mods.RA/Attack/AttackFollow.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.RA/Attack/AttackFollow.cs b/OpenRA.Mods.RA/Attack/AttackFollow.cs index 4c8a548931..cd7bbfaaeb 100644 --- a/OpenRA.Mods.RA/Attack/AttackFollow.cs +++ b/OpenRA.Mods.RA/Attack/AttackFollow.cs @@ -83,8 +83,12 @@ namespace OpenRA.Mods.RA var weapon = attack.ChooseArmamentForTarget(target); if (weapon != null) { - // Try and sit at least one cell closer than the max range to give some leeway if the target stars moving. - var maxRange = new WRange(Math.Max(weapon.Weapon.MinRange.Range, weapon.Weapon.Range.Range - 1024)); + var targetIsMobile = (target.Type == TargetType.Actor && target.Actor.HasTrait()) + || (target.Type == TargetType.FrozenActor && target.FrozenActor.Info.Traits.Contains()); + + // Try and sit at least one cell closer than the max range to give some leeway if the target starts moving. + var maxRange = targetIsMobile ? new WRange(Math.Max(weapon.Weapon.MinRange.Range, weapon.Weapon.Range.Range - 1024)) + : weapon.Weapon.Range; attack.Target = target;