From 56841cc0b0781a69d2da6540d5debfc224384cec Mon Sep 17 00:00:00 2001 From: guoh064 <50830808+guoh064@users.noreply.github.com> Date: Sun, 9 Aug 2026 15:06:14 +0800 Subject: [PATCH] Opt: call all ap consuming tasks when cl1 cannot continue (#4928) * Opt: call all ap consuming tasks when cl1 cannot continue * Opt: call cl1 if ActionPointLimit and cl1 enabled in ap consuming tasks --- module/campaign/os_run.py | 9 +++++++++ module/os/tasks/hazard_leveling.py | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/module/campaign/os_run.py b/module/campaign/os_run.py index 8efbc789f..2fc119691 100644 --- a/module/campaign/os_run.py +++ b/module/campaign/os_run.py @@ -69,6 +69,9 @@ class OSCampaignRun(OSMapOperation): campaign.os_obscure() except ActionPointLimit: self.config.opsi_task_delay(ap_limit=True) + if self.config.is_task_enabled('OpsiHazard1Leveling') \ + and self.get_yellow_coins() > self.config.OS_CL1_YELLOW_COINS_PRESERVE: + self.config.task_call('OpsiHazard1Leveling') def opsi_month_boss(self): if self.config.SERVER in ['tw']: @@ -89,6 +92,9 @@ class OSCampaignRun(OSMapOperation): campaign.os_abyssal() except ActionPointLimit: self.config.opsi_task_delay(ap_limit=True) + if self.config.is_task_enabled('OpsiHazard1Leveling') \ + and self.get_yellow_coins() > self.config.OS_CL1_YELLOW_COINS_PRESERVE: + self.config.task_call('OpsiHazard1Leveling') def opsi_archive(self): try: @@ -103,6 +109,9 @@ class OSCampaignRun(OSMapOperation): campaign.os_stronghold() except ActionPointLimit: self.config.opsi_task_delay(ap_limit=True) + if self.config.is_task_enabled('OpsiHazard1Leveling') \ + and self.get_yellow_coins() > self.config.OS_CL1_YELLOW_COINS_PRESERVE: + self.config.task_call('OpsiHazard1Leveling') def opsi_cross_month(self): campaign = self.load_campaign() diff --git a/module/os/tasks/hazard_leveling.py b/module/os/tasks/hazard_leveling.py index 03501dc80..2ab1489dd 100644 --- a/module/os/tasks/hazard_leveling.py +++ b/module/os/tasks/hazard_leveling.py @@ -27,6 +27,11 @@ class OpsiHazard1Leveling(OSMap): with self.config.multi_set(): self.config.task_delay(server_update=True) if not self.is_in_opsi_explore(): + cd = self.nearest_task_cooling_down + if cd is None: + for task in ['OpsiAbyssal', 'OpsiStronghold', 'OpsiObscure']: + if self.config.is_task_enabled(task): + self.config.task_call(task) self.config.task_call('OpsiMeowfficerFarming') self.config.task_stop() @@ -42,6 +47,11 @@ class OpsiHazard1Leveling(OSMap): with self.config.multi_set(): self.config.task_delay(server_update=True) if not self.is_in_opsi_explore(): + cd = self.nearest_task_cooling_down + if cd is None: + for task in ['OpsiAbyssal', 'OpsiStronghold', 'OpsiObscure']: + if self.config.is_task_enabled(task): + self.config.task_call(task) self.config.task_call('OpsiMeowfficerFarming') self.config.task_stop()