Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions tasks/EternitySea/script_task.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ def _two_teams_switch_sous(self, config):
self.goto_page(page_shikigami_records)
self.run_switch_soul_by_name(config.group_name, config.team_name)

def _prepare_eternity_sea(self):
self.goto_page(page_soul_zones)
self._enter_eternity_sea()
layer = self._task_config.eternity_sea_config.layer
self.check_layer(layer)
self.check_lock(self._task_config.general_battle_config.lock_team_enable)

def run(self) -> None:
self._two_teams_switch_sous(self._task_config.switch_soul_config_1)
self._two_teams_switch_sous(self._task_config.switch_soul_config_2)
Expand All @@ -55,11 +62,7 @@ def run(self) -> None:

def run_leader(self):
logger.info('Start run leader')
self.goto_page(page_soul_zones)
self._enter_eternity_sea()
layer = self._task_config.eternity_sea_config.layer
self.check_layer(layer)
self.check_lock(self._task_config.general_battle_config.lock_team_enable)
self._prepare_eternity_sea()
# 创建队伍
logger.info('Create team')
while 1:
Expand Down Expand Up @@ -177,9 +180,7 @@ def _back_to_soul_zones(self) -> None:

def run_member(self):
logger.info('Start run member')
# self.ui_goto(page_soul_zones)
# self.orochi_enter()
# self.check_lock(self.config.orochi.general_battle_config.lock_team_enable)
self._prepare_eternity_sea()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 中 · 准备期间邀请会过期

队长在队员准备期间发送邀请时(包括邀请弹窗遮挡锁定指示器的情况),run_member() 会等待 _prepare_eternity_sea() 返回后才调用 check_then_accept();而当弹窗阻碍锁定状态检测时,check_lock() 可能会持续循环。结果是邀请过期,队长等待队员时最终超时。

请确保准备期间仍会接受邀请,并避免邀请弹窗导致锁定检查陷入无限循环。

另请检查 tasks/EternitySea/script_task.py:44。

给 AI 代理的提示
在 `tasks/EternitySea/script_task.py` 第 183 行:

**准备期间邀请会过期**

队长在队员准备期间发送邀请时(包括邀请弹窗遮挡锁定指示器的情况),`run_member()` 会等待 `_prepare_eternity_sea()` 返回后才调用 `check_then_accept()`;而当弹窗阻碍锁定状态检测时,`check_lock()` 可能会持续循环。结果是邀请过期,队长等待队员时最终超时。

请确保准备期间仍会接受邀请,并避免邀请弹窗导致锁定检查陷入无限循环。

另请检查 `tasks/EternitySea/script_task.py:44`。
Original comment in English

🟡 Medium · Invitations expire during preparation

When the leader sends an invitation while the member is preparing, including while an invitation overlay hides the lock indicator, run_member() waits for _prepare_eternity_sea() to return before calling check_then_accept(), and check_lock() can keep looping when the overlay prevents lock detection; the invitation expires and the leader times out waiting for the member.

Keep invitation acceptance active during preparation and ensure invitation overlays cannot leave lock checking in an endless loop.

Also at tasks/EternitySea/script_task.py:44.

Prompt for AI agents
In `tasks/EternitySea/script_task.py` at line 183:

**Invitations expire during preparation**

When the leader sends an invitation while the member is preparing, including while an invitation overlay hides the lock indicator, `run_member()` waits for `_prepare_eternity_sea()` to return before calling `check_then_accept()`, and `check_lock()` can keep looping when the overlay prevents lock detection; the invitation expires and the leader times out waiting for the member.

Keep invitation acceptance active during preparation and ensure invitation overlays cannot leave lock checking in an endless loop.

Also at `tasks/EternitySea/script_task.py:44`.


# 进入战斗流程
self.device.stuck_record_add('BATTLE_STATUS_S')
Expand Down Expand Up @@ -332,4 +333,4 @@ def check_lock(self, lock: bool = True) -> bool:
c = Config("oas1")
d = Device(c)
t = ScriptTask(c, d)
t.screenshot()
t.screenshot()
Loading