mirror of
https://github.com/W1NDes/M-AzurLaneAutoScript.git
synced 2026-05-14 04:08:09 +08:00
feat: 新增活动图相关配置项和短猫设置
- 在 StopCondition 中添加 EventSwitch 配置项,用于控制是否在活动图开荒完成后刷PT - 在 EventDaily 中添加 SyncEmotion 配置项,用于同步心情到活动图2 - 在 OpsiMeowfficerFarming 中添加 IgnoreStory 配置项,用于忽略剧情主线未完成的情况
This commit is contained in:
parent
b9ceddbca1
commit
af99cc97e1
@ -175,6 +175,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -249,6 +250,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -323,6 +325,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -404,6 +407,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -460,6 +464,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -534,6 +539,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -608,6 +614,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -686,6 +693,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Emotion": {
|
||||
@ -734,6 +742,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Emotion": {
|
||||
@ -794,6 +803,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -854,7 +864,8 @@
|
||||
},
|
||||
"EventDaily": {
|
||||
"StageFilter": "A1 > A2 > A3",
|
||||
"LastStage": 0
|
||||
"LastStage": 0,
|
||||
"SyncEmotion": false
|
||||
},
|
||||
"Campaign": {
|
||||
"Name": "dynamic",
|
||||
@ -872,6 +883,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -932,7 +944,8 @@
|
||||
},
|
||||
"EventDaily": {
|
||||
"StageFilter": "B1 > B2 > B3",
|
||||
"LastStage": 0
|
||||
"LastStage": 0,
|
||||
"SyncEmotion": false
|
||||
},
|
||||
"Campaign": {
|
||||
"Name": "dynamic",
|
||||
@ -950,6 +963,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -1010,7 +1024,8 @@
|
||||
},
|
||||
"EventDaily": {
|
||||
"StageFilter": "C1 > C2 > C3",
|
||||
"LastStage": 0
|
||||
"LastStage": 0,
|
||||
"SyncEmotion": false
|
||||
},
|
||||
"Campaign": {
|
||||
"Name": "dynamic",
|
||||
@ -1028,6 +1043,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -1088,7 +1104,8 @@
|
||||
},
|
||||
"EventDaily": {
|
||||
"StageFilter": "D1 > D2 > D3",
|
||||
"LastStage": 0
|
||||
"LastStage": 0,
|
||||
"SyncEmotion": false
|
||||
},
|
||||
"Campaign": {
|
||||
"Name": "dynamic",
|
||||
@ -1106,6 +1123,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -1166,7 +1184,8 @@
|
||||
},
|
||||
"EventDaily": {
|
||||
"StageFilter": "SP",
|
||||
"LastStage": 0
|
||||
"LastStage": 0,
|
||||
"SyncEmotion": false
|
||||
},
|
||||
"Campaign": {
|
||||
"Name": "dynamic",
|
||||
@ -1184,6 +1203,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Fleet": {
|
||||
@ -1261,6 +1281,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Emotion": {
|
||||
@ -1309,6 +1330,7 @@
|
||||
"MapAchievement": "non_stop",
|
||||
"StageIncrease": false,
|
||||
"GetNewShip": false,
|
||||
"EventSwitch": false,
|
||||
"ReachLevel": 0
|
||||
},
|
||||
"Emotion": {
|
||||
@ -1975,7 +1997,8 @@
|
||||
"OpsiMeowfficerFarming": {
|
||||
"ActionPointPreserve": 1000,
|
||||
"HazardLevel": 5,
|
||||
"TargetZone": 0
|
||||
"TargetZone": 0,
|
||||
"IgnoreStory": false
|
||||
},
|
||||
"OpsiFleet": {
|
||||
"Fleet": 1,
|
||||
|
||||
@ -331,6 +331,14 @@ class CampaignRun(CampaignEvent, ShopStatus):
|
||||
self.config.task_call('Commission', force_call=True)
|
||||
self.config.task_stop('Commission notice found')
|
||||
|
||||
def sync_emotion(self):
|
||||
KEYS = ['.Emotion.Fleet1Value','.Emotion.Fleet1Record','.Emotion.Fleet1Recover','.Emotion.Fleet2Value','.Emotion.Fleet2Record','.Emotion.Fleet2Recover']
|
||||
DATA =[self.config.Emotion_Fleet1Value,self.config.Emotion_Fleet1Record,self.config.Emotion_Fleet1Recover,self.config.Emotion_Fleet2Value,self.config.Emotion_Fleet2Record,self.config.Emotion_Fleet2Recover]
|
||||
for i, key in enumerate(KEYS):
|
||||
data = DATA[i]
|
||||
self.config.cross_set(keys=f'Event2{key}', value=f'{data}')
|
||||
logger.hr('detect emotion delay,sync emotion to event2')
|
||||
|
||||
def detect_low_emotion(self,name):
|
||||
EMOTION_TIP_L1=Button(area=(352, 311, 929, 348), color=(), button=(352, 311, 929, 348))
|
||||
EMOTION_TIP_L2=Button(area=(352, 350, 929, 387), color=(), button=(352, 350, 929, 387))
|
||||
@ -377,7 +385,7 @@ class CampaignRun(CampaignEvent, ShopStatus):
|
||||
logger.warning("Game stuck, but not emotion error")
|
||||
raise GameStuckError(f'Wait too long but not emotion error')
|
||||
|
||||
def run(self, name, folder='campaign_main', mode='normal', total=0):
|
||||
def run(self, name, folder='campaign_main', mode='normal', total=0,from_eventDaily=False):
|
||||
"""
|
||||
Args:
|
||||
name (str): Name of .py file.
|
||||
@ -399,6 +407,7 @@ class CampaignRun(CampaignEvent, ShopStatus):
|
||||
|
||||
# Log
|
||||
logger.hr(name, level=1)
|
||||
self.campaign.handle_map_stop()
|
||||
if self.config.StopCondition_RunCount > 0:
|
||||
logger.info(f'Count remain: {self.config.StopCondition_RunCount}')
|
||||
else:
|
||||
@ -454,6 +463,9 @@ class CampaignRun(CampaignEvent, ShopStatus):
|
||||
except ScriptEnd as e:
|
||||
logger.hr('Script end')
|
||||
logger.info(str(e))
|
||||
if from_eventDaily == True:
|
||||
if str(e) == 'Emotion control':
|
||||
self.sync_emotion()
|
||||
break
|
||||
except GameStuckError as e:
|
||||
if self.detect_low_emotion(name):
|
||||
|
||||
@ -741,6 +741,10 @@
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
@ -1118,6 +1122,10 @@
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
@ -1495,6 +1503,10 @@
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
@ -2005,6 +2017,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -2340,6 +2356,10 @@
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
@ -2797,6 +2817,10 @@
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
@ -3254,6 +3278,10 @@
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
@ -3673,6 +3701,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -3912,6 +3944,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -4208,6 +4244,10 @@
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
@ -4523,6 +4563,10 @@
|
||||
"LastStage": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"Campaign": {
|
||||
@ -4681,6 +4725,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -4997,6 +5045,10 @@
|
||||
"LastStage": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"Campaign": {
|
||||
@ -5155,6 +5207,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -5471,6 +5527,10 @@
|
||||
"LastStage": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"Campaign": {
|
||||
@ -5629,6 +5689,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -5945,6 +6009,10 @@
|
||||
"LastStage": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"Campaign": {
|
||||
@ -6103,6 +6171,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -6419,6 +6491,10 @@
|
||||
"LastStage": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"Campaign": {
|
||||
@ -6577,6 +6653,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -6989,6 +7069,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -7229,6 +7313,10 @@
|
||||
"value": false,
|
||||
"display": "hide"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
},
|
||||
"ReachLevel": {
|
||||
"type": "input",
|
||||
"value": 0,
|
||||
@ -9829,6 +9917,10 @@
|
||||
"TargetZone": {
|
||||
"type": "input",
|
||||
"value": 0
|
||||
},
|
||||
"IgnoreStory": {
|
||||
"type": "checkbox",
|
||||
"value": false
|
||||
}
|
||||
},
|
||||
"OpsiFleet": {
|
||||
|
||||
@ -218,6 +218,7 @@ StopCondition:
|
||||
option: [ non_stop, 100_percent_clear, map_3_stars, threat_safe, threat_safe_without_3_stars ]
|
||||
StageIncrease: false
|
||||
GetNewShip: false
|
||||
EventSwitch: false
|
||||
ReachLevel: 0
|
||||
Fleet:
|
||||
Fleet1:
|
||||
@ -347,6 +348,7 @@ EventDaily:
|
||||
StageFilter: |-
|
||||
A1 > A2 > A3
|
||||
LastStage: 0
|
||||
SyncEmotion: False
|
||||
Raid:
|
||||
Mode:
|
||||
value: hard
|
||||
@ -773,6 +775,7 @@ OpsiMeowfficerFarming:
|
||||
option: [ 3, 4, 5, 6, 10 ]
|
||||
TargetZone:
|
||||
value: 0
|
||||
IgnoreStory: false
|
||||
OpsiHazard1Leveling:
|
||||
TargetZone:
|
||||
value: 0
|
||||
|
||||
@ -151,6 +151,7 @@ class GeneratedConfig:
|
||||
StopCondition_MapAchievement = 'non_stop' # non_stop, 100_percent_clear, map_3_stars, threat_safe, threat_safe_without_3_stars
|
||||
StopCondition_StageIncrease = False
|
||||
StopCondition_GetNewShip = False
|
||||
StopCondition_EventSwitch = False
|
||||
StopCondition_ReachLevel = 0
|
||||
|
||||
# Group `Fleet`
|
||||
@ -229,6 +230,7 @@ class GeneratedConfig:
|
||||
# Group `EventDaily`
|
||||
EventDaily_StageFilter = 'A1 > A2 > A3'
|
||||
EventDaily_LastStage = 0
|
||||
EventDaily_SyncEmotion = False
|
||||
|
||||
# Group `Raid`
|
||||
Raid_Mode = 'hard' # easy, normal, hard, ex
|
||||
@ -489,6 +491,7 @@ class GeneratedConfig:
|
||||
OpsiMeowfficerFarming_ActionPointPreserve = 1000
|
||||
OpsiMeowfficerFarming_HazardLevel = 5 # 3, 4, 5, 6, 10
|
||||
OpsiMeowfficerFarming_TargetZone = 0
|
||||
OpsiMeowfficerFarming_IgnoreStory = False
|
||||
|
||||
# Group `OpsiHazard1Leveling`
|
||||
OpsiHazard1Leveling_TargetZone = 0 # 0, 44, 22
|
||||
|
||||
@ -1079,6 +1079,10 @@
|
||||
"name": "New Ship Get",
|
||||
"help": "Stop current task if detected new ship has been acquired"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"name": "StopCondition.EventSwitch.name",
|
||||
"help": "StopCondition.EventSwitch.help"
|
||||
},
|
||||
"ReachLevel": {
|
||||
"name": "Level X Reached",
|
||||
"help": "Stop current task if any ship under level X has reached level X; saving as 0 implies no limit to the level."
|
||||
@ -1469,6 +1473,10 @@
|
||||
"LastStage": {
|
||||
"name": "Last Event Daily Stage",
|
||||
"help": "Automatically updated, skips completed levels in the filter, and resets at server reset time (00:00)"
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"name": "EventDaily.SyncEmotion.name",
|
||||
"help": "EventDaily.SyncEmotion.help"
|
||||
}
|
||||
},
|
||||
"Raid": {
|
||||
@ -2700,6 +2708,10 @@
|
||||
"TargetZone": {
|
||||
"name": "Target Zone ID",
|
||||
"help": "Supports either Zone ID or Name in CN/EN/JP/TW, i.e. \"51\", \"NA Ocean SE Sector E\"\nIf specified, Alas will loop on this same zone after each clear\nUse default value 0 or clear the field to remove the specification\nZone information can be acquired from <./module/os/map_data.py>"
|
||||
},
|
||||
"IgnoreStory": {
|
||||
"name": "OpsiMeowfficerFarming.IgnoreStory.name",
|
||||
"help": "OpsiMeowfficerFarming.IgnoreStory.help"
|
||||
}
|
||||
},
|
||||
"OpsiHazard1Leveling": {
|
||||
|
||||
@ -1079,6 +1079,10 @@
|
||||
"name": "StopCondition.GetNewShip.name",
|
||||
"help": "StopCondition.GetNewShip.help"
|
||||
},
|
||||
"EventSwitch": {
|
||||
"name": "StopCondition.EventSwitch.name",
|
||||
"help": "StopCondition.EventSwitch.help"
|
||||
},
|
||||
"ReachLevel": {
|
||||
"name": "StopCondition.ReachLevel.name",
|
||||
"help": "StopCondition.ReachLevel.help"
|
||||
@ -1469,6 +1473,10 @@
|
||||
"LastStage": {
|
||||
"name": "EventDaily.LastStage.name",
|
||||
"help": "EventDaily.LastStage.help"
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"name": "EventDaily.SyncEmotion.name",
|
||||
"help": "EventDaily.SyncEmotion.help"
|
||||
}
|
||||
},
|
||||
"Raid": {
|
||||
@ -2700,6 +2708,10 @@
|
||||
"TargetZone": {
|
||||
"name": "OpsiMeowfficerFarming.TargetZone.name",
|
||||
"help": "OpsiMeowfficerFarming.TargetZone.help"
|
||||
},
|
||||
"IgnoreStory": {
|
||||
"name": "OpsiMeowfficerFarming.IgnoreStory.name",
|
||||
"help": "OpsiMeowfficerFarming.IgnoreStory.help"
|
||||
}
|
||||
},
|
||||
"OpsiHazard1Leveling": {
|
||||
|
||||
@ -1079,6 +1079,10 @@
|
||||
"name": "获得新船后停止",
|
||||
"help": ""
|
||||
},
|
||||
"EventSwitch": {
|
||||
"name": "刷活动PT",
|
||||
"help": "开荒完毕后开启活动图每日和活动图2刷pt(仅限活动图-1内开关有效)"
|
||||
},
|
||||
"ReachLevel": {
|
||||
"name": "舰船升至 X 级后停止",
|
||||
"help": "任意等级低于 X 的舰船升级至 X 级后停止\n0 表示不限制等级"
|
||||
@ -1469,6 +1473,10 @@
|
||||
"LastStage": {
|
||||
"name": "上一个完成的关卡",
|
||||
"help": "自动更新的数值,将跳过过滤器中已完成的关卡,过0点重置"
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"name": "同步心情设置至活动图-2",
|
||||
"help": "在结束或延迟该任务时会同步心情设置给活动图-2"
|
||||
}
|
||||
},
|
||||
"Raid": {
|
||||
@ -2700,6 +2708,10 @@
|
||||
"TargetZone": {
|
||||
"name": "指定海域",
|
||||
"help": "仅出击指定的海域,可以用来获取大世界成就星星\n支持海域ID、国服/国际服/日服/台服海域名称,例如 \"51\", \"NA海域东南E\", \"NA Ocean SE Sector E\"\n填入默认值0,或者删除数值即可取消指定"
|
||||
},
|
||||
"IgnoreStory": {
|
||||
"name": "忽略剧情主线未完成",
|
||||
"help": "开启后即使剧情主线未完成,Alas也会继续执行刷侵蚀"
|
||||
}
|
||||
},
|
||||
"OpsiHazard1Leveling": {
|
||||
|
||||
@ -1079,6 +1079,10 @@
|
||||
"name": "獲得新船後停止",
|
||||
"help": ""
|
||||
},
|
||||
"EventSwitch": {
|
||||
"name": "StopCondition.EventSwitch.name",
|
||||
"help": "StopCondition.EventSwitch.help"
|
||||
},
|
||||
"ReachLevel": {
|
||||
"name": "艦船升至 X 級後停止",
|
||||
"help": "任意等級低於 X 的艦船升級至 X 級後停止\n0 表示不限制等級"
|
||||
@ -1469,6 +1473,10 @@
|
||||
"LastStage": {
|
||||
"name": "上一個完成的地圖",
|
||||
"help": "自動更新的數值,將跳過過濾器中已完成的地圖,過0點重置"
|
||||
},
|
||||
"SyncEmotion": {
|
||||
"name": "EventDaily.SyncEmotion.name",
|
||||
"help": "EventDaily.SyncEmotion.help"
|
||||
}
|
||||
},
|
||||
"Raid": {
|
||||
@ -2700,6 +2708,10 @@
|
||||
"TargetZone": {
|
||||
"name": "指定海域",
|
||||
"help": "僅出擊指定的海域,可以用來獲取大世界成就星星\n自動更新的數值,填0可重置進度,重置後自動跳過已開荒的海域\n支援海域ID、國服/國際服/日服/台服海域名稱,例如 \"51\", \"NA海域東南E\", \"NA Ocean SE Sector E\"\n填入默認值0,或者刪除數值即可取消指定"
|
||||
},
|
||||
"IgnoreStory": {
|
||||
"name": "OpsiMeowfficerFarming.IgnoreStory.name",
|
||||
"help": "OpsiMeowfficerFarming.IgnoreStory.help"
|
||||
}
|
||||
},
|
||||
"OpsiHazard1Leveling": {
|
||||
|
||||
@ -42,7 +42,10 @@ class CampaignABCD(EventBase):
|
||||
for stage in stages:
|
||||
stage = str(stage)
|
||||
try:
|
||||
super().run(name=stage, folder=self.config.Campaign_Event, total=1)
|
||||
if self.config.EventDaily_SyncEmotion == True:
|
||||
super().run(name=stage, folder=self.config.Campaign_Event, total=1,from_eventDaily=True)
|
||||
else:
|
||||
super().run(name=stage, folder=self.config.Campaign_Event, total=1)
|
||||
except TaskEnd:
|
||||
# Catch task switch
|
||||
pass
|
||||
@ -66,6 +69,8 @@ class CampaignABCD(EventBase):
|
||||
self.config.task_stop()
|
||||
if self.config.task_switched():
|
||||
self.config.task_stop()
|
||||
|
||||
|
||||
if self.config.EventDaily_SyncEmotion == True:
|
||||
super().sync_emotion()#任务完成时的心情传递
|
||||
# Scheduler
|
||||
self.config.task_delay(server_update=True)
|
||||
|
||||
@ -402,6 +402,35 @@ class FastForwardHandler(AutoSearchHandler):
|
||||
content=f"<{self.config.config_name}> {prev_stage} reached end"
|
||||
)
|
||||
self.config.Scheduler_Enable = False
|
||||
# logger.warning(f'{self.config.StopCondition_EventSwitch}')
|
||||
if self.config.task.command == 'Event'and self.config.StopCondition_EventSwitch == True:
|
||||
# logger.warning(f'{self.config.task.command}')
|
||||
KEYS = ['.Fleet.Fleet1','.Fleet.Fleet2','.Fleet.FleetOrder','.Emotion.Fleet1Record','.Emotion.Fleet1Recover','.Emotion.Fleet2Record','.Emotion.Fleet2Recover',]
|
||||
for key in KEYS:#只传舰队和心情恢复情况,不传心情值
|
||||
data = self.config.cross_get(keys=f'Event{key}')
|
||||
self.config.cross_set(keys=f'EventA{key}', value=f'{data}')
|
||||
# self.config.cross_set(keys=f'EventB{key}', value=f'{data}')
|
||||
self.config.cross_set(keys=f'EventC{key}', value=f'{data}')
|
||||
self.config.cross_set(keys=f'EventD{key}', value=f'{data}')
|
||||
self.config.cross_set(keys=f'Event2{key}', value=f'{data}')
|
||||
logger.hr(f"copy:{key},{data}")
|
||||
KEYS2 = ['.Emotion.Fleet1Value','.Emotion.Fleet2Value',]
|
||||
for key in KEYS2:#单独给每日D和活动图2传心情值(因为结尾关D3心情一致)
|
||||
data = self.config.cross_get(keys=f'Event{key}')
|
||||
self.config.cross_set(keys=f'EventD{key}', value=f'{data}')
|
||||
self.config.cross_set(keys=f'Event2{key}', value=f'{data}')
|
||||
logger.hr(f"copy:{key},{data}")
|
||||
eventDailyStageFilter_A = "A1>A2>A3 >B1>B2>B3"
|
||||
self.config.cross_set(keys=f'EventA.EventDaily.StageFilter', value=f'{eventDailyStageFilter_A}') #ab图一般用同一队,所以为了心情同步用同一队
|
||||
self.config.task_call('EventA')
|
||||
# self.config.task_call('EventB')
|
||||
self.config.task_call('EventC')
|
||||
self.config.task_call('EventD')
|
||||
self.config.task_call('EventSp')
|
||||
self.config.task_call('Event2')
|
||||
|
||||
# logger.info(f"{self.config.Fleet_FleetOrder},{self.config.Emotion_Fleet1Value},{self.config.Emotion_Fleet1Recover}")
|
||||
|
||||
else:
|
||||
self.config.Scheduler_Enable = False
|
||||
|
||||
|
||||
@ -169,6 +169,7 @@ class InfoHandler(ModuleBase):
|
||||
drop.add(self.device.image)
|
||||
self.device.click(GET_MISSION)
|
||||
self._hot_fix_check_wait.reset()
|
||||
return False
|
||||
if appear2 or appear3:
|
||||
from module.base.resource import release_resources
|
||||
logger.warning('Other login in')
|
||||
@ -177,7 +178,7 @@ class InfoHandler(ModuleBase):
|
||||
self.device.app_stop()
|
||||
release_resources()
|
||||
self.device.release_during_wait()
|
||||
self.device.sleep(60*40)
|
||||
self.device.sleep(60*15)
|
||||
return True
|
||||
|
||||
# Check game client existence after 3s to 6s
|
||||
|
||||
@ -491,7 +491,11 @@ class OSMap(OSFleet, Map, GlobeCamera, StrategicSearchHandler):
|
||||
logger.critical('Unable to use auto search in current zone')
|
||||
logger.critical('Please finish the story mode of OpSi to unlock auto search '
|
||||
'before using any OpSi functions')
|
||||
raise RequestHumanTakeover
|
||||
if self.config.OpsiMeowfficerFarming_IgnoreStory == True:
|
||||
logger.hr('ignore the story mode waring')
|
||||
break
|
||||
else:
|
||||
raise RequestHumanTakeover
|
||||
if self.is_in_map():
|
||||
self.device.stuck_record_clear()
|
||||
if not success:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user