diff options
| -rw-r--r-- | server/bot/src/pathfinding.rs | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/server/bot/src/pathfinding.rs b/server/bot/src/pathfinding.rs index 87ccf391..d0c6c8ef 100644 --- a/server/bot/src/pathfinding.rs +++ b/server/bot/src/pathfinding.rs @@ -42,7 +42,12 @@ impl Path {      }  } -pub fn find_path(walkable: &HashSet<IVec2>, from: IVec2, to: IVec2) -> Option<Path> { +pub fn find_path( +    walkable: &HashSet<IVec2>, +    from: IVec2, +    to: IVec2, +    dist_squared: i32, +) -> Option<Path> {      #[derive(Debug, PartialEq, Eq)]      struct Open(i32, IVec2, IVec2, i32);      impl PartialOrd for Open { @@ -66,7 +71,7 @@ pub fn find_path(walkable: &HashSet<IVec2>, from: IVec2, to: IVec2) -> Option<Pa              continue;          }          visited.insert(pos, f); -        if pos == to { +        if pos.distance_squared(to) <= dist_squared {              break;          }          for dir in [IVec2::NEG_X, IVec2::NEG_Y, IVec2::X, IVec2::Y] { | 
