1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-09 12:49:03 +08:00
This commit is contained in:
GH Action - Upstream Sync 2026-01-01 16:31:36 +00:00
commit 51266010b1
14 changed files with 29 additions and 26 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -274,3 +274,4 @@ To add a new event, add a new row in here, and run `python -m module.config.conf
| 20251127 | coalition 20251120 | DATE A LANE | - | - | - | DATE A LANE |
| 20251211 | event 20251023 cn | Tempesta and Islas de Libertád | - | - | - | 颶風與自由群島 |
| 20251218 | event 20251218 cn | A Note Through the Firmament | 响彻于天穹之音 | A Note Through the Firmament | 天穹に響く音謡 | - |
| 20251231 | event 20251218 cn | A Note Through the Firmament | - | - | - | 響徹於天穹之音 |

View File

@ -73,6 +73,7 @@ class Config:
'distance': 50,
'wlen': 1000
}
HOMO_STORAGE = ((8, 6), [(137.405, 104.804), (1046.044, 104.804), (-12.171, 652.093), (1166.717, 652.093)])
HOMO_EDGE_COLOR_RANGE = (0, 17)
MAP_WALK_USE_CURRENT_FLEET = True
MAP_SWIPE_MULTIPLY = (1.232, 1.255)

View File

@ -73,6 +73,7 @@ class Config:
'distance': 50,
'wlen': 1000
}
HOMO_STORAGE = ((8, 6), [(137.405, 104.804), (1046.044, 104.804), (-12.171, 652.093), (1166.717, 652.093)])
HOMO_EDGE_COLOR_RANGE = (0, 17)
MAP_WALK_USE_CURRENT_FLEET = True
MAP_SWIPE_MULTIPLY = (1.217, 1.240)

View File

@ -73,6 +73,7 @@ class Config:
'distance': 50,
'wlen': 1000
}
HOMO_STORAGE = ((8, 6), [(137.405, 104.804), (1046.044, 104.804), (-12.171, 652.093), (1166.717, 652.093)])
HOMO_EDGE_COLOR_RANGE = (0, 17)
MAP_WALK_USE_CURRENT_FLEET = True
MAP_SWIPE_MULTIPLY = (1.232, 1.255)

View File

@ -74,6 +74,7 @@ class Config:
'distance': 50,
'wlen': 1000
}
HOMO_STORAGE = ((8, 6), [(137.405, 104.804), (1046.044, 104.804), (-12.171, 652.093), (1166.717, 652.093)])
HOMO_EDGE_COLOR_RANGE = (0, 17)
MAP_WALK_USE_CURRENT_FLEET = True
MAP_SWIPE_MULTIPLY = (1.217, 1.240)

View File

@ -78,6 +78,7 @@ class Config:
'distance': 50,
'wlen': 1000
}
HOMO_STORAGE = ((8, 6), [(137.405, 104.804), (1046.044, 104.804), (-12.171, 652.093), (1166.717, 652.093)])
HOMO_EDGE_COLOR_RANGE = (0, 17)
MAP_WALK_USE_CURRENT_FLEET = True
MAP_SWIPE_MULTIPLY = (1.180, 1.202)

View File

@ -121,6 +121,8 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan
return PAUSE_Ninja
if PAUSE_ShadowPuppetry.match_luma(self.device.image, offset=(10, 10)):
return PAUSE_ShadowPuppetry
if PAUSE_MaidCafe.match_template_color(self.device.image, offset=(10, 10)):
return PAUSE_MaidCafe
return False
def handle_combat_quit(self, offset=(20, 20), interval=3):
@ -168,6 +170,10 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan
self.device.click(QUIT_Ninja)
timer.reset()
return True
if QUIT_MaidCafe.match_luma(self.device.image, offset=offset):
self.device.click(QUIT_MaidCafe)
timer.reset()
return True
return False
def ensure_combat_oil_loaded(self):

View File

@ -11,6 +11,7 @@ PAUSE_DOUBLE_CHECK = Button(area={'cn': (1226, 35, 1231, 60), 'en': (1226, 35, 1
PAUSE_Devil = Button(area={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, color={'cn': (193, 98, 108), 'en': (193, 98, 108), 'jp': (193, 98, 108), 'tw': (193, 98, 108)}, button={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, file={'cn': './assets/cn/combat_ui/PAUSE_Devil.png', 'en': './assets/cn/combat_ui/PAUSE_Devil.png', 'jp': './assets/cn/combat_ui/PAUSE_Devil.png', 'tw': './assets/cn/combat_ui/PAUSE_Devil.png'})
PAUSE_HolyLight = Button(area={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, color={'cn': (54, 40, 27), 'en': (54, 40, 27), 'jp': (54, 40, 27), 'tw': (54, 40, 27)}, button={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, file={'cn': './assets/cn/combat_ui/PAUSE_HolyLight.png', 'en': './assets/cn/combat_ui/PAUSE_HolyLight.png', 'jp': './assets/cn/combat_ui/PAUSE_HolyLight.png', 'tw': './assets/cn/combat_ui/PAUSE_HolyLight.png'})
PAUSE_Iridescent_Fantasy = Button(area={'cn': (1232, 33, 1252, 57), 'en': (1232, 33, 1252, 57), 'jp': (1232, 33, 1252, 57), 'tw': (1232, 33, 1252, 57)}, color={'cn': (124, 139, 190), 'en': (124, 139, 190), 'jp': (124, 139, 190), 'tw': (124, 139, 190)}, button={'cn': (1232, 33, 1252, 57), 'en': (1232, 33, 1252, 57), 'jp': (1232, 33, 1252, 57), 'tw': (1232, 33, 1252, 57)}, file={'cn': './assets/cn/combat_ui/PAUSE_Iridescent_Fantasy.png', 'en': './assets/en/combat_ui/PAUSE_Iridescent_Fantasy.png', 'jp': './assets/jp/combat_ui/PAUSE_Iridescent_Fantasy.png', 'tw': './assets/tw/combat_ui/PAUSE_Iridescent_Fantasy.png'})
PAUSE_MaidCafe = Button(area={'cn': (1230, 35, 1248, 54), 'en': (1230, 35, 1248, 54), 'jp': (1230, 35, 1248, 54), 'tw': (1230, 35, 1248, 54)}, color={'cn': (159, 145, 139), 'en': (159, 145, 139), 'jp': (159, 145, 139), 'tw': (159, 145, 139)}, button={'cn': (1230, 35, 1248, 54), 'en': (1230, 35, 1248, 54), 'jp': (1230, 35, 1248, 54), 'tw': (1230, 35, 1248, 54)}, file={'cn': './assets/cn/combat_ui/PAUSE_MaidCafe.png', 'en': './assets/cn/combat_ui/PAUSE_MaidCafe.png', 'jp': './assets/cn/combat_ui/PAUSE_MaidCafe.png', 'tw': './assets/cn/combat_ui/PAUSE_MaidCafe.png'})
PAUSE_Neon = Button(area={'cn': (1228, 32, 1250, 59), 'en': (1228, 32, 1250, 59), 'jp': (1228, 32, 1250, 59), 'tw': (1228, 32, 1250, 59)}, color={'cn': (106, 137, 80), 'en': (106, 137, 80), 'jp': (106, 137, 80), 'tw': (106, 137, 80)}, button={'cn': (1228, 32, 1250, 59), 'en': (1228, 32, 1250, 59), 'jp': (1228, 32, 1250, 59), 'tw': (1228, 32, 1250, 59)}, file={'cn': './assets/cn/combat_ui/PAUSE_Neon.png', 'en': './assets/cn/combat_ui/PAUSE_Neon.png', 'jp': './assets/cn/combat_ui/PAUSE_Neon.png', 'tw': './assets/cn/combat_ui/PAUSE_Neon.png'})
PAUSE_New = Button(area={'cn': (1231, 29, 1253, 56), 'en': (1231, 29, 1253, 56), 'jp': (1231, 29, 1253, 56), 'tw': (1231, 29, 1253, 56)}, color={'cn': (156, 158, 166), 'en': (156, 158, 166), 'jp': (156, 158, 166), 'tw': (156, 158, 166)}, button={'cn': (1231, 29, 1253, 56), 'en': (1231, 29, 1253, 56), 'jp': (1231, 29, 1253, 56), 'tw': (1231, 29, 1253, 56)}, file={'cn': './assets/cn/combat_ui/PAUSE_New.png', 'en': './assets/en/combat_ui/PAUSE_New.png', 'jp': './assets/jp/combat_ui/PAUSE_New.png', 'tw': './assets/tw/combat_ui/PAUSE_New.png'})
PAUSE_Ninja = Button(area={'cn': (1230, 37, 1246, 53), 'en': (1230, 37, 1246, 53), 'jp': (1230, 37, 1246, 53), 'tw': (1230, 37, 1246, 53)}, color={'cn': (135, 109, 92), 'en': (135, 109, 92), 'jp': (135, 109, 92), 'tw': (135, 109, 92)}, button={'cn': (1230, 37, 1246, 53), 'en': (1230, 37, 1246, 53), 'jp': (1230, 37, 1246, 53), 'tw': (1230, 37, 1246, 53)}, file={'cn': './assets/cn/combat_ui/PAUSE_Ninja.png', 'en': './assets/cn/combat_ui/PAUSE_Ninja.png', 'jp': './assets/cn/combat_ui/PAUSE_Ninja.png', 'tw': './assets/cn/combat_ui/PAUSE_Ninja.png'})
@ -23,6 +24,7 @@ QUIT = Button(area={'cn': (420, 490, 593, 548), 'en': (473, 508, 567, 532), 'jp'
QUIT_Christmas = Button(area={'cn': (400, 506, 477, 525), 'en': (410, 507, 469, 524), 'jp': (400, 506, 477, 525), 'tw': (400, 506, 477, 525)}, color={'cn': (195, 139, 166), 'en': (207, 166, 185), 'jp': (195, 139, 166), 'tw': (195, 139, 166)}, button={'cn': (400, 506, 477, 525), 'en': (410, 507, 469, 524), 'jp': (400, 506, 477, 525), 'tw': (400, 506, 477, 525)}, file={'cn': './assets/cn/combat_ui/QUIT_Christmas.png', 'en': './assets/en/combat_ui/QUIT_Christmas.png', 'jp': './assets/cn/combat_ui/QUIT_Christmas.png', 'tw': './assets/cn/combat_ui/QUIT_Christmas.png'})
QUIT_Cyber = Button(area={'cn': (393, 506, 470, 524), 'en': (393, 506, 470, 524), 'jp': (393, 506, 470, 524), 'tw': (393, 506, 470, 524)}, color={'cn': (255, 198, 190), 'en': (255, 198, 190), 'jp': (255, 198, 190), 'tw': (255, 198, 190)}, button={'cn': (393, 506, 470, 524), 'en': (393, 506, 470, 524), 'jp': (393, 506, 470, 524), 'tw': (393, 506, 470, 524)}, file={'cn': './assets/cn/combat_ui/QUIT_Cyber.png', 'en': './assets/cn/combat_ui/QUIT_Cyber.png', 'jp': './assets/cn/combat_ui/QUIT_Cyber.png', 'tw': './assets/tw/combat_ui/QUIT_Cyber.png'})
QUIT_Iridescent_Fantasy = Button(area={'cn': (391, 522, 464, 540), 'en': (402, 507, 460, 523), 'jp': (391, 522, 464, 540), 'tw': (391, 522, 464, 540)}, color={'cn': (121, 73, 79), 'en': (255, 174, 164), 'jp': (108, 60, 70), 'tw': (121, 73, 79)}, button={'cn': (391, 522, 464, 540), 'en': (402, 507, 460, 523), 'jp': (391, 522, 464, 540), 'tw': (391, 522, 464, 540)}, file={'cn': './assets/cn/combat_ui/QUIT_Iridescent_Fantasy.png', 'en': './assets/en/combat_ui/QUIT_Iridescent_Fantasy.png', 'jp': './assets/jp/combat_ui/QUIT_Iridescent_Fantasy.png', 'tw': './assets/cn/combat_ui/QUIT_Iridescent_Fantasy.png'})
QUIT_MaidCafe = Button(area={'cn': (423, 549, 501, 568), 'en': (423, 549, 501, 568), 'jp': (423, 549, 501, 568), 'tw': (423, 549, 501, 568)}, color={'cn': (168, 142, 133), 'en': (168, 142, 133), 'jp': (168, 142, 133), 'tw': (168, 142, 133)}, button={'cn': (423, 549, 501, 568), 'en': (423, 549, 501, 568), 'jp': (423, 549, 501, 568), 'tw': (423, 549, 501, 568)}, file={'cn': './assets/cn/combat_ui/QUIT_MaidCafe.png', 'en': './assets/cn/combat_ui/QUIT_MaidCafe.png', 'jp': './assets/cn/combat_ui/QUIT_MaidCafe.png', 'tw': './assets/cn/combat_ui/QUIT_MaidCafe.png'})
QUIT_New = Button(area={'cn': (394, 506, 467, 524), 'en': (404, 506, 463, 523), 'jp': (394, 506, 467, 524), 'tw': (393, 505, 471, 524)}, color={'cn': (255, 180, 171), 'en': (255, 195, 187), 'jp': (255, 180, 171), 'tw': (255, 200, 193)}, button={'cn': (394, 506, 467, 524), 'en': (404, 506, 463, 523), 'jp': (394, 506, 467, 524), 'tw': (393, 505, 471, 524)}, file={'cn': './assets/cn/combat_ui/QUIT_New.png', 'en': './assets/en/combat_ui/QUIT_New.png', 'jp': './assets/cn/combat_ui/QUIT_New.png', 'tw': './assets/tw/combat_ui/QUIT_New.png'})
QUIT_Ninja = Button(area={'cn': (398, 509, 477, 528), 'en': (398, 509, 477, 528), 'jp': (398, 509, 477, 528), 'tw': (398, 509, 477, 528)}, color={'cn': (148, 138, 134), 'en': (148, 138, 134), 'jp': (148, 138, 134), 'tw': (148, 138, 134)}, button={'cn': (398, 509, 477, 528), 'en': (398, 509, 477, 528), 'jp': (398, 509, 477, 528), 'tw': (398, 509, 477, 528)}, file={'cn': './assets/cn/combat_ui/QUIT_Ninja.png', 'en': './assets/cn/combat_ui/QUIT_Ninja.png', 'jp': './assets/cn/combat_ui/QUIT_Ninja.png', 'tw': './assets/cn/combat_ui/QUIT_Ninja.png'})
QUIT_Nurse = Button(area={'cn': (400, 507, 477, 525), 'en': (400, 507, 477, 525), 'jp': (400, 507, 477, 525), 'tw': (400, 507, 477, 525)}, color={'cn': (254, 193, 170), 'en': (254, 193, 170), 'jp': (254, 193, 170), 'tw': (254, 193, 170)}, button={'cn': (400, 507, 477, 525), 'en': (400, 507, 477, 525), 'jp': (400, 507, 477, 525), 'tw': (400, 507, 477, 525)}, file={'cn': './assets/cn/combat_ui/QUIT_Nurse.png', 'en': './assets/cn/combat_ui/QUIT_Nurse.png', 'jp': './assets/cn/combat_ui/QUIT_Nurse.png', 'tw': './assets/cn/combat_ui/QUIT_Nurse.png'})

View File

@ -1925,7 +1925,6 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"display": "hide",
@ -1939,10 +1938,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},
@ -2335,7 +2333,6 @@
"type": "state",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"option_cn": [
@ -2348,10 +2345,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},
@ -2739,7 +2735,6 @@
"type": "state",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"option_cn": [
@ -2752,10 +2747,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},
@ -4520,7 +4514,6 @@
"type": "state",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"option_cn": [
@ -4533,10 +4526,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},
@ -4941,7 +4933,6 @@
"type": "state",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"option_cn": [
@ -4954,10 +4945,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},
@ -5362,7 +5352,6 @@
"type": "state",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"option_cn": [
@ -5375,10 +5364,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},
@ -5783,7 +5771,6 @@
"type": "state",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"option_cn": [
@ -5796,10 +5783,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},
@ -6194,7 +6180,6 @@
"type": "state",
"value": "campaign_main",
"option": [
"event_20251023_cn",
"event_20251218_cn"
],
"option_cn": [
@ -6207,10 +6192,9 @@
"event_20251218_cn"
],
"option_tw": [
"event_20251023_cn"
"event_20251218_cn"
],
"option_bold": [
"event_20251023_cn",
"event_20251218_cn"
]
},

View File

@ -781,7 +781,7 @@
"event_20250814_cn": "奇淵下的秘密",
"event_20250912_cn": "起舞於天原之上",
"event_20251023_cn": "颶風與自由群島",
"event_20251218_cn": "A Note Through the Firmament",
"event_20251218_cn": "響徹於天穹之音",
"raid_20200624": "特別演習埃塞克斯級(復刻)",
"raid_20210708": "復刻穿越彼方的水線",
"raid_20220127": "演習神秘事件調查",

View File

@ -74,7 +74,8 @@ class HpDaemon(ModuleBase):
PAUSE_Seaside,
PAUSE_Star,
PAUSE_Ninja,
PAUSE_ShadowPuppetry
PAUSE_ShadowPuppetry,
PAUSE_MaidCafe,
]:
self.attacker_hp = self._calculate_hp(image, area=ATTACKER_HP_AREA_New.area, reverse=True)
self.defender_hp = self._calculate_hp(image, area=DEFENDER_HP_AREA_New.area, reverse=True)

View File

@ -57,6 +57,7 @@ class OSMapOperation(MapOrderHandler, MissionHandler, PortHandler, StorageHandle
name = ocr.ocr(self.device.image)
name = "".join(name.split())
name = name.lower()
name = name.strip('\\/-')
if '-' in name:
name = name.split('-')[0]
if 'é' in name: # Méditerranée name maps
@ -89,6 +90,7 @@ class OSMapOperation(MapOrderHandler, MissionHandler, PortHandler, StorageHandle
# For JP only
ocr = Ocr(MAP_NAME, lang='jp', letter=(157, 173, 192), threshold=127, name='OCR_OS_MAP_NAME')
name = ocr.ocr(self.device.image)
name = name.strip('\\/-')
self.is_zone_name_hidden = '安全' in name
# Remove punctuations
for char in '':
@ -117,6 +119,7 @@ class OSMapOperation(MapOrderHandler, MissionHandler, PortHandler, StorageHandle
# For TW only
ocr = Ocr(MAP_NAME, lang='tw', letter=(198, 215, 239), threshold=127, name='OCR_OS_MAP_NAME')
name = ocr.ocr(self.device.image)
name = name.strip('\\/-')
self.is_zone_name_hidden = '安全' in name
# Remove '塞壬要塞海域'
if '' in name:
@ -130,6 +133,7 @@ class OSMapOperation(MapOrderHandler, MissionHandler, PortHandler, StorageHandle
# For CN only
ocr = Ocr(MAP_NAME, lang='cnocr', letter=(214, 231, 255), threshold=127, name='OCR_OS_MAP_NAME')
name = ocr.ocr(self.device.image)
name = name.strip('\\/-')
self.is_zone_name_hidden = '安全' in name
if '-' in name:
name = name.split('-')[0]