diff --git a/assets/cn/combat_ui/PAUSE_Ancient.png b/assets/cn/combat_ui/PAUSE_Ancient.png new file mode 100644 index 000000000..2f9c7623b Binary files /dev/null and b/assets/cn/combat_ui/PAUSE_Ancient.png differ diff --git a/assets/cn/raid/CHANGWU_OCR_PT.png b/assets/cn/raid/CHANGWU_OCR_PT.png new file mode 100644 index 000000000..69f91e624 Binary files /dev/null and b/assets/cn/raid/CHANGWU_OCR_PT.png differ diff --git a/assets/cn/raid/CHANGWU_OCR_REMAIN_EASY.png b/assets/cn/raid/CHANGWU_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..81cc31b96 Binary files /dev/null and b/assets/cn/raid/CHANGWU_OCR_REMAIN_EASY.png differ diff --git a/assets/cn/raid/CHANGWU_OCR_REMAIN_EX.png b/assets/cn/raid/CHANGWU_OCR_REMAIN_EX.png new file mode 100644 index 000000000..3cfa3e115 Binary files /dev/null and b/assets/cn/raid/CHANGWU_OCR_REMAIN_EX.png differ diff --git a/assets/cn/raid/CHANGWU_OCR_REMAIN_HARD.png b/assets/cn/raid/CHANGWU_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..058042521 Binary files /dev/null and b/assets/cn/raid/CHANGWU_OCR_REMAIN_HARD.png differ diff --git a/assets/cn/raid/CHANGWU_OCR_REMAIN_NORMAL.png b/assets/cn/raid/CHANGWU_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..dae85770a Binary files /dev/null and b/assets/cn/raid/CHANGWU_OCR_REMAIN_NORMAL.png differ diff --git a/assets/cn/raid/CHANGWU_RAID_EASY.png b/assets/cn/raid/CHANGWU_RAID_EASY.png new file mode 100644 index 000000000..f77fe6413 Binary files /dev/null and b/assets/cn/raid/CHANGWU_RAID_EASY.png differ diff --git a/assets/cn/raid/CHANGWU_RAID_EX.png b/assets/cn/raid/CHANGWU_RAID_EX.png new file mode 100644 index 000000000..6488b54c7 Binary files /dev/null and b/assets/cn/raid/CHANGWU_RAID_EX.png differ diff --git a/assets/cn/raid/CHANGWU_RAID_HARD.png b/assets/cn/raid/CHANGWU_RAID_HARD.png new file mode 100644 index 000000000..e221a3764 Binary files /dev/null and b/assets/cn/raid/CHANGWU_RAID_HARD.png differ diff --git a/assets/cn/raid/CHANGWU_RAID_NORMAL.png b/assets/cn/raid/CHANGWU_RAID_NORMAL.png new file mode 100644 index 000000000..9e50e8a8d Binary files /dev/null and b/assets/cn/raid/CHANGWU_RAID_NORMAL.png differ diff --git a/assets/cn/raid/RPG_RAID_EX.png b/assets/cn/raid/RPG_RAID_EX.png index b16b3f0f0..0c84d4ac2 100644 Binary files a/assets/cn/raid/RPG_RAID_EX.png and b/assets/cn/raid/RPG_RAID_EX.png differ diff --git a/assets/en/raid/CHANGWU_OCR_PT.png b/assets/en/raid/CHANGWU_OCR_PT.png new file mode 100644 index 000000000..69f91e624 Binary files /dev/null and b/assets/en/raid/CHANGWU_OCR_PT.png differ diff --git a/assets/en/raid/CHANGWU_OCR_REMAIN_EASY.png b/assets/en/raid/CHANGWU_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..81cc31b96 Binary files /dev/null and b/assets/en/raid/CHANGWU_OCR_REMAIN_EASY.png differ diff --git a/assets/en/raid/CHANGWU_OCR_REMAIN_EX.png b/assets/en/raid/CHANGWU_OCR_REMAIN_EX.png new file mode 100644 index 000000000..3cfa3e115 Binary files /dev/null and b/assets/en/raid/CHANGWU_OCR_REMAIN_EX.png differ diff --git a/assets/en/raid/CHANGWU_OCR_REMAIN_HARD.png b/assets/en/raid/CHANGWU_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..058042521 Binary files /dev/null and b/assets/en/raid/CHANGWU_OCR_REMAIN_HARD.png differ diff --git a/assets/en/raid/CHANGWU_OCR_REMAIN_NORMAL.png b/assets/en/raid/CHANGWU_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..dae85770a Binary files /dev/null and b/assets/en/raid/CHANGWU_OCR_REMAIN_NORMAL.png differ diff --git a/assets/en/raid/CHANGWU_RAID_EASY.png b/assets/en/raid/CHANGWU_RAID_EASY.png new file mode 100644 index 000000000..2d92d8c58 Binary files /dev/null and b/assets/en/raid/CHANGWU_RAID_EASY.png differ diff --git a/assets/en/raid/CHANGWU_RAID_EX.png b/assets/en/raid/CHANGWU_RAID_EX.png new file mode 100644 index 000000000..6488b54c7 Binary files /dev/null and b/assets/en/raid/CHANGWU_RAID_EX.png differ diff --git a/assets/en/raid/CHANGWU_RAID_HARD.png b/assets/en/raid/CHANGWU_RAID_HARD.png new file mode 100644 index 000000000..e04d8b506 Binary files /dev/null and b/assets/en/raid/CHANGWU_RAID_HARD.png differ diff --git a/assets/en/raid/CHANGWU_RAID_NORMAL.png b/assets/en/raid/CHANGWU_RAID_NORMAL.png new file mode 100644 index 000000000..2431085cb Binary files /dev/null and b/assets/en/raid/CHANGWU_RAID_NORMAL.png differ diff --git a/assets/en/raid/RPG_RAID_EX.png b/assets/en/raid/RPG_RAID_EX.png index b16b3f0f0..0c84d4ac2 100644 Binary files a/assets/en/raid/RPG_RAID_EX.png and b/assets/en/raid/RPG_RAID_EX.png differ diff --git a/assets/en/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png b/assets/en/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png new file mode 100644 index 000000000..d19ca6c16 Binary files /dev/null and b/assets/en/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png differ diff --git a/assets/jp/raid/CHANGWU_OCR_PT.png b/assets/jp/raid/CHANGWU_OCR_PT.png new file mode 100644 index 000000000..69f91e624 Binary files /dev/null and b/assets/jp/raid/CHANGWU_OCR_PT.png differ diff --git a/assets/jp/raid/CHANGWU_OCR_REMAIN_EASY.png b/assets/jp/raid/CHANGWU_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..81cc31b96 Binary files /dev/null and b/assets/jp/raid/CHANGWU_OCR_REMAIN_EASY.png differ diff --git a/assets/jp/raid/CHANGWU_OCR_REMAIN_EX.png b/assets/jp/raid/CHANGWU_OCR_REMAIN_EX.png new file mode 100644 index 000000000..3cfa3e115 Binary files /dev/null and b/assets/jp/raid/CHANGWU_OCR_REMAIN_EX.png differ diff --git a/assets/jp/raid/CHANGWU_OCR_REMAIN_HARD.png b/assets/jp/raid/CHANGWU_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..058042521 Binary files /dev/null and b/assets/jp/raid/CHANGWU_OCR_REMAIN_HARD.png differ diff --git a/assets/jp/raid/CHANGWU_OCR_REMAIN_NORMAL.png b/assets/jp/raid/CHANGWU_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..dae85770a Binary files /dev/null and b/assets/jp/raid/CHANGWU_OCR_REMAIN_NORMAL.png differ diff --git a/assets/jp/raid/CHANGWU_RAID_EASY.png b/assets/jp/raid/CHANGWU_RAID_EASY.png new file mode 100644 index 000000000..57b3d424e Binary files /dev/null and b/assets/jp/raid/CHANGWU_RAID_EASY.png differ diff --git a/assets/jp/raid/CHANGWU_RAID_EX.png b/assets/jp/raid/CHANGWU_RAID_EX.png new file mode 100644 index 000000000..6488b54c7 Binary files /dev/null and b/assets/jp/raid/CHANGWU_RAID_EX.png differ diff --git a/assets/jp/raid/CHANGWU_RAID_HARD.png b/assets/jp/raid/CHANGWU_RAID_HARD.png new file mode 100644 index 000000000..a3078d799 Binary files /dev/null and b/assets/jp/raid/CHANGWU_RAID_HARD.png differ diff --git a/assets/jp/raid/CHANGWU_RAID_NORMAL.png b/assets/jp/raid/CHANGWU_RAID_NORMAL.png new file mode 100644 index 000000000..1e12dc279 Binary files /dev/null and b/assets/jp/raid/CHANGWU_RAID_NORMAL.png differ diff --git a/assets/jp/raid/RPG_RAID_EX.png b/assets/jp/raid/RPG_RAID_EX.png index b16b3f0f0..0c84d4ac2 100644 Binary files a/assets/jp/raid/RPG_RAID_EX.png and b/assets/jp/raid/RPG_RAID_EX.png differ diff --git a/assets/tw/raid/CHANGWU_OCR_PT.png b/assets/tw/raid/CHANGWU_OCR_PT.png new file mode 100644 index 000000000..69f91e624 Binary files /dev/null and b/assets/tw/raid/CHANGWU_OCR_PT.png differ diff --git a/assets/tw/raid/CHANGWU_OCR_REMAIN_EASY.png b/assets/tw/raid/CHANGWU_OCR_REMAIN_EASY.png new file mode 100644 index 000000000..81cc31b96 Binary files /dev/null and b/assets/tw/raid/CHANGWU_OCR_REMAIN_EASY.png differ diff --git a/assets/tw/raid/CHANGWU_OCR_REMAIN_EX.png b/assets/tw/raid/CHANGWU_OCR_REMAIN_EX.png new file mode 100644 index 000000000..3cfa3e115 Binary files /dev/null and b/assets/tw/raid/CHANGWU_OCR_REMAIN_EX.png differ diff --git a/assets/tw/raid/CHANGWU_OCR_REMAIN_HARD.png b/assets/tw/raid/CHANGWU_OCR_REMAIN_HARD.png new file mode 100644 index 000000000..058042521 Binary files /dev/null and b/assets/tw/raid/CHANGWU_OCR_REMAIN_HARD.png differ diff --git a/assets/tw/raid/CHANGWU_OCR_REMAIN_NORMAL.png b/assets/tw/raid/CHANGWU_OCR_REMAIN_NORMAL.png new file mode 100644 index 000000000..dae85770a Binary files /dev/null and b/assets/tw/raid/CHANGWU_OCR_REMAIN_NORMAL.png differ diff --git a/assets/tw/raid/CHANGWU_RAID_EASY.png b/assets/tw/raid/CHANGWU_RAID_EASY.png new file mode 100644 index 000000000..a05ce4ed8 Binary files /dev/null and b/assets/tw/raid/CHANGWU_RAID_EASY.png differ diff --git a/assets/tw/raid/CHANGWU_RAID_EX.png b/assets/tw/raid/CHANGWU_RAID_EX.png new file mode 100644 index 000000000..6488b54c7 Binary files /dev/null and b/assets/tw/raid/CHANGWU_RAID_EX.png differ diff --git a/assets/tw/raid/CHANGWU_RAID_HARD.png b/assets/tw/raid/CHANGWU_RAID_HARD.png new file mode 100644 index 000000000..bb8b6bbd6 Binary files /dev/null and b/assets/tw/raid/CHANGWU_RAID_HARD.png differ diff --git a/assets/tw/raid/CHANGWU_RAID_NORMAL.png b/assets/tw/raid/CHANGWU_RAID_NORMAL.png new file mode 100644 index 000000000..9d4903978 Binary files /dev/null and b/assets/tw/raid/CHANGWU_RAID_NORMAL.png differ diff --git a/assets/tw/raid/RPG_RAID_EX.png b/assets/tw/raid/RPG_RAID_EX.png index b16b3f0f0..0c84d4ac2 100644 Binary files a/assets/tw/raid/RPG_RAID_EX.png and b/assets/tw/raid/RPG_RAID_EX.png differ diff --git a/campaign/Readme.md b/campaign/Readme.md index d4785cb83..a3701d128 100644 --- a/campaign/Readme.md +++ b/campaign/Readme.md @@ -280,3 +280,4 @@ To add a new event, add a new row in here, and run `python -m module.config.conf | 20260122 | event 20220526 cn | Pledge of the Radiant Court | - | - | - | 泠誓光庭 | | 20260129 | coalition 20260122 | Light & Shadow Fashion Shoot! | - | - | - | 光影風尚-拍攝進行時 | | 20260205 | raid 20240328 | From Zero to Hero | 复刻从零开始的魔王讨伐之旅 | From Zero to Hero Rerun | ゼロから頑張る魔王討伐(復刻) | - | +| 20260212 | raid 20260212 | Spring Auction Adventure | 春宴怀玉香满庭 | Spring Auction Adventure | 新春玉逸品会 | 春宴懷玉香滿庭 | diff --git a/config/template.json b/config/template.json index 843a6e1b7..834a99dba 100644 --- a/config/template.json +++ b/config/template.json @@ -796,54 +796,6 @@ "Storage": {} } }, - "Coalition": { - "Scheduler": { - "Enable": false, - "NextRun": "2020-01-01 00:00:00", - "Command": "Coalition", - "SuccessInterval": 30, - "FailureInterval": 30, - "ServerUpdate": "00:00" - }, - "Campaign": { - "Name": "dynamic", - "Event": "campaign_main", - "Mode": "normal", - "UseClearMode": true, - "UseFleetLock": true, - "UseAutoSearch": false, - "Use2xBook": false, - "AmbushEvade": true - }, - "Coalition": { - "Mode": "hard", - "Fleet": "single" - }, - "StopCondition": { - "OilLimit": 1000, - "RunCount": 0, - "MapAchievement": "non_stop", - "StageIncrease": false, - "GetNewShip": false, - "ReachLevel": 0 - }, - "Emotion": { - "Mode": "calculate", - "Fleet1Value": 119, - "Fleet1Record": "2020-01-01 00:00:00", - "Fleet1Control": "prevent_yellow_face", - "Fleet1Recover": "not_in_dormitory", - "Fleet1Oath": false, - "Fleet2Value": 119, - "Fleet2Record": "2020-01-01 00:00:00", - "Fleet2Control": "prevent_yellow_face", - "Fleet2Recover": "not_in_dormitory", - "Fleet2Oath": false - }, - "Storage": { - "Storage": {} - } - }, "Event": { "Scheduler": { "Enable": false, @@ -1373,6 +1325,54 @@ "Storage": {} } }, + "Coalition": { + "Scheduler": { + "Enable": false, + "NextRun": "2020-01-01 00:00:00", + "Command": "Coalition", + "SuccessInterval": 30, + "FailureInterval": 30, + "ServerUpdate": "00:00" + }, + "Campaign": { + "Name": "dynamic", + "Event": "campaign_main", + "Mode": "normal", + "UseClearMode": true, + "UseFleetLock": true, + "UseAutoSearch": false, + "Use2xBook": false, + "AmbushEvade": true + }, + "Coalition": { + "Mode": "hard", + "Fleet": "single" + }, + "StopCondition": { + "OilLimit": 1000, + "RunCount": 0, + "MapAchievement": "non_stop", + "StageIncrease": false, + "GetNewShip": false, + "ReachLevel": 0 + }, + "Emotion": { + "Mode": "calculate", + "Fleet1Value": 119, + "Fleet1Record": "2020-01-01 00:00:00", + "Fleet1Control": "prevent_yellow_face", + "Fleet1Recover": "not_in_dormitory", + "Fleet1Oath": false, + "Fleet2Value": 119, + "Fleet2Record": "2020-01-01 00:00:00", + "Fleet2Control": "prevent_yellow_face", + "Fleet2Recover": "not_in_dormitory", + "Fleet2Oath": false + }, + "Storage": { + "Storage": {} + } + }, "MaritimeEscort": { "Scheduler": { "Enable": false, @@ -1482,54 +1482,6 @@ "Storage": {} } }, - "CoalitionSp": { - "Scheduler": { - "Enable": false, - "NextRun": "2020-01-01 00:00:00", - "Command": "CoalitionSp", - "SuccessInterval": 30, - "FailureInterval": 30, - "ServerUpdate": "00:00" - }, - "Campaign": { - "Name": "sp", - "Event": "campaign_main", - "Mode": "normal", - "UseClearMode": true, - "UseFleetLock": true, - "UseAutoSearch": false, - "Use2xBook": false, - "AmbushEvade": true - }, - "Coalition": { - "Mode": "sp", - "Fleet": "single" - }, - "StopCondition": { - "OilLimit": 1000, - "RunCount": 0, - "MapAchievement": "non_stop", - "StageIncrease": false, - "GetNewShip": false, - "ReachLevel": 0 - }, - "Emotion": { - "Mode": "calculate", - "Fleet1Value": 119, - "Fleet1Record": "2020-01-01 00:00:00", - "Fleet1Control": "prevent_yellow_face", - "Fleet1Recover": "not_in_dormitory", - "Fleet1Oath": false, - "Fleet2Value": 119, - "Fleet2Record": "2020-01-01 00:00:00", - "Fleet2Control": "prevent_yellow_face", - "Fleet2Recover": "not_in_dormitory", - "Fleet2Oath": false - }, - "Storage": { - "Storage": {} - } - }, "EventA": { "Scheduler": { "Enable": false, @@ -1963,6 +1915,54 @@ "Storage": {} } }, + "CoalitionSp": { + "Scheduler": { + "Enable": false, + "NextRun": "2020-01-01 00:00:00", + "Command": "CoalitionSp", + "SuccessInterval": 30, + "FailureInterval": 30, + "ServerUpdate": "00:00" + }, + "Campaign": { + "Name": "sp", + "Event": "campaign_main", + "Mode": "normal", + "UseClearMode": true, + "UseFleetLock": true, + "UseAutoSearch": false, + "Use2xBook": false, + "AmbushEvade": true + }, + "Coalition": { + "Mode": "sp", + "Fleet": "single" + }, + "StopCondition": { + "OilLimit": 1000, + "RunCount": 0, + "MapAchievement": "non_stop", + "StageIncrease": false, + "GetNewShip": false, + "ReachLevel": 0 + }, + "Emotion": { + "Mode": "calculate", + "Fleet1Value": 119, + "Fleet1Record": "2020-01-01 00:00:00", + "Fleet1Control": "prevent_yellow_face", + "Fleet1Recover": "not_in_dormitory", + "Fleet1Oath": false, + "Fleet2Value": 119, + "Fleet2Record": "2020-01-01 00:00:00", + "Fleet2Control": "prevent_yellow_face", + "Fleet2Recover": "not_in_dormitory", + "Fleet2Oath": false + }, + "Storage": { + "Storage": {} + } + }, "Commission": { "Scheduler": { "Enable": true, diff --git a/module/combat/combat.py b/module/combat/combat.py index f2c1feb7f..818d3de9b 100644 --- a/module/combat/combat.py +++ b/module/combat/combat.py @@ -124,6 +124,8 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan return PAUSE_ShadowPuppetry if PAUSE_MaidCafe.match_template_color(self.device.image, offset=(10, 10)): return PAUSE_MaidCafe + if PAUSE_Ancient.match_template_color(self.device.image, offset=(10, 10)): + return PAUSE_Ancient return False def handle_combat_quit(self, offset=(20, 20), interval=3): diff --git a/module/combat_ui/assets.py b/module/combat_ui/assets.py index f66c58ff1..cf309cd15 100644 --- a/module/combat_ui/assets.py +++ b/module/combat_ui/assets.py @@ -5,6 +5,7 @@ from module.base.template import Template # Don't modify it manually. PAUSE = Button(area={'cn': (1158, 40, 1199, 58), 'en': (1155, 38, 1216, 51), 'jp': (1232, 36, 1240, 60), 'tw': (1217, 36, 1225, 59)}, color={'cn': (189, 190, 202), 'en': (164, 169, 181), 'jp': (244, 241, 246), 'tw': (247, 243, 247)}, button={'cn': (1157, 34, 1241, 61), 'en': (1136, 26, 1270, 63), 'jp': (1141, 38, 1220, 57), 'tw': (1157, 34, 1241, 61)}, file={'cn': './assets/cn/combat_ui/PAUSE.png', 'en': './assets/en/combat_ui/PAUSE.png', 'jp': './assets/jp/combat_ui/PAUSE.png', 'tw': './assets/tw/combat_ui/PAUSE.png'}) +PAUSE_Ancient = Button(area={'cn': (1228, 36, 1245, 55), 'en': (1228, 36, 1245, 55), 'jp': (1228, 36, 1245, 55), 'tw': (1228, 36, 1245, 55)}, color={'cn': (172, 161, 144), 'en': (172, 161, 144), 'jp': (172, 161, 144), 'tw': (172, 161, 144)}, button={'cn': (1228, 36, 1245, 55), 'en': (1228, 36, 1245, 55), 'jp': (1228, 36, 1245, 55), 'tw': (1228, 36, 1245, 55)}, file={'cn': './assets/cn/combat_ui/PAUSE_Ancient.png', 'en': './assets/cn/combat_ui/PAUSE_Ancient.png', 'jp': './assets/cn/combat_ui/PAUSE_Ancient.png', 'tw': './assets/cn/combat_ui/PAUSE_Ancient.png'}) PAUSE_Christmas = Button(area={'cn': (1234, 35, 1250, 56), 'en': (1234, 35, 1250, 56), 'jp': (1234, 35, 1250, 56), 'tw': (1234, 35, 1250, 56)}, color={'cn': (158, 181, 210), 'en': (158, 181, 210), 'jp': (158, 181, 210), 'tw': (158, 181, 210)}, button={'cn': (1234, 35, 1250, 56), 'en': (1234, 35, 1250, 56), 'jp': (1234, 35, 1250, 56), 'tw': (1234, 35, 1250, 56)}, file={'cn': './assets/cn/combat_ui/PAUSE_Christmas.png', 'en': './assets/cn/combat_ui/PAUSE_Christmas.png', 'jp': './assets/cn/combat_ui/PAUSE_Christmas.png', 'tw': './assets/cn/combat_ui/PAUSE_Christmas.png'}) PAUSE_Cyber = Button(area={'cn': (1231, 32, 1253, 59), 'en': (1231, 32, 1253, 59), 'jp': (1231, 32, 1253, 59), 'tw': (1231, 32, 1253, 59)}, color={'cn': (40, 140, 157), 'en': (40, 140, 157), 'jp': (40, 140, 157), 'tw': (40, 140, 157)}, button={'cn': (1231, 32, 1253, 59), 'en': (1231, 32, 1253, 59), 'jp': (1231, 32, 1253, 59), 'tw': (1231, 32, 1253, 59)}, file={'cn': './assets/cn/combat_ui/PAUSE_Cyber.png', 'en': './assets/cn/combat_ui/PAUSE_Cyber.png', 'jp': './assets/cn/combat_ui/PAUSE_Cyber.png', 'tw': './assets/cn/combat_ui/PAUSE_Cyber.png'}) PAUSE_DOUBLE_CHECK = Button(area={'cn': (1226, 35, 1231, 60), 'en': (1226, 35, 1231, 61), 'jp': (1226, 35, 1230, 60), 'tw': (1226, 35, 1231, 60)}, color={'cn': (96, 104, 136), 'en': (83, 98, 118), 'jp': (97, 102, 120), 'tw': (96, 104, 136)}, button={'cn': (1226, 35, 1231, 60), 'en': (1226, 35, 1231, 61), 'jp': (1226, 35, 1230, 60), 'tw': (1226, 35, 1231, 60)}, file={'cn': './assets/cn/combat_ui/PAUSE_DOUBLE_CHECK.png', 'en': './assets/en/combat_ui/PAUSE_DOUBLE_CHECK.png', 'jp': './assets/jp/combat_ui/PAUSE_DOUBLE_CHECK.png', 'tw': './assets/tw/combat_ui/PAUSE_DOUBLE_CHECK.png'}) diff --git a/module/config/argument/args.json b/module/config/argument/args.json index da8d55d24..1e2c57495 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -281,6 +281,7 @@ "cn_android-25", "cn_android-26", "cn_android-27", + "cn_android-28", "cn_ios-0", "cn_ios-1", "cn_ios-2", @@ -4172,269 +4173,6 @@ } } }, - "Coalition": { - "Scheduler": { - "Enable": { - "type": "checkbox", - "value": false, - "option": [ - true, - false - ] - }, - "NextRun": { - "type": "datetime", - "value": "2020-01-01 00:00:00", - "validate": "datetime" - }, - "Command": { - "type": "input", - "value": "Coalition", - "display": "hide" - }, - "SuccessInterval": { - "type": "input", - "value": 30, - "display": "hide" - }, - "FailureInterval": { - "type": "input", - "value": 30, - "display": "hide" - }, - "ServerUpdate": { - "type": "input", - "value": "00:00", - "display": "hide" - } - }, - "Campaign": { - "Name": { - "type": "input", - "value": "dynamic", - "display": "hide" - }, - "Event": { - "type": "state", - "value": "campaign_main", - "option": [ - "coalition_20230323", - "coalition_20240627", - "coalition_20250626", - "coalition_20251120", - "coalition_20260122" - ], - "option_cn": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20230323", - "coalition_20240627" - ], - "option_en": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20230323", - "coalition_20240627" - ], - "option_jp": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20230323", - "coalition_20240627" - ], - "option_tw": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20240627", - "coalition_20230323" - ] - }, - "Mode": { - "type": "select", - "value": "normal", - "option": [ - "normal", - "hard" - ], - "display": "hide" - }, - "UseClearMode": { - "type": "checkbox", - "value": true, - "display": "hide" - }, - "UseFleetLock": { - "type": "checkbox", - "value": true, - "display": "hide" - }, - "UseAutoSearch": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "Use2xBook": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "AmbushEvade": { - "type": "checkbox", - "value": true, - "display": "hide" - } - }, - "Coalition": { - "Mode": { - "type": "select", - "value": "hard", - "option": [ - "easy", - "normal", - "hard", - "sp" - ] - }, - "Fleet": { - "type": "select", - "value": "single", - "option": [ - "single", - "multi" - ] - } - }, - "StopCondition": { - "OilLimit": { - "type": "input", - "value": 1000 - }, - "RunCount": { - "type": "input", - "value": 0 - }, - "MapAchievement": { - "type": "select", - "value": "non_stop", - "option": [ - "non_stop", - "100_percent_clear", - "map_3_stars", - "threat_safe", - "threat_safe_without_3_stars" - ], - "display": "hide" - }, - "StageIncrease": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "GetNewShip": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "ReachLevel": { - "type": "input", - "value": 0, - "display": "hide" - } - }, - "Emotion": { - "Mode": { - "type": "select", - "value": "calculate", - "option": [ - "calculate", - "ignore", - "calculate_ignore" - ] - }, - "Fleet1Value": { - "type": "input", - "value": 119 - }, - "Fleet1Record": { - "type": "datetime", - "value": "2020-01-01 00:00:00", - "validate": "datetime", - "display": "disabled" - }, - "Fleet1Control": { - "type": "select", - "value": "prevent_yellow_face", - "option": [ - "keep_exp_bonus", - "prevent_green_face", - "prevent_yellow_face", - "prevent_red_face" - ] - }, - "Fleet1Recover": { - "type": "select", - "value": "not_in_dormitory", - "option": [ - "not_in_dormitory", - "dormitory_floor_1", - "dormitory_floor_2" - ] - }, - "Fleet1Oath": { - "type": "checkbox", - "value": false - }, - "Fleet2Value": { - "type": "input", - "value": 119, - "display": "hide" - }, - "Fleet2Record": { - "type": "datetime", - "value": "2020-01-01 00:00:00", - "validate": "datetime", - "display": "hide" - }, - "Fleet2Control": { - "type": "select", - "value": "prevent_yellow_face", - "option": [ - "keep_exp_bonus", - "prevent_green_face", - "prevent_yellow_face", - "prevent_red_face" - ], - "display": "hide" - }, - "Fleet2Recover": { - "type": "select", - "value": "not_in_dormitory", - "option": [ - "not_in_dormitory", - "dormitory_floor_1", - "dormitory_floor_2" - ], - "display": "hide" - }, - "Fleet2Oath": { - "type": "checkbox", - "value": false, - "display": "hide" - } - }, - "Storage": { - "Storage": { - "type": "storage", - "value": {}, - "valuetype": "ignore", - "display": "disabled" - } - } - }, "Event": { "Scheduler": { "Enable": { @@ -8928,9 +8666,11 @@ "raid_20230629", "raid_20240130", "raid_20240328", - "raid_20250116" + "raid_20250116", + "raid_20260212" ], "option_cn": [ + "raid_20260212", "raid_20240328", "raid_20250116", "raid_20240130", @@ -8943,6 +8683,7 @@ "raid_20200624" ], "option_en": [ + "raid_20260212", "raid_20240328", "raid_20250116", "raid_20240130", @@ -8955,6 +8696,7 @@ "raid_20200624" ], "option_jp": [ + "raid_20260212", "raid_20240328", "raid_20250116", "raid_20240130", @@ -8967,6 +8709,7 @@ "raid_20200624" ], "option_tw": [ + "raid_20260212", "raid_20250116", "raid_20240130", "raid_20240328", @@ -9314,6 +9057,269 @@ } } }, + "Coalition": { + "Scheduler": { + "Enable": { + "type": "checkbox", + "value": false, + "option": [ + true, + false + ] + }, + "NextRun": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime" + }, + "Command": { + "type": "input", + "value": "Coalition", + "display": "hide" + }, + "SuccessInterval": { + "type": "input", + "value": 30, + "display": "hide" + }, + "FailureInterval": { + "type": "input", + "value": 30, + "display": "hide" + }, + "ServerUpdate": { + "type": "input", + "value": "00:00", + "display": "hide" + } + }, + "Campaign": { + "Name": { + "type": "input", + "value": "dynamic", + "display": "hide" + }, + "Event": { + "type": "state", + "value": "campaign_main", + "option": [ + "coalition_20230323", + "coalition_20240627", + "coalition_20250626", + "coalition_20251120", + "coalition_20260122" + ], + "option_cn": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20230323", + "coalition_20240627" + ], + "option_en": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20230323", + "coalition_20240627" + ], + "option_jp": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20230323", + "coalition_20240627" + ], + "option_tw": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20240627", + "coalition_20230323" + ] + }, + "Mode": { + "type": "select", + "value": "normal", + "option": [ + "normal", + "hard" + ], + "display": "hide" + }, + "UseClearMode": { + "type": "checkbox", + "value": true, + "display": "hide" + }, + "UseFleetLock": { + "type": "checkbox", + "value": true, + "display": "hide" + }, + "UseAutoSearch": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "Use2xBook": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "AmbushEvade": { + "type": "checkbox", + "value": true, + "display": "hide" + } + }, + "Coalition": { + "Mode": { + "type": "select", + "value": "hard", + "option": [ + "easy", + "normal", + "hard", + "sp" + ] + }, + "Fleet": { + "type": "select", + "value": "single", + "option": [ + "single", + "multi" + ] + } + }, + "StopCondition": { + "OilLimit": { + "type": "input", + "value": 1000 + }, + "RunCount": { + "type": "input", + "value": 0 + }, + "MapAchievement": { + "type": "select", + "value": "non_stop", + "option": [ + "non_stop", + "100_percent_clear", + "map_3_stars", + "threat_safe", + "threat_safe_without_3_stars" + ], + "display": "hide" + }, + "StageIncrease": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "GetNewShip": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "ReachLevel": { + "type": "input", + "value": 0, + "display": "hide" + } + }, + "Emotion": { + "Mode": { + "type": "select", + "value": "calculate", + "option": [ + "calculate", + "ignore", + "calculate_ignore" + ] + }, + "Fleet1Value": { + "type": "input", + "value": 119 + }, + "Fleet1Record": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime", + "display": "disabled" + }, + "Fleet1Control": { + "type": "select", + "value": "prevent_yellow_face", + "option": [ + "keep_exp_bonus", + "prevent_green_face", + "prevent_yellow_face", + "prevent_red_face" + ] + }, + "Fleet1Recover": { + "type": "select", + "value": "not_in_dormitory", + "option": [ + "not_in_dormitory", + "dormitory_floor_1", + "dormitory_floor_2" + ] + }, + "Fleet1Oath": { + "type": "checkbox", + "value": false + }, + "Fleet2Value": { + "type": "input", + "value": 119, + "display": "hide" + }, + "Fleet2Record": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime", + "display": "hide" + }, + "Fleet2Control": { + "type": "select", + "value": "prevent_yellow_face", + "option": [ + "keep_exp_bonus", + "prevent_green_face", + "prevent_yellow_face", + "prevent_red_face" + ], + "display": "hide" + }, + "Fleet2Recover": { + "type": "select", + "value": "not_in_dormitory", + "option": [ + "not_in_dormitory", + "dormitory_floor_1", + "dormitory_floor_2" + ], + "display": "hide" + }, + "Fleet2Oath": { + "type": "checkbox", + "value": false, + "display": "hide" + } + }, + "Storage": { + "Storage": { + "type": "storage", + "value": {}, + "valuetype": "ignore", + "display": "disabled" + } + } + }, "MaritimeEscort": { "Scheduler": { "Enable": { @@ -10042,270 +10048,6 @@ } } }, - "CoalitionSp": { - "Scheduler": { - "Enable": { - "type": "checkbox", - "value": false, - "option": [ - true, - false - ] - }, - "NextRun": { - "type": "datetime", - "value": "2020-01-01 00:00:00", - "validate": "datetime" - }, - "Command": { - "type": "input", - "value": "CoalitionSp", - "display": "hide" - }, - "SuccessInterval": { - "type": "input", - "value": 30, - "display": "hide" - }, - "FailureInterval": { - "type": "input", - "value": 30, - "display": "hide" - }, - "ServerUpdate": { - "type": "input", - "value": "00:00", - "display": "hide" - } - }, - "Campaign": { - "Name": { - "type": "input", - "value": "sp", - "display": "hide" - }, - "Event": { - "type": "state", - "value": "campaign_main", - "option": [ - "coalition_20230323", - "coalition_20240627", - "coalition_20250626", - "coalition_20251120", - "coalition_20260122" - ], - "option_cn": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20230323", - "coalition_20240627" - ], - "option_en": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20230323", - "coalition_20240627" - ], - "option_jp": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20230323", - "coalition_20240627" - ], - "option_tw": [ - "coalition_20260122", - "coalition_20251120", - "coalition_20250626", - "coalition_20240627", - "coalition_20230323" - ] - }, - "Mode": { - "type": "select", - "value": "normal", - "option": [ - "normal", - "hard" - ], - "display": "hide" - }, - "UseClearMode": { - "type": "checkbox", - "value": true, - "display": "hide" - }, - "UseFleetLock": { - "type": "checkbox", - "value": true, - "display": "hide" - }, - "UseAutoSearch": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "Use2xBook": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "AmbushEvade": { - "type": "checkbox", - "value": true, - "display": "hide" - } - }, - "Coalition": { - "Mode": { - "type": "select", - "value": "sp", - "option": [ - "easy", - "normal", - "hard", - "sp" - ], - "display": "hide" - }, - "Fleet": { - "type": "select", - "value": "single", - "option": [ - "single", - "multi" - ] - } - }, - "StopCondition": { - "OilLimit": { - "type": "input", - "value": 1000 - }, - "RunCount": { - "type": "input", - "value": 0 - }, - "MapAchievement": { - "type": "select", - "value": "non_stop", - "option": [ - "non_stop", - "100_percent_clear", - "map_3_stars", - "threat_safe", - "threat_safe_without_3_stars" - ], - "display": "hide" - }, - "StageIncrease": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "GetNewShip": { - "type": "checkbox", - "value": false, - "display": "hide" - }, - "ReachLevel": { - "type": "input", - "value": 0, - "display": "hide" - } - }, - "Emotion": { - "Mode": { - "type": "select", - "value": "calculate", - "option": [ - "calculate", - "ignore", - "calculate_ignore" - ] - }, - "Fleet1Value": { - "type": "input", - "value": 119 - }, - "Fleet1Record": { - "type": "datetime", - "value": "2020-01-01 00:00:00", - "validate": "datetime", - "display": "disabled" - }, - "Fleet1Control": { - "type": "select", - "value": "prevent_yellow_face", - "option": [ - "keep_exp_bonus", - "prevent_green_face", - "prevent_yellow_face", - "prevent_red_face" - ] - }, - "Fleet1Recover": { - "type": "select", - "value": "not_in_dormitory", - "option": [ - "not_in_dormitory", - "dormitory_floor_1", - "dormitory_floor_2" - ] - }, - "Fleet1Oath": { - "type": "checkbox", - "value": false - }, - "Fleet2Value": { - "type": "input", - "value": 119, - "display": "hide" - }, - "Fleet2Record": { - "type": "datetime", - "value": "2020-01-01 00:00:00", - "validate": "datetime", - "display": "hide" - }, - "Fleet2Control": { - "type": "select", - "value": "prevent_yellow_face", - "option": [ - "keep_exp_bonus", - "prevent_green_face", - "prevent_yellow_face", - "prevent_red_face" - ], - "display": "hide" - }, - "Fleet2Recover": { - "type": "select", - "value": "not_in_dormitory", - "option": [ - "not_in_dormitory", - "dormitory_floor_1", - "dormitory_floor_2" - ], - "display": "hide" - }, - "Fleet2Oath": { - "type": "checkbox", - "value": false, - "display": "hide" - } - }, - "Storage": { - "Storage": { - "type": "storage", - "value": {}, - "valuetype": "ignore", - "display": "disabled" - } - } - }, "EventA": { "Scheduler": { "Enable": { @@ -14128,9 +13870,11 @@ "raid_20230629", "raid_20240130", "raid_20240328", - "raid_20250116" + "raid_20250116", + "raid_20260212" ], "option_cn": [ + "raid_20260212", "raid_20240328", "raid_20250116", "raid_20240130", @@ -14143,6 +13887,7 @@ "raid_20200624" ], "option_en": [ + "raid_20260212", "raid_20240328", "raid_20250116", "raid_20240130", @@ -14155,6 +13900,7 @@ "raid_20200624" ], "option_jp": [ + "raid_20260212", "raid_20240328", "raid_20250116", "raid_20240130", @@ -14167,6 +13913,7 @@ "raid_20200624" ], "option_tw": [ + "raid_20260212", "raid_20250116", "raid_20240130", "raid_20240328", @@ -14342,6 +14089,270 @@ } } }, + "CoalitionSp": { + "Scheduler": { + "Enable": { + "type": "checkbox", + "value": false, + "option": [ + true, + false + ] + }, + "NextRun": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime" + }, + "Command": { + "type": "input", + "value": "CoalitionSp", + "display": "hide" + }, + "SuccessInterval": { + "type": "input", + "value": 30, + "display": "hide" + }, + "FailureInterval": { + "type": "input", + "value": 30, + "display": "hide" + }, + "ServerUpdate": { + "type": "input", + "value": "00:00", + "display": "hide" + } + }, + "Campaign": { + "Name": { + "type": "input", + "value": "sp", + "display": "hide" + }, + "Event": { + "type": "state", + "value": "campaign_main", + "option": [ + "coalition_20230323", + "coalition_20240627", + "coalition_20250626", + "coalition_20251120", + "coalition_20260122" + ], + "option_cn": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20230323", + "coalition_20240627" + ], + "option_en": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20230323", + "coalition_20240627" + ], + "option_jp": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20230323", + "coalition_20240627" + ], + "option_tw": [ + "coalition_20260122", + "coalition_20251120", + "coalition_20250626", + "coalition_20240627", + "coalition_20230323" + ] + }, + "Mode": { + "type": "select", + "value": "normal", + "option": [ + "normal", + "hard" + ], + "display": "hide" + }, + "UseClearMode": { + "type": "checkbox", + "value": true, + "display": "hide" + }, + "UseFleetLock": { + "type": "checkbox", + "value": true, + "display": "hide" + }, + "UseAutoSearch": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "Use2xBook": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "AmbushEvade": { + "type": "checkbox", + "value": true, + "display": "hide" + } + }, + "Coalition": { + "Mode": { + "type": "select", + "value": "sp", + "option": [ + "easy", + "normal", + "hard", + "sp" + ], + "display": "hide" + }, + "Fleet": { + "type": "select", + "value": "single", + "option": [ + "single", + "multi" + ] + } + }, + "StopCondition": { + "OilLimit": { + "type": "input", + "value": 1000 + }, + "RunCount": { + "type": "input", + "value": 0 + }, + "MapAchievement": { + "type": "select", + "value": "non_stop", + "option": [ + "non_stop", + "100_percent_clear", + "map_3_stars", + "threat_safe", + "threat_safe_without_3_stars" + ], + "display": "hide" + }, + "StageIncrease": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "GetNewShip": { + "type": "checkbox", + "value": false, + "display": "hide" + }, + "ReachLevel": { + "type": "input", + "value": 0, + "display": "hide" + } + }, + "Emotion": { + "Mode": { + "type": "select", + "value": "calculate", + "option": [ + "calculate", + "ignore", + "calculate_ignore" + ] + }, + "Fleet1Value": { + "type": "input", + "value": 119 + }, + "Fleet1Record": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime", + "display": "disabled" + }, + "Fleet1Control": { + "type": "select", + "value": "prevent_yellow_face", + "option": [ + "keep_exp_bonus", + "prevent_green_face", + "prevent_yellow_face", + "prevent_red_face" + ] + }, + "Fleet1Recover": { + "type": "select", + "value": "not_in_dormitory", + "option": [ + "not_in_dormitory", + "dormitory_floor_1", + "dormitory_floor_2" + ] + }, + "Fleet1Oath": { + "type": "checkbox", + "value": false + }, + "Fleet2Value": { + "type": "input", + "value": 119, + "display": "hide" + }, + "Fleet2Record": { + "type": "datetime", + "value": "2020-01-01 00:00:00", + "validate": "datetime", + "display": "hide" + }, + "Fleet2Control": { + "type": "select", + "value": "prevent_yellow_face", + "option": [ + "keep_exp_bonus", + "prevent_green_face", + "prevent_yellow_face", + "prevent_red_face" + ], + "display": "hide" + }, + "Fleet2Recover": { + "type": "select", + "value": "not_in_dormitory", + "option": [ + "not_in_dormitory", + "dormitory_floor_1", + "dormitory_floor_2" + ], + "display": "hide" + }, + "Fleet2Oath": { + "type": "checkbox", + "value": false, + "display": "hide" + } + }, + "Storage": { + "Storage": { + "type": "storage", + "value": {}, + "valuetype": "ignore", + "display": "disabled" + } + } + }, "Commission": { "Scheduler": { "Enable": { diff --git a/module/config/argument/menu.json b/module/config/argument/menu.json index 02ef24f92..2cf2cd49f 100644 --- a/module/config/argument/menu.json +++ b/module/config/argument/menu.json @@ -35,7 +35,6 @@ "page": "setting", "tasks": [ "EventGeneral", - "Coalition", "Event", "Event2", "Event3", @@ -44,6 +43,7 @@ "Event6", "Raid", "Hospital", + "Coalition", "MaritimeEscort", "EventShop", "WarArchives" @@ -53,13 +53,13 @@ "menu": "collapse", "page": "setting", "tasks": [ - "CoalitionSp", "EventA", "EventB", "EventC", "EventD", "EventSp", - "RaidDaily" + "RaidDaily", + "CoalitionSp" ] }, "Reward": { diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index 93b137123..c29122b15 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -123,12 +123,6 @@ Event: EventGeneral: - EventGeneral - TaskBalancer - Coalition: - - Scheduler - - Campaign - - Coalition - - StopCondition - - Emotion Event: - Scheduler - Campaign @@ -194,6 +188,12 @@ Event: - Hospital - StopCondition - Emotion + Coalition: + - Scheduler + - Campaign + - Coalition + - StopCondition + - Emotion MaritimeEscort: - Scheduler - MaritimeEscort @@ -217,12 +217,6 @@ EventDaily: menu: 'collapse' page: 'setting' tasks: - CoalitionSp: - - Scheduler - - Campaign - - Coalition - - StopCondition - - Emotion EventA: - Scheduler - EventDaily @@ -278,6 +272,12 @@ EventDaily: - Campaign - StopCondition - Emotion + CoalitionSp: + - Scheduler + - Campaign + - Coalition + - StopCondition + - Emotion # ==================== Reward ==================== diff --git a/module/config/config_generated.py b/module/config/config_generated.py index d2dd5a809..3f0dca93b 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -20,7 +20,7 @@ class GeneratedConfig: # Group `Emulator` Emulator_Serial = 'auto' Emulator_PackageName = 'auto' # auto, com.bilibili.azurlane, com.YoStarEN.AzurLane, com.YoStarJP.AzurLane, com.hkmanjuu.azurlane.gp, com.bilibili.blhx.huawei, com.bilibili.blhx.honor, com.bilibili.blhx.mi, com.tencent.tmgp.bilibili.blhx, com.bilibili.blhx.baidu, com.bilibili.blhx.qihoo, com.bilibili.blhx.nearme.gamecenter, com.bilibili.blhx.vivo, com.bilibili.blhx.mz, com.bilibili.blhx.dl, com.bilibili.blhx.lenovo, com.bilibili.blhx.uc, com.bilibili.blhx.mzw, com.yiwu.blhx.yx15, com.bilibili.blhx.m4399, com.bilibili.blhx.bilibiliMove, com.hkmanjuu.azurlane.gp.mc - Emulator_ServerName = 'disabled' # disabled, cn_android-0, cn_android-1, cn_android-2, cn_android-3, cn_android-4, cn_android-5, cn_android-6, cn_android-7, cn_android-8, cn_android-9, cn_android-10, cn_android-11, cn_android-12, cn_android-13, cn_android-14, cn_android-15, cn_android-16, cn_android-17, cn_android-18, cn_android-19, cn_android-20, cn_android-21, cn_android-22, cn_android-23, cn_android-24, cn_android-25, cn_android-26, cn_android-27, cn_ios-0, cn_ios-1, cn_ios-2, cn_ios-3, cn_ios-4, cn_ios-5, cn_ios-6, cn_ios-7, cn_ios-8, cn_ios-9, cn_ios-10, cn_channel-0, cn_channel-1, cn_channel-2, cn_channel-3, cn_channel-4, en-0, en-1, en-2, en-3, en-4, en-5, jp-0, jp-1, jp-2, jp-3, jp-4, jp-5, jp-6, jp-7, jp-8, jp-9, jp-10, jp-11, jp-12, jp-13, jp-14, jp-15, jp-16, jp-17 + Emulator_ServerName = 'disabled' # disabled, cn_android-0, cn_android-1, cn_android-2, cn_android-3, cn_android-4, cn_android-5, cn_android-6, cn_android-7, cn_android-8, cn_android-9, cn_android-10, cn_android-11, cn_android-12, cn_android-13, cn_android-14, cn_android-15, cn_android-16, cn_android-17, cn_android-18, cn_android-19, cn_android-20, cn_android-21, cn_android-22, cn_android-23, cn_android-24, cn_android-25, cn_android-26, cn_android-27, cn_android-28, cn_ios-0, cn_ios-1, cn_ios-2, cn_ios-3, cn_ios-4, cn_ios-5, cn_ios-6, cn_ios-7, cn_ios-8, cn_ios-9, cn_ios-10, cn_channel-0, cn_channel-1, cn_channel-2, cn_channel-3, cn_channel-4, en-0, en-1, en-2, en-3, en-4, en-5, jp-0, jp-1, jp-2, jp-3, jp-4, jp-5, jp-6, jp-7, jp-8, jp-9, jp-10, jp-11, jp-12, jp-13, jp-14, jp-15, jp-16, jp-17 Emulator_ScreenshotMethod = 'auto' # auto, ADB, ADB_nc, uiautomator2, aScreenCap, aScreenCap_nc, DroidCast, DroidCast_raw, nemu_ipc, ldopengl Emulator_ControlMethod = 'MaaTouch' # ADB, uiautomator2, minitouch, Hermit, MaaTouch Emulator_ScreenshotDedithering = False diff --git a/module/config/full_config_generated.py b/module/config/full_config_generated.py index d0874d937..c8de1b84a 100644 --- a/module/config/full_config_generated.py +++ b/module/config/full_config_generated.py @@ -592,42 +592,6 @@ class FullGeneratedConfig: EventGeneral_TaskBalancer_TaskCall = None EventGeneral_Storage_Storage = None - # Task `Coalition` - Coalition_Scheduler_Enable = None - Coalition_Scheduler_NextRun = None - Coalition_Scheduler_Command = None - Coalition_Scheduler_SuccessInterval = None - Coalition_Scheduler_FailureInterval = None - Coalition_Scheduler_ServerUpdate = None - Coalition_Campaign_Name = None - Coalition_Campaign_Event = None - Coalition_Campaign_Mode = None - Coalition_Campaign_UseClearMode = None - Coalition_Campaign_UseFleetLock = None - Coalition_Campaign_UseAutoSearch = None - Coalition_Campaign_Use2xBook = None - Coalition_Campaign_AmbushEvade = None - Coalition_Coalition_Mode = None - Coalition_Coalition_Fleet = None - Coalition_StopCondition_OilLimit = None - Coalition_StopCondition_RunCount = None - Coalition_StopCondition_MapAchievement = None - Coalition_StopCondition_StageIncrease = None - Coalition_StopCondition_GetNewShip = None - Coalition_StopCondition_ReachLevel = None - Coalition_Emotion_Mode = None - Coalition_Emotion_Fleet1Value = None - Coalition_Emotion_Fleet1Record = None - Coalition_Emotion_Fleet1Control = None - Coalition_Emotion_Fleet1Recover = None - Coalition_Emotion_Fleet1Oath = None - Coalition_Emotion_Fleet2Value = None - Coalition_Emotion_Fleet2Record = None - Coalition_Emotion_Fleet2Control = None - Coalition_Emotion_Fleet2Recover = None - Coalition_Emotion_Fleet2Oath = None - Coalition_Storage_Storage = None - # Task `Event` Event_Scheduler_Enable = None Event_Scheduler_NextRun = None @@ -1027,6 +991,42 @@ class FullGeneratedConfig: Hospital_Emotion_Fleet2Oath = None Hospital_Storage_Storage = None + # Task `Coalition` + Coalition_Scheduler_Enable = None + Coalition_Scheduler_NextRun = None + Coalition_Scheduler_Command = None + Coalition_Scheduler_SuccessInterval = None + Coalition_Scheduler_FailureInterval = None + Coalition_Scheduler_ServerUpdate = None + Coalition_Campaign_Name = None + Coalition_Campaign_Event = None + Coalition_Campaign_Mode = None + Coalition_Campaign_UseClearMode = None + Coalition_Campaign_UseFleetLock = None + Coalition_Campaign_UseAutoSearch = None + Coalition_Campaign_Use2xBook = None + Coalition_Campaign_AmbushEvade = None + Coalition_Coalition_Mode = None + Coalition_Coalition_Fleet = None + Coalition_StopCondition_OilLimit = None + Coalition_StopCondition_RunCount = None + Coalition_StopCondition_MapAchievement = None + Coalition_StopCondition_StageIncrease = None + Coalition_StopCondition_GetNewShip = None + Coalition_StopCondition_ReachLevel = None + Coalition_Emotion_Mode = None + Coalition_Emotion_Fleet1Value = None + Coalition_Emotion_Fleet1Record = None + Coalition_Emotion_Fleet1Control = None + Coalition_Emotion_Fleet1Recover = None + Coalition_Emotion_Fleet1Oath = None + Coalition_Emotion_Fleet2Value = None + Coalition_Emotion_Fleet2Record = None + Coalition_Emotion_Fleet2Control = None + Coalition_Emotion_Fleet2Recover = None + Coalition_Emotion_Fleet2Oath = None + Coalition_Storage_Storage = None + # Task `MaritimeEscort` MaritimeEscort_Scheduler_Enable = None MaritimeEscort_Scheduler_NextRun = None @@ -1106,42 +1106,6 @@ class FullGeneratedConfig: WarArchives_EnemyPriority_EnemyScaleBalanceWeight = None WarArchives_Storage_Storage = None - # Task `CoalitionSp` - CoalitionSp_Scheduler_Enable = None - CoalitionSp_Scheduler_NextRun = None - CoalitionSp_Scheduler_Command = None - CoalitionSp_Scheduler_SuccessInterval = None - CoalitionSp_Scheduler_FailureInterval = None - CoalitionSp_Scheduler_ServerUpdate = None - CoalitionSp_Campaign_Name = None - CoalitionSp_Campaign_Event = None - CoalitionSp_Campaign_Mode = None - CoalitionSp_Campaign_UseClearMode = None - CoalitionSp_Campaign_UseFleetLock = None - CoalitionSp_Campaign_UseAutoSearch = None - CoalitionSp_Campaign_Use2xBook = None - CoalitionSp_Campaign_AmbushEvade = None - CoalitionSp_Coalition_Mode = None - CoalitionSp_Coalition_Fleet = None - CoalitionSp_StopCondition_OilLimit = None - CoalitionSp_StopCondition_RunCount = None - CoalitionSp_StopCondition_MapAchievement = None - CoalitionSp_StopCondition_StageIncrease = None - CoalitionSp_StopCondition_GetNewShip = None - CoalitionSp_StopCondition_ReachLevel = None - CoalitionSp_Emotion_Mode = None - CoalitionSp_Emotion_Fleet1Value = None - CoalitionSp_Emotion_Fleet1Record = None - CoalitionSp_Emotion_Fleet1Control = None - CoalitionSp_Emotion_Fleet1Recover = None - CoalitionSp_Emotion_Fleet1Oath = None - CoalitionSp_Emotion_Fleet2Value = None - CoalitionSp_Emotion_Fleet2Record = None - CoalitionSp_Emotion_Fleet2Control = None - CoalitionSp_Emotion_Fleet2Recover = None - CoalitionSp_Emotion_Fleet2Oath = None - CoalitionSp_Storage_Storage = None - # Task `EventA` EventA_Scheduler_Enable = None EventA_Scheduler_NextRun = None @@ -1465,6 +1429,42 @@ class FullGeneratedConfig: RaidDaily_Emotion_Fleet2Oath = None RaidDaily_Storage_Storage = None + # Task `CoalitionSp` + CoalitionSp_Scheduler_Enable = None + CoalitionSp_Scheduler_NextRun = None + CoalitionSp_Scheduler_Command = None + CoalitionSp_Scheduler_SuccessInterval = None + CoalitionSp_Scheduler_FailureInterval = None + CoalitionSp_Scheduler_ServerUpdate = None + CoalitionSp_Campaign_Name = None + CoalitionSp_Campaign_Event = None + CoalitionSp_Campaign_Mode = None + CoalitionSp_Campaign_UseClearMode = None + CoalitionSp_Campaign_UseFleetLock = None + CoalitionSp_Campaign_UseAutoSearch = None + CoalitionSp_Campaign_Use2xBook = None + CoalitionSp_Campaign_AmbushEvade = None + CoalitionSp_Coalition_Mode = None + CoalitionSp_Coalition_Fleet = None + CoalitionSp_StopCondition_OilLimit = None + CoalitionSp_StopCondition_RunCount = None + CoalitionSp_StopCondition_MapAchievement = None + CoalitionSp_StopCondition_StageIncrease = None + CoalitionSp_StopCondition_GetNewShip = None + CoalitionSp_StopCondition_ReachLevel = None + CoalitionSp_Emotion_Mode = None + CoalitionSp_Emotion_Fleet1Value = None + CoalitionSp_Emotion_Fleet1Record = None + CoalitionSp_Emotion_Fleet1Control = None + CoalitionSp_Emotion_Fleet1Recover = None + CoalitionSp_Emotion_Fleet1Oath = None + CoalitionSp_Emotion_Fleet2Value = None + CoalitionSp_Emotion_Fleet2Record = None + CoalitionSp_Emotion_Fleet2Control = None + CoalitionSp_Emotion_Fleet2Recover = None + CoalitionSp_Emotion_Fleet2Oath = None + CoalitionSp_Storage_Storage = None + # Task `Commission` Commission_Scheduler_Enable = None Commission_Scheduler_NextRun = None diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index cf8a22657..9c9b8ace8 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -94,10 +94,6 @@ "name": "Event General", "help": "" }, - "Coalition": { - "name": "Light & Shadow Fashion Shoot", - "help": "" - }, "Event": { "name": "Event", "help": "" @@ -130,6 +126,10 @@ "name": "Valley Hospital", "help": "" }, + "Coalition": { + "name": "Light & Shadow Fashion Shoot", + "help": "" + }, "MaritimeEscort": { "name": "Maritime Escort", "help": "" @@ -142,10 +142,6 @@ "name": "War Archives", "help": "Due to the lack of maintenance of war archives, continuous clear may not work normally, if Alas runs abnormally, Please manually finish clearing and use auto search" }, - "CoalitionSp": { - "name": "Light & Shadow Fashion Shoot SP", - "help": "" - }, "EventA": { "name": "Event Daily A", "help": "" @@ -170,6 +166,10 @@ "name": "Raid Daily", "help": "" }, + "CoalitionSp": { + "name": "Light & Shadow Fashion Shoot SP", + "help": "" + }, "Commission": { "name": "Commission", "help": "" @@ -430,6 +430,7 @@ "cn_android-25": "[国服] 水仙行动", "cn_android-26": "[国服] 冬月计划", "cn_android-27": "[国服] 长弓计划", + "cn_android-28": "[国服] 裁决协议", "cn_ios-0": "[国服] 夏威夷", "cn_ios-1": "[国服] 珊瑚海", "cn_ios-2": "[国服] 中途岛", @@ -827,6 +828,7 @@ "raid_20240130": "Spring Festive Fiasco", "raid_20240328": "From Zero to Hero Rerun", "raid_20250116": "Spring Fashion Festa", + "raid_20260212": "Spring Auction Adventure", "war_archives_20180607_cn": "archives Ink Stained Steel Sakura", "war_archives_20180726_cn": "archives Iris of Light and Dark", "war_archives_20181020_en": "archives Strive Wish and Strategize", @@ -1337,10 +1339,10 @@ "Mode": { "name": "Raid Mode", "help": "", - "easy": "easy", - "normal": "normal", - "hard": "hard", - "ex": "ex" + "easy": "Easy", + "normal": "Normal", + "hard": "Hard", + "ex": "EX" }, "UseTicket": { "name": "Use Ticket(s)", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 96d25460c..eb516aa77 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -94,10 +94,6 @@ "name": "イベント共通設定", "help": "" }, - "Coalition": { - "name": "特集写真-撮影進行中", - "help": "" - }, "Event": { "name": "イベント海域", "help": "" @@ -130,6 +126,10 @@ "name": "病院探訪", "help": "" }, + "Coalition": { + "name": "特集写真-撮影進行中", + "help": "" + }, "MaritimeEscort": { "name": "Maritime Escort", "help": "" @@ -142,10 +142,6 @@ "name": "作戦履歴", "help": "" }, - "CoalitionSp": { - "name": "特集写真-撮影進行中SP", - "help": "" - }, "EventA": { "name": "毎日イベント海域A", "help": "" @@ -170,6 +166,10 @@ "name": "Raid Daily", "help": "" }, + "CoalitionSp": { + "name": "特集写真-撮影進行中SP", + "help": "" + }, "Commission": { "name": "委託", "help": "" @@ -430,6 +430,7 @@ "cn_android-25": "[国服] 水仙行动", "cn_android-26": "[国服] 冬月计划", "cn_android-27": "[国服] 长弓计划", + "cn_android-28": "[国服] 裁决协议", "cn_ios-0": "[国服] 夏威夷", "cn_ios-1": "[国服] 珊瑚海", "cn_ios-2": "[国服] 中途岛", @@ -827,6 +828,7 @@ "raid_20240130": "新春宴会狂騒曲", "raid_20240328": "ゼロから頑張る魔王討伐(復刻)", "raid_20250116": "新春華裳協奏曲", + "raid_20260212": "新春玉逸品会", "war_archives_20180607_cn": "檔案 墨染まりし鋼の桜", "war_archives_20180726_cn": "檔案 光と影のアイリス", "war_archives_20181020_en": "檔案 努力希望と計画", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 4eea0a947..8f4e2911e 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -94,10 +94,6 @@ "name": "活动通用设置", "help": "" }, - "Coalition": { - "name": "光影风尚-拍摄进行时", - "help": "" - }, "Event": { "name": "活动图-1", "help": "" @@ -130,6 +126,10 @@ "name": "深谷来信", "help": "" }, + "Coalition": { + "name": "光影风尚-拍摄进行时", + "help": "" + }, "MaritimeEscort": { "name": "商船护航", "help": "" @@ -142,10 +142,6 @@ "name": "作战档案", "help": "由于作战档案缺少维护,开荒功能不一定能正常使用,如果发现Alas运行异常,请手动完成开荒后使用自律寻敌功能" }, - "CoalitionSp": { - "name": "光影风尚-拍摄进行时SP", - "help": "" - }, "EventA": { "name": "活动每日A图", "help": "" @@ -170,6 +166,10 @@ "name": "共斗活动每日", "help": "" }, + "CoalitionSp": { + "name": "光影风尚-拍摄进行时SP", + "help": "" + }, "Commission": { "name": "委托", "help": "" @@ -430,6 +430,7 @@ "cn_android-25": "[国服] 水仙行动", "cn_android-26": "[国服] 冬月计划", "cn_android-27": "[国服] 长弓计划", + "cn_android-28": "[国服] 裁决协议", "cn_ios-0": "[国服] 夏威夷", "cn_ios-1": "[国服] 珊瑚海", "cn_ios-2": "[国服] 中途岛", @@ -827,6 +828,7 @@ "raid_20240130": "寰昌宇定家事忙", "raid_20240328": "复刻从零开始的魔王讨伐之旅", "raid_20250116": "华裳巧展喜事长", + "raid_20260212": "春宴怀玉香满庭", "war_archives_20180607_cn": "档案 墨染的钢铁之花", "war_archives_20180726_cn": "档案 光与影的鸢尾之华", "war_archives_20181020_en": "档案 努力希望和计划", @@ -1340,7 +1342,7 @@ "easy": "简单", "normal": "普通", "hard": "困难", - "ex": "ex" + "ex": "EX" }, "UseTicket": { "name": "使用演习券", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index f9bc6ccac..3a3d4654f 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -94,10 +94,6 @@ "name": "活動通用", "help": "" }, - "Coalition": { - "name": "光影風尚-拍攝進行時", - "help": "" - }, "Event": { "name": "活動圖", "help": "" @@ -130,6 +126,10 @@ "name": "深谷来信", "help": "" }, + "Coalition": { + "name": "光影風尚-拍攝進行時", + "help": "" + }, "MaritimeEscort": { "name": "商船護航", "help": "" @@ -142,10 +142,6 @@ "name": "作戰檔案", "help": "由於作戰檔案缺少維護,開荒功能不一定能正常使用,如果發現Alas運行異常,請手動完成開荒後使用自律尋敵功能" }, - "CoalitionSp": { - "name": "光影風尚-拍攝進行時SP", - "help": "" - }, "EventA": { "name": "活動每日A圖", "help": "" @@ -170,6 +166,10 @@ "name": "共鬥活動每日", "help": "" }, + "CoalitionSp": { + "name": "光影風尚-拍攝進行時SP", + "help": "" + }, "Commission": { "name": "委託", "help": "" @@ -430,6 +430,7 @@ "cn_android-25": "[国服] 水仙行动", "cn_android-26": "[国服] 冬月计划", "cn_android-27": "[国服] 长弓计划", + "cn_android-28": "[国服] 裁决协议", "cn_ios-0": "[国服] 夏威夷", "cn_ios-1": "[国服] 珊瑚海", "cn_ios-2": "[国服] 中途岛", @@ -827,6 +828,7 @@ "raid_20240130": "寰昌宇定家事忙", "raid_20240328": "從零開始的魔王討伐之旅", "raid_20250116": "華裳巧展喜事長", + "raid_20260212": "春宴懷玉香滿庭", "war_archives_20180607_cn": "檔案 墨染的鋼鐵之花", "war_archives_20180726_cn": "檔案 光與影的鳶尾之華", "war_archives_20181020_en": "檔案 努力希望和計劃", @@ -1340,7 +1342,7 @@ "easy": "簡單", "normal": "普通", "hard": "困難", - "ex": "ex" + "ex": "EX" }, "UseTicket": { "name": "使用演習券", diff --git a/module/config/server.py b/module/config/server.py index e91fa48ce..3cf519518 100644 --- a/module/config/server.py +++ b/module/config/server.py @@ -74,7 +74,7 @@ VALID_SERVER_LIST = { '小王冠行动', '波茨坦公告', '白色方案', '瓦尔基里行动', '曼哈顿计划', '八月风暴', '秋季旅行', '水星行动', '莱茵河卫兵', '北极光计划', '长戟计划', '暴雨行动', '水仙行动', '冬月计划', - '长弓计划' + '长弓计划', '裁决协议', ], 'cn_ios': [ '夏威夷', '珊瑚海', '中途岛', '铁底湾', '所罗门', '马里亚纳', diff --git a/module/exercise/hp_daemon.py b/module/exercise/hp_daemon.py index e79bce505..321a88d24 100644 --- a/module/exercise/hp_daemon.py +++ b/module/exercise/hp_daemon.py @@ -76,6 +76,7 @@ class HpDaemon(ModuleBase): PAUSE_Ninja, PAUSE_ShadowPuppetry, PAUSE_MaidCafe, + PAUSE_Ancient, ]: self.attacker_hp = self._calculate_hp(image, area=ATTACKER_HP_AREA_New.area, reverse=True) self.defender_hp = self._calculate_hp(image, area=DEFENDER_HP_AREA_New.area, reverse=True) diff --git a/module/raid/assets.py b/module/raid/assets.py index 71f9961af..172c02e78 100644 --- a/module/raid/assets.py +++ b/module/raid/assets.py @@ -17,6 +17,15 @@ BRISTOL_OCR_REMAIN_NORMAL = Button(area={'cn': (1089, 414, 1148, 432), 'en': (10 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'}) +CHANGWU_OCR_PT = Button(area={'cn': (1174, 603, 1280, 632), 'en': (1174, 603, 1280, 632), 'jp': (1174, 603, 1280, 632), 'tw': (1174, 603, 1280, 632)}, color={'cn': (183, 118, 101), 'en': (183, 118, 101), 'jp': (183, 118, 101), 'tw': (183, 118, 101)}, button={'cn': (1174, 603, 1280, 632), 'en': (1174, 603, 1280, 632), 'jp': (1174, 603, 1280, 632), 'tw': (1174, 603, 1280, 632)}, file={'cn': './assets/cn/raid/CHANGWU_OCR_PT.png', 'en': './assets/en/raid/CHANGWU_OCR_PT.png', 'jp': './assets/jp/raid/CHANGWU_OCR_PT.png', 'tw': './assets/tw/raid/CHANGWU_OCR_PT.png'}) +CHANGWU_OCR_REMAIN_EASY = Button(area={'cn': (1057, 565, 1116, 585), 'en': (1057, 565, 1116, 585), 'jp': (1057, 565, 1116, 585), 'tw': (1057, 565, 1116, 585)}, color={'cn': (96, 83, 81), 'en': (96, 83, 81), 'jp': (96, 83, 81), 'tw': (96, 83, 81)}, button={'cn': (1057, 565, 1116, 585), 'en': (1057, 565, 1116, 585), 'jp': (1057, 565, 1116, 585), 'tw': (1057, 565, 1116, 585)}, file={'cn': './assets/cn/raid/CHANGWU_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/CHANGWU_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/CHANGWU_OCR_REMAIN_EASY.png', 'tw': './assets/tw/raid/CHANGWU_OCR_REMAIN_EASY.png'}) +CHANGWU_OCR_REMAIN_EX = Button(area={'cn': (1138, 26, 1185, 49), 'en': (1138, 26, 1185, 49), 'jp': (1138, 26, 1185, 49), 'tw': (1138, 26, 1185, 49)}, color={'cn': (213, 128, 103), 'en': (213, 128, 103), 'jp': (213, 128, 103), 'tw': (213, 128, 103)}, button={'cn': (1138, 26, 1185, 49), 'en': (1138, 26, 1185, 49), 'jp': (1138, 26, 1185, 49), 'tw': (1138, 26, 1185, 49)}, file={'cn': './assets/cn/raid/CHANGWU_OCR_REMAIN_EX.png', 'en': './assets/en/raid/CHANGWU_OCR_REMAIN_EX.png', 'jp': './assets/jp/raid/CHANGWU_OCR_REMAIN_EX.png', 'tw': './assets/tw/raid/CHANGWU_OCR_REMAIN_EX.png'}) +CHANGWU_OCR_REMAIN_HARD = Button(area={'cn': (1169, 409, 1229, 429), 'en': (1169, 409, 1229, 429), 'jp': (1169, 409, 1229, 429), 'tw': (1169, 409, 1229, 429)}, color={'cn': (100, 86, 82), 'en': (100, 86, 82), 'jp': (100, 86, 82), 'tw': (100, 86, 82)}, button={'cn': (1169, 409, 1229, 429), 'en': (1169, 409, 1229, 429), 'jp': (1169, 409, 1229, 429), 'tw': (1169, 409, 1229, 429)}, file={'cn': './assets/cn/raid/CHANGWU_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/CHANGWU_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/CHANGWU_OCR_REMAIN_HARD.png', 'tw': './assets/tw/raid/CHANGWU_OCR_REMAIN_HARD.png'}) +CHANGWU_OCR_REMAIN_NORMAL = Button(area={'cn': (1112, 487, 1170, 506), 'en': (1112, 487, 1170, 506), 'jp': (1112, 487, 1170, 506), 'tw': (1112, 487, 1170, 506)}, color={'cn': (100, 87, 84), 'en': (100, 87, 84), 'jp': (100, 87, 84), 'tw': (100, 87, 84)}, button={'cn': (1112, 487, 1170, 506), 'en': (1112, 487, 1170, 506), 'jp': (1112, 487, 1170, 506), 'tw': (1112, 487, 1170, 506)}, file={'cn': './assets/cn/raid/CHANGWU_OCR_REMAIN_NORMAL.png', 'en': './assets/en/raid/CHANGWU_OCR_REMAIN_NORMAL.png', 'jp': './assets/jp/raid/CHANGWU_OCR_REMAIN_NORMAL.png', 'tw': './assets/tw/raid/CHANGWU_OCR_REMAIN_NORMAL.png'}) +CHANGWU_RAID_EASY = Button(area={'cn': (976, 559, 1032, 590), 'en': (971, 562, 1037, 584), 'jp': (978, 561, 1031, 588), 'tw': (977, 560, 1031, 588)}, color={'cn': (144, 130, 122), 'en': (158, 144, 134), 'jp': (151, 137, 128), 'tw': (162, 147, 137)}, button={'cn': (976, 559, 1032, 590), 'en': (971, 562, 1037, 584), 'jp': (978, 561, 1031, 588), 'tw': (977, 560, 1031, 588)}, file={'cn': './assets/cn/raid/CHANGWU_RAID_EASY.png', 'en': './assets/en/raid/CHANGWU_RAID_EASY.png', 'jp': './assets/jp/raid/CHANGWU_RAID_EASY.png', 'tw': './assets/tw/raid/CHANGWU_RAID_EASY.png'}) +CHANGWU_RAID_EX = Button(area={'cn': (1135, 296, 1209, 331), 'en': (1135, 296, 1209, 331), 'jp': (1135, 296, 1209, 331), 'tw': (1135, 296, 1209, 331)}, color={'cn': (151, 138, 125), 'en': (151, 138, 125), 'jp': (151, 138, 125), 'tw': (151, 138, 125)}, button={'cn': (1135, 296, 1209, 331), 'en': (1135, 296, 1209, 331), 'jp': (1135, 296, 1209, 331), 'tw': (1135, 296, 1209, 331)}, file={'cn': './assets/cn/raid/CHANGWU_RAID_EX.png', 'en': './assets/en/raid/CHANGWU_RAID_EX.png', 'jp': './assets/jp/raid/CHANGWU_RAID_EX.png', 'tw': './assets/tw/raid/CHANGWU_RAID_EX.png'}) +CHANGWU_RAID_HARD = Button(area={'cn': (1087, 403, 1146, 433), 'en': (1083, 407, 1150, 428), 'jp': (1073, 405, 1143, 431), 'tw': (1089, 405, 1145, 432)}, color={'cn': (154, 139, 130), 'en': (173, 157, 145), 'jp': (133, 119, 112), 'tw': (173, 157, 145)}, button={'cn': (1087, 403, 1146, 433), 'en': (1083, 407, 1150, 428), 'jp': (1073, 405, 1143, 431), 'tw': (1089, 405, 1145, 432)}, file={'cn': './assets/cn/raid/CHANGWU_RAID_HARD.png', 'en': './assets/en/raid/CHANGWU_RAID_HARD.png', 'jp': './assets/jp/raid/CHANGWU_RAID_HARD.png', 'tw': './assets/tw/raid/CHANGWU_RAID_HARD.png'}) +CHANGWU_RAID_NORMAL = Button(area={'cn': (1032, 480, 1091, 511), 'en': (1009, 485, 1104, 506), 'jp': (1034, 482, 1089, 510), 'tw': (1033, 481, 1089, 510)}, color={'cn': (144, 130, 122), 'en': (168, 153, 142), 'jp': (146, 131, 123), 'tw': (151, 136, 128)}, button={'cn': (1032, 480, 1091, 511), 'en': (1009, 485, 1104, 506), 'jp': (1034, 482, 1089, 510), 'tw': (1033, 481, 1089, 510)}, file={'cn': './assets/cn/raid/CHANGWU_RAID_NORMAL.png', 'en': './assets/en/raid/CHANGWU_RAID_NORMAL.png', 'jp': './assets/jp/raid/CHANGWU_RAID_NORMAL.png', 'tw': './assets/tw/raid/CHANGWU_RAID_NORMAL.png'}) CHIENWU_OCR_PT = Button(area={'cn': (1166, 604, 1279, 632), 'en': (1166, 604, 1279, 632), 'jp': (1166, 604, 1279, 632), 'tw': (1166, 604, 1279, 632)}, color={'cn': (126, 40, 47), 'en': (126, 40, 47), 'jp': (126, 40, 47), 'tw': (126, 40, 47)}, button={'cn': (1166, 604, 1279, 632), 'en': (1166, 604, 1279, 632), 'jp': (1166, 604, 1279, 632), 'tw': (1166, 604, 1279, 632)}, file={'cn': './assets/cn/raid/CHIENWU_OCR_PT.png', 'en': './assets/cn/raid/CHIENWU_OCR_PT.png', 'jp': './assets/cn/raid/CHIENWU_OCR_PT.png', 'tw': './assets/cn/raid/CHIENWU_OCR_PT.png'}) CHIENWU_OCR_REMAIN_EASY = Button(area={'cn': (1111, 528, 1163, 549), 'en': (1111, 528, 1163, 549), 'jp': (1111, 528, 1163, 549), 'tw': (1111, 528, 1163, 549)}, color={'cn': (174, 153, 133), 'en': (174, 153, 133), 'jp': (174, 153, 133), 'tw': (174, 153, 133)}, button={'cn': (1111, 528, 1163, 549), 'en': (1111, 528, 1163, 549), 'jp': (1111, 528, 1163, 549), 'tw': (1111, 528, 1163, 549)}, file={'cn': './assets/cn/raid/CHIENWU_OCR_REMAIN_EASY.png', 'en': './assets/cn/raid/CHIENWU_OCR_REMAIN_EASY.png', 'jp': './assets/cn/raid/CHIENWU_OCR_REMAIN_EASY.png', 'tw': './assets/cn/raid/CHIENWU_OCR_REMAIN_EASY.png'}) CHIENWU_OCR_REMAIN_EX = Button(area={'cn': (1086, 16, 1152, 44), 'en': (1086, 16, 1152, 44), 'jp': (1086, 16, 1152, 44), 'tw': (1086, 16, 1152, 44)}, color={'cn': (90, 39, 34), 'en': (90, 39, 34), 'jp': (90, 39, 34), 'tw': (90, 39, 34)}, button={'cn': (1086, 16, 1152, 44), 'en': (1086, 16, 1152, 44), 'jp': (1086, 16, 1152, 44), 'tw': (1086, 16, 1152, 44)}, file={'cn': './assets/cn/raid/CHIENWU_OCR_REMAIN_EX.png', 'en': './assets/cn/raid/CHIENWU_OCR_REMAIN_EX.png', 'jp': './assets/cn/raid/CHIENWU_OCR_REMAIN_EX.png', 'tw': './assets/cn/raid/CHIENWU_OCR_REMAIN_EX.png'}) @@ -74,7 +83,7 @@ RPG_GOTO_STORY = Button(area={'cn': (59, 491, 84, 516), 'en': (59, 491, 84, 516) RPG_HOME = Button(area={'cn': (1222, 29, 1240, 51), 'en': (1222, 29, 1240, 51), 'jp': (1222, 29, 1240, 51), 'tw': (1222, 29, 1240, 51)}, color={'cn': (197, 181, 158), 'en': (197, 181, 158), 'jp': (197, 181, 158), 'tw': (197, 181, 158)}, button={'cn': (1222, 29, 1240, 51), 'en': (1222, 29, 1240, 51), 'jp': (1222, 29, 1240, 51), 'tw': (1222, 29, 1240, 51)}, file={'cn': './assets/cn/raid/RPG_HOME.png', 'en': './assets/en/raid/RPG_HOME.png', 'jp': './assets/jp/raid/RPG_HOME.png', 'tw': './assets/tw/raid/RPG_HOME.png'}) RPG_LEAVE_CITY = Button(area={'cn': (688, 642, 711, 664), 'en': (688, 642, 711, 664), 'jp': (688, 642, 711, 664), 'tw': (688, 642, 711, 664)}, color={'cn': (158, 130, 109), 'en': (158, 130, 109), 'jp': (158, 130, 109), 'tw': (158, 130, 109)}, button={'cn': (688, 642, 711, 664), 'en': (688, 642, 711, 664), 'jp': (688, 642, 711, 664), 'tw': (688, 642, 711, 664)}, file={'cn': './assets/cn/raid/RPG_LEAVE_CITY.png', 'en': './assets/en/raid/RPG_LEAVE_CITY.png', 'jp': './assets/jp/raid/RPG_LEAVE_CITY.png', 'tw': './assets/tw/raid/RPG_LEAVE_CITY.png'}) RPG_RAID_EASY = Button(area={'cn': (149, 561, 179, 591), 'en': (149, 561, 179, 591), 'jp': (149, 561, 179, 591), 'tw': (149, 561, 179, 591)}, color={'cn': (152, 57, 59), 'en': (152, 57, 59), 'jp': (152, 57, 59), 'tw': (152, 57, 59)}, button={'cn': (149, 561, 179, 591), 'en': (149, 561, 179, 591), 'jp': (149, 561, 179, 591), 'tw': (149, 561, 179, 591)}, file={'cn': './assets/cn/raid/RPG_RAID_EASY.png', 'en': './assets/en/raid/RPG_RAID_EASY.png', 'jp': './assets/jp/raid/RPG_RAID_EASY.png', 'tw': './assets/tw/raid/RPG_RAID_EASY.png'}) -RPG_RAID_EX = Button(area={'cn': (949, 518, 976, 565), 'en': (949, 518, 976, 565), 'jp': (949, 518, 976, 565), 'tw': (949, 518, 976, 565)}, color={'cn': (166, 66, 69), 'en': (166, 66, 69), 'jp': (166, 66, 69), 'tw': (166, 66, 69)}, button={'cn': (949, 518, 976, 565), 'en': (949, 518, 976, 565), 'jp': (949, 518, 976, 565), 'tw': (949, 518, 976, 565)}, file={'cn': './assets/cn/raid/RPG_RAID_EX.png', 'en': './assets/en/raid/RPG_RAID_EX.png', 'jp': './assets/jp/raid/RPG_RAID_EX.png', 'tw': './assets/tw/raid/RPG_RAID_EX.png'}) +RPG_RAID_EX = Button(area={'cn': (979, 223, 999, 258), 'en': (979, 223, 999, 258), 'jp': (979, 223, 999, 258), 'tw': (979, 223, 999, 258)}, color={'cn': (231, 198, 84), 'en': (231, 198, 84), 'jp': (231, 198, 84), 'tw': (231, 198, 84)}, button={'cn': (979, 223, 999, 258), 'en': (979, 223, 999, 258), 'jp': (979, 223, 999, 258), 'tw': (979, 223, 999, 258)}, file={'cn': './assets/cn/raid/RPG_RAID_EX.png', 'en': './assets/en/raid/RPG_RAID_EX.png', 'jp': './assets/jp/raid/RPG_RAID_EX.png', 'tw': './assets/tw/raid/RPG_RAID_EX.png'}) RPG_RAID_HARD = Button(area={'cn': (475, 108, 505, 138), 'en': (475, 108, 505, 138), 'jp': (475, 108, 505, 138), 'tw': (475, 108, 505, 138)}, color={'cn': (97, 59, 59), 'en': (97, 59, 59), 'jp': (97, 59, 59), 'tw': (97, 59, 59)}, button={'cn': (475, 108, 505, 138), 'en': (475, 108, 505, 138), 'jp': (475, 108, 505, 138), 'tw': (475, 108, 505, 138)}, file={'cn': './assets/cn/raid/RPG_RAID_HARD.png', 'en': './assets/en/raid/RPG_RAID_HARD.png', 'jp': './assets/jp/raid/RPG_RAID_HARD.png', 'tw': './assets/tw/raid/RPG_RAID_HARD.png'}) RPG_RAID_NORMAL = Button(area={'cn': (313, 259, 343, 289), 'en': (313, 259, 343, 289), 'jp': (313, 259, 343, 289), 'tw': (313, 259, 343, 289)}, color={'cn': (147, 61, 62), 'en': (147, 61, 62), 'jp': (147, 61, 62), 'tw': (147, 61, 62)}, button={'cn': (313, 259, 343, 289), 'en': (313, 259, 343, 289), 'jp': (313, 259, 343, 289), 'tw': (313, 259, 343, 289)}, file={'cn': './assets/cn/raid/RPG_RAID_NORMAL.png', 'en': './assets/en/raid/RPG_RAID_NORMAL.png', 'jp': './assets/jp/raid/RPG_RAID_NORMAL.png', 'tw': './assets/tw/raid/RPG_RAID_NORMAL.png'}) RPG_STATUS_POPUP = Button(area={'cn': (1120, 97, 1144, 121), 'en': (1120, 97, 1144, 121), 'jp': (1120, 97, 1144, 121), 'tw': (1120, 97, 1144, 121)}, color={'cn': (158, 165, 176), 'en': (158, 165, 176), 'jp': (158, 165, 176), 'tw': (158, 165, 176)}, button={'cn': (1120, 97, 1144, 121), 'en': (1120, 97, 1144, 121), 'jp': (1120, 97, 1144, 121), 'tw': (1120, 97, 1144, 121)}, file={'cn': './assets/cn/raid/RPG_STATUS_POPUP.png', 'en': './assets/en/raid/RPG_STATUS_POPUP.png', 'jp': './assets/jp/raid/RPG_STATUS_POPUP.png', 'tw': './assets/tw/raid/RPG_STATUS_POPUP.png'}) diff --git a/module/raid/raid.py b/module/raid/raid.py index 53dfab08a..52a529d8b 100644 --- a/module/raid/raid.py +++ b/module/raid/raid.py @@ -82,6 +82,8 @@ def raid_name_shorten(name): return "RPG" elif name == 'raid_20250116': return 'CHIENWU' + elif name == 'raid_20260212': + return 'CHANGWU' else: raise ScriptError(f'Unknown raid name: {name}') @@ -157,6 +159,11 @@ def raid_ocr(raid, mode): return Digit(button, letter=(247, 223, 222), threshold=128) else: return DigitCounter(button, letter=(0, 0, 0), threshold=128) + elif raid == 'CHANGWU': + if mode == 'ex': + return Digit(button, letter=(255, 239, 215), threshold=128) + else: + return DigitCounter(button, lang='cnocr', letter=(154, 148, 133), threshold=128) def pt_ocr(raid): @@ -186,6 +193,8 @@ def pt_ocr(raid): return HuanChangPtOcr(button, letter=(23, 20, 6), threshold=128) elif raid == 'CHIENWU': return Digit(button, letter=(255, 231, 231), threshold=128) + elif raid == 'CHANGWU': + return Digit(button, letter=(255, 239, 215), threshold=128) class Raid(MapOperation, RaidCombat, CampaignEvent): @@ -195,9 +204,7 @@ class Raid(MapOperation, RaidCombat, CampaignEvent): Game devs are too asshole to drop oil display for UI design https://github.com/LmeSzinc/AzurLaneAutoScript/issues/5214 """ - if self.config.Campaign_Event == 'raid_20240328': - return False - return True + return False def triggered_stop_condition(self, oil_check=False, pt_check=False, coin_check=False): """ diff --git a/module/raid/run.py b/module/raid/run.py index 923e4ff26..2149b9891 100644 --- a/module/raid/run.py +++ b/module/raid/run.py @@ -110,7 +110,7 @@ class RaidRun(Raid, CampaignEvent): self.disable_event_on_raid() # End for mode EX - if mode == 'ex': + if mode == 'ex' and not self.is_raid_rpg(): if not self.get_remain(mode): logger.info('Triggered stop condition: Zero ' 'raid tickets to do EX mode') diff --git a/module/ui/page.py b/module/ui/page.py index 0c1845494..9be0ce649 100644 --- a/module/ui/page.py +++ b/module/ui/page.py @@ -218,10 +218,16 @@ page_main.link(button=MAIN_GOTO_EVENT_LIST, destination=page_event_list) page_main_white.link(button=MAIN_GOTO_EVENT_LIST_WHITE, destination=page_event_list) # Raid +# before +# page_raid = Page(RAID_CHECK) +# page_raid.link(button=GOTO_MAIN, destination=page_main) +# page_main.link(button=MAIN_GOTO_RAID, destination=page_raid) +# page_main_white.link(button=MAIN_GOTO_RAID_WHITE, destination=page_raid) +# after 2026.02.12 page_raid = Page(RAID_CHECK) page_raid.link(button=GOTO_MAIN, destination=page_main) -page_main.link(button=MAIN_GOTO_RAID, destination=page_raid) -page_main_white.link(button=MAIN_GOTO_RAID_WHITE, destination=page_raid) +page_raid.link(button=BACK_ARROW, destination=page_campaign_menu) +page_campaign_menu.link(button=CAMPAIGN_MENU_GOTO_EVENT, destination=page_raid) # Dock page_dock = Page(DOCK_CHECK) diff --git a/module/ui/ui.py b/module/ui/ui.py index 49a61f0f1..92ec1a825 100644 --- a/module/ui/ui.py +++ b/module/ui/ui.py @@ -1,9 +1,7 @@ from module.base.button import Button from module.base.decorator import run_once from module.base.timer import Timer -from module.coalition.assets import NEONCITY_FLEET_PREPARATION, NEONCITY_PREPARATION_EXIT, DAL_DIFFICULTY_EXIT from module.combat.assets import GET_ITEMS_1, GET_ITEMS_2, GET_SHIP -from module.event_hospital.assets import HOSIPITAL_CLUE_CHECK, HOSPITAL_BATTLE_EXIT from module.exception import (GameNotRunningError, GamePageUnknownError, RequestHumanTakeover) from module.exercise.assets import EXERCISE_PREPARATION @@ -19,7 +17,7 @@ from module.ocr.ocr import Ocr from module.os_handler.assets import (AUTO_SEARCH_REWARD, EXCHANGE_CHECK, RESET_FLEET_PREPARATION, RESET_TICKET_POPUP) from module.raid.assets import * from module.ui.assets import * -from module.ui.page import Page, page_campaign, page_event, page_main, page_main_white, page_sp +from module.ui.page import Page, page_academy, page_campaign, page_event, page_main, page_main_white, page_sp from module.ui_white.assets import * @@ -39,6 +37,11 @@ class UI(InfoHandler): if self.appear(page_main.check_button, offset=(5, 5), interval=interval): return True return False + # shitty EN localization changing font width of ACADEMY title, + # check other buttons also + if self.config.SERVER == 'en' and page == page_academy: + if self.appear(ACADEMY_GOTO_MUNITIONS, offset=offset, interval=interval): + return True return self.appear(page.check_button, offset=offset, interval=interval) def is_in_main(self, offset=(30, 30), interval=0): @@ -551,8 +554,8 @@ class UI(InfoHandler): return True # RPG event (raid_20240328) - if self.appear_then_click(RPG_STATUS_POPUP, offset=(30, 30), interval=3): - return True + # if self.appear_then_click(RPG_STATUS_POPUP, offset=(30, 30), interval=3): + # return True # Hospital event (20250327) # if self.appear_then_click(HOSIPITAL_CLUE_CHECK, offset=(20, 20), interval=2): # return True @@ -560,10 +563,10 @@ class UI(InfoHandler): # return True # Neon city (coalition_20250626) # FASHION (coalition_20260122) reuse NEONCITY - if self.appear(NEONCITY_FLEET_PREPARATION, offset=(20, 20), interval=3): - logger.info(f'{NEONCITY_FLEET_PREPARATION} -> {NEONCITY_PREPARATION_EXIT}') - self.device.click(NEONCITY_PREPARATION_EXIT) - return True + # if self.appear(NEONCITY_FLEET_PREPARATION, offset=(20, 20), interval=3): + # logger.info(f'{NEONCITY_FLEET_PREPARATION} -> {NEONCITY_PREPARATION_EXIT}') + # self.device.click(NEONCITY_PREPARATION_EXIT) + # return True # DATE A LANE (coalition_20251120) # if self.appear_then_click(DAL_DIFFICULTY_EXIT, offset=(20, 20), interval=3): # return True diff --git a/module/war_archives/assets.py b/module/war_archives/assets.py index f64697574..b95de8d8c 100644 --- a/module/war_archives/assets.py +++ b/module/war_archives/assets.py @@ -30,7 +30,7 @@ TEMPLATE_NORTHERN_OVERTURE = Template(file={'cn': './assets/cn/war_archives/TEMP TEMPLATE_PARALLEL_SUPERIMPOSITION = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_PARALLEL_SUPERIMPOSITION.png', 'en': './assets/cn/war_archives/TEMPLATE_PARALLEL_SUPERIMPOSITION.png', 'jp': './assets/cn/war_archives/TEMPLATE_PARALLEL_SUPERIMPOSITION.png', 'tw': './assets/cn/war_archives/TEMPLATE_PARALLEL_SUPERIMPOSITION.png'}) TEMPLATE_PLEDGE_OF_THE_RADIANT_COURT = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_PLEDGE_OF_THE_RADIANT_COURT.png', 'en': './assets/cn/war_archives/TEMPLATE_PLEDGE_OF_THE_RADIANT_COURT.png', 'jp': './assets/cn/war_archives/TEMPLATE_PLEDGE_OF_THE_RADIANT_COURT.png', 'tw': './assets/cn/war_archives/TEMPLATE_PLEDGE_OF_THE_RADIANT_COURT.png'}) TEMPLATE_PRELUDE_UNDER_THE_MOON = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_PRELUDE_UNDER_THE_MOON.png', 'en': './assets/cn/war_archives/TEMPLATE_PRELUDE_UNDER_THE_MOON.png', 'jp': './assets/cn/war_archives/TEMPLATE_PRELUDE_UNDER_THE_MOON.png', 'tw': './assets/cn/war_archives/TEMPLATE_PRELUDE_UNDER_THE_MOON.png'}) -TEMPLATE_REVELATIONS_OF_DUST = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png', 'en': './assets/cn/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png', 'jp': './assets/cn/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png', 'tw': './assets/cn/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png'}) +TEMPLATE_REVELATIONS_OF_DUST = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png', 'en': './assets/en/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png', 'jp': './assets/cn/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png', 'tw': './assets/cn/war_archives/TEMPLATE_REVELATIONS_OF_DUST.png'}) TEMPLATE_RONDO_AT_RAINBOWS_END = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_RONDO_AT_RAINBOWS_END.png', 'en': './assets/en/war_archives/TEMPLATE_RONDO_AT_RAINBOWS_END.png', 'jp': './assets/cn/war_archives/TEMPLATE_RONDO_AT_RAINBOWS_END.png', 'tw': './assets/cn/war_archives/TEMPLATE_RONDO_AT_RAINBOWS_END.png'}) TEMPLATE_SCHERZO_OF_IRON_AND_BLOOD = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_SCHERZO_OF_IRON_AND_BLOOD.png', 'en': './assets/en/war_archives/TEMPLATE_SCHERZO_OF_IRON_AND_BLOOD.png', 'jp': './assets/cn/war_archives/TEMPLATE_SCHERZO_OF_IRON_AND_BLOOD.png', 'tw': './assets/cn/war_archives/TEMPLATE_SCHERZO_OF_IRON_AND_BLOOD.png'}) TEMPLATE_SKYBOUND_ORATORIO = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_SKYBOUND_ORATORIO.png', 'en': './assets/en/war_archives/TEMPLATE_SKYBOUND_ORATORIO.png', 'jp': './assets/cn/war_archives/TEMPLATE_SKYBOUND_ORATORIO.png', 'tw': './assets/cn/war_archives/TEMPLATE_SKYBOUND_ORATORIO.png'})