aboutsummaryrefslogtreecommitdiff
path: root/server/bot/src/pathfinding.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/bot/src/pathfinding.rs')
-rw-r--r--server/bot/src/pathfinding.rs9
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] {