def exchange_intellect_by_pharmacy(config, context, prefix): def before_action(_1, _2): if config.use_pharmacy_max > 0: if context.pharmacy_used >= config.use_pharmacy_max: cause = '已到达预设的可用药剂上限, 脚本将退出' logger.info(cause) program_exit_alert(cause) exit(0) else: cause = '理智不足,自动退出脚本' logger.info(cause) program_exit_alert(cause) exit(0) def after_action(_1, _2): context.pharmacy_used += 1 s = Scene('检测建议使用药剂补充理智页面', identify_image=load_resource( 'exchange_intellect_by_pharmacy.png', prefix), tap_image=load_resource("exchange_intellect_confirm.png", prefix)) s.before_action = before_action s.after_action = after_action return s
def wife_unhappy(prefix): def before_action(_1, _2): print() logger.info('队伍存在舰娘心情警告,指挥官休息一下吧') exit(0) s = Scene("检测舰娘心情值偏低", identify_image=load_resource("unhappy.png", prefix)) s.before_action = before_action return s
def shipyard_full(prefix): def before_action(_1, _2): print() logger.info('船坞满了,指挥官清理一下喵') exit(0) s = Scene("检测船坞已满提示", identify_image=load_resource("shipyard_full.png", prefix)) s.before_action = before_action return s
def wife_unhappy(prefix, context): def before_action(_1, _2): print() cause = "队伍存在舰娘心情警告,指挥官休息一下吧,已出击" + str(context.repeated_count) + "次" logger.info(cause) program_exit_alert(cause) exit(0) s = Scene("检测舰娘心情值偏低", identify_image=load_resource("unhappy.png", prefix)) s.before_action = before_action return s
def battle_prepare(context, prefix): def before_action(_1, _2): context.round_count += 1 print('%s 次出击' % context.round_count, end=',', sep='', flush=True) s = Scene("检测出击队伍阵型调整", identify_image=load_resource("battle_prepare.png", prefix), tap_image=load_resource("battle_preview_start_button.png", prefix)) s.before_action = before_action return s
def shipyard_full(prefix, context): def before_action(_1, _2): print() cause = "船坞满了,指挥官清理一下喵,已出击" + str(context.repeated_count) + "次" logger.info(cause) program_exit_alert(cause) exit(0) s = Scene("检测船坞已满提示", identify_image=load_resource("shipyard_full.png", prefix)) s.before_action = before_action return s
def level_team_detection(config, context, prefix): def before_action(_1, _2): if 0 <= config.repeat_count_max <= context.repeated_count: logger.info('\n\n预设的复读次数已完成') exit(0) context.repeated_count += 1 logger.info('第 %03d 次副本' % context.repeated_count) s = Scene('检测指定关卡自律队伍阵容页面', identify_image=load_resource('level_team_detection.png', prefix)) s.before_action = before_action s.after_action = lambda _1, _2: time.sleep(2) return s
def next_friend_dormitory(prefix, config, context): image = load_resource('next_friend_dormitory_button.png', prefix) width, _ = image.shape[::-1] def before_action(_1, _2): if context.like_friend_dormitory_count >= config.max_like_dormitory: logger.info('点赞数达成') exit(0) context.like_friend_dormitory_count += 1 scene = Scene('前往下一位好友的宿舍', identify_image=image, tap_offset_x=width / 2 - 30) scene.before_action = before_action return scene
def continue_next_auto_fight(prefix, config, context): def before_action(_1, _2): if 0 <= config.repeat_count_max <= context.repeated_count: cause = "预设的复读次数已完成" logger.info(cause) program_exit_alert(cause) exit(0) context.repeated_count += 1 context.round_count = 0 logger.info('第 %03d 次副本' % context.repeated_count) s = Scene("继续下次自律战斗", identify_image=load_resource("auto_fight_item_collections.png", prefix), tap_image=load_resource("continue_next_auto_fight_confirm.png", prefix)) s.before_action = before_action return s
def exchange_intellect_by_stone(config, context, prefix): def before_action(_1, _2): if config.use_stone_max > 0: if context.stone_used >= config.use_stone_max: logger.info('已到达预设的可用源石上限, 脚本将退出') exit(0) else: context.stone_used += 1 else: logger.info('理智不足,自动退出脚本') exit(0) s = Scene('检测建议使用石头补充理智页面', identify_image=load_resource('exchange_intellect_by_stone.png', prefix), tap_image=load_resource("exchange_intellect_confirm.png", prefix)) s.before_action = before_action return s
def battle_team_choose(config, context, prefix): def before_action(_1, _2): if 0 <= config.repeat_count_max <= context.repeated_count: print() logger.info('预设的复读次数已完成') exit(0) context.repeated_count += 1 context.round_count = 0 context.swipe_mode = config.default_swipe_direction print('') logger.info('第 %03d 次副本' % context.repeated_count) s = Scene("检测指定关卡出击队伍选择", identify_image=load_resource("team_choose.png", prefix), tap_image=load_resource("choose_level_go_now_button.png", prefix)) s.before_action = before_action s.after_action = lambda _1, _2: time.sleep(5) return s
def battle_team_choose(config, context, prefix): def before_action(_1, _2): if 0 <= config.repeat_count_max <= context.repeated_count: print() cause = "预设的复读次数已完成" logger.info(cause) program_exit_alert(cause) exit(0) context.repeated_count += 1 context.round_count = 0 context.swipe_hor_times = 0 context.swipe_ver_times = 0 context.team_switched = False print('') logger.info('第 %03d 次副本' % context.repeated_count) s = Scene("检测指定关卡出击队伍选择", identify_image=load_resource("team_choose.png", prefix), tap_image=load_resource("choose_level_go_now_button.png", prefix)) s.before_action = before_action s.after_action = lambda _1, _2: time.sleep(5) return s