From cf0c93a7665b1b3443a7659d09efd29a3824485f Mon Sep 17 00:00:00 2001 From: 0O0o0oOoO00 <11174151+0O0o0oOoO00@users.noreply.github.com> Date: Fri, 12 Sep 2025 00:11:58 +0800 Subject: [PATCH] add: add do not run reward, commission and research actually --- config/template.json | 3 +++ module/commission/commission.py | 9 +++++++++ module/config/argument/args.json | 12 ++++++++++++ module/config/argument/argument.yaml | 3 +++ module/config/config_generated.py | 3 +++ module/config/full_config_generated.py | 3 +++ module/config/i18n/en-US.json | 12 ++++++++++++ module/config/i18n/ja-JP.json | 12 ++++++++++++ module/config/i18n/zh-CN.json | 12 ++++++++++++ module/config/i18n/zh-TW.json | 12 ++++++++++++ module/research/research.py | 9 +++++++++ module/reward/reward.py | 9 +++++++++ 12 files changed, 99 insertions(+) diff --git a/config/template.json b/config/template.json index f2e1a3ffa..e2a0c5817 100644 --- a/config/template.json +++ b/config/template.json @@ -1820,6 +1820,7 @@ "ServerUpdate": "00:00" }, "Commission": { + "DoNotRun": false, "PresetFilter": "cube", "CustomFilter": "DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest", "DoMajorCommission": false @@ -1866,6 +1867,7 @@ "ServerUpdate": "00:00" }, "Research": { + "DoNotRun": false, "UseCube": "only_05_hour", "UseCoin": "always_use", "UsePart": "always_use", @@ -1961,6 +1963,7 @@ "ServerUpdate": "00:00" }, "Reward": { + "DoNotRun": false, "CollectOil": true, "CollectCoin": true, "CollectExp": true, diff --git a/module/commission/commission.py b/module/commission/commission.py index a837bb736..6d37a698f 100644 --- a/module/commission/commission.py +++ b/module/commission/commission.py @@ -610,3 +610,12 @@ class RewardCommission(UI, InfoHandler): logger.info('Having too many urgent commissions, delay task `GemsFarming`') self.config.task_delay( minute=120, target=future_finish if len(future_finish) else None, task='GemsFarming') + + +class RewardCommission(RewardCommission): + def run(self): + if not self.config.full_config.Commission_Commission_DoNotRun: + self.config.task_delay(minute=6 * 60) + self.config.task_stop() + else: + super().run() diff --git a/module/config/argument/args.json b/module/config/argument/args.json index e0bb784ce..7de994d00 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -13529,6 +13529,10 @@ } }, "Commission": { + "DoNotRun": { + "type": "checkbox", + "value": false + }, "PresetFilter": { "type": "select", "value": "cube", @@ -13692,6 +13696,10 @@ } }, "Research": { + "DoNotRun": { + "type": "checkbox", + "value": false + }, "UseCube": { "type": "select", "value": "only_05_hour", @@ -14056,6 +14064,10 @@ } }, "Reward": { + "DoNotRun": { + "type": "checkbox", + "value": false + }, "CollectOil": { "type": "checkbox", "value": true diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index cf3f4dafe..bc85630d1 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -318,6 +318,7 @@ Coalition: # ==================== Reward ==================== Commission: + DoNotRun: false PresetFilter: value: cube option: @@ -366,6 +367,7 @@ AddNewStudent: Enable: false Favorite: true Research: + DoNotRun: false UseCube: value: only_05_hour option: [ always_use, only_05_hour, only_no_project, do_not_use ] @@ -448,6 +450,7 @@ GuildOperation: AttackBoss: true BossFleetRecommend: false Reward: + DoNotRun: false CollectOil: true CollectCoin: true CollectExp: true diff --git a/module/config/config_generated.py b/module/config/config_generated.py index 84def64d1..6963ceba3 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -185,6 +185,7 @@ class GeneratedConfig: Coalition_Fleet = 'single' # single, multi # Group `Commission` + Commission_DoNotRun = False Commission_PresetFilter = 'cube' # cube, cube_24h, chip, chip_24h, oil, custom Commission_CustomFilter = 'DailyEvent > Gem-4 > Gem-2 > Gem-8 > ExtraCube-0:30\n> UrgentCube-1:30 > UrgentCube-1:45 > UrgentCube-3\n> ExtraDrill-5:20 > ExtraDrill-2 > ExtraDrill-3:20\n> UrgentCube-2:15 > UrgentCube-4\n> ExtraDrill-1 > UrgentCube-6 > ExtraCube-1:30\n> ExtraDrill-2:40 > ExtraDrill-0:20\n> Major > DailyChip > DailyResource\n> ExtraPart-0:30 > ExtraOil-1 > UrgentBox-6\n> ExtraCube-3 > ExtraPart-1 > UrgentBox-3\n> ExtraCube-4 > ExtraPart-1:30 > ExtraOil-4\n> UrgentBox-1 > ExtraCube-5 > UrgentBox-1\n> ExtraCube-8 > ExtraOil-8\n> UrgentDrill-4 > UrgentDrill-2:40 > UrgentDrill-2\n> UrgentDrill-1 > UrgentDrill-1:30 > UrgentDrill-1:10\n> Extra-0:20 > Extra-0:30 > Extra-1:00 > Extra-1:30 > Extra-2:00\n> shortest' Commission_DoMajorCommission = False @@ -205,6 +206,7 @@ class GeneratedConfig: AddNewStudent_Favorite = True # Group `Research` + Research_DoNotRun = False Research_UseCube = 'only_05_hour' # always_use, only_05_hour, only_no_project, do_not_use Research_UseCoin = 'always_use' # always_use, only_05_hour, only_no_project, do_not_use Research_UsePart = 'always_use' # always_use, only_05_hour, only_no_project, do_not_use @@ -248,6 +250,7 @@ class GeneratedConfig: GuildOperation_BossFleetRecommend = False # Group `Reward` + Reward_DoNotRun = False Reward_CollectOil = True Reward_CollectCoin = True Reward_CollectExp = True diff --git a/module/config/full_config_generated.py b/module/config/full_config_generated.py index c0b3332ac..2e9603205 100644 --- a/module/config/full_config_generated.py +++ b/module/config/full_config_generated.py @@ -1367,6 +1367,7 @@ class FullGeneratedConfig: Commission_Scheduler_SuccessInterval = None Commission_Scheduler_FailureInterval = None Commission_Scheduler_ServerUpdate = None + Commission_Commission_DoNotRun = None Commission_Commission_PresetFilter = None Commission_Commission_CustomFilter = None Commission_Commission_DoMajorCommission = None @@ -1397,6 +1398,7 @@ class FullGeneratedConfig: Research_Scheduler_SuccessInterval = None Research_Scheduler_FailureInterval = None Research_Scheduler_ServerUpdate = None + Research_Research_DoNotRun = None Research_Research_UseCube = None Research_Research_UseCoin = None Research_Research_UsePart = None @@ -1462,6 +1464,7 @@ class FullGeneratedConfig: Reward_Scheduler_SuccessInterval = None Reward_Scheduler_FailureInterval = None Reward_Scheduler_ServerUpdate = None + Reward_Reward_DoNotRun = None Reward_Reward_CollectOil = None Reward_Reward_CollectCoin = None Reward_Reward_CollectExp = None diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index fb17d19b1..4bade8955 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -1374,6 +1374,10 @@ "name": "Commission Settings", "help": "" }, + "DoNotRun": { + "name": "Commission.DoNotRun.name", + "help": "Commission.DoNotRun.help" + }, "PresetFilter": { "name": "Preset Filter Select", "help": "People without a basic knowledge of commission drops rates and spawn are recommended to use pre-optimized presets instead of writing custom filters\nIf the commission farming is running 24 hours a day, the (7x24 Commission Farming) filter should be used\nIt is not recommended to use the oil priority filter while running commission farming", @@ -1457,6 +1461,10 @@ "name": "Research Academy Settings", "help": "For convenience a few preset filters are provided\nHowever it is recommended to use \"custom\" and author your own priority for projects\nNote that combined with other settings, Alas will choose projects that satisfy all the conditions. For example, if \"Use Cube\" is disabled but your list consists of projects that cost cubes, Alas will not choose them" }, + "DoNotRun": { + "name": "Research.DoNotRun.name", + "help": "Research.DoNotRun.help" + }, "UseCube": { "name": "Use Cube", "help": "Allow to undertake projects that require cubes", @@ -1654,6 +1662,10 @@ "name": "Reward Settings", "help": "" }, + "DoNotRun": { + "name": "Reward.DoNotRun.name", + "help": "Reward.DoNotRun.help" + }, "CollectOil": { "name": "Collect Oil", "help": "" diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 197284a46..413343235 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -1374,6 +1374,10 @@ "name": "Commission._info.name", "help": "Commission._info.help" }, + "DoNotRun": { + "name": "Commission.DoNotRun.name", + "help": "Commission.DoNotRun.help" + }, "PresetFilter": { "name": "Commission.PresetFilter.name", "help": "Commission.PresetFilter.help", @@ -1457,6 +1461,10 @@ "name": "Research._info.name", "help": "Research._info.help" }, + "DoNotRun": { + "name": "Research.DoNotRun.name", + "help": "Research.DoNotRun.help" + }, "UseCube": { "name": "Research.UseCube.name", "help": "Research.UseCube.help", @@ -1654,6 +1662,10 @@ "name": "Reward._info.name", "help": "Reward._info.help" }, + "DoNotRun": { + "name": "Reward.DoNotRun.name", + "help": "Reward.DoNotRun.help" + }, "CollectOil": { "name": "Reward.CollectOil.name", "help": "Reward.CollectOil.help" diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 45ec9e91d..e7d918465 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -1374,6 +1374,10 @@ "name": "委托", "help": "" }, + "DoNotRun": { + "name": "不实际运行", + "help": "" + }, "PresetFilter": { "name": "委托过滤器", "help": "如果对委托的产出和收益没有足够的了解,不建议编写自定义过滤器,建议使用预优化委托过滤器\n如果24小时运行刷紧急委托功能,应当使用(7x24刷委托)的过滤器\n不推荐在运行刷紧急委托功能的同时使用石油优先过滤器", @@ -1457,6 +1461,10 @@ "name": "科研", "help": "当过滤器和其他设置一起工作时,Alas 会寻找同时满足所有用户设置的项目。\n例如,你设置科研过滤器是 `H1 > D2.5 > shortest` (包含消耗魔方的科研),但又设置了不允许消耗魔方,最终的结果是 Alas 不会选择消耗魔方的科研。当你突然想切魔方的时候,只需打开消耗魔方,而不需要修改过滤器,这是比较方便的。" }, + "DoNotRun": { + "name": "不实际运行", + "help": "" + }, "UseCube": { "name": "使用魔方", "help": "", @@ -1654,6 +1662,10 @@ "name": "收获", "help": "" }, + "DoNotRun": { + "name": "不实际运行", + "help": "" + }, "CollectOil": { "name": "收获石油", "help": "" diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index ac40ddf80..aa1dffdc0 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -1374,6 +1374,10 @@ "name": "委託", "help": "" }, + "DoNotRun": { + "name": "Commission.DoNotRun.name", + "help": "Commission.DoNotRun.help" + }, "PresetFilter": { "name": "委托過濾器", "help": "如果對委托的產出和收益沒有足夠的了解,不建議編寫自定義過濾器,建議使用預優化委托過濾器\n如果24小時運行刷緊急委託功能,應當使用24小時版的過濾器\n不推薦在運行刷緊急委託功能的同時使用石油優先過濾器", @@ -1457,6 +1461,10 @@ "name": "科研", "help": "當過濾器和其他設定一起工作時,Alas 會尋找同時滿足所有用戶設定的項目。 \n例如,你設定科研過濾器是 `H1 > D2.5 > shortest` (包含消耗魔方的科研),但又設定了不允許消耗魔方,最終的結果是 Alas 不會選擇消耗魔方的科研。當你突然想切魔方的時候,只需打開消耗魔方,而不需要修改過濾器,這是比較方便的。" }, + "DoNotRun": { + "name": "Research.DoNotRun.name", + "help": "Research.DoNotRun.help" + }, "UseCube": { "name": "使用魔方", "help": "", @@ -1654,6 +1662,10 @@ "name": "收穫", "help": "" }, + "DoNotRun": { + "name": "Reward.DoNotRun.name", + "help": "Reward.DoNotRun.help" + }, "CollectOil": { "name": "收穫石油", "help": "" diff --git a/module/research/research.py b/module/research/research.py index 62b35b042..9cd48110e 100644 --- a/module/research/research.py +++ b/module/research/research.py @@ -590,3 +590,12 @@ class RewardResearch(ResearchSelector, ResearchQueue, StorageHandler): # ten minutes in advance to avoid idle research. self.end_time = self.end_time + timedelta(minutes=-10) self.config.task_delay(target=self.end_time) + + +class RewardResearch(RewardResearch): + def run(self): + if not self.config.full_config.Research_Research_DoNotRun: + self.config.task_delay(minute=6 * 60) + self.config.task_stop() + else: + super().run() diff --git a/module/reward/reward.py b/module/reward/reward.py index 4b6b299d1..1bad7c32e 100644 --- a/module/reward/reward.py +++ b/module/reward/reward.py @@ -335,3 +335,12 @@ class Reward(UI): self.reward_mission(daily=self.config.Reward_CollectMission, weekly=self.config.Reward_CollectWeeklyMission) self.config.task_delay(success=True) + + +class Reward(Reward): + def run(self): + if not self.config.full_config.Reward_Reward_DoNotRun: + self.config.task_delay(minute=6 * 60) + self.config.task_stop() + else: + super().run()