1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-16 01:07:22 +08:00

Upd: Coalition 20260122

This commit is contained in:
sui-feng-cb
2026-01-22 17:02:06 +08:00
parent e61cfdeb63
commit 238428f7b9
31 changed files with 150 additions and 110 deletions

View File

@@ -36,6 +36,20 @@ DAL_SWITCH_MULTI = Button(area={'cn': (1060, 473, 1204, 500), 'en': (1061, 474,
DAL_SWITCH_SINGLE = Button(area={'cn': (910, 473, 1055, 500), 'en': (915, 475, 1051, 499), 'jp': (917, 474, 1035, 499), 'tw': (945, 478, 1013, 495)}, color={'cn': (223, 223, 223), 'en': (193, 193, 193), 'jp': (215, 215, 215), 'tw': (168, 168, 168)}, button={'cn': (910, 473, 1055, 500), 'en': (915, 475, 1051, 499), 'jp': (917, 474, 1035, 499), 'tw': (945, 478, 1013, 495)}, file={'cn': './assets/cn/coalition/DAL_SWITCH_SINGLE.png', 'en': './assets/en/coalition/DAL_SWITCH_SINGLE.png', 'jp': './assets/jp/coalition/DAL_SWITCH_SINGLE.png', 'tw': './assets/tw/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'})
FASHION_COALITION_CHECK = Button(area={'cn': (100, 17, 261, 53), 'en': (100, 17, 261, 53), 'jp': (100, 17, 261, 53), 'tw': (100, 17, 261, 53)}, color={'cn': (100, 94, 76), 'en': (100, 94, 76), 'jp': (100, 94, 76), 'tw': (100, 94, 76)}, button={'cn': (100, 17, 261, 53), 'en': (100, 17, 261, 53), 'jp': (100, 17, 261, 53), 'tw': (100, 17, 261, 53)}, file={'cn': './assets/cn/coalition/FASHION_COALITION_CHECK.png', 'en': './assets/cn/coalition/FASHION_COALITION_CHECK.png', 'jp': './assets/cn/coalition/FASHION_COALITION_CHECK.png', 'tw': './assets/cn/coalition/FASHION_COALITION_CHECK.png'})
FASHION_EASY = Button(area={'cn': (101, 161, 264, 470), 'en': (101, 161, 264, 470), 'jp': (101, 161, 264, 470), 'tw': (101, 161, 264, 470)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (101, 161, 264, 470), 'en': (101, 161, 264, 470), 'jp': (101, 161, 264, 470), 'tw': (101, 161, 264, 470)}, file={'cn': './assets/cn/coalition/FASHION_EASY.png', 'en': './assets/cn/coalition/FASHION_EASY.png', 'jp': './assets/cn/coalition/FASHION_EASY.png', 'tw': './assets/cn/coalition/FASHION_EASY.png'})
FASHION_EX = Button(area={'cn': (832, 162, 995, 506), 'en': (832, 162, 995, 506), 'jp': (832, 162, 995, 506), 'tw': (832, 162, 995, 506)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (832, 162, 995, 506), 'en': (832, 162, 995, 506), 'jp': (832, 162, 995, 506), 'tw': (832, 162, 995, 506)}, file={'cn': './assets/cn/coalition/FASHION_EX.png', 'en': './assets/cn/coalition/FASHION_EX.png', 'jp': './assets/cn/coalition/FASHION_EX.png', 'tw': './assets/cn/coalition/FASHION_EX.png'})
FASHION_FLEET_PREPARATION = Button(area={'cn': (1021, 519, 1121, 545), 'en': (1021, 519, 1121, 545), 'jp': (1021, 519, 1121, 545), 'tw': (1021, 519, 1121, 545)}, color={'cn': (94, 129, 239), 'en': (94, 129, 239), 'jp': (94, 129, 239), 'tw': (94, 129, 239)}, button={'cn': (1021, 519, 1121, 545), 'en': (1021, 519, 1121, 545), 'jp': (1021, 519, 1121, 545), 'tw': (1021, 519, 1121, 545)}, file={'cn': './assets/cn/coalition/FASHION_FLEET_PREPARATION.png', 'en': './assets/cn/coalition/FASHION_FLEET_PREPARATION.png', 'jp': './assets/cn/coalition/FASHION_FLEET_PREPARATION.png', 'tw': './assets/cn/coalition/FASHION_FLEET_PREPARATION.png'})
FASHION_HARD = Button(area={'cn': (439, 161, 602, 502), 'en': (439, 161, 602, 502), 'jp': (439, 161, 602, 502), 'tw': (439, 161, 602, 502)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (439, 161, 602, 502), 'en': (439, 161, 602, 502), 'jp': (439, 161, 602, 502), 'tw': (439, 161, 602, 502)}, file={'cn': './assets/cn/coalition/FASHION_HARD.png', 'en': './assets/cn/coalition/FASHION_HARD.png', 'jp': './assets/cn/coalition/FASHION_HARD.png', 'tw': './assets/cn/coalition/FASHION_HARD.png'})
FASHION_MODE_BATTLE = Button(area={'cn': (148, 631, 283, 671), 'en': (148, 631, 283, 671), 'jp': (148, 631, 283, 671), 'tw': (148, 631, 283, 671)}, color={'cn': (162, 149, 122), 'en': (162, 149, 122), 'jp': (162, 149, 122), 'tw': (162, 149, 122)}, button={'cn': (148, 631, 283, 671), 'en': (148, 631, 283, 671), 'jp': (148, 631, 283, 671), 'tw': (148, 631, 283, 671)}, file={'cn': './assets/cn/coalition/FASHION_MODE_BATTLE.png', 'en': './assets/cn/coalition/FASHION_MODE_BATTLE.png', 'jp': './assets/cn/coalition/FASHION_MODE_BATTLE.png', 'tw': './assets/cn/coalition/FASHION_MODE_BATTLE.png'})
FASHION_MODE_STORY = Button(area={'cn': (152, 621, 287, 669), 'en': (152, 621, 287, 669), 'jp': (152, 621, 287, 669), 'tw': (152, 621, 287, 669)}, color={'cn': (168, 154, 126), 'en': (168, 154, 126), 'jp': (168, 154, 126), 'tw': (168, 154, 126)}, button={'cn': (152, 621, 287, 669), 'en': (152, 621, 287, 669), 'jp': (152, 621, 287, 669), 'tw': (152, 621, 287, 669)}, file={'cn': './assets/cn/coalition/FASHION_MODE_STORY.png', 'en': './assets/cn/coalition/FASHION_MODE_STORY.png', 'jp': './assets/cn/coalition/FASHION_MODE_STORY.png', 'tw': './assets/cn/coalition/FASHION_MODE_STORY.png'})
FASHION_NORMAL = Button(area={'cn': (270, 161, 433, 470), 'en': (270, 161, 433, 470), 'jp': (270, 161, 433, 470), 'tw': (270, 161, 433, 470)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (270, 161, 433, 470), 'en': (270, 161, 433, 470), 'jp': (270, 161, 433, 470), 'tw': (270, 161, 433, 470)}, file={'cn': './assets/cn/coalition/FASHION_NORMAL.png', 'en': './assets/cn/coalition/FASHION_NORMAL.png', 'jp': './assets/cn/coalition/FASHION_NORMAL.png', 'tw': './assets/cn/coalition/FASHION_NORMAL.png'})
FASHION_PT_OCR = Button(area={'cn': (889, 659, 936, 674), 'en': (889, 659, 936, 674), 'jp': (889, 659, 936, 674), 'tw': (889, 659, 936, 674)}, color={'cn': (132, 124, 120), 'en': (132, 124, 120), 'jp': (132, 124, 120), 'tw': (132, 124, 120)}, button={'cn': (889, 659, 936, 674), 'en': (889, 659, 936, 674), 'jp': (889, 659, 936, 674), 'tw': (889, 659, 936, 674)}, file={'cn': './assets/cn/coalition/FASHION_PT_OCR.png', 'en': './assets/cn/coalition/FASHION_PT_OCR.png', 'jp': './assets/cn/coalition/FASHION_PT_OCR.png', 'tw': './assets/cn/coalition/FASHION_PT_OCR.png'})
FASHION_SP = Button(area={'cn': (664, 166, 826, 507), 'en': (664, 166, 826, 507), 'jp': (664, 166, 826, 507), 'tw': (664, 166, 826, 507)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (664, 166, 826, 507), 'en': (664, 166, 826, 507), 'jp': (664, 166, 826, 507), 'tw': (664, 166, 826, 507)}, file={'cn': './assets/cn/coalition/FASHION_SP.png', 'en': './assets/cn/coalition/FASHION_SP.png', 'jp': './assets/cn/coalition/FASHION_SP.png', 'tw': './assets/cn/coalition/FASHION_SP.png'})
FASHION_SWITCH_MULTI = Button(area={'cn': (1075, 457, 1206, 485), 'en': (1075, 457, 1206, 485), 'jp': (1075, 457, 1206, 485), 'tw': (1075, 457, 1206, 485)}, color={'cn': (233, 183, 63), 'en': (233, 183, 63), 'jp': (233, 183, 63), 'tw': (233, 183, 63)}, button={'cn': (1075, 457, 1206, 485), 'en': (1075, 457, 1206, 485), 'jp': (1075, 457, 1206, 485), 'tw': (1075, 457, 1206, 485)}, file={'cn': './assets/cn/coalition/FASHION_SWITCH_MULTI.png', 'en': './assets/cn/coalition/FASHION_SWITCH_MULTI.png', 'jp': './assets/cn/coalition/FASHION_SWITCH_MULTI.png', 'tw': './assets/cn/coalition/FASHION_SWITCH_MULTI.png'})
FASHION_SWITCH_SINGLE = Button(area={'cn': (929, 457, 1059, 485), 'en': (929, 457, 1059, 485), 'jp': (929, 457, 1059, 485), 'tw': (929, 457, 1059, 485)}, color={'cn': (230, 181, 62), 'en': (230, 181, 62), 'jp': (230, 181, 62), 'tw': (230, 181, 62)}, button={'cn': (929, 457, 1059, 485), 'en': (929, 457, 1059, 485), 'jp': (929, 457, 1059, 485), 'tw': (929, 457, 1059, 485)}, file={'cn': './assets/cn/coalition/FASHION_SWITCH_SINGLE.png', 'en': './assets/cn/coalition/FASHION_SWITCH_SINGLE.png', 'jp': './assets/cn/coalition/FASHION_SWITCH_SINGLE.png', 'tw': './assets/cn/coalition/FASHION_SWITCH_SINGLE.png'})
FASHION_UI_BACK = Button(area={'cn': (29, 28, 45, 45), 'en': (29, 28, 45, 45), 'jp': (29, 28, 45, 45), 'tw': (29, 28, 45, 45)}, color={'cn': (132, 125, 113), 'en': (132, 125, 113), 'jp': (132, 125, 113), 'tw': (132, 125, 113)}, button={'cn': (29, 28, 45, 45), 'en': (29, 28, 45, 45), 'jp': (29, 28, 45, 45), 'tw': (29, 28, 45, 45)}, file={'cn': './assets/cn/coalition/FASHION_UI_BACK.png', 'en': './assets/cn/coalition/FASHION_UI_BACK.png', 'jp': './assets/cn/coalition/FASHION_UI_BACK.png', 'tw': './assets/cn/coalition/FASHION_UI_BACK.png'})
FASHION_UI_HOME = Button(area={'cn': (1210, 23, 1238, 47), 'en': (1210, 23, 1238, 47), 'jp': (1210, 23, 1238, 47), 'tw': (1210, 23, 1238, 47)}, color={'cn': (124, 120, 112), 'en': (124, 120, 112), 'jp': (124, 120, 112), 'tw': (124, 120, 112)}, button={'cn': (1210, 23, 1238, 47), 'en': (1210, 23, 1238, 47), 'jp': (1210, 23, 1238, 47), 'tw': (1210, 23, 1238, 47)}, file={'cn': './assets/cn/coalition/FASHION_UI_HOME.png', 'en': './assets/cn/coalition/FASHION_UI_HOME.png', 'jp': './assets/cn/coalition/FASHION_UI_HOME.png', 'tw': './assets/cn/coalition/FASHION_UI_HOME.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'})
FROSTFALL_COALITION_CHECK = Button(area={'cn': (118, 14, 227, 39), 'en': (118, 16, 221, 36), 'jp': (118, 14, 227, 39), 'tw': (118, 14, 227, 39)}, color={'cn': (145, 161, 200), 'en': (116, 130, 168), 'jp': (150, 166, 204), 'tw': (152, 168, 206)}, button={'cn': (118, 14, 227, 39), 'en': (118, 16, 221, 36), 'jp': (118, 14, 227, 39), 'tw': (118, 14, 227, 39)}, file={'cn': './assets/cn/coalition/FROSTFALL_COALITION_CHECK.png', 'en': './assets/en/coalition/FROSTFALL_COALITION_CHECK.png', 'jp': './assets/jp/coalition/FROSTFALL_COALITION_CHECK.png', 'tw': './assets/tw/coalition/FROSTFALL_COALITION_CHECK.png'})
FROSTFALL_EX = Button(area={'cn': (622, 372, 649, 384), 'en': (622, 372, 649, 384), 'jp': (622, 372, 649, 384), 'tw': (622, 372, 649, 384)}, color={'cn': (198, 152, 252), 'en': (198, 152, 252), 'jp': (198, 152, 252), 'tw': (182, 127, 252)}, button={'cn': (622, 372, 649, 384), 'en': (622, 372, 649, 384), 'jp': (622, 372, 649, 384), 'tw': (622, 372, 649, 384)}, file={'cn': './assets/cn/coalition/FROSTFALL_EX.png', 'en': './assets/en/coalition/FROSTFALL_EX.png', 'jp': './assets/jp/coalition/FROSTFALL_EX.png', 'tw': './assets/tw/coalition/FROSTFALL_EX.png'})

View File

@@ -9,6 +9,7 @@ from module.log_res.log_res import LogRes
from module.logger import logger
from module.ocr.ocr import Digit
from module.ui.assets import BACK_ARROW
from module.ui.page import page_campaign_menu
class AcademyPtOcr(Digit):
@@ -59,6 +60,8 @@ class Coalition(CoalitionCombat, CampaignEvent):
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)
elif event == 'coalition_20260122':
ocr = Digit(FASHION_PT_OCR, name='OCR_PT', letter=(41, 41, 42), threshold=128)
else:
logger.error(f'ocr object is not defined in event {event}')
raise ScriptError
@@ -155,9 +158,9 @@ class Coalition(CoalitionCombat, CampaignEvent):
self.coalition_map_exit(event)
raise
if self.triggered_stop_condition(oil_check=True):
self.coalition_map_exit(event)
raise ScriptEnd
# 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()
@@ -195,10 +198,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
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()

View File

@@ -52,6 +52,10 @@ class CoalitionUI(Combat):
elif event == 'coalition_20251120':
logger.info('Coalition event coalition_20251120 has no mode switch')
return
elif event == 'coalition_20260122':
mode_switch = Switch('CoalitionMode', offset=(20, 20))
mode_switch.add_state('story', FASHION_MODE_STORY)
mode_switch.add_state('battle', FASHION_MODE_BATTLE)
else:
logger.error(f'MODE_SWITCH is not defined in event {event}')
raise ScriptError
@@ -85,6 +89,9 @@ class CoalitionUI(Combat):
elif event == 'coalition_20251120':
fleet_switch.add_state('single', DAL_SWITCH_SINGLE)
fleet_switch.add_state('multi', DAL_SWITCH_MULTI)
elif event == 'coalition_20260122':
fleet_switch.add_state('single', FASHION_SWITCH_SINGLE)
fleet_switch.add_state('multi', FASHION_SWITCH_MULTI)
else:
logger.error(f'FLEET_SWITCH is not defined in event {event}')
raise ScriptError
@@ -137,6 +144,12 @@ class CoalitionUI(Combat):
('coalition_20251120', 'area4-hard'): DAL_AREA4,
('coalition_20251120', 'area5-hard'): DAL_AREA5,
('coalition_20251120', 'area6-hard'): DAL_AREA6,
('coalition_20260122', 'easy'): FASHION_EASY,
('coalition_20260122', 'normal'): FASHION_NORMAL,
('coalition_20260122', 'hard'): FASHION_HARD,
('coalition_20260122', 'sp'): FASHION_SP,
('coalition_20260122', 'ex'): FASHION_EX,
}
stage = stage.lower()
try:
@@ -216,6 +229,12 @@ class CoalitionUI(Combat):
('coalition_20251120', 'area4-hard'): 3,
('coalition_20251120', 'area5-hard'): 3,
('coalition_20251120', 'area6-hard'): 4,
('coalition_20260122', 'easy'): 1,
('coalition_20260122', 'normal'): 2,
('coalition_20260122', 'hard'): 3,
('coalition_20260122', 'sp'): 4,
('coalition_20260122', 'ex'): 5,
}
stage = stage.lower()
try:
@@ -241,6 +260,8 @@ class CoalitionUI(Combat):
return NEONCITY_FLEET_PREPARATION
elif event == 'coalition_20251120':
return DAL_FLEET_PREPARATION
elif event == 'coalition_20260122':
return FASHION_FLEET_PREPARATION
else:
logger.error(f'FLEET_PREPARATION is not defined in event {event}')
raise ScriptError
@@ -267,6 +288,9 @@ class CoalitionUI(Combat):
if event == 'coalition_20250626':
if stage in ['easy', 'sp', 'ex']:
return False
if event == 'coalition_20260122':
if stage in ['easy', 'sp', 'ex']:
return False
self.coalition_ensure_fleet(event, mode)
return True
@@ -406,6 +430,11 @@ class CoalitionUI(Combat):
campaign_timer.reset()
continue
# Fleet import
if self.handle_popup_confirm('FLEET_IMPORT'):
campaign_timer.reset()
continue
# Auto confirm
if self.handle_combat_automation_confirm():
continue