[BUG] 每日任务(凝素领域):副本内队伍被灭失被误判为“战斗正常结束”,随后寻找宝箱超时 30 秒,中断整条每日任务

作者: liuyun847创建于 2026年9月9日更新于 2026年9月9日
标签bugarea: daily/farmingpriority: normal
  • Correlation with PR #1559: This issue occurs in battles where the team has no low-health protection - PR #1559 "Automatic Battle Low-Health Healing Position" (currently closed, not merged) would prevent the team from dying, and thus this issue would not occur. It is recommended to pay attention to this PR as well.
  • Root Cause Identification:
    1. Death detection relies on the revive_confirm pop-up detection in raise_not_in_combat(), which is only triggered once every 2 seconds. When the revive pop-up is delayed, it is misidentified as a normal "out of combat" and not a character death.
    2. farm_in_domain() directly enters the walk_to_treasure() after the battle, without any death or revive pop-up checks during the 30-second wait or walk period.
    3. There are no exceptions in the farm_tacet/farm_forgery/farm_simulation segments of DailyTask.run(), and the entire daily task chain is terminated immediately upon an exception.
  • Why the existing death prevention and life-saving mechanisms fail:
    1. "Switch to Healer before and after Combat" only recognizes characters with is_healer; after Chisa activates the "Chisa DPS" configuration, char_type = MAIN_DPS (with is_healer = False, displayed as "Chisa(MainDps)") and the team has no official healing position, making this feature inactive in the battle rotation's healing branch; and it only covers the two points before and after the battle begins.
    2. Character death exception handling (CharDeadException/CharRevivedException + revive_action) assumes a 2-second pop-up detection hit, and in this case, a normal NotInCombatException is thrown, and the death branch is never entered.
    3. Domain death recovery loop (DomainTask exit -> recovery -> farm_domain_with_recovery_loop...), which is triggered by the death of a character, is not triggered in this case.

内容来源: ok-oldking/ok-wuthering-waves