From 3a0f6dda08d1c2f049c4507d8c20cc8c74cdff52 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 6 Jul 2013 15:28:19 +1200 Subject: [PATCH] Use Target range checks in Armament. --- OpenRA.Mods.RA/Armament.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.RA/Armament.cs b/OpenRA.Mods.RA/Armament.cs index 74809cfce0..fe50383714 100755 --- a/OpenRA.Mods.RA/Armament.cs +++ b/OpenRA.Mods.RA/Armament.cs @@ -107,9 +107,17 @@ namespace OpenRA.Mods.RA if (limitedAmmo != null && !limitedAmmo.HasAmmo()) return; - if (!Combat.IsInRange(self.CenterLocation, Weapon.Range, target)) return; - if (Combat.IsInRange(self.CenterLocation, Weapon.MinRange, target)) return; - if (!IsValidAgainst(self.World, target)) return; + // TODO: Define weapon ranges as WRange + var range = new WRange((int)(1024*Weapon.Range)); + var minRange = new WRange((int)(1024*Weapon.MinRange)); + if (!target.IsInRange(self.CenterPosition, range)) + return; + + if (target.IsInRange(self.CenterPosition, minRange)) + return; + + if (!IsValidAgainst(self.World, target)) + return; var barrel = Barrels[Burst % Barrels.Length]; var destMove = target.IsActor ? target.Actor.TraitOrDefault() : null;