mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-04-02 02:34:08 +08:00
Merge branch 'master' of https://github.com/LmeSzinc/AzurLaneAutoScript
This commit is contained in:
@@ -4,8 +4,8 @@ from module.base.template import Template
|
||||
# This file was automatically generated by dev_tools/button_extract.py.
|
||||
# Don't modify it manually.
|
||||
|
||||
AIR_STRIKE_CANCEL = Button(area={'cn': (886, 644, 948, 675), 'en': (886, 644, 948, 675), 'jp': (948, 644, 1009, 676), 'tw': (886, 644, 948, 675)}, color={'cn': (195, 144, 139), 'en': (195, 144, 139), 'jp': (194, 124, 117), 'tw': (195, 144, 139)}, button={'cn': (886, 644, 948, 675), 'en': (886, 644, 948, 675), 'jp': (948, 644, 1009, 676), 'tw': (886, 644, 948, 675)}, file={'cn': './assets/cn/handler/AIR_STRIKE_CANCEL.png', 'en': './assets/cn/handler/AIR_STRIKE_CANCEL.png', 'jp': './assets/jp/handler/AIR_STRIKE_CANCEL.png', 'tw': './assets/cn/handler/AIR_STRIKE_CANCEL.png'})
|
||||
AIR_STRIKE_CONFIRM = Button(area={'cn': (1100, 644, 1161, 675), 'en': (1100, 644, 1161, 675), 'jp': (1161, 644, 1222, 675), 'tw': (1100, 644, 1161, 675)}, color={'cn': (132, 163, 203), 'en': (132, 163, 203), 'jp': (137, 170, 211), 'tw': (132, 163, 203)}, button={'cn': (1100, 644, 1161, 675), 'en': (1100, 644, 1161, 675), 'jp': (1161, 644, 1222, 675), 'tw': (1100, 644, 1161, 675)}, file={'cn': './assets/cn/handler/AIR_STRIKE_CONFIRM.png', 'en': './assets/cn/handler/AIR_STRIKE_CONFIRM.png', 'jp': './assets/jp/handler/AIR_STRIKE_CONFIRM.png', 'tw': './assets/cn/handler/AIR_STRIKE_CONFIRM.png'})
|
||||
AIR_STRIKE_CANCEL = Button(area={'cn': (887, 644, 948, 676), 'en': (887, 644, 948, 676), 'jp': (948, 644, 1009, 676), 'tw': (887, 644, 948, 676)}, color={'cn': (193, 141, 135), 'en': (193, 141, 135), 'jp': (194, 124, 117), 'tw': (193, 141, 135)}, button={'cn': (887, 644, 948, 676), 'en': (887, 644, 948, 676), 'jp': (948, 644, 1009, 676), 'tw': (887, 644, 948, 676)}, file={'cn': './assets/cn/handler/AIR_STRIKE_CANCEL.png', 'en': './assets/cn/handler/AIR_STRIKE_CANCEL.png', 'jp': './assets/jp/handler/AIR_STRIKE_CANCEL.png', 'tw': './assets/cn/handler/AIR_STRIKE_CANCEL.png'})
|
||||
AIR_STRIKE_CONFIRM = Button(area={'cn': (1100, 644, 1161, 675), 'en': (1100, 644, 1161, 675), 'jp': (1161, 644, 1222, 675), 'tw': (1100, 644, 1161, 675)}, color={'cn': (129, 161, 199), 'en': (129, 161, 199), 'jp': (137, 170, 211), 'tw': (129, 161, 199)}, button={'cn': (1100, 644, 1161, 675), 'en': (1100, 644, 1161, 675), 'jp': (1161, 644, 1222, 675), 'tw': (1100, 644, 1161, 675)}, file={'cn': './assets/cn/handler/AIR_STRIKE_CONFIRM.png', 'en': './assets/cn/handler/AIR_STRIKE_CONFIRM.png', 'jp': './assets/jp/handler/AIR_STRIKE_CONFIRM.png', 'tw': './assets/cn/handler/AIR_STRIKE_CONFIRM.png'})
|
||||
AIR_STRIKE_ENTER = Button(area={'cn': (1194, 456, 1249, 530), 'en': (1194, 456, 1249, 530), 'jp': (1194, 456, 1249, 530), 'tw': (1194, 456, 1249, 530)}, color={'cn': (123, 124, 131), 'en': (123, 124, 131), 'jp': (123, 124, 131), 'tw': (123, 124, 131)}, button={'cn': (1194, 456, 1249, 530), 'en': (1194, 456, 1249, 530), 'jp': (1194, 456, 1249, 530), 'tw': (1194, 456, 1249, 530)}, file={'cn': './assets/cn/handler/AIR_STRIKE_ENTER.png', 'en': './assets/cn/handler/AIR_STRIKE_ENTER.png', 'jp': './assets/cn/handler/AIR_STRIKE_ENTER.png', 'tw': './assets/cn/handler/AIR_STRIKE_ENTER.png'})
|
||||
ANDROID_NO_RESPOND = Button(area={'cn': (341, 433, 391, 472), 'en': (341, 433, 391, 472), 'jp': (341, 433, 391, 472), 'tw': (341, 433, 391, 472)}, color={'cn': (217, 237, 235), 'en': (217, 237, 235), 'jp': (217, 237, 235), 'tw': (217, 237, 235)}, button={'cn': (341, 433, 391, 472), 'en': (341, 433, 391, 472), 'jp': (341, 433, 391, 472), 'tw': (341, 433, 391, 472)}, file={'cn': './assets/cn/handler/ANDROID_NO_RESPOND.png', 'en': './assets/en/handler/ANDROID_NO_RESPOND.png', 'jp': './assets/jp/handler/ANDROID_NO_RESPOND.png', 'tw': './assets/tw/handler/ANDROID_NO_RESPOND.png'})
|
||||
AUTO_SEARCH_MAP_OPTION_OFF = Button(area={'cn': (1205, 549, 1275, 566), 'en': (1203, 552, 1277, 564), 'jp': (1204, 547, 1276, 568), 'tw': (1205, 546, 1275, 567)}, color={'cn': (196, 169, 169), 'en': (151, 132, 138), 'jp': (179, 153, 156), 'tw': (153, 132, 137)}, button={'cn': (1205, 549, 1275, 566), 'en': (1203, 552, 1277, 564), 'jp': (1204, 547, 1276, 568), 'tw': (1205, 546, 1275, 567)}, file={'cn': './assets/cn/handler/AUTO_SEARCH_MAP_OPTION_OFF.png', 'en': './assets/en/handler/AUTO_SEARCH_MAP_OPTION_OFF.png', 'jp': './assets/jp/handler/AUTO_SEARCH_MAP_OPTION_OFF.png', 'tw': './assets/tw/handler/AUTO_SEARCH_MAP_OPTION_OFF.png'})
|
||||
|
||||
@@ -121,6 +121,8 @@ class EnemySearchingHandler(InfoHandler):
|
||||
if self.handle_in_stage():
|
||||
return True
|
||||
if self.handle_auto_search_exit(drop=drop):
|
||||
timeout.limit = 10
|
||||
timeout.reset()
|
||||
continue
|
||||
|
||||
# Popups
|
||||
@@ -148,6 +150,7 @@ class EnemySearchingHandler(InfoHandler):
|
||||
if appeared:
|
||||
self.handle_enemy_flashing()
|
||||
self.device.sleep(0.3)
|
||||
self.device.screenshot()
|
||||
logger.info('Enemy searching appeared.')
|
||||
break
|
||||
self.enemy_searching_color_initial()
|
||||
@@ -155,7 +158,6 @@ class EnemySearchingHandler(InfoHandler):
|
||||
logger.info('Enemy searching timeout.')
|
||||
break
|
||||
|
||||
self.device.screenshot()
|
||||
return True
|
||||
|
||||
def handle_in_map_no_enemy_searching(self, drop=None):
|
||||
@@ -173,15 +175,15 @@ class EnemySearchingHandler(InfoHandler):
|
||||
while 1:
|
||||
self.device.screenshot()
|
||||
|
||||
# End
|
||||
if timeout.reached():
|
||||
break
|
||||
if not self.is_in_map():
|
||||
timeout.reset()
|
||||
|
||||
# Stage might ends,
|
||||
# although here expects an enemy searching animation.
|
||||
if self.handle_in_stage():
|
||||
return True
|
||||
if self.handle_auto_search_exit(drop=drop):
|
||||
timeout.reset()
|
||||
continue
|
||||
|
||||
# Popups
|
||||
@@ -198,4 +200,9 @@ class EnemySearchingHandler(InfoHandler):
|
||||
timeout.reset()
|
||||
continue
|
||||
|
||||
# End
|
||||
if timeout.reached():
|
||||
logger.info('No enemy searching in map.')
|
||||
break
|
||||
|
||||
return True
|
||||
|
||||
@@ -377,12 +377,17 @@ class Map(Fleet):
|
||||
grids = self.map.select(may_boss=True, is_accessible=True).sort('weight', 'cost')
|
||||
logger.info('May boss: %s' % grids)
|
||||
battle_count = self.battle_count
|
||||
is_single_boss = self.map.select(may_boss=True).count == 1
|
||||
if is_single_boss:
|
||||
expected = 'boss'
|
||||
else:
|
||||
expected = ''
|
||||
|
||||
for grid in grids:
|
||||
logger.hr('Clear potential BOSS')
|
||||
grids = grids.sort('weight', 'cost')
|
||||
logger.info('Grid: %s' % str(grid))
|
||||
self.fleet_boss.clear_chosen_enemy(grid)
|
||||
self.fleet_boss.clear_chosen_enemy(grid, expected=expected)
|
||||
if self.battle_count > battle_count:
|
||||
logger.info('Boss guessing correct.')
|
||||
return True
|
||||
@@ -397,7 +402,7 @@ class Map(Fleet):
|
||||
roadblocks = self.brute_find_roadblocks(grid, fleet=self.fleet_boss_index)
|
||||
roadblocks = roadblocks.sort('weight', 'cost')
|
||||
logger.info('Grids: %s' % str(roadblocks))
|
||||
self.fleet_1.clear_chosen_enemy(roadblocks[0])
|
||||
self.fleet_1.clear_chosen_enemy(roadblocks[0], expected=expected)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user