diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-10-20 00:56:32 +0200 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-10-20 00:56:32 +0200 |
| commit | f8d95d074c36ec35eee8def73b8d9f2b83c922cb (patch) | |
| tree | 0ab9faba2784a64eeb89688b292b831c50442a0e /server/game-core/src | |
| parent | 8961db68d063a2dda427e80601650e4674772685 (diff) | |
| download | hurrycurry-f8d95d074c36ec35eee8def73b8d9f2b83c922cb.tar hurrycurry-f8d95d074c36ec35eee8def73b8d9f2b83c922cb.tar.bz2 hurrycurry-f8d95d074c36ec35eee8def73b8d9f2b83c922cb.tar.zst | |
Pathfinding avoids chairs
Diffstat (limited to 'server/game-core/src')
| -rw-r--r-- | server/game-core/src/interaction.rs | 6 | ||||
| -rw-r--r-- | server/game-core/src/lib.rs | 5 |
2 files changed, 4 insertions, 7 deletions
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<TileIndex>) { 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] { |