From b6ffcb827944515436a3a8232b75b9a6503b631c Mon Sep 17 00:00:00 2001 From: atlimit8 Date: Tue, 8 Sep 2015 23:17:17 -0500 Subject: [PATCH 1/2] Add WDist.MaxValue --- OpenRA.Game/WDist.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/OpenRA.Game/WDist.cs b/OpenRA.Game/WDist.cs index ab4f0f1c9e..cbebdd45a1 100644 --- a/OpenRA.Game/WDist.cs +++ b/OpenRA.Game/WDist.cs @@ -27,6 +27,7 @@ namespace OpenRA public WDist(int r) { Length = r; } public static readonly WDist Zero = new WDist(0); + public static readonly WDist MaxValue = new WDist(int.MaxValue); public static WDist FromCells(int cells) { return new WDist(1024 * cells); } public static WDist operator +(WDist a, WDist b) { return new WDist(a.Length + b.Length); } From 6ab32d75bf962871f24d7b19918109fd4d4d45e3 Mon Sep 17 00:00:00 2001 From: atlimit8 Date: Tue, 8 Sep 2015 23:36:05 -0500 Subject: [PATCH 2/2] Make AttackBase.GetMinimumRange() return WDist.Zero if there are no available armaments --- OpenRA.Mods.Common/Traits/Attack/AttackBase.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs b/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs index 7930675bfc..35f9933bf9 100644 --- a/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs +++ b/OpenRA.Mods.Common/Traits/Attack/AttackBase.cs @@ -167,8 +167,10 @@ namespace OpenRA.Mods.Common.Traits if (IsTraitDisabled) return WDist.Zero; - return Armaments.Where(a => !a.IsTraitDisabled) - .Select(a => a.Weapon.MinRange).Min(); + var min = Armaments.Where(a => !a.IsTraitDisabled) + .Select(a => a.Weapon.MinRange) + .Append(WDist.MaxValue).Min(); + return min != WDist.MaxValue ? min : WDist.Zero; } public WDist GetMaximumRange()