1
0
mirror of https://github.com/sui-feng-cb/AzurLaneAutoScript1.git synced 2026-06-22 20:46:52 +08:00
This commit is contained in:
2026-06-22 03:54:33 +08:00
15 changed files with 40 additions and 8 deletions

View File

@@ -124,7 +124,7 @@ class ManualConfig:
MAP_CHAPTER_SWITCH_20241219_SPEX = False
# Since event_20241219_cn chapter B unlocks event startup
# which means chapter AB are continuous
STAGE_INCREASE_AB = False
STAGE_INCREASE_AB = True
# Insert anything to STAGE_INCREASE
STAGE_INCREASE_CUSTOM = ''
MAP_HAS_CLEAR_PERCENTAGE = True

View File

@@ -238,6 +238,8 @@ class RewardGacha(GachaUI, Retirement):
self.device.click(STORY_SKIP) # Fast forward for multiple orders
confirm_timer.reset()
continue
if self.handle_get_items_ship():
continue
if self.appear(BUILD_FINISH_RESULTS, offset=(20, 150), interval=3):
self.device.click(BUILD_FINISH_ORDERS) # Safe area

View File

@@ -45,6 +45,7 @@ GAME_TIPS = Button(area={'cn': (1009, 586, 1028, 614), 'en': (1009, 586, 1028, 6
GAME_TIPS3 = Button(area={'cn': (1008, 586, 1028, 614), 'en': (1008, 586, 1028, 614), 'jp': (1008, 586, 1028, 614), 'tw': (1008, 586, 1028, 614)}, color={'cn': (105, 104, 105), 'en': (105, 104, 105), 'jp': (105, 104, 105), 'tw': (105, 104, 105)}, button={'cn': (1008, 586, 1028, 614), 'en': (1008, 586, 1028, 614), 'jp': (1008, 586, 1028, 614), 'tw': (1008, 586, 1028, 614)}, file={'cn': './assets/cn/handler/GAME_TIPS3.png', 'en': './assets/en/handler/GAME_TIPS3.png', 'jp': './assets/jp/handler/GAME_TIPS3.png', 'tw': './assets/tw/handler/GAME_TIPS3.png'})
GAME_TIPS4 = Button(area={'cn': (1008, 587, 1028, 614), 'en': (1008, 587, 1028, 614), 'jp': (1008, 587, 1028, 614), 'tw': (1008, 587, 1028, 614)}, color={'cn': (106, 105, 106), 'en': (106, 105, 106), 'jp': (106, 105, 106), 'tw': (106, 105, 106)}, button={'cn': (1008, 587, 1028, 614), 'en': (1008, 587, 1028, 614), 'jp': (1008, 587, 1028, 614), 'tw': (1008, 587, 1028, 614)}, file={'cn': './assets/cn/handler/GAME_TIPS4.png', 'en': './assets/en/handler/GAME_TIPS4.png', 'jp': './assets/jp/handler/GAME_TIPS4.png', 'tw': './assets/tw/handler/GAME_TIPS4.png'})
GET_AMMO = Button(area={'cn': (792, 315, 794, 333), 'en': (792, 315, 794, 333), 'jp': (792, 315, 794, 333), 'tw': (792, 315, 794, 333)}, color={'cn': (251, 250, 255), 'en': (251, 250, 255), 'jp': (251, 250, 255), 'tw': (251, 250, 255)}, button={'cn': (792, 315, 794, 333), 'en': (792, 315, 794, 333), 'jp': (792, 315, 794, 333), 'tw': (792, 315, 794, 333)}, file={'cn': './assets/cn/handler/GET_AMMO.png', 'en': './assets/en/handler/GET_AMMO.png', 'jp': './assets/jp/handler/GET_AMMO.png', 'tw': './assets/tw/handler/GET_AMMO.png'})
GET_ITEMS_SHIP_1 = Button(area={'cn': (563, 193, 720, 219), 'en': (563, 193, 724, 218), 'jp': (564, 193, 724, 219), 'tw': (563, 193, 720, 219)}, color={'cn': (179, 201, 243), 'en': (169, 193, 229), 'jp': (169, 200, 244), 'tw': (179, 201, 243)}, button={'cn': (563, 193, 720, 219), 'en': (563, 193, 724, 218), 'jp': (564, 193, 724, 219), 'tw': (563, 193, 720, 219)}, file={'cn': './assets/cn/handler/GET_ITEMS_SHIP_1.png', 'en': './assets/en/handler/GET_ITEMS_SHIP_1.png', 'jp': './assets/jp/handler/GET_ITEMS_SHIP_1.png', 'tw': './assets/cn/handler/GET_ITEMS_SHIP_1.png'})
GET_MISSION = Button(area={'cn': (604, 495, 676, 525), 'en': (579, 496, 700, 520), 'jp': (604, 498, 675, 527), 'tw': (604, 495, 676, 526)}, color={'cn': (151, 181, 221), 'en': (156, 184, 221), 'jp': (139, 172, 215), 'tw': (145, 177, 219)}, button={'cn': (604, 495, 676, 525), 'en': (579, 496, 700, 520), 'jp': (604, 498, 675, 527), 'tw': (604, 495, 676, 526)}, file={'cn': './assets/cn/handler/GET_MISSION.png', 'en': './assets/en/handler/GET_MISSION.png', 'jp': './assets/jp/handler/GET_MISSION.png', 'tw': './assets/tw/handler/GET_MISSION.png'})
GET_SKIN = Button(area={'cn': (990, 550, 1022, 565), 'en': (991, 553, 1055, 564), 'jp': (990, 550, 1022, 565), 'tw': (990, 550, 1022, 565)}, color={'cn': (113, 114, 124), 'en': (142, 142, 152), 'jp': (113, 114, 124), 'tw': (113, 114, 124)}, button={'cn': (990, 550, 1022, 565), 'en': (991, 553, 1055, 564), 'jp': (990, 550, 1022, 565), 'tw': (990, 550, 1022, 565)}, file={'cn': './assets/cn/handler/GET_SKIN.png', 'en': './assets/en/handler/GET_SKIN.png', 'jp': './assets/cn/handler/GET_SKIN.png', 'tw': './assets/cn/handler/GET_SKIN.png'})
GUILD_POPUP_CANCEL = Button(area={'cn': (422, 449, 623, 486), 'en': (425, 452, 620, 483), 'jp': (422, 449, 623, 486), 'tw': (422, 449, 623, 486)}, color={'cn': (127, 125, 127), 'en': (125, 123, 125), 'jp': (119, 117, 119), 'tw': (127, 125, 127)}, button={'cn': (422, 449, 623, 486), 'en': (425, 452, 620, 483), 'jp': (422, 449, 623, 486), 'tw': (422, 449, 623, 486)}, file={'cn': './assets/cn/handler/GUILD_POPUP_CANCEL.png', 'en': './assets/en/handler/GUILD_POPUP_CANCEL.png', 'jp': './assets/jp/handler/GUILD_POPUP_CANCEL.png', 'tw': './assets/tw/handler/GUILD_POPUP_CANCEL.png'})

View File

@@ -120,6 +120,10 @@ class EnemySearchingHandler(InfoHandler):
# although here expects an enemy searching animation.
if self.handle_in_stage():
return True
# immediately enter submarine combat in W16
if hasattr(self, 'is_combat_loading') and self.is_combat_loading():
logger.warning('Entered map with is_combat_loading appeared')
break
if self.handle_auto_search_exit(drop=drop):
timeout.limit = 10
timeout.reset()

View File

@@ -380,8 +380,7 @@ class FastForwardHandler(AutoSearchHandler):
# Insert custom increase logic
if self.config.STAGE_INCREASE_AB:
stage_increase = [
'A1 > A2 > A3 > B1 > B2 > B3',
'C1 > C2 > C3 > D1 > D2 > D3',
'A1 > A2 > A3 > B1 > B2 > B3',
] + stage_increase
custom = self.config.STAGE_INCREASE_CUSTOM
if custom:

View File

@@ -245,6 +245,24 @@ class InfoHandler(ModuleBase):
"""
return self.appear_then_click(GET_SKIN, offset=(20, 20), interval=2)
def handle_get_items_ship(self, drop=None):
"""
2026.06.12 added different GET_ITEMS popup when getting ship
Args:
drop (DropImage):
Returns:
bool:
"""
if self.appear(GET_ITEMS_SHIP_1, offset=5, interval=2):
if drop:
drop.handle_add(self)
self.device.click(GET_ITEMS_SHIP_1)
return True
return False
"""
Guild popup info
"""

View File

@@ -4,15 +4,15 @@ from module.base.template import Template
# This file was automatically generated by dev_tools/button_extract.py.
# Don't modify it manually.
AMOUNT_MAX = Button(area={'cn': (772, 316, 822, 332), 'en': (772, 316, 822, 332), 'jp': (772, 316, 822, 332), 'tw': (772, 316, 822, 332)}, color={'cn': (148, 178, 225), 'en': (148, 178, 225), 'jp': (148, 178, 225), 'tw': (148, 178, 225)}, button={'cn': (772, 316, 822, 332), 'en': (772, 316, 822, 332), 'jp': (772, 316, 822, 332), 'tw': (772, 316, 822, 332)}, file={'cn': './assets/cn/shop/AMOUNT_MAX.png', 'en': './assets/en/shop/AMOUNT_MAX.png', 'jp': './assets/jp/shop/AMOUNT_MAX.png', 'tw': './assets/tw/shop/AMOUNT_MAX.png'})
AMOUNT_MINUS = Button(area={'cn': (546, 304, 586, 344), 'en': (546, 304, 586, 344), 'jp': (546, 304, 586, 344), 'tw': (546, 304, 586, 344)}, color={'cn': (76, 127, 195), 'en': (76, 127, 195), 'jp': (76, 127, 195), 'tw': (76, 127, 195)}, button={'cn': (546, 304, 586, 344), 'en': (546, 304, 586, 344), 'jp': (546, 304, 586, 344), 'tw': (546, 304, 586, 344)}, file={'cn': './assets/cn/shop/AMOUNT_MINUS.png', 'en': './assets/en/shop/AMOUNT_MINUS.png', 'jp': './assets/jp/shop/AMOUNT_MINUS.png', 'tw': './assets/tw/shop/AMOUNT_MINUS.png'})
AMOUNT_PLUS = Button(area={'cn': (693, 304, 735, 344), 'en': (693, 304, 735, 344), 'jp': (693, 304, 735, 344), 'tw': (693, 304, 735, 344)}, color={'cn': (81, 130, 196), 'en': (81, 130, 196), 'jp': (81, 130, 196), 'tw': (81, 130, 196)}, button={'cn': (693, 304, 735, 344), 'en': (693, 304, 735, 344), 'jp': (693, 304, 735, 344), 'tw': (693, 304, 735, 344)}, file={'cn': './assets/cn/shop/AMOUNT_PLUS.png', 'en': './assets/en/shop/AMOUNT_PLUS.png', 'jp': './assets/jp/shop/AMOUNT_PLUS.png', 'tw': './assets/tw/shop/AMOUNT_PLUS.png'})
AMOUNT_MAX = Button(area={'cn': (762, 314, 830, 342), 'en': (772, 316, 822, 332), 'jp': (772, 316, 822, 332), 'tw': (772, 316, 822, 332)}, color={'cn': (104, 145, 209), 'en': (148, 178, 225), 'jp': (148, 178, 225), 'tw': (148, 178, 225)}, button={'cn': (762, 314, 830, 342), 'en': (772, 316, 822, 332), 'jp': (772, 316, 822, 332), 'tw': (772, 316, 822, 332)}, file={'cn': './assets/cn/shop/AMOUNT_MAX.png', 'en': './assets/en/shop/AMOUNT_MAX.png', 'jp': './assets/jp/shop/AMOUNT_MAX.png', 'tw': './assets/tw/shop/AMOUNT_MAX.png'})
AMOUNT_MINUS = Button(area={'cn': (549, 311, 582, 345), 'en': (546, 304, 586, 344), 'jp': (546, 304, 586, 344), 'tw': (546, 304, 586, 344)}, color={'cn': (82, 129, 194), 'en': (76, 127, 195), 'jp': (76, 127, 195), 'tw': (76, 127, 195)}, button={'cn': (549, 311, 582, 345), 'en': (546, 304, 586, 344), 'jp': (546, 304, 586, 344), 'tw': (546, 304, 586, 344)}, file={'cn': './assets/cn/shop/AMOUNT_MINUS.png', 'en': './assets/en/shop/AMOUNT_MINUS.png', 'jp': './assets/jp/shop/AMOUNT_MINUS.png', 'tw': './assets/tw/shop/AMOUNT_MINUS.png'})
AMOUNT_PLUS = Button(area={'cn': (696, 312, 732, 345), 'en': (693, 304, 735, 344), 'jp': (693, 304, 735, 344), 'tw': (693, 304, 735, 344)}, color={'cn': (88, 133, 199), 'en': (81, 130, 196), 'jp': (81, 130, 196), 'tw': (81, 130, 196)}, button={'cn': (696, 312, 732, 345), 'en': (693, 304, 735, 344), 'jp': (693, 304, 735, 344), 'tw': (693, 304, 735, 344)}, file={'cn': './assets/cn/shop/AMOUNT_PLUS.png', 'en': './assets/en/shop/AMOUNT_PLUS.png', 'jp': './assets/jp/shop/AMOUNT_PLUS.png', 'tw': './assets/tw/shop/AMOUNT_PLUS.png'})
MEDAL_SHOP_SCROLL_AREA_250814 = Button(area={'cn': (1064, 201, 1065, 623), 'en': (1064, 201, 1065, 623), 'jp': (1064, 201, 1065, 623), 'tw': (1064, 201, 1065, 623)}, color={'cn': (128, 143, 152), 'en': (128, 143, 152), 'jp': (128, 143, 152), 'tw': (128, 143, 152)}, button={'cn': (1064, 201, 1065, 623), 'en': (1064, 201, 1065, 623), 'jp': (1064, 201, 1065, 623), 'tw': (1064, 201, 1065, 623)}, file={'cn': './assets/cn/shop/MEDAL_SHOP_SCROLL_AREA_250814.png', 'en': './assets/en/shop/MEDAL_SHOP_SCROLL_AREA_250814.png', 'jp': './assets/cn/shop/MEDAL_SHOP_SCROLL_AREA_250814.png', 'tw': './assets/cn/shop/MEDAL_SHOP_SCROLL_AREA_250814.png'})
NAV_GENERAL = Button(area={'cn': (52, 436, 127, 457), 'en': (47, 438, 127, 458), 'jp': (50, 438, 94, 458), 'tw': (53, 436, 126, 459)}, color={'cn': (126, 178, 207), 'en': (137, 185, 211), 'jp': (149, 194, 218), 'tw': (146, 191, 214)}, button={'cn': (52, 436, 127, 457), 'en': (47, 438, 127, 458), 'jp': (50, 438, 94, 458), 'tw': (53, 436, 126, 459)}, file={'cn': './assets/cn/shop/NAV_GENERAL.png', 'en': './assets/en/shop/NAV_GENERAL.png', 'jp': './assets/jp/shop/NAV_GENERAL.png', 'tw': './assets/tw/shop/NAV_GENERAL.png'})
NAV_MONTHLY = Button(area={'cn': (52, 486, 127, 508), 'en': (51, 487, 131, 507), 'jp': (53, 488, 125, 508), 'tw': (53, 487, 125, 507)}, color={'cn': (127, 178, 207), 'en': (129, 179, 207), 'jp': (161, 201, 219), 'tw': (143, 187, 210)}, button={'cn': (52, 486, 127, 508), 'en': (51, 487, 131, 507), 'jp': (53, 488, 125, 508), 'tw': (53, 487, 125, 507)}, file={'cn': './assets/cn/shop/NAV_MONTHLY.png', 'en': './assets/en/shop/NAV_MONTHLY.png', 'jp': './assets/jp/shop/NAV_MONTHLY.png', 'tw': './assets/tw/shop/NAV_MONTHLY.png'})
SELECT_MINUS = Button(area={'cn': (562, 201, 588, 227), 'en': (562, 201, 588, 227), 'jp': (562, 201, 588, 227), 'tw': (562, 201, 588, 227)}, color={'cn': (86, 70, 70), 'en': (86, 70, 70), 'jp': (86, 70, 70), 'tw': (86, 70, 70)}, button={'cn': (562, 201, 588, 227), 'en': (562, 201, 588, 227), 'jp': (562, 201, 588, 227), 'tw': (562, 201, 588, 227)}, file={'cn': './assets/cn/shop/SELECT_MINUS.png', 'en': './assets/en/shop/SELECT_MINUS.png', 'jp': './assets/jp/shop/SELECT_MINUS.png', 'tw': './assets/tw/shop/SELECT_MINUS.png'})
SELECT_PLUS = Button(area={'cn': (674, 201, 700, 227), 'en': (674, 201, 700, 227), 'jp': (674, 201, 700, 227), 'tw': (674, 201, 700, 227)}, color={'cn': (97, 70, 70), 'en': (97, 70, 70), 'jp': (97, 70, 70), 'tw': (97, 70, 70)}, button={'cn': (674, 201, 700, 227), 'en': (674, 201, 700, 227), 'jp': (674, 201, 700, 227), 'tw': (674, 201, 700, 227)}, file={'cn': './assets/cn/shop/SELECT_PLUS.png', 'en': './assets/en/shop/SELECT_PLUS.png', 'jp': './assets/jp/shop/SELECT_PLUS.png', 'tw': './assets/tw/shop/SELECT_PLUS.png'})
SHOP_AMOUNT = Button(area={'cn': (600, 310, 680, 340), 'en': (600, 310, 680, 340), 'jp': (600, 310, 680, 340), 'tw': (600, 310, 680, 340)}, color={'cn': (48, 52, 62), 'en': (48, 52, 62), 'jp': (48, 52, 62), 'tw': (48, 52, 62)}, button={'cn': (600, 310, 680, 340), 'en': (600, 310, 680, 340), 'jp': (600, 310, 680, 340), 'tw': (600, 310, 680, 340)}, file={'cn': './assets/cn/shop/SHOP_AMOUNT.png', 'en': './assets/en/shop/SHOP_AMOUNT.png', 'jp': './assets/jp/shop/SHOP_AMOUNT.png', 'tw': './assets/tw/shop/SHOP_AMOUNT.png'})
SHOP_AMOUNT = Button(area={'cn': (600, 313, 680, 344), 'en': (600, 310, 680, 340), 'jp': (600, 310, 680, 340), 'tw': (600, 310, 680, 340)}, color={'cn': (38, 38, 46), 'en': (48, 52, 62), 'jp': (48, 52, 62), 'tw': (48, 52, 62)}, button={'cn': (600, 313, 680, 344), 'en': (600, 310, 680, 340), 'jp': (600, 310, 680, 340), 'tw': (600, 310, 680, 340)}, file={'cn': './assets/cn/shop/SHOP_AMOUNT.png', 'en': './assets/en/shop/SHOP_AMOUNT.png', 'jp': './assets/jp/shop/SHOP_AMOUNT.png', 'tw': './assets/tw/shop/SHOP_AMOUNT.png'})
SHOP_BUY_CONFIRM = Button(area={'cn': (703, 483, 876, 540), 'en': (708, 487, 872, 534), 'jp': (720, 494, 862, 531), 'tw': (706, 485, 875, 537)}, color={'cn': (94, 142, 203), 'en': (115, 157, 210), 'jp': (100, 147, 205), 'tw': (95, 143, 203)}, button={'cn': (703, 483, 876, 540), 'en': (708, 487, 872, 534), 'jp': (720, 494, 862, 531), 'tw': (706, 485, 875, 537)}, file={'cn': './assets/cn/shop/SHOP_BUY_CONFIRM.png', 'en': './assets/en/shop/SHOP_BUY_CONFIRM.png', 'jp': './assets/jp/shop/SHOP_BUY_CONFIRM.png', 'tw': './assets/tw/shop/SHOP_BUY_CONFIRM.png'})
SHOP_BUY_CONFIRM_AMOUNT = Button(area={'cn': (756, 622, 827, 653), 'en': (724, 623, 856, 650), 'jp': (756, 623, 826, 653), 'tw': (756, 623, 827, 653)}, color={'cn': (137, 168, 209), 'en': (146, 174, 211), 'jp': (123, 158, 204), 'tw': (139, 170, 210)}, button={'cn': (756, 622, 827, 653), 'en': (724, 623, 856, 650), 'jp': (756, 623, 826, 653), 'tw': (756, 623, 827, 653)}, file={'cn': './assets/cn/shop/SHOP_BUY_CONFIRM_AMOUNT.png', 'en': './assets/en/shop/SHOP_BUY_CONFIRM_AMOUNT.png', 'jp': './assets/jp/shop/SHOP_BUY_CONFIRM_AMOUNT.png', 'tw': './assets/tw/shop/SHOP_BUY_CONFIRM_AMOUNT.png'})
SHOP_BUY_CONFIRM_MISTAKE = Button(area={'cn': (590, 300, 612, 318), 'en': (590, 300, 612, 318), 'jp': (590, 300, 612, 318), 'tw': (590, 300, 612, 318)}, color={'cn': (154, 79, 103), 'en': (154, 79, 103), 'jp': (154, 79, 103), 'tw': (154, 79, 103)}, button={'cn': (590, 300, 612, 318), 'en': (590, 300, 612, 318), 'jp': (590, 300, 612, 318), 'tw': (590, 300, 612, 318)}, file={'cn': './assets/cn/shop/SHOP_BUY_CONFIRM_MISTAKE.png', 'en': './assets/en/shop/SHOP_BUY_CONFIRM_MISTAKE.png', 'jp': './assets/jp/shop/SHOP_BUY_CONFIRM_MISTAKE.png', 'tw': './assets/tw/shop/SHOP_BUY_CONFIRM_MISTAKE.png'})