diff --git a/src/task/BaseCombatTask.py b/src/task/BaseCombatTask.py index 4d6899e..7fb1dd2 100644 --- a/src/task/BaseCombatTask.py +++ b/src/task/BaseCombatTask.py @@ -197,13 +197,17 @@ class BaseCombatTask(BaseTask, FindFeature, OCR, CombatCheck): self.sleep(0.2) self.send_key('f') self.send_key_up(direction) - if self.wait_click_feature('cancel_button', relative_x=1, raise_if_not_found=False, horizontal_variance=0.1, - vertical_variance=0.1, - use_gray_scale=True, time_out=1, threshold=0.8): - logger.warning(f"found a claim reward") + if self.handle_claim_button(): return False return f_found + def handle_claim_button(self): + if self.wait_click_feature('cancel_button', relative_x=1, raise_if_not_found=False, horizontal_variance=0.1, + vertical_variance=0.1, + use_gray_scale=True, time_out=2, threshold=0.8): + logger.warning(f"found a claim reward") + return True + def walk_until_f(self, direction='w', time_out=0, raise_if_not_found=True, backward_time=0): if not self.find_one('pick_up_f', horizontal_variance=0.1, vertical_variance=0.1, threshold=0.8, use_gray_scale=True): @@ -213,6 +217,8 @@ class BaseCombatTask(BaseTask, FindFeature, OCR, CombatCheck): return self.send_key_and_wait_f(direction, raise_if_not_found, time_out) and self.sleep(0.5) else: self.send_key('f') + if self.handle_claim_button(): + return False self.sleep(0.5) return True diff --git a/src/task/FarmWorldBossTask.py b/src/task/FarmWorldBossTask.py index acfb8c0..d43dcc3 100644 --- a/src/task/FarmWorldBossTask.py +++ b/src/task/FarmWorldBossTask.py @@ -129,6 +129,9 @@ class FarmWorldBossTask(BaseCombatTask): logger.info(f'farm echo combat once start') self.combat_once() logger.info(f'farm echo combat end') + if boss_name == 'Bell-Borne Geochelone': + logger.info(f'sleep for the Boss model to disappear') + self.sleep(5) self.wait_in_team_and_world(time_out=20) logger.info(f'farm echo move forward walk_until_f to find echo') if self.walk_until_f(time_out=6, backward_time=1,