diff --git a/src/task/BaseCombatTask.py b/src/task/BaseCombatTask.py index 7cc435c..37428c1 100644 --- a/src/task/BaseCombatTask.py +++ b/src/task/BaseCombatTask.py @@ -222,6 +222,8 @@ class BaseCombatTask(BaseWWTask, FindFeature, OCR, CombatCheck): else: logger.warning(f"can't find the f to enter") return False + if target_text: + return f_found remaining = time.time() - start if self.handle_claim_button(): @@ -255,6 +257,8 @@ class BaseCombatTask(BaseWWTask, FindFeature, OCR, CombatCheck): target_text=target_text) and self.sleep(0.5) else: self.send_key('f') + if target_text: + return True if self.handle_claim_button(): return False self.sleep(0.5) diff --git a/src/task/FarmWorldBossTask.py b/src/task/FarmWorldBossTask.py index 8e51620..23c8b50 100644 --- a/src/task/FarmWorldBossTask.py +++ b/src/task/FarmWorldBossTask.py @@ -165,6 +165,9 @@ class FarmWorldBossTask(BaseCombatTask): self.sleep(2) logger.info('Crownless walk to f') self.walk_until_f(raise_if_not_found=True, time_out=4, backward_time=1) + in_combat = self.wait_until(self.in_combat, raise_if_not_found=False, time_out=10) + if not in_combat: # try click again + self.walk_until_f(raise_if_not_found=True, time_out=4) try: self.combat_once() except CharDeadException: