mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-15 22:19:18 +00:00
Opt: Delay weekly to next monday to save time
optimised for running once a day
This commit is contained in:
parent
3a22813ad5
commit
ecc633df89
@ -298,6 +298,7 @@ class AzurLaneConfig(ConfigUpdater, ManualConfig, GeneratedConfig, ConfigWatcher
|
||||
deep_set(self.data, keys=f"{task}.Scheduler.NextRun", value=now)
|
||||
|
||||
limit_next_run(['BattlePass'], limit=now + timedelta(days=40, seconds=-1))
|
||||
limit_next_run(['Weekly'], limit=now + timedelta(days=7, seconds=-1))
|
||||
limit_next_run(self.args.keys(), limit=now + timedelta(hours=24, seconds=-1))
|
||||
|
||||
def override(self, **kwargs):
|
||||
|
@ -10,9 +10,9 @@ class ManualConfig:
|
||||
|
||||
SCHEDULER_PRIORITY = """
|
||||
Restart
|
||||
> BattlePass > DailyQuest > Assignment
|
||||
> Weekly > Dungeon > Assignment
|
||||
> DailyQuest > BattlePass
|
||||
> Freebies > DataUpdate
|
||||
> Weekly > Dungeon
|
||||
> Rogue
|
||||
"""
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
from module.config.utils import get_server_next_monday_update
|
||||
from module.logger import logger
|
||||
from module.ocr.ocr import DigitCounter
|
||||
from tasks.daily.keywords import KEYWORDS_DAILY_QUEST
|
||||
@ -62,6 +63,7 @@ class WeeklyDungeon(Dungeon):
|
||||
DUNGEON_LIST.search_button = OCR_DUNGEON_LIST
|
||||
self._dungeon_nav_goto(KEYWORDS_DUNGEON_NAV.Echo_of_War)
|
||||
self._dungeon_wait_until_dungeon_list_loaded()
|
||||
monday = get_server_next_monday_update(self.config.Scheduler_ServerUpdate)
|
||||
|
||||
# Check limit
|
||||
remain = self.get_weekly_remain()
|
||||
@ -71,7 +73,7 @@ class WeeklyDungeon(Dungeon):
|
||||
remain = 1
|
||||
else:
|
||||
logger.info('Reached the limit to get Echo_of_War rewards, stop')
|
||||
self.config.task_delay(server_update=True)
|
||||
self.config.task_delay(target=monday)
|
||||
self.config.task_stop()
|
||||
|
||||
self._dungeon_insight(dungeon)
|
||||
@ -98,7 +100,7 @@ class WeeklyDungeon(Dungeon):
|
||||
# Finished all remains
|
||||
if count >= remain:
|
||||
logger.info('All Echo_of_War rewards got')
|
||||
self.config.task_delay(server_update=True)
|
||||
self.config.task_delay(target=monday)
|
||||
self.config.task_stop()
|
||||
|
||||
logger.warning(f'Unexpected Echo_of_War case, count={count}, remain={remain}')
|
||||
|
Loading…
Reference in New Issue
Block a user