mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-03-12 05:08:19 +08:00
Merge branch 'master' of LmeSzinc
This commit is contained in:
@@ -17,6 +17,8 @@ OCR_OIL_CHECK = Button(area={'cn': (573, 30, 592, 49), 'en': (573, 30, 592, 49),
|
||||
OCR_OIL_LIMIT = Button(area={'cn': (608, 0, 736, 19), 'en': (608, 0, 736, 19), 'jp': (608, 0, 736, 19), 'tw': (608, 0, 736, 19)}, color={'cn': (202, 202, 202), 'en': (202, 202, 202), 'jp': (202, 202, 202), 'tw': (202, 202, 202)}, button={'cn': (608, 0, 736, 19), 'en': (608, 0, 736, 19), 'jp': (608, 0, 736, 19), 'tw': (608, 0, 736, 19)}, file={'cn': './assets/cn/campaign/OCR_OIL_LIMIT.png', 'en': './assets/en/campaign/OCR_OIL_LIMIT.png', 'jp': './assets/jp/campaign/OCR_OIL_LIMIT.png', 'tw': './assets/tw/campaign/OCR_OIL_LIMIT.png'})
|
||||
SWITCH_1_HARD = Button(area={'cn': (82, 641, 148, 675), 'en': (87, 642, 148, 676), 'jp': (24, 645, 150, 697), 'tw': (82, 641, 148, 675)}, color={'cn': (233, 141, 128), 'en': (234, 139, 124), 'jp': (219, 116, 106), 'tw': (236, 159, 148)}, button={'cn': (82, 641, 148, 675), 'en': (87, 642, 148, 676), 'jp': (24, 645, 150, 697), 'tw': (82, 641, 148, 675)}, file={'cn': './assets/cn/campaign/SWITCH_1_HARD.png', 'en': './assets/en/campaign/SWITCH_1_HARD.png', 'jp': './assets/jp/campaign/SWITCH_1_HARD.png', 'tw': './assets/tw/campaign/SWITCH_1_HARD.png'})
|
||||
SWITCH_1_NORMAL = Button(area={'cn': (80, 641, 148, 675), 'en': (79, 638, 147, 675), 'jp': (24, 644, 150, 697), 'tw': (79, 641, 148, 675)}, color={'cn': (157, 180, 227), 'en': (157, 180, 227), 'jp': (143, 169, 222), 'tw': (156, 179, 227)}, button={'cn': (80, 641, 148, 675), 'en': (79, 638, 147, 675), 'jp': (24, 644, 150, 697), 'tw': (79, 641, 148, 675)}, file={'cn': './assets/cn/campaign/SWITCH_1_NORMAL.png', 'en': './assets/en/campaign/SWITCH_1_NORMAL.png', 'jp': './assets/jp/campaign/SWITCH_1_NORMAL.png', 'tw': './assets/tw/campaign/SWITCH_1_NORMAL.png'})
|
||||
SWITCH_20240725_COMBAT = Button(area={'cn': (39, 659, 71, 691), 'en': (39, 659, 71, 691), 'jp': (39, 659, 71, 691), 'tw': (39, 659, 71, 691)}, color={'cn': (133, 96, 49), 'en': (133, 96, 49), 'jp': (133, 96, 49), 'tw': (133, 96, 49)}, button={'cn': (39, 659, 71, 691), 'en': (39, 659, 71, 691), 'jp': (39, 659, 71, 691), 'tw': (39, 659, 71, 691)}, file={'cn': './assets/cn/campaign/SWITCH_20240725_COMBAT.png', 'en': './assets/en/campaign/SWITCH_20240725_COMBAT.png', 'jp': './assets/jp/campaign/SWITCH_20240725_COMBAT.png', 'tw': './assets/tw/campaign/SWITCH_20240725_COMBAT.png'})
|
||||
SWITCH_20240725_STORY = Button(area={'cn': (327, 657, 352, 688), 'en': (327, 657, 352, 688), 'jp': (327, 657, 352, 688), 'tw': (327, 657, 352, 688)}, color={'cn': (105, 77, 31), 'en': (105, 77, 31), 'jp': (105, 77, 31), 'tw': (105, 77, 31)}, button={'cn': (327, 657, 352, 688), 'en': (327, 657, 352, 688), 'jp': (327, 657, 352, 688), 'tw': (327, 657, 352, 688)}, file={'cn': './assets/cn/campaign/SWITCH_20240725_STORY.png', 'en': './assets/en/campaign/SWITCH_20240725_STORY.png', 'jp': './assets/jp/campaign/SWITCH_20240725_STORY.png', 'tw': './assets/tw/campaign/SWITCH_20240725_STORY.png'})
|
||||
SWITCH_2_EX = Button(area={'cn': (272, 658, 310, 676), 'en': (251, 644, 313, 697), 'jp': (186, 638, 314, 692), 'tw': (241, 640, 312, 692)}, color={'cn': (253, 168, 98), 'en': (254, 163, 80), 'jp': (205, 136, 64), 'tw': (254, 161, 72)}, button={'cn': (272, 658, 310, 676), 'en': (251, 644, 313, 697), 'jp': (186, 638, 314, 692), 'tw': (241, 640, 312, 692)}, file={'cn': './assets/cn/campaign/SWITCH_2_EX.png', 'en': './assets/en/campaign/SWITCH_2_EX.png', 'jp': './assets/jp/campaign/SWITCH_2_EX.png', 'tw': './assets/tw/campaign/SWITCH_2_EX.png'})
|
||||
SWITCH_2_HARD = Button(area={'cn': (246, 641, 311, 675), 'en': (244, 640, 312, 684), 'jp': (233, 655, 310, 681), 'tw': (245, 641, 311, 674)}, color={'cn': (233, 140, 127), 'en': (228, 121, 106), 'jp': (223, 110, 96), 'tw': (237, 161, 150)}, button={'cn': (246, 641, 311, 675), 'en': (244, 640, 312, 684), 'jp': (233, 655, 310, 681), 'tw': (245, 641, 311, 674)}, file={'cn': './assets/cn/campaign/SWITCH_2_HARD.png', 'en': './assets/en/campaign/SWITCH_2_HARD.png', 'jp': './assets/jp/campaign/SWITCH_2_HARD.png', 'tw': './assets/tw/campaign/SWITCH_2_HARD.png'})
|
||||
TEMPLATE_EVENT_20230817_STORY_E1 = Template(file={'cn': './assets/cn/campaign/TEMPLATE_EVENT_20230817_STORY_E1.png', 'en': './assets/en/campaign/TEMPLATE_EVENT_20230817_STORY_E1.png', 'jp': './assets/jp/campaign/TEMPLATE_EVENT_20230817_STORY_E1.png', 'tw': './assets/tw/campaign/TEMPLATE_EVENT_20230817_STORY_E1.png'})
|
||||
|
||||
@@ -165,6 +165,12 @@ class CampaignOcr(ModuleBase):
|
||||
similarity=0.6,
|
||||
name_offset=(52, 0), name_size=(60, 22)
|
||||
)
|
||||
if '20240725' in self.config.STAGE_ENTRANCE:
|
||||
digits += self.campaign_match_multi(
|
||||
TEMPLATE_STAGE_CLEAR_20240725,
|
||||
image, self._stage_image_gray,
|
||||
name_offset=(73, -4), name_size=(60, 22)
|
||||
)
|
||||
|
||||
return digits
|
||||
|
||||
@@ -233,6 +239,12 @@ class CampaignOcr(ModuleBase):
|
||||
similarity=0.6,
|
||||
name_offset=(52, 0), name_size=(60, 22)
|
||||
)
|
||||
if '20240725' in self.config.STAGE_ENTRANCE:
|
||||
digits += self.campaign_match_multi(
|
||||
TEMPLATE_STAGE_CLEAR_20240725,
|
||||
image, self._stage_image_gray,
|
||||
name_offset=(73, -4), name_size=(60, 22)
|
||||
)
|
||||
|
||||
return digits
|
||||
|
||||
|
||||
@@ -77,6 +77,9 @@ class CampaignUI(CampaignEvent, CampaignOcr):
|
||||
Returns:
|
||||
bool: If mode changed.
|
||||
"""
|
||||
if mode == 'hard':
|
||||
self.config.override(Campaign_Mode='hard')
|
||||
|
||||
switch_2 = MODE_SWITCH_2.get(main=self)
|
||||
|
||||
if switch_2 == 'unknown':
|
||||
@@ -100,6 +103,29 @@ class CampaignUI(CampaignEvent, CampaignOcr):
|
||||
else:
|
||||
logger.warning(f'Unknown campaign mode: {mode}')
|
||||
|
||||
def campaign_get_mode_names(self, name):
|
||||
"""
|
||||
Get stage names in both 'normal' and 'hard'
|
||||
t1 -> [t1, ht1]
|
||||
ht1 -> [t1, ht1]
|
||||
a1 -> [a1, c1]
|
||||
|
||||
Args:
|
||||
name (str):
|
||||
|
||||
Returns:
|
||||
list[str]:
|
||||
"""
|
||||
if name.startswith('t'):
|
||||
return [f't{name[1:]}', f'ht{name[1:]}']
|
||||
if name.startswith('ht'):
|
||||
return [f't{name[2:]}', f'ht{name[2:]}']
|
||||
if name.startswith('a') or name.startswith('c'):
|
||||
return [f'a{name[1:]}', f'c{name[1:]}']
|
||||
if name.startswith('b') or name.startswith('d'):
|
||||
return [f'b{name[1:]}', f'd{name[1:]}']
|
||||
return [name]
|
||||
|
||||
def campaign_get_entrance(self, name):
|
||||
"""
|
||||
Args:
|
||||
@@ -108,12 +134,18 @@ class CampaignUI(CampaignEvent, CampaignOcr):
|
||||
Returns:
|
||||
Button:
|
||||
"""
|
||||
entrance_name = name
|
||||
if self.config.MAP_HAS_MODE_SWITCH:
|
||||
for mode_name in self.campaign_get_mode_names(name):
|
||||
if mode_name in self.stage_entrance:
|
||||
name = mode_name
|
||||
|
||||
if name not in self.stage_entrance:
|
||||
logger.warning(f'Stage not found: {name}')
|
||||
raise CampaignNameError
|
||||
|
||||
entrance = self.stage_entrance[name]
|
||||
entrance.name = name
|
||||
entrance.name = entrance_name
|
||||
return entrance
|
||||
|
||||
def campaign_set_chapter_main(self, chapter, mode='normal'):
|
||||
@@ -132,11 +164,11 @@ class CampaignUI(CampaignEvent, CampaignOcr):
|
||||
return False
|
||||
|
||||
def campaign_set_chapter_event(self, chapter, mode='normal'):
|
||||
if chapter in ['a', 'b', 'c', 'd', 'ex_sp', 'as', 'bs', 'cs', 'ds', 't', 'ts', 'tss', 'hts']:
|
||||
if chapter in ['a', 'b', 'c', 'd', 'ex_sp', 'as', 'bs', 'cs', 'ds', 't', 'ts', 'tss', 'ht', 'hts']:
|
||||
self.ui_goto_event()
|
||||
if chapter in ['a', 'b', 'as', 'bs', 't', 'ts', 'tss']:
|
||||
self.campaign_ensure_mode('normal')
|
||||
elif chapter in ['c', 'd', 'cs', 'ds', 'hts']:
|
||||
elif chapter in ['c', 'd', 'cs', 'ds', 'ht', 'hts']:
|
||||
self.campaign_ensure_mode('hard')
|
||||
elif chapter == 'ex_sp':
|
||||
self.campaign_ensure_mode('ex')
|
||||
|
||||
@@ -246,6 +246,7 @@ class CampaignRun(CampaignEvent, ShopStatus):
|
||||
'event_20211125_cn',
|
||||
'event_20231026_cn',
|
||||
'event_20231123_cn',
|
||||
'event_20240725_cn'
|
||||
]:
|
||||
name = convert.get(name, name)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user