diff options
Diffstat (limited to 'server')
-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] { |