Use Target range checks in Armament.

This commit is contained in:
Paul Chote
2013-07-06 15:28:19 +12:00
parent 6f67602d57
commit 3a0f6dda08

View File

@@ -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<IMove>() : null;