From f8d95d074c36ec35eee8def73b8d9f2b83c922cb Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 20 Oct 2025 00:56:32 +0200 Subject: Pathfinding avoids chairs --- server/game-core/src/interaction.rs | 6 ++---- server/game-core/src/lib.rs | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'server/game-core/src') diff --git a/server/game-core/src/interaction.rs b/server/game-core/src/interaction.rs index 407294d6..275e87d1 100644 --- a/server/game-core/src/interaction.rs +++ b/server/game-core/src/interaction.rs @@ -99,10 +99,8 @@ impl Game { { if edge { inv.players.extend(other_player_id); - } else { - if let Some(player) = other_player_id { - inv.players.remove(&player); - } + } else if let Some(player) = other_player_id { + inv.players.remove(&player); } inv.speed = speed * inv.players.len() as f32; diff --git a/server/game-core/src/lib.rs b/server/game-core/src/lib.rs index 994398c9..e05eec67 100644 --- a/server/game-core/src/lib.rs +++ b/server/game-core/src/lib.rs @@ -197,11 +197,10 @@ impl Game { pub fn set_tile(&mut self, pos: IVec2, kind: Option) { self.tiles.remove(&pos); self.walkable.remove(&pos); - if let Some(prev) = self.tiles.get(&pos) { - if let Some(set) = self.tile_index.get_mut(&prev.kind) { + if let Some(prev) = self.tiles.get(&pos) + && let Some(set) = self.tile_index.get_mut(&prev.kind) { set.remove(&pos); } - } if let Some(kind) = kind { self.tiles.insert(pos, Tile { kind, item: None }); if self.data_index.tile_collide[kind.0] { -- cgit v1.3