diff --git a/Source/Game/Movement/Generators/ChaseMovementGenerator.cs b/Source/Game/Movement/Generators/ChaseMovementGenerator.cs index b8813571c..07835a276 100644 --- a/Source/Game/Movement/Generators/ChaseMovementGenerator.cs +++ b/Source/Game/Movement/Generators/ChaseMovementGenerator.cs @@ -251,10 +251,9 @@ namespace Game.Movement static bool PositionOkay(Unit owner, Unit target, float? minDistance, float? maxDistance, ChaseAngle? angle) { - float distSq = owner.GetExactDistSq(target); - if (minDistance.HasValue && distSq < minDistance.Value * minDistance.Value) + if (minDistance .HasValue && owner.IsInDist(target, minDistance.Value)) return false; - if (maxDistance.HasValue && distSq > maxDistance.Value * maxDistance.Value) + if (maxDistance.HasValue && !owner.IsInDist(target, maxDistance.Value)) return false; if (angle.HasValue && !angle.Value.IsAngleOkay(target.GetRelativeAngle(owner))) return false; diff --git a/Source/Game/Movement/Generators/FollowMovementGenerator.cs b/Source/Game/Movement/Generators/FollowMovementGenerator.cs index d2d256c54..111e6b082 100644 --- a/Source/Game/Movement/Generators/FollowMovementGenerator.cs +++ b/Source/Game/Movement/Generators/FollowMovementGenerator.cs @@ -222,7 +222,7 @@ namespace Game.Movement static bool PositionOkay(Unit owner, Unit target, float range, ChaseAngle? angle = null) { - if (owner.GetExactDistSq(target) > (owner.GetCombatReach() + target.GetCombatReach() + range) * (owner.GetCombatReach() + target.GetCombatReach() + range)) + if (!owner.IsInDist(target, owner.GetCombatReach() + target.GetCombatReach() + range)) return false; return !angle.HasValue || angle.Value.IsAngleOkay(target.GetRelativeAngle(owner));