diff --git a/assets/cn/combat/BATTLE_PREPARATION.BUTTON.png b/assets/cn/combat/BATTLE_PREPARATION.BUTTON.png new file mode 100644 index 000000000..50ebf88ae Binary files /dev/null and b/assets/cn/combat/BATTLE_PREPARATION.BUTTON.png differ diff --git a/assets/cn/combat/BATTLE_PREPARATION.png b/assets/cn/combat/BATTLE_PREPARATION.png index 50ebf88ae..c725e63d4 100644 Binary files a/assets/cn/combat/BATTLE_PREPARATION.png and b/assets/cn/combat/BATTLE_PREPARATION.png differ diff --git a/assets/cn/raid/KUYBYSHEY_OCR_PT.png b/assets/cn/raid/KUYBYSHEY_OCR_PT.png new file mode 100644 index 000000000..74b455773 Binary files /dev/null and b/assets/cn/raid/KUYBYSHEY_OCR_PT.png differ diff --git a/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_EASY.png b/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..2082a480e Binary files /dev/null and b/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_EASY.png differ diff --git a/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_HARD.png b/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..61fc37b0f Binary files /dev/null and b/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_HARD.png differ diff --git a/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png b/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..09ec3b291 Binary files /dev/null and b/assets/cn/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png differ diff --git a/assets/cn/raid/KUYBYSHEY_RAID_EASY.png b/assets/cn/raid/KUYBYSHEY_RAID_EASY.png new file mode 100644 index 000000000..542de947b Binary files /dev/null and b/assets/cn/raid/KUYBYSHEY_RAID_EASY.png differ diff --git a/assets/cn/raid/KUYBYSHEY_RAID_HARD.png b/assets/cn/raid/KUYBYSHEY_RAID_HARD.png new file mode 100644 index 000000000..cad0f8b8a Binary files /dev/null and b/assets/cn/raid/KUYBYSHEY_RAID_HARD.png differ diff --git a/assets/cn/raid/KUYBYSHEY_RAID_NORMAL.png b/assets/cn/raid/KUYBYSHEY_RAID_NORMAL.png new file mode 100644 index 000000000..b41bb5055 Binary files /dev/null and b/assets/cn/raid/KUYBYSHEY_RAID_NORMAL.png differ diff --git a/assets/en/combat/BATTLE_PREPARATION.png b/assets/en/combat/BATTLE_PREPARATION.BUTTON.png similarity index 100% rename from assets/en/combat/BATTLE_PREPARATION.png rename to assets/en/combat/BATTLE_PREPARATION.BUTTON.png diff --git a/assets/en/combat/BATTLE_PREPARATION.gif b/assets/en/combat/BATTLE_PREPARATION.gif new file mode 100644 index 000000000..dc0e69021 Binary files /dev/null and b/assets/en/combat/BATTLE_PREPARATION.gif differ diff --git a/assets/en/raid/KUYBYSHEY_OCR_PT.png b/assets/en/raid/KUYBYSHEY_OCR_PT.png new file mode 100644 index 000000000..74b455773 Binary files /dev/null and b/assets/en/raid/KUYBYSHEY_OCR_PT.png differ diff --git a/assets/en/raid/KUYBYSHEY_OCR_REMAIN_EASY.png b/assets/en/raid/KUYBYSHEY_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..2082a480e Binary files /dev/null and b/assets/en/raid/KUYBYSHEY_OCR_REMAIN_EASY.png differ diff --git a/assets/en/raid/KUYBYSHEY_OCR_REMAIN_HARD.png b/assets/en/raid/KUYBYSHEY_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..61fc37b0f Binary files /dev/null and b/assets/en/raid/KUYBYSHEY_OCR_REMAIN_HARD.png differ diff --git a/assets/en/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png b/assets/en/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..09ec3b291 Binary files /dev/null and b/assets/en/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png differ diff --git a/assets/en/raid/KUYBYSHEY_RAID_EASY.png b/assets/en/raid/KUYBYSHEY_RAID_EASY.png new file mode 100644 index 000000000..8771758a9 Binary files /dev/null and b/assets/en/raid/KUYBYSHEY_RAID_EASY.png differ diff --git a/assets/en/raid/KUYBYSHEY_RAID_HARD.png b/assets/en/raid/KUYBYSHEY_RAID_HARD.png new file mode 100644 index 000000000..be2705890 Binary files /dev/null and b/assets/en/raid/KUYBYSHEY_RAID_HARD.png differ diff --git a/assets/en/raid/KUYBYSHEY_RAID_NORMAL.png b/assets/en/raid/KUYBYSHEY_RAID_NORMAL.png new file mode 100644 index 000000000..4032ff9f5 Binary files /dev/null and b/assets/en/raid/KUYBYSHEY_RAID_NORMAL.png differ diff --git a/assets/en/ui/RAID_CHECK.png b/assets/en/ui/RAID_CHECK.png index 7a48c1c5d..3361a9c8e 100644 Binary files a/assets/en/ui/RAID_CHECK.png and b/assets/en/ui/RAID_CHECK.png differ diff --git a/assets/jp/combat/BATTLE_PREPARATION.BUTTON.png b/assets/jp/combat/BATTLE_PREPARATION.BUTTON.png new file mode 100644 index 000000000..d1353ffd7 Binary files /dev/null and b/assets/jp/combat/BATTLE_PREPARATION.BUTTON.png differ diff --git a/assets/jp/combat/BATTLE_PREPARATION.png b/assets/jp/combat/BATTLE_PREPARATION.png index d1353ffd7..d78b6fffa 100644 Binary files a/assets/jp/combat/BATTLE_PREPARATION.png and b/assets/jp/combat/BATTLE_PREPARATION.png differ diff --git a/assets/jp/raid/KUYBYSHEY_OCR_PT.png b/assets/jp/raid/KUYBYSHEY_OCR_PT.png new file mode 100644 index 000000000..74b455773 Binary files /dev/null and b/assets/jp/raid/KUYBYSHEY_OCR_PT.png differ diff --git a/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_EASY.png b/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..2082a480e Binary files /dev/null and b/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_EASY.png differ diff --git a/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_HARD.png b/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..61fc37b0f Binary files /dev/null and b/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_HARD.png differ diff --git a/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png b/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..09ec3b291 Binary files /dev/null and b/assets/jp/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png differ diff --git a/assets/jp/raid/KUYBYSHEY_RAID_EASY.png b/assets/jp/raid/KUYBYSHEY_RAID_EASY.png new file mode 100644 index 000000000..92145ca26 Binary files /dev/null and b/assets/jp/raid/KUYBYSHEY_RAID_EASY.png differ diff --git a/assets/jp/raid/KUYBYSHEY_RAID_HARD.png b/assets/jp/raid/KUYBYSHEY_RAID_HARD.png new file mode 100644 index 000000000..137d003b0 Binary files /dev/null and b/assets/jp/raid/KUYBYSHEY_RAID_HARD.png differ diff --git a/assets/jp/raid/KUYBYSHEY_RAID_NORMAL.png b/assets/jp/raid/KUYBYSHEY_RAID_NORMAL.png new file mode 100644 index 000000000..f6df66a64 Binary files /dev/null and b/assets/jp/raid/KUYBYSHEY_RAID_NORMAL.png differ diff --git a/assets/jp/ui/RAID_CHECK.png b/assets/jp/ui/RAID_CHECK.png index 8959905ba..da2c5051b 100644 Binary files a/assets/jp/ui/RAID_CHECK.png and b/assets/jp/ui/RAID_CHECK.png differ diff --git a/assets/tw/combat/BATTLE_PREPARATION.BUTTON.png b/assets/tw/combat/BATTLE_PREPARATION.BUTTON.png new file mode 100644 index 000000000..50ebf88ae Binary files /dev/null and b/assets/tw/combat/BATTLE_PREPARATION.BUTTON.png differ diff --git a/assets/tw/combat/BATTLE_PREPARATION.png b/assets/tw/combat/BATTLE_PREPARATION.png index 50ebf88ae..a3a866145 100644 Binary files a/assets/tw/combat/BATTLE_PREPARATION.png and b/assets/tw/combat/BATTLE_PREPARATION.png differ diff --git a/assets/tw/raid/BRISTOL_OCR_REMAIN_EASY.png b/assets/tw/raid/BRISTOL_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..b4d9101ca Binary files /dev/null and b/assets/tw/raid/BRISTOL_OCR_REMAIN_EASY.png differ diff --git a/assets/tw/raid/BRISTOL_OCR_REMAIN_HARD.png b/assets/tw/raid/BRISTOL_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..fcb0188ca Binary files /dev/null and b/assets/tw/raid/BRISTOL_OCR_REMAIN_HARD.png differ diff --git a/assets/tw/raid/BRISTOL_OCR_REMAIN_NORMAL.png b/assets/tw/raid/BRISTOL_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..5d46b5aec Binary files /dev/null and b/assets/tw/raid/BRISTOL_OCR_REMAIN_NORMAL.png differ diff --git a/assets/tw/raid/BRISTOL_RAID_EASY.png b/assets/tw/raid/BRISTOL_RAID_EASY.png new file mode 100644 index 000000000..866e8ec40 Binary files /dev/null and b/assets/tw/raid/BRISTOL_RAID_EASY.png differ diff --git a/assets/tw/raid/BRISTOL_RAID_HARD.png b/assets/tw/raid/BRISTOL_RAID_HARD.png new file mode 100644 index 000000000..ab82802fa Binary files /dev/null and b/assets/tw/raid/BRISTOL_RAID_HARD.png differ diff --git a/assets/tw/raid/BRISTOL_RAID_NORMAL.png b/assets/tw/raid/BRISTOL_RAID_NORMAL.png new file mode 100644 index 000000000..366386046 Binary files /dev/null and b/assets/tw/raid/BRISTOL_RAID_NORMAL.png differ diff --git a/assets/tw/research/QUEUE_CHECK.png b/assets/tw/research/QUEUE_CHECK.png index 183fc3118..d7e7f2e94 100644 Binary files a/assets/tw/research/QUEUE_CHECK.png and b/assets/tw/research/QUEUE_CHECK.png differ diff --git a/assets/tw/ui/RAID_CHECK.png b/assets/tw/ui/RAID_CHECK.png index f47dc75ff..80ad71de6 100644 Binary files a/assets/tw/ui/RAID_CHECK.png and b/assets/tw/ui/RAID_CHECK.png differ diff --git a/campaign/Readme.md b/campaign/Readme.md index fe8d14ba1..6f44306cf 100644 --- a/campaign/Readme.md +++ b/campaign/Readme.md @@ -126,3 +126,5 @@ To add a new event, add a new row in here, and run `python -m module.config.conf | 20221222 | event 20211229 cn | Tower of Transcendence | - | - | - | 逆轉彩虹之塔 | | 20230105 | event 20210225 cn | Khorovod of Dawn's Rime | 复刻破晓冰华 | Khorovod of Dawn's Rime Rerun | 暁射す氷華の嵐(復刻) | - | | 20230105 | event 20210610 tw | The Way Home in the Night | - | - | - | 復刻夜幕下的歸途 | +| 20230118 | raid 20230118 | Winter Pathfinder | 冬日的寻路人 | Winter Pathfinder | 冬の案内人 | - | +| 20220127 | raid 20220127 | - | - | - | - | 演習神秘事件調查 | diff --git a/config/template.maa.json b/config/template.maa.json index e42a46acc..fd61adcd7 100644 --- a/config/template.maa.json +++ b/config/template.maa.json @@ -103,6 +103,15 @@ "Drops": null, "DrGrandet": false }, + "MaaFightWeekly": { + "Monday": "default", + "Tuesday": "default", + "Wednesday": "default", + "Thursday": "default", + "Friday": "default", + "Saturday": "default", + "Sunday": "default" + }, "Storage": { "Storage": {} } diff --git a/module/combat/assets.py b/module/combat/assets.py index b9cad55f9..df5dbfa67 100644 --- a/module/combat/assets.py +++ b/module/combat/assets.py @@ -9,7 +9,7 @@ AUTOMATION_CONFIRM_CHECK = Button(area={'cn': (745, 423, 764, 439), 'en': (745, AUTOMATION_OFF = Button(area={'cn': (754, 113, 794, 129), 'en': (754, 113, 794, 129), 'jp': (754, 113, 794, 129), 'tw': (754, 113, 794, 129)}, color={'cn': (119, 71, 70), 'en': (119, 71, 70), 'jp': (119, 71, 70), 'tw': (119, 71, 70)}, button={'cn': (754, 113, 794, 129), 'en': (754, 113, 794, 129), 'jp': (754, 113, 794, 129), 'tw': (754, 113, 794, 129)}, file={'cn': './assets/cn/combat/AUTOMATION_OFF.png', 'en': './assets/en/combat/AUTOMATION_OFF.png', 'jp': './assets/jp/combat/AUTOMATION_OFF.png', 'tw': './assets/tw/combat/AUTOMATION_OFF.png'}) AUTOMATION_ON = Button(area={'cn': (759, 113, 790, 129), 'en': (759, 113, 790, 129), 'jp': (759, 113, 790, 129), 'tw': (759, 113, 790, 129)}, color={'cn': (22, 112, 81), 'en': (22, 112, 81), 'jp': (22, 112, 81), 'tw': (22, 112, 81)}, button={'cn': (759, 113, 790, 129), 'en': (759, 113, 790, 129), 'jp': (759, 113, 790, 129), 'tw': (759, 113, 790, 129)}, file={'cn': './assets/cn/combat/AUTOMATION_ON.png', 'en': './assets/en/combat/AUTOMATION_ON.png', 'jp': './assets/jp/combat/AUTOMATION_ON.png', 'tw': './assets/tw/combat/AUTOMATION_ON.png'}) AUTOMATION_SWITCH = Button(area={'cn': (821, 106, 907, 136), 'en': (823, 109, 907, 130), 'jp': (822, 105, 905, 133), 'tw': (821, 106, 907, 136)}, color={'cn': (95, 109, 147), 'en': (83, 98, 135), 'jp': (103, 118, 157), 'tw': (95, 109, 147)}, button={'cn': (821, 106, 907, 136), 'en': (823, 109, 907, 130), 'jp': (822, 105, 905, 133), 'tw': (821, 106, 907, 136)}, file={'cn': './assets/cn/combat/AUTOMATION_SWITCH.png', 'en': './assets/en/combat/AUTOMATION_SWITCH.png', 'jp': './assets/jp/combat/AUTOMATION_SWITCH.png', 'tw': './assets/tw/combat/AUTOMATION_SWITCH.png'}) -BATTLE_PREPARATION = Button(area={'cn': (1043, 607, 1241, 667), 'en': (1045, 607, 1241, 667), 'jp': (1040, 604, 1242, 670), 'tw': (1043, 607, 1241, 667)}, color={'cn': (234, 179, 97), 'en': (235, 182, 102), 'jp': (233, 181, 99), 'tw': (234, 179, 97)}, button={'cn': (1043, 607, 1241, 667), 'en': (1045, 607, 1241, 667), 'jp': (1040, 604, 1242, 670), 'tw': (1043, 607, 1241, 667)}, file={'cn': './assets/cn/combat/BATTLE_PREPARATION.png', 'en': './assets/en/combat/BATTLE_PREPARATION.png', 'jp': './assets/jp/combat/BATTLE_PREPARATION.png', 'tw': './assets/tw/combat/BATTLE_PREPARATION.png'}) +BATTLE_PREPARATION = Button(area={'cn': (1062, 612, 1089, 643), 'en': (1062, 615, 1161, 640), 'jp': (1062, 613, 1087, 643), 'tw': (1063, 613, 1088, 643)}, color={'cn': (238, 200, 164), 'en': (244, 212, 171), 'jp': (234, 195, 156), 'tw': (238, 203, 168)}, button={'cn': (1043, 607, 1241, 667), 'en': (1045, 607, 1241, 667), 'jp': (1040, 604, 1242, 670), 'tw': (1043, 607, 1241, 667)}, file={'cn': './assets/cn/combat/BATTLE_PREPARATION.png', 'en': './assets/en/combat/BATTLE_PREPARATION.gif', 'jp': './assets/jp/combat/BATTLE_PREPARATION.png', 'tw': './assets/tw/combat/BATTLE_PREPARATION.png'}) BATTLE_PREPARATION_WITH_OVERLAY = Button(area={'cn': (1058, 622, 1226, 652), 'en': (1058, 622, 1226, 652), 'jp': (1058, 622, 1226, 652), 'tw': (1058, 622, 1226, 652)}, color={'cn': (96, 74, 39), 'en': (96, 74, 39), 'jp': (96, 74, 39), 'tw': (96, 74, 39)}, button={'cn': (1058, 622, 1226, 652), 'en': (1058, 622, 1226, 652), 'jp': (1058, 622, 1226, 652), 'tw': (1058, 622, 1226, 652)}, file={'cn': './assets/cn/combat/BATTLE_PREPARATION_WITH_OVERLAY.png', 'en': './assets/en/combat/BATTLE_PREPARATION_WITH_OVERLAY.png', 'jp': './assets/jp/combat/BATTLE_PREPARATION_WITH_OVERLAY.png', 'tw': './assets/tw/combat/BATTLE_PREPARATION_WITH_OVERLAY.png'}) BATTLE_STATUS_A = Button(area={'cn': (622, 266, 732, 288), 'en': (622, 266, 732, 288), 'jp': (624, 265, 732, 289), 'tw': (622, 266, 732, 288)}, color={'cn': (235, 227, 111), 'en': (235, 227, 111), 'jp': (235, 227, 114), 'tw': (235, 227, 111)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_A.png', 'en': './assets/en/combat/BATTLE_STATUS_A.png', 'jp': './assets/jp/combat/BATTLE_STATUS_A.png', 'tw': './assets/tw/combat/BATTLE_STATUS_A.png'}) BATTLE_STATUS_B = Button(area={'cn': (663, 297, 709, 320), 'en': (663, 297, 709, 320), 'jp': (663, 297, 709, 320), 'tw': (663, 297, 709, 320)}, color={'cn': (193, 237, 255), 'en': (193, 237, 255), 'jp': (193, 237, 255), 'tw': (193, 237, 255)}, button={'cn': (999, 630, 1047, 691), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (999, 630, 1047, 691)}, file={'cn': './assets/cn/combat/BATTLE_STATUS_B.png', 'en': './assets/en/combat/BATTLE_STATUS_B.png', 'jp': './assets/jp/combat/BATTLE_STATUS_B.png', 'tw': './assets/tw/combat/BATTLE_STATUS_B.png'}) diff --git a/module/combat/combat.py b/module/combat/combat.py index e437cf3c9..c37b70720 100644 --- a/module/combat/combat.py +++ b/module/combat/combat.py @@ -29,7 +29,7 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan if self.is_combat_loading(): return True - if self.appear(BATTLE_PREPARATION): + if self.appear(BATTLE_PREPARATION, offset=(30, 20)): return True if self.appear(BATTLE_PREPARATION_WITH_OVERLAY) and self.handle_combat_automation_confirm(): return True @@ -113,7 +113,7 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan else: self.device.screenshot() - if self.appear(BATTLE_PREPARATION): + if self.appear(BATTLE_PREPARATION, offset=(20, 20)): if self.handle_combat_automation_set(auto=auto == 'combat_auto'): continue if self.handle_retirement(): @@ -144,7 +144,7 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan Returns: bool: """ - if self.appear_then_click(BATTLE_PREPARATION, interval=2): + if self.appear_then_click(BATTLE_PREPARATION, offset=(20, 20), interval=2): return True return False @@ -188,7 +188,7 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan if self.appear_then_click(EMERGENCY_REPAIR_CONFIRM, offset=True): return True - if self.appear(BATTLE_PREPARATION) and self.appear(EMERGENCY_REPAIR_AVAILABLE): + if self.appear(BATTLE_PREPARATION, offset=(20, 20)) and self.appear(EMERGENCY_REPAIR_AVAILABLE): # When entering battle_preparation page (or after emergency repairing), # the emergency icon is active by default, even if nothing to use. # After a short animation, everything shows as usual. diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 6b6620a6e..50c7d4d7a 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -5123,17 +5123,18 @@ "type": "select", "value": "campaign_main", "option": [ + "raid_20220127", + "raid_20230118", "raid_20221027", "raid_20220630", "raid_20210708", - "raid_20200624", - "raid_20220127" + "raid_20200624" ], "display": "disabled", - "cn": "raid_20221027", - "en": "raid_20221027", - "jp": "raid_20221027", - "tw": "raid_20210708" + "tw": "raid_20220127", + "cn": "raid_20230118", + "en": "raid_20230118", + "jp": "raid_20230118" }, "Mode": { "type": "select", @@ -5344,17 +5345,18 @@ "type": "select", "value": "campaign_main", "option": [ + "raid_20220127", + "raid_20230118", "raid_20221027", "raid_20220630", "raid_20210708", - "raid_20200624", - "raid_20220127" + "raid_20200624" ], "display": "disabled", - "cn": "raid_20221027", - "en": "raid_20221027", - "jp": "raid_20221027", - "tw": "raid_20210708" + "tw": "raid_20220127", + "cn": "raid_20230118", + "en": "raid_20230118", + "jp": "raid_20230118" }, "Mode": { "type": "select", diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index c835ba383..b4aa7e798 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -613,6 +613,8 @@ "name": "Event Name", "help": "Automatically selects to the latest event", "campaign_main": "campaign_main", + "raid_20220127": "Mystery Investigation", + "raid_20230118": "Winter Pathfinder", "event_20210610_tw": "復刻夜幕下的歸途", "event_20210225_cn": "Khorovod of Dawns Rime Rerun", "event_20211229_cn": "Tower of Transcendence", @@ -647,7 +649,6 @@ "event_20200603_cn": "Counterattack Within the Fjord Rerun", "event_20220224_cn": "Abyssal Refrain", "event_20220210_cn": "Northern Overture Rerun", - "raid_20220127": "Mystery Investigation", "event_20211125_cn": "World-spanning Arclight", "event_20211028_tw": "復刻光與影的鳶尾之華", "event_20210722_cn": "Azur Anthem", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 7ddfc9524..6503a9375 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -613,6 +613,8 @@ "name": "Campaign.Event.name", "help": "Campaign.Event.help", "campaign_main": "campaign_main", + "raid_20220127": "秘密事件調査", + "raid_20230118": "冬の案内人", "event_20210610_tw": "復刻夜幕下的歸途", "event_20210225_cn": "暁射す氷華の嵐(復刻)", "event_20211229_cn": "遡望せし虹彩の塔", @@ -647,7 +649,6 @@ "event_20200603_cn": "峡湾間の反撃(復刻)", "event_20220224_cn": "鳴動せし星霜の淵", "event_20220210_cn": "凍絶の北海(復刻)", - "raid_20220127": "秘密事件調査", "event_20211125_cn": "弧光は交わる世界にて", "event_20211028_tw": "復刻光與影的鳶尾之華", "event_20210722_cn": "海に響くアイドルの歌", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 59835471d..917cfe202 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -613,6 +613,8 @@ "name": "活动名称", "help": "自动选择至最新的活动", "campaign_main": "主线图", + "raid_20220127": "演习神秘事件调查", + "raid_20230118": "冬日的寻路人", "event_20210610_tw": "復刻夜幕下的歸途", "event_20210225_cn": "复刻破晓冰华", "event_20211229_cn": "逆转彩虹之塔", @@ -647,7 +649,6 @@ "event_20200603_cn": "复刻峡湾间的反击", "event_20220224_cn": "深度回音", "event_20220210_cn": "复刻北境序曲", - "raid_20220127": "演习神秘事件调查", "event_20211125_cn": "交汇世界的弧光", "event_20211028_tw": "復刻光與影的鳶尾之華", "event_20210722_cn": "响彻碧海的偶像歌", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 2231068c6..0a26ed9f9 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -613,6 +613,8 @@ "name": "活動名稱", "help": "自動選擇至最新的活動圖", "campaign_main": "主線圖", + "raid_20220127": "演習神秘事件調查", + "raid_20230118": "Winter Pathfinder", "event_20210610_tw": "復刻夜幕下的歸途", "event_20210225_cn": "破曉冰華", "event_20211229_cn": "逆轉彩虹之塔", @@ -647,7 +649,6 @@ "event_20200603_cn": "峽灣間的反擊", "event_20220224_cn": "Abyssal Refrain", "event_20220210_cn": "Northern Overture Rerun", - "raid_20220127": "Mystery Investigation", "event_20211125_cn": "交匯世界的弧光", "event_20211028_tw": "復刻光與影的鳶尾之華", "event_20210722_cn": "響徹碧海的偶像歌", diff --git a/module/daily/daily.py b/module/daily/daily.py index 94a9d5e08..311995c00 100644 --- a/module/daily/daily.py +++ b/module/daily/daily.py @@ -124,7 +124,7 @@ class Daily(Combat, DailyEquipment): return self.appear(DAILY_ENTER_CHECK, threshold=30) def daily_end(): - if self.appear(BATTLE_PREPARATION, interval=2): + if self.appear(BATTLE_PREPARATION, offset=(20, 20), interval=2): self.device.click(BACK_ARROW) return self.appear(DAILY_ENTER_CHECK, threshold=30) or self.appear(BACK_ARROW, offset=(30, 30)) diff --git a/module/device/method/ascreencap.py b/module/device/method/ascreencap.py index c285a475f..31a7c63ee 100644 --- a/module/device/method/ascreencap.py +++ b/module/device/method/ascreencap.py @@ -95,11 +95,8 @@ class AScreenCap(Connection): filepath = os.path.join(self.config.ASCREENCAP_FILEPATH_LOCAL, ver, arc, 'ascreencap') if not os.path.exists(filepath): logger.critical('No suitable version of aScreenCap lib available for this device') - if self.is_mumu_family: - logger.critical('If you are using MuMu X, please set screenshot method to scrcpy') - else: - logger.critical('Please use ADB or uiautomator2 for screenshots instead') - raise RequestHumanTakeover + logger.critical('Please use ADB or uiautomator2 for screenshots instead') + raise RequestHumanTakeover logger.info(f'pushing {filepath}') self.adb_push(filepath, self.config.ASCREENCAP_FILEPATH_REMOTE) diff --git a/module/device/screenshot.py b/module/device/screenshot.py index 9f9aea97f..5799d1982 100644 --- a/module/device/screenshot.py +++ b/module/device/screenshot.py @@ -241,7 +241,7 @@ class Screenshot(Adb, WSA, DroidCast, AScreenCap, Scrcpy): if self.config.Emulator_ScreenshotMethod == 'DroidCast': self.droidcast_stop() else: - logger.warning('If you are using MuMu X, please set screenshot method to scrcpy') + logger.warning('If you are using MuMu X, please upgrade to version >= 12.1.5.0') self._screen_black_checked = False return False else: diff --git a/module/exercise/combat.py b/module/exercise/combat.py index a1ed009dc..49d071de2 100644 --- a/module/exercise/combat.py +++ b/module/exercise/combat.py @@ -25,7 +25,7 @@ class ExerciseCombat(HpDaemon, OpponentChoose, ExerciseEquipment): else: self.device.screenshot() - if self.appear(BATTLE_PREPARATION, interval=2): + if self.appear(BATTLE_PREPARATION, offset=(20, 20), interval=2): # self.equipment_take_on() pass @@ -131,7 +131,7 @@ class ExerciseCombat(HpDaemon, OpponentChoose, ExerciseEquipment): continue # End - if self.appear(BATTLE_PREPARATION): + if self.appear(BATTLE_PREPARATION, offset=(20, 20)): break def _preparation_quit(self): diff --git a/module/raid/assets.py b/module/raid/assets.py index bb3f49eb0..21c5ad349 100644 --- a/module/raid/assets.py +++ b/module/raid/assets.py @@ -11,12 +11,12 @@ ALBION_OCR_REMAIN_NORMAL = Button(area={'cn': (1188, 423, 1248, 448), 'en': (118 ALBION_RAID_EASY = Button(area={'cn': (1014, 504, 1066, 533), 'en': (1012, 508, 1075, 530), 'jp': (1014, 505, 1066, 531), 'tw': (1014, 504, 1066, 533)}, color={'cn': (190, 166, 135), 'en': (204, 178, 146), 'jp': (181, 155, 127), 'tw': (190, 166, 135)}, button={'cn': (1014, 504, 1066, 533), 'en': (1012, 508, 1075, 530), 'jp': (1014, 505, 1066, 531), 'tw': (1014, 504, 1066, 533)}, file={'cn': './assets/cn/raid/ALBION_RAID_EASY.png', 'en': './assets/en/raid/ALBION_RAID_EASY.png', 'jp': './assets/jp/raid/ALBION_RAID_EASY.png', 'tw': './assets/cn/raid/ALBION_RAID_EASY.png'}) ALBION_RAID_HARD = Button(area={'cn': (1015, 336, 1072, 363), 'en': (1016, 338, 1076, 361), 'jp': (1015, 334, 1093, 362), 'tw': (1015, 336, 1072, 363)}, color={'cn': (183, 158, 129), 'en': (198, 172, 140), 'jp': (202, 176, 142), 'tw': (183, 158, 129)}, button={'cn': (1015, 336, 1072, 363), 'en': (1016, 338, 1076, 361), 'jp': (1015, 334, 1093, 362), 'tw': (1015, 336, 1072, 363)}, file={'cn': './assets/cn/raid/ALBION_RAID_HARD.png', 'en': './assets/en/raid/ALBION_RAID_HARD.png', 'jp': './assets/jp/raid/ALBION_RAID_HARD.png', 'tw': './assets/cn/raid/ALBION_RAID_HARD.png'}) ALBION_RAID_NORMAL = Button(area={'cn': (1056, 421, 1109, 451), 'en': (1054, 424, 1144, 446), 'jp': (1055, 420, 1109, 449), 'tw': (1056, 421, 1109, 451)}, color={'cn': (188, 163, 133), 'en': (200, 173, 139), 'jp': (190, 165, 134), 'tw': (188, 163, 133)}, button={'cn': (1056, 421, 1109, 451), 'en': (1054, 424, 1144, 446), 'jp': (1055, 420, 1109, 449), 'tw': (1056, 421, 1109, 451)}, file={'cn': './assets/cn/raid/ALBION_RAID_NORMAL.png', 'en': './assets/en/raid/ALBION_RAID_NORMAL.png', 'jp': './assets/jp/raid/ALBION_RAID_NORMAL.png', 'tw': './assets/cn/raid/ALBION_RAID_NORMAL.png'}) -BRISTOL_OCR_REMAIN_EASY = Button(area={'cn': (1135, 536, 1195, 554), 'en': (1137, 536, 1197, 554), 'jp': (1137, 536, 1197, 554), 'tw': (1135, 536, 1195, 554)}, color={'cn': (89, 137, 227), 'en': (89, 137, 227), 'jp': (89, 137, 227), 'tw': (89, 137, 227)}, button={'cn': (1135, 536, 1195, 554), 'en': (1137, 536, 1197, 554), 'jp': (1137, 536, 1197, 554), 'tw': (1135, 536, 1195, 554)}, file={'cn': './assets/cn/raid/BRISTOL_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/BRISTOL_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/BRISTOL_OCR_REMAIN_EASY.png', 'tw': './assets/cn/raid/BRISTOL_OCR_REMAIN_EASY.png'}) -BRISTOL_OCR_REMAIN_HARD = Button(area={'cn': (1163, 292, 1223, 310), 'en': (1159, 292, 1219, 310), 'jp': (1163, 292, 1223, 310), 'tw': (1163, 292, 1223, 310)}, color={'cn': (95, 137, 212), 'en': (94, 137, 214), 'jp': (90, 133, 211), 'tw': (95, 137, 212)}, button={'cn': (1163, 292, 1223, 310), 'en': (1159, 292, 1219, 310), 'jp': (1163, 292, 1223, 310), 'tw': (1163, 292, 1223, 310)}, file={'cn': './assets/cn/raid/BRISTOL_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/BRISTOL_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/BRISTOL_OCR_REMAIN_HARD.png', 'tw': './assets/cn/raid/BRISTOL_OCR_REMAIN_HARD.png'}) -BRISTOL_OCR_REMAIN_NORMAL = Button(area={'cn': (1089, 414, 1148, 432), 'en': (1087, 413, 1147, 431), 'jp': (1086, 414, 1146, 431), 'tw': (1089, 414, 1148, 432)}, color={'cn': (93, 138, 222), 'en': (91, 137, 223), 'jp': (92, 139, 226), 'tw': (93, 138, 222)}, button={'cn': (1089, 414, 1148, 432), 'en': (1087, 413, 1147, 431), 'jp': (1086, 414, 1146, 431), 'tw': (1089, 414, 1148, 432)}, file={'cn': './assets/cn/raid/BRISTOL_OCR_REMAIN_NORMAL.png', 'en': './assets/en/raid/BRISTOL_OCR_REMAIN_NORMAL.png', 'jp': './assets/jp/raid/BRISTOL_OCR_REMAIN_NORMAL.png', 'tw': './assets/cn/raid/BRISTOL_OCR_REMAIN_NORMAL.png'}) -BRISTOL_RAID_EASY = Button(area={'cn': (1151, 490, 1203, 528), 'en': (1155, 504, 1197, 524), 'jp': (1152, 491, 1203, 528), 'tw': (1151, 490, 1203, 528)}, color={'cn': (141, 164, 177), 'en': (145, 167, 177), 'jp': (126, 151, 166), 'tw': (141, 164, 177)}, button={'cn': (1151, 490, 1203, 528), 'en': (1155, 504, 1197, 524), 'jp': (1152, 491, 1203, 528), 'tw': (1151, 490, 1203, 528)}, file={'cn': './assets/cn/raid/BRISTOL_RAID_EASY.png', 'en': './assets/en/raid/BRISTOL_RAID_EASY.png', 'jp': './assets/jp/raid/BRISTOL_RAID_EASY.png', 'tw': './assets/cn/raid/BRISTOL_RAID_EASY.png'}) -BRISTOL_RAID_HARD = Button(area={'cn': (1167, 246, 1220, 285), 'en': (1156, 259, 1231, 278), 'jp': (1159, 250, 1229, 285), 'tw': (1167, 246, 1220, 285)}, color={'cn': (136, 160, 173), 'en': (133, 156, 168), 'jp': (145, 168, 181), 'tw': (136, 160, 173)}, button={'cn': (1167, 246, 1220, 285), 'en': (1156, 259, 1231, 278), 'jp': (1159, 250, 1229, 285), 'tw': (1167, 246, 1220, 285)}, file={'cn': './assets/cn/raid/BRISTOL_RAID_HARD.png', 'en': './assets/en/raid/BRISTOL_RAID_HARD.png', 'jp': './assets/jp/raid/BRISTOL_RAID_HARD.png', 'tw': './assets/cn/raid/BRISTOL_RAID_HARD.png'}) -BRISTOL_RAID_NORMAL = Button(area={'cn': (1098, 367, 1150, 404), 'en': (1089, 380, 1158, 396), 'jp': (1099, 368, 1149, 404), 'tw': (1098, 367, 1150, 404)}, color={'cn': (129, 152, 165), 'en': (131, 153, 164), 'jp': (119, 146, 163), 'tw': (129, 152, 165)}, button={'cn': (1098, 367, 1150, 404), 'en': (1089, 380, 1158, 396), 'jp': (1099, 368, 1149, 404), 'tw': (1098, 367, 1150, 404)}, file={'cn': './assets/cn/raid/BRISTOL_RAID_NORMAL.png', 'en': './assets/en/raid/BRISTOL_RAID_NORMAL.png', 'jp': './assets/jp/raid/BRISTOL_RAID_NORMAL.png', 'tw': './assets/cn/raid/BRISTOL_RAID_NORMAL.png'}) +BRISTOL_OCR_REMAIN_EASY = Button(area={'cn': (1135, 536, 1195, 554), 'en': (1137, 536, 1197, 554), 'jp': (1137, 536, 1197, 554), 'tw': (1135, 536, 1196, 554)}, color={'cn': (89, 137, 227), 'en': (89, 137, 227), 'jp': (89, 137, 227), 'tw': (89, 136, 223)}, button={'cn': (1135, 536, 1195, 554), 'en': (1137, 536, 1197, 554), 'jp': (1137, 536, 1197, 554), 'tw': (1135, 536, 1196, 554)}, file={'cn': './assets/cn/raid/BRISTOL_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/BRISTOL_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/BRISTOL_OCR_REMAIN_EASY.png', 'tw': './assets/tw/raid/BRISTOL_OCR_REMAIN_EASY.png'}) +BRISTOL_OCR_REMAIN_HARD = Button(area={'cn': (1163, 292, 1223, 310), 'en': (1159, 292, 1219, 310), 'jp': (1163, 292, 1223, 310), 'tw': (1160, 292, 1221, 310)}, color={'cn': (95, 137, 212), 'en': (94, 137, 214), 'jp': (90, 133, 211), 'tw': (94, 136, 210)}, button={'cn': (1163, 292, 1223, 310), 'en': (1159, 292, 1219, 310), 'jp': (1163, 292, 1223, 310), 'tw': (1160, 292, 1221, 310)}, file={'cn': './assets/cn/raid/BRISTOL_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/BRISTOL_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/BRISTOL_OCR_REMAIN_HARD.png', 'tw': './assets/tw/raid/BRISTOL_OCR_REMAIN_HARD.png'}) +BRISTOL_OCR_REMAIN_NORMAL = Button(area={'cn': (1089, 414, 1148, 432), 'en': (1087, 413, 1147, 431), 'jp': (1086, 414, 1146, 431), 'tw': (1086, 414, 1147, 432)}, color={'cn': (93, 138, 222), 'en': (91, 137, 223), 'jp': (92, 139, 226), 'tw': (91, 137, 218)}, button={'cn': (1089, 414, 1148, 432), 'en': (1087, 413, 1147, 431), 'jp': (1086, 414, 1146, 431), 'tw': (1086, 414, 1147, 432)}, file={'cn': './assets/cn/raid/BRISTOL_OCR_REMAIN_NORMAL.png', 'en': './assets/en/raid/BRISTOL_OCR_REMAIN_NORMAL.png', 'jp': './assets/jp/raid/BRISTOL_OCR_REMAIN_NORMAL.png', 'tw': './assets/tw/raid/BRISTOL_OCR_REMAIN_NORMAL.png'}) +BRISTOL_RAID_EASY = Button(area={'cn': (1151, 490, 1203, 528), 'en': (1155, 504, 1197, 524), 'jp': (1152, 491, 1203, 528), 'tw': (1151, 490, 1204, 519)}, color={'cn': (141, 164, 177), 'en': (145, 167, 177), 'jp': (126, 151, 166), 'tw': (117, 142, 159)}, button={'cn': (1151, 490, 1203, 528), 'en': (1155, 504, 1197, 524), 'jp': (1152, 491, 1203, 528), 'tw': (1151, 490, 1204, 519)}, file={'cn': './assets/cn/raid/BRISTOL_RAID_EASY.png', 'en': './assets/en/raid/BRISTOL_RAID_EASY.png', 'jp': './assets/jp/raid/BRISTOL_RAID_EASY.png', 'tw': './assets/tw/raid/BRISTOL_RAID_EASY.png'}) +BRISTOL_RAID_HARD = Button(area={'cn': (1167, 246, 1220, 285), 'en': (1156, 259, 1231, 278), 'jp': (1159, 250, 1229, 285), 'tw': (1170, 249, 1217, 275)}, color={'cn': (136, 160, 173), 'en': (133, 156, 168), 'jp': (145, 168, 181), 'tw': (100, 126, 145)}, button={'cn': (1167, 246, 1220, 285), 'en': (1156, 259, 1231, 278), 'jp': (1159, 250, 1229, 285), 'tw': (1170, 249, 1217, 275)}, file={'cn': './assets/cn/raid/BRISTOL_RAID_HARD.png', 'en': './assets/en/raid/BRISTOL_RAID_HARD.png', 'jp': './assets/jp/raid/BRISTOL_RAID_HARD.png', 'tw': './assets/tw/raid/BRISTOL_RAID_HARD.png'}) +BRISTOL_RAID_NORMAL = Button(area={'cn': (1098, 367, 1150, 404), 'en': (1089, 380, 1158, 396), 'jp': (1099, 368, 1149, 404), 'tw': (1097, 367, 1151, 393)}, color={'cn': (129, 152, 165), 'en': (131, 153, 164), 'jp': (119, 146, 163), 'tw': (121, 144, 159)}, button={'cn': (1098, 367, 1150, 404), 'en': (1089, 380, 1158, 396), 'jp': (1099, 368, 1149, 404), 'tw': (1097, 367, 1151, 393)}, file={'cn': './assets/cn/raid/BRISTOL_RAID_NORMAL.png', 'en': './assets/en/raid/BRISTOL_RAID_NORMAL.png', 'jp': './assets/jp/raid/BRISTOL_RAID_NORMAL.png', 'tw': './assets/tw/raid/BRISTOL_RAID_NORMAL.png'}) ESSEX_OCR_REMAIN_EASY = Button(area={'cn': (1071, 503, 1121, 518), 'en': (1071, 503, 1121, 518), 'jp': (1071, 503, 1121, 518), 'tw': (1071, 503, 1121, 518)}, color={'cn': (97, 130, 255), 'en': (97, 130, 255), 'jp': (97, 130, 255), 'tw': (97, 130, 255)}, button={'cn': (1071, 503, 1121, 518), 'en': (1071, 503, 1121, 518), 'jp': (1071, 503, 1121, 518), 'tw': (1071, 503, 1121, 518)}, file={'cn': './assets/cn/raid/ESSEX_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/ESSEX_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/ESSEX_OCR_REMAIN_EASY.png', 'tw': './assets/tw/raid/ESSEX_OCR_REMAIN_EASY.png'}) ESSEX_OCR_REMAIN_HARD = Button(area={'cn': (1088, 273, 1138, 287), 'en': (1088, 273, 1138, 287), 'jp': (1088, 273, 1138, 287), 'tw': (1088, 273, 1138, 287)}, color={'cn': (96, 126, 255), 'en': (96, 126, 255), 'jp': (96, 126, 255), 'tw': (96, 126, 255)}, button={'cn': (1088, 273, 1138, 287), 'en': (1088, 273, 1138, 287), 'jp': (1088, 273, 1138, 287), 'tw': (1088, 273, 1138, 287)}, file={'cn': './assets/cn/raid/ESSEX_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/ESSEX_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/ESSEX_OCR_REMAIN_HARD.png', 'tw': './assets/tw/raid/ESSEX_OCR_REMAIN_HARD.png'}) ESSEX_OCR_REMAIN_NORMAL = Button(area={'cn': (1049, 387, 1099, 402), 'en': (1049, 387, 1099, 402), 'jp': (1049, 387, 1099, 402), 'tw': (1049, 387, 1099, 402)}, color={'cn': (97, 129, 255), 'en': (97, 129, 255), 'jp': (97, 129, 255), 'tw': (97, 129, 255)}, button={'cn': (1049, 387, 1099, 402), 'en': (1049, 387, 1099, 402), 'jp': (1049, 387, 1099, 402), 'tw': (1049, 387, 1099, 402)}, file={'cn': './assets/cn/raid/ESSEX_OCR_REMAIN_NORMAL.png', 'en': './assets/en/raid/ESSEX_OCR_REMAIN_NORMAL.png', 'jp': './assets/jp/raid/ESSEX_OCR_REMAIN_NORMAL.png', 'tw': './assets/tw/raid/ESSEX_OCR_REMAIN_NORMAL.png'}) @@ -30,6 +30,13 @@ IRIS_OCR_REMAIN_NORMAL = Button(area={'cn': (1130, 413, 1185, 433), 'en': (1129, IRIS_RAID_EASY = Button(area={'cn': (968, 504, 1023, 531), 'en': (972, 507, 1031, 527), 'jp': (967, 505, 1023, 532), 'tw': (968, 504, 1023, 531)}, color={'cn': (95, 95, 91), 'en': (74, 74, 70), 'jp': (83, 83, 79), 'tw': (95, 95, 91)}, button={'cn': (968, 504, 1023, 531), 'en': (972, 507, 1031, 527), 'jp': (967, 505, 1023, 532), 'tw': (968, 504, 1023, 531)}, file={'cn': './assets/cn/raid/IRIS_RAID_EASY.png', 'en': './assets/en/raid/IRIS_RAID_EASY.png', 'jp': './assets/jp/raid/IRIS_RAID_EASY.png', 'tw': './assets/cn/raid/IRIS_RAID_EASY.png'}) IRIS_RAID_HARD = Button(area={'cn': (1089, 302, 1143, 329), 'en': (1093, 305, 1154, 325), 'jp': (1071, 303, 1149, 330), 'tw': (1089, 302, 1143, 329)}, color={'cn': (106, 105, 101), 'en': (80, 79, 76), 'jp': (68, 67, 64), 'tw': (106, 105, 101)}, button={'cn': (1089, 302, 1143, 329), 'en': (1093, 305, 1154, 325), 'jp': (1071, 303, 1149, 330), 'tw': (1089, 302, 1143, 329)}, file={'cn': './assets/cn/raid/IRIS_RAID_HARD.png', 'en': './assets/en/raid/IRIS_RAID_HARD.png', 'jp': './assets/jp/raid/IRIS_RAID_HARD.png', 'tw': './assets/cn/raid/IRIS_RAID_HARD.png'}) IRIS_RAID_NORMAL = Button(area={'cn': (1052, 403, 1107, 430), 'en': (1023, 406, 1115, 426), 'jp': (1047, 405, 1102, 431), 'tw': (1052, 403, 1107, 430)}, color={'cn': (101, 100, 97), 'en': (82, 81, 79), 'jp': (90, 90, 87), 'tw': (101, 100, 97)}, button={'cn': (1052, 403, 1107, 430), 'en': (1023, 406, 1115, 426), 'jp': (1047, 405, 1102, 431), 'tw': (1052, 403, 1107, 430)}, file={'cn': './assets/cn/raid/IRIS_RAID_NORMAL.png', 'en': './assets/en/raid/IRIS_RAID_NORMAL.png', 'jp': './assets/jp/raid/IRIS_RAID_NORMAL.png', 'tw': './assets/cn/raid/IRIS_RAID_NORMAL.png'}) +KUYBYSHEY_OCR_PT = Button(area={'cn': (1180, 606, 1280, 634), 'en': (1180, 606, 1280, 634), 'jp': (1180, 606, 1280, 634), 'tw': (1180, 606, 1280, 634)}, color={'cn': (120, 140, 155), 'en': (120, 140, 155), 'jp': (120, 140, 155), 'tw': (120, 140, 155)}, button={'cn': (1180, 606, 1280, 634), 'en': (1180, 606, 1280, 634), 'jp': (1180, 606, 1280, 634), 'tw': (1180, 606, 1280, 634)}, file={'cn': './assets/cn/raid/KUYBYSHEY_OCR_PT.png', 'en': './assets/en/raid/KUYBYSHEY_OCR_PT.png', 'jp': './assets/jp/raid/KUYBYSHEY_OCR_PT.png', 'tw': './assets/cn/raid/KUYBYSHEY_OCR_PT.png'}) +KUYBYSHEY_OCR_REMAIN_EASY = Button(area={'cn': (1138, 504, 1198, 528), 'en': (1138, 504, 1198, 528), 'jp': (1138, 504, 1198, 528), 'tw': (1138, 504, 1198, 528)}, color={'cn': (82, 91, 105), 'en': (82, 91, 105), 'jp': (82, 91, 105), 'tw': (82, 91, 105)}, button={'cn': (1138, 504, 1198, 528), 'en': (1138, 504, 1198, 528), 'jp': (1138, 504, 1198, 528), 'tw': (1138, 504, 1198, 528)}, file={'cn': './assets/cn/raid/KUYBYSHEY_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/KUYBYSHEY_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/KUYBYSHEY_OCR_REMAIN_EASY.png', 'tw': './assets/cn/raid/KUYBYSHEY_OCR_REMAIN_EASY.png'}) +KUYBYSHEY_OCR_REMAIN_HARD = Button(area={'cn': (1138, 347, 1198, 371), 'en': (1138, 347, 1198, 371), 'jp': (1138, 347, 1198, 371), 'tw': (1138, 347, 1198, 371)}, color={'cn': (82, 91, 105), 'en': (82, 91, 105), 'jp': (82, 91, 105), 'tw': (82, 91, 105)}, button={'cn': (1138, 347, 1198, 371), 'en': (1138, 347, 1198, 371), 'jp': (1138, 347, 1198, 371), 'tw': (1138, 347, 1198, 371)}, file={'cn': './assets/cn/raid/KUYBYSHEY_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/KUYBYSHEY_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/KUYBYSHEY_OCR_REMAIN_HARD.png', 'tw': './assets/cn/raid/KUYBYSHEY_OCR_REMAIN_HARD.png'}) +KUYBYSHEY_OCR_REMAIN_NORMAL = Button(area={'cn': (1107, 426, 1167, 450), 'en': (1107, 426, 1167, 450), 'jp': (1107, 426, 1167, 450), 'tw': (1107, 426, 1167, 450)}, color={'cn': (82, 91, 105), 'en': (82, 91, 105), 'jp': (82, 91, 105), 'tw': (82, 91, 105)}, button={'cn': (1107, 426, 1167, 450), 'en': (1107, 426, 1167, 450), 'jp': (1107, 426, 1167, 450), 'tw': (1107, 426, 1167, 450)}, file={'cn': './assets/cn/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png', 'en': './assets/en/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png', 'jp': './assets/jp/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png', 'tw': './assets/cn/raid/KUYBYSHEY_OCR_REMAIN_NORMAL.png'}) +KUYBYSHEY_RAID_EASY = Button(area={'cn': (1073, 503, 1124, 529), 'en': (1073, 502, 1124, 529), 'jp': (1078, 506, 1121, 527), 'tw': (1073, 503, 1124, 529)}, color={'cn': (84, 93, 107), 'en': (68, 77, 92), 'jp': (124, 133, 146), 'tw': (84, 93, 107)}, button={'cn': (1073, 503, 1124, 529), 'en': (1073, 502, 1124, 529), 'jp': (1078, 506, 1121, 527), 'tw': (1073, 503, 1124, 529)}, file={'cn': './assets/cn/raid/KUYBYSHEY_RAID_EASY.png', 'en': './assets/en/raid/KUYBYSHEY_RAID_EASY.png', 'jp': './assets/jp/raid/KUYBYSHEY_RAID_EASY.png', 'tw': './assets/cn/raid/KUYBYSHEY_RAID_EASY.png'}) +KUYBYSHEY_RAID_HARD = Button(area={'cn': (1073, 345, 1125, 371), 'en': (1074, 344, 1125, 372), 'jp': (1064, 348, 1127, 369), 'tw': (1073, 345, 1125, 371)}, color={'cn': (91, 100, 114), 'en': (84, 93, 107), 'jp': (85, 94, 108), 'tw': (91, 100, 114)}, button={'cn': (1073, 345, 1125, 371), 'en': (1074, 344, 1125, 372), 'jp': (1064, 348, 1127, 369), 'tw': (1073, 345, 1125, 371)}, file={'cn': './assets/cn/raid/KUYBYSHEY_RAID_HARD.png', 'en': './assets/en/raid/KUYBYSHEY_RAID_HARD.png', 'jp': './assets/jp/raid/KUYBYSHEY_RAID_HARD.png', 'tw': './assets/cn/raid/KUYBYSHEY_RAID_HARD.png'}) +KUYBYSHEY_RAID_NORMAL = Button(area={'cn': (1045, 423, 1097, 451), 'en': (1036, 424, 1099, 449), 'jp': (1048, 427, 1091, 448), 'tw': (1045, 423, 1097, 451)}, color={'cn': (86, 95, 109), 'en': (81, 92, 105), 'jp': (131, 143, 154), 'tw': (86, 95, 109)}, button={'cn': (1045, 423, 1097, 451), 'en': (1036, 424, 1099, 449), 'jp': (1048, 427, 1091, 448), 'tw': (1045, 423, 1097, 451)}, file={'cn': './assets/cn/raid/KUYBYSHEY_RAID_NORMAL.png', 'en': './assets/en/raid/KUYBYSHEY_RAID_NORMAL.png', 'jp': './assets/jp/raid/KUYBYSHEY_RAID_NORMAL.png', 'tw': './assets/cn/raid/KUYBYSHEY_RAID_NORMAL.png'}) RAID_FLEET_PREPARATION = Button(area={'cn': (983, 577, 1181, 638), 'en': (1041, 592, 1121, 631), 'jp': (983, 579, 1180, 635), 'tw': (983, 577, 1181, 638)}, color={'cn': (236, 188, 115), 'en': (236, 184, 117), 'jp': (235, 183, 103), 'tw': (236, 188, 115)}, button={'cn': (983, 577, 1181, 638), 'en': (1041, 592, 1121, 631), 'jp': (983, 579, 1180, 635), 'tw': (983, 577, 1181, 638)}, file={'cn': './assets/cn/raid/RAID_FLEET_PREPARATION.png', 'en': './assets/en/raid/RAID_FLEET_PREPARATION.png', 'jp': './assets/jp/raid/RAID_FLEET_PREPARATION.png', 'tw': './assets/tw/raid/RAID_FLEET_PREPARATION.png'}) SURUGA_OCR_REMAIN_EASY = Button(area={'cn': (1093, 549, 1141, 563), 'en': (1093, 549, 1141, 563), 'jp': (1096, 549, 1141, 563), 'tw': (1096, 549, 1141, 563)}, color={'cn': (161, 161, 161), 'en': (161, 161, 161), 'jp': (155, 155, 155), 'tw': (155, 155, 155)}, button={'cn': (1093, 549, 1141, 563), 'en': (1093, 549, 1141, 563), 'jp': (1096, 549, 1141, 563), 'tw': (1096, 549, 1141, 563)}, file={'cn': './assets/cn/raid/SURUGA_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/SURUGA_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/SURUGA_OCR_REMAIN_EASY.png', 'tw': './assets/tw/raid/SURUGA_OCR_REMAIN_EASY.png'}) SURUGA_OCR_REMAIN_HARD = Button(area={'cn': (1071, 318, 1118, 332), 'en': (1071, 318, 1118, 332), 'jp': (1073, 318, 1118, 331), 'tw': (1079, 318, 1118, 332)}, color={'cn': (158, 158, 159), 'en': (158, 158, 159), 'jp': (173, 173, 173), 'tw': (168, 168, 168)}, button={'cn': (1071, 318, 1118, 332), 'en': (1071, 318, 1118, 332), 'jp': (1073, 318, 1118, 331), 'tw': (1079, 318, 1118, 332)}, file={'cn': './assets/cn/raid/SURUGA_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/SURUGA_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/SURUGA_OCR_REMAIN_HARD.png', 'tw': './assets/tw/raid/SURUGA_OCR_REMAIN_HARD.png'}) diff --git a/module/raid/raid.py b/module/raid/raid.py index 1db16c836..b7d89800b 100644 --- a/module/raid/raid.py +++ b/module/raid/raid.py @@ -43,6 +43,8 @@ def raid_name_shorten(name): return 'IRIS' elif name == "raid_20221027": return "ALBION" + elif name == "raid_20230118": + return "KUYBYSHEY" else: raise ScriptError(f'Unknown raid name: {name}') @@ -95,6 +97,8 @@ def raid_ocr(raid, mode): return DigitCounter(button, letter=(148, 138, 123), threshold=128, lang='cnocr') elif raid == "ALBION": return DigitCounter(button, letter=(99, 73, 57), threshold=128) + elif raid == 'KUYBYSHEY': + return DigitCounter(button, letter=(231, 239, 247), threshold=128) except KeyError: raise ScriptError(f'Raid entrance asset not exists: {key}') @@ -115,6 +119,8 @@ def pt_ocr(raid): return Digit(button, letter=(181, 178, 165), threshold=128) elif raid == "ALBION": return Digit(button, letter=(23, 20, 9), threshold=128) + elif raid == 'KUYBYSHEY': + return Digit(button, letter=(16, 24, 33), threshold=64) except KeyError: # raise ScriptError(f'Raid pt ocr asset not exists: {key}') return None @@ -151,7 +157,7 @@ class Raid(MapOperation, Combat, CampaignEvent): else: self.device.screenshot() - if self.appear(BATTLE_PREPARATION): + if self.appear(BATTLE_PREPARATION, offset=(30, 20)): if self.handle_combat_automation_set(auto=auto == 'combat_auto'): continue check_oil() @@ -162,7 +168,7 @@ class Raid(MapOperation, Combat, CampaignEvent): continue if self.handle_combat_low_emotion(): continue - if self.appear_then_click(BATTLE_PREPARATION, interval=2): + if self.appear_then_click(BATTLE_PREPARATION, offset=(30, 20), interval=2): continue if self.handle_combat_automation_confirm(): continue @@ -214,7 +220,7 @@ class Raid(MapOperation, Combat, CampaignEvent): self.config.task_stop() self.device.click(entrance) continue - if self.appear_then_click(RAID_FLEET_PREPARATION, interval=5): + if self.appear_then_click(RAID_FLEET_PREPARATION, offset=(20, 20), interval=5): continue # End @@ -269,7 +275,7 @@ class Raid(MapOperation, Combat, CampaignEvent): if timeout.reached(): logger.warning('Wait PT timeout, assume it is') return pt - if pt in [70000]: + if pt in [70000, 70001]: continue else: return pt diff --git a/module/research/assets.py b/module/research/assets.py index d7bf727c0..d98b93f35 100644 --- a/module/research/assets.py +++ b/module/research/assets.py @@ -30,7 +30,7 @@ OCR_RESEARCH_2 = Button(area={'cn': (292, 263, 490, 325), 'en': (292, 263, 490, OCR_RESEARCH_3 = Button(area={'cn': (505, 249, 730, 319), 'en': (505, 249, 730, 319), 'jp': (505, 249, 730, 319), 'tw': (505, 249, 730, 319)}, color={'cn': (204, 180, 143), 'en': (204, 180, 143), 'jp': (204, 180, 143), 'tw': (204, 180, 143)}, button={'cn': (505, 249, 730, 319), 'en': (505, 249, 730, 319), 'jp': (505, 249, 730, 319), 'tw': (505, 249, 730, 319)}, file={'cn': './assets/cn/research/OCR_RESEARCH_3.png', 'en': './assets/en/research/OCR_RESEARCH_3.png', 'jp': './assets/jp/research/OCR_RESEARCH_3.png', 'tw': './assets/tw/research/OCR_RESEARCH_3.png'}) OCR_RESEARCH_4 = Button(area={'cn': (752, 263, 950, 325), 'en': (752, 263, 950, 325), 'jp': (752, 263, 950, 325), 'tw': (752, 263, 950, 325)}, color={'cn': (122, 155, 203), 'en': (122, 155, 203), 'jp': (122, 155, 203), 'tw': (122, 155, 203)}, button={'cn': (752, 263, 950, 325), 'en': (752, 263, 950, 325), 'jp': (752, 263, 950, 325), 'tw': (752, 263, 950, 325)}, file={'cn': './assets/cn/research/OCR_RESEARCH_4.png', 'en': './assets/en/research/OCR_RESEARCH_4.png', 'jp': './assets/jp/research/OCR_RESEARCH_4.png', 'tw': './assets/tw/research/OCR_RESEARCH_4.png'}) OCR_RESEARCH_5 = Button(area={'cn': (998, 276, 1169, 329), 'en': (998, 276, 1169, 329), 'jp': (998, 276, 1169, 329), 'tw': (998, 276, 1169, 329)}, color={'cn': (124, 156, 204), 'en': (124, 156, 204), 'jp': (124, 156, 204), 'tw': (124, 156, 204)}, button={'cn': (998, 276, 1169, 329), 'en': (998, 276, 1169, 329), 'jp': (998, 276, 1169, 329), 'tw': (998, 276, 1169, 329)}, file={'cn': './assets/cn/research/OCR_RESEARCH_5.png', 'en': './assets/en/research/OCR_RESEARCH_5.png', 'jp': './assets/jp/research/OCR_RESEARCH_5.png', 'tw': './assets/tw/research/OCR_RESEARCH_5.png'}) -QUEUE_CHECK = Button(area={'cn': (118, 16, 227, 39), 'en': (117, 16, 215, 38), 'jp': (116, 14, 232, 42), 'tw': (121, 14, 268, 40)}, color={'cn': (149, 166, 205), 'en': (125, 139, 179), 'jp': (147, 163, 199), 'tw': (150, 166, 205)}, button={'cn': (118, 16, 227, 39), 'en': (117, 16, 215, 38), 'jp': (116, 14, 232, 42), 'tw': (121, 14, 268, 40)}, file={'cn': './assets/cn/research/QUEUE_CHECK.png', 'en': './assets/en/research/QUEUE_CHECK.png', 'jp': './assets/jp/research/QUEUE_CHECK.png', 'tw': './assets/tw/research/QUEUE_CHECK.png'}) +QUEUE_CHECK = Button(area={'cn': (118, 16, 227, 39), 'en': (117, 16, 215, 38), 'jp': (116, 14, 232, 42), 'tw': (118, 14, 227, 39)}, color={'cn': (149, 166, 205), 'en': (125, 139, 179), 'jp': (147, 163, 199), 'tw': (155, 171, 210)}, button={'cn': (118, 16, 227, 39), 'en': (117, 16, 215, 38), 'jp': (116, 14, 232, 42), 'tw': (118, 14, 227, 39)}, file={'cn': './assets/cn/research/QUEUE_CHECK.png', 'en': './assets/en/research/QUEUE_CHECK.png', 'jp': './assets/jp/research/QUEUE_CHECK.png', 'tw': './assets/tw/research/QUEUE_CHECK.png'}) QUEUE_CLAIM_REWARD = Button(area={'cn': (1230, 275, 1272, 420), 'en': (1225, 258, 1270, 448), 'jp': (1219, 254, 1279, 460), 'tw': (1219, 253, 1280, 461)}, color={'cn': (249, 182, 121), 'en': (249, 171, 97), 'jp': (249, 170, 97), 'tw': (244, 166, 93)}, button={'cn': (1230, 275, 1272, 420), 'en': (1225, 258, 1270, 448), 'jp': (1219, 254, 1279, 460), 'tw': (1219, 253, 1280, 461)}, file={'cn': './assets/cn/research/QUEUE_CLAIM_REWARD.png', 'en': './assets/en/research/QUEUE_CLAIM_REWARD.png', 'jp': './assets/jp/research/QUEUE_CLAIM_REWARD.png', 'tw': './assets/tw/research/QUEUE_CLAIM_REWARD.png'}) QUEUE_REMAIN = Button(area={'cn': (156, 605, 272, 637), 'en': (151, 580, 278, 617), 'jp': (157, 605, 277, 636), 'tw': (165, 582, 275, 613)}, color={'cn': (193, 212, 240), 'en': (191, 210, 238), 'jp': (188, 208, 239), 'tw': (192, 211, 241)}, button={'cn': (156, 605, 272, 637), 'en': (151, 580, 278, 617), 'jp': (157, 605, 277, 636), 'tw': (165, 582, 275, 613)}, file={'cn': './assets/cn/research/QUEUE_REMAIN.png', 'en': './assets/en/research/QUEUE_REMAIN.png', 'jp': './assets/jp/research/QUEUE_REMAIN.png', 'tw': './assets/tw/research/QUEUE_REMAIN.png'}) RESEARCH_COST_CHECKER = Button(area={'cn': (809, 365, 972, 386), 'en': (809, 365, 972, 386), 'jp': (809, 365, 972, 386), 'tw': (809, 365, 972, 386)}, color={'cn': (105, 114, 128), 'en': (105, 114, 128), 'jp': (105, 114, 128), 'tw': (105, 114, 128)}, button={'cn': (809, 365, 972, 386), 'en': (809, 365, 972, 386), 'jp': (809, 365, 972, 386), 'tw': (809, 365, 972, 386)}, file={'cn': './assets/cn/research/RESEARCH_COST_CHECKER.png', 'en': './assets/en/research/RESEARCH_COST_CHECKER.png', 'jp': './assets/jp/research/RESEARCH_COST_CHECKER.png', 'tw': './assets/tw/research/RESEARCH_COST_CHECKER.png'}) diff --git a/module/ui/assets.py b/module/ui/assets.py index 0a5ce8414..0cab2831c 100644 --- a/module/ui/assets.py +++ b/module/ui/assets.py @@ -59,7 +59,7 @@ MISSION_CHECK = Button(area={'cn': (120, 15, 173, 40), 'en': (123, 18, 221, 37), MUNITIONS_CHECK = Button(area={'cn': (121, 14, 230, 39), 'en': (115, 16, 235, 36), 'jp': (133, 14, 189, 39), 'tw': (117, 12, 232, 41)}, color={'cn': (151, 165, 203), 'en': (112, 126, 165), 'jp': (160, 176, 211), 'tw': (133, 148, 188)}, button={'cn': (121, 14, 230, 39), 'en': (115, 16, 235, 36), 'jp': (133, 14, 189, 39), 'tw': (117, 12, 232, 41)}, file={'cn': './assets/cn/ui/MUNITIONS_CHECK.png', 'en': './assets/en/ui/MUNITIONS_CHECK.png', 'jp': './assets/jp/ui/MUNITIONS_CHECK.png', 'tw': './assets/tw/ui/MUNITIONS_CHECK.png'}) OS_CHECK = Button(area={'cn': (613, 17, 627, 34), 'en': (613, 17, 627, 34), 'jp': (613, 17, 627, 34), 'tw': (613, 17, 627, 34)}, color={'cn': (58, 117, 146), 'en': (58, 117, 146), 'jp': (58, 117, 146), 'tw': (58, 117, 146)}, button={'cn': (613, 17, 627, 34), 'en': (613, 17, 627, 34), 'jp': (613, 17, 627, 34), 'tw': (613, 17, 627, 34)}, file={'cn': './assets/cn/ui/OS_CHECK.png', 'en': './assets/en/ui/OS_CHECK.png', 'jp': './assets/jp/ui/OS_CHECK.png', 'tw': './assets/tw/ui/OS_CHECK.png'}) PLAYER_CHECK = Button(area={'cn': (28, 668, 139, 688), 'en': (11, 649, 157, 705), 'jp': (26, 665, 141, 692), 'tw': (28, 668, 139, 688)}, color={'cn': (237, 204, 127), 'en': (197, 156, 97), 'jp': (228, 187, 117), 'tw': (237, 204, 127)}, button={'cn': (28, 668, 139, 688), 'en': (11, 649, 157, 705), 'jp': (26, 665, 141, 692), 'tw': (28, 668, 139, 688)}, file={'cn': './assets/cn/ui/PLAYER_CHECK.png', 'en': './assets/en/ui/PLAYER_CHECK.png', 'jp': './assets/jp/ui/PLAYER_CHECK.png', 'tw': './assets/tw/ui/PLAYER_CHECK.png'}) -RAID_CHECK = Button(area={'cn': (118, 14, 227, 39), 'en': (116, 14, 296, 34), 'jp': (119, 21, 228, 47), 'tw': (119, 13, 226, 38)}, color={'cn': (143, 161, 202), 'en': (118, 101, 82), 'jp': (194, 190, 179), 'tw': (153, 167, 205)}, button={'cn': (118, 14, 227, 39), 'en': (116, 14, 296, 34), 'jp': (119, 21, 228, 47), 'tw': (119, 13, 226, 38)}, file={'cn': './assets/cn/ui/RAID_CHECK.png', 'en': './assets/en/ui/RAID_CHECK.png', 'jp': './assets/jp/ui/RAID_CHECK.png', 'tw': './assets/tw/ui/RAID_CHECK.png'}) +RAID_CHECK = Button(area={'cn': (118, 14, 227, 39), 'en': (117, 14, 201, 34), 'jp': (118, 14, 226, 39), 'tw': (117, 12, 227, 41)}, color={'cn': (143, 161, 202), 'en': (102, 116, 154), 'jp': (149, 165, 203), 'tw': (139, 154, 192)}, button={'cn': (118, 14, 227, 39), 'en': (117, 14, 201, 34), 'jp': (118, 14, 226, 39), 'tw': (117, 12, 227, 41)}, file={'cn': './assets/cn/ui/RAID_CHECK.png', 'en': './assets/en/ui/RAID_CHECK.png', 'jp': './assets/jp/ui/RAID_CHECK.png', 'tw': './assets/tw/ui/RAID_CHECK.png'}) RESEARCH_CHECK = Button(area={'cn': (118, 15, 170, 39), 'en': (119, 14, 259, 36), 'jp': (117, 14, 171, 40), 'tw': (117, 13, 172, 40)}, color={'cn': (165, 179, 215), 'en': (118, 133, 174), 'jp': (135, 154, 195), 'tw': (148, 165, 205)}, button={'cn': (118, 15, 170, 39), 'en': (119, 14, 259, 36), 'jp': (117, 14, 171, 40), 'tw': (117, 13, 172, 40)}, file={'cn': './assets/cn/ui/RESEARCH_CHECK.png', 'en': './assets/en/ui/RESEARCH_CHECK.png', 'jp': './assets/jp/ui/RESEARCH_CHECK.png', 'tw': './assets/tw/ui/RESEARCH_CHECK.png'}) RESHMENU_CHECK = Button(area={'cn': (121, 15, 174, 39), 'en': (118, 14, 279, 35), 'jp': (116, 13, 174, 42), 'tw': (121, 14, 175, 40)}, color={'cn': (156, 171, 209), 'en': (100, 113, 152), 'jp': (136, 149, 186), 'tw': (147, 162, 201)}, button={'cn': (121, 15, 174, 39), 'en': (118, 14, 279, 35), 'jp': (116, 13, 174, 42), 'tw': (121, 14, 175, 40)}, file={'cn': './assets/cn/ui/RESHMENU_CHECK.png', 'en': './assets/en/ui/RESHMENU_CHECK.png', 'jp': './assets/jp/ui/RESHMENU_CHECK.png', 'tw': './assets/tw/ui/RESHMENU_CHECK.png'}) RESHMENU_GOTO_META = Button(area={'cn': (1076, 254, 1155, 334), 'en': (1102, 251, 1193, 332), 'jp': (1076, 254, 1155, 334), 'tw': (1076, 254, 1155, 334)}, color={'cn': (144, 156, 183), 'en': (141, 152, 181), 'jp': (144, 156, 183), 'tw': (144, 156, 183)}, button={'cn': (1076, 254, 1155, 334), 'en': (1102, 251, 1193, 332), 'jp': (1076, 254, 1155, 334), 'tw': (1076, 254, 1155, 334)}, file={'cn': './assets/cn/ui/RESHMENU_GOTO_META.png', 'en': './assets/en/ui/RESHMENU_GOTO_META.png', 'jp': './assets/jp/ui/RESHMENU_GOTO_META.png', 'tw': './assets/cn/ui/RESHMENU_GOTO_META.png'}) diff --git a/submodule/AlasMaaBridge/module/config/argument/args.json b/submodule/AlasMaaBridge/module/config/argument/args.json index 27e374b15..42f923e2c 100644 --- a/submodule/AlasMaaBridge/module/config/argument/args.json +++ b/submodule/AlasMaaBridge/module/config/argument/args.json @@ -163,10 +163,11 @@ "option": [ "last", "1-7", - "CE-6", - "AP-5", - "CA-5", "LS-6", + "CA-5", + "SK-5", + "AP-5", + "CE-6", "PR-A-1", "PR-A-2", "PR-B-1", @@ -263,10 +264,11 @@ "option": [ "last", "1-7", - "CE-6", - "AP-5", - "CA-5", "LS-6", + "CA-5", + "SK-5", + "AP-5", + "CE-6", "PR-A-1", "PR-A-2", "PR-B-1", @@ -356,10 +358,11 @@ "option": [ "last", "1-7", - "CE-6", - "AP-5", - "CA-5", "LS-6", + "CA-5", + "SK-5", + "AP-5", + "CE-6", "PR-A-1", "PR-A-2", "PR-B-1", @@ -405,6 +408,112 @@ "display": "hide" } }, + "MaaFightWeekly": { + "Monday": { + "type": "select", + "value": "default", + "option": [ + "default", + "LS-6", + "SK-5", + "AP-5", + "PR-A-1", + "PR-A-2", + "PR-B-1", + "PR-B-2" + ] + }, + "Tuesday": { + "type": "select", + "value": "default", + "option": [ + "default", + "LS-6", + "CA-5", + "CE-6", + "PR-B-1", + "PR-B-2", + "PR-D-1", + "PR-D-2" + ] + }, + "Wednesday": { + "type": "select", + "value": "default", + "option": [ + "default", + "LS-6", + "CA-5", + "SK-5", + "PR-C-1", + "PR-C-2", + "PR-D-1", + "PR-D-2" + ] + }, + "Thursday": { + "type": "select", + "value": "default", + "option": [ + "default", + "LS-6", + "AP-5", + "CE-6", + "PR-A-1", + "PR-A-2", + "PR-C-1", + "PR-C-2" + ] + }, + "Friday": { + "type": "select", + "value": "default", + "option": [ + "default", + "LS-6", + "CA-5", + "SK-5", + "PR-A-1", + "PR-A-2", + "PR-B-1", + "PR-B-2" + ] + }, + "Saturday": { + "type": "select", + "value": "default", + "option": [ + "default", + "LS-6", + "SK-5", + "AP-5", + "CE-6", + "PR-B-1", + "PR-B-2", + "PR-C-1", + "PR-C-2", + "PR-D-1", + "PR-D-2" + ] + }, + "Sunday": { + "type": "select", + "value": "default", + "option": [ + "default", + "LS-6", + "CA-5", + "AP-5", + "CE-6", + "PR-A-1", + "PR-A-2", + "PR-C-1", + "PR-C-2", + "PR-D-1", + "PR-D-2" + ] + } + }, "Storage": { "Storage": { "type": "storage", diff --git a/submodule/AlasMaaBridge/module/config/argument/argument.yaml b/submodule/AlasMaaBridge/module/config/argument/argument.yaml index 37e01422d..4f19686f3 100644 --- a/submodule/AlasMaaBridge/module/config/argument/argument.yaml +++ b/submodule/AlasMaaBridge/module/config/argument/argument.yaml @@ -57,7 +57,7 @@ MaaRecord: MaaFight: Stage: value: last - option: [last, 1-7, CE-6, AP-5, CA-5, LS-6, PR-A-1, PR-A-2, PR-B-1, PR-B-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2, custom] + option: [last, 1-7, LS-6, CA-5, SK-5, AP-5, CE-6, PR-A-1, PR-A-2, PR-B-1, PR-B-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2, custom] CustomStage: null Medicine: null RunOutOfMedicine: false @@ -68,6 +68,29 @@ MaaFight: type: textarea DrGrandet: false +MaaFightWeekly: + Monday: + value: default + option: [default, LS-6, SK-5, AP-5, PR-A-1, PR-A-2, PR-B-1, PR-B-2] + Tuesday: + value: default + option: [default, LS-6, CA-5, CE-6, PR-B-1, PR-B-2, PR-D-1, PR-D-2] + Wednesday: + value: default + option: [default, LS-6, CA-5, SK-5, PR-C-1, PR-C-2, PR-D-1, PR-D-2] + Thursday: + value: default + option: [default, LS-6, AP-5, CE-6, PR-A-1, PR-A-2, PR-C-1, PR-C-2] + Friday: + value: default + option: [default, LS-6, CA-5, SK-5, PR-A-1, PR-A-2, PR-B-1, PR-B-2] + Saturday: + value: default + option: [default, LS-6, SK-5, AP-5, CE-6, PR-B-1, PR-B-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2] + Sunday: + value: default + option: [default, LS-6, CA-5, AP-5, CE-6, PR-A-1, PR-A-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2] + MaaRecruit: Refresh: true SkipRobot: true diff --git a/submodule/AlasMaaBridge/module/config/argument/task.yaml b/submodule/AlasMaaBridge/module/config/argument/task.yaml index d931c50a3..ef28a8d18 100644 --- a/submodule/AlasMaaBridge/module/config/argument/task.yaml +++ b/submodule/AlasMaaBridge/module/config/argument/task.yaml @@ -25,6 +25,7 @@ MaaMaterial: MaaFight: - Scheduler - MaaFight + - MaaFightWeekly MaaRecruit: - Scheduler diff --git a/submodule/AlasMaaBridge/module/config/config_generated.py b/submodule/AlasMaaBridge/module/config/config_generated.py index f88596ca5..8c040d2d9 100644 --- a/submodule/AlasMaaBridge/module/config/config_generated.py +++ b/submodule/AlasMaaBridge/module/config/config_generated.py @@ -39,7 +39,7 @@ class GeneratedConfig: MaaRecord_PenguinID = None # Group `MaaFight` - MaaFight_Stage = 'last' # last, 1-7, CE-6, AP-5, CA-5, LS-6, PR-A-1, PR-A-2, PR-B-1, PR-B-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2, custom + MaaFight_Stage = 'last' # last, 1-7, LS-6, CA-5, SK-5, AP-5, CE-6, PR-A-1, PR-A-2, PR-B-1, PR-B-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2, custom MaaFight_CustomStage = None MaaFight_Medicine = None MaaFight_RunOutOfMedicine = False @@ -48,6 +48,15 @@ class GeneratedConfig: MaaFight_Drops = None MaaFight_DrGrandet = False + # Group `MaaFightWeekly` + MaaFightWeekly_Monday = 'default' # default, LS-6, SK-5, AP-5, PR-A-1, PR-A-2, PR-B-1, PR-B-2 + MaaFightWeekly_Tuesday = 'default' # default, LS-6, CA-5, CE-6, PR-B-1, PR-B-2, PR-D-1, PR-D-2 + MaaFightWeekly_Wednesday = 'default' # default, LS-6, CA-5, SK-5, PR-C-1, PR-C-2, PR-D-1, PR-D-2 + MaaFightWeekly_Thursday = 'default' # default, LS-6, AP-5, CE-6, PR-A-1, PR-A-2, PR-C-1, PR-C-2 + MaaFightWeekly_Friday = 'default' # default, LS-6, CA-5, SK-5, PR-A-1, PR-A-2, PR-B-1, PR-B-2 + MaaFightWeekly_Saturday = 'default' # default, LS-6, SK-5, AP-5, CE-6, PR-B-1, PR-B-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2 + MaaFightWeekly_Sunday = 'default' # default, LS-6, CA-5, AP-5, CE-6, PR-A-1, PR-A-2, PR-C-1, PR-C-2, PR-D-1, PR-D-2 + # Group `MaaRecruit` MaaRecruit_Refresh = True MaaRecruit_SkipRobot = True diff --git a/submodule/AlasMaaBridge/module/config/config_updater.py b/submodule/AlasMaaBridge/module/config/config_updater.py index 2bf1d8840..4cb7198f2 100644 --- a/submodule/AlasMaaBridge/module/config/config_updater.py +++ b/submodule/AlasMaaBridge/module/config/config_updater.py @@ -55,6 +55,15 @@ class ConfigGenerator(config_updater.ConfigGenerator): group, key = path deep_load(keys=['Gui', group], words=(key,)) + # Copy stage names from MaaFight to MaaFightWeekly + day_names = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] + for stage, trans in deep_get(new, keys='MaaFight.Stage', default={}).items(): + if '-' not in stage: + continue + for day in day_names: + if deep_get(new, keys=['MaaFightWeekly', day, stage]): + deep_set(new, keys=['MaaFightWeekly', day, stage], value=trans) + write_file(filepath_i18n(lang), new) diff --git a/submodule/AlasMaaBridge/module/config/i18n/en-US.json b/submodule/AlasMaaBridge/module/config/i18n/en-US.json index b611b01b6..45c887f6f 100644 --- a/submodule/AlasMaaBridge/module/config/i18n/en-US.json +++ b/submodule/AlasMaaBridge/module/config/i18n/en-US.json @@ -182,10 +182,11 @@ "help": "MaaFight.Stage.help", "last": "last", "1-7": "1-7", - "CE-6": "CE-6", - "AP-5": "AP-5", - "CA-5": "CA-5", "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "AP-5": "AP-5", + "CE-6": "CE-6", "PR-A-1": "PR-A-1", "PR-A-2": "PR-A-2", "PR-B-1": "PR-B-1", @@ -225,6 +226,102 @@ "help": "MaaFight.DrGrandet.help" } }, + "MaaFightWeekly": { + "_info": { + "name": "MaaFightWeekly._info.name", + "help": "MaaFightWeekly._info.help" + }, + "Monday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "SK-5": "SK-5", + "AP-5": "AP-5", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2" + }, + "Tuesday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "CE-6": "CE-6", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Wednesday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Thursday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2" + }, + "Friday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2" + }, + "Saturday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "SK-5": "SK-5", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Sunday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + } + }, "MaaRecruit": { "_info": { "name": "MaaRecruit._info.name", diff --git a/submodule/AlasMaaBridge/module/config/i18n/ja-JP.json b/submodule/AlasMaaBridge/module/config/i18n/ja-JP.json index 372d31625..2262e5141 100644 --- a/submodule/AlasMaaBridge/module/config/i18n/ja-JP.json +++ b/submodule/AlasMaaBridge/module/config/i18n/ja-JP.json @@ -182,10 +182,11 @@ "help": "MaaFight.Stage.help", "last": "last", "1-7": "1-7", - "CE-6": "CE-6", - "AP-5": "AP-5", - "CA-5": "CA-5", "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "AP-5": "AP-5", + "CE-6": "CE-6", "PR-A-1": "PR-A-1", "PR-A-2": "PR-A-2", "PR-B-1": "PR-B-1", @@ -225,6 +226,102 @@ "help": "MaaFight.DrGrandet.help" } }, + "MaaFightWeekly": { + "_info": { + "name": "MaaFightWeekly._info.name", + "help": "MaaFightWeekly._info.help" + }, + "Monday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "SK-5": "SK-5", + "AP-5": "AP-5", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2" + }, + "Tuesday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "CE-6": "CE-6", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Wednesday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Thursday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2" + }, + "Friday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2" + }, + "Saturday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "SK-5": "SK-5", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Sunday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + } + }, "MaaRecruit": { "_info": { "name": "MaaRecruit._info.name", diff --git a/submodule/AlasMaaBridge/module/config/i18n/zh-CN.json b/submodule/AlasMaaBridge/module/config/i18n/zh-CN.json index e50fb260a..0402c7be7 100644 --- a/submodule/AlasMaaBridge/module/config/i18n/zh-CN.json +++ b/submodule/AlasMaaBridge/module/config/i18n/zh-CN.json @@ -182,23 +182,24 @@ "help": "", "last": "上次", "1-7": "1-7", - "CE-6": "龙门币-6", - "AP-5": "红票-5", - "CA-5": "技能-5", - "LS-6": "经验-6", - "PR-A-1": "奶/盾芯片", - "PR-A-2": "奶/盾芯片组", - "PR-B-1": "术/狙芯片", - "PR-B-2": "术/狙芯片组", - "PR-C-1": "先/辅芯片", - "PR-C-2": "先/辅芯片组", - "PR-D-1": "近/特芯片", - "PR-D-2": "近/特芯片组", + "LS-6": "经验-6 (LS-6)", + "CA-5": "技能-5 (CA-5)", + "SK-5": "碳-5 (SK-5)", + "AP-5": "红票-5 (AP-5)", + "CE-6": "龙门币-6 (CE-6)", + "PR-A-1": "重装/医疗芯片 (PR-A-1)", + "PR-A-2": "重装/医疗芯片组 (PR-A-2)", + "PR-B-1": "狙击/术师芯片 (PR-B-1)", + "PR-B-2": "狙击/术师芯片组 (PR-B-2)", + "PR-C-1": "先锋/辅助芯片 (PR-C-1)", + "PR-C-2": "先锋/辅助芯片组 (PR-C-2)", + "PR-D-1": "近卫/特种芯片 (PR-D-1)", + "PR-D-2": "近卫/特种芯片组 (PR-D-2)", "custom": "自定义" }, "CustomStage": { "name": "自定义关卡", - "help": "" + "help": "使用 \"自定义关卡\" 需要将 \"关卡选择\" 设置为 \"自定义\"," }, "Medicine": { "name": "吃理智药", @@ -225,6 +226,102 @@ "help": "在碎石确认界面等待,直到当前的 1 点理智恢复完成后再立刻碎石" } }, + "MaaFightWeekly": { + "_info": { + "name": "每日轮换关卡设置", + "help": "打每日轮换关卡,设置后将覆盖 \"战斗设置\",未设置时使用 \"战斗设置\" 中的默认关卡设置" + }, + "Monday": { + "name": "周一关卡选择", + "help": "", + "default": "遵循默认设置", + "LS-6": "经验-6 (LS-6)", + "SK-5": "碳-5 (SK-5)", + "AP-5": "红票-5 (AP-5)", + "PR-A-1": "重装/医疗芯片 (PR-A-1)", + "PR-A-2": "重装/医疗芯片组 (PR-A-2)", + "PR-B-1": "狙击/术师芯片 (PR-B-1)", + "PR-B-2": "狙击/术师芯片组 (PR-B-2)" + }, + "Tuesday": { + "name": "周二关卡选择", + "help": "", + "default": "遵循默认设置", + "LS-6": "经验-6 (LS-6)", + "CA-5": "技能-5 (CA-5)", + "CE-6": "龙门币-6 (CE-6)", + "PR-B-1": "狙击/术师芯片 (PR-B-1)", + "PR-B-2": "狙击/术师芯片组 (PR-B-2)", + "PR-D-1": "近卫/特种芯片 (PR-D-1)", + "PR-D-2": "近卫/特种芯片组 (PR-D-2)" + }, + "Wednesday": { + "name": "周三关卡选择", + "help": "", + "default": "遵循默认设置", + "LS-6": "经验-6 (LS-6)", + "CA-5": "技能-5 (CA-5)", + "SK-5": "碳-5 (SK-5)", + "PR-C-1": "先锋/辅助芯片 (PR-C-1)", + "PR-C-2": "先锋/辅助芯片组 (PR-C-2)", + "PR-D-1": "近卫/特种芯片 (PR-D-1)", + "PR-D-2": "近卫/特种芯片组 (PR-D-2)" + }, + "Thursday": { + "name": "周四关卡选择", + "help": "", + "default": "遵循默认设置", + "LS-6": "经验-6 (LS-6)", + "AP-5": "红票-5 (AP-5)", + "CE-6": "龙门币-6 (CE-6)", + "PR-A-1": "重装/医疗芯片 (PR-A-1)", + "PR-A-2": "重装/医疗芯片组 (PR-A-2)", + "PR-C-1": "先锋/辅助芯片 (PR-C-1)", + "PR-C-2": "先锋/辅助芯片组 (PR-C-2)" + }, + "Friday": { + "name": "周五关卡选择", + "help": "", + "default": "遵循默认设置", + "LS-6": "经验-6 (LS-6)", + "CA-5": "技能-5 (CA-5)", + "SK-5": "碳-5 (SK-5)", + "PR-A-1": "重装/医疗芯片 (PR-A-1)", + "PR-A-2": "重装/医疗芯片组 (PR-A-2)", + "PR-B-1": "狙击/术师芯片 (PR-B-1)", + "PR-B-2": "狙击/术师芯片组 (PR-B-2)" + }, + "Saturday": { + "name": "周六关卡选择", + "help": "", + "default": "遵循默认设置", + "LS-6": "经验-6 (LS-6)", + "SK-5": "碳-5 (SK-5)", + "AP-5": "红票-5 (AP-5)", + "CE-6": "龙门币-6 (CE-6)", + "PR-B-1": "狙击/术师芯片 (PR-B-1)", + "PR-B-2": "狙击/术师芯片组 (PR-B-2)", + "PR-C-1": "先锋/辅助芯片 (PR-C-1)", + "PR-C-2": "先锋/辅助芯片组 (PR-C-2)", + "PR-D-1": "近卫/特种芯片 (PR-D-1)", + "PR-D-2": "近卫/特种芯片组 (PR-D-2)" + }, + "Sunday": { + "name": "周日关卡选择", + "help": "", + "default": "遵循默认设置", + "LS-6": "经验-6 (LS-6)", + "CA-5": "技能-5 (CA-5)", + "AP-5": "红票-5 (AP-5)", + "CE-6": "龙门币-6 (CE-6)", + "PR-A-1": "重装/医疗芯片 (PR-A-1)", + "PR-A-2": "重装/医疗芯片组 (PR-A-2)", + "PR-C-1": "先锋/辅助芯片 (PR-C-1)", + "PR-C-2": "先锋/辅助芯片组 (PR-C-2)", + "PR-D-1": "近卫/特种芯片 (PR-D-1)", + "PR-D-2": "近卫/特种芯片组 (PR-D-2)" + } + }, "MaaRecruit": { "_info": { "name": "公招设置", diff --git a/submodule/AlasMaaBridge/module/config/i18n/zh-TW.json b/submodule/AlasMaaBridge/module/config/i18n/zh-TW.json index ddc10aa58..d74afe0ed 100644 --- a/submodule/AlasMaaBridge/module/config/i18n/zh-TW.json +++ b/submodule/AlasMaaBridge/module/config/i18n/zh-TW.json @@ -182,10 +182,11 @@ "help": "MaaFight.Stage.help", "last": "last", "1-7": "1-7", - "CE-6": "CE-6", - "AP-5": "AP-5", - "CA-5": "CA-5", "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "AP-5": "AP-5", + "CE-6": "CE-6", "PR-A-1": "PR-A-1", "PR-A-2": "PR-A-2", "PR-B-1": "PR-B-1", @@ -225,6 +226,102 @@ "help": "MaaFight.DrGrandet.help" } }, + "MaaFightWeekly": { + "_info": { + "name": "MaaFightWeekly._info.name", + "help": "MaaFightWeekly._info.help" + }, + "Monday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "SK-5": "SK-5", + "AP-5": "AP-5", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2" + }, + "Tuesday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "CE-6": "CE-6", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Wednesday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Thursday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2" + }, + "Friday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "SK-5": "SK-5", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2" + }, + "Saturday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "SK-5": "SK-5", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-B-1": "PR-B-1", + "PR-B-2": "PR-B-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + }, + "Sunday": { + "name": "MaaFight.Stage.name", + "help": "MaaFight.Stage.help", + "default": "default", + "LS-6": "LS-6", + "CA-5": "CA-5", + "AP-5": "AP-5", + "CE-6": "CE-6", + "PR-A-1": "PR-A-1", + "PR-A-2": "PR-A-2", + "PR-C-1": "PR-C-1", + "PR-C-2": "PR-C-2", + "PR-D-1": "PR-D-1", + "PR-D-2": "PR-D-2" + } + }, "MaaRecruit": { "_info": { "name": "MaaRecruit._info.name", diff --git a/submodule/AlasMaaBridge/module/handler/handler.py b/submodule/AlasMaaBridge/module/handler/handler.py index 1b80b5b34..e7ac5cfc7 100644 --- a/submodule/AlasMaaBridge/module/handler/handler.py +++ b/submodule/AlasMaaBridge/module/handler/handler.py @@ -10,7 +10,7 @@ from cached_property import cached_property from deploy.config import DeployConfig from module.base.timer import Timer -from module.config.utils import read_file, deep_get +from module.config.utils import read_file, deep_get, get_server_last_update from module.device.connection_attr import ConnectionAttr from module.exception import RequestHumanTakeover from module.logger import logger @@ -77,6 +77,8 @@ class AssistantHandler: return def maa_start(self, task_name, params): + logger.hr('MAA start') + logger.info(f'Task name: {task_name}, params={params}') self.task_id = self.asst.append_task(task_name, params) self.signal = None self.params = params @@ -216,12 +218,20 @@ class AssistantHandler: "client_type": self.config.MaaEmulator_PackageName, "DrGrandet": self.config.MaaFight_DrGrandet, } + # Set stage if self.config.MaaFight_Stage == 'last': args['stage'] = '' elif self.config.MaaFight_Stage == 'custom': args['stage'] = self.config.MaaFight_CustomStage else: args['stage'] = self.config.MaaFight_Stage + # Set weekly stage + today = get_server_last_update('04:00').strftime('%A') + logger.attr('Weekday', today) + stage = self.config.__getattribute__(f'MaaFightWeekly_{today}') + if stage != 'default': + logger.info(f'Using stage setting from {today}: {stage}') + args['stage'] = stage if self.config.MaaFight_Medicine is not None: args["medicine"] = self.config.MaaFight_Medicine