From 120c881a3a76707e5ada44025c9ee25e9fb01a26 Mon Sep 17 00:00:00 2001 From: kunkun008 <77577702+kunkun008@users.noreply.github.com> Date: Sat, 24 Oct 2026 03:43:41 +0800 Subject: [PATCH 01/14] =?UTF-8?q?fix(MysteryShop):=20=E8=93=9D=E7=A5=A8?= =?UTF-8?q?=E5=A4=9A=E6=95=B0=E9=87=8F=E8=B4=AD=E4=B9=B0=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E6=94=B9=E7=94=A8=20buy=5Fmore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 剩余次数大于1时点蓝票弹出的是带加号的多数量窗口, buy_one 一直等单个窗口导致卡死(GameStuckError)。新增 Buy.buy_one_or_more 按弹窗类型分流(出现加号走 buy_more, 出现单个窗口走 buy_one, 10s 超时返回 False), buy_mall_one 新增可选参数 more_window(默认 False 不影响其他调用), 只对蓝票开启。参考 #1761 (43ada9d1) 荣誉商店蓝票改用 buy_more。 --- tasks/Component/Buy/buy.py | 34 +++++++++++++++++++++++++ tasks/MysteryShop/script_task.py | 2 +- tasks/RichMan/mall/friendship_points.py | 8 +++++- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/tasks/Component/Buy/buy.py b/tasks/Component/Buy/buy.py index a5f31ac91a..1fa319fcb6 100644 --- a/tasks/Component/Buy/buy.py +++ b/tasks/Component/Buy/buy.py @@ -164,6 +164,40 @@ def buy_more(self, start_click: Union[RuleImage, RuleOcr, RuleClick], continue return True + def buy_one_or_more(self, start_click: Union[RuleImage, RuleOcr, RuleClick], + check_image: RuleImage, number: int = None) -> bool: + """ + 购买弹窗可能是单个购买窗口, 也可能是带数量选择(加号)的多数量购买窗口 + 先点开弹窗, 出现加号走 buy_more, 出现单个购买窗口走 buy_one + :param start_click: 开始点击 + :param check_image: 单个购买窗口确认时候的图片 + :param number: 多数量窗口的购买数量, 不指定就是拉满 + :return: 超时没等到任何购买弹窗返回 False + """ + timeout = Timer(10).start() + while 1: + self.screenshot() + + if self.appear(self.I_BUY_PLUS): + logger.info('Buy window with number selector, use buy_more') + return self.buy_more(start_click, number) + if self.appear(check_image): + logger.info('Single buy window, use buy_one') + return self.buy_one(start_click, check_image) + if timeout.reached(): + logger.warning('Wait buy window timeout') + return False + + if isinstance(start_click, RuleImage): + if self.appear_then_click(start_click, interval=1): + continue + elif isinstance(start_click, RuleOcr): + if self.ocr_appear_click(start_click, interval=1): + continue + elif isinstance(start_click, RuleClick): + if self.click(start_click, interval=1): + continue + def buy_check_money(self, target: RuleOcr, minimum: int): """ 检查钱是否足够 diff --git a/tasks/MysteryShop/script_task.py b/tasks/MysteryShop/script_task.py index 115c220999..13467a861a 100644 --- a/tasks/MysteryShop/script_task.py +++ b/tasks/MysteryShop/script_task.py @@ -88,7 +88,7 @@ def run_shop(self, shop_config: ShopConfig = None): """ if shop_config.mystery_amulet: while self.buy_mall_one(buy_button=self.I_MS_BLUE, buy_check=self.I_MS_CHECK_BLUE, - money_ocr=self.O_MALL_RESOURCE_5, buy_money=85): + money_ocr=self.O_MALL_RESOURCE_5, buy_money=85, more_window=True): pass if shop_config.black_daruma_scrap: while self.buy_mall_one(buy_button=self.I_MS_BLACK, buy_check=self.I_MS_CHECK_BLACK, diff --git a/tasks/RichMan/mall/friendship_points.py b/tasks/RichMan/mall/friendship_points.py index 2727060a7d..8cd21b1cc6 100644 --- a/tasks/RichMan/mall/friendship_points.py +++ b/tasks/RichMan/mall/friendship_points.py @@ -32,13 +32,15 @@ def execute_friendship(self, con: FriendshipPointsConfig = None): self.buy_mall_more(buy_button=self.I_FS_BROKEN, remain_number=False, money_ocr=self.I_MALL_RESOURCE_FRIENDS.build_mall_resource_ocr(self.device.image), buy_number=con.broken_amulet, buy_max=99, buy_money=100) - def buy_mall_one(self, buy_button: RuleImage, buy_check: RuleImage, money_ocr: RuleOcr, buy_money: int): + def buy_mall_one(self, buy_button: RuleImage, buy_check: RuleImage, money_ocr: RuleOcr, buy_money: int, + more_window: bool = False): """ 针对只能买一个的 :param buy_button: :param buy_check: :param money_ocr: :param buy_money: 买这一个花多少 + :param more_window: 购买弹窗可能是多数量窗口(剩余次数大于1时), 为 True 时按弹窗类型选 buy_more 或 buy_one :return: """ logger.hr(buy_button.name, 3) @@ -62,6 +64,10 @@ def buy_mall_one(self, buy_button: RuleImage, buy_check: RuleImage, money_ocr: R logger.warning(f'No enough money {current_money}') return False # 点击购买 + if more_window: + # 钱不够买满剩余数量时, 只买得起的数量 + number = None if current_money >= buy_money * _remain else current_money // buy_money + return self.buy_one_or_more(buy_button, buy_check, number) return self.buy_one(buy_button, buy_check) def buy_mall_more(self, buy_button: RuleImage, remain_number: bool, money_ocr: RuleOcr, From be5f3c978505bc45be6dd9800245697347c12bea Mon Sep 17 00:00:00 2001 From: kunkun008 <77577702+kunkun008@users.noreply.github.com> Date: Sat, 24 Oct 2026 08:06:09 +0800 Subject: [PATCH 02/14] =?UTF-8?q?fix(MysteryShop):=20=E8=93=9D=E7=A5=A8?= =?UTF-8?q?=E6=8C=89=E5=8D=95=E4=BB=B7=E5=88=A4=E6=96=AD=EF=BC=8C=E9=AB=98?= =?UTF-8?q?=E4=BA=8E=2085=20=E5=8B=BE=E7=8E=89=E4=B8=8D=E4=B9=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 读取购买按钮上的勾玉单价;单价高于 85、低于 40(视为识别错误)或不是勾玉支付时取消购买。 购买数量 = min(剩余次数, 余额 // 单价)。 --- tasks/Component/Buy/assets.py | 4 + tasks/Component/Buy/buy.py | 134 ++++++++++++++++++++++- tasks/Component/Buy/buy/buy_buy_jade.png | Bin 0 -> 3794 bytes tasks/Component/Buy/buy/image.json | 9 ++ tasks/Component/Buy/buy/ocr.json | 9 ++ tasks/MysteryShop/script_task.py | 3 +- tasks/RichMan/mall/friendship_points.py | 13 ++- 7 files changed, 164 insertions(+), 8 deletions(-) create mode 100644 tasks/Component/Buy/buy/buy_buy_jade.png diff --git a/tasks/Component/Buy/assets.py b/tasks/Component/Buy/assets.py index 281c4ed2b6..a5c23a9d23 100644 --- a/tasks/Component/Buy/assets.py +++ b/tasks/Component/Buy/assets.py @@ -30,10 +30,14 @@ class BuyAssets: I_BUY_RMB = RuleImage(roi_front=(610,532,35,32), roi_back=(548,483,178,119), threshold=0.8, method="Template matching", file="./tasks/Component/Buy/buy/buy_buy_rmb.png") # 购买成功 I_BUY_SUCCESS = RuleImage(roi_front=(512,53,261,44), roi_back=(449,0,405,167), threshold=0.8, method="Template matching", file="./tasks/Component/Buy/buy/buy_buy_success.png") + # 确认按钮上的勾玉 + I_BUY_JADE = RuleImage(roi_front=(604,537,42,52), roi_back=(540,480,200,120), threshold=0.8, method="Template matching", file="./tasks/Component/Buy/buy/buy_buy_jade.png") # Ocr Rule Assets # Ocr-description O_BUY_NUMBER = RuleOcr(roi=(578,416,52,71), area=(578,416,52,71), mode="Digit", method="Default", keyword="", name="buy_number") + # 确认按钮上的单价, roi 运行时按勾玉图标位置设置 + O_BUY_PRICE = RuleOcr(roi=(646,537,60,52), area=(646,537,60,52), mode="Digit", method="Default", keyword="", name="buy_price") diff --git a/tasks/Component/Buy/buy.py b/tasks/Component/Buy/buy.py index 1fa319fcb6..750bd50daf 100644 --- a/tasks/Component/Buy/buy.py +++ b/tasks/Component/Buy/buy.py @@ -165,23 +165,34 @@ def buy_more(self, start_click: Union[RuleImage, RuleOcr, RuleClick], return True def buy_one_or_more(self, start_click: Union[RuleImage, RuleOcr, RuleClick], - check_image: RuleImage, number: int = None) -> bool: + check_image: RuleImage, number: int = None, + max_price: int = None, money: int = None, remain: int = None) -> bool: """ 购买弹窗可能是单个购买窗口, 也可能是带数量选择(加号)的多数量购买窗口 先点开弹窗, 出现加号走 buy_more, 出现单个购买窗口走 buy_one :param start_click: 开始点击 :param check_image: 单个购买窗口确认时候的图片 - :param number: 多数量窗口的购买数量, 不指定就是拉满 - :return: 超时没等到任何购买弹窗返回 False + :param number: 多数量窗口的购买数量, 不指定就是拉满. 指定 max_price 时不用, 数量按 money 和 remain 算 + :param max_price: 单价上限, 不为 None 时先读确认按钮上的勾玉单价, 没有勾玉、读不到或超过上限就取消购买 + :param money: 当前余额, 指定 max_price 时用来算买得起几个 + :param remain: 剩余购买次数, 指定 max_price 时用来算购买数量 + :return: 超时没等到任何购买弹窗或取消购买返回 False """ timeout = Timer(10).start() while 1: self.screenshot() if self.appear(self.I_BUY_PLUS): + if max_price is not None: + return self._buy_with_price(start_click, check_image, True, max_price, money, remain) + if number == 1: + # buy_more 指定数量时会先点一次加号再 OCR, 买 1 个会变成买 2 个 + return self._buy_more_default(start_click) logger.info('Buy window with number selector, use buy_more') return self.buy_more(start_click, number) if self.appear(check_image): + if max_price is not None: + return self._buy_with_price(start_click, check_image, False, max_price, money, remain) logger.info('Single buy window, use buy_one') return self.buy_one(start_click, check_image) if timeout.reached(): @@ -198,6 +209,123 @@ def buy_one_or_more(self, start_click: Union[RuleImage, RuleOcr, RuleClick], if self.click(start_click, interval=1): continue + def _buy_with_price(self, start_click: Union[RuleImage, RuleOcr, RuleClick], check_image: RuleImage, + more: bool, max_price: int, money: int, remain: int) -> bool: + """ + 购买弹窗已打开, 读确认按钮上的勾玉单价, 不超过上限才买 + :param more: True 为多数量购买窗口, False 为单个购买窗口 + :return: 买到返回 True, 取消购买或达到购买上限返回 False + """ + price = self._buy_read_price() + if price is None or price > max_price: + logger.warning(f'Buy price {price} is unknown or over max price {max_price}, cancel buy') + self._buy_cancel(check_image) + return False + if not more: + logger.info(f'Single buy window, price {price}, buy number 1') + return self.buy_one(start_click, check_image) + if money is None or remain is None: + # 没传余额或剩余次数时只买 1 个 + number = 1 + else: + number = min(remain, money // price) + logger.info(f'Buy price {price}, money {money}, remain {remain}, buy number {number}') + if number < 1: + logger.warning('Money is not enough to buy one, cancel buy') + self._buy_cancel(check_image) + return False + if number == 1: + return self._buy_more_default(start_click) + if number == remain: + return self.buy_more(start_click, None) + return self.buy_more(start_click, number) + + def _buy_read_price(self, min_price: int = 40) -> Union[int, None]: + """ + 读购买确认按钮上的勾玉单价: 先等勾玉图标出现, 再读图标右边的数字 + :param min_price: 单价下限, 低于它当作 OCR 读错(例如 90 少读一位成 9). 默认 40: 蓝票已知最低价 50, 留一点余量 + :return: 单价, 没有勾玉图标、读不到或低于下限返回 None + """ + jade_timer = Timer(2).start() + while 1: + if self.appear(self.I_BUY_JADE): + break + if jade_timer.reached(): + logger.warning('Jade icon is not found on buy button, maybe not paid by jade') + return None + self.screenshot() + x, y, w, h = self.I_BUY_JADE.roi_front + # 只取图标右边, 裁剪框碰到图标会把图标读成 1, 例如 90 读成 190 + self.O_BUY_PRICE.roi = [x + w, y, 60, h] + price = self.O_BUY_PRICE.ocr(self.device.image) + try: + price = int(price) + except (TypeError, ValueError): + price = 0 + if price == 0: + # Digit 读不到时返回 0 + logger.warning('OCR buy price failed') + return None + if price < min_price: + logger.warning(f'Buy price {price} is lower than min price {min_price}, treat as OCR error') + return None + return price + + def _buy_cancel(self, check_image: RuleImage) -> bool: + """ + 点取消关掉购买弹窗, 直到多数量窗口的加号和单个购买窗口的确认图都消失 + :return: 关掉返回 True, 超时返回 False + """ + timeout = Timer(10).start() + while 1: + self.screenshot() + if not self.appear(self.I_BUY_PLUS) and not self.appear(check_image): + return True + if timeout.reached(): + logger.warning('Cancel buy window timeout') + return False + if self.click(self.C_BUY_CANCEL, interval=1): + continue + + def _buy_more_default(self, start_click: Union[RuleImage, RuleOcr, RuleClick]) -> bool: + """ + 多数量购买窗口不调整数量, 默认数量为 1 时直接确认买 1 个 + :param start_click: 默认数量不是 1 时退回 buy_more(start_click, 1) 用 + :return: 买到返回 True, 达到购买上限返回 False + """ + ocr_timer = Timer(2).start() + while 1: + current = self.O_BUY_NUMBER.ocr(self.device.image) + if current == 1: + break + if ocr_timer.reached(): + logger.warning(f'Default buy number is {current}, fallback to buy_more') + return self.buy_more(start_click, 1) + self.screenshot() + logger.info('Buy window with number selector, buy one with default number') + while 1: + self.screenshot() + + if self.ui_reward_appear_click(): + while 1: + self.screenshot() + # 等待动画结束 + if not self.appear(self.I_UI_REWARD, threshold=0.6): + logger.info('Get reward success') + break + # 一直点击 + if self.ui_reward_appear_click(): + continue + return True + + if self.appear(self.I_UI_CONFIRM_SAMLL): + self.ui_click_until_disappear(self.I_UI_CONFIRM_SAMLL, interval=1) + logger.warning('Buy number limit') + return False + + if self.click(self.C_BUY_MORE, interval=2): + continue + def buy_check_money(self, target: RuleOcr, minimum: int): """ 检查钱是否足够 diff --git a/tasks/Component/Buy/buy/buy_buy_jade.png b/tasks/Component/Buy/buy/buy_buy_jade.png new file mode 100644 index 0000000000000000000000000000000000000000..4757eeab4533ce58af8e966a2a9aa0123eb639eb GIT binary patch literal 3794 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 buy_money * _remain else current_money // buy_money - return self.buy_one_or_more(buy_button, buy_check, number) + # 不读单价时只买 1 个, 由调用方循环重新检查剩余次数和余额再买 + return self.buy_one_or_more(buy_button, buy_check, 1) return self.buy_one(buy_button, buy_check) def buy_mall_more(self, buy_button: RuleImage, remain_number: bool, money_ocr: RuleOcr, From 47b9064b2f3d259a6416bc084e2590b2872b422c Mon Sep 17 00:00:00 2001 From: kunkun008 <77577702+kunkun008@users.noreply.github.com> Date: Sat, 24 Oct 2026 08:25:57 +0800 Subject: [PATCH 03/14] =?UTF-8?q?fix(MysteryShop):=20=E8=93=9D=E7=A5=A8?= =?UTF-8?q?=E4=BD=99=E9=A2=9D=E4=B8=8D=E5=A4=9F=E4=B9=B0=E6=BB=A1=E6=97=B6?= =?UTF-8?q?=E9=80=90=E5=BC=A0=E8=B4=AD=E4=B9=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 避免 buy_more(n) 在点加号时超过目标数量。 --- tasks/Component/Buy/buy.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tasks/Component/Buy/buy.py b/tasks/Component/Buy/buy.py index 750bd50daf..807c814a43 100644 --- a/tasks/Component/Buy/buy.py +++ b/tasks/Component/Buy/buy.py @@ -238,7 +238,10 @@ def _buy_with_price(self, start_click: Union[RuleImage, RuleOcr, RuleClick], che return self._buy_more_default(start_click) if number == remain: return self.buy_more(start_click, None) - return self.buy_more(start_click, number) + # buy_more(start_click, number) 点加号后才读数量, 可能超过 number. + # 余额不够买满时每次只买 1 个, 调用方循环会重新读余额和剩余次数再买下一个 + logger.info(f'Money is not enough to buy all {remain}, buy one by one') + return self._buy_more_default(start_click) def _buy_read_price(self, min_price: int = 40) -> Union[int, None]: """ From 85632077691cc913da1e85755f56a615fee99bcd Mon Sep 17 00:00:00 2001 From: neptine <2234044577@qq.com> Date: Sat, 24 Oct 2026 21:01:06 +0800 Subject: [PATCH 04/14] fix(AreaBoss): Handle fox battle scene settlement #1967 --- module/device/device.py | 6 +++++- tasks/AreaBoss/script_task.py | 22 +++++++++++++------- tasks/Component/GeneralBattle/battle_wait.py | 16 ++++++++------ 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/module/device/device.py b/module/device/device.py index a388cbc052..a57b38db42 100644 --- a/module/device/device.py +++ b/module/device/device.py @@ -12,7 +12,11 @@ from module.config.utils import get_server_next_update from module.device.app_control import AppControl from module.device.control import Control -from module.device.desktop_device import DesktopDevice +if IS_WINDOWS: + from module.device.desktop_device import DesktopDevice +else: + class DesktopDevice: + pass from module.device.platform2 import Platform from module.device.screenshot import Screenshot from module.exception import (GameNotRunningError, diff --git a/tasks/AreaBoss/script_task.py b/tasks/AreaBoss/script_task.py index 9d80b3bee3..5006e1328e 100644 --- a/tasks/AreaBoss/script_task.py +++ b/tasks/AreaBoss/script_task.py @@ -10,6 +10,8 @@ from module.atom.click import RuleClick from tasks.base_task import BaseTask from tasks.Component.GeneralBattle.general_battle import GeneralBattle +from tasks.Component.GeneralBattle.battle import Battle +from tasks.Component.GeneralBattle.battle_wait import battle_wait_strategy, battle_wait_options from tasks.GameUi.game_ui import GameUi from tasks.GameUi.page import page_area_boss, page_shikigami_records from tasks.Component.SwitchSoul.switch_soul import SwitchSoul @@ -21,7 +23,7 @@ from typing import List -class ScriptTask(GeneralBattle, GameUi, SwitchSoul, AreaBossAssets): +class ScriptTask(Battle, GeneralBattle, GameUi, SwitchSoul, AreaBossAssets): def _get_dynamic_boss_count(self) -> int: """ @@ -159,10 +161,10 @@ def boss_fight(self, battle: RuleImage, fileter_open: bool = True) -> bool: return False # 如果已经打过该BOSS,直接跳过不打了 - if self.is_group_ranked(): - logger.warning("There is no boss could be challenged") - self.ui_click_until_disappear(self.I_AB_CLOSE_RED, interval=3) - return True + # if self.is_group_ranked(): + # logger.warning("There is no boss could be challenged") + # self.ui_click_until_disappear(self.I_AB_CLOSE_RED, interval=3) + # return True # 根据 reward_floor 决定模式 if reward_floor in (AreaBossFloor.ONE, AreaBossFloor.TEN): @@ -193,8 +195,12 @@ def start_fight(self) -> bool: continue if not self.appear(self.I_AB_CLOSE_RED): # 如果这个红色的关闭不见了才可以进行继续 break - - return self.run_general_battle(self.config.area_boss.general_battle) + strategies, options = self.loadout_from_config(self.config.area_boss.general_battle) + options['completion'].check_imgs = [self.I_FIRE, self.I_FILTER] + self.loadout_show((strategies, options)) # 使用的是默认的策略: strategies + with battle_wait_options(**options): + win = self.battle_wait() + return win def setup_ultra(self, floor: AreaBossFloor = AreaBossFloor.ONE) -> bool: # 确定进入鬼王界面 @@ -493,6 +499,8 @@ def check_common_chars(self, bossName, name): return 1 else: return 0 # 如果交集的字符少于2个,可以根据需要返回其他值 + + if __name__ == '__main__': from module.config.config import Config from module.device.device import Device diff --git a/tasks/Component/GeneralBattle/battle_wait.py b/tasks/Component/GeneralBattle/battle_wait.py index f6189d3ff7..fb84f97c28 100644 --- a/tasks/Component/GeneralBattle/battle_wait.py +++ b/tasks/Component/GeneralBattle/battle_wait.py @@ -1100,6 +1100,10 @@ def _nondefault(o): print('=' * 64) time.sleep(0.6) + def refresh_long_time(self) -> None: + self.device.stuck_record_add('BATTLE_STATUS_S') + self.device.click_record_clear() + # ------------------------------------------------------------------------------------------------------------------ # build in # ------------------------------------------------------------------------------------------------------------------ @@ -1107,8 +1111,7 @@ def _bw_setup_default(self, pub: PublicContext, pri: PrivateContext) -> HookSign self.C_REWARD_1.name = 'C_REWARD' self.C_REWARD_2.name = 'C_REWARD' self.C_REWARD_3.name = 'C_REWARD' - self.device.stuck_record_add('BATTLE_STATUS_S') - self.device.click_record_clear() + self.refresh_long_time() logger.info('Start battle process') return HookSignal.DONE @@ -1248,6 +1251,7 @@ def _bw_prepare_default(self, pub: PublicContext, pri: PrivateContext) -> HookSi if pri_options.lock_team or self.is_in_real_battle(False): logger.info('Prepare stage finish') state.done = True + self.refresh_long_time() return runtime.hook_enabled_update( enable=('green', 'red', 'echo'), disable=('prepare', 'preset'), @@ -1290,7 +1294,6 @@ def _bw_preset_default(self, pub: PublicContext, pri: PrivateContext) -> HookSig return HookSignal.CONTINUE if not pri_options.preset_enable or state.done: return HookSignal.CONTINUE - logger.info("Preset is enable") # 点击预设按钮 while 1: @@ -1478,6 +1481,7 @@ def _bw_green_default(self, pub: PublicContext, pri: PrivateContext) -> HookSign # 点击绿标 self.device.click(x, y) state.done = True + self.refresh_long_time() return runtime.hook_enabled_update( enable=(), disable=('green',), @@ -1521,8 +1525,8 @@ def _bw_randomclick_default(self, pub: PublicContext, pri: PrivateContext) -> Ho # custom # ------------------------------------------------------------------------------------------------------------------ def _bw_success_soul(self, pub: PublicContext, pri: PrivateContext) -> HookSignal: - state = pri.per_battle - options = pri.options + state: PerBattleSuccess = pri.per_battle + options: OptionSuccessDefault = pri.options if not isinstance(state, PerBattleSuccess) or not isinstance(options, OptionSuccessDefault): raise TypeError("battle wait option 'success' must be an OptionSuccessDefault") if state.click_stage_1 is None: @@ -1565,7 +1569,7 @@ def _bw_success_soul(self, pub: PublicContext, pri: PrivateContext) -> HookSigna return HookSignal.CONTINUE @cached_property - def exclude_click_activity(self, areas: list[str] = None) -> RuleClickExclude: + def exclude_click_activity(self) -> RuleClickExclude: inputs = [] for area in ['C_END_MESSAGE_RIGHT_TOP', 'C_END_ACTIVITY_REWARD']: click = getattr(self, area, None) From 6360d6a947eb3c3d39514e8c16354d626a859ad8 Mon Sep 17 00:00:00 2001 From: weirj2016-ai <282596331+weirj2016-ai@users.noreply.github.com> Date: Sat, 24 Oct 2026 21:32:52 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=81=93=E9=A6=86?= =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=94=BB=E5=87=BB=E5=90=8E=E7=9A=84=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E9=97=B4=E9=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/Dokan/script_task.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/Dokan/script_task.py b/tasks/Dokan/script_task.py index e6063133e8..173faaf748 100644 --- a/tasks/Dokan/script_task.py +++ b/tasks/Dokan/script_task.py @@ -950,7 +950,7 @@ def next_run(self, skip_today=False, is_dokan_activated=False): # # 本来以为server为False(finish=True,success=False,server=False)就不会变成明天,谁知道还是变成明天 # # 逻辑太复杂,不如直接target,简单点 if self.config.dokan.attack_count_config.remain_attack_count == 1 and self.config.dokan.attack_count_config.daily_attack_count == 2: - self.set_next_run(task="Dokan", target=now + self.config.dokan.scheduler.failure_interval) + self.set_next_run(task="Dokan", target=now + self.config.dokan.scheduler.failure_interval, server=False) return # 其余情况当作成功 self.set_next_run(task="Dokan", finish=False, success=True, server=True) From cacc2af31464285c33407c185cbb9d9c5aea1eb3 Mon Sep 17 00:00:00 2001 From: davidyangkunlong <22984788@qq.com> Date: Sat, 24 Oct 2026 21:59:06 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E5=BE=A1=E9=AD=82=E6=BA=A2=E5=87=BA?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 增加了旧版调用通用战斗的御魂溢出处理。(如果任务重写了battle_wait,比如御魂战斗的,需要单独修改,目前只修改了御魂战斗,其他重新了battle_wait的喂修改) 2 新版战斗处理中,不去interupt事件里面处理。原因是如果去新函数inerupt事件里面处理,再重新进入success该函数的时候,低概率出现战斗结束了,因检测不到几种奖励标志,在success处理函数中进入不到后续处理,不停循环。 --- tasks/Component/GeneralBattle/battle_wait.py | 4 ---- tasks/Component/GeneralBattle/general_battle.py | 5 +++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tasks/Component/GeneralBattle/battle_wait.py b/tasks/Component/GeneralBattle/battle_wait.py index fb84f97c28..3de381b66c 100644 --- a/tasks/Component/GeneralBattle/battle_wait.py +++ b/tasks/Component/GeneralBattle/battle_wait.py @@ -1187,10 +1187,6 @@ def _bw_success_default(self, pub: PublicContext, pri: PrivateContext) -> HookSi while 1: self.screenshot() - # 发现御魂溢出,直接跳出,在interupt里面处理 - if self.appear(self.I_OVER_GHOST): - return HookSignal.CONTINUE - # 结算的时候御魂溢出提示,点击【知道了】 if self.appear(self.I_OVER_GHOST): self.click(self.I_OVER_GHOST) diff --git a/tasks/Component/GeneralBattle/general_battle.py b/tasks/Component/GeneralBattle/general_battle.py index f255580110..d708293d6c 100644 --- a/tasks/Component/GeneralBattle/general_battle.py +++ b/tasks/Component/GeneralBattle/general_battle.py @@ -228,6 +228,11 @@ def battle_wait(self, random_click_swipt_enable: bool) -> bool: logger.info("Get reward") while 1: self.screenshot() + + if self.appear(self.I_OVER_GHOST): + self.click(self.I_OVER_GHOST) + continue + # 如果出现领奖励 action_click = random.choice([self.C_REWARD_1, self.C_REWARD_2, self.C_REWARD_3]) if (self.appear_then_click(self.I_REWARD, action=action_click, interval=1.5) or From 329ecfc7a34e6a5f97790b5cff78fd40d442e663 Mon Sep 17 00:00:00 2001 From: weirj2016-ai <282596331+weirj2016-ai@users.noreply.github.com> Date: Wed, 28 Oct 2026 13:51:18 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B0=B8=E7=94=9F?= =?UTF-8?q?=E4=B9=8B=E6=B5=B7=E9=98=9F=E5=91=98=E9=94=81=E5=AE=9A=E9=98=B5?= =?UTF-8?q?=E5=AE=B9=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/EternitySea/script_task.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tasks/EternitySea/script_task.py b/tasks/EternitySea/script_task.py index f5d898dab9..a5a15fcfe2 100644 --- a/tasks/EternitySea/script_task.py +++ b/tasks/EternitySea/script_task.py @@ -36,6 +36,13 @@ def _two_teams_switch_sous(self, config): self.goto_page(page_shikigami_records) self.run_switch_soul_by_name(config.group_name, config.team_name) + def _prepare_eternity_sea(self): + self.goto_page(page_soul_zones) + self._enter_eternity_sea() + layer = self._task_config.eternity_sea_config.layer + self.check_layer(layer) + self.check_lock(self._task_config.general_battle_config.lock_team_enable) + def run(self) -> None: self._two_teams_switch_sous(self._task_config.switch_soul_config_1) self._two_teams_switch_sous(self._task_config.switch_soul_config_2) @@ -55,11 +62,7 @@ def run(self) -> None: def run_leader(self): logger.info('Start run leader') - self.goto_page(page_soul_zones) - self._enter_eternity_sea() - layer = self._task_config.eternity_sea_config.layer - self.check_layer(layer) - self.check_lock(self._task_config.general_battle_config.lock_team_enable) + self._prepare_eternity_sea() # 创建队伍 logger.info('Create team') while 1: @@ -177,9 +180,7 @@ def _back_to_soul_zones(self) -> None: def run_member(self): logger.info('Start run member') - # self.ui_goto(page_soul_zones) - # self.orochi_enter() - # self.check_lock(self.config.orochi.general_battle_config.lock_team_enable) + self._prepare_eternity_sea() # 进入战斗流程 self.device.stuck_record_add('BATTLE_STATUS_S') @@ -332,4 +333,4 @@ def check_lock(self, lock: bool = True) -> bool: c = Config("oas1") d = Device(c) t = ScriptTask(c, d) - t.screenshot() \ No newline at end of file + t.screenshot() From 921a2b8270884063762b2e73e8475fe148e7e42d Mon Sep 17 00:00:00 2001 From: User <190754820@qq.com> Date: Wed, 28 Oct 2026 18:08:53 +0800 Subject: [PATCH 08/14] =?UTF-8?q?fix(WantedQuests):=20=E9=80=82=E9=85=8D?= =?UTF-8?q?=E6=82=AC=E8=B5=8F=E5=B0=81=E5=8D=B0=E6=96=B0=20UI=20=E5=B9=B6?= =?UTF-8?q?=E6=B8=85=E7=90=86=E5=AD=A4=E7=AB=8B=E8=B5=84=E4=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重新提取悬赏封印及协作邀请相关模板,匹配游戏新版本界面 - 悬赏目标识别由精确匹配改为子串包含匹配,避免前缀动词导致漏判 - 单个任务追踪弹窗关闭按钮改用通用红叉 I_UI_BACK_RED - 清理已失效孤立资产 C_WQ_TRACE_ONE_CLOSE/I_WQ_CHECK_TASK 及其 png --- tasks/WantedQuests/assets.py | 84 +++++++++--------- tasks/WantedQuests/invite/image.json | 72 +++++++-------- .../invite/invite_wq_invite_1.png | Bin 3142 -> 3121 bytes .../invite/invite_wq_invite_2.png | Bin 2978 -> 2366 bytes .../invite/invite_wq_invite_3.png | Bin 2738 -> 3016 bytes tasks/WantedQuests/script_task.py | 5 +- tasks/WantedQuests/wq/click.json | 6 -- tasks/WantedQuests/wq/image.json | 57 +++++------- tasks/WantedQuests/wq/ocr.json | 40 ++++----- tasks/WantedQuests/wq/wq_goto_1.png | Bin 8389 -> 3221 bytes tasks/WantedQuests/wq/wq_goto_2.png | Bin 8398 -> 3283 bytes tasks/WantedQuests/wq/wq_goto_3.png | Bin 4217 -> 3004 bytes tasks/WantedQuests/wq/wq_goto_4.png | Bin 7743 -> 3008 bytes tasks/WantedQuests/wq/wq_tarce_disenable.png | Bin 16384 -> 0 bytes tasks/WantedQuests/wq/wq_trace_disable.png | Bin 16384 -> 9589 bytes tasks/WantedQuests/wq/wq_trace_enable.png | Bin 15497 -> 7101 bytes tasks/WantedQuests/wq/wq_trace_false.png | Bin 1644 -> 13674 bytes .../wq/wq_trace_one_check_opened.png | Bin 13510 -> 3302 bytes .../WantedQuests/wq/wq_trace_one_disable.png | Bin 2903 -> 10508 bytes tasks/WantedQuests/wq/wq_trace_one_enable.png | Bin 4111 -> 14701 bytes .../wq/wq_trace_one_realworld.png | Bin 22523 -> 5225 bytes tasks/WantedQuests/wq/wq_trace_true.png | Bin 1960 -> 13140 bytes tasks/WantedQuests/wq/wq_wq_check_task.png | Bin 3318 -> 0 bytes 23 files changed, 123 insertions(+), 141 deletions(-) delete mode 100644 tasks/WantedQuests/wq/wq_tarce_disenable.png delete mode 100644 tasks/WantedQuests/wq/wq_wq_check_task.png diff --git a/tasks/WantedQuests/assets.py b/tasks/WantedQuests/assets.py index d91a593bc4..632d619257 100644 --- a/tasks/WantedQuests/assets.py +++ b/tasks/WantedQuests/assets.py @@ -21,11 +21,11 @@ class WantedQuestsAssets: # Image Rule Assets # description - I_WQ_INVITE_1 = RuleImage(roi_front=(137,361,39,47), roi_back=(108,338,100,100), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/invite_wq_invite_1.png") + I_WQ_INVITE_1 = RuleImage(roi_front=(103,397,37,38), roi_back=(79,366,146,104), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/invite_wq_invite_1.png") # description - I_WQ_INVITE_2 = RuleImage(roi_front=(462,361,37,47), roi_back=(435,336,100,100), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/invite_wq_invite_2.png") + I_WQ_INVITE_2 = RuleImage(roi_front=(386,399,31,35), roi_back=(355,368,157,108), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/invite_wq_invite_2.png") # description - I_WQ_INVITE_3 = RuleImage(roi_front=(754,366,39,42), roi_back=(728,339,100,100), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/invite_wq_invite_3.png") + I_WQ_INVITE_3 = RuleImage(roi_front=(671,402,37,37), roi_back=(640,368,176,105), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/invite_wq_invite_3.png") # description I_WQ_FRIEND_1 = RuleImage(roi_front=(240,185,180,80), roi_back=(240,185,180,80), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/invite_wq_friend_1.png") # description @@ -51,35 +51,35 @@ class WantedQuestsAssets: # 邀请跨服好友,已选中状态,高亮状态 I_WQ_INVITE_DIFF_SVR_HIGHLIGHT = RuleImage(roi_front=(260,70,120,90), roi_back=(260,70,120,90), threshold=0.9, method="Template matching", file="./tasks/WantedQuests/invite/wq_invite_diff_svr_highlight.png") # 从左到右第一个协作任务的类型 - I_WQ_COOPERATION_TYPE_GOLD_1 = RuleImage(roi_front=(195,505,180,90), roi_back=(195,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_gold.png") + I_WQ_COOPERATION_TYPE_GOLD_1 = RuleImage(roi_front=(127,527,180,90), roi_back=(127,527,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_gold.png") # 从左到右第一个协作任务的类型 - I_WQ_COOPERATION_TYPE_JADE_1 = RuleImage(roi_front=(195,505,180,90), roi_back=(195,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_jade.png") + I_WQ_COOPERATION_TYPE_JADE_1 = RuleImage(roi_front=(130,527,180,90), roi_back=(130,527,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_jade.png") # 从左到右第一个协作任务的类型为狗粮 - I_WQ_COOPERATION_TYPE_DOG_FOOD_1 = RuleImage(roi_front=(195,505,180,90), roi_back=(195,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_dog_food.png") + I_WQ_COOPERATION_TYPE_DOG_FOOD_1 = RuleImage(roi_front=(131,526,180,90), roi_back=(131,526,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_dog_food.png") # 从左到右第一个协作任务的类型为猫粮 - I_WQ_COOPERATION_TYPE_CAT_FOOD_1 = RuleImage(roi_front=(195,505,180,90), roi_back=(195,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_cat_food.png") + I_WQ_COOPERATION_TYPE_CAT_FOOD_1 = RuleImage(roi_front=(131,525,180,90), roi_back=(131,525,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_cat_food.png") # 从左到右第一个协作任务的类型 - I_WQ_COOPERATION_TYPE_SUSHI_1 = RuleImage(roi_front=(195,505,180,90), roi_back=(195,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_sushi.png") + I_WQ_COOPERATION_TYPE_SUSHI_1 = RuleImage(roi_front=(130,525,180,90), roi_back=(130,525,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_sushi.png") # 从左到右第二个协作任务的类型 - I_WQ_COOPERATION_TYPE_GOLD_2 = RuleImage(roi_front=(490,505,180,90), roi_back=(490,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_gold.png") + I_WQ_COOPERATION_TYPE_GOLD_2 = RuleImage(roi_front=(412,525,180,90), roi_back=(412,525,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_gold.png") # 从左到右第二个协作任务的类型 - I_WQ_COOPERATION_TYPE_JADE_2 = RuleImage(roi_front=(490,505,180,90), roi_back=(490,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_jade.png") + I_WQ_COOPERATION_TYPE_JADE_2 = RuleImage(roi_front=(413,525,180,90), roi_back=(413,525,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_jade.png") # 从左到右第二个协作任务的类型为狗粮 - I_WQ_COOPERATION_TYPE_DOG_FOOD_2 = RuleImage(roi_front=(490,505,180,90), roi_back=(490,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_dog_food.png") + I_WQ_COOPERATION_TYPE_DOG_FOOD_2 = RuleImage(roi_front=(413,527,179,89), roi_back=(413,527,179,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_dog_food.png") # 从左到右第二个协作任务的类型为猫粮 - I_WQ_COOPERATION_TYPE_CAT_FOOD_2 = RuleImage(roi_front=(490,505,180,90), roi_back=(490,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_cat_food.png") + I_WQ_COOPERATION_TYPE_CAT_FOOD_2 = RuleImage(roi_front=(412,525,180,90), roi_back=(412,525,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_cat_food.png") # 从左到右第二个协作任务的类型 - I_WQ_COOPERATION_TYPE_SUSHI_2 = RuleImage(roi_front=(490,505,180,90), roi_back=(490,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_sushi.png") + I_WQ_COOPERATION_TYPE_SUSHI_2 = RuleImage(roi_front=(413,526,180,90), roi_back=(413,526,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_sushi.png") # 从左到右第三个协作任务的类型 - I_WQ_COOPERATION_TYPE_GOLD_3 = RuleImage(roi_front=(790,505,180,90), roi_back=(790,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_gold.png") + I_WQ_COOPERATION_TYPE_GOLD_3 = RuleImage(roi_front=(693,524,180,90), roi_back=(693,524,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_gold.png") # 从左到右第三个协作任务的类型 - I_WQ_COOPERATION_TYPE_JADE_3 = RuleImage(roi_front=(790,505,180,90), roi_back=(790,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_jade.png") + I_WQ_COOPERATION_TYPE_JADE_3 = RuleImage(roi_front=(693,527,180,90), roi_back=(693,527,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_jade.png") # 从左到右第三个协作任务的类型为狗粮 - I_WQ_COOPERATION_TYPE_DOG_FOOD_3 = RuleImage(roi_front=(790,505,180,90), roi_back=(790,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_dog_food.png") + I_WQ_COOPERATION_TYPE_DOG_FOOD_3 = RuleImage(roi_front=(694,525,180,90), roi_back=(694,525,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_dog_food.png") # 从左到右第三个协作任务的类型为猫粮 - I_WQ_COOPERATION_TYPE_CAT_FOOD_3 = RuleImage(roi_front=(790,505,180,90), roi_back=(790,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_cat_food.png") + I_WQ_COOPERATION_TYPE_CAT_FOOD_3 = RuleImage(roi_front=(693,526,180,90), roi_back=(693,526,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_cat_food.png") # 从左到右第三个协作任务的类型 - I_WQ_COOPERATION_TYPE_SUSHI_3 = RuleImage(roi_front=(790,505,180,90), roi_back=(790,505,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_sushi.png") + I_WQ_COOPERATION_TYPE_SUSHI_3 = RuleImage(roi_front=(692,526,180,90), roi_back=(692,526,180,90), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/invite/wq_cooperation_type_sushi.png") # Ocr Rule Assets @@ -94,8 +94,6 @@ class WantedQuestsAssets: C_SECRET_CHAT = RuleClick(roi_front=(597,296,59,100), roi_back=(597,296,59,100), name="secret_chat") # 特殊的庭院需要点击,然后才能找到这个悬赏 C_SPECIAL_MAIN = RuleClick(roi_front=(409,572,32,30), roi_back=(404,569,41,35), name="special_main") - # 关闭 单个任务追踪界面 所需点击 的 空白区域 - C_WQ_TRACE_ONE_CLOSE = RuleClick(roi_front=(170,30,400,100), roi_back=(170,30,400,100), name="wq_trace_one_close") # Image Rule Assets @@ -104,38 +102,36 @@ class WantedQuestsAssets: # 勾号 I_WQ_DONE = RuleImage(roi_front=(248,183,37,39), roi_back=(63,134,624,401), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_wq_done.png") # 一键追踪 - I_TRACE_ENABLE = RuleImage(roi_front=(1097,588,101,70), roi_back=(1097,588,101,70), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_enable.png") + I_TRACE_ENABLE = RuleImage(roi_front=(1159,606,52,58), roi_back=(1075,518,198,196), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_enable.png") # 取消追踪 - I_TRACE_DISABLE = RuleImage(roi_front=(1091,586,108,70), roi_back=(1091,586,108,70), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_disable.png") + I_TRACE_DISABLE = RuleImage(roi_front=(1154,609,68,58), roi_back=(1065,495,215,225), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_disable.png") # 奖励宝箱 I_WQ_BOX = RuleImage(roi_front=(48,187,43,38), roi_back=(12,78,108,496), threshold=0.7, method="Template matching", file="./tasks/WantedQuests/wq/wq_wq_box.png") # 小号追踪 - I_TRACE_TRUE = RuleImage(roi_front=(173,187,28,29), roi_back=(173,187,28,29), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_true.png") + I_TRACE_TRUE = RuleImage(roi_front=(1148,571,77,69), roi_back=(1035,502,245,213), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_true.png") # 小号不追踪 - I_TRACE_FALSE = RuleImage(roi_front=(170,186,31,32), roi_back=(170,186,31,32), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_false.png") + I_TRACE_FALSE = RuleImage(roi_front=(1152,569,83,79), roi_back=(1051,481,229,239), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_false.png") # description - I_GOTO_1 = RuleImage(roi_front=(978,234,87,45), roi_back=(978,234,87,60), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_1.png") + I_GOTO_1 = RuleImage(roi_front=(1075,287,62,29), roi_back=(1054,266,99,70), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_1.png") # description - I_GOTO_2 = RuleImage(roi_front=(979,305,88,43), roi_back=(979,305,88,58), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_2.png") + I_GOTO_2 = RuleImage(roi_front=(1074,363,60,31), roi_back=(1055,341,99,71), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_2.png") # description - I_GOTO_3 = RuleImage(roi_front=(994,396,58,30), roi_back=(979,373,88,62), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_3.png") + I_GOTO_3 = RuleImage(roi_front=(1074,439,56,29), roi_back=(1053,417,101,73), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_3.png") # description - I_GOTO_4 = RuleImage(roi_front=(979,447,87,42), roi_back=(979,447,87,57), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_4.png") - # 判断是否还有任务 - I_WQ_CHECK_TASK = RuleImage(roi_front=(110,154,21,125), roi_back=(73,122,69,459), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_wq_check_task.png") + I_GOTO_4 = RuleImage(roi_front=(1078,516,55,27), roi_back=(1054,488,100,76), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_goto_4.png") # 庭院悬赏任务界面 单个任务点开后 左上角是否追踪 - I_WQ_TRACE_ONE_ENABLE = RuleImage(roi_front=(160,175,120,60), roi_back=(160,175,120,60), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_enable.png") + I_WQ_TRACE_ONE_ENABLE = RuleImage(roi_front=(1150,570,79,75), roi_back=(1047,500,233,220), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_enable.png") # 庭院悬赏任务界面 单个任务点开后 左上角是否追踪 - I_WQ_TRACE_ONE_DISABLE = RuleImage(roi_front=(160,175,120,60), roi_back=(160,175,120,60), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_disable.png") + I_WQ_TRACE_ONE_DISABLE = RuleImage(roi_front=(1156,570,77,67), roi_back=(1055,488,225,232), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_disable.png") # 庭院悬赏任务界面 单个任务点开后的界面 是否打开的 标志 - I_WQ_TRACE_ONE_CHECK_OPENED = RuleImage(roi_front=(510,175,210,60), roi_back=(510,175,210,60), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_check_opened.png") + I_WQ_TRACE_ONE_CHECK_OPENED = RuleImage(roi_front=(778,166,52,29), roi_back=(582,147,431,110), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_check_opened.png") # 庭院悬赏任务界面 单个任务点开后的界面 是否为现世任务标志 - I_WQ_TRACE_ONE_REALWORLD = RuleImage(roi_front=(850,470,180,180), roi_back=(850,470,180,180), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_realworld.png") + I_WQ_TRACE_ONE_REALWORLD = RuleImage(roi_front=(1173,579,51,54), roi_back=(1037,517,243,203), threshold=0.8, method="Template matching", file="./tasks/WantedQuests/wq/wq_trace_one_realworld.png") # Ocr Rule Assets # 挑战券的数量 - O_WQ_NUMBER = RuleOcr(roi=(569,13,50,32), area=(569,13,50,32), mode="Digit", method="Default", keyword="", name="wq_number") + O_WQ_NUMBER = RuleOcr(roi=(541,14,97,33), area=(541,14,97,33), mode="Digit", method="Default", keyword="", name="wq_number") # 悬赏封印 O_WQ_WANTED = RuleOcr(roi=(15,116,85,401), area=(15,116,85,401), mode="Full", method="Default", keyword="", name="wq_wanted") # Ocr-description @@ -151,23 +147,23 @@ class WantedQuestsAssets: # 备用识别2 O_WQ_NUM_UNKNOWN_2 = RuleOcr(roi=(34,406,65,24), area=(34,406,65,24), mode="Digit", method="Default", keyword="", name="wq_num_unknown_2") # Ocr-description - O_WQ_TYPE_1 = RuleOcr(roi=(544,248,55,36), area=(544,248,55,36), mode="Single", method="Default", keyword="", name="wq_type_1") + O_WQ_TYPE_1 = RuleOcr(roi=(645,283,55,36), area=(645,283,55,36), mode="Single", method="Default", keyword="", name="wq_type_1") # Ocr-description - O_WQ_TYPE_2 = RuleOcr(roi=(544,321,55,30), area=(544,321,55,30), mode="Single", method="Default", keyword="", name="wq_type_2") + O_WQ_TYPE_2 = RuleOcr(roi=(647,361,55,30), area=(647,361,55,30), mode="Single", method="Default", keyword="", name="wq_type_2") # Ocr-description - O_WQ_TYPE_3 = RuleOcr(roi=(544,392,54,30), area=(544,392,54,30), mode="Single", method="Default", keyword="", name="wq_type_3") + O_WQ_TYPE_3 = RuleOcr(roi=(648,437,54,30), area=(648,437,54,30), mode="Single", method="Default", keyword="", name="wq_type_3") # Ocr-description - O_WQ_TYPE_4 = RuleOcr(roi=(545,462,52,32), area=(545,462,52,32), mode="Single", method="Default", keyword="", name="wq_type_4") + O_WQ_TYPE_4 = RuleOcr(roi=(647,512,52,32), area=(647,512,52,32), mode="Single", method="Default", keyword="", name="wq_type_4") # Ocr-description - O_WQ_INFO_1 = RuleOcr(roi=(609,246,309,45), area=(609,246,309,45), mode="Single", method="Default", keyword="", name="wq_info_1") + O_WQ_INFO_1 = RuleOcr(roi=(710,279,309,45), area=(710,279,309,45), mode="Single", method="Default", keyword="", name="wq_info_1") # Ocr-description - O_WQ_INFO_2 = RuleOcr(roi=(612,318,298,41), area=(612,318,298,41), mode="Single", method="Default", keyword="", name="wq_info_2") + O_WQ_INFO_2 = RuleOcr(roi=(712,358,298,41), area=(712,358,298,41), mode="Single", method="Default", keyword="", name="wq_info_2") # Ocr-description - O_WQ_INFO_3 = RuleOcr(roi=(612,386,305,44), area=(612,386,305,44), mode="Single", method="Default", keyword="", name="wq_info_3") + O_WQ_INFO_3 = RuleOcr(roi=(710,430,305,44), area=(710,429,305,44), mode="Single", method="Default", keyword="", name="wq_info_3") # Ocr-description - O_WQ_INFO_4 = RuleOcr(roi=(613,456,315,44), area=(613,456,315,44), mode="Single", method="Default", keyword="", name="wq_info_4") + O_WQ_INFO_4 = RuleOcr(roi=(711,506,315,44), area=(711,507,315,44), mode="Single", method="Default", keyword="", name="wq_info_4") # 怪物名称,如酒吞,阎魔等 - O_WQ_MONSTER_TYPE = RuleOcr(roi=(165,215,45,175), area=(165,215,45,175), mode="Full", method="Default", keyword="", name="wq_monster_type") + O_WQ_MONSTER_TYPE = RuleOcr(roi=(634,154,483,52), area=(634,154,483,52), mode="Full", method="Default", keyword="", name="wq_monster_type") # O_WQ_TEXT_ALL = RuleOcr(roi=(12,119,88,393), area=(12,119,88,393), mode="Full", method="Default", keyword="", name="wq_text_all") diff --git a/tasks/WantedQuests/invite/image.json b/tasks/WantedQuests/invite/image.json index 8fd2a2eb1d..d4534093c7 100644 --- a/tasks/WantedQuests/invite/image.json +++ b/tasks/WantedQuests/invite/image.json @@ -2,8 +2,8 @@ { "itemName": "wq_invite_1", "imageName": "invite_wq_invite_1.png", - "roiFront": "137,361,39,47", - "roiBack": "108,338,100,100", + "roiFront": "103,397,37,38", + "roiBack": "79,366,146,104", "method": "Template matching", "threshold": 0.8, "description": "description" @@ -11,8 +11,8 @@ { "itemName": "wq_invite_2", "imageName": "invite_wq_invite_2.png", - "roiFront": "462,361,37,47", - "roiBack": "435,336,100,100", + "roiFront": "386,399,31,35", + "roiBack": "355,368,157,108", "method": "Template matching", "threshold": 0.8, "description": "description" @@ -20,8 +20,8 @@ { "itemName": "wq_invite_3", "imageName": "invite_wq_invite_3.png", - "roiFront": "754,366,39,42", - "roiBack": "728,339,100,100", + "roiFront": "671,402,37,37", + "roiBack": "640,368,176,105", "method": "Template matching", "threshold": 0.8, "description": "description" @@ -137,8 +137,8 @@ { "itemName": "wq_cooperation_type_gold_1", "imageName": "wq_cooperation_type_gold.png", - "roiFront": "195,505,180,90", - "roiBack": "195,505,180,90", + "roiFront": "127,527,180,90", + "roiBack": "127,527,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第一个协作任务的类型" @@ -146,8 +146,8 @@ { "itemName": "wq_cooperation_type_jade_1", "imageName": "wq_cooperation_type_jade.png", - "roiFront": "195,505,180,90", - "roiBack": "195,505,180,90", + "roiFront": "130,527,180,90", + "roiBack": "130,527,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第一个协作任务的类型" @@ -155,8 +155,8 @@ { "itemName": "wq_cooperation_type_dog_food_1", "imageName": "wq_cooperation_type_dog_food.png", - "roiFront": "195,505,180,90", - "roiBack": "195,505,180,90", + "roiFront": "131,526,180,90", + "roiBack": "131,526,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第一个协作任务的类型为狗粮" @@ -164,8 +164,8 @@ { "itemName": "wq_cooperation_type_cat_food_1", "imageName": "wq_cooperation_type_cat_food.png", - "roiFront": "195,505,180,90", - "roiBack": "195,505,180,90", + "roiFront": "131,525,180,90", + "roiBack": "131,525,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第一个协作任务的类型为猫粮" @@ -173,8 +173,8 @@ { "itemName": "wq_cooperation_type_sushi_1", "imageName": "wq_cooperation_type_sushi.png", - "roiFront": "195,505,180,90", - "roiBack": "195,505,180,90", + "roiFront": "130,525,180,90", + "roiBack": "130,525,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第一个协作任务的类型" @@ -182,8 +182,8 @@ { "itemName": "wq_cooperation_type_gold_2", "imageName": "wq_cooperation_type_gold.png", - "roiFront": "490,505,180,90", - "roiBack": "490,505,180,90", + "roiFront": "412,525,180,90", + "roiBack": "412,525,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第二个协作任务的类型" @@ -191,8 +191,8 @@ { "itemName": "wq_cooperation_type_jade_2", "imageName": "wq_cooperation_type_jade.png", - "roiFront": "490,505,180,90", - "roiBack": "490,505,180,90", + "roiFront": "413,525,180,90", + "roiBack": "413,525,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第二个协作任务的类型" @@ -200,8 +200,8 @@ { "itemName": "wq_cooperation_type_dog_food_2", "imageName": "wq_cooperation_type_dog_food.png", - "roiFront": "490,505,180,90", - "roiBack": "490,505,180,90", + "roiFront": "413,527,179,89", + "roiBack": "413,527,179,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第二个协作任务的类型为狗粮" @@ -209,8 +209,8 @@ { "itemName": "wq_cooperation_type_cat_food_2", "imageName": "wq_cooperation_type_cat_food.png", - "roiFront": "490,505,180,90", - "roiBack": "490,505,180,90", + "roiFront": "412,525,180,90", + "roiBack": "412,525,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第二个协作任务的类型为猫粮" @@ -218,8 +218,8 @@ { "itemName": "wq_cooperation_type_sushi_2", "imageName": "wq_cooperation_type_sushi.png", - "roiFront": "490,505,180,90", - "roiBack": "490,505,180,90", + "roiFront": "413,526,180,90", + "roiBack": "413,526,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第二个协作任务的类型" @@ -227,8 +227,8 @@ { "itemName": "wq_cooperation_type_gold_3", "imageName": "wq_cooperation_type_gold.png", - "roiFront": "790,505,180,90", - "roiBack": "790,505,180,90", + "roiFront": "693,524,180,90", + "roiBack": "693,524,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第三个协作任务的类型" @@ -236,8 +236,8 @@ { "itemName": "wq_cooperation_type_jade_3", "imageName": "wq_cooperation_type_jade.png", - "roiFront": "790,505,180,90", - "roiBack": "790,505,180,90", + "roiFront": "693,527,180,90", + "roiBack": "693,527,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第三个协作任务的类型" @@ -245,8 +245,8 @@ { "itemName": "wq_cooperation_type_dog_food_3", "imageName": "wq_cooperation_type_dog_food.png", - "roiFront": "790,505,180,90", - "roiBack": "790,505,180,90", + "roiFront": "694,525,180,90", + "roiBack": "694,525,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第三个协作任务的类型为狗粮" @@ -254,8 +254,8 @@ { "itemName": "wq_cooperation_type_cat_food_3", "imageName": "wq_cooperation_type_cat_food.png", - "roiFront": "790,505,180,90", - "roiBack": "790,505,180,90", + "roiFront": "693,526,180,90", + "roiBack": "693,526,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第三个协作任务的类型为猫粮" @@ -263,8 +263,8 @@ { "itemName": "wq_cooperation_type_sushi_3", "imageName": "wq_cooperation_type_sushi.png", - "roiFront": "790,505,180,90", - "roiBack": "790,505,180,90", + "roiFront": "692,526,180,90", + "roiBack": "692,526,180,90", "method": "Template matching", "threshold": 0.8, "description": "从左到右第三个协作任务的类型" diff --git a/tasks/WantedQuests/invite/invite_wq_invite_1.png b/tasks/WantedQuests/invite/invite_wq_invite_1.png index 0f55d4f2a3107b8ed19f15b6372102f8d05db857..9dd249a9ecb1ea837fd105f5b0002ed31b1c8e34 100644 GIT binary patch literal 3121 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 diff --git a/tasks/WantedQuests/invite/invite_wq_invite_2.png b/tasks/WantedQuests/invite/invite_wq_invite_2.png index 73f173390768d693bc21e0064eba27c0e18390ec..5e82c405fd1b97d62985ce61d599a5abe2af36bf 100644 GIT binary patch literal 2366 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 literal 2978 zcmV;T3tjYyP)t~cQ00009a7bBm000tn z000tn0p4aGcmMzkR7pfZR9J;oSWV9**HM0+syf~G-uKRoC;m)gDF_s-ND(601hdSN z1rq;>Kf#_YI~G7Bwm}JzAd;mhh!_;G{P0gc{82nPKkL_JS(c!mPlxBH8;!2@UL##NnE5o#&1W|Q+{&qf z3RFcQZ7N8Sl-SvpVQVI`mSr{T8hJ9eZLI(O@n?-6TaU1|wgQ03cCxafTnfHEW=Ye7M{f zO4--T5)7WELlCvCxvozSho|SmH2Yo?r-ir7G!h(>d0h5wfv0I>j!F<=~tj984Da;tF^ zR;io-2m~#q8e@va9Q%HY5UnH_+&pgDjH+UiAf+m>_DDrD04e}Z8A+>Uxoq1u47IEy zb1c_JL?-)YtqFul=wM1BeXmYYfC*+3X_Wv-N&?FS7j}q)RRky+qy&(eFq)ZxPB$}@ zh-&VVO2eC_M!gOLk}$$3KvJj%A*Z2)Vu)aA4-W%NM2W}(O#;jd)=Ml0D#b38d6^}Z zGJ<6;6hN030TlN~u$?OmtSU1D0NLJA1R&c<1X454Op^Oy&~5*)aKZW*qFeY#!3a9x zU$?@(cN2^bGs~?9qmSBv%~8&@ovUC1v$T!edLyU;i)Lj?DA=fl?rH9zWv%qQ?EsjaQjLljE(EA!wyUF^+-~IjN%U1;!6g$|4YRx>) z^V7H9f?+QS=`hMcEA@pwJvlvDx5`XOrB(3o`TXV^(1IF<2KdpQSU9VD9@}v~gTuL1 z2FS1=Ex?4v7$h&f-$UEzl4v1QxoGmyS=Y(t-X)J++|4Wtw~rUqwN0$84}sI%AG%XA znYx6cB`sBE7AZEM!CXa@yOVTx7)ch(IZQhEq)eD6bBt7}MQnXUn~fx=7PcW9ZElAv zV9iq9n@{fL>?n6fR#>?D7?}Y^)d|>ultCl~p+Fa-HZl0{&)ZQ^yW7@ zk*RPW4|o6ev!D6h-GR^?Ba3JTFO90LO>s1P`0Z!2;6PQyP`NQ$7_r{I`uRWpL)Q*S z!dS>enn2k~zZ~XvJpSSH=M1mvQ^czmFaG5x|AgOv{?_rP2McU**tYH1+8CP|j%|v< z8>iEeP*#{(sYD#7d5rDtr#A&bMp|)KzeK5Ddd`R6v1S@k?lFci^65N%>)Eq;%V$%o z=7V5`4yS;~BdMK5Tk|o7m_e#kV@<+pT1zr(NW;Ues&Pe1wOS4SKUsnKZH&%gA( zfumPXg61SM(+vR9fRamYQI0ak03MdL8PD_Vpp^rtuUZs%?X??mp4;gC(~my-pI`qP zZe^vBk;d!t?0klmREad2nG3mlTpA2!;27hYBW#+lTldGBV~!T3zB9{L(?+#cc z?$D?zGcRUJAgAy{I3S|rNE(0=-6j^TzG^h7MU3nclelJodA)YJJ!Ewc_|(DQy?C(< z4G{H3u1b__7{)KuqK;E z!QV4(mt~r#)6I#r>-Cyd65N{^1i8bFX1hfs$bvvhR)Euuv_fU>gehYcr2i`f%tlgT7jNk!Iv14E~1WsuCx zTeFBPu6^9yEth31%Q&8&`gC|)mMk4lv%hyZj>_eFy?c3geY~{8d^(?EK7j1&wk*q* zV;x%pLlTVc7PGg>d@^gInVZZv)phOn%W`|!?w9p(9c=TUmHA~`m$99W^Rs79;;;VV zFF*PCzwST(tk%96Zv`g%viVl$`DEn7=-2DjqMKRsXdY&@&oPn;J)wfe7$XIM?ST0Z z=jr8jd3C)X+j5?d-}>e|H}llT%Afzu-(p)H?r;0DqWY9|efi=){{5Gq{q}#OYIZwJ z&78ZiAqOPO-MJAI9YdqcJtp@^+E!YXkL&iu7hfD(y!YlezVpsI@4xr%m#@D3?DwDk YA38J_q0$AeaR2}S07*qoM6N<$g3X4$82|tP diff --git a/tasks/WantedQuests/invite/invite_wq_invite_3.png b/tasks/WantedQuests/invite/invite_wq_invite_3.png index b9756f417a28ca95916eafac9ba406d8463a65d5..65a26efad993ffa04ea1b15769eb69323816106c 100644 GIT binary patch literal 3016 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 KMNUMnLSTY~Vagr= literal 2738 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 diff --git a/tasks/WantedQuests/script_task.py b/tasks/WantedQuests/script_task.py index 1763440361..ad7b243cc2 100644 --- a/tasks/WantedQuests/script_task.py +++ b/tasks/WantedQuests/script_task.py @@ -225,7 +225,7 @@ def trace_one(self, btn: RuleImage): # 防止点击后界面来不及刷新 sleep(1.5) # 关闭单个任务的追踪界面 - self.ui_click_until_smt_disappear(self.C_WQ_TRACE_ONE_CLOSE, stop=self.I_WQ_TRACE_ONE_CHECK_OPENED, + self.ui_click_until_smt_disappear(self.I_UI_BACK_RED, stop=self.I_WQ_TRACE_ONE_CHECK_OPENED, interval=1.5) def execute_mission(self, ocr, num_want: int, num_challenge: int): @@ -308,7 +308,8 @@ def extract_info(index: int) -> tuple or None: return False # 跳过不想打的 monster_name = self.O_WQ_MONSTER_TYPE.detect_text(self.device.image) - if monster_name in self.unwanted_boss_name_list: + # 识别串可能带前缀动词(如需要击败/击杀), 用子串包含匹配而非整串相等 + if any(name in monster_name for name in self.unwanted_boss_name_list): # logger.warning(f'unwanted {monster_name}') self.ui_click(self.I_TRACE_TRUE, self.I_TRACE_FALSE) diff --git a/tasks/WantedQuests/wq/click.json b/tasks/WantedQuests/wq/click.json index e16094c573..4efec77f6f 100644 --- a/tasks/WantedQuests/wq/click.json +++ b/tasks/WantedQuests/wq/click.json @@ -10,11 +10,5 @@ "roiFront": "409,572,32,30", "roiBack": "404,569,41,35", "description": "特殊的庭院需要点击,然后才能找到这个悬赏" - }, - { - "itemName": "wq_trace_one_close", - "roiFront": "170,30,400,100", - "roiBack": "170,30,400,100", - "description": "关闭 单个任务追踪界面 所需点击 的 空白区域" } ] \ No newline at end of file diff --git a/tasks/WantedQuests/wq/image.json b/tasks/WantedQuests/wq/image.json index 45fc829dcf..6e5b801e52 100644 --- a/tasks/WantedQuests/wq/image.json +++ b/tasks/WantedQuests/wq/image.json @@ -20,8 +20,8 @@ { "itemName": "trace_enable", "imageName": "wq_trace_enable.png", - "roiFront": "1097,588,101,70", - "roiBack": "1097,588,101,70", + "roiFront": "1159,606,52,58", + "roiBack": "1075,518,198,196", "method": "Template matching", "threshold": 0.8, "description": "一键追踪" @@ -29,8 +29,8 @@ { "itemName": "trace_disable", "imageName": "wq_trace_disable.png", - "roiFront": "1091,586,108,70", - "roiBack": "1091,586,108,70", + "roiFront": "1154,609,68,58", + "roiBack": "1065,495,215,225", "method": "Template matching", "threshold": 0.8, "description": "取消追踪" @@ -47,8 +47,8 @@ { "itemName": "trace_true", "imageName": "wq_trace_true.png", - "roiFront": "173,187,28,29", - "roiBack": "173,187,28,29", + "roiFront": "1148,571,77,69", + "roiBack": "1035,502,245,213", "method": "Template matching", "threshold": 0.8, "description": "小号追踪" @@ -56,8 +56,8 @@ { "itemName": "trace_false", "imageName": "wq_trace_false.png", - "roiFront": "170,186,31,32", - "roiBack": "170,186,31,32", + "roiFront": "1152,569,83,79", + "roiBack": "1051,481,229,239", "method": "Template matching", "threshold": 0.8, "description": "小号不追踪" @@ -65,8 +65,8 @@ { "itemName": "goto_1", "imageName": "wq_goto_1.png", - "roiFront": "978,234,87,45", - "roiBack": "978,234,87,60", + "roiFront": "1075,287,62,29", + "roiBack": "1054,266,99,70", "method": "Template matching", "threshold": 0.8, "description": "description" @@ -74,8 +74,8 @@ { "itemName": "goto_2", "imageName": "wq_goto_2.png", - "roiFront": "979,305,88,43", - "roiBack": "979,305,88,58", + "roiFront": "1074,363,60,31", + "roiBack": "1055,341,99,71", "method": "Template matching", "threshold": 0.8, "description": "description" @@ -83,8 +83,8 @@ { "itemName": "goto_3", "imageName": "wq_goto_3.png", - "roiFront": "994,396,58,30", - "roiBack": "979,373,88,62", + "roiFront": "1074,439,56,29", + "roiBack": "1053,417,101,73", "method": "Template matching", "threshold": 0.8, "description": "description" @@ -92,26 +92,17 @@ { "itemName": "goto_4", "imageName": "wq_goto_4.png", - "roiFront": "979,447,87,42", - "roiBack": "979,447,87,57", + "roiFront": "1078,516,55,27", + "roiBack": "1054,488,100,76", "method": "Template matching", "threshold": 0.8, "description": "description" }, - { - "itemName": "wq_check_task", - "imageName": "wq_wq_check_task.png", - "roiFront": "110,154,21,125", - "roiBack": "73,122,69,459", - "method": "Template matching", - "threshold": 0.8, - "description": "判断是否还有任务" - }, { "itemName": "wq_trace_one_enable", "imageName": "wq_trace_one_enable.png", - "roiFront": "160,175,120,60", - "roiBack": "160,175,120,60", + "roiFront": "1150,570,79,75", + "roiBack": "1047,500,233,220", "method": "Template matching", "threshold": 0.8, "description": "庭院悬赏任务界面 单个任务点开后 左上角是否追踪" @@ -119,8 +110,8 @@ { "itemName": "wq_trace_one_disable", "imageName": "wq_trace_one_disable.png", - "roiFront": "160,175,120,60", - "roiBack": "160,175,120,60", + "roiFront": "1156,570,77,67", + "roiBack": "1055,488,225,232", "method": "Template matching", "threshold": 0.8, "description": "庭院悬赏任务界面 单个任务点开后 左上角是否追踪" @@ -128,8 +119,8 @@ { "itemName": "wq_trace_one_check_opened", "imageName": "wq_trace_one_check_opened.png", - "roiFront": "510,175,210,60", - "roiBack": "510,175,210,60", + "roiFront": "778,166,52,29", + "roiBack": "582,147,431,110", "method": "Template matching", "threshold": 0.8, "description": "庭院悬赏任务界面 单个任务点开后的界面 是否打开的 标志" @@ -137,8 +128,8 @@ { "itemName": "wq_trace_one_realworld", "imageName": "wq_trace_one_realworld.png", - "roiFront": "850,470,180,180", - "roiBack": "850,470,180,180", + "roiFront": "1173,579,51,54", + "roiBack": "1037,517,243,203", "method": "Template matching", "threshold": 0.8, "description": "庭院悬赏任务界面 单个任务点开后的界面 是否为现世任务标志" diff --git a/tasks/WantedQuests/wq/ocr.json b/tasks/WantedQuests/wq/ocr.json index 13bc1decfd..2433d10080 100644 --- a/tasks/WantedQuests/wq/ocr.json +++ b/tasks/WantedQuests/wq/ocr.json @@ -1,8 +1,8 @@ [ { "itemName": "wq_number", - "roiFront": "569,13,50,32", - "roiBack": "569,13,50,32", + "roiFront": "541,14,97,33", + "roiBack": "541,14,97,33", "mode": "Digit", "method": "Default", "keyword": "", @@ -73,8 +73,8 @@ }, { "itemName": "wq_type_1", - "roiFront": "544,248,55,36", - "roiBack": "544,248,55,36", + "roiFront": "645,283,55,36", + "roiBack": "645,283,55,36", "mode": "Single", "method": "Default", "keyword": "", @@ -82,8 +82,8 @@ }, { "itemName": "wq_type_2", - "roiFront": "544,321,55,30", - "roiBack": "544,321,55,30", + "roiFront": "647,361,55,30", + "roiBack": "647,361,55,30", "mode": "Single", "method": "Default", "keyword": "", @@ -91,8 +91,8 @@ }, { "itemName": "wq_type_3", - "roiFront": "544,392,54,30", - "roiBack": "544,392,54,30", + "roiFront": "648,437,54,30", + "roiBack": "648,437,54,30", "mode": "Single", "method": "Default", "keyword": "", @@ -100,8 +100,8 @@ }, { "itemName": "wq_type_4", - "roiFront": "545,462,52,32", - "roiBack": "545,462,52,32", + "roiFront": "647,512,52,32", + "roiBack": "647,512,52,32", "mode": "Single", "method": "Default", "keyword": "", @@ -109,8 +109,8 @@ }, { "itemName": "wq_info_1", - "roiFront": "609,246,309,45", - "roiBack": "609,246,309,45", + "roiFront": "710,279,309,45", + "roiBack": "710,279,309,45", "mode": "Single", "method": "Default", "keyword": "", @@ -118,8 +118,8 @@ }, { "itemName": "wq_info_2", - "roiFront": "612,318,298,41", - "roiBack": "612,318,298,41", + "roiFront": "712,358,298,41", + "roiBack": "712,358,298,41", "mode": "Single", "method": "Default", "keyword": "", @@ -127,8 +127,8 @@ }, { "itemName": "wq_info_3", - "roiFront": "612,386,305,44", - "roiBack": "612,386,305,44", + "roiFront": "710,430,305,44", + "roiBack": "710,429,305,44", "mode": "Single", "method": "Default", "keyword": "", @@ -136,8 +136,8 @@ }, { "itemName": "wq_info_4", - "roiFront": "613,456,315,44", - "roiBack": "613,456,315,44", + "roiFront": "711,506,315,44", + "roiBack": "711,507,315,44", "mode": "Single", "method": "Default", "keyword": "", @@ -145,8 +145,8 @@ }, { "itemName": "wq_monster_type", - "roiFront": "165,215,45,175", - "roiBack": "165,215,45,175", + "roiFront": "634,154,483,52", + "roiBack": "634,154,483,52", "mode": "Full", "method": "Default", "keyword": "", diff --git a/tasks/WantedQuests/wq/wq_goto_1.png b/tasks/WantedQuests/wq/wq_goto_1.png index 55df6f050eeb03483ab07cf15f63aa1b28b3ed89..32252e42e899ee1125d106d6ab6cb091930ca116 100644 GIT binary patch literal 3221 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 b0W$v&cF(4hkrD3$00000NkvXXu0mjfc7|0! diff --git a/tasks/WantedQuests/wq/wq_goto_2.png b/tasks/WantedQuests/wq/wq_goto_2.png index 878729547a923a7138b41e63cd2a918aac63d865..0893c46d07332a237c307c000db505acfcaea02f 100644 GIT binary patch literal 3283 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 R4OsvH002ovPDHLkV1g3^FjxQp literal 8398 zcmV;Wn50Beq(q67 zY)ejLNj3~5L1Lu9Fc2dS5ClO21i1)&6DNof0|^k=fgLBY4O7)NX|rfqmgI69$!%x3 zXX`0@`d_~GmYG}}n*MIz?`8(i^UTaMgL4-@K*dOm0tAW#d;PW3r~fKSvA(*1B-UDq z3@jqZ2to<~NB{*8m_dL<2muj=L=YmN04fj;T9AkW0g^~$4v~li0Z;(|0*FWe6l5YG z78Mict6cG>= z0Eh?*APOQ1#Ky!5fHYXElSJ867=~2?|MySdeB>m2>6uROYW~jFd+$TP1X06lmtNuMA3X^(yOMJk z&uI+DjvrXux;LmmBSq(%G*MMGym;~L{?^TJ{_N*dTPcxhv%j&jUiO_r0sw)i0JjkV z01SX6L`1^d7-0qx1OP+?0Ffw)Kmh=th++T{QN$pD8AY@pAqo&9Fd+buj}VvugfRdB zAt;KHNf|Sfe)RFydhgBk_4S2SI57fDr_Mi8PT4B0hK@LkLVtTZ@QDS-A#n%I@6Q{N(0B+JTuV*f9YX zBZ6jtz`zi-R;?V59Uq_Cq4PYS*^!Pge4_x7|Ubu1kwU6en-${){#E2v!8WbX; z0E0wi05G;f0Rq{U3h#a8LkJ-?R%;E4y!Xy~V@xX-rM!qlW@Z)<1V9!5h#&%>6jcz*GZRbH^1O)&Z)HboV5wXn<1!#$k(um|^s2cBMsLRS)Ye-2V zWOS0Hf>_tJCK8ctrNB=m6GXPljMpk!Yk_RtxT3B^1OtmjVKq8F9u3Vc+!*+Nnob@& zajaLC7cYFWwgOrKvMrrNXx(2e&Yim+VrOA-*xU3v62rMW7 zgg`)wAaa_dF}T291WjVcM>|5;?+vP=fF|TNvBnBO5uLG03qpv@5@QU&f~bi=B+)vE zLV&=WsMyL)VpVU@_c|Dz;tY_p0CduK{6G5kLfEVvHaFh(H8+f>m`%Cz&?RyC_V88Lc#-00Tskpn$z^603u2j8-vvL@l;WV+6szn9dhyKrE1UOayge42tZ(=z4e1>(|HaL|49lUyfO8NE#t5$W{?!7~6P7MO=kQz09pvu>+{sF)!zZxx$jveKJtw{8vU z;pAj{v^zF2F}2kj-d$SU91MW~qwb`wryqUTq7O|!Ns_I?hlt+$CNxp_(Cq#%KKEGF zlt29O8)wd6Z5Wc)*uVb|{{_p1-!FPMY=lc^?!Nl+yQ>R5LeuHCvn)uV~oH;L^e%0$i~J-jGnZg+%f6u&|4qmI(%2xvn{s6$@pN zX=-{pPqj|;W^cH%-d|ZS%c5@Q_V}R#-9#)kiNYrMD0)!TWmO>2R?$ma`q;^b9((GE zVJ%laSy))DfAEtxUi#rHx*QHuqY3EVosADK+}J(6V`QY=YGvAxgup&jRY63|A`nFo zQ4oPZ03x8&bvYQ8k3ad;FMjWPKls7-H{N=ysG44{XA^z&_{pbV_)7l3UX!FND=X{w zmeVxT%0!kBqYIvy36KC|jJ_%eQ3F@b9XxdO*{?l6EP6kE?bWsUg_e!OrW~6Y|J)PD znB>OX{L0d%VlZ5~8abE*WvY{R5*uSotY{o~kAdTWn>0;LqS}<%1e>NYwI24$ix;jQ zIy(EgM-S{hJaO}0{oV&>I+@W(QkG?|T18Qb!1&}uo+crLx^@twLgkyNl#1*bVqgZ? zE}^K92!uc-Nj5q<4z2vi?Cj}x-|h8!HcgJ6Joc5ZzW`d@Jb(Vu)hny(Yk}iNzo+X` zYn|FmYb^qiBMShBCNv>9(RAqe;V-`U;-M3>%>MfP_0>B|m8%71_r5((fBEUD{d*Q} z+GTca!q?SJUtb3gkcb&~7XuDtWcsfGEw0F1evn3(WoQ*8EpzsjW4iN0x? z#^h%I?7=U-`23+qKL>~qq}565x^C$-#(4Mc-Rtu=x_hQ~9+~|D7(Z~A&t5`}yV_h9;S8J@PrbvVps4QuXbVgHS z0U&Y{MHp1C7`nOvmgpc)T3SifG>oj2>UO(Yp>RL}MHFKU!Wu*rl0+znRd7*(Qd$** zp~PsE?sQt+?kF=Gqnf6v$~frtViH>uojfzf>d~pG>0LWVM@MQEYU98255KFdNis`m z`sCyjiAltJ=Fl_^iB8iNC^hxq&duNb!^Kr_J@OaPrtuayLLD0_g6kVd-3BBuJt#IG_`056V;s@ zIr_lvnVHF@+c$efdF+wnk3915aI5$FE3aSt;3|>!K356_7!kFxK$;LI#zsRfTU%RA z6C#t*iBe`z4nb*S?D}AfBn4zd(c6Qgh{PD{x^~W4ZQ89?yVWL;s;U|vP}nGP&VdH7 z^ujm4)|zM|qaxFD;R8ob z9LmP@&OI}`cJ1nRyGC0uwk!(?vUB&$#>Uo#b61M0?6%t8vr@EOmXQQ7SZj>Ikr7+; zV_*&;#2Cx6j4^Jz0*JWX>1!g2@@bE>Z3<*rmgjj0!8i5xP#{QE>9*&{wdJid@1A}1 z^N%-;9~8yv`pWgWxl3n1Ec<0A?*PMKtLJO4m_p!G>|?VhpZn@FSu6XKKls!0XD=?^ zT+n3NNvqY)1fqyw)QQf_S;LjR#E1vMzhY!kwkMsz_l~RogTtB19&ww5GbM2z{2d+U>lkTva>oy-BQy1n-nm zB7%rOs3pW0BO)e=X|*#%6p;`Dhq#@v7(&zd#Af1Lw>#Qw#FzfyM~n08!?L(|<)epA z9GKZTxnuXvsbixD4({({t(SlN^8B@%BHZn^%RzbT_VwrRiFT)b^!TBGdqrKder_`p%#(#rPMW`_cmkc5iI- zmzNh0KC~xKvb(ou*Vfh~#;2e9!aHxgy}rJ>)mt5(>6)C<+!VdiTASL$wpt_{qoA_G zvfAqRwAD{Oabo|0T`bL=g_SGUuC1-DZ*Fde5N01fT1lCA?2*}rc8rgF@cw&${QECq zqd`LqOGPwZKWqj+yCi=HTrNXd==` z%)O=~N(CH6q&w0b86B;hZ$cfpp4mCkEt}z>F7EY{j2_t83gyb{fBx#r zfBnvH{r0~|lc|a6$$niv|H3m*J^j?>%U7>nyEd$=%2#D@gQn7HmSwFpO%y_K4WafC z*Eaj5Yxd3VK6GRcLAkQD`tDojE`IQ#g-l{R^X9qJ@0>#`#~wa7(P`}*Z^uyPsSz}; zQJs;=U3+#j$F0G@Skzj9hBQrVnxLx6qUMs7LI7p0HO5FIRaI@HV;laTCPG92SR%(5 zx1T$mPQlVNRbuS;_;{MPd%d3bF-Y*uP#Yq#RvV-6#IafAW@+i>{QTuzJFOySajkYH z6jdfV<()gHZ{7X`w+#qF&*E!WH(m(?M-mDWS2hQm!`{f4eeSDI?A|jD(yXtpT>JRS za8QlpIWo4hcBFthj2zCK>&m&ZshL@89b*h3d`1Wj0N(p;XEB7(G))|^4vMdU5zzs_sgNqU( z3Zh^X78VgME4Q+--f;hCpZoHI2S!Z79AWRSy*qdAo%?W|BQe)$i)N1>-m`yd-$T2n zr#mqgGrPuSre<7iFiBtflfTHCBn?S$4nYwRL?k1?fl@|90m`#1Ns_v*MMNpZ&9+4r zBYObZE*yV52ybhoh&bocyfrp9w!FCHeUrCGieVL8V2(-yp$Jk{RX)0`Wr4Kw_0sCX zjT<)}J#myGPL8$ngm#RL)x)B$95aK2rY@VJ?_FIL+_*YKi7{%OZWR4GR3{!k^5DK5 z?UpX863Gq+O|L&hGL;X;(BawH7k}_}Y^deUYY2SpvdSk0B8Yh}!^rRq!kQ*Bs zi3C0d-?*}@nVHa}dG3AKj&wW5&#EQ>kT44C&y2HeM0oFssMqTuN|GcYxWQn6pt3v% z35j7O@vLfJHUZK+4S`?#>D#B?K3A5oZ`brlo=U8cIo51+Yjk3QtSYOXqKQ^Zp*X8` zS(bS_Njt4#SgrR~(+T)nS**<*e zz{F@9LK7I929_2#cJHk(T)Dp53)*6cRhC(6^?I*4xPNkVe8k5%7}i2~_{hP1`}S>a zHt(M~SG&Q{hfmg(G)?2YS0gC|f8*9t|3|M~xH5k5;K-qadt!UygZD1{-v2qz0PR%o ze_-$Kozoh`0+|+R*1}9Afb63yoi9pPR>N&&jDUtzmSsv|^Z{A$Z+0~LGub2}B0@zY z?RF<`rHKj76G0Ry>jE`$1ON(vlJG{|)E<-(1@+Ip_=Qp!Ia&mT2C0G*1(9($r~qJNebDcPsmYn)kY9cM^v55bKlsr2(c?;D6P%0O0Ll2| zOda{|!p8ia&9xOfJvOm-BneIgAn%M!?U=aVTVL5&*)=`Ab8Hg5%Zx^j#1SbnLY|p! zx66Wq!Jw+Drf!%S6>cNqGlG1o5r11kwANaWkB_^mF3Xxg8t(u|8ETpaghZ5Mb{zX9 z2t$%2h)|Z*;(Gtu0wa7yJxPjvLQlMHteIILX|YWE~>^TQc59f zj4*$5@zmQN+__hT2nQZgh!}kUQ?*8qUtR!Wv2BFY-2 z)L<}(&TFLrKHbpyDu`@vyJ|#?O>ourvd*%|@BOcrPQ4$zgC|Zt(jCY3epytYG>nbS zEUj%dH6)a=BiF=XQTqrn`rtrNkF>k@SJuy;y*_9l$qk54@(fX&co*H~5YnVb6WFm6 zc1~v9jyZIA&&)(8ZNagVJOA~A-)I`w_)5^;Uv{TXeYkjga20MJKDd`9f^Rel5h4gv z6hSu_%UDsA=0q`y`#Hy+kY7in60uRdaL-)I^z8Tja85a;VWX+Lyu z|I)_tOebI37_Kk(8pn|_1_6LQdy}t!#(VPphG0NpeV3PsQT z{%|-b>&h8pD(9W66`)OYyWQ5L6p}H@8u5rDs*~EQn|Y1 ze1D;oXo~0`d|={d9`2l&og5j3(wCb>wN*k}8zOD3?u=wM?=}*5KG-RulyPZkx!2U( z)ZiTj7h9=rry;YI!m{xag+h~qpkV07nv{(UjDW--b(ZTaQ&lgFwzE!_RYe(mL&Q~6 z4+aC9WF}2WsTe}Pw-s@arP>#rwYB0N-2xN5As; zfd|{9O|R1LzJF<}2M<0pH8ZngG*iB=t7Zs_tWiR0w3FvKEZrY$^uiY8h z`pD$2mHQiSoxX78qg5lYYsa+GG^lFdIHUwTQ0dF)C%Q?V!CF6@Ix~Oy%JsQ90DvF8 zy!gYH7X?5f5P%XO0T2)YW1(s)ARtu-x7NyF*A(pD_dwz5(tCqslqLwum`>HIf4Hixc@AU1vE7Mb^==a*~iLZY3iMsNGP0tu>@9Uzk zkhDpywn2#qa%4nB9QN(n1*)~u@2hs4-nrwgH?O|*g9{2Fwb1S8*`tSo@Wl@={pp{b zedD#WiwjVfFxG)5AD?Yo%Z>N0MpT3-juD`(EJ!nvC)eit*XK@igk!V2C&tEa-@UW4 z(bI`ejZUl{&9lkTv39$i=wvV$5K-fU3oeGb)6F}XO>H6^NRco^;Rw{!P0=)7%m5*+1#Gm~5)b&r6 zbK4o~blEWm^dWc(-g^W{tpNa?9O|ZsJ{YA46cK5yjZK8GaW2HBasAFHJ^S3rqqDmW zlniRnBp+Shdg;|GzxwO{=D~x9@PGWLU%&a`Uwr-9qkE^j?3(eh>5Z-M(huHPTdiFY zQkAQK0N})#l#DS1QrC5i$Y=vblZ#FhMJ>WqTxjLGopMo?>zfX3N0h0m${I>FN;ULl z5glu7fKX73CW{C`V)Q}0M*!1epiZlmC;|z}P_L?8@Yd?lkxrs?Q53Zot2H%Jm!*dQ zs4CZJWAc`j$T3Qcf{2lsK`Eo7aOBeH;^{BWKK$qd)^hM%RQl{kt7k6V|D|93%>#!Y z4I$v=b3c9kmH&P7(oetr<%cJ`Km_g4@r{1`!$11T@rYN_{+PBgftrG#4YOy8~k&Ak3SVg70Z?uxwR0-lpr<2$WmDM&O0uY86gaaz@ zM9xR&Tsf@R2Z^GINNW*kwR2<4wxNWi0;muII0wMmC}XWjQ)4tzWFHhI0D!>Gxxuj7 z*y?-lyJPT`uN*n~$Zng)%7-T8XFpzj>&)uk|HuDo|Lidr*dXE6kIr-0c>C2qyK(j} zzx~3KVi_-mYn$t3N?Hkc-v|k4av=aI6v$0x5VVrsR?#$;BcO8D5=h9h zOh9e+2Ze96rgoln@=PO$NE8)CgpnDDBPogCL6c`P##kUr$P8ss4XfJMoBrF*?zlIq7FKluEYkFacclt!}mK3sb9 zz1!dZrGI(i(Ju)C0FwaDe{>#HsD`WW{Pf4y&%g2A7akdDha^kHnyS`6{PD}HYa13# zf(8TwQAA>7KsJ#`*pSj>e4t@f25wBE6+sBW)t;20L|JPyntRhC6-J$CAaIQb(8eg+CPC(?11k_CA_NVRkQe|Gi7df; zpXK`ai9=63ekiBP$GGLyxohihy}$em-~Fe@PyUS3IYc7T%#61$UvR-|gH5q@>g7Ma zaqi{see3D55fJbuYm?HVv_h>spr}9;2!xP?HG>iW7Nt}G3@i~MX(T{qrYJy)>C>@> z1USSfjFut-G6Exk0>VfEfRTkjX(nW0C9H%+B!XsAfC!9=g@BnUl2Xd6nh7~7VS``+ zSimWQ7)6mGU;qXHmd3|^@O7?r>D9X*FTZ)_&d-1Q*G@e4r7TNA2mlH}MFE_@a#m~G zRJAqahij+)>QBy{`u?x~gBLSZh=`BgX4ZS3C<38C+h=5e0*aA9B(fkgDIt{Yb3sM| z1`q&v6G4t*EH5@FARh+fDX|k zDy_9^e0OyE*%!W7mc!ruz3>0VKlx?$jnV)DX|A{D6CeNt6eJ-~ECOVaL8Nu>?*IS* zbV)=(R1idn5I_VeA^`%hAR}r)ASM7N5JXN8B7uMc0L3H{0V4ooL_{s1S%ioIfoj7*t)E+l8JMnnZ;;~&^yVxd2 z-E=02(>P>`<0+HYi9K;Cm>N@{7|eYcogfL_*Gjuu?P{gn_x(K;3qlynb|?L(pAY#< zefa-?@MQ!ffyrO$!=FS5K_r;v5d7Z}h7iEGn*tjE`AdEHlZ=~~J7MzFV4$n6;xlH( z{{~?MF-YPzX&IWLC?q9IhEP-h%#gMXTiUiHf2j{&$>s41MTteDRw9l&EM9qkQOOzr zXO0{^bL1d1<7*LSE?g1`hgz@KTh<^*>V`Re?!s7qG}PXZ80bsHEyJ?s<4+pZ zf2j{&$#gh<3l=XbUQI-Y{`hWf`DInpR;=AHcKoEK+M4Q1=X*NanVE=$qBxwcSTt(e z7QVnR9m`7BEm*O#x$fG@k3VdxtCnmLk<;y&Hh1B&`${9d!PAHKHeM@-r2bffnH5zL zLMX(#u8_afhp*#JOP{&0D0kY7Glvh>SCwby=Fcfw77d3xTbnH_?sR*cZjaODak$-v zX2x`qF5NVxZP!&^Ikx|U_NE3TDXN;9o>?$w{yk+IgMrRZKK%Fks`9~s7>Gd< zNkpV;A|*9lHypZQ48{k#J6jL_Vh<1gRz*ENW=$XHJ2|01DybL!^j#xady$N1uIqt zyE>2TeJ{}7+SeNz=#P?sq6x!vnhvMwba}k)w2Z9uu{qwfj8J#SrPD{dJ6e#WNlDD) zFZJQ`7OW^)x$z;lH-%Z+mNgiQ^@W0=og2fM?;o^U7_i}Xn;bEo;n=TGTs zZE32liS&l>d1;wh^S*Jm$fp(wUx#iEh6#=6RjC#o->L6RmVF_XX4htD%i$E?LmU7nP1ushJ!($m$Mh{p}n z)D5$*HzaL~nT1do%u*JWtXcDC-;VV5{_C6n(AIbzUmz4k*Nwq}7=SrTm#^OZ%}{sO zl{25FW@IjZU>ys!fmBw)NJlFDBw~jE0Dq z+2L|M{_G2;({*I;dllzSsj6Z+4Qbnk!}0ysf1Vf|*!%WB)>m9$X52+$2>DBWxD(^H z_1}3aCoex3=xV)Q7atgyFr{Gn+`|9Zv%C7@*~gxJzPG3Q)S&}Tx98pmH!G_0>({n3 zGroinV(qv7eCEO>$M%2l*{S2vzOWDwLIO}V{jc8G6$u3nzPqcrwh~_?F@*f3KHQ0M zTiLgt7&kGm{Orm4$}5J$F?II*dmr5R&QEtXUafiZ`BwrRZ6`ne(BX95Q?^kz%wNC0 z9bZB>%$W;|${u~9srKrTz3;WuU6WE0u@Dk~qN>mA`~_GxT`LE`lItrkR$n-QBqCy) z8BG3CAMV7sZOy}v7R)IOhkC-np8mctfN$Ji_N!N4479g?ciT&Ww$@XJKXSU<_mpjP zxZJgGXO>s0fZ5&w>~;$_PjuQYgbECEE;usQdX30cx%Ut zfsVGnc<$w{*5*@(KXN!-#p^aZJ>Flw{2ac(oswEGd*1xz#V(IG*ws0C=Ir-(y;*VY zw4$mxxw$hJE_SD;sj4=ka7kY%P<7!%M{|9DUvFPeAl%c*Lu@96STcdgzjivnND_d8 z5%+CwKbaQ$jP6!ddoL|^P`tLni`+p{#sk(^^=DVI9=}Ibz7Wn&o5tj zj+rq`)%5hNu?2GqeG3-rhI#D654>q(ib~e(+q1j+;yD1`)RgRr6NI7+L?fG@ezvQ% z;rM~ycQn@nAV2_M*a=(F6e%SQ@vof@Fp>nIV8p729?P3PtE0K0w68~*a8oy~PuPaNFua(jx`Z*e%?|Fq+IY1a|5BYxe){w>6i}15gAs6+;wNeQNuUyV@E)J@|fSO9KEwq>vDbDlJR04T&M-UppOO zBnd#lh&7KqF}-kcpsl6pT2&+*PR+_*wx;ZzpY9B_wLSd3XWE+@&K*7ENgK0r{T9>d zdh68}6Y)5PrDbI0`)0XQQX6V28)~YA5cjUzT)2GYzCF8ZE}aLU2_D)qT_}pGYNlx#rYjyF=xC}<#0CM7zjPW1LkJ*1!H5SRe>y#T{OOPPSDioQ zOc^t8c}dB}hkpCU>rJ&+vvcz_-RSOU8#gg`<@&9<>G;hL|8}51iZ3CAc;J!8XD%q( zw`cdYE0={3ib4*D=1xgV&B$E$o$pzRcreheYMM7K)18uLm`(-{^hbX8vzMB$RuL2V zS4~y~YdVAqFcA}mZG3uLTISeK54>M__P94AyKrUMlKV>Eeq%>--Bp$Vh?%F&TTrs$ zA#TCdmHmdu+z%af8ie)810OP0s_qq~2yBhnkf-58Jn6h(dV`5hVAIS2o+ z$8@@Ka;FRq^vC*oBjHeAs3#ikwG&aWWGSU>SyD<;2||z>jfN7jkRphFux_#1b(`7LS{hzo>ZC%!NzRGO}75>URJ5 z?;_z|+>HSVK-Kgg{NzpDF#oXYXKju3ro+W{!nWd8B5uXwmX%P2B?v<#ONL;ftEwr4 zYFROXK_aHV-Y{8Jm;{EfBxw%~0SQ1TO38+YbEoyQ6-y}AN`ASeR2X{rcD?gD`|8**3t8Buj!w@GYe1&eZgb?#^~;+sqiEYFhTB{He3& z3q?Kr!SAJQ<8BN{jE06_gsw{>#!VyuMG!zxgvN4!A!*yD0wO{Z1Ckk1A}MYO$%LC2 zV2mK#W;$FBmp2&b#3&e$7##ru!*oLm!MKHpgi0X74I}}kZJP>+2uTb`W=M&oxFsYL zZeoBjf^Y`{1V+bz#OMeR7^WLi2*xc$5Q3lx+&~gw+P0~Hh>*m9WQLSTid#Z5;U)$c zBM5gOKwxwXNQ{mEfnmBKg<#x51R)5Dzzrk;rfr)FhzLo{kj!9-q(MtC6K-OFF@kUh y0t80KfW+ts5Ey0{k_6)xA_zfH1a2S+@c#fc@?J#=H{pZ;0000eE{(9Z~Vu5|F@U)WbNTSuq8ZYgTN$sCW0g`S=U9=B$p<%MK# zku>uKgb@G;E`^kYVnQ&*h#(L`-i9%f5~P%h)2aJ>7$YeKXB;5}We5;K1OU)853RK< z1^^mS5q!ilt=!zyqQ?5o5A3{t`r^=y0ZfQxT2hGGB~4rR?eK&H;~x%P{ExSj)AJ6m z*9Zh9wuNMZ3n?W?00|glgpjJKxkM_TN_!)r#yge*7b86%rsm@c0g7RPHx$BzBxh%# zj5-a~>l0kqwk;(fjGzo7tY8WN=&1)+2_XSMCkm9AMYEWky=&jzJ9lg!=z9O;D@XF_ zER=ob(LZi(TS--=>)5%AhfZYXle)`IH4W<+2z*QeNVtugmYK^l+iu-`&&ECX6q2d) z|9O0{>xM#rVyIcQv~|~ZZ@@ovwWs&YrBrMVsXB4F2_>9y&N#wYiUm?p6p9G|pvUfO zhB6%?O;rJb;G&d@t#042{rC4xjf}kY+<|N|4FFp{yK}?tyK<@Ywc{5iZVtsKW438y zOaLK{5!F>f2rNKwn{C;`GX3Gevb)wVX>X0zL=_}Yy!hJXH%=)8D28ZrL;FLWjq6rs zV{?5Mu3mflOgx?f&7r6YXWX`I5J*Z100<#Mh@w#R?d=UvhKo6jF_Z}*oo@G+|K`uA zN?!TFzoh2kt2^2@?CBWk8J?etB_?9FX$gTOKxK0@6HAYNFl?4e2q6G)=(<8_F`GAw zMPD?$Vej3`wytxy4PX)pdFp3xUU>Z-MIlrnimt6_Z{4`N!ygJ2Gr9MUpSt+guOw11 z#!^Z}p@z!|076K{gk+L4j`ly?J~KKcrG#7xq=d3)Qxl=IZO_*F<;~OM-!Il+!(H`sZ@wk$`v!Qc(}1@^(QyAw5@RaJjvL6_sMr}Ug$|o&s(NRRZ3L~0B)aW z)z;R^`l@0sFOjfI#Zs5LMu-psh!9H9ckgQefX=V&i!_802E*q; z2!RP8VZrS96hmxoWZE|Exrymq&JhI z=MpJ|kt5=*S>6l?dBPryY44e?sljn?!0)T@`z!s?rbVG>*c%EeiY|oE4F@L7ETy|o zUAuJbvZ||w+W-KB00AaIR9!)jY=}sJKYZekD(Wi`LQpm~JaOe*w^g$8nVhgiA(<6i zd=41CgO(2u&n~OEtkuss;Y#KFw5qgm&_7XmAa)hZTGf@ zYpYKmK6~ZlyLaBZzU`h?r$=-9-Kwr(00bYCAO(o`&%S^3-;OG(YPbvlz!*_XF<{l9 zqOafK1AzMF_3aOCn;DrMAD*nNuE-R!U6r-V1Ze(&0;}tw*51AZ~EkVqB}4A^6I%a&Mmof z$$g*g2!uUwn_wUq0A$kn@xkfI!KvZi;fcWsRaKpa0RRXg444S4>MD9-SIhj=yp%H1 zQk_X;(}~O%zWG_=pqWh8Fr1!%+o9uMzIvv=ci6UAFcO}NrRy83KKJnbfvBhVO8=R| zmlHE7pU-f+oR|;*5WodU)3h?Fyj3bTuBg4|fo=7RYZ=f}uU|a(<~fJUvHrfc#cP|O z%;Rwe0>;hmp>xNt=9Ae{GF{9U0l?*Ug(6`nlU&$E#%+e4d1!4eodbZ$>3Ja~06f0` z5vtRk%e~{bChy+a9t=6VFZP~1biRIB&D!;=-gxzNAzS*>$3GWs2#xfQzx~Sj*w}nD z8uEAzj4%M$+~$%e6Pfu~(jRo+`#}4uO)E5A9qOArap>I8jUfQ=gnjOi4*+Ugsy244 zUQ``A{nmSjUO1r|6V9wFYmap{wuFZVrr$hpd3roi8x4Ei z21W<~7-sXyY$Bd57R`hZf~XOi!{b-nk!A<8U}Py}EI0l=!(`W>C?s;Yh6 z?~YtP(`V+2QzLVlriLo~UblmlY>gvu^v|wUyOD07$3vuN~;Ra&aW2VId)hz#nv0*ZNnlU9@6#)ag>w zsZuIgETql%&J0}d8uR&_(TI;1ZIA#MFvgmuQH`R%>}Vny5ll>u#f6ajzOr%MhI;C7 z0-%Y>ctym=1(Q<#=!w@_x3p~Aw(8aAPxoFQ{l;T^o0~&JgEL1CUY(jq)>nody2coj z06D9aNadV{y1Vm^RqLCmrUF2zWFJ0o<tO$Bo&O#VT2_S*0RMi#q?fVxaf+d&Z!!aS`zOQUtx1oL}Uc7X!e`+$Z zedn6Gx*(zWM^C)gx}{~?wpE8;zWDytp|3r_3ornNQi&zvh1hte z=hCg~*G7FlXEfpyCIbXgfaC&6B&9@8|K2(%8gaJKL&j{YQ@vcV8W?iW)n2 zEUT;WQ-c5M$rGEm)NR|`eC(~h)8~i2`Hl9bMsF&WfAQaYhKEv%YXSj}lMtLpLM_nkX_8)6E+ftzHvyIca6s={EH4-uaWi zn#d&b$+@(uKx2c?rR&5Z03fAA5)mMbarBR0UJqsO-1uNBmV5T;d)+Se#s_KJmX#IG z>PnYO#R$P8Po6gnW$nt!%iXgBw^HBx)}2j_E+NJKXK(iPrP`KOMEp(w7#WNAPbBv4 zZoX$r?f7K&Lidy>sI_m1mQ4QAq5jx-wmIx9*vFU6yY`8Uy z5Ipka`O(R&*W*ZLP0JSFe{^G0qf1D!|Jj>;eW|vk6%oG^06rXw4Nax?>~1z3^vbo_ z4@XlQHbpykHI_{N(xLv?c(%%`CG+-NhT9e_ShmdlxxMvkmV}R;9Dm`!fTn`skfy~M zlOdl`8}?TPov=UxNRU#Zr#`(xZ~*{EuYYKB@!Su$yIty)uK3_+dTb{9jW4gM3hL8y z`5*lA)#=%M&~MDAN~X=f|LDf1M%P@t@ZwJgMnMO~yZhq* z^y1A}ycF^~lNr;p`QJXadP$w{Mt}Mz2S>~TUsLDvIaSMI#iBhL&!vmDp)2WvIh!p# zu(M&$_PSWI`0|mFc(QQEVzi`f6s&zFkL(_73JDs&a3IGNGnXGm0^8DKu z;uU_!+Qtx)f^dN`Mt|4249cE8J!&y=@W*$0T*~u58|uH6tEkYv{`scLuCHX&>UhqyH?>4P8pT2iA<_OX ztpxza#NQtuFqwGf@s%zoeg0>|xjg&o7aNv0c?_q1^z`J*M{gxFR%J+i`193O6OCcqoe|TsO zW1KO5^v3M1>Egz9eoArA^@L@M@BjJokYBz2Veagexq;EF#RLF6_SO0gcX-oTHaf`P zI62$hm)Ww`ziLs43d|V82&)7U_{eBHd!}zXy2!C(Yt__T@%Y8qM9gfecC1Q^z?%(t&#-*<3+P; zFvGb70I!RV#qzDIeGZLu-AoosygJ}eDH@LDH{Ic1-sBpc&EFcaZcUV`ea5zRA-AGf zMJ|OPlu(Qje57F6@7$c3FPL?Uj98)sHgY+Yc-D;PERe{lP?t_U4$3(<8IuwyK?o2a z#JS*7x;0wubF@_X+`1~I;9L@n(33ltfRq3r6^Lc5yvcQiczk--P%@S%2_YLRbyYzD zmr4nGw?C09F$73R8F4#wg{*H3huk{jj4=*U3LzH&0LEy+XrefpD8_RZ!DvmbC+JpU znNlocT1-+x!frL<(WHXa%7Q3b;SDG>ryq3F9E4Z5KTE|3Zf z@)i#o3fA>_-Wr_B*-W(78x9qx3U;z!PbI9P#X*AK(A=7W5%M@xm0%({a4v-uTu3Pa z027Q5!Ya+#B9<`;MwLF*&3Y+*8?QLHN%{x69oU?>w@a$5j^lpv%4BoIdEiTfAp zE?qEg30uNPTq;4j1_;G-W+HFZ`KU?|03-|ce3n-S+zy2RKssk7bC#xHg1?Z zB;aF|03q=I;X*DTmGt%Bd|~ z-PWERom!`^we=`=x-nF6FstDXLL?9%_xnA0^WLA!|F`f;0)_OnpAXekmg3Kr=u7pb zXNJc7{oS3+j6V}$0)rTnSZWFhL6XN234u5%B}pkQ$@mIUO=T%=V|O@72qPA=EE6}G z_4P$_7A}cJB6Y_i-=WLr z&M-6n6r00Qv0*cjs6TzYyRA{OX|vmB%qhz)EVlIUKxcDzYf~sNMnr}LTP&rt3`+=7 z6arvbESadLvJ|&TNcPPyzxU3COMBW|et+PD-u6}@M9JK;#Vaerq2QU{A8u)=mzD)U z2%)H|X&B6m+bD`Uea_rfo3|2C?Z^A;PJU)tx=@s4UwXy*Z_b=s*3nph;?RF}wOnCF zG-_FQ5i{BqmjD+2$V^zI5i~ zaDT6&s*0+qnr5>*+zAPTJ>CA{A=A)t6QL+sdHHJ}e#GrfsQq|<-SN+((GW-?&f#?3 zyRO>lNvJ#iX=l?#mWV_Qp$Jt|g(4J4MUWs!$-2o@Q(20eP#ox*jNEC{ic4BAUm6`8 zm^FWqrrBcAh~42#PD@Wo&rC_rNJ-1^Bqjkkcl6W4@4wsI(S|r8QdBiDC3Wj#|B#ZF zesJGgbth`W!2pOs5^+Ri(}c&9WEqBO>ZWBHx~{o2#A#9zGvXwOYAQ=HK?vdUCU}#Q z6O(-jDJjXR>B(v72}vmlDZV6Mnxd)z3_TVNhr)qCBpft!-OzPIkA=p@P98bf*V&FZ zhs!-<&etlx_3eZd--o|_^UG65gZ@!w1~Eutg59R1q-AF26{Kb5g#!NiFKVNa5aKi` zi5YPWqMFK50Cz1bU$SbA)9q0;O;J^rG8_s9Mn{5U{?M2|==TT5{6YUnI24qonVOa3 zO-df<>GBT^MnXYmu#}N-&@>DH$!Y2HmXjQpn|T zr)TG8_#LVDpKvYv%3WlPnDH$26W}8-A67Y{kBca4(U*@y|hs)J`@j~mBOVMyB zJHIFz4vh@-&%A5?%FSE#X!P};{xIMl!EK00D2lW!&1PTw@OScyXV#tgy#Ca2huf7? zSjfy^Ui0Agz{ud?|NM{EhB`eKk(LF*Bq14b3AnXZ@+KvRg8?HJb9)og zbMl0u9Qokg_Qoq!TekU!hc28vnv$Mbv0*b2y}ajXDJA|0BAT~!dBuj!jrDb>jvVUk zXcGdeM$Bxp+5i59Uq*ssAO8AZ+pk{0?IdnSHI=1cOj^Hfdu~y2%jJvB7r!)3WBRPQ z%T}*@`^A51yl{T|_kTDt&|mxUe!J7Te9iru&GyQVp2Z)bsA^_j{>H!hE|?GQ`%TNG zddo72SO^I~QPn5*{#z^(tULNi&_B$~!+qTY-EEj8!OS2K2msYomVz;9^|v0*n?9qd z{>z?@R#nr|vU2aP+VINrKj`o3cx2~u1KnLGjvREkJ$J9!=y17S-t!EmqNr+GcJA`E z_s?0dq@|($li$7F*>shJaJpTI$%!_H!|C$e|HxyCB1Q*#g`z~mp@y@y=W7o!GXNrD zix~{YI0jQqzot@7O^mLs(a>(g& zm#?dKdAu*~dJ?x$H7zYGr|j+(3-4Jq*xQ|+llRU`|5AVYxT@LmrWfD2Xh~XDPEu-y zFC!}&4t2L&?(b?H?(gpFXzp!qVkw!Kh#)aevP2v`UR9#th83G0%*-!5_u1hq=TF;Q z-qQI?@B7Asul(rQ{_f80PwnpO>Ns)uW0%{rd|kE6<9%t@lgx|>L?jd?yP#<4eQQh0 z792bDVI&k>Sg~sVum8Q_i_-v7Gcsn(nWHG`=+HprgOB!iw|@TNJAEC^00cDT`ymJ05097Ho zO#wkD$|Fzzc%Y~4*unSuyV?K{AOJ9=DTOM)7$;c*AR*}SsuBe^ta@PE%(6wJLj!&7 ztz)Aj4!3vd>a}ma@cdA3&!bQ6YHz%J^w0sfH=%spCa2r|@}8$n!@z`;^vqdh3)6FQ z+Z!)8d~rG)3@oeMFu#1o|Gf3amGfr-C<2;_af+&Le|B$wPusDBzZ>Xo10aZOHoL>+ zF=EkZBm|2ANR}8!pvS996x>kt(Dv-Y;)|zhuhxB`*lfjf=a;Xme)EOryIY&*E?#CD zM%&ef)XeOP^_%TZ*Q?Jz8;e9R!DhF+y@{%(g@b`mU`zXc-b9DfMWn={p@Z+dGT7BgxQ0MXOn6|7=Tcejeq&w;@Mw2armQve>BOL=Jt5pUa#HhvO8V*C9_OJ5BWz7BSu630kAC7 zH1yh!-fKL6f&daEgn%I0xuFP5n6Twxu^>GWB57M0$aJH2?QulM!6yMtqX+=>ASK-ILz_WZLu zA@PIPUy6i+iM~`L8i|Gj;b0&V3`8R#l2Jhz$6(3C!lo)VAvD7b3yzV15Q5|A$&E!U z2@`zTc?C1)cDG*bX=%(TD7mYmDm5c}->W|#8R(N15|Vvoe{s*eW##EPxjk(yzx?rY zkx&S?Vn6~=HSOC^Jd>D``rp5LwW}KIoTX(8=9jP1W6`&M@l(q*aVrKS z03ynqRygbHi|S7u?d@m-Km>&_Nz)_|<2oTpB>)6XaY!q~u!Imq1b}u_mq=zvi8$R9 zk_lg7fN=w1k|#0Qo8;?hYrzy4keC_)0uyX@DFov>A`+UwbtC~soRpv))g_V{QX)<_ zg=E547+~B$xCsFQQ)574Y6J*Ou-T;$jO&OX6oL@Ah9tmhm0000C#=P)hzjy93cXkYb84Pv|0RrHFB1MW6 z1!}cvI%GQ(;qXuKiy!4TKj_6z4oBFsLxL0(DG4IB0WcU0)>$z7c4y|U-F^BjRh5~3 z=mAKd=!c5#>Z&?fSy}mg`Qfz-@2FUgAkm7~w!QY+^ z004v@Hoke}>jo(RDyizjp%lMflBigzxK8Bw8ViKuQH$B!*YD4j{_X_=y05JFT{{l)|U2x0(5BO0R!B7lg(psYlM zB+Q&7Rz%1EiwJ_MqNs=%1w;cx0>}se;80j1D;VQQNfG>)twv%qJDlhbB-!1td+9gb3Q;n>HXCYwg#2 zB1EJTV~k{svB)AewJ4~npbCPbD4;?HK#09D2tYnC2LT{LBcSB0F+>V6w9yAd1VU9N z1I8F_v(01~K0Aq7MXqIKiF z560Ro%S6OkqpEd13n5r*lPonB^E?3*5RA;s!mKI?K%huO0DvUMDw3@3TYmPr<4-^*1N<-kIx@S@QbpKetH^78Mb{`t0=9gKO{n`i)aBJ$mBUDu*p=e^)VI&AXHuU*-oXzvxr4A7hHAX)VGysHT5eb!4 zQ3Z`LqLH};)EJv2H7olD-+uMj(PR4udlrN`l^_1!H{Jyqz5Yi(XM-+H@Z9M)-hcaV zpMGNb*(dgjAIGZP-q?Qsz0WURxVgDrcZ(q@STlcfMp0EnM6^Z?0U@Fy2#SKJB{D8m z1RtdwPnbDLQgYTM2^kdD7(z#eZ6nJ{N(Yc4)#V1t@iG1#P{C0 zMCsyB{`hC$oO$Nh;Gg6aWUgb#2uF=UIf5v$qKFCz zbL7a;qcVyn#-`SgDkvw;b@ME9R-)$+jB1f*2x>r6XEn0;$ic@DP=ydcMTJ!&5+VVD zI>gkH10rBm9t`>m!(Nso1j-?ZM1yG5DJzE{F*37qoPQ7@gqG%^BC-Lp#(=`^crq=g zd1iXOPL>s;(Qwe~U%Ptk{H4pws|W0!MSSeY(CKVe)#LkRMtn#&mjJiz-c>30I*7mKd6GGwbzwNmevf6&=hS+*Pt!jvD2%K}uv2H5$f+&llflE_XX_^KV0Dz*3k1<45K+wckmsx9R zek4`Z$3S3WjNW??l?VWauygm;yS}?!8L+)hr&DBuK{wCyBykF02*DUYBx7x2(lp6Zmlz7Z4XsyT zjgci1fFW(0x^C(NM-Cr)?8we!Jef{VguPF!%kwPnC#QSrWs!MCBQ z>MF1Y1Ve;~ZQGW!vTmBTZ6pK)OqCbQoOd}n;YW?4{;Lc3Z>>ML zyKW2~di1a|9Nc%XnO0XXUnzITfqkBJtRdglv$_htURYjy=?Aa9^x7-kJtO0iusv?7 z))0XLtK7J8?W40Fc9(j~`&N&ieCF=;+v~UP&YHTZ+APUCc^YGM&ZgudbC3{X2tXDo zNiye58|p^YVmj=1BXqMYK~xcDRsyghVh~h>6hiBn)l#CObyGDS=57TTsr- z)9JV>$B_docxi?UgM+L4Z8yJq>+0H}LqGh(-w!NLJ@@orG(ZP?hQp_yIiad70>&&X zERfgpAAkDh8^4@w?&O)v^I}}js!;FUclhP+oqFcfi^bwV5q;I1|NQ*TD>sCp+wCT( zle+xq*Y6HTz3=|$`_595Cv~huVoHe#urTZSvv7v}e#;=)1hI&UJ^KS5Lhvh-sQyYr08BMFC9{LfDy%ZJPAEeWP&V*{45#_ru-I zEg~bJsN~z2rfH|sQK0Fp^409z=?_1B>-630HGn@!5;?qu9w82t3-|7!KnKFz=tX_{M5PSDM! z<%2ux5_LSDR8=*b%ZVX`~B{8I^EscPSbpCX)l3!aDS_5W9g$)6s831y(_o= zarVZA3m0rB>2&hD*RNl_{1rqkI-P~p<<6kLw6=Ws$i72I53tj~`LMHKAgOojG|&I> zZ-2S9yGx6S2tW*qfT+fpBuSFQBBs_-SyrTutN}K`e~o}8Dlnp20N^NKDTL6rt#8_1 zr_=8YoW-`S+gPgrk!_j^K#Vclt=4bcy0(7%@Uf$( zUVC}vxo4~G@s+Q>I{EUqo_*nkPiInzdC`#Ta9ZAP5W`1VDkn&H+CFp>;sy5^D_EM4Pq|@d%`%bzK2~ zA`sfi_U>Q*&%gei-~FAktS;ZU#IBjlb}nDMmfCc6b*LDm!)J)lIAnteEiYb^*eV%E8FAy zKm6lUN1lB0_~EC3aA|4OEqada*$+Mmo{v0op)}cOb>B+A-}8Q_-yilm zUH6cC5g-kr6~$Ry9eeueXPnC--uJR@p67Xy24+?{cwp~??XBJ2-QDe}=h?|`J-4)X z>D-yG&V2OIzyA4;`n_cT!Nv1m;*qrj-+u91f494Fcm2+6HuhnZ<-}4ah6cTEmLx=k z%nAa8&2Bwy;&5TlQzs6uEGFe-Et)AU;f1} z{_fp(Pd9#yWs+~OY_<<*%IkvdG*fb%;HgX8DY1*14&M^;jh{BO&GOf0D#$LlS zFFy6?WBU>7jrBY4z5UL`3s;=&I4W*mz5T&^XTJF4^BdQ%`KpFkFOIrTK5_W)k$q{J zGPCD6DQDBN8c$~BtZAEw;Ig#a>-AFSLhD1*CP|VP1vA%m&CJFaVVE02RqfZ@CWwec zZki^~b8F0WI(E(theHzbJ~m!N)JMVKBT0-BV?1=|kOTqHV^8dV?Dz_j53$KRS&-m0 zFiBSA3J^jtpfN^OX4VjbB~V3;)HLn-#&}ZC9)EWK@#hZ?mvR6$#>AS{3poXioy_zH zy~XA3(W9%wUdl~%U~TdBKl;wjW_$YA7cYKsl`t6%hcS>rRUZsWnmA3JOS6vP`3iik#5tMs);I5M41N0pnVsp}fVFmnvjwygjFff#M;CP*9( z2X$2r`-AVk_S%EZdzOrE>pV}>JR!rA+1SS*2)=22Ti10RqkvM=G|Bma|!J zRGfV2sl5jl6uk&!Sy2>SRP;?iY7ZUR`_i|cUEMzzEhgQdJ5KOg1;`I}aX22+k21%~K%c$iXP6w9L?O4AL6o0HA3aP(s8I z!kqOZB4$QX0I&v8L{Jm}VvJ4GI5JILJ7>}~wU!dfRN1CE5s_LYBV=yexk(1PeHTOZ z+2`jz{NTdE;!u1`!T>C+v&l@@L`?#tvKZka%Mh^%fn3(@WT|s)tg5!|?r~2%eYD@{ zZrr_p=fR!TwY74)otEPyb7V~nc=`Ix;{0D@OlWG42ih&#Iz=bW`R1XkuGNmMno-T)dT0I>7$Fz0ROhA zGJU*;SjC_P#1D0FMf5u ztW|QJcs%>lArcVr=T&x^136{^-Ku;M%1-ADn*A^7|2 zdaTm;I)qUB5Cg{;JN=F-0}6lw2%y-ni#bX}^Q^Pq?d4gf%B&*7%8^wRKvh8lBQeor z#-1VX6=>w>(Ifi~WSbl7sGK_7-W|sPpMCP+{{6RZ-5qlS%HmK$@PZ(KK5|{x1Uj8g zV^EIv%$W zh%v?(J*yxpvIr>9L%KI8L`td}0)R{MDEj#qS1w#A@87xeAOGT1n!26cx~id^LA<*i zBLoHxZQHgXYGkQvVGb;!AW3RD;+LP@+bw6?<1#Qjmvzuk8`MWLuC)p~zOEAs-3;;$ zEUk1*8pX7G_jg}=ZK?GH0IiR~+uJucu3lf~HM3_S1&P97Q4j+_@Dc#XIad@#l1k09 zx)OzeAP6!q7h2}1!gE`sX^M#6`-li20?f=BP!Z;-u0e`mT9w8_BxoWQV9uQT;@AH) zZEE-r{~j37N1Qca6A&^@TV)o6+E#oMxoX51h@M-^$f4Kk4Ep_zdpj){lMQF(Hj*K- z3WlSa1P>qDySnHG1&;ci!6@CcmX3xAQapHQWo2nO25f_GJvI&f`q!VH`{4RIY;>|c zY(yekB5M%8K&_=tH$?;yW)4IIKvq?~_mWB5wjl&n77!H>5!T4eB$g}! zh%xAlv&Jf-8i)#Fa#kdp@7X^c^(>>dt(J|7f!zu^J%8{Kw{KbVt}^l62b+^J&0r=&OOy@(*8F=(9i-iwID0LWQt2%>u3FBEtl#ga1|cE{v(#+} zF^c!zf-(pZR8`qRX&oSHk~nSyk+p5x5>bqCZEbDezLl~pyG7A0I$4%wMQW`@Mv*8O z0YC(N6I-jjZhC*G{l{OPD<@l@eF9>&ZnN9B{Jnek-aCC^TEol(?6!$DD@&_QRbRco z_1PykXC*v+xW8vlN(3=*^a|q9Aqg&a)6~G7dplQeZ{K}TUfXDQc7fl#cxPj#u?^rn51{l~{v}6+OWvZ-Fx6RIYMnuek2o4@t zv(|*@V~n%e3`K2IvmqB^{nRr@%E|Qow?9l%n-zJM764LJl|;3cL|G+}rfm%DXl-d_ zbMxl=@0@c6Mnk-}slWV(H*@m$?oPMHFk0#l7P9+yAAI!Tm-TeAwYBrvXV z%S(HN+qMZPDnf_|D$G!%xM!Gdtk=K%)!Pp?r**0QPIBw!_E+b(4MKw82*^O5gK;SU zg-AdoBHO-HDZ6=c`0(=5;wXexL8FR6QblX6O^i)#ua}qAY%<+gUh9AVd#?-z8AqvG zDJ%9&_*eh=_2*8Ea@P)e!`V1~{K4ffKfh^d5So}I22fCCjy0H7q9R#vrez+Nv)yu* z_3~c7|LK?Kx5p6$7Kc#eoyC>?KDsMcFHd(H>wp;&3!`Cj{EdACemc=S-u*-24k zr%pZX$elfVmBkt;+9p~O5#gvrWQc%03L1bxo^?B!%QKTDCmwsGZX0D;THKQ*NmIwV z6<%K1b~_=qS(Yp>FXf3#4K?MAgpmdCA(9c$ph8*E@Ai_l11k$nmSv;SD9Z|27)o3z z%Thsx!(p#egb&H){rJlVj0->c>7UqVUjFeX@Bag!H~SrRLgvaBUpyij&z${gbGPjk{aMu% zS%OxqGl{VXz|0{=j*;h7b~)=8#jxnc)@NXPCe0FKnmXSzJiNRxuVp5wjlMpI;mNsTelhgm3{bH1$;=aR%(GHuoR(9BU!Tl={NND-Ye##(2L z02ss|kraIlF$B+1BPRuo_70wX_Q2{Yg}4Y~8sPabVKo<4nvA1Y-;V)~(mN zNs=T_U^1CDF$gLmDw8oLFS67S0V3i&Wmkjuj(2z|NA|h)55lN#DB7zEY z4cc5Qri6${F#^v+8i@cAfoR*dG0L1)x7Mm^j1f?bwKh!zL|IuG1c1PxQB+in5-nL) z7Und|_O7lza%6>M43w>J*6)9|K8wpgdi~$6u03u|k#zIPWEXFKaRvYhp{ge5KY#Dc zJAd=&TK=794-t6hQpMUv{wonjAP)LoE8bF2!oRDkT8zpoE zEDS0kwrz_F89gDRfASl@uB7iqX-eP$~;|3Y|0WyX|8Jm03ZYa zR#asIFb0`fRp;Bz{2RPKCq?G-J|sx=H)_k@(nNxYSZn9q=5_=C6}z?3d~#_cCVPMH zCqG-=e+(h*gaUr882#;`zIjwV04V-u=YRV>b*=~%B?EJ5(>L9| z?$gfyGB+YiXuQ37tFCqVM}P3=!<9pUflx@1K^Zu*|9?a|iCbBoecb>6002ovPDHLk FV1hE0yV3vv diff --git a/tasks/WantedQuests/wq/wq_tarce_disenable.png b/tasks/WantedQuests/wq/wq_tarce_disenable.png deleted file mode 100644 index de4810ec6e29b92dd4a25ab2e99298998a3b0327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmV+bK>xpqP)EQE-R*9>P$;XatdeRFC6N@Vf#UGU zH_!8(@BQY?Jm*A&7gvQw=OU43lZ(hW8UOg7U*P}o&;A<{)ahjF+Qpqa*TBNsskPt! zFaF^17oM(@UH$0%AO8>kv&B@b4gRzL`oDbi=|_}|ncw>UkN)I;`xh5E^PSDD;c$53;bZ;fK~idy|G)m%|NZRGKAcQsD%pO_CxY`?oglQ!jKE0P zF`87RqXMnNTzHeFYUPeV2r;FAh=}NX-l+O+`}h9wAH4MP3%9Ra`{7^w?I-6yUVH51 zfB!%Ik5*tU(Th9(%TIpzo$uW^e%C!RWX{CF?L22*Qy;{N)V z_x|4>ezZHw67`t7K$(~Vq9Pz703q7p-H;H?3=z=~0RaDg?TCO8DW|g63YJI(9oBW7 zB$&DG;^05{-ETkn=;KoQwNuAM!Fg7&X)_aNQ4$)y{mxHPj%S{KYT8s6FJ8QI>GJB4 z)uShV8;lSwgfKi9&!$aCP5{wkndJaFpQom2JUd3_BsoLdVb`EwOO`N$Mgo{*$Oxor zYEY%d*v-@10=deO>HJ^FBe(5+KE z_t9B0rReV8+w3iry@gh{RXC8Po_qP(V|O<)R@Rj4cUVM03aX$fPvw! zq6Pql3;>65L`3HR$wVYMgqRXpSXfx-wA!EuWP{bEmtOz;k>xdGj4JG)iM6sl{n87A ztT)>oz5nxH-n)J8t-txf)sN3tDU4>*y@UPS<(>Ax$ZHdJxA%v8)6ke228l|Hj@v~+ zW|R3WsASGZlR?I9)KZnA=1Z-W^@sNNcW0wcU+OFzKXz$KLz9x9ah86=41X21!^N*201(lUDoO$sGXy3xBFBiVQ8A~o zm3N#=sCRDN&vU=LvOtcbrlqyjldH$#q+UL;{?j*qa`BfR-@0-wgpknkc4u{YCCf5P z5e@dYc0wIJ`J_IHgcL-eowqt=E2_?$IvOyLnGk?y94sxo{(Ijj7rXQE0oU^!4Oem8nnBwzVfngJ8jz4^@fJU_M6EvVr5#L2~OwuT4hmobCL)0W7$RZX)^4=FkD*=a; zl0hRX83#1#m!J6uuR(^H+4_m2-uw4|_F3{ZD`Tr59iQoFXETkwk5r zLPjhxU>%3U2>=XEt}2_$aByVl%=6DaxVy>IXbJD$9SK}veBz0Rj}|$5#!g|gFpQJB zaDj5-EYF#Z(!Uo(BS1C9f0vtP3aX$E0E`_lsVV@d8M6lfBAV_^&VG3I>@R+K{*w!{ zrg`$oGtLnjP|_wyRn5ACzGV2&6Q^JQ#;=EYxbewl39;2K+MNPPK@+I%?e4}H6F^im zcBTYKb!dVb6&ZUEDJ4w?BuI@m8(Z5OTU%=hx8f&@oT9BuVF!v`Y) zHxF{<&WN&`Ty{>Z^tvT1wldOYJl?ASa&n!)fQk}K0R#*H0YCu(P>syYRMpH-4Z#S^ zB``Ep;_+mk$t3FH;=t#O&UUwVE}y%6>HIa%`TE*|^JoweIM;0B?#9iVw_bYXvsvFK zYtB4(W`BF9npU@O-r~0JE_MtR)EMaA?R%ryRG1P<9a2QEoPlH2s8s|2MpKDF0H|d_ zDAITS<)8l1fBH|#l|G=HIC1o$hfiEPcasc3fE@!`e`P5vGencB8E)=gIDdZQ&b`|= zZ{EIntEobnl@i6fd~ajx=p#o(BBSqiS^$uM&1VGJu%7+m%67$9zV_-fr;C0Mqzy2x zWoi>wjI(ah!d8sxoCAO+Ms`S~Ng}EsA^`)UnwpB4xs+0jsTvPQqftGdW|`~tdhD=i zsyxrz-Oi~~ryhI!^s_HMzqq!LG>9;xyY%t-AH4A+GyB|^KkFRL!u+$JfBC`P%?AhD zy_KcK)iqHdbg7cvt^KNwAyQO|NyTGGqNbVzR2jh$WiA&D<9W60cru=S@Y4^z_{A?~ z{7~7->bkD$Mgc{{vrkcKsau`4&z)%8y0iVmzy86yZ@$x1b?%Flk|S4FjWZ8QscN)o zT;@Yv0cc7gfsxBWU9vbD)gPX_du(N4xl@*f7TzuPx?9s~G&*SYx?|dJwOXp63f_Ap z6Hx>@EGMc8fB=X{0P5a-_vZ}8shRE{IATqbn#AN0abaojt>5})ndbmNnHNe~Nt#4s zMAZ8?Z-4(gf4R20@WiuclrUNRwXeRmJ>FC1<@Mtsp(jptn9riAGw=qOAOf%?up~@W zxV*@HmSwp|1c7Q;Tkt+pmCF~e+`V(#EMB>C<=)M^DJ4`!L?()cODk*LZWj&q_V#Yx zxm|^(>~vB}O_GNmet2(ZZ#JBZDl-!z84$3+L~@ zTWw#|^>8@d&G(j|Tb7LEkpPfV5(6gkCW>YT2B3(5Xkg+D9GHm&QwCro@ZKK^qN0^+ zlH7SjOu<t>;XD2HyJ&{b+0W^S6HS=%bHvK|-m&-1*vXeoc)j^FE_yR&U;YFq>5& zs1b>%h}GJV^Lbgev!a!GW>!_z)HK0^t2Cfv0(|R@w*ivRxT@wMMDL0elEmP02LR;Q z%nZSo?&PWCr%s(befo5-*IPS!q|95F&R=@-@7@N73Ko+lX$r~?OTl3gZ?#&UJ)oag z!;Rh1M;C7Ni&J^gXNv98kE(F6v)dmOO;hCsJLf|RF-qnOiHV5*o$4V(Q!{WXDCj|= zQ7L9fsgYzL0Ez}4X>W7)+O-=$`{1KL_>cdi?sALJ_^`s(#)=>R^1?IEo`3ZDhr5H) zI377RK=43~DKo;gt5-o3073|2kQJWEWksv>nMX2-p{bKfNQ$1(vS5u<$;ponMp?$= zQIlnvC8{-of=4nl_B2>t$U6lWeC*VbFLz%nvaCPoib$`&z~~qE7s_54Bt%n}XEDYo z3P1{^W-Yb|Kai+`DI+p7LL{Nl z&g{oO{K*q9oCz@!3o(L;NCHJLym;|kRZpGcAX?;w%QDPLK(-`RHMf|6Nr{Y26o>&_ zrWQn$$(u>1Y^9{hRFp);IoHG*5XyF;AQED?*BSJ>rs-G0O>I0IZ)|LgMk8PNYCbnJ zhXepF^M~0JW2^+Dkcj1385-E1R_Cs5oH)ANUGHS9ofgkS+}_-2_XlO0M2wsx0~Pg- zz=RZ#Kmp7Q)DXb!>>hwxrqM}42%;5WR81+R$#8P%+~uFW^?sJ+jfOOcl05t7rgm7h8D*km}ldi{04_jp$5xt?Ak)mg>A^-pahyZ3}2mtP2G^8XsrG74+%sUc|24bSq={SVCD6^&h z!s7aJkz&KpZ;km09u6}&(G8KLHJ{cfdyInG448hE9 zU%&hD2cM)yH#fG4XlrYGdvhx_nu9liP}OVzCT7&_c7N5S8Kjg%&=81OL=w1JV|N}* z?k#nC?S(9}GN;13(f+7xwb(mVb%aQelH#FIL{cLI1ONncOqQ{hY^0GuXP!KD>eLfYooV-do^eX1qRd_q(9BGTX?t^Pdt>wDsg%!Sf(@97o{jwO&Yv=NLNKu8*w|w5tJ*TG3J;oWh zw7Aqc_1MXJ9%j{?h?1FeF2u^SdGA#W&23V|=n*6|Z340Qd-+QH85^$XWr zj)odj!$@WTz=)`pR6Vgv0wJXYpsHDxxvVP?H+QF7!+OwbsR9`kKC5PRsDt;cieQqA z$mdORvzl+-J=oYen9YM{=L&)rp$7p-Sw>WnZ!=O7ZCahIY%Q0Rg)|E(v3JfnCf9@{ zq)>p6_Ij<~{=;v-^4d#T;RItHYMEC6z>b)?ZUUj5dG_?;;^1$)tsnjEn<`*pt=!LJ zvRJpu9=oE~Eh$danpDqwU3cW<@|kB(KmO$Dk3YOP9F34kEdi*ZDgu#1L^Ek(^VIXF zPe1mbuOB~QW@2iJXfzql{_;=${O0W&$pjbxOhmvEBAAJpC}0fIBw_CtdTsB$D#WU} zyK``2xA)M|Zie0ww~KNz9Q79lS?0ZGc3zQU%4VVXt2aJ)`==MqUAjM;M?`cIlW!v? z0gA7E`PEmx^r<7qS6cnH5dcw2iol_YfA_{4U;4_IidJ5SdNi4B?QgE0T>ZkYef}$7 z{c>5jtjJS}&K0+=-QL*Pdh+Qf78X0^EQxxr%CdB%_swsAH6#4qU%i1S2JF$+mIis* zS8^5`1n|tAoKKus{%`-g|B71HD!T_iekVvW0u#}cn9)pA6jLMy(X_PO3n3skW&nmj z3}Tb{Y&H)7#LOWyjF!7nk|}^8D3XYXX`Z$7R^BPIWKxB?4vmKT!S-Z#STA-m@2H*o zy`7!Oc$Sx?&od$>*J>Jm|Ln~_{y+b6CcPm204~d%bHwA}-qM2q+SkAO^>2J>u$Bc2 zBFWT&Vl|SpXFvMe@Bi)X`!`;A{-xD*XPO2Jt*?LMtFL|W^Mk=+t8`{oO~cu<=imGJ z#~03DP6=Lo@xix#`}M(cJ1>e5YQl&Htxop&*Iy}$*7v^m!^!^0XWh_Ljhd226RoDK zAuo9O$cih-6;L;`mE}Qi(A(J_F|eu{n3{-4N-2hly@DhUBy|9Ei2lx<2bVA0y!^@4 z>z`a-KC+m*!jof&O*Qx26%kQV!=&PzZ+E(R?n5(6(!@FdPz1L%nm^c?^xH=~iE|<` zRkOOPQ`Q(UX3kG$;Rio>cOG41xlxy#Ycx0@1J;=8y}g}$^S;gw#0@lXHcyW4wHB2F;?izdkc9a2&qj>hIFSyWAD&OCPh z!|PWs-9{jXlwv|Ma;&O^EF!nB-~9N)^ZN(m@pwL+HPt+g52n*`L$$4}Vhj>v7#uTHfF|v_Y!~Idcu{U}0(USmELM_WYrPMS{2*G(EmqJJ(CC3G% z%zzDCmXlK_SckgS%jd8B<)3}``A zMk0_vU_6XxKfE%VHdij+SU<6vv>A@}n>u#OL6P@|<5`Ht_b4#5v)=OZ^2*A}WO&a+(XpvCO#=W7OhzeUiaZ&m6rspE(j;PBUR`V#{^aSS z3yU29BVrUD?(e1~Mhxf(oN8*CsH%=lRhe>CHA4V5YvTTB)?RX^DbLH%d@`R;Q|v$j z4WV@Y)t8=r_vcq=J56I1)66hB_9c`cO@&r(Y#-d)ecw3%^&l`P%AzPH-s(^h!*D!| zaXHJJ1gvKY#%iusm)KXDE0`uDLWhn)fYeetf8oxJ8xQ)u7NE?>qozq^(dzaVHn#TA z6^&tIXyD{fwt|4Ax{h!C&AUhXiziO3C|e9t#}F*KEJH;A93D(Vomj-7g?cs~9RM;i zhNR9@-f}O!^6bguD@$v=qic&zYS1B}8;{2^Mo~2fkkk?yq8JjhVnWiQC@2I5n};}> z&5tkk36Kn$dF6Z_s$iK1j78R*SSh~s`g7;5Z9Lekswe=ZL(0H8)EsoC$r%P^4+^c^ zA3f3=40^XV4>+6Dm{z zMWTE%jq_&IB=F9OVFFCiz(AbKJfmoea`uCZYs;&j`^*%o~&%Ai1KPXZP4oQ+uXS4Tz`O$Pz8`7a2 z;n|bVkqI3DXyzQF3w4amxNfT5gOMHUi&~PTswu|UB#8={glgI!8GE0=-%dN zGHaOGF%{?;P!wAdgU=wu3awdPU3%o2!=U%34UIlvI_0(Fm16>nP1^8d4-u05I>I0fiWw z7_vmp(fDAKv-0SG)(1=8=S1L`GGspf;xL7*%ssGxH`sj$l~ zT)1)O$w!VHJ*I{m4-Wp-zy8yY&)$TD2pPK~D?6=ryHSnSXfjm|l0eWDrO}uIbC}LU zN|qrya?UwZODRQ_q=JG~Rk>8FDkvFcOyGzRK#`1?7_*oZA!0+!0GKpIM~=aZMbG7f z+dFUn@Ml-f-;7E~g#lL~rVs!dW_HebpLbgAcG+&~Sl6Ly=1odL)j4p^BY~MEOfe)R z-|h5@qCg}`VP4HalZrZS)zT0E=Xpp0oC_j=Y=B09z)8Ht$n1?7$%!bC4>6g6u}h{~ zyOTfv^B9!!E01n%A>vDyBrv6cL>Y7zm)6p(FqRMyH^x z&`69;lB6nN$ljNx!2=U|2To&jjI5Zr;2=DjyFVCS;fYPDKLnNnz) zN<*NA;VV zb)mt#+AWlcZ5;5H-ZQDD!z8L@`Ms zUnpgbU;-weML{42QZ)f|YQ)3|4A2V#XL;G~B(;zP5s{taY*sa@ki?wN6wT$C5hb%2 zC7B_U8HkxFnt=(Vl*|%=qDillJ$`b@u_96w4NYXCqU0j;2q2*`5JV;BWYJI@f;j?2 zRN%vpUCm=m6=N3>0c>%hy}H)By*1w*P8@ktAo4*pY7_*C5fMEQ6CooaimI9rLDM8e zb}nm|Eyo#5W-%rMFa_r_0GL-ZW;?_P$Z^%wnQw)47E02C`c zD+59Xgi$2SrtNkc5CJI~=0xbY+iJzS5)pDPnMN}OHDf_QL{SJK5K)W~4FCvC7yw8? zHAPh}B1AM)BS{uxgeVM%Dos5vb0?re7Grdt_{@>Mq>xgwATfj(=CPiJ>2Q5*;plST zGa4ee{MN>3uFhvIbh!};V+3e4iLoe{u^An@<%U2^V5%yhU}|QpyA{L<-Eyds*rZ7)26uwXq$C&4No_7%$j8as$nI6oC-A=bvH&S@a*bN4~1ZM0wZ#n0T%%QPC zrkKQ15RD?D28d{AU?xO}fC3<~0a5Tu-WQHVd=jaeh6o%%o@ZtjMPg6@Ak@@MGl%U~ z9-0{mICK!9D2t-ijxi>er<6hn2u@9i!PG(s3JHzMvMh_jOjJTT+^9f+oD`A@5Y|;i znUm$ zRr7Yg*KSAAdDWOfsMTkl5EVj-NCbJ2ce({5&8D*y=0pI903aeUMqrSXR05bo0-qIm z?pv)EsKusARRd8_6)-V_i0LTKu$uBS<* zu9Nphj+qb)M51bfL`B&yikvgQv%RO@J0e1iAt0z})$e$c=FH=3uf6he?pyD^^WG;H zZiW$f-dM$@B5*Cw+xACHCyyW`<}{b=jd z!^fX|?DXP7J7*VTaAaTxh(-v6sFKh?z<`h(vvbbOvlSU(C9w%2Mg)NJE5tEaLM8(5 zbH|*wTdl%{ln%x-RY)lT1EV4+0Gio!IxgFtUb_>zbyL+EqiQlyPwbgUn#Uhq_^1E$ zKk*a@vy&%#*>~Q0=cgB$+6FeCjH#ZNtxj1KJ}bu4c|D&KK)Y3zMUJMk(I|%6l4y#E zNJOz|#DD+`Uxbh>R7l2gkxl7)>C6g;!qr>^Hvo#l^+Es;ck&+26eVlXF#o z;kX)(?x;deUSh)@F5j5nym#g5joq(&`E$pQ_L#sCS~3*@4}`=iB|``)&YRkr;0Zfy zjMQ!wejY{16p;ad@Q@ufQHjB%33Km?EXy)SWtIbR-83o8Q-}&i49rZ(Kosf*)bfnu zJf+xJtn`WBD>rY%*La|wKed$T5z6P zdC@LgrW)!{PiCfxP#v0?SOO*>1`r6drqiXY(7eoIqP_jfQetFPRa1?LGgw~k968c$ zwVI-^-~auuCQUzh;}Wo{!eL{RIY?zyh?5HTS{bzsN@rmUEv0hu8nfGLPcn8g%oNpnX=a454mX$qnC-g{p* z_1vNM`~0o1f9d3jm3GG+JH9rZPJi-~k8a(*b1)iCXOo4&;-^3R^tX?lEX(r7&5bvI z^ufmceeVkiF#!XT0X0#QSxD*-iAYsX9$$O?D=$9(sWWwbP*qi{>^Xu~=@tfsFEuOj zcDr5I_04NHd!3bDulM1{7gK_T0Zb>mH?Ch?Uw^vO^NiMC$p6tl`o`wYbYY?2@3#8g zd}*PR7gXjiZEZ}?pT9Yu%k6tR$BrF!06=O)=pY#YI%DTD$EEj;&CM)<0&=I*W*inC zf%8OU3XG6q;{;3$JQ<;&u~RU$C?Fb}Pxj~`te?jM~0Bh2!xT<8ij}`3oG4+9$9+m;TDKGT1dekvNT4?AfQ3FlXp6FY_<2rFTT3G z(tYZgz9N*ZY-P|{SuD$(0YJ%%%2Ustd@N|5=Xstv5YYx996vGm?SJ^i>({Q$8@RbK zK6vw@J4_!?Q&YnP0Ga2~XJwXyFU*XX98x+Ya3)GC{@h6Tw{?z)1XCI8_>Gt-f0{}p01_}U%jvyoQ#GZX{ zc}P|=ND52+c3D6WRgJ{XIY!3JXC~@$szcK>jid-n2$`fL8i~TvV(*0)POYu_6x&Zc zxpwqOq4Lu!mk-pGk;(#&9$9p`Dd{Z9IM!?Hz2EuG*H4}tm`x0VrWzR342+r}n_I)C zL19-Gd8^D2IRrS=04X*ihZMRdOPrDO`FPfBZ`T*jeSGuwgUN97>%Z}8cPYzA$%pQ59=!SHFYi9sh%qkqd#`-%nWe>ncNLms zMJGsDJ+Yz}9yArGX3j*x+~3a|m;-FoGUv;pJ+;|vKJOMSc2F|(+xfw0IuD8*TwZ%3 z?;MlM%PcE=UAy^wp43D@(&4;^3E<5ew>zD+e$VHHJ^AFZ?X4Fso&OP-BHNMG9y^Gs z<~-XOPdE1_%iWdPJlwmx!5pf3w6xGETFA_GW1HK)zklIh{hRkhVRZ?<>AlN5g1dQZ`{IQgD~pRrN&v&r?BnzIZ`|Cy zdv*W%wY&Xp`S_DhT)lSt&b|GZfEkXgE-kM>Jy*@=7O`HkC~$sDjV_AUb= zL&L+#0yRyZvES>>7vuKk-eguSbewmLmR1*f_qS&@kH9XaXlO|Y$eCG@xw4gchtpZ8 zk^vC{H#OY8KKi%+_YeMw`}&zDSBqBaEp*n`j}U=~i0b;WmApVjNKM+_9NoGR@8g5n z{JYOQ^^oa!KHq-r3okx#=2&C4KWRR>bZayV%%!2IG@%lW0bK4f@7a~DOeL$QkPSchAW&6R0zigOy>M)Cu^`~tNVe|I?%y7-4hAVDHQKm8{eS+=8@F!(0yu!twA$J~ zn-@OIKn2j?Q=fW%arM|o=kH#+bm_tU+ah-E+?Ej}#JR)@*ohPgy#W~lp=3Tojevp- zFMQtPbhUz2QIqm*4rL zKl;|EUOY9Q#d{n3#$bv-u(aGOa)*fXX-JLL6^MiL=Wm=lcY_H2@gKglyt<+YsK{n5e1gUd5o=(oxo5aGG!PnQ{@;_lAm z&dtrHhQVNvIj;!yR2{VmXN3nq$Z|OS=-Lx!9y7Ba{phDlD@QkWb}szIt+VH@Zamm0 z2Il~|h{+Q9Mxjx3A6z;xZ~%lP#PP^#x7R5x16TO6oy})ih~|kh!fv~@-0KY|X%Zqj z6ar*oBFY$5nlJ;CqU^WY4p8TlEJ1W7&q8&7v-#)$@~>XL^xVS2;=Au%uF_#?mO;Pm z2^nlUoemGCnFj+n-P!nliBh0 z{I$=&@YGW$2TR%VN*5HE%Fn+1)F1zgKl`iizgYziDiM*96S$^Pc4Zx0R8~ay&;FNx z4MqUK&WL59pS||^7oUITvD~9CGa#7ED$iM#LFRd}-)`>?N7G6LjGfCcrN%pOhyWN; z)cF*#BtmlRx!r^*I1YjjHtRQj@G+uI=3>l1oFtZI?mQsc!QTFGe`pGx;mC3S%4eT_ z`Q>LGerS<7MU{K^cHVpcQeA@>W_hXVLo`R0lCWp*b09+m1rhaW1+GRrK95_R@R_5P?1QSaQ}H7dbqXLl3>eDm91{rszsw_0^p2DPcDJSAK` z(p_0uym)OS$i(a&O=dH890g+(!geD@gl=n;0Dd(IL?D|7_3q?ng8tJlJif5FI2#Vf zqA?})oRl&mMr1m`N2<1VjVq^%wRJc0~Yx5wj^Ublo89kU8G5kz@+f4_;57*(B_dG8ERlQYYV$$MAVb8dCJL=MRz z7r4DrWr z{o=02~ z?==C;NCZ?Y_nCLzQRc}@5|N0^uE-cnz?`WwL(XzdI@}x2CiB*@L0RTzHlEH}8GFy( z+3HefT*Y~qO_RC247J1vB7i`KE~y>9+RW;@Mzz90s|AmoT73HPqX2MsYxK#*d$V!$ z4Er|3z4h~}3UqYUx3bxbi%)~m_SV7nR-8-#3yi?~ZJ3|7*jEoBQ=ukwm9P3nJmJw(KS0!*}!UTwB zf|g7q7M@oY`zwo`GUKAi%Ca@wA6HE*G69fQ%k{fiu|JtNjn7NhYQ-RRT{lS%`C}1D zF+>TuM+RMAYd>~+`PW{3>deC{?atu6kMHddXBQ3*oP*2(qY=6BXtudKOgjDUU;pH> zn{nEnXbW}|zlXh9=4l{>~onoQm$CGKO#(Arcr5B@SIu!{-U}k2LJ6k`} zIkn#U^h*!F^y2Am+X|Odr;Cg2qA1vb2sr1Qb19~zfS7IUhOM96c;hEGmKR{D4^KbU zfAX5R^m!FFkwe#b+Mrl?)nt z-F98!px3*#zdxI&yqmMfZZ}_F>5pge!R{m(Vb&H?_L=tvDpissX?3yuo!@-@3%~XR z+d-0{C(D?|b+~_j@BYS~A_AI`sU{IBvWx(82b~@-Ecj=hIQgYtd*Sqnh1@4X39;^V zyPe+Wh9mgvAAB&bV$qhSsfhmn9?q>tuj4w??^;#0_x_H3?q+wh$>u?%7}2t&k!437 zC2``Jagvz{FgJmL0h0WN+~r5)9}ETo0?hbg0Ap+avszmYOx8L~w_dgu^(T{%e^INx0d?l*nt0)|pv$DXTQw};q4S3@U z-oCl9vDUtJeS2+f)mcthRU)F2WzoWtjj=Q^8j8dcP$|S39!@4oYnyAUJ1o^c37{ham z?f2h%%g7*#8kqhdKRn!9Sjtvb7syH|s_9_hJ(LhdlnFG8;=m$M6ayxW>#MC+)3=hw z0nF zAa2I!n6e0jP>?k-Ms_a5=94EUrH7B=Y-Z={szq0&Oc+&FdT1a7sw6kqM$F z4IqUtz?PwGj3P>ms>&qJl65k_&?-HO7;6#6NW!|d*i^BA**hx=@d1cY0Ip@tyqHvj z2!IueCb?R@URzmRUYvh%(yOdtL;8B}aG`asm0C8MwQ9S2)BpFQU;OyT|CCp9bUF%x z_rJZqxV*|7hvPgiXzw7eJaJ;2b4)rDwPm6}Uc{?f3xQUC+Eg+eRiUaugAajCZP@ok zi6}50M<>S*9__sM-W$qv*6Hu>9Uq@|U+*2|)Be}qJpa4D^DZbr`Pt6#=U?%O$c)gHWDNt;7`JbXT3=*B1NT=qy*Ppy(r7F(9Gi5muGL^td=e}*O%K@&aZYlC&a8OulG)` zUtU~pq)YSlX0tw-PQUoFUyh*+5H4ND#<_NyK*7C{|Lixr!vc|$Mm=rSl7wAV_#&?~ zXaGu}pa|f&dqTSDTr|dKH7HROan2EBdEQ-I@o7CtjPrsY{`l_QC%v*PJH6iNNiQ#D zI4Dw!xkeE}X1OFrlDfoUYaLgvZX3kc2gf@vtMNcx;*@DB8Z;nFEr$@Jh8gjN$$$fb z_@JspYRHI0NR_2oR?}v)KF!NfF?LQ;n>s?8*v)gTQuO)$S$`5>YK=6hs;cy*F~(Op zNFO~tymJ4=!kl4ao6RQUM46(XKdP#Vd{NBR?Q+X$fDcGBWDP8@;JtUYH`Z&3QBmy< zrguJjSSo_3wU!CB%%#>OOw*!@p20R+?}5>HIxWh|vxT2)!dD87-cKx--+brl#mjzi zX{$eyyPrP#^z+l_yLa;vc@9yi0E)FGibzz*ST18+Tv%fBYGtYY!F#{8w$^(7{Key^ z$G`k|cQEzf8Z7%Di8WTe*BC*hAd@%=P~jLOK*kstqQD#}8chkVU)jB*_Z z;=n-c4W_+*vANb-U7A0?l6E`gxrIg|72^2)|8S|~S|RCY_x7Sr=bE^9etB>2%n_{P z!B9d076q5ag%E-wW#+2FWHMn6S1-0VSFfI5UmOhj|9ofY;k`O=QhK#gm9sp$f>A*P z0u~`+WknQ`poXjnYQ{>YRjU!o>g43)_%t`fE6eTZ%XTBZe16GV`*i1|GZXzFE1}HuFln4R;j34AjBBd z*hX5<78ceOqZoYjHu#cYLPTOym!@^9r_+)oSHk|mXgZye>SDY8?$0kH0*;{i_ED2a`9iwf^{ze((OLp9QriXa3RSy>3~FK%@$iTME`N0B5m(9Cu$I zzVp^XBZ-%`>i_9`@7{g%Ph}ZmP?*FRYpWn2nT<>FMdE5uAte$8X^;R>1|T3%PnVlfngrMID5X^9ZW=+D=AY;N~B~TKK$~mb2^@&mVs2q zW1OB~?_h9!!_7D4(spz6eA8O1s=`GGA&3dys3fC-9vzg&hZ6%UUYu2?=z|GfbFQ+C zW1!##fsDamh{8{ye*65w<%{bfgv3x4Vu-clVfFBN_oqMm{K5V4#tOc9^U7P>**C6z z1Kjw@KRnytJ?@=Ws(?|l1~K}Oi+V6R1MD31&Q1s0>)BkLu5K?aEn#?qG;$EIVH;Ig zi3~Z*3bw{bM9?@}<*QOuA%!K<5Ng&0!=*DTi*q74?e(91x%=j|ONmiJY&Ek>TdnQ@ zzj<;LVMNMihRkTIhITs5j9kCC@U3@NE03MS<40fgV}awN!~U>V&(cbSj0+JW6k`^n zDTC?u^XJcBKYo7r?A74jgPt$}Ol+sQhcO^0B!$m?S?1Fzi)0zT^PQ!w^NW^MVgd5j zCDYPGwC+DX`1wbl|LWdJZve;08tvBH0;poj754S(SKZ!342*+BgtD>*p{g94Ac&0p zZ{ffFm+e3J&dr5dmN{bRj3*PIo^Bp@ z20O31FP=Z&Kg?e3$3ekYuDsQ1H1}Q~K78`>$+NwedxOywc>y0#1gM)aba2!iYYfn_ zb1sm^=$ly$2$uAFAKv`$-@mf8O3;#s)VOiTc8<%R{^Kui-FY#XAb2QHL>%|0AK(4r z>+f7+azV14gHf+QFvtbQI75~K92`>`1;OCpY7T!&(SIH86k(Rv4qctc2k#Mx&e~oWa5VQCVItgOk9{SEEzeoloD$hLF8CfRBcoi-%R{`-Ac4?U)#K}b?)S}KOV+z ze{yo#3u--?1u=#boOECW)}|ui@$=5#{@;K3;QhBK%FCCB zPhK9M_KU*~d_?B(#?{q&y>Z$dzdkw}O;v~Z_(AX4%fDACU1mP`cB7r@#f|#AH#Rto zK_L?QXa`4nIm$-+>OXvH+tvZx25Aec>1kymrA z+SSV!&#x~s=UM7~m9y~qjiu$X+*+Rxm7C_(Brk))ODxKem#XRj8)KZgqTnM8t09oOZ^;an3GD>nH`s zT{$}&7{xc=UHP34ZeCcV`Fhw~X;>1EWH8Z_?qr+;jH1NToz7tNX`bgt$B0A-{Pnk+BYvm}ECh8SaJ5}wf(fms>Fa$UfzR+UJ_P;d|@ObODdx3xJj^=a;>MX-sj zH!vvi^dSE5r=J>>hHP2HgOg4<#ln2Dy*atK(Y|(N{>JsiMw)6U$xmvD%>;o%yYAQ~ zL4rsiYgDYLBUm9Y15nWbvb{mftD50*zFmWY4M3hO`eO|9f)u343>M~jV|{6T<6LHI zr``Pca55e-XLXlIRfu8ov4m*9GfWg$w^kg6AgMIzj`{C@e(&H+1ty9@r8`D<(qm#W zsls@%Vhw=-M}PX=8=D)8?N*HtRAqJ(XP~yPFpDHQJ0b%$5CsXKpa8H6SAnO69}K5O zh?B{*KbUlflcUZ=8B8F7CBz73kb(q;(5&Izug~4Qv2gv$+Q!P<@>~OU%O`ef(Hi~inW@#NXb=@~MI3m2NJYb(9}=(N+bmfOwde6!JP zHkOtaBIxPU-TlMiBu^-5ghUi5rrwviN^aTLfbads^*{Z?x3{zWxMK1mVf(!O28S8_HLfkeZ`MUW_2PM8sbH^xXbw6?l9Yd4lSLT9AenVeYx zFe#MqZ|at>YBzi2kT3`mNl8@ziWdW{ diff --git a/tasks/WantedQuests/wq/wq_trace_disable.png b/tasks/WantedQuests/wq/wq_trace_disable.png index de4810ec6e29b92dd4a25ab2e99298998a3b0327..71012a4ebf36e9df3833db3c8370eb348c79dd5a 100644 GIT binary patch literal 9589 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 R{dOvV8c0*6OzCaJ{{YK-=Mew^ literal 16384 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 diff --git a/tasks/WantedQuests/wq/wq_trace_enable.png b/tasks/WantedQuests/wq/wq_trace_enable.png index df6ec27dfbfb8fea9995b0f41fc1d8c9b34bd5d3..eda7463688f50551b8e64afd87f454fe608f4705 100644 GIT binary patch literal 7101 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 literal 15497 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 LNkvXXu0mjfXl>7A diff --git a/tasks/WantedQuests/wq/wq_trace_false.png b/tasks/WantedQuests/wq/wq_trace_false.png index 823d6b7a83835194b42344061aac7afff2a6a23e..60db48bddbe01b7060adf926dbff56f24cfe256a 100644 GIT binary patch literal 13674 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 literal 1644 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 AH~;_u diff --git a/tasks/WantedQuests/wq/wq_trace_one_disable.png b/tasks/WantedQuests/wq/wq_trace_one_disable.png index 138ed73939ec9ff13df86ece1a06c4017eb8d0de..a4d2dc896e71091c1e66e374261a2dc7255a1963 100644 GIT binary patch literal 10508 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 literal 2903 zcmV-d3#jyoP)Px#19L)2R0s$N+u={(00004XF*Lt006O%3;baP00009a7bBm000ie000ie0hKEb z8vpqXd+agK@44fo>RsI(d*%tS?a%m7nD&$44o3L}Or^r_LJ8Lf=QjgE%^P66~ATby9-xqOgpPfS`zb^I2^m02WjO?MQxE zb))R|qr0*yo$FEd`ug6DoDHMlp*MDWD^Y2pbS6azs#ql9kPS$Tk zJ)MZDVf3pqvc)XMVrep#OLQM_MOoVV2W-`DA7hmrU<^LvDx|OKbM!CagYGR$)lH#iB z8HADP9?zUX?V7nj&E`#PtyOVz=W<+o`PCR~ofCB!rGzm40=_R;=I#Q`e|<`Q_RRGJ%L|UFs>^Y`*Lq7wmOY0oJ}Ivwa6Ax%0J+jwJa%Y4T4kPiV;Alju^WNrA-g_EfeeozBd~*_&oK}jETp$WrSBYv1YXxHk zHD=bPB1O?`z#3}>BG-DDTgK2r@v@l9h0Zvw(|o)?j?X@S7?a_i4Q9Y*UduxKRVqkf z7lpValZ6B}KyVYvYZWGdz=T;NBXR{G)wg8Stg-O6hS{d3|A1K zsZ%G5J4}5BJm_F)t^%0ijXg63?TL&SIf!XFiWxmLy=rb+jB*F3<_z~}GgeQ>BhBYW zhpBoNE~8G+fuY+VWIY2nStbVIHp!+05Y)-lV3Z3TcZyfL(X?^X(d)&0^gVrr&@|E~ z)2gE7*l4dT1Vmy%o%>mgi2-LEl9FPCxB27m*3#n3Dc58Me@4w{F9{A)Lo_=L`RYCT zE=4GvO*K)DLVawXlJv6R~iP7;Y370q@JBPVmH4fLkuV+F6~G5}pS+MqLI?Z)MR zLFl(za5-IGN-UGiluU2JV6YeuHoDUE7oyzw8wK7Ez{`=yfxhsezmA0#cv) zAdpNfhZ4J%!X|e=MvS4vQ*uW8~j-{ zq@sp6Gm>9zwS+vcoYb9kJ_b~(H3HQF!6@&M(Q}=5d{of01itGq@DRFupmqQw8Pw^) zaym|Q51|H2uM((baJ$RGf`mYEaxL#sEhvJ$WeG3_q|c42FBOjlju%{63@G<0 zG1QrKHC2aU41Y zx_Sz=))|x-@}JEG9t?;nDFq<+U3avP0Ry!d9I4|^1bnbk#Vb26#I@_M>n#&7$tc{P z^CGX)R9w7vGhW`k7Tc%SB`~=t`Bf7}IpOo}C>l#m&?muwRCb)y2QXbun=yFTV7n*nR26*c#{@ zPfSR_NavQZ4_{=PTmndrq7pP0F*5X+BZ>VlAX)=sD-%S&13hAp#X-Oi|2xH_B>NVlyMQC|S$5 z#^u^tvg&p{J!!pP#m?mmdYilvYo{;Z=~VbsAi4U$E+ezwz41%6j@n3lFz)pPrizE3 zd=Q_0a@VIo_Z{MeFmb%308Q~hH>ckus)-*4&xnUY&(5CPj;l9*9R0P^4*q3b%GKAX zF)2Hzk^SlSzg|$-m<;L$KM?fb#-k$%l>k|oUSXK&XvqMm5A-S#Jfpz^3b3xm zGNRCH?8?SjcY6h53O3Mdz#M=uHhcHCZ!8MEI&ju?m6ZS(8b|;??D)-5_iYK8CC9MQ zg|8g|;#J2#0O>%*pm%X@wh>}o0>mQCm=2#<^DkfASJ9*U=Nzz6)awsCSxn`e)rl>b z>h=aw#(`U}Gx|*6(L|{!2;*lG_N1eR-X2jPP^@9#hK1N#7Rtml0Q7W_JtPSTGA;JCS%b|K)YV|O1qIyEbtk^6XvBZaLfx;!cA1N7B-1yy(_b9sg#J~+m z)16%3F#xxrlpwB@rTmhL0X)ZWzshJGKsrSk{|6w=1WNS+#k2qb002ovPDHLkV1m_t BZ{h#| diff --git a/tasks/WantedQuests/wq/wq_trace_one_enable.png b/tasks/WantedQuests/wq/wq_trace_one_enable.png index b7c833dc3bd1ca747de2f0d2883acc4965530c2d..32fd4c29b0497a8fdf02148bbf417ad610a6cf42 100644 GIT binary patch literal 14701 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�E-$-Holk3Eu+hfU)6p0HaxWu8vkgLek&gwkZHsqcS zh2v-uTaKz|D9Q{qCB71=@p8`~rmff}Ju6kL0SiOl+j^d8@veFb_xr~AuG7h553yx8 zw%J)s6XnBh@9kf?#xC43dt6MF`_~;q*5js0y>XOw2~L#sP4+A7P7jaN3MLrS))Tt6 z)_CyyQJO@mGl2mrYKa3;GOv%zetVpuj1EiA@u@avhn8o@Py7F{-r?zTzUyd&fR&6+ zv(Vb*vp*ZW52=Ct*I%p>N+wD7{;7X(?eMV?EJy@U$Y>!oD6Qt|E;I2MDI#baOJh9@ zzHX{YWI(x_4Kr@Eai<7eLLB3$g2cNC%#wB=Mx5Sg5M%B@`eQ>-+fBX2u*rP+Hm#AZ zs)Dk+w%ch?$IT~8TlHW{gbzn9cFQl$G!b*T$)?g$OFK{TcfvG*U+diB7DJiC%7dV- zYSuUWVZC-v-`$|EmwooWqZhQWb5|2Wp2my-{pV9~ zp%kEY_BRo-OVX9we?p4FGCP&>b5Mr-bu-M2E_Hj8Yqz<(+w1vmTJ9waCt@d5ViBE0*Ya5KN z|8}miUh}0!`iyeT=?x`Plhd(~C;rb^x~him33CSQitFS3c}RW1>xFZFN1y5u^;Ydl zwDc=mM!DYocBKk41B8;Q$#zj|rlCo=;3q{9$E#y`{Q!gH;iH!|PBoPi=XG7hjce%e zRrh1wc*PZ`>~_~w0*>99)frltu@ZAA6@7cJ9R_omH%S_F54yMkEKshVxb7yO1tBku zh@e6V=-Kl7N#=-C6+`UX&X6txtbgDxxjZmuYY)fI+{80jhL`{dDO#sAMtkV(>& z*4V75^7zH!2vR0ez`s7T^!_<&xW7P~=)T&Fc4wBQf>kX}(h&UaQ5HVKnGw>w=)qL* z=xxLshesseN*G#lOP8r;_3n0ICij#M6@K;ebRf;bOj2MyLMtAkm^L<+jQP6LIKZ+u zZ=GIjPR7M>;|Bl8J#@p})HYq`9OrhhMbeo))1%Y}po@7}ur5yF;SnLCUJsgRn&S1E zOmkGyE;r;!%``Mny1InLcCBSeLedA5F_+nGN_FN{@)b$rFOL`+-5NqnBzIg!tKhBF z?J42WrAzwAjd@!Z}`8 z3=)q=g)y_xe1@@+%O^_dnk+*LuAdTx>v7k(eyAUo;m4mSX2t;E7;B=MJ0@+Im{9ta zxN;z2B8wWVd(Qh!w$#fl#Zl;ilC)@jaG`^A3kS~RVH3uXy=YpR(e%xwj;gwj zQ9^05HqSl@G*@$G=AIPH#rY~4?YfHZ1wTvvaopZHJBN}{d{B3eM z2zlFa#Em@`@P2-&&$DO)Py4>Dy2xG;-lM$FgGfP>%HZFYgi0jviQwsfd3uXY$V$se zIhmSaK+EhCe?|oWE|Lam_IB``qrFt^3)GqIkmf$=NwhPp>Rg`N9BxQ6Wj_ U;g@Ldzfl5`VsfHY!Ulo=3nS#%Gynhq literal 4111 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 N002ovPDHLkV1k*pw;lih diff --git a/tasks/WantedQuests/wq/wq_trace_one_realworld.png b/tasks/WantedQuests/wq/wq_trace_one_realworld.png index dc2cd93b656528c819a78f9424ec90c4ac4211dd..73b3b5a2dd5e147ac4e7382119669092f710ec34 100644 GIT binary patch literal 5225 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 literal 22523 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 P00000NkvXXu0mjf6)0}y diff --git a/tasks/WantedQuests/wq/wq_trace_true.png b/tasks/WantedQuests/wq/wq_trace_true.png index 1de3b3ae0c92e7f51bf9ee14780fe4fe8f4b87bf..07907bd36db2cf44e2b6d7562d38730856ccc47d 100644 GIT binary patch literal 13140 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

uzx~#7 zxsXE2rg0m~(p47{Ny05NxBX^Yx3_Ms-hTV7*YDqJ5$&|0JnVHokZ_VR6D3;BdVYTH zj*ou${s-^BcW|(-bvH%y>_AR2sw9&JmuQ>K#tR?ZzxTrrKlsjf9<5fL6hd<75U)_# zE0u#T?P7DWUN7H$_wf%udjHqu*0&%0{P*029nMAhFxWw?6#v$&)AV9UUAxxNtY2WyBVL&HLy2r;t)eCY1M{y#F_U z``3>izTpNSL1>(fMQbr;^{36{ngk?)v>*TEM~@$Wcez|-MrJ4mnVSm%H)ddfV4~5w zButVox}>#PSQ{JG*o_9W8`}Y3s<*z|p8w((AOG&N&)bQ9P32Z z;tMx7TcDWetHshkc>f2V{`R+De|_3@=RY@F=(!gf zD9OJ3^2^UY`|Qr0J5QcGX|ojot^b;TJ!c^^Lls76u@^61ELYvh$gGD-B8Ra7<@Lx%Y7jy1A&Z1&C>6}N;x<A z<>LP9cY$oZ=^U-h(cPSAYk5OyFTQzxeEaZQ-+FzTs_lpBuR?yL8|>C%-J!&8Yj^LQ zeDuMSlarHcAgd+622STFpn2Z*{IZCvMOXg$pZ@W$e)8kxVv$)}df{ z5Mm0^3Wg|A0z`pSYwj{qwUkn8l~mw1JKdB5*rvD=*dQQ~L)B%H5VMARS8P$-z1F(F zDq$N~Sqq)tp+x2N>%^$t@7?_51uej}* zXQVyyHkQ(Li*N#D+?pbyqUPFyary!zG^7sZGI|u4=9AvOm8!&)t=0eE7d{} zgAXMPCc+nH7@}?1F~Hl|-^Ow>Nw%B6wj^bu*l;lmk(hcpWY+)=Pyhe`07*qoM6N<$f+Vze A2LJ#7 From e68c2d26f12ae6b7f37df3c0a3a875f8a7dd2454 Mon Sep 17 00:00:00 2001 From: User <190754820@qq.com> Date: Wed, 28 Oct 2026 18:08:53 +0800 Subject: [PATCH 09/14] =?UTF-8?q?fix(GlobalGame):=20=E9=80=82=E9=85=8D?= =?UTF-8?q?=E6=8E=A5=E5=8F=97/=E6=8B=92=E7=BB=9D=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=96=B0=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重新提取通用接受/拒绝按钮模板并调整识别区,匹配游戏新版本界面 --- tasks/GlobalGame/assets.py | 12 ++++++------ tasks/GlobalGame/gg/gg_g_accept.png | Bin 4783 -> 4705 bytes tasks/GlobalGame/gg/gg_g_reject.png | Bin 5193 -> 4929 bytes tasks/GlobalGame/gg/image.json | 24 ++++++++++++------------ 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tasks/GlobalGame/assets.py b/tasks/GlobalGame/assets.py index 106569e11c..1a2d23bc6f 100644 --- a/tasks/GlobalGame/assets.py +++ b/tasks/GlobalGame/assets.py @@ -12,17 +12,17 @@ class GlobalGameAssets: # Image Rule Assets # 接受 - I_G_ACCEPT = RuleImage(roi_front=(830,407,56,46), roi_back=(798,369,117,110), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_accept.png") + I_G_ACCEPT = RuleImage(roi_front=(846,471,56,46), roi_back=(810,448,120,192), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_accept.png") # 拒绝 - I_G_REJECT = RuleImage(roi_front=(832,508,53,51), roi_back=(808,480,108,101), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_reject.png") + I_G_REJECT = RuleImage(roi_front=(846,561,53,51), roi_back=(826,458,99,172), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_reject.png") # 勾玉 - I_G_JADE = RuleImage(roi_front=(661,466,43,46), roi_back=(661,466,43,46), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_jade.png") + I_G_JADE = RuleImage(roi_front=(677,510,43,46), roi_back=(549,483,202,111), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_jade.png") # 猫粮 - I_G_CAT_FOOD = RuleImage(roi_front=(565,463,59,65), roi_back=(565,463,59,65), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_cat_food.png") + I_G_CAT_FOOD = RuleImage(roi_front=(635,501,59,65), roi_back=(558,472,191,132), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_cat_food.png") # 狗粮 - I_G_DOG_FOOD = RuleImage(roi_front=(565,464,60,63), roi_back=(565,464,60,63), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_dog_food.png") + I_G_DOG_FOOD = RuleImage(roi_front=(643,505,60,63), roi_back=(541,485,234,115), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_dog_food.png") # 忽略 - I_G_IGNORE = RuleImage(roi_front=(773,116,21,21), roi_back=(759,102,48,48), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_ignore.png") + I_G_IGNORE = RuleImage(roi_front=(859,94,21,21), roi_back=(725,40,197,142), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_g_ignore.png") # 网络异常 I_NETWORK_ABNORMAL = RuleImage(roi_front=(583,330,221,67), roi_back=(583,330,221,67), threshold=0.8, method="Template matching", file="./tasks/GlobalGame/gg/gg_network_abnormal.png") # 已端口游戏服务器,需要重新连接,这种情况一般是断开很久了 diff --git a/tasks/GlobalGame/gg/gg_g_accept.png b/tasks/GlobalGame/gg/gg_g_accept.png index 2299dbd960615c234aacade645ce7713f3839fd4..6b4ea5237f269124ff335ea8e72f1e1b084ed59a 100644 GIT binary patch literal 4705 zcmV-n5}xgeP)b#-HG#$H{`&D6oUwo6^gs)|oBKnYcRg1E^5!a#!fa!71(5P<*?K@84S zT$t&Py0kVLm&{(Qw=d4@+qo?Szm{4#eeZ4S;|@T-R}Gq)MB8><$^Zm#4n~l;NnnH# zTS(kwm?B7g7V$GAe$E9iA|R#&@GjtIa_MH9+BqTFcDc(|$FO~I=HR}irRAO+*}D{~ zs@GI=GmR=oqc)|CpYa}Q_&LEXYWPCLEk+W=&%~;7!D9;L4RSsuWIYVNlr!ZDT2=s+@gjrMBHK|L41PVSFZ8^ zNQz+L&V6$a9lrLL=iB$MiLvCYMHgn8nVDvi%G&x^&0=&%@7f{v9on^f=TcF-zB){~ zI6&|zg3l1#qJ}R-++rj_Op(qx3Esp}AWcIkFIa5k6Sf!fZ$UEpCPzK4PS`3#YhOJoVY4_ito%Y z)7$yvy$65$$-(|5aqcI-^B>k;eA5#-B`qp~x{3?i`gIkquZ$*b7kiZFAHDn1wT(8@ zNGA{gg3o0Hi7$n?#ncA8dbZtGM4*~>?=jRgBgfTg3o0H zi7$oNLXbc&1cJ@3rMNgddwAFKV|Omxzdy{>mbPytT)Mh0M-T4yg5aSB5;qAxmk}hs6aoT30MLo22{3C(BH_?0){CjR6LsRbYb zgt>X~8Nh{qb!PnX#Wc>t)p1VAsF)ILan9|SU62Rv+)aFf1o3$Y;wBPCY#}~F1XBbd z(nKGfGm&bx-`lZNFZK`q?lbl7Z2&aWioiLLzTbD10eJKG&WvBa*p2gWb)36orVv1| zMIg0AdFaRiVK z7vTm#0bJb=z81q2LDQUJ0M7rxciM9w^_KoYbj)VY{KW_Qfb-@aq{(PPVBf5`WH0Aej75a%HdIa}9i$>N+3 zF;M}W|HJRJuYO>uTf4EQC7CG#J)eClQ5#3KAry%t4-d@NNS!CD`OhA+d?nMB)=dRZ~^mB!B}%sU&@L{i^S(D$LI= zpE|Pi#C^RZd&N6T>YLysA!XO}#Cubv(uE-60Jdoi@U?H98NTwa7KEbwK2l&dr{Er)d`!)<#a>-d$%?Q$YOqsz9^7N^rg}8+v zC;*5l7A*oo1cX6pMxy{`=HLK0?_KbP?DuBT)camIz2o6~;^Lfo4-z7AX#gm$ucE0j z=m8!DR1eUT-1!% zP)Tc}wbw4@)!}G;W&G-;wX+v()M?J6(MUiMm~jf9kX}{ES5F-+gcCs!?;RjQAL=L& zS4B6|(|~q$eR5-iG|3r4qX}WjobxUQS5-d7Y;x-NervFQI{@=u2@-Lxftg&rie805 zAHl-~xR}>QH(omb@tOZ~_0nZE29c)cMX|9l9FG!d&LISdzzkERK%PEztm@TGuK}Q@ z814f8IFja<~jk~qCFaOQI|85|aDV5Z98KhBRjKK*c7tN|7a1Omn zoJ4v0k>gbzV;zg4OS#Quu0J<-+pgIodv`u?=U~r{VpzNQ;e|i`-s;86^BPk(E+x^d zZkndoA5FT6mci}&9{y*)9_RWXL;wN=oQDX^kXnG)WaIA256)ls&iC`$IC!@Ii(1P5-6r0+W;fLRU_5JUi?LJzK z!3QrNuY8Y?RhhnmHC=N*7z zC?aLwf=$#0zT>H>em2?871m_@PX5P^|sv#9r0U|+u@$|hu)(iV~&)vO$ z{^0%{_uS_CP1A48EVZd9U5qXUZM*dkK78%p{V`Gp7>)2Qkzv=u$$#|q{_-}6xXMFB z+w5Ejy&4dhK~pyw4L@4@@P}{QIQ#zS^2d|WIzSkpHf}dShzNi}H3JC|2@YOJq8J3I zqL-(?a(vr?{kK1Ma?e+eR||6ha?XRfK`CXpI#gvdI|y}^CtbHOI{)qeK78lHKogM+ z!R%oB{fCcz^9hopt2gR}zKG;W@-9}r2AfC@SFgSCCof%j@eLWaYI$Y6noH4AnAO3F zz&i&JPE|2QLJWeN1aKZx@+(h0xP0$j2cCI&`|&%m$pzw7{t&d^y z#`~}Tm+y_PTr*YF&C^ZvUJKL1!XHwblA59-vV zcG!{(y~fvdX}fMXo>^Y3*Squo?JwW^(QCt%mBG&Khn_ig;EDUNspRDA*xeYxA=Zsh zG!^aAl^>r!`|bbf)#@0;xk)=-*;q*>=Td~?AOJ`fHSZw;QxNb17)XQwRfGU}_VJUw z!F=88aba-q`A7F0Khg}EoYL^dFjTP`^h>ckX=AU6byaP2H-7rwrN4di(of#BI^O=( z2k&_51W6I0$JFS`4HtYh=uK8etM7fN>*LGc{o#!(Hw03};Ju{DWH?+;R=Se2Dvbb0 zs#yqd4kSoWVFe6#`*t`dBq5R&qfSZA&&>$n6jZzP zqt~vSdu#ihI}bj3+{I8P>n`>tj09)|kcOi?98W%4dHqkmzxLDjqWN(?MG@XU&Fi!Jip<0r&STrdg3b|YwsLHCT;5!Q>E?lq^oCo{rP@rH?-XdGfTrsBC+M;vv2+Mf4%ha8}CNi zOx=vuhbebC=Sj(c_L@orW=z>ip^;`LBG^PyL`cm=v%)z9C&5K|{)rP+h_R~GEajrc znYo4j{v8LNJh}az+pD>4;-lNNzA>zQ6nr97!Aa4{y7(xu9!?U8sVnE-dG~vNedFBQ zUP~Qgbng1c*GefAs2Q9N`n9S}CSA%Tgak=^3JFLtvs^GmAc&XepE%)s@Xnh^F@sqZ zd!g6N9ooD7-b2er56|pc7AM}hN!tzjGnNZ;c2(tjjg?f|Q8hacV*UCG$;s;ag+F`o z(qEmENm~a`>eOgsLqq@&P%GYhHPb0G z1a4twR-SwEgsKPN97sfGy{b1!x$X~qT@McI-h2Ak^3j8Jzb7K|yAQP2uF)*c%+QCN zv-6I?B$77rFvQ&TO)jHLH|cFiVdtl3J+FiFY2Gx|~Uhh!adzAuP`Hop)WPJpa^*5IumBL85k;?F}+5>E-_9izZfYD-BVQqDy+ zcnQw8x%7MW`fy@o6?|0(AH>X3DVQR08&!PDYqLNm(RUEdi|~UUOlVbM2unv zHPr$LrVPE>#UQKerR~(kLa>R>izK?Xu#}=^m{Ne43SNQ)fsaA@eGlW+>(}MCUN}8k zpQKWZjNXelAA%Ftc9YmN))mQ=y6P=1u!#%zoILTXPxlw*0hCm7D#I%uz41qXdimTr zk?frat+XAJnLq?2DlbmZbsV=Uz~UU+VyReLtPl|Aodb|^j&w~GWC~Nx6yD3AAJ#Tf z^sW5EZ#)#?hm+RG7`$`Ah@7*U_WOOCBnK&Gh_PARR_fV%zxnLmWB1g9eo5uVyB}Qq ziywUOH!o{Drj*=uFau4@K_E^@dZHATLhl3uNE#PYqZ<7t0BTBOB@V=v;6qb|D!5`? z-$V}lP)6bFQ`bdERGc-n=(c&Xg_5C4pSRkFpCJ z%Hawe23$}yAOa#PqB^wTTWIqM`~f`(8Z-!3!zv+JDJkDK^X7fO&N=(B)|#^#`wA3M zJiOyH*4c65?6KCKW6UuJ|Kor7cj@|KjP!7CuO7|++kgEZ`v+%>#*Qx+O>bQ(PRVBO z9#sh~IagKXUI2)LB)-1Bxpwz&t_zB)x|8N43!FCmSVW}H*-%u~JeQQCawMGAVSRmk z=k~_K`@3r!^Uz*h$CU2x-L5q}`uy?Zmj|g-M_0|Fu~cYKC`1Ba0N|xk5i9-;WZ%U1 ze*{fZ8I3Tv>?NquT|@wsQgY5DX=2$S!GWghS6#}}k&Bw2)BK+81WD=s?VTv`+0$2F zK7OIq==I^{^(y5OAOf@hjRy#HIt4U1{_iON_GM-TE*d3Pma-5z^$glGdEmo$zSDKx z;j1@Y(+Zi3kL$_xvdi>T`kb>?G3?#Cb8Bn+_3JmEK6-I--JD%FSJ%sADo!}*PQL*} zz#-~Jf}sE2C;?QFeKPlg0(B^~8p|TD($wy~_u#`n`C+?i`v3l${m-A5MPE@4x#wX$x%TELHPd%+TVgI4jN%4mGOAodTyA*&ge(K{`=K~$)TU9 zh6g`>XS_c7FaPO3UpzgH#Ve(H0I+CN)K-7>qxZjh`ts;vb+ydb%N8yUf&x;MqzEB! zfeQfA2q%8uSAGN2DdGlFHR`f-O(=N{fBtX()%3x}6_*$Jy7knjbZ2MhTi<%{<(H3F zixnvZtXNJN?)pdX+&wrtyK3^q<&q+OE)=0g7Xc{Z0vC66;s&UIJ}mM71UziXDGqVK zO&naLK95=NuKnsS|2*!@&hzDYbCpU?Ddkk!rW?&B4<0^z{d_;Q9g_uPCBd!eN8i4C za=pA%$0Q~yn0Q_brK5R;2Xe{Ru zW^dp6$v^!Ellxoe6gQV;;-be@+h)3} zfNI%m4alhm1rEU~LT<19@jv@znrkneqlX}yF^JK#XLl!+u3i`12^O;~Zh^?T zZ=_p)@6JcR{L$p$=DA%aNnL7VsN6`Xs21-#YcKlC@%^kvQ`qSZ3Lf9IoL{N&r;{{ydha{MND9T9|LR!Bw-ZlDV(s%o%O z5(Q3}nTS%EEHBW!^@s1g|Fe%K-`eQw(xFS9Q%UYl5sg7r&8(C@m)w`KzPUA@Oxsm= zd4B2H^*eXB7K<(y&^6~AV^k4QCD>W+Ls@(4);mA_@Y_Frzn^gZ?k0h=(~ExDv&g8f zJr}x&26mL^ojcNyJq>EBJ&#RcX-@W(FPd?myd#8(KSyq{uioWk%C_yy_lBJZ= z=WN!dB0*-;*>p1RSLyolS|8lmyjnK3jvS&fmXf1rDXC|+kx0eiZ+-7q ze>{Er)>69#noL84&{xfpLJdJ;aI%<{l1nb`R;+lo)aLHGxjMeMI6Bwc^9eP$K}9J{ zmLW(Ls-5Zg{?U)$`oTK~tCJS1BE`g;t{IKTRPNrr7lXduf5l{h0`ruU#t2F&4v;bQ z$PF{rs$c$_KN~;XJS$h%Y1N~bNYJ{r0U#n8f`s6JnRzariWksa3RfqKgD3m1zj$%} z=2-W(Hz-kpX3HX^qLY;7{Ka4Vdi~uy7r0*8DyObk))*YfeIvrrY;^y@{VIeZ(YQ^0=P8Zg>-w+%{a>baoRzDEHH-|E#!4;cZq)>3Pz^yHG%Id~VxC>h zrH3v0ljjF7K6`xn{E#hlcXPuXpdq*`uC1wdCO`j|zl!&#tE#_fFP){BanN_7R@DF_ z+SG2}+Pb@Y_mhu5iB)acg{sshbso8te!M&TCx7wJZ6jRR^#X0t!r-DzU6;B}g{m53 zbQLpCIm29xQcM!kMf>Kfm(M@>>SF&4jZJl=ySFw(R09ff7c#f%pZ$wJ-TLm%r8Z~X zxp{Fj6(zK|hoGYv0dKlhg6Sw$^U2QM?xW8isVj@a;gw#p*?8ynkAMBM@x8UXov)4_AH4kZ$@1Vjw1`PYtaNXCo20-^%jEvn zPk#LmcmB>>U0p7_b0~|OhzjUnsA7zvl-%~63!1*M;H=`-_O1DR?ey^2O3C6YYj)nh z|IwfRX!fnm(|on^wupr&Bw=1kfxD_|REi`oIT_pqVol0zZZ4XmC$GQ!tIx0ZFQq9H zjK(?|g^}L7wZ);U%sqKV1T%Ab2wJ=}Ib~QWrZFT~SNd4h zyZ8109Gx9s^;diEzxBaSKiqix_7$6zbsk9}g#=0|R*D3PRiuUjI1n`%%I zg4v4;`kbmN?%mr%g|$1I-~GV{n{VG*pjlemt3gC7wOq{1-9f4fRSlkVcDNTWP42F{ zbkUyepFH{Gi<2kEb*|TBGOb1dL7+J=iKB(3)x)l@)A^6~u+%s~U+M*?CZqfJ1MZD04aiH%z5Fni-X>c=hH-J(sE&H-a z*RN0afA{R{#j!SA5A!vhjI~xcfngld-K`A~ar2C_XgZ3Xo}7gkJdm|`1yi_L>JtrB zh|vklggaPruB#DMaw$-lmacTJ^dJS6t@M4LQwo73AaKCpW@Q+s)lizWI=w!9cJS(V zFD{-RhX!jpn_)DSIy%h?9pWHd_ck_Th`6!E+BPl0qvOLui_=jYM+iX(Syz>kmikf( zh!Cr~9`$`s&|#p3AoX|xddj))`o8Z0SJlC2gM_n`0#HCPk<5J6UA#Pg{P9aYBUKU zm<``Nic}iwSmiFatF~*JT#Bj=!#f3LrlKijfWjaqlC(Wvo;*GL{5PLoJUgD`uqLy$ z(Y$7$(?!f(0hl=)LcO=OMT)~APy`B|9P>0R(CQF<5`$Yv=&H| zU=FwooN$AiAQ;U-3gAT;s-S|}lI5Jc^Y+RP6<)`xmJrr7TOQ5F8iTu+T-+fdq-1!X z)2ds72pUCIAOp|L-BDDP5)@#Dx23;Yo;*AJ>f_JP_m4u)c|Ds*T|wava|6ZcBpeR7 zyF2vWtqmujFn1w@43t0$l*PNQ@7lguHS@K(0kiom))kdzmP#T-RZA&->Ql)DrZK1r zZ>Bj1AS$W?Y87i1dguM+>geg~m!Ca7eSTCWolCtIrZr+@h!hxvfI9}%fWaK1d$%@S zZbokbf=GY}L?JZLB(7;}y#uKR`v=XI@nJI40@@7Z`9MIkEH3vnZARS85Nk^2Z z(4Zmp$;r!$O9!@ZZ3PV=++C;`x}uqihzQ(?)!ms47)J3PfGevpHQHJ$?P`ldn#n9@d>~#_3eXW2q}t zLJ0-mP_^z(A_||2i9o(;Y$`WT@l<`2O>kwZ<6ZWNqd$s6JFs zN-n9e__!WdbrtGBr4{$$G%`zbwmN-r^!TqoKm6kLsN;GVPi4Fwr-~3L!vu@3gQ6jb zGLFN!N9>9%l16rHS~ET)+r}IRST)PAfwj zb2w@4`r!6@HYXxgKyeK5n9(VOn+q{0qEf7QZc|EmmD^BPRUJWhSd63TWE!fG!xzm` zqmX3r%B#i6;`GJQ)8BrvczwZDnM=KJA6=CXjL058k@n zbjc`Cb-=s`33tGRB7i`I6bvOHIpw}j%hl4XQ0atJp&pMJVk*}59iya_#faWl$BW}9 zZyx>T(~D$DQ3F+v1% zH)k2T7YG9Mo7e8{h2ri6Nrf8#{d?cJYXw~@#WD>-Arv4);O;PxB)<{S5e^hriuGl+ zShal{s#r~<1dt3F%j4_w=cmtp`^CYRucsbotmitJXsr}=1n2$n}n!0h3+IpLtY z!-WpG7c2Vn@4sipTuM&GN>QrgCbTawzsWdnnzlM&E>JqE5G{FX({i=!a~mcxR*GD% zk1wzG&tHA|;_T^hU33=5(=eLpI5LP)i~t7T&Ve%oVWjhh<#3B3D&(anEHUwKdJrX9sqcrfc()gX7DCGwFS*(^;&m ztYeL0gwu&(=p42UVCcpeObp@h0(W?}OjR#1D+1P49k%amY#+@}&KJpiG78truJ3zj zFwsi2lr;R8nHPf@gh40*(h(@55Z$FueLhXs-T6g6>$@%#%883=>mhQ#2_29ad7evKKO2-JbAiLo3%|=t=jA{#+3RX2Ed%f zte6o}!-9!9%`8wyK_XnpW!vQI-pxnUaj2$YR6_$)T~v@tPr@*;67-v%#Np13Dh+no zVQvNisUUnh4zpUqvg>YdZhq(CUh0}=b+B`H`_<6}DWy+NA53c*6nM~5Hz0{v=P{|H@-`fBH002ov JPDHLkV1o0IZR!93 diff --git a/tasks/GlobalGame/gg/gg_g_reject.png b/tasks/GlobalGame/gg/gg_g_reject.png index 2aa88c60b00e21ac768a9989dc586e44d98eda90..c35aff343962ed48e6a951fc3338d90ea35db1fc 100644 GIT binary patch literal 4929 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 literal 5193 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 D%10G9 diff --git a/tasks/GlobalGame/gg/image.json b/tasks/GlobalGame/gg/image.json index b223424be9..d76400b526 100644 --- a/tasks/GlobalGame/gg/image.json +++ b/tasks/GlobalGame/gg/image.json @@ -2,8 +2,8 @@ { "itemName": "g_accept", "imageName": "gg_g_accept.png", - "roiFront": "830,407,56,46", - "roiBack": "798,369,117,110", + "roiFront": "846,471,56,46", + "roiBack": "810,448,120,192", "method": "Template matching", "threshold": 0.8, "description": "接受" @@ -11,8 +11,8 @@ { "itemName": "g_reject", "imageName": "gg_g_reject.png", - "roiFront": "832,508,53,51", - "roiBack": "808,480,108,101", + "roiFront": "846,561,53,51", + "roiBack": "826,458,99,172", "method": "Template matching", "threshold": 0.8, "description": "拒绝" @@ -20,8 +20,8 @@ { "itemName": "g_jade", "imageName": "gg_g_jade.png", - "roiFront": "661,466,43,46", - "roiBack": "661,466,43,46", + "roiFront": "677,510,43,46", + "roiBack": "549,483,202,111", "method": "Template matching", "threshold": 0.8, "description": "勾玉" @@ -29,8 +29,8 @@ { "itemName": "g_cat_food", "imageName": "gg_g_cat_food.png", - "roiFront": "565,463,59,65", - "roiBack": "565,463,59,65", + "roiFront": "635,501,59,65", + "roiBack": "558,472,191,132", "method": "Template matching", "threshold": 0.8, "description": "猫粮" @@ -38,8 +38,8 @@ { "itemName": "g_dog_food", "imageName": "gg_g_dog_food.png", - "roiFront": "565,464,60,63", - "roiBack": "565,464,60,63", + "roiFront": "643,505,60,63", + "roiBack": "541,485,234,115", "method": "Template matching", "threshold": 0.8, "description": "狗粮" @@ -47,8 +47,8 @@ { "itemName": "g_ignore", "imageName": "gg_g_ignore.png", - "roiFront": "773,116,21,21", - "roiBack": "759,102,48,48", + "roiFront": "859,94,21,21", + "roiBack": "725,40,197,142", "method": "Template matching", "threshold": 0.8, "description": "忽略" From 2db22cc34617a0a33306506114795f08c2c5702d Mon Sep 17 00:00:00 2001 From: User <190754820@qq.com> Date: Wed, 28 Oct 2026 18:08:53 +0800 Subject: [PATCH 10/14] =?UTF-8?q?fix(RichMan):=20=E6=B5=B7=E6=B1=90?= =?UTF-8?q?=E5=BE=A1=E9=AD=82=E5=BC=80=E5=90=AF=E8=87=AA=E5=8A=A8=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E6=97=B6=E4=B8=80=E6=AC=A1=E4=B9=B0=E5=AE=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 游戏内开启自动选择御魂时,海汐御魂购买逻辑改为一次买完并提前返回 - 移除按 cycles/res 分支中的 enable_book_auto 判断,统一走自动选择路径 --- tasks/RichMan/mall/scales.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/tasks/RichMan/mall/scales.py b/tasks/RichMan/mall/scales.py index d48f6179f6..0975c705ca 100644 --- a/tasks/RichMan/mall/scales.py +++ b/tasks/RichMan/mall/scales.py @@ -314,6 +314,19 @@ def _scales_sea(self, buy_number: int, buy_rule: str='auto'): if remain_number == 0: logger.warning(f'The remaining purchase quantity of xx is {remain_number}') return + # 游戏内开启自动选择御魂时,一次可以买完 + if self.config.rich_man.scales.enable_book_auto: + # 检查钱是否够买一个 + current_money = self.O_SCA_RES_SEA.ocr(self.device.image) + if not isinstance(current_money, int): + logger.warning('OCR error') + return + if current_money < 400: + logger.warning('Scales sea money is not enough') + return + self._scales_buy_more(self.I_SCA_PICTURE_BOOK) + time.sleep(0.5) + return if remain_number < buy_number: buy_number = remain_number logger.warning(f'Remaining purchase quantity is {remain_number}, buy_number is {buy_number}') @@ -340,16 +353,10 @@ def _scales_sea(self, buy_number: int, buy_rule: str='auto'): buy_res_number = buy_number if buy_cycles_number: for i in range(buy_cycles_number): - if self.config.rich_man.scales.enable_book_auto: - self._scales_buy_more(self.I_SCA_PICTURE_BOOK) - else: - self._scales_buy_sea_more(self.I_SCA_PICTURE_BOOK) + self._scales_buy_sea_more(self.I_SCA_PICTURE_BOOK) time.sleep(0.5) if buy_res_number and buy_res_number >= 2: - if self.config.rich_man.scales.enable_book_auto: - self._scales_buy_more(self.I_SCA_PICTURE_BOOK, buy_res_number) - else: - self._scales_buy_sea_more(self.I_SCA_PICTURE_BOOK, buy_res_number) + self._scales_buy_sea_more(self.I_SCA_PICTURE_BOOK, buy_res_number) time.sleep(0.5) From 3f0851511d96219fba6f76628b11db15b8759412 Mon Sep 17 00:00:00 2001 From: weirj2016-ai <282596331+weirj2016-ai@users.noreply.github.com> Date: Wed, 28 Oct 2026 21:41:14 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E9=81=93=E9=A6=86=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=AF=8F=E6=AC=A1=E8=BF=90=E8=A1=8C=E5=B0=9D=E8=AF=95=E5=BC=80?= =?UTF-8?q?=E5=90=AF=E9=81=93=E9=A6=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/Dokan/script_task.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tasks/Dokan/script_task.py b/tasks/Dokan/script_task.py index 173faaf748..4e77b3cf50 100644 --- a/tasks/Dokan/script_task.py +++ b/tasks/Dokan/script_task.py @@ -140,9 +140,8 @@ def run(self): if not try_start_dokan: is_dokan_activated = False break - # NOTE 只在周一尝试建立道馆 - if datetime.now().weekday() == 0: - self.creat_dokan() + # 尝试建立道馆 + self.creat_dokan() # 寻找合适道馆,找不到直接退出 if not self.find_dokan(self.config.dokan.dokan_config.find_dokan_score): From 506564c669adff629abdcc91cca4d93c33b4cb1f Mon Sep 17 00:00:00 2001 From: neptine <2234044577@qq.com> Date: Wed, 28 Oct 2026 21:59:46 +0800 Subject: [PATCH 12/14] fix(Costume): Refresh cached template image when replacing costume assets #1972 --- module/atom/image.py | 13 ++++++++++++- tasks/Component/Costume/costume_base.py | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/module/atom/image.py b/module/atom/image.py index b4787fdf90..3d4d52d1a0 100644 --- a/module/atom/image.py +++ b/module/atom/image.py @@ -8,7 +8,7 @@ from pathlib import Path from module.atom.RuleImageMallResourceMixin import RuleImageMallResourceMixin -from module.base.decorator import cached_property +from module.base.decorator import cached_property, del_cached_property from module.logger import logger from module.base.utils import is_approx_rectangle from module.base.utils.utils import random_normal_distribution_int @@ -233,6 +233,17 @@ def _sanitize_match_result(result: np.ndarray) -> np.ndarray: logger.error("match result contains nan/inf (solid-color region), treated as not matched") return np.nan_to_num(result, nan=-1.0, posinf=-1.0, neginf=-1.0) + def refresh(self) -> None: + self._image = None + self._kp = None + self._des = None + self._mask = None + self._mask_loaded = False + self._match_init = False + for cached_name in ('name', 'kp', 'des'): + del_cached_property(self, cached_name) + + def corp(self, image: np.array, roi: list = None) -> np.array: """ 截取图片 diff --git a/tasks/Component/Costume/costume_base.py b/tasks/Component/Costume/costume_base.py index 4c59d5f8a2..6bd0365b80 100644 --- a/tasks/Component/Costume/costume_base.py +++ b/tasks/Component/Costume/costume_base.py @@ -125,6 +125,8 @@ def replace_img(self, asset_before_object.roi_back = asset_after.roi_back asset_before_object.threshold = asset_after.threshold asset_before_object.file = asset_after.file + # https://github.com/runhey/OnmyojiAutoScript/issues/1972 + asset_before_object.refresh() def check_costume_main(self, main_type: MainType): if main_type == MainType.COSTUME_MAIN: From 1e18c251ab2ffda1b452e920084c00f14ed319f1 Mon Sep 17 00:00:00 2001 From: weirj2016-ai <282596331+weirj2016-ai@users.noreply.github.com> Date: Wed, 28 Oct 2026 22:18:03 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E9=81=93=E9=A6=86=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E7=A7=BB=E5=87=BA=E6=9F=A5=E6=89=BE=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/Dokan/script_task.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tasks/Dokan/script_task.py b/tasks/Dokan/script_task.py index 4e77b3cf50..0c05c8c241 100644 --- a/tasks/Dokan/script_task.py +++ b/tasks/Dokan/script_task.py @@ -91,6 +91,15 @@ def run(self): if not in_dokan: out_dokan_timer.start() self.goto_dokan_scene() + in_dokan, current_scene = self.get_current_scene(True) + + # 进入道馆寻找界面后,在主循环前仅尝试一次开启道馆 + if (in_dokan and + current_scene == DokanScene.RYOU_DOKAN_SCENE_FINDING_DOKAN and + cfg.dokan_config.try_start_dokan): + count = self.update_remain_attack_count() + if count > 0: + self.creat_dokan() # 是否已击败馆主第一阵容 first_master_killed = False @@ -140,9 +149,6 @@ def run(self): if not try_start_dokan: is_dokan_activated = False break - # 尝试建立道馆 - self.creat_dokan() - # 寻找合适道馆,找不到直接退出 if not self.find_dokan(self.config.dokan.dokan_config.find_dokan_score): is_dokan_activated = False From eddc6171a560ae8d527bd5e714d985571a0dc51c Mon Sep 17 00:00:00 2001 From: leovefy Date: Thu, 29 Oct 2026 08:03:25 +0800 Subject: [PATCH 14/14] =?UTF-8?q?fix(GameUi):=20=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=95=86=E5=BA=97=E4=B8=A4=E7=A7=8D=E6=8B=9B=E7=89=8C=E5=9B=BE?= =?UTF-8?q?=E7=89=87=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=8F=8D=E5=A4=8D=E8=BF=9B?= =?UTF-8?q?=E5=87=BA=E5=95=86=E5=BA=97=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/DailyTrifles/script_task.py | 2 +- tasks/GameUi/assets.py | 2 + tasks/GameUi/default_pages.py | 2 +- tasks/GameUi/page/image_main.json | 9 ++ tasks/GameUi/page/page_check_mall_purple.png | Bin 0 -> 13693 bytes tasks/RichMan/mall/navbar.py | 4 +- tests/test_mall_appearance.py | 150 +++++++++++++++++++ 7 files changed, 165 insertions(+), 4 deletions(-) create mode 100644 tasks/GameUi/page/page_check_mall_purple.png create mode 100644 tests/test_mall_appearance.py diff --git a/tasks/DailyTrifles/script_task.py b/tasks/DailyTrifles/script_task.py index e2994c027f..bdea4e2fb9 100644 --- a/tasks/DailyTrifles/script_task.py +++ b/tasks/DailyTrifles/script_task.py @@ -216,7 +216,7 @@ def run_store(self): if self.config.daily_trifles.trifles_config.buy_sushi_count > 0: self.run_buy_sushi() - self.ui_click(self.I_UI_BACK_YELLOW, self.I_CHECK_MALL, interval=2.4, timeout=8) + self.goto_page(page_mall, skip_first_screenshot=False, timeout=8) self.goto_page(page_main) def run_store_sign(self): diff --git a/tasks/GameUi/assets.py b/tasks/GameUi/assets.py index c5211c12f3..44138964ae 100644 --- a/tasks/GameUi/assets.py +++ b/tasks/GameUi/assets.py @@ -145,6 +145,8 @@ class GameUiAssets: I_CHECK_DAILY = RuleImage(roi_front=(28,515,58,62), roi_back=(1,487,154,145), threshold=0.8, method="Template matching", file="./tasks/GameUi/page/page_check_daily.png") # 商店页面标志 I_CHECK_MALL = RuleImage(roi_front=(231,455,131,78), roi_back=(201,432,185,121), threshold=0.8, method="Template matching", file="./tasks/GameUi/page/page_check_mall.png") + # 商店页面标志(紫色招牌) + I_CHECK_MALL_PURPLE = RuleImage(roi_front=(231,455,131,78), roi_back=(201,432,185,121), threshold=0.8, method="Template matching", file="./tasks/GameUi/page/page_check_mall_purple.png") # 商店推荐页面标志 I_CHECK_MALL_RECOMMEND = RuleImage(roi_front=(930,12,42,37), roi_back=(905,0,100,100), threshold=0.8, method="Template matching", file="./tasks/GameUi/page/page_check_mall_recommend.png") # 阴阳寮页面标志 diff --git a/tasks/GameUi/default_pages.py b/tasks/GameUi/default_pages.py index 2860d86581..b812840cec 100644 --- a/tasks/GameUi/default_pages.py +++ b/tasks/GameUi/default_pages.py @@ -95,7 +95,7 @@ def handle_login_page(task) -> bool: page_daily.connect(page_main, GlobalGameAssets.I_UI_BACK_YELLOW, key="page_daily->page_main") page_main.connect(page_daily, GameUiAssets.I_MAIN_GOTO_DAILY, key="page_main->page_daily") -page_mall = Page(GameUiAssets.I_CHECK_MALL, category="global") +page_mall = Page(any_of(GameUiAssets.I_CHECK_MALL, GameUiAssets.I_CHECK_MALL_PURPLE), category="global") page_mall.add_enter_failure_hooks(conditional_action(condition=GameUiAssets.I_CHECK_MAIN, action=RestartAssets.C_LOGIN_SCROLL_CLOSE_AREA)) page_mall.add_enter_success_hooks(GameUiAssets.I_AD_CLOSE_RED, GlobalGameAssets.I_UI_BACK_RED, GlobalGameAssets.I_UI_CANCEL_SAMLL) diff --git a/tasks/GameUi/page/image_main.json b/tasks/GameUi/page/image_main.json index ece4396bb8..935d51f9fa 100644 --- a/tasks/GameUi/page/image_main.json +++ b/tasks/GameUi/page/image_main.json @@ -170,6 +170,15 @@ "threshold": 0.8, "description": "商店页面标志" }, + { + "itemName": "check_mall_purple", + "imageName": "page_check_mall_purple.png", + "roiFront": "231,455,131,78", + "roiBack": "201,432,185,121", + "method": "Template matching", + "threshold": 0.8, + "description": "商店页面标志(紫色招牌)" + }, { "itemName": "check_mall_recommend", "imageName": "page_check_mall_recommend.png", diff --git a/tasks/GameUi/page/page_check_mall_purple.png b/tasks/GameUi/page/page_check_mall_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..f6766029c21fb4f0101b29bdace09ce4b3ed6c97 GIT binary patch literal 13693 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 buY~?zkKat6`?Q&I00000NkvXXu0mjf`J!UO literal 0 HcmV?d00001 diff --git a/tasks/RichMan/mall/navbar.py b/tasks/RichMan/mall/navbar.py index 713c9f69e4..aa725e54bc 100644 --- a/tasks/RichMan/mall/navbar.py +++ b/tasks/RichMan/mall/navbar.py @@ -6,7 +6,7 @@ from module.logger import logger -from tasks.GameUi.page import page_main, page_guild +from tasks.GameUi.page import page_main, page_guild, page_mall from tasks.GameUi.game_ui import GameUi from tasks.Component.Buy.buy import Buy from tasks.RichMan.assets import RichManAssets @@ -89,7 +89,7 @@ def back_mall(self): 返回商城 :return: """ - self.ui_click(self.I_UI_BACK_YELLOW, self.I_CHECK_MALL, interval=3, timeout=6) + self.goto_page(page_mall, skip_first_screenshot=False, timeout=6) def mall_resource(self, index: int) -> int: diff --git a/tests/test_mall_appearance.py b/tests/test_mall_appearance.py new file mode 100644 index 0000000000..f91bc90e0a --- /dev/null +++ b/tests/test_mall_appearance.py @@ -0,0 +1,150 @@ +"""Check both mall appearances and return paths without a device or OCR service.""" + +import unittest +from types import SimpleNamespace +from unittest.mock import patch + +import numpy as np + +from module.exception import GamePageUnknownError +from tasks.DailyTrifles.assets import DailyTriflesAssets +from tasks.DailyTrifles.page import page_store_gift_room +from tasks.DailyTrifles.script_task import ScriptTask +from tasks.GameUi.assets import GameUiAssets +from tasks.GameUi.game_ui import GameUi +from tasks.GameUi.page import page_main, page_mall, page_mall_recommend +from tasks.GameUi.session import NavigatorSession +from tasks.GlobalGame.assets import GlobalGameAssets +from tasks.RichMan.mall.navbar import MallNavbar + + +def frame_with(*rules): + """Build a synthetic frame using the unchanged asset positions.""" + frame = np.zeros((720, 1280, 3), dtype=np.uint8) + for rule in rules: + template = rule.image + x, y = rule.roi_front[:2] + height, width = template.shape[:2] + frame[y:y + height, x:x + width] = template + return frame + + +class OfflineMallUi(GameUi): + def __init__(self, mall_rule, state="mall"): + # Skip real Config/Device setup; keep the production matcher and navigator. + back = GlobalGameAssets.I_UI_BACK_YELLOW + self.frames = { + "mall": frame_with(mall_rule, back), + "main": frame_with(GameUiAssets.I_CHECK_MAIN, GameUiAssets.I_MAIN_GOTO_MALL), + "recommend": frame_with(GameUiAssets.I_CHECK_MALL_RECOMMEND, back), + "gift": frame_with(DailyTriflesAssets.I_GIFT_RECOMMEND, back), + "room": frame_with(back), + "blank": frame_with(), + } + self.state = state + self.after_sign = "gift" + self.clicks = [] + self.screenshot_count = 0 + self.interval_timer = {} + self.config = SimpleNamespace( + daily_trifles=SimpleNamespace( + trifles_config=SimpleNamespace(store_sign=True, buy_sushi_count=-1), + ), + script=SimpleNamespace(device=SimpleNamespace(control_method="minitouch")), + ) + self.device = SimpleNamespace( + image=self.frames[state], + app_lost_login=lambda: False, + app_is_running=lambda: True, + get_orientation=lambda: None, + ) + self.navigator = NavigatorSession(task_category="daily_trifles") + self.navigator.bootstrap([page_main, page_mall, page_mall_recommend, page_store_gift_room]) + + def screenshot(self): + self.screenshot_count += 1 + if self.screenshot_count > 100: + raise AssertionError("Mall navigation kept retrying") + self.device.image = self.frames[self.state] + return self.device.image + + def appear_then_click(self, target, **kwargs): + if not self.appear(target): + return False + self.clicks.append(target) + if target is self.I_UI_BACK_YELLOW: + self.state = "main" if self.state == "mall" else "mall" + elif target is self.I_MAIN_GOTO_MALL: + self.state = "recommend" + else: + raise AssertionError(f"Unexpected click: {target}") + return True + + def run_store_sign(self): + # Leave the cached mall screenshot stale to check that return takes a new one. + self.state = self.after_sign + + +class MallAppearanceTests(unittest.TestCase): + variants = (GameUiAssets.I_CHECK_MALL, GameUiAssets.I_CHECK_MALL_PURPLE) + + def setUp(self): + for target in ("tasks.GameUi.navigator.Timer.wait", "tasks.GameUi.navigator.time.sleep"): + patcher = patch(target) + patcher.start() + self.addCleanup(patcher.stop) + + def test_both_appearances_are_recognized_but_non_mall_is_not(self): + for rule in self.variants: + with self.subTest(rule=rule.name): + task = OfflineMallUi(rule) + self.assertTrue(task.confirm_page(page_mall)) + task.state = "main" + self.assertFalse(task.confirm_page(page_mall, skip_first_screenshot=False)) + + def test_entering_from_main_stops_at_either_mall_appearance(self): + for rule in self.variants: + with self.subTest(rule=rule.name): + task = OfflineMallUi(rule, state="main") + self.assertTrue(task.goto_page(page_mall)) + self.assertEqual(task.state, "mall") + self.assertEqual(task.clicks, [task.I_MAIN_GOTO_MALL, task.I_UI_BACK_YELLOW]) + + def test_return_does_not_click_back_when_already_in_mall(self): + for rule in self.variants: + with self.subTest(rule=rule.name): + task = OfflineMallUi(rule) + MallNavbar.back_mall(task) + self.assertEqual(task.state, "mall") + self.assertEqual(task.clicks, []) + + def test_daily_trifles_returns_from_gift_room_then_exits_to_main(self): + for rule in self.variants: + with self.subTest(rule=rule.name): + task = OfflineMallUi(rule) + ScriptTask.run_store(task) + self.assertEqual(task.state, "main") + self.assertEqual(task.clicks, [task.I_UI_BACK_YELLOW] * 2) + + def test_rich_man_returns_from_an_unregistered_shop_room(self): + for rule in self.variants: + with self.subTest(rule=rule.name): + task = OfflineMallUi(rule, state="room") + MallNavbar.back_mall(task) + self.assertEqual(task.state, "mall") + self.assertEqual(task.clicks, [task.I_UI_BACK_YELLOW]) + + def test_unrecognized_return_page_raises_instead_of_finishing(self): + for caller in (ScriptTask.run_store, MallNavbar.back_mall): + with self.subTest(caller=caller.__qualname__): + task = OfflineMallUi(self.variants[1], state="mall" if caller is ScriptTask.run_store else "blank") + task.after_sign = "blank" + with patch("tasks.GameUi.navigator.Timer") as timer: + timer.return_value.start.return_value.reached.return_value = True + with self.assertRaises(GamePageUnknownError): + caller(task) + self.assertEqual(task.clicks, []) + + +if __name__ == "__main__": + unittest.main()