def handle_in_map_with_enemy_searching(self): if not self.is_in_map(): return False timeout = Timer(self.MAP_ENEMY_SEARCHING_TIMEOUT_SECOND) appeared = False while 1: if self.is_in_map(): timeout.start() else: timeout.reset() if self.handle_in_stage(): return True if self.handle_story_skip(): self.ensure_no_story() timeout.limit = 10 timeout.reset() # End if self.enemy_searching_appear(): appeared = True else: if appeared: self.handle_enemy_flashing() self.device.sleep(1) logger.info('Enemy searching appeared.') break self.enemy_searching_color_initial() if timeout.reached(): logger.info('Enemy searching timeout.') break self.device.screenshot() return True
def handle_in_map_with_enemy_searching(self): if not self.is_in_map(): return False timeout = Timer(self.MAP_ENEMY_SEARCHING_TIMEOUT_SECOND) appeared = False while 1: self.device.screenshot() if self.is_event_animation(): continue if self.is_in_map(): timeout.start() else: timeout.reset() if self.handle_in_stage(): return True if self.handle_story_skip(): self.ensure_no_story() timeout.limit = 10 timeout.reset() if self.handle_guild_popup_cancel(): self.config.GUILD_POPUP_TRIGGERED = True timeout.limit = 10 timeout.reset() continue # End if self.enemy_searching_appear(): appeared = True else: if appeared: self.handle_enemy_flashing() self.device.sleep(1) logger.info('Enemy searching appeared.') break self.enemy_searching_color_initial() if timeout.reached(): logger.info('Enemy searching timeout.') break self.device.screenshot() return True
def handle_in_map_with_enemy_searching(self, drop=None): """ Args: drop (DropImage): Returns: bool: If handled. """ if not self.is_in_map(): return False timeout = Timer(self.MAP_ENEMY_SEARCHING_TIMEOUT_SECOND) appeared = False while 1: self.device.screenshot() if self.is_event_animation(): continue if self.is_in_map(): timeout.start() else: timeout.reset() # Stage might ends, # although here expects an enemy searching animation. if self.handle_in_stage(): return True if self.handle_auto_search_exit(drop=drop): continue # Popups if self.handle_vote_popup(): timeout.limit = 10 timeout.reset() continue if self.handle_story_skip(): self.ensure_no_story() timeout.limit = 10 timeout.reset() if self.handle_guild_popup_cancel(): timeout.limit = 10 timeout.reset() continue if self.handle_urgent_commission(drop=drop): timeout.limit = 10 timeout.reset() continue # End if self.enemy_searching_appear(): appeared = True else: if appeared: self.handle_enemy_flashing() self.device.sleep(0.3) logger.info('Enemy searching appeared.') break self.enemy_searching_color_initial() if timeout.reached(): logger.info('Enemy searching timeout.') break self.device.screenshot() return True