From 9c0fa2207c4b373710e6b4ec9a628c46ff872caa Mon Sep 17 00:00:00 2001 From: Vladimir Makaev Date: Wed, 9 Feb 2022 01:52:42 +0000 Subject: [PATCH] Bugfix: Skip Transmuting if Cube isn't empty (#529) --- src/transmute/transmute.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/transmute/transmute.py b/src/transmute/transmute.py index 402af73..c6c04ee 100644 --- a/src/transmute/transmute.py +++ b/src/transmute/transmute.py @@ -196,15 +196,29 @@ class Transmute: return None self._run_gem_transmutes() + def check_cube_empty(self) -> bool: + self.open_cube() + area = self.inspect_cube() + self.close_cube() + return area.count_empty() == 12 + + def inspect_cube(self)-> InventoryCollection: + return self.inspect_area(4, 3, roi=Config.ui_roi["cube_area_roi"], known_items=FLAWLESS_GEMS) + def _run_gem_transmutes(self) -> None: Logger.info("Starting gem transmute") self._last_game = self._game_stats._game_counter s = self.inspect_stash() algorithm = SimpleGemPicking(s) inventory = self.inspect_inventory_area(FLAWLESS_GEMS) + is_cube_empty = None while True: while inventory.count_empty() >= 3: - next_batch = algorithm.next_batch() + next_batch = algorithm.next_batch() + is_cube_empty = self.check_cube_empty() if is_cube_empty is None else is_cube_empty + if not is_cube_empty: + Logger.warning("Some items detected in the cube. Skipping transmute") + break if next_batch is None: Logger.info("No more gems to cube") break