Merge branch 'master' of https://github.com/LmeSzinc/AzurLaneAutoScript
BIN
assets/cn/coalition/DAL_AREA1.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_AREA2.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_AREA3.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_AREA4.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_AREA5.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_AREA6.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_DIFFICULTY_EXIT.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
assets/cn/coalition/DAL_FLEET_PREPARATION.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
assets/cn/coalition/DAL_HARD.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_NORMAL.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/cn/coalition/DAL_PT_OCR.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/cn/coalition/DAL_SWITCH_MULTI.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
assets/cn/coalition/DAL_SWITCH_SINGLE.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
assets/jp/coalition/DAL_AREA1.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_AREA2.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_AREA3.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_AREA4.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_AREA5.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_AREA6.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_DIFFICULTY_EXIT.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
assets/jp/coalition/DAL_FLEET_PREPARATION.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
assets/jp/coalition/DAL_HARD.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_NORMAL.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/jp/coalition/DAL_PT_OCR.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/jp/coalition/DAL_SWITCH_MULTI.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
assets/jp/coalition/DAL_SWITCH_SINGLE.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
@ -269,3 +269,4 @@ To add a new event, add a new row in here, and run `python -m module.config.conf
|
||||
| 20251113 | event 20230914 cn | Effulgence Before Eclipse | 复刻须臾望月抄 | Effulgence Before Eclipse Rerun | 須臾望月抄(復刻) | - |
|
||||
| 20251120 | coalition 20251120 | DATE A LANE | DATE A LANE | DATE A LANE | DATE A LANE | - |
|
||||
| 20251121 | event 20220428 cn | Rondo at Rainbow's End | - | - | - | 復刻虹彩的終幕曲 |
|
||||
| 20251120 | coalition 20251120 | DATE A LANE | DATE A LANE | DATE A LANE | DATE A LANE | - |
|
||||
|
||||
@ -11,10 +11,10 @@ MAP.map_data = """
|
||||
-- ++ ++ ++ -- MB MB MB
|
||||
ME -- -- MS -- Me -- ++
|
||||
-- ME ++ -- __ -- ME ++
|
||||
-- -- -- -- ME ME -- --
|
||||
-- -- -- Me ME ME -- --
|
||||
++ SP -- ME -- ++ -- --
|
||||
++ SP -- -- Me -- MS ME
|
||||
++ ++ -- -- ME -- Me --
|
||||
++ ++ Me -- ME -- Me --
|
||||
"""
|
||||
MAP.weight_data = """
|
||||
50 50 50 50 50 50 50 50
|
||||
|
||||
@ -13,8 +13,8 @@ MAP.map_data = """
|
||||
-- -- -- -- MS -- MS ++
|
||||
-- -- Me -- -- -- -- ME
|
||||
ME __ -- Me -- ++ -- --
|
||||
Me MS ME -- MS -- -- ME
|
||||
++ ++ -- -- ++ ME -- --
|
||||
Me MS ME -- MS -- Me ME
|
||||
++ ++ -- Me ++ ME -- --
|
||||
++ ++ ME -- ME -- SP SP
|
||||
"""
|
||||
MAP.map_data_loop = """
|
||||
|
||||
@ -11,10 +11,10 @@ MAP.map_data = """
|
||||
-- ++ ++ ++ -- MB MB MB
|
||||
ME -- -- MS -- Me -- ++
|
||||
-- ME ++ -- __ -- ME ++
|
||||
-- -- -- -- ME ME -- --
|
||||
-- -- -- Me ME ME -- --
|
||||
++ SP -- ME -- ++ -- --
|
||||
++ SP -- -- Me -- MS ME
|
||||
++ ++ -- -- ME -- Me --
|
||||
++ ++ Me -- ME -- Me --
|
||||
"""
|
||||
MAP.weight_data = """
|
||||
50 50 50 50 50 50 50 50
|
||||
|
||||
@ -13,8 +13,8 @@ MAP.map_data = """
|
||||
-- -- -- -- MS -- MS ++
|
||||
-- -- Me -- -- -- -- ME
|
||||
ME __ -- Me -- ++ -- --
|
||||
Me MS ME -- MS -- -- ME
|
||||
++ ++ -- -- ++ ME -- --
|
||||
Me MS ME -- MS -- Me ME
|
||||
++ ++ -- Me ++ ME -- --
|
||||
++ ++ ME -- ME -- SP SP
|
||||
"""
|
||||
MAP.map_data_loop = """
|
||||
|
||||
@ -11,10 +11,10 @@ MAP.map_data = """
|
||||
-- ++ ++ ++ -- MB MB MB
|
||||
ME -- -- MS -- Me -- ++
|
||||
-- ME ++ -- __ -- ME ++
|
||||
-- -- -- -- ME ME -- --
|
||||
-- -- -- Me ME ME -- --
|
||||
++ SP -- ME -- ++ -- --
|
||||
++ SP -- -- Me -- MS ME
|
||||
++ ++ -- -- ME -- Me --
|
||||
++ ++ Me -- ME -- Me --
|
||||
"""
|
||||
MAP.weight_data = """
|
||||
50 50 50 50 50 50 50 50
|
||||
|
||||
@ -13,8 +13,8 @@ MAP.map_data = """
|
||||
-- -- -- -- MS -- MS ++
|
||||
-- -- Me -- -- -- -- ME
|
||||
ME __ -- Me -- ++ -- --
|
||||
Me MS ME -- MS -- -- ME
|
||||
++ ++ -- -- ++ ME -- --
|
||||
Me MS ME -- MS -- Me ME
|
||||
++ ++ -- Me ++ ME -- --
|
||||
++ ++ ME -- ME -- SP SP
|
||||
"""
|
||||
MAP.map_data_loop = """
|
||||
|
||||
@ -11,10 +11,10 @@ MAP.map_data = """
|
||||
-- ++ ++ ++ -- MB MB MB
|
||||
ME -- -- MS -- Me -- ++
|
||||
-- ME ++ -- __ -- ME ++
|
||||
-- -- -- -- ME ME -- --
|
||||
-- -- -- Me ME ME -- --
|
||||
++ SP -- ME -- ++ -- --
|
||||
++ SP -- -- Me -- MS ME
|
||||
++ ++ -- -- ME -- Me --
|
||||
++ ++ Me -- ME -- Me --
|
||||
"""
|
||||
MAP.weight_data = """
|
||||
50 50 50 50 50 50 50 50
|
||||
|
||||
@ -13,8 +13,8 @@ MAP.map_data = """
|
||||
-- -- -- -- MS -- MS ++
|
||||
-- -- Me -- -- -- -- ME
|
||||
ME __ -- Me -- ++ -- --
|
||||
Me MS ME -- MS -- -- ME
|
||||
++ ++ -- -- ++ ME -- --
|
||||
Me MS ME -- MS -- Me ME
|
||||
++ ++ -- Me ++ ME -- --
|
||||
++ ++ ME -- ME -- SP SP
|
||||
"""
|
||||
MAP.map_data_loop = """
|
||||
|
||||
@ -465,6 +465,56 @@
|
||||
"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": "area1-normal",
|
||||
"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,
|
||||
"Fleet1Onsen": false,
|
||||
"Fleet2Value": 119,
|
||||
"Fleet2Record": "2020-01-01 00:00:00",
|
||||
"Fleet2Control": "prevent_yellow_face",
|
||||
"Fleet2Recover": "not_in_dormitory",
|
||||
"Fleet2Oath": false,
|
||||
"Fleet2Onsen": false
|
||||
},
|
||||
"Storage": {
|
||||
"Storage": {}
|
||||
}
|
||||
},
|
||||
"Event": {
|
||||
"Scheduler": {
|
||||
"Enable": false,
|
||||
@ -706,56 +756,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,
|
||||
"Fleet1Onsen": false,
|
||||
"Fleet2Value": 119,
|
||||
"Fleet2Record": "2020-01-01 00:00:00",
|
||||
"Fleet2Control": "prevent_yellow_face",
|
||||
"Fleet2Recover": "not_in_dormitory",
|
||||
"Fleet2Oath": false,
|
||||
"Fleet2Onsen": false
|
||||
},
|
||||
"Storage": {
|
||||
"Storage": {}
|
||||
}
|
||||
},
|
||||
"MaritimeEscort": {
|
||||
"Scheduler": {
|
||||
"Enable": false,
|
||||
@ -1313,7 +1313,7 @@
|
||||
"AmbushEvade": true
|
||||
},
|
||||
"Coalition": {
|
||||
"Mode": "sp",
|
||||
"Mode": "area1-normal",
|
||||
"Fleet": "single"
|
||||
},
|
||||
"StopCondition": {
|
||||
|
||||
@ -21,6 +21,19 @@ COALITION_ACADEMY_GOTO_CAMPAIGN = Button(area={'cn': (1123, 615, 1159, 651), 'en
|
||||
COALITION_ACADEMY_HOME = Button(area={'cn': (1221, 48, 1244, 73), 'en': (1221, 48, 1244, 73), 'jp': (1221, 48, 1244, 73), 'tw': (1221, 48, 1244, 73)}, color={'cn': (182, 197, 203), 'en': (182, 197, 203), 'jp': (182, 197, 203), 'tw': (182, 197, 203)}, button={'cn': (1221, 48, 1244, 73), 'en': (1221, 48, 1244, 73), 'jp': (1221, 48, 1244, 73), 'tw': (1221, 48, 1244, 73)}, file={'cn': './assets/cn/coalition/COALITION_ACADEMY_HOME.png', 'en': './assets/en/coalition/COALITION_ACADEMY_HOME.png', 'jp': './assets/jp/coalition/COALITION_ACADEMY_HOME.png', 'tw': './assets/tw/coalition/COALITION_ACADEMY_HOME.png'})
|
||||
COALITION_ACADEMY_MAIN_CHECK = Button(area={'cn': (132, 57, 163, 92), 'en': (164, 57, 221, 78), 'jp': (112, 44, 145, 86), 'tw': (346, 48, 427, 89)}, color={'cn': (143, 202, 205), 'en': (205, 189, 166), 'jp': (142, 155, 153), 'tw': (178, 145, 124)}, button={'cn': (132, 57, 163, 92), 'en': (164, 57, 221, 78), 'jp': (112, 44, 145, 86), 'tw': (346, 48, 427, 89)}, file={'cn': './assets/cn/coalition/COALITION_ACADEMY_MAIN_CHECK.png', 'en': './assets/en/coalition/COALITION_ACADEMY_MAIN_CHECK.png', 'jp': './assets/jp/coalition/COALITION_ACADEMY_MAIN_CHECK.png', 'tw': './assets/tw/coalition/COALITION_ACADEMY_MAIN_CHECK.png'})
|
||||
COALITION_REWARD_CONFIRM = Button(area={'cn': (814, 611, 877, 637), 'en': (788, 612, 902, 634), 'jp': (814, 611, 876, 637), 'tw': (814, 611, 877, 637)}, color={'cn': (155, 186, 227), 'en': (162, 189, 226), 'jp': (143, 176, 219), 'tw': (150, 181, 221)}, button={'cn': (814, 611, 877, 637), 'en': (788, 612, 902, 634), 'jp': (814, 611, 876, 637), 'tw': (814, 611, 877, 637)}, file={'cn': './assets/cn/coalition/COALITION_REWARD_CONFIRM.png', 'en': './assets/en/coalition/COALITION_REWARD_CONFIRM.png', 'jp': './assets/jp/coalition/COALITION_REWARD_CONFIRM.png', 'tw': './assets/tw/coalition/COALITION_REWARD_CONFIRM.png'})
|
||||
DAL_AREA1 = Button(area={'cn': (167, 494, 227, 554), 'en': (167, 494, 227, 554), 'jp': (167, 494, 227, 554), 'tw': (167, 494, 227, 554)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (167, 494, 227, 554), 'en': (167, 494, 227, 554), 'jp': (167, 494, 227, 554), 'tw': (167, 494, 227, 554)}, file={'cn': './assets/cn/coalition/DAL_AREA1.png', 'en': './assets/cn/coalition/DAL_AREA1.png', 'jp': './assets/jp/coalition/DAL_AREA1.png', 'tw': './assets/cn/coalition/DAL_AREA1.png'})
|
||||
DAL_AREA2 = Button(area={'cn': (407, 378, 467, 438), 'en': (407, 378, 467, 438), 'jp': (407, 378, 467, 438), 'tw': (407, 378, 467, 438)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (407, 378, 467, 438), 'en': (407, 378, 467, 438), 'jp': (407, 378, 467, 438), 'tw': (407, 378, 467, 438)}, file={'cn': './assets/cn/coalition/DAL_AREA2.png', 'en': './assets/cn/coalition/DAL_AREA2.png', 'jp': './assets/jp/coalition/DAL_AREA2.png', 'tw': './assets/cn/coalition/DAL_AREA2.png'})
|
||||
DAL_AREA3 = Button(area={'cn': (787, 488, 847, 548), 'en': (787, 488, 847, 548), 'jp': (787, 488, 847, 548), 'tw': (787, 488, 847, 548)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (787, 488, 847, 548), 'en': (787, 488, 847, 548), 'jp': (787, 488, 847, 548), 'tw': (787, 488, 847, 548)}, file={'cn': './assets/cn/coalition/DAL_AREA3.png', 'en': './assets/cn/coalition/DAL_AREA3.png', 'jp': './assets/jp/coalition/DAL_AREA3.png', 'tw': './assets/cn/coalition/DAL_AREA3.png'})
|
||||
DAL_AREA4 = Button(area={'cn': (904, 245, 964, 305), 'en': (904, 245, 964, 305), 'jp': (904, 245, 964, 305), 'tw': (904, 245, 964, 305)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (904, 245, 964, 305), 'en': (904, 245, 964, 305), 'jp': (904, 245, 964, 305), 'tw': (904, 245, 964, 305)}, file={'cn': './assets/cn/coalition/DAL_AREA4.png', 'en': './assets/cn/coalition/DAL_AREA4.png', 'jp': './assets/jp/coalition/DAL_AREA4.png', 'tw': './assets/cn/coalition/DAL_AREA4.png'})
|
||||
DAL_AREA5 = Button(area={'cn': (552, 130, 612, 190), 'en': (552, 130, 612, 190), 'jp': (552, 130, 612, 190), 'tw': (552, 130, 612, 190)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (552, 130, 612, 190), 'en': (552, 130, 612, 190), 'jp': (552, 130, 612, 190), 'tw': (552, 130, 612, 190)}, file={'cn': './assets/cn/coalition/DAL_AREA5.png', 'en': './assets/cn/coalition/DAL_AREA5.png', 'jp': './assets/jp/coalition/DAL_AREA5.png', 'tw': './assets/cn/coalition/DAL_AREA5.png'})
|
||||
DAL_AREA6 = Button(area={'cn': (656, 303, 716, 363), 'en': (656, 303, 716, 363), 'jp': (656, 303, 716, 363), 'tw': (656, 303, 716, 363)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (656, 303, 716, 363), 'en': (656, 303, 716, 363), 'jp': (656, 303, 716, 363), 'tw': (656, 303, 716, 363)}, file={'cn': './assets/cn/coalition/DAL_AREA6.png', 'en': './assets/cn/coalition/DAL_AREA6.png', 'jp': './assets/jp/coalition/DAL_AREA6.png', 'tw': './assets/cn/coalition/DAL_AREA6.png'})
|
||||
DAL_DIFFICULTY_EXIT = Button(area={'cn': (1208, 70, 1244, 107), 'en': (1208, 70, 1244, 107), 'jp': (1208, 70, 1244, 107), 'tw': (1208, 70, 1244, 107)}, color={'cn': (122, 158, 172), 'en': (122, 158, 172), 'jp': (122, 158, 172), 'tw': (122, 158, 172)}, button={'cn': (1208, 70, 1244, 107), 'en': (1208, 70, 1244, 107), 'jp': (1208, 70, 1244, 107), 'tw': (1208, 70, 1244, 107)}, file={'cn': './assets/cn/coalition/DAL_DIFFICULTY_EXIT.png', 'en': './assets/cn/coalition/DAL_DIFFICULTY_EXIT.png', 'jp': './assets/jp/coalition/DAL_DIFFICULTY_EXIT.png', 'tw': './assets/cn/coalition/DAL_DIFFICULTY_EXIT.png'})
|
||||
DAL_FLEET_PREPARATION = Button(area={'cn': (1016, 529, 1100, 550), 'en': (1016, 529, 1100, 550), 'jp': (1004, 527, 1107, 554), 'tw': (1016, 529, 1100, 550)}, color={'cn': (135, 215, 236), 'en': (135, 215, 236), 'jp': (85, 198, 228), 'tw': (135, 215, 236)}, button={'cn': (1016, 529, 1100, 550), 'en': (1016, 529, 1100, 550), 'jp': (1004, 527, 1107, 554), 'tw': (1016, 529, 1100, 550)}, file={'cn': './assets/cn/coalition/DAL_FLEET_PREPARATION.png', 'en': './assets/cn/coalition/DAL_FLEET_PREPARATION.png', 'jp': './assets/jp/coalition/DAL_FLEET_PREPARATION.png', 'tw': './assets/cn/coalition/DAL_FLEET_PREPARATION.png'})
|
||||
DAL_HARD = Button(area={'cn': (893, 582, 1109, 611), 'en': (893, 582, 1109, 611), 'jp': (893, 582, 1109, 611), 'tw': (893, 582, 1109, 611)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (893, 582, 1109, 611), 'en': (893, 582, 1109, 611), 'jp': (893, 582, 1109, 611), 'tw': (893, 582, 1109, 611)}, file={'cn': './assets/cn/coalition/DAL_HARD.png', 'en': './assets/cn/coalition/DAL_HARD.png', 'jp': './assets/jp/coalition/DAL_HARD.png', 'tw': './assets/cn/coalition/DAL_HARD.png'})
|
||||
DAL_NORMAL = Button(area={'cn': (600, 583, 818, 610), 'en': (600, 583, 818, 610), 'jp': (600, 583, 818, 610), 'tw': (600, 583, 818, 610)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (600, 583, 818, 610), 'en': (600, 583, 818, 610), 'jp': (600, 583, 818, 610), 'tw': (600, 583, 818, 610)}, file={'cn': './assets/cn/coalition/DAL_NORMAL.png', 'en': './assets/cn/coalition/DAL_NORMAL.png', 'jp': './assets/jp/coalition/DAL_NORMAL.png', 'tw': './assets/cn/coalition/DAL_NORMAL.png'})
|
||||
DAL_PT_OCR = Button(area={'cn': (1190, 130, 1274, 161), 'en': (1190, 130, 1274, 161), 'jp': (1190, 130, 1274, 161), 'tw': (1190, 130, 1274, 161)}, color={'cn': (79, 86, 72), 'en': (79, 86, 72), 'jp': (79, 86, 72), 'tw': (79, 86, 72)}, button={'cn': (1190, 130, 1274, 161), 'en': (1190, 130, 1274, 161), 'jp': (1190, 130, 1274, 161), 'tw': (1190, 130, 1274, 161)}, file={'cn': './assets/cn/coalition/DAL_PT_OCR.png', 'en': './assets/cn/coalition/DAL_PT_OCR.png', 'jp': './assets/jp/coalition/DAL_PT_OCR.png', 'tw': './assets/cn/coalition/DAL_PT_OCR.png'})
|
||||
DAL_SWITCH_MULTI = Button(area={'cn': (1060, 473, 1204, 500), 'en': (1060, 473, 1204, 500), 'jp': (1081, 475, 1187, 499), 'tw': (1060, 473, 1204, 500)}, color={'cn': (225, 225, 225), 'en': (225, 225, 225), 'jp': (207, 207, 207), 'tw': (225, 225, 225)}, button={'cn': (1060, 473, 1204, 500), 'en': (1060, 473, 1204, 500), 'jp': (1081, 475, 1187, 499), 'tw': (1060, 473, 1204, 500)}, file={'cn': './assets/cn/coalition/DAL_SWITCH_MULTI.png', 'en': './assets/cn/coalition/DAL_SWITCH_MULTI.png', 'jp': './assets/jp/coalition/DAL_SWITCH_MULTI.png', 'tw': './assets/cn/coalition/DAL_SWITCH_MULTI.png'})
|
||||
DAL_SWITCH_SINGLE = Button(area={'cn': (910, 473, 1055, 500), 'en': (910, 473, 1055, 500), 'jp': (917, 474, 1035, 499), 'tw': (910, 473, 1055, 500)}, color={'cn': (223, 223, 223), 'en': (223, 223, 223), 'jp': (215, 215, 215), 'tw': (223, 223, 223)}, button={'cn': (910, 473, 1055, 500), 'en': (910, 473, 1055, 500), 'jp': (917, 474, 1035, 499), 'tw': (910, 473, 1055, 500)}, file={'cn': './assets/cn/coalition/DAL_SWITCH_SINGLE.png', 'en': './assets/cn/coalition/DAL_SWITCH_SINGLE.png', 'jp': './assets/jp/coalition/DAL_SWITCH_SINGLE.png', 'tw': './assets/cn/coalition/DAL_SWITCH_SINGLE.png'})
|
||||
EMPTY_FLAGSHIP = Button(area={'cn': (247, 237, 277, 267), 'en': (247, 237, 277, 267), 'jp': (247, 237, 277, 267), 'tw': (247, 237, 277, 267)}, color={'cn': (76, 64, 56), 'en': (76, 64, 56), 'jp': (76, 64, 56), 'tw': (76, 64, 56)}, button={'cn': (247, 237, 277, 267), 'en': (247, 237, 277, 267), 'jp': (247, 237, 277, 267), 'tw': (247, 237, 277, 267)}, file={'cn': './assets/cn/coalition/EMPTY_FLAGSHIP.png', 'en': './assets/cn/coalition/EMPTY_FLAGSHIP.png', 'jp': './assets/cn/coalition/EMPTY_FLAGSHIP.png', 'tw': './assets/cn/coalition/EMPTY_FLAGSHIP.png'})
|
||||
EMPTY_VANGUARD = Button(area={'cn': (515, 237, 545, 267), 'en': (515, 237, 545, 267), 'jp': (515, 237, 545, 267), 'tw': (515, 237, 545, 267)}, color={'cn': (52, 52, 53), 'en': (52, 52, 53), 'jp': (52, 52, 53), 'tw': (52, 52, 53)}, button={'cn': (515, 237, 545, 267), 'en': (515, 237, 545, 267), 'jp': (515, 237, 545, 267), 'tw': (515, 237, 545, 267)}, file={'cn': './assets/cn/coalition/EMPTY_VANGUARD.png', 'en': './assets/cn/coalition/EMPTY_VANGUARD.png', 'jp': './assets/cn/coalition/EMPTY_VANGUARD.png', 'tw': './assets/cn/coalition/EMPTY_VANGUARD.png'})
|
||||
FLEET_NOT_PREPARED = Button(area={'cn': (1008, 310, 1110, 334), 'en': (1008, 310, 1110, 334), 'jp': (1008, 310, 1110, 334), 'tw': (1008, 310, 1110, 334)}, color={'cn': (106, 106, 112), 'en': (106, 106, 112), 'jp': (106, 106, 112), 'tw': (108, 107, 112)}, button={'cn': (1008, 310, 1110, 334), 'en': (1008, 310, 1110, 334), 'jp': (1008, 310, 1110, 334), 'tw': (1008, 310, 1110, 334)}, file={'cn': './assets/cn/coalition/FLEET_NOT_PREPARED.png', 'en': './assets/cn/coalition/FLEET_NOT_PREPARED.png', 'jp': './assets/cn/coalition/FLEET_NOT_PREPARED.png', 'tw': './assets/tw/coalition/FLEET_NOT_PREPARED.png'})
|
||||
|
||||
@ -26,6 +26,20 @@ class AcademyPtOcr(Digit):
|
||||
pass
|
||||
return super().after_process(result)
|
||||
|
||||
class DALPtOcr(Digit):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.alphabet += 'X'
|
||||
|
||||
def after_process(self, result):
|
||||
logger.attr(self.name, result)
|
||||
try:
|
||||
# X9100
|
||||
result = result.rsplit('X')[1]
|
||||
except IndexError:
|
||||
pass
|
||||
return super().after_process(result)
|
||||
|
||||
|
||||
class Coalition(CoalitionCombat, CampaignEvent):
|
||||
run_count: int
|
||||
@ -44,6 +58,8 @@ class Coalition(CoalitionCombat, CampaignEvent):
|
||||
elif event == 'coalition_20250626':
|
||||
# use generic ocr model
|
||||
ocr = Digit(NEONCITY_PT_OCR, name='OCR_PT', lang='cnocr', letter=(208, 208, 208), threshold=128)
|
||||
elif event == 'coalition_20251120':
|
||||
ocr = DALPtOcr(DAL_PT_OCR, name='OCR_PT' ,letter=(255, 213, 69), threshold=128)
|
||||
else:
|
||||
logger.error(f'ocr object is not defined in event {event}')
|
||||
raise ScriptError
|
||||
@ -132,11 +148,11 @@ class Coalition(CoalitionCombat, CampaignEvent):
|
||||
self.coalition_map_exit(event)
|
||||
raise
|
||||
|
||||
self.enter_map(event=event, stage=stage, mode=fleet)
|
||||
oil_check_boolean=True if self.config.SERVER not in ['tw'] else False
|
||||
if self.triggered_stop_condition(oil_check=oil_check_boolean):
|
||||
if self.triggered_stop_condition(oil_check=True):
|
||||
self.coalition_map_exit(event)
|
||||
raise ScriptEnd
|
||||
|
||||
self.enter_map(event=event, stage=stage, mode=fleet)
|
||||
self.coalition_combat()
|
||||
|
||||
@staticmethod
|
||||
@ -172,10 +188,10 @@ class Coalition(CoalitionCombat, CampaignEvent):
|
||||
logger.info(f'Count: {self.run_count}')
|
||||
|
||||
# UI switches
|
||||
if self.config.SERVER in ['tw']:
|
||||
self.ui_goto(page_campaign_menu)
|
||||
if self.triggered_stop_condition(oil_check=True):
|
||||
break
|
||||
# if self.config.SERVER in ['tw']:
|
||||
# self.ui_goto(page_campaign_menu)
|
||||
# if self.triggered_stop_condition(oil_check=True):
|
||||
# break
|
||||
self.device.stuck_record_clear()
|
||||
self.device.click_record_clear()
|
||||
self.ui_goto_coalition()
|
||||
|
||||
@ -24,6 +24,9 @@ class CoalitionUI(Combat):
|
||||
# The same as raid
|
||||
return self.ui_page_appear(page_coalition, offset=(20, 20))
|
||||
|
||||
def in_coalition_20251120_difficulty_selection(self):
|
||||
return self.appear(DAL_DIFFICULTY_EXIT, offset=(20, 20))
|
||||
|
||||
def coalition_ensure_mode(self, event, mode):
|
||||
"""
|
||||
Args:
|
||||
@ -46,6 +49,9 @@ class CoalitionUI(Combat):
|
||||
mode_switch = NeoncitySwitch('CoalitionMode', offset=(20, 20))
|
||||
mode_switch.add_state('story', NEONCITY_MODE_STORY)
|
||||
mode_switch.add_state('battle', NEONCITY_MODE_BATTLE)
|
||||
elif event == 'coalition_20251120':
|
||||
logger.info('Coalition event coalition_20251120 has no mode switch')
|
||||
return
|
||||
else:
|
||||
logger.error(f'MODE_SWITCH is not defined in event {event}')
|
||||
raise ScriptError
|
||||
@ -76,6 +82,9 @@ class CoalitionUI(Combat):
|
||||
elif event == 'coalition_20250626':
|
||||
fleet_switch.add_state('single', NEONCITY_SWITCH_SINGLE)
|
||||
fleet_switch.add_state('multi', NEONCITY_SWITCH_MULTI)
|
||||
elif event == 'coalition_20251120':
|
||||
fleet_switch.add_state('single', DAL_SWITCH_SINGLE)
|
||||
fleet_switch.add_state('multi', DAL_SWITCH_MULTI)
|
||||
else:
|
||||
logger.error(f'FLEET_SWITCH is not defined in event {event}')
|
||||
raise ScriptError
|
||||
@ -115,6 +124,49 @@ class CoalitionUI(Combat):
|
||||
('coalition_20250626', 'hard'): NEONCITY_HARD,
|
||||
('coalition_20250626', 'sp'): NEONCITY_SP,
|
||||
('coalition_20250626', 'ex'): NEONCITY_EX,
|
||||
|
||||
('coalition_20251120', 'area1-normal'): DAL_AREA1,
|
||||
('coalition_20251120', 'area2-normal'): DAL_AREA2,
|
||||
('coalition_20251120', 'area3-normal'): DAL_AREA3,
|
||||
('coalition_20251120', 'area4-normal'): DAL_AREA4,
|
||||
('coalition_20251120', 'area5-normal'): DAL_AREA5,
|
||||
('coalition_20251120', 'area6-normal'): DAL_AREA6,
|
||||
('coalition_20251120', 'area1-hard'): DAL_AREA1,
|
||||
('coalition_20251120', 'area2-hard'): DAL_AREA2,
|
||||
('coalition_20251120', 'area3-hard'): DAL_AREA3,
|
||||
('coalition_20251120', 'area4-hard'): DAL_AREA4,
|
||||
('coalition_20251120', 'area5-hard'): DAL_AREA5,
|
||||
('coalition_20251120', 'area6-hard'): DAL_AREA6,
|
||||
}
|
||||
stage = stage.lower()
|
||||
try:
|
||||
return dic[(event, stage)]
|
||||
except KeyError as e:
|
||||
logger.error(e)
|
||||
raise CampaignNameError
|
||||
|
||||
@staticmethod
|
||||
def coalition_20251120_get_entrance_difficulty(event, stage):
|
||||
"""
|
||||
Args:
|
||||
stage (str): Stage name.
|
||||
|
||||
Returns:
|
||||
Button: Entrance difficulty button
|
||||
"""
|
||||
dic = {
|
||||
('coalition_20251120', 'area1-normal'): DAL_NORMAL,
|
||||
('coalition_20251120', 'area2-normal'): DAL_NORMAL,
|
||||
('coalition_20251120', 'area3-normal'): DAL_NORMAL,
|
||||
('coalition_20251120', 'area4-normal'): DAL_NORMAL,
|
||||
('coalition_20251120', 'area5-normal'): DAL_NORMAL,
|
||||
('coalition_20251120', 'area6-normal'): DAL_NORMAL,
|
||||
('coalition_20251120', 'area1-hard'): DAL_HARD,
|
||||
('coalition_20251120', 'area2-hard'): DAL_HARD,
|
||||
('coalition_20251120', 'area3-hard'): DAL_HARD,
|
||||
('coalition_20251120', 'area4-hard'): DAL_HARD,
|
||||
('coalition_20251120', 'area5-hard'): DAL_HARD,
|
||||
('coalition_20251120', 'area6-hard'): DAL_HARD,
|
||||
}
|
||||
stage = stage.lower()
|
||||
try:
|
||||
@ -151,6 +203,19 @@ class CoalitionUI(Combat):
|
||||
('coalition_20250626', 'hard'): 3,
|
||||
('coalition_20250626', 'sp'): 4,
|
||||
('coalition_20250626', 'ex'): 5,
|
||||
|
||||
('coalition_20251120', 'area1-normal'): 2,
|
||||
('coalition_20251120', 'area2-normal'): 3,
|
||||
('coalition_20251120', 'area3-normal'): 3,
|
||||
('coalition_20251120', 'area4-normal'): 3,
|
||||
('coalition_20251120', 'area5-normal'): 3,
|
||||
('coalition_20251120', 'area6-normal'): 4,
|
||||
('coalition_20251120', 'area1-hard'): 2,
|
||||
('coalition_20251120', 'area2-hard'): 3,
|
||||
('coalition_20251120', 'area3-hard'): 3,
|
||||
('coalition_20251120', 'area4-hard'): 3,
|
||||
('coalition_20251120', 'area5-hard'): 3,
|
||||
('coalition_20251120', 'area6-hard'): 4,
|
||||
}
|
||||
stage = stage.lower()
|
||||
try:
|
||||
@ -174,6 +239,8 @@ class CoalitionUI(Combat):
|
||||
return ACEDEMY_FLEET_PREPARATION
|
||||
elif event == 'coalition_20250626':
|
||||
return NEONCITY_FLEET_PREPARATION
|
||||
elif event == 'coalition_20251120':
|
||||
return DAL_FLEET_PREPARATION
|
||||
else:
|
||||
logger.error(f'FLEET_PREPARATION is not defined in event {event}')
|
||||
raise ScriptError
|
||||
@ -226,6 +293,9 @@ class CoalitionUI(Combat):
|
||||
logger.info(f'{fleet_preparation} -> {NEONCITY_PREPARATION_EXIT}')
|
||||
self.device.click(NEONCITY_PREPARATION_EXIT)
|
||||
continue
|
||||
if self.appear_then_click(DAL_DIFFICULTY_EXIT, offset=(20, 20), interval=3):
|
||||
logger.info(f'{DAL_DIFFICULTY_EXIT} -> {DAL_DIFFICULTY_EXIT}')
|
||||
continue
|
||||
|
||||
def enter_map(self, event, stage, mode, skip_first_screenshot=True):
|
||||
"""
|
||||
@ -240,10 +310,16 @@ class CoalitionUI(Combat):
|
||||
out: BATTLE_PREPARATION
|
||||
"""
|
||||
button = self.coalition_get_entrance(event, stage)
|
||||
if event in ['coalition_20251120']:
|
||||
button_difficulty = self.coalition_20251120_get_entrance_difficulty(event, stage)
|
||||
else:
|
||||
button_difficulty = None
|
||||
fleet_preparation = self.coalition_get_fleet_preparation(event)
|
||||
campaign_timer = Timer(5)
|
||||
campaign_difficulty_timer = Timer(5)
|
||||
fleet_timer = Timer(5)
|
||||
campaign_click = 0
|
||||
campaign_difficulty_click = 0
|
||||
fleet_click = 0
|
||||
while 1:
|
||||
if skip_first_screenshot:
|
||||
@ -256,6 +332,10 @@ class CoalitionUI(Combat):
|
||||
logger.critical(f"Failed to enter {button}, too many click on {button}")
|
||||
logger.critical("Possible reason #1: You haven't cleared previous stage to unlock the stage.")
|
||||
raise RequestHumanTakeover
|
||||
if campaign_difficulty_click > 5:
|
||||
logger.critical(f"Failed to enter {button_difficulty}, too many click on {button_difficulty}")
|
||||
logger.critical("Possible reason #1: The difficulty asset is not correct.")
|
||||
raise RequestHumanTakeover
|
||||
if fleet_click > 5:
|
||||
logger.critical(f"Failed to enter {button}, too many click on FLEET_PREPARATION")
|
||||
logger.critical("Possible reason #1: "
|
||||
@ -288,6 +368,12 @@ class CoalitionUI(Combat):
|
||||
campaign_click += 1
|
||||
campaign_timer.reset()
|
||||
continue
|
||||
if event in ['coalition_20251120']:
|
||||
if campaign_difficulty_timer.reached() and self.in_coalition_20251120_difficulty_selection() and button_difficulty:
|
||||
self.device.click(button_difficulty)
|
||||
campaign_difficulty_click += 1
|
||||
campaign_difficulty_timer.reset()
|
||||
continue
|
||||
|
||||
# Fleet preparation
|
||||
if fleet_timer.reached() and self.appear(fleet_preparation, offset=(20, 50)):
|
||||
|
||||
@ -2290,6 +2290,272 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"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_20250626",
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_cn": [
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_en": [
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_jp": [
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_tw": [
|
||||
"coalition_20250626"
|
||||
],
|
||||
"option_bold": [
|
||||
"coalition_20250626",
|
||||
"coalition_20251120"
|
||||
]
|
||||
},
|
||||
"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": "area1-normal",
|
||||
"option": [
|
||||
"area1-normal",
|
||||
"area1-hard",
|
||||
"area2-normal",
|
||||
"area2-hard",
|
||||
"area3-normal",
|
||||
"area3-hard",
|
||||
"area4-normal",
|
||||
"area4-hard",
|
||||
"area5-normal",
|
||||
"area5-hard",
|
||||
"area6-normal",
|
||||
"area6-hard"
|
||||
]
|
||||
},
|
||||
"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",
|
||||
"non_stop_clear_all",
|
||||
"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
|
||||
},
|
||||
"Fleet1Onsen": {
|
||||
"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"
|
||||
},
|
||||
"Fleet2Onsen": {
|
||||
"type": "checkbox",
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
}
|
||||
},
|
||||
"Storage": {
|
||||
"Storage": {
|
||||
"type": "storage",
|
||||
"value": {},
|
||||
"valuetype": "ignore",
|
||||
"display": "disabled"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Event": {
|
||||
"Scheduler": {
|
||||
"Enable": {
|
||||
@ -3534,264 +3800,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_20250626",
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_cn": [
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_en": [
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_jp": [
|
||||
"coalition_20251120"
|
||||
],
|
||||
"option_tw": [
|
||||
"coalition_20250626"
|
||||
],
|
||||
"option_bold": [
|
||||
"coalition_20250626",
|
||||
"coalition_20251120"
|
||||
]
|
||||
},
|
||||
"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",
|
||||
"ex"
|
||||
]
|
||||
},
|
||||
"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",
|
||||
"non_stop_clear_all",
|
||||
"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
|
||||
},
|
||||
"Fleet1Onsen": {
|
||||
"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"
|
||||
},
|
||||
"Fleet2Onsen": {
|
||||
"type": "checkbox",
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
}
|
||||
},
|
||||
"Storage": {
|
||||
"Storage": {
|
||||
"type": "storage",
|
||||
"value": {},
|
||||
"valuetype": "ignore",
|
||||
"display": "disabled"
|
||||
}
|
||||
}
|
||||
},
|
||||
"MaritimeEscort": {
|
||||
"Scheduler": {
|
||||
"Enable": {
|
||||
@ -6890,15 +6898,21 @@
|
||||
"Coalition": {
|
||||
"Mode": {
|
||||
"type": "select",
|
||||
"value": "sp",
|
||||
"value": "area1-normal",
|
||||
"option": [
|
||||
"easy",
|
||||
"normal",
|
||||
"hard",
|
||||
"sp",
|
||||
"ex"
|
||||
],
|
||||
"display": "hide"
|
||||
"area1-normal",
|
||||
"area1-hard",
|
||||
"area2-normal",
|
||||
"area2-hard",
|
||||
"area3-normal",
|
||||
"area3-hard",
|
||||
"area4-normal",
|
||||
"area4-hard",
|
||||
"area5-normal",
|
||||
"area5-hard",
|
||||
"area6-normal",
|
||||
"area6-hard"
|
||||
]
|
||||
},
|
||||
"Fleet": {
|
||||
"type": "select",
|
||||
|
||||
@ -337,8 +337,8 @@ MaritimeEscort:
|
||||
Enable: true
|
||||
Coalition:
|
||||
Mode:
|
||||
value: hard
|
||||
option: [ easy, normal, hard, sp, ex ]
|
||||
value: area1-normal
|
||||
option: [ area1-normal, area1-hard, area2-normal, area2-hard, area3-normal, area3-hard, area4-normal, area4-hard, area5-normal, area5-hard, area6-normal, area6-hard ]
|
||||
Fleet:
|
||||
value: single
|
||||
option: [ single, multi ]
|
||||
|
||||
@ -23,11 +23,11 @@
|
||||
"page": "setting",
|
||||
"tasks": [
|
||||
"EventGeneral",
|
||||
"Coalition",
|
||||
"Event",
|
||||
"Event2",
|
||||
"Raid",
|
||||
"Hospital",
|
||||
"Coalition",
|
||||
"MaritimeEscort",
|
||||
"WarArchives"
|
||||
]
|
||||
|
||||
@ -261,9 +261,9 @@ Coalition:
|
||||
UseAutoSearch: false
|
||||
Use2xBook: false
|
||||
AmbushEvade: true
|
||||
Coalition:
|
||||
Mode:
|
||||
option: [ easy, normal, hard, ex ]
|
||||
# Coalition:
|
||||
# Mode:
|
||||
# option: [ easy, normal, hard, ex ]
|
||||
StopCondition:
|
||||
MapAchievement: non_stop
|
||||
StageIncrease: false
|
||||
|
||||
@ -73,6 +73,12 @@ Event:
|
||||
EventGeneral:
|
||||
- EventGeneral
|
||||
- TaskBalancer
|
||||
Coalition:
|
||||
- Scheduler
|
||||
- Campaign
|
||||
- Coalition
|
||||
- StopCondition
|
||||
- Emotion
|
||||
Event:
|
||||
- Scheduler
|
||||
- Campaign
|
||||
@ -102,12 +108,7 @@ Event:
|
||||
- Hospital
|
||||
- StopCondition
|
||||
- Emotion
|
||||
Coalition:
|
||||
- Scheduler
|
||||
- Campaign
|
||||
- Coalition
|
||||
- StopCondition
|
||||
- Emotion
|
||||
|
||||
MaritimeEscort:
|
||||
- Scheduler
|
||||
- MaritimeEscort
|
||||
|
||||
@ -195,7 +195,7 @@ class GeneratedConfig:
|
||||
MaritimeEscort_Enable = True
|
||||
|
||||
# Group `Coalition`
|
||||
Coalition_Mode = 'hard' # easy, normal, hard, sp, ex
|
||||
Coalition_Mode = 'area1-normal' # area1-normal, area1-hard, area2-normal, area2-hard, area3-normal, area3-hard, area4-normal, area4-hard, area5-normal, area5-hard, area6-normal, area6-hard
|
||||
Coalition_Fleet = 'single' # single, multi
|
||||
|
||||
# Group `Commission`
|
||||
|
||||
@ -615,7 +615,7 @@ class ConfigUpdater:
|
||||
# 2025.04.17
|
||||
# ('Coalition.Coalition.Mode', 'Coalition.Coalition.Mode', coalition_to_frostfall),
|
||||
# 2025.06.26
|
||||
('Coalition.Coalition.Mode', 'Coalition.Coalition.Mode', coalition_to_little_academy),
|
||||
# ('Coalition.Coalition.Mode', 'Coalition.Coalition.Mode', coalition_to_little_academy),
|
||||
]
|
||||
|
||||
# redirection += [
|
||||
@ -685,7 +685,7 @@ class ConfigUpdater:
|
||||
for task in EVENTS + WAR_ARCHIVES:
|
||||
default_stage(task, 'D3')
|
||||
for task in COALITIONS:
|
||||
default_stage(task, 'hard')
|
||||
default_stage(task, 'area1-normal')
|
||||
|
||||
if not is_template:
|
||||
new = self.config_redirect(old, new)
|
||||
|
||||
@ -66,6 +66,10 @@
|
||||
"name": "Event General",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "DATE A LANE",
|
||||
"help": ""
|
||||
},
|
||||
"Event": {
|
||||
"name": "Event",
|
||||
"help": ""
|
||||
@ -82,10 +86,6 @@
|
||||
"name": "Valley Hospital Story",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "Neon City Investigator",
|
||||
"help": ""
|
||||
},
|
||||
"MaritimeEscort": {
|
||||
"name": "Maritime Escort",
|
||||
"help": ""
|
||||
@ -1398,11 +1398,18 @@
|
||||
"Mode": {
|
||||
"name": "Mode",
|
||||
"help": "SP needs to use event daily SP to run",
|
||||
"easy": "Easy",
|
||||
"normal": "Normal",
|
||||
"hard": "Hard",
|
||||
"sp": "SP",
|
||||
"ex": "EX"
|
||||
"area1-normal": "area1-normal",
|
||||
"area1-hard": "area1-hard",
|
||||
"area2-normal": "area2-normal",
|
||||
"area2-hard": "area2-hard",
|
||||
"area3-normal": "area3-normal",
|
||||
"area3-hard": "area3-hard",
|
||||
"area4-normal": "area4-normal",
|
||||
"area4-hard": "area4-hard",
|
||||
"area5-normal": "area5-normal",
|
||||
"area5-hard": "area5-hard",
|
||||
"area6-normal": "area6-normal",
|
||||
"area6-hard": "area6-hard"
|
||||
},
|
||||
"Fleet": {
|
||||
"name": "Fleet",
|
||||
|
||||
@ -66,6 +66,10 @@
|
||||
"name": "イベント共通設定",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "ネオンシティの探索者",
|
||||
"help": ""
|
||||
},
|
||||
"Event": {
|
||||
"name": "イベント海域",
|
||||
"help": ""
|
||||
@ -82,10 +86,6 @@
|
||||
"name": "病院探訪ストーリー",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "ネオンシティの探索者",
|
||||
"help": ""
|
||||
},
|
||||
"MaritimeEscort": {
|
||||
"name": "Maritime Escort",
|
||||
"help": ""
|
||||
@ -1398,11 +1398,18 @@
|
||||
"Mode": {
|
||||
"name": "Coalition.Mode.name",
|
||||
"help": "Coalition.Mode.help",
|
||||
"easy": "easy",
|
||||
"normal": "normal",
|
||||
"hard": "hard",
|
||||
"sp": "sp",
|
||||
"ex": "ex"
|
||||
"area1-normal": "area1-normal",
|
||||
"area1-hard": "area1-hard",
|
||||
"area2-normal": "area2-normal",
|
||||
"area2-hard": "area2-hard",
|
||||
"area3-normal": "area3-normal",
|
||||
"area3-hard": "area3-hard",
|
||||
"area4-normal": "area4-normal",
|
||||
"area4-hard": "area4-hard",
|
||||
"area5-normal": "area5-normal",
|
||||
"area5-hard": "area5-hard",
|
||||
"area6-normal": "area6-normal",
|
||||
"area6-hard": "area6-hard"
|
||||
},
|
||||
"Fleet": {
|
||||
"name": "Coalition.Fleet.name",
|
||||
|
||||
@ -66,6 +66,10 @@
|
||||
"name": "活动通用设置",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "DATE A LANE",
|
||||
"help": ""
|
||||
},
|
||||
"Event": {
|
||||
"name": "活动图",
|
||||
"help": ""
|
||||
@ -82,10 +86,6 @@
|
||||
"name": "深谷来信",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "迷彩都市的寻踪者",
|
||||
"help": ""
|
||||
},
|
||||
"MaritimeEscort": {
|
||||
"name": "商船护航",
|
||||
"help": ""
|
||||
@ -1398,11 +1398,18 @@
|
||||
"Mode": {
|
||||
"name": "难度",
|
||||
"help": "SP图需要使用活动每日SP运行",
|
||||
"easy": "简单",
|
||||
"normal": "普通",
|
||||
"hard": "困难",
|
||||
"sp": "SP",
|
||||
"ex": "EX"
|
||||
"area1-normal": "AREA-1 普通",
|
||||
"area1-hard": "AREA-1 困难",
|
||||
"area2-normal": "AREA-2 普通",
|
||||
"area2-hard": "AREA-2 困难",
|
||||
"area3-normal": "AREA-3 普通",
|
||||
"area3-hard": "AREA-3 困难",
|
||||
"area4-normal": "AREA-4 普通",
|
||||
"area4-hard": "AREA-4 困难",
|
||||
"area5-normal": "AREA-5 普通",
|
||||
"area5-hard": "AREA-5 困难",
|
||||
"area6-normal": "AREA-6 普通",
|
||||
"area6-hard": "AREA-6 困难"
|
||||
},
|
||||
"Fleet": {
|
||||
"name": "出击队伍",
|
||||
|
||||
@ -66,6 +66,10 @@
|
||||
"name": "活動通用",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "極地風暴",
|
||||
"help": ""
|
||||
},
|
||||
"Event": {
|
||||
"name": "活動圖",
|
||||
"help": ""
|
||||
@ -82,10 +86,6 @@
|
||||
"name": "深谷来信",
|
||||
"help": ""
|
||||
},
|
||||
"Coalition": {
|
||||
"name": "極地風暴",
|
||||
"help": ""
|
||||
},
|
||||
"MaritimeEscort": {
|
||||
"name": "商船護航",
|
||||
"help": ""
|
||||
@ -1398,11 +1398,18 @@
|
||||
"Mode": {
|
||||
"name": "難度",
|
||||
"help": "SP圖需要使用活動每日SP運行",
|
||||
"easy": "簡單",
|
||||
"normal": "普通",
|
||||
"hard": "困難",
|
||||
"sp": "sp",
|
||||
"ex": "EX"
|
||||
"area1-normal": "area1-normal",
|
||||
"area1-hard": "area1-hard",
|
||||
"area2-normal": "area2-normal",
|
||||
"area2-hard": "area2-hard",
|
||||
"area3-normal": "area3-normal",
|
||||
"area3-hard": "area3-hard",
|
||||
"area4-normal": "area4-normal",
|
||||
"area4-hard": "area4-hard",
|
||||
"area5-normal": "area5-normal",
|
||||
"area5-hard": "area5-hard",
|
||||
"area6-normal": "area6-normal",
|
||||
"area6-hard": "area6-hard"
|
||||
},
|
||||
"Fleet": {
|
||||
"name": "出擊隊伍",
|
||||
|
||||
@ -145,9 +145,14 @@ page_campaign.link(button=CAMPAIGN_GOTO_EVENT, destination=page_sp)
|
||||
# page_campaign_menu.link(button=CAMPAIGN_MENU_GOTO_EVENT, destination=page_coalition)
|
||||
# page_coalition_menu.link(button=COALITION_ACADEMY_GOTO_CAMPAIGN, destination=page_coalition)
|
||||
# NEONCITY
|
||||
page_coalition = Page(NEONCITY_COALITION_CHECK)
|
||||
page_coalition.link(button=NEONCITY_UI_HOME, destination=page_main)
|
||||
page_coalition.link(button=NEONCITY_UI_BACK, destination=page_campaign)
|
||||
# page_coalition = Page(NEONCITY_COALITION_CHECK)
|
||||
# page_coalition.link(button=NEONCITY_UI_HOME, destination=page_main)
|
||||
# page_coalition.link(button=NEONCITY_UI_BACK, destination=page_campaign)
|
||||
# page_campaign_menu.link(button=CAMPAIGN_MENU_GOTO_EVENT, destination=page_coalition)
|
||||
# DAL
|
||||
page_coalition = Page(FROSTFALL_COALITION_CHECK)
|
||||
page_coalition.link(button=GOTO_MAIN, destination=page_main)
|
||||
page_coalition.link(button=BACK_ARROW, destination=page_campaign)
|
||||
page_campaign_menu.link(button=CAMPAIGN_MENU_GOTO_EVENT, destination=page_coalition)
|
||||
|
||||
# Operation Siren
|
||||
|
||||
@ -1,7 +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
|
||||
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,
|
||||
@ -559,9 +559,12 @@ class UI(InfoHandler):
|
||||
# if self.appear_then_click(HOSPITAL_BATTLE_EXIT, offset=(20, 20), interval=2):
|
||||
# return True
|
||||
# Neon city (coalition_20250626)
|
||||
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)
|
||||
# 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
|
||||
|
||||
# Idle page
|
||||
|
||||