From eeefd3f2cb7213e5d4e569335502c59887b14e0f Mon Sep 17 00:00:00 2001 From: positnuec <93694981+positnuec@users.noreply.github.com> Date: Sun, 26 Jul 2026 12:57:13 +0800 Subject: [PATCH] Feat: support port shop purchase in OpsiCrossMonth --- module/os/tasks/cross_month.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/module/os/tasks/cross_month.py b/module/os/tasks/cross_month.py index 5b1cde0f7..835fe2c3d 100644 --- a/module/os/tasks/cross_month.py +++ b/module/os/tasks/cross_month.py @@ -5,6 +5,7 @@ from module.exception import ScriptError from module.logger import logger from module.map.map_grids import SelectedGrids from module.os.map import OSMap +from module.os_shop.assets import OS_SHOP_CHECK class OpsiCrossMonth(OSMap): @@ -82,6 +83,23 @@ class OpsiCrossMonth(OSMap): if success: break + logger.hr('OS port daily', level=1) + self.config.override( + OpsiShop_PresetFilter=self.config.cross_get('OpsiShop.OpsiShop.PresetFilter'), + OpsiShop_CustomFilter=self.config.cross_get('OpsiShop.OpsiShop.CustomFilter'), + ) + if not self.zone.is_azur_port: + self.globe_goto(self.zone_nearest_azur_port(self.zone)) + self.port_enter() + self.port_shop_enter() + if self.appear(OS_SHOP_CHECK): + self.handle_port_supply_buy() + logger.info('OS port daily finished') + else: + logger.warning('There is no shop in the port, skip OS port daily.') + self.port_shop_quit() + self.port_quit() + logger.hr('OS clear abyssal', level=1) self.config.override( OpsiGeneral_DoRandomMapEvent=False,