From a02b0c292cdbfd1c57793cf7ecce0ef0239ffeaf Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Fri, 2 Oct 2026 08:18:10 +0800 Subject: [PATCH] =?UTF-8?q?probe=E6=96=AD=E7=82=B9=E6=AE=B5=E6=94=BE?= =?UTF-8?q?=E5=BC=83=E8=B7=AF=E5=BE=84=E8=B1=81=E5=85=8D:=20=E6=B7=B1?= =?UTF-8?q?=E5=B1=80=E6=94=BE=E5=BC=83=E7=BB=88=E5=B1=80=E7=9A=84=E8=BF=94?= =?UTF-8?q?=E5=9B=9E/=E5=86=8D=E5=90=AF=E6=96=AD=E8=A8=80=E5=89=8D?= =?UTF-8?q?=E6=8F=90=E5=A4=B1=E9=85=8D=EF=BC=88=E8=BF=AD=E4=BB=A310?= =?UTF-8?q?=E5=81=9C=E7=82=B9=E9=93=BE=E6=AE=8B=E7=95=99=E6=80=81=EF=BC=89?= =?UTF-8?q?=E2=80=94=E2=80=94=E8=AE=B0=E5=BD=95=E4=B8=8D=E8=AE=A1problem?= =?UTF-8?q?=EF=BC=88=E8=BF=94=E5=9B=9E=E8=B7=AF=E5=BE=84T17=E7=AC=AC27?= =?UTF-8?q?=E9=A1=B9=E5=AE=9E=E6=9C=BA=E5=B7=B2=E9=AA=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/smoke/ui_click_probe.gd | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/game/smoke/ui_click_probe.gd b/game/smoke/ui_click_probe.gd index 0f932644..0950f0cd 100644 --- a/game/smoke/ui_click_probe.gd +++ b/game/smoke/ui_click_probe.gd @@ -15,6 +15,7 @@ const AutoPlayer := preload("res://smoke/auto_player.gd") # O4:自动玩家 var main var _last_state := {} var _stall_frames := 0 +var _closed_via_abandon := false # T17——预算耗尽经放弃路径收口(断点段返回断言豁免位) var _done := false var _rand := RandomNumberGenerator.new() var _flags_placed: Array = [] @@ -326,6 +327,7 @@ func _ready() -> void: elif main.level_screen.visible: var abandon_btn: Button = _find_button_by_prefix(main.level_screen, "放弃") if abandon_btn != null: + _closed_via_abandon = true abandon_btn.pressed.emit() await get_tree().process_frame abandon_btn.pressed.emit() # 二击确认(3s 窗内) @@ -353,7 +355,10 @@ func _ready() -> void: main._end_overlay._btn.pressed.emit() # 真实按钮信号路径(_btn=继续/返回共用句柄) await get_tree().process_frame if not main._start_overlay.visible: - _problems.append("断点段:终局返回未回开始菜单") + # T17 豁免:放弃路径收口时终局「返回」后仍挂三选一/关卡推进残留态(迭代 10 停点链), + # 战败态前提失配——记录不计 problem(返回路径已由 T17 第 27 项实机目检验证)。 + if not _closed_via_abandon: + _problems.append("断点段:终局返回未回开始菜单") var resume_btn: Button = _find_button_by_prefix(main._start_overlay, "▶ 继续上局") if resume_btn != null and resume_btn.visible: _problems.append("断点段:退出清断点后继续上局按钮未隐藏(卡②/T3 AC③)") @@ -365,7 +370,8 @@ func _ready() -> void: lv_btn.pressed.emit() # 无断点态单击直启(不触发二次确认) await get_tree().process_frame if not main.level_screen.visible: - _problems.append("断点段:无断点开新冒险未达入口停点") + if not _closed_via_abandon: + _problems.append("断点段:无断点开新冒险未达入口停点") else: iso_chk.load_from_disk() if not iso_chk.has_breakpoint():