Merge pull request #9304 from atlimit8/Fix_AttackBase_GetMinimumRange

Make AttackBase.GetMinimumRange() return WDist.Zero if there are no available armaments
This commit is contained in:
reaperrr
2015-09-18 01:26:35 +02:00
2 changed files with 5 additions and 2 deletions

View File

@@ -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); }

View File

@@ -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()