From ca18869f2fbfa4e2fdf4ddcef56218bb8a3f5a35 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Tue, 28 May 2024 00:51:16 +0800 Subject: [PATCH] Fix: Get obtain with Trailblaze_EXP drops --- assets/share/combat/obtain/OBTAIN_4.png | Bin 0 -> 15065 bytes .../obtain/OBTAIN_TRAILBLAZE_EXP.SEARCH.png | Bin 0 -> 24756 bytes .../combat/obtain/OBTAIN_TRAILBLAZE_EXP.png | Bin 0 -> 8022 bytes dev_tools/keywords/item.py | 4 +- tasks/combat/assets/assets_combat_obtain.py | 20 +++++++ tasks/combat/obtain.py | 54 ++++++++++++++---- tasks/planner/keywords/item_currency.py | 13 +++++ tasks/planner/scan.py | 2 +- 8 files changed, 78 insertions(+), 15 deletions(-) create mode 100644 assets/share/combat/obtain/OBTAIN_4.png create mode 100644 assets/share/combat/obtain/OBTAIN_TRAILBLAZE_EXP.SEARCH.png create mode 100644 assets/share/combat/obtain/OBTAIN_TRAILBLAZE_EXP.png diff --git a/assets/share/combat/obtain/OBTAIN_4.png b/assets/share/combat/obtain/OBTAIN_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0d8a51d9a898106522853ff117c33b6821428012 GIT binary patch literal 15065 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 literal 0 HcmV?d00001 diff --git a/assets/share/combat/obtain/OBTAIN_TRAILBLAZE_EXP.png b/assets/share/combat/obtain/OBTAIN_TRAILBLAZE_EXP.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc15a452ad1d10d0ea63b4641b9ad3b52cb3678 GIT binary patch literal 8022 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 Mr17*!!TjBS0m4P%N&o-= literal 0 HcmV?d00001 diff --git a/dev_tools/keywords/item.py b/dev_tools/keywords/item.py index 9a0662622..bd8e20dd1 100644 --- a/dev_tools/keywords/item.py +++ b/dev_tools/keywords/item.py @@ -71,8 +71,8 @@ class GenerateItemBase(GenerateKeyword): class GenerateItemCurrency(GenerateItemBase): output_file = './tasks/planner/keywords/item_currency.py' - # Leave 'Credit' only - whitelist = [2] + # Leave 'Credit' and `Trailblaze_EXP` + whitelist = [2, 22] def iter_keywords(self) -> t.Iterable[dict]: for data in self.iter_items(): diff --git a/tasks/combat/assets/assets_combat_obtain.py b/tasks/combat/assets/assets_combat_obtain.py index 3f0a01df7..10b0259a2 100644 --- a/tasks/combat/assets/assets_combat_obtain.py +++ b/tasks/combat/assets/assets_combat_obtain.py @@ -80,3 +80,23 @@ OBTAIN_3 = ButtonWrapper( button=(965, 414, 1029, 478), ), ) +OBTAIN_4 = ButtonWrapper( + name='OBTAIN_4', + share=Button( + file='./assets/share/combat/obtain/OBTAIN_4.png', + area=(1041, 414, 1105, 478), + search=(1021, 394, 1125, 498), + color=(76, 101, 109), + button=(1041, 414, 1105, 478), + ), +) +OBTAIN_TRAILBLAZE_EXP = ButtonWrapper( + name='OBTAIN_TRAILBLAZE_EXP', + share=Button( + file='./assets/share/combat/obtain/OBTAIN_TRAILBLAZE_EXP.png', + area=(827, 425, 860, 451), + search=(813, 349, 877, 589), + color=(167, 173, 194), + button=(827, 425, 860, 451), + ), +) diff --git a/tasks/combat/obtain.py b/tasks/combat/obtain.py index c1f61b3d3..ed58c6132 100644 --- a/tasks/combat/obtain.py +++ b/tasks/combat/obtain.py @@ -7,7 +7,7 @@ from module.ocr.ocr import Digit from tasks.combat.assets.assets_combat_obtain import * from tasks.combat.assets.assets_combat_prepare import COMBAT_PREPARE from tasks.dungeon.keywords import DungeonList -from tasks.planner.keywords import ITEM_CLASSES +from tasks.planner.keywords import ITEM_CLASSES, KEYWORDS_ITEM_CURRENCY from tasks.planner.model import ObtainedAmmount, PlannerMixin from tasks.planner.scan import OcrItemName @@ -93,7 +93,7 @@ class CombatObtain(PlannerMixin): continue @staticmethod - def _obtain_get_entry(dungeon: DungeonList, index: int = 1, prev: ObtainedAmmount = None): + def _obtain_get_entry(dungeon: DungeonList, index: int = 1, prev: ObtainedAmmount = None, start: int = 0): """ Args: dungeon: Current dungeon @@ -101,7 +101,7 @@ class CombatObtain(PlannerMixin): prev: Previous item checked Returns: - ButtonWrapper: Item entry, or None if no more check needed + int: Item entry index, or None if no more check needed """ if (index > 1 and prev is None) or (index <= 1 and prev is not None): raise ScriptError(f'_obtain_get_entry: index and prev must be set together, index={index}, prev={prev}') @@ -111,20 +111,29 @@ class CombatObtain(PlannerMixin): def may_obtain_one(): if prev is None: - return OBTAIN_1 + if start: + return 1 + start + else: + return 1 else: return None def may_obtain_multi(): if prev is None: - return OBTAIN_1 + if start: + return 1 + start + else: + return 1 # End at the item with the lowest rarity if prev.item.is_rarity_green: return None - if index == 2: - return OBTAIN_2 - if index == 3: - return OBTAIN_3 + # End at credict + if prev.item == KEYWORDS_ITEM_CURRENCY.Credit: + return None + if start: + return index + start + else: + return index if dungeon is None: return may_obtain_multi() @@ -185,18 +194,38 @@ class CombatObtain(PlannerMixin): index = 1 prev = None items = [] + dic_entry = { + 1: OBTAIN_1, + 2: OBTAIN_2, + 3: OBTAIN_3, + 4: OBTAIN_4, + } self._find_may_obtain() + trailblaze_exp = False for _ in range(5): - entry = self._obtain_get_entry(dungeon, index=index, prev=prev) - if entry is None: + if not trailblaze_exp and self.appear(OBTAIN_TRAILBLAZE_EXP): + trailblaze_exp = True + logger.attr('trailblaze_exp', trailblaze_exp) + + entry_index = self._obtain_get_entry(dungeon, index=index, prev=prev, start=int(trailblaze_exp)) + if entry_index is None: logger.info('Obtain get end') break + try: + entry = dic_entry[entry_index] + except KeyError: + logger.error(f'No obtain entry for {entry_index}') + break self._obtain_enter(entry) item = self._obtain_parse() - if item is not None: + if item.item == KEYWORDS_ITEM_CURRENCY.Trailblaze_EXP: + logger.warning('Trailblaze_EXP is in obtain list, OBTAIN_TRAILBLAZE_EXP may need to verify') + index += 1 + prev = item + elif item is not None: items.append(item) index += 1 prev = item @@ -258,6 +287,7 @@ class CombatObtain(PlannerMixin): OBTAIN_1.load_offset(MAY_OBTAIN) OBTAIN_2.load_offset(MAY_OBTAIN) OBTAIN_3.load_offset(MAY_OBTAIN) + OBTAIN_4.load_offset(MAY_OBTAIN) return True diff --git a/tasks/planner/keywords/item_currency.py b/tasks/planner/keywords/item_currency.py index 9ba85a4b7..07ac9a841 100644 --- a/tasks/planner/keywords/item_currency.py +++ b/tasks/planner/keywords/item_currency.py @@ -16,3 +16,16 @@ Credit = ItemCurrency( item_group=0, dungeon_id=-1, ) +Trailblaze_EXP = ItemCurrency( + id=2, + name='Trailblaze_EXP', + cn='里程', + cht='里程', + en='Trailblaze EXP', + jp='マイレージ', + es='EXP trazacaminos', + rarity='Rare', + item_id=22, + item_group=0, + dungeon_id=-1, +) diff --git a/tasks/planner/scan.py b/tasks/planner/scan.py index 80d064340..c8ae60745 100644 --- a/tasks/planner/scan.py +++ b/tasks/planner/scan.py @@ -22,7 +22,7 @@ class OcrItemName(Ocr): result = result.replace('念火之心', '忿火之心') result = re.sub('工造机$', '工造机杼', result) result = re.sub('工造轮', '工造迴轮', result) - result = re.sub('月狂牙', '月狂獠牙', result) + result = re.sub('月狂[療撩]?牙', '月狂獠牙', result) return result