def METHOD_NAME(self):
    logger.info('Map ambushed')
    # Wait MAP_AMBUSH_EVADE
    self.wait_until_appear(MAP_AMBUSH_EVADE, offset=(30, 30))
    self.handle_info_bar()
    # Click MAP_AMBUSH_EVADE
    skip_first_screenshot = True
    while 1:
        if skip_first_screenshot:
            skip_first_screenshot = False
        else:
            self.device.screenshot()
        # End
        if self.info_bar_count():
            break
        if self.appear_then_click(MAP_AMBUSH_EVADE, offset=(30, 30), interval=3):
            continue
    # Handle evade success and failures
    image = info_letter_preprocess(self.image_crop(INFO_BAR_DETECT))
    if TEMPLATE_AMBUSH_EVADE_SUCCESS.match(image):
        logger.attr('Ambush_evade', 'success')
    elif TEMPLATE_AMBUSH_EVADE_FAILED.match(image):
        logger.attr('Ambush_evade', 'failed')
        self.combat(expected_end='no_searching', fleet_index=self.fleet_show_index)
    else:
        logger.warning('Unrecognized info when ambush evade.')
        self.ensure_no_info_bar()
        if self.combat_appear():
            self.combat(fleet_index=self.fleet_show_index)