aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-17 14:36:44 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-17 14:36:44 +0200
commitd8d275b74e258ef474bd6d03cd517d839fcc99e5 (patch)
treefad8b5c9e5b64cbf626fdd95938e024b49ff744d
parenta291e301402a8271c33a9a09d4b5035bf734be3c (diff)
downloadhurrycurry-d8d275b74e258ef474bd6d03cd517d839fcc99e5.tar
hurrycurry-d8d275b74e258ef474bd6d03cd517d839fcc99e5.tar.bz2
hurrycurry-d8d275b74e258ef474bd6d03cd517d839fcc99e5.tar.zst
fix dishwasher pick-drop loop; close #385
-rw-r--r--server/bot/src/algos/dishwasher.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/server/bot/src/algos/dishwasher.rs b/server/bot/src/algos/dishwasher.rs
index 9328d4f2..cbeedab9 100644
--- a/server/bot/src/algos/dishwasher.rs
+++ b/server/bot/src/algos/dishwasher.rs
@@ -95,15 +95,15 @@ impl State for DishWasher {
impl Context<'_, DishWasher> {
fn update(&mut self) -> LogicRes {
if let Some(sink) = self.find_empty_interactable_tile_by_name("sink") {
- if let Some(pos) = self.find_item_on_map(self.state.dirty_plate.unwrap()) {
- self.assert_tile_is_clear(pos)?;
- }
if self.is_hand_item(self.state.dirty_plate.unwrap()) {
// TODO clear sink first but dont "steal" items from others working there
self.interact_with(sink, 2.0)?;
} else {
self.assert_hand_is_clear()?;
}
+ if let Some(pos) = self.find_item_on_map(self.state.dirty_plate.unwrap()) {
+ self.assert_tile_is_clear(pos)?;
+ }
} else {
self.assert_hand_is_clear()?;
}