Core/Movement: Some movement fixes
This commit is contained in:
@@ -266,9 +266,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 < MathF.Sqrt(minDistance.Value))
|
||||
if (minDistance.HasValue && distSq < minDistance.Value * minDistance.Value)
|
||||
return false;
|
||||
if (maxDistance.HasValue && distSq > MathF.Sqrt(maxDistance.Value))
|
||||
if (maxDistance.HasValue && distSq > maxDistance.Value * maxDistance.Value)
|
||||
return false;
|
||||
if (angle.HasValue && !angle.Value.IsAngleOkay(target.GetRelativeAngle(owner)))
|
||||
return false;
|
||||
|
||||
@@ -210,7 +210,7 @@ namespace Game.Movement
|
||||
|
||||
static bool PositionOkay(Unit owner, Unit target, float range, ChaseAngle? angle = null)
|
||||
{
|
||||
if (owner.GetExactDistSq(target) > MathF.Sqrt(owner.GetCombatReach() + target.GetCombatReach() + range))
|
||||
if (owner.GetExactDistSq(target) > (owner.GetCombatReach() + target.GetCombatReach() + range) * (owner.GetCombatReach() + target.GetCombatReach() + range))
|
||||
return false;
|
||||
|
||||
return !angle.HasValue || angle.Value.IsAngleOkay(target.GetRelativeAngle(owner));
|
||||
|
||||
Reference in New Issue
Block a user