mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-03-09 18:39:04 +08:00
Upd: GemsFarming Allow High Level Flagship
This commit is contained in:
parent
7933ad52bc
commit
5f14aa8730
@ -322,6 +322,7 @@
|
|||||||
"CommonDD": "any",
|
"CommonDD": "any",
|
||||||
"EnableEquipmentCode": true,
|
"EnableEquipmentCode": true,
|
||||||
"EquipmentCode": "DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null",
|
"EquipmentCode": "DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null",
|
||||||
|
"ALLowHighFlagshipLevel": false,
|
||||||
"ALLowLowVanguardLevel": false,
|
"ALLowLowVanguardLevel": false,
|
||||||
"FleetNumberInHardMode": 0,
|
"FleetNumberInHardMode": 0,
|
||||||
"StopIFAutoNotEnsured": true,
|
"StopIFAutoNotEnsured": true,
|
||||||
|
|||||||
@ -362,9 +362,19 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
logger.hr('FINDING FLAGSHIP')
|
logger.hr('FINDING FLAGSHIP')
|
||||||
|
|
||||||
|
if self.config.GemsFarming_ALLowHighFlagshipLevel:
|
||||||
|
if self.config.SERVER in ['cn']:
|
||||||
|
max_level = 100
|
||||||
|
else:
|
||||||
|
max_level = 70
|
||||||
|
min_level = max_level
|
||||||
|
else:
|
||||||
|
max_level = lv
|
||||||
|
min_level = 1
|
||||||
emotion_lower_bound = 0 if emotion == 0 else self.emotion_lower_bound
|
emotion_lower_bound = 0 if emotion == 0 else self.emotion_lower_bound
|
||||||
scanner = ShipScanner(
|
scanner = ShipScanner(
|
||||||
level=(1, lv), emotion=(emotion_lower_bound, 150), fleet=self.fleet_to_attack, status='free')
|
level=(min_level, max_level), emotion=(emotion_lower_bound, 150), fleet=self.fleet_to_attack, status='free')
|
||||||
scanner.disable('rarity')
|
scanner.disable('rarity')
|
||||||
|
|
||||||
if self.config.GemsFarming_CommonCV in ['any', 'eagle']:
|
if self.config.GemsFarming_CommonCV in ['any', 'eagle']:
|
||||||
@ -547,6 +557,12 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
self._FLEET_ENTER_FLAGSHIP = self.FLEET_ENTER_FLAGSHIP
|
self._FLEET_ENTER_FLAGSHIP = self.FLEET_ENTER_FLAGSHIP
|
||||||
self.FLEET_ENTER_FLAGSHIP = self.FLEET_ENTER_FLAGSHIP_3_POSITION
|
self.FLEET_ENTER_FLAGSHIP = self.FLEET_ENTER_FLAGSHIP_3_POSITION
|
||||||
|
|
||||||
|
def flagship_change_with_emotion(self, ship):
|
||||||
|
target_ship = max(ship, key=lambda s: (s.level, s.emotion))
|
||||||
|
if self.config.GemsFarming_ALLowHighFlagshipLevel:
|
||||||
|
self.set_emotion(target_ship.emotion)
|
||||||
|
self._ship_change_confirm(target_ship.button)
|
||||||
|
|
||||||
def flagship_change_execute(self):
|
def flagship_change_execute(self):
|
||||||
"""
|
"""
|
||||||
Returns:
|
Returns:
|
||||||
@ -562,13 +578,14 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
appear_button=self.page_fleet_check_button, check_button=DOCK_CHECK, skip_first_screenshot=True)
|
appear_button=self.page_fleet_check_button, check_button=DOCK_CHECK, skip_first_screenshot=True)
|
||||||
self.FLEET_ENTER_FLAGSHIP = self._FLEET_ENTER_FLAGSHIP if not self.hard_mode else self.FLEET_ENTER_FLAGSHIP
|
self.FLEET_ENTER_FLAGSHIP = self._FLEET_ENTER_FLAGSHIP if not self.hard_mode else self.FLEET_ENTER_FLAGSHIP
|
||||||
faction = 'eagle' if self.config.GemsFarming_CommonCV == 'eagle' else 'all'
|
faction = 'eagle' if self.config.GemsFarming_CommonCV == 'eagle' else 'all'
|
||||||
|
extra = 'can_limit_break' if self.config.GemsFarming_ALLowHighFlagshipLevel else 'enhanceable'
|
||||||
self.dock_filter_set(
|
self.dock_filter_set(
|
||||||
index='cv', rarity='common', faction=faction, extra='enhanceable', sort='total')
|
index='cv', rarity='common', faction=faction, extra=extra, sort='total')
|
||||||
self.dock_favourite_set(False)
|
self.dock_favourite_set(False)
|
||||||
|
|
||||||
ship = self.get_common_rarity_cv()
|
ship = self.get_common_rarity_cv()
|
||||||
if ship:
|
if ship:
|
||||||
self._ship_change_confirm(max(ship, key=lambda s: (s.level, s.emotion)).button)
|
self.flagship_change_with_emotion(ship)
|
||||||
|
|
||||||
if self.hard_mode:
|
if self.hard_mode:
|
||||||
self.FLEET_ENTER_FLAGSHIP = self._FLEET_ENTER_FLAGSHIP
|
self.FLEET_ENTER_FLAGSHIP = self._FLEET_ENTER_FLAGSHIP
|
||||||
@ -584,7 +601,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
max_level = 70
|
max_level = 70
|
||||||
ship = self.get_common_rarity_cv(lv=max_level, emotion=0)
|
ship = self.get_common_rarity_cv(lv=max_level, emotion=0)
|
||||||
if ship and self.hard_mode:
|
if ship and self.hard_mode:
|
||||||
self._ship_change_confirm(max(ship, key=lambda s: (s.level, s.emotion)).button)
|
self.flagship_change_with_emotion(ship)
|
||||||
else:
|
else:
|
||||||
if self.hard_mode:
|
if self.hard_mode:
|
||||||
raise RequestHumanTakeover
|
raise RequestHumanTakeover
|
||||||
@ -608,6 +625,14 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
self._FLEET_ENTER = self.FLEET_ENTER
|
self._FLEET_ENTER = self.FLEET_ENTER
|
||||||
self.FLEET_ENTER = self.FLEET_ENTER_3_POSITION
|
self.FLEET_ENTER = self.FLEET_ENTER_3_POSITION
|
||||||
|
|
||||||
|
def vanguard_change_with_emotion(self, ship):
|
||||||
|
target_ship = max(ship, key=lambda s: s.emotion)
|
||||||
|
if self.config.GemsFarming_ALLowHighFlagshipLevel:
|
||||||
|
self.set_emotion(min(self.get_emotion(), target_ship.emotion))
|
||||||
|
else:
|
||||||
|
self.set_emotion(target_ship.emotion)
|
||||||
|
self._ship_change_confirm(target_ship.button)
|
||||||
|
|
||||||
def vanguard_change_execute(self):
|
def vanguard_change_execute(self):
|
||||||
"""
|
"""
|
||||||
Returns:
|
Returns:
|
||||||
@ -641,9 +666,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
if ship:
|
if ship:
|
||||||
if self.hard_mode:
|
if self.hard_mode:
|
||||||
self.FLEET_ENTER = self._FLEET_ENTER
|
self.FLEET_ENTER = self._FLEET_ENTER
|
||||||
target_ship = max(ship, key=lambda s: s.emotion)
|
self.vanguard_change_with_emotion(ship)
|
||||||
self.set_emotion(target_ship.emotion)
|
|
||||||
self._ship_change_confirm(target_ship.button)
|
|
||||||
|
|
||||||
logger.info('Change vanguard ship success')
|
logger.info('Change vanguard ship success')
|
||||||
return True
|
return True
|
||||||
@ -652,9 +675,7 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
|
|
||||||
ship = self.get_common_rarity_dd(emotion=0)
|
ship = self.get_common_rarity_dd(emotion=0)
|
||||||
if ship and self.hard_mode:
|
if ship and self.hard_mode:
|
||||||
target_ship = max(ship, key=lambda s: s.emotion)
|
self.vanguard_change_with_emotion(ship)
|
||||||
self.set_emotion(target_ship.emotion)
|
|
||||||
self._ship_change_confirm(target_ship.button)
|
|
||||||
else:
|
else:
|
||||||
if self.hard_mode:
|
if self.hard_mode:
|
||||||
raise RequestHumanTakeover
|
raise RequestHumanTakeover
|
||||||
@ -681,6 +702,12 @@ class GemsFarming(CampaignRun, Dock, EquipmentChange, GemsEquipmentHandler):
|
|||||||
|
|
||||||
return super().triggered_stop_condition(oil_check=oil_check)
|
return super().triggered_stop_condition(oil_check=oil_check)
|
||||||
|
|
||||||
|
def get_emotion(self):
|
||||||
|
if self.config.Fleet_FleetOrder == 'fleet1_standby_fleet2_all':
|
||||||
|
return self.campaign.config.Emotion_Fleet2Value
|
||||||
|
else:
|
||||||
|
return self.campaign.config.Emotion_Fleet1Value
|
||||||
|
|
||||||
def set_emotion(self, emotion):
|
def set_emotion(self, emotion):
|
||||||
if self.config.Fleet_FleetOrder == 'fleet1_standby_fleet2_all':
|
if self.config.Fleet_FleetOrder == 'fleet1_standby_fleet2_all':
|
||||||
self.campaign.config.set_record(Emotion_Fleet2Value=emotion)
|
self.campaign.config.set_record(Emotion_Fleet2Value=emotion)
|
||||||
|
|||||||
@ -1665,6 +1665,10 @@
|
|||||||
"value": "DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null",
|
"value": "DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null",
|
||||||
"mode": "yaml"
|
"mode": "yaml"
|
||||||
},
|
},
|
||||||
|
"ALLowHighFlagshipLevel": {
|
||||||
|
"type": "checkbox",
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
"ALLowLowVanguardLevel": {
|
"ALLowLowVanguardLevel": {
|
||||||
"type": "checkbox",
|
"type": "checkbox",
|
||||||
"value": false
|
"value": false
|
||||||
|
|||||||
@ -291,6 +291,7 @@ GemsFarming:
|
|||||||
hermes: null
|
hermes: null
|
||||||
langley: null
|
langley: null
|
||||||
ranger: null
|
ranger: null
|
||||||
|
ALLowHighFlagshipLevel: false
|
||||||
ALLowLowVanguardLevel: false
|
ALLowLowVanguardLevel: false
|
||||||
FleetNumberInHardMode:
|
FleetNumberInHardMode:
|
||||||
value: 0
|
value: 0
|
||||||
|
|||||||
@ -157,6 +157,7 @@ class GeneratedConfig:
|
|||||||
GemsFarming_CommonDD = 'any' # any, favourite, aulick_or_foote, cassin_or_downes, z20_or_z21
|
GemsFarming_CommonDD = 'any' # any, favourite, aulick_or_foote, cassin_or_downes, z20_or_z21
|
||||||
GemsFarming_EnableEquipmentCode = True
|
GemsFarming_EnableEquipmentCode = True
|
||||||
GemsFarming_EquipmentCode = 'DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null'
|
GemsFarming_EquipmentCode = 'DD: null\nbogue: null\nhermes: null\nlangley: null\nranger: null'
|
||||||
|
GemsFarming_ALLowHighFlagshipLevel = False
|
||||||
GemsFarming_ALLowLowVanguardLevel = False
|
GemsFarming_ALLowLowVanguardLevel = False
|
||||||
GemsFarming_FleetNumberInHardMode = 0 # 0, 1, 2
|
GemsFarming_FleetNumberInHardMode = 0 # 0, 1, 2
|
||||||
GemsFarming_StopIFAutoNotEnsured = True
|
GemsFarming_StopIFAutoNotEnsured = True
|
||||||
|
|||||||
@ -1195,6 +1195,10 @@
|
|||||||
"name": "",
|
"name": "",
|
||||||
"help": ""
|
"help": ""
|
||||||
},
|
},
|
||||||
|
"ALLowHighFlagshipLevel": {
|
||||||
|
"name": "ALLow High Flagship Level",
|
||||||
|
"help": "Only Common CV at level 70 will now be used"
|
||||||
|
},
|
||||||
"ALLowLowVanguardLevel": {
|
"ALLowLowVanguardLevel": {
|
||||||
"name": "ALLow Low Vanguard Level",
|
"name": "ALLow Low Vanguard Level",
|
||||||
"help": "Destroyers over level 10 will now be used, 49 for Event CD"
|
"help": "Destroyers over level 10 will now be used, 49 for Event CD"
|
||||||
|
|||||||
@ -1195,6 +1195,10 @@
|
|||||||
"name": "GemsFarming.EquipmentCode.name",
|
"name": "GemsFarming.EquipmentCode.name",
|
||||||
"help": "GemsFarming.EquipmentCode.help"
|
"help": "GemsFarming.EquipmentCode.help"
|
||||||
},
|
},
|
||||||
|
"ALLowHighFlagshipLevel": {
|
||||||
|
"name": "GemsFarming.ALLowHighFlagshipLevel.name",
|
||||||
|
"help": "GemsFarming.ALLowHighFlagshipLevel.help"
|
||||||
|
},
|
||||||
"ALLowLowVanguardLevel": {
|
"ALLowLowVanguardLevel": {
|
||||||
"name": "GemsFarming.ALLowLowVanguardLevel.name",
|
"name": "GemsFarming.ALLowLowVanguardLevel.name",
|
||||||
"help": "GemsFarming.ALLowLowVanguardLevel.help"
|
"help": "GemsFarming.ALLowLowVanguardLevel.help"
|
||||||
|
|||||||
@ -1195,6 +1195,10 @@
|
|||||||
"name": "",
|
"name": "",
|
||||||
"help": ""
|
"help": ""
|
||||||
},
|
},
|
||||||
|
"ALLowHighFlagshipLevel": {
|
||||||
|
"name": "仅更换满级后排",
|
||||||
|
"help": "打开后,更换旗舰时仅会选择100级的白皮轻航。\n使用时请保证船坞中有符合条件的舰船。"
|
||||||
|
},
|
||||||
"ALLowLowVanguardLevel": {
|
"ALLowLowVanguardLevel": {
|
||||||
"name": "可更换低等级前排",
|
"name": "可更换低等级前排",
|
||||||
"help": "倍率打开时,前排等级限制改为10以上即可。若为困难模式(如CD图)改为49级。"
|
"help": "倍率打开时,前排等级限制改为10以上即可。若为困难模式(如CD图)改为49级。"
|
||||||
|
|||||||
@ -1195,6 +1195,10 @@
|
|||||||
"name": "",
|
"name": "",
|
||||||
"help": ""
|
"help": ""
|
||||||
},
|
},
|
||||||
|
"ALLowHighFlagshipLevel": {
|
||||||
|
"name": "仅更换满级后排",
|
||||||
|
"help": "打開後,更換旗艦時僅會選擇70級的白皮輕航。 \n使用時請保證船塢中有符合條件的艦船。"
|
||||||
|
},
|
||||||
"ALLowLowVanguardLevel": {
|
"ALLowLowVanguardLevel": {
|
||||||
"name": "可更換低等級前排",
|
"name": "可更換低等級前排",
|
||||||
"help": "倍率打開時,前排等級限制改為10以上即可"
|
"help": "倍率打開時,前排等級限制改為10以上即可"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user