From 31b75bdc62c6cf9f598e559b3b61d3941262b66d Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Fri, 2 Oct 2026 08:15:06 +0800 Subject: [PATCH] =?UTF-8?q?probe=E6=94=B6=E5=B0=BE:=20=E5=87=8F=E5=8A=A8?= =?UTF-8?q?=E6=95=88=E6=96=AD=E8=A8=80=E9=9A=8F=E8=AF=AD=E4=B9=89=E5=8C=96?= =?UTF-8?q?=E6=96=87=E6=A1=88=E6=9B=B4=E6=96=B0+=E9=A2=84=E7=AE=97?= =?UTF-8?q?=E8=80=97=E5=B0=BD=E6=94=B6=E5=8F=A3=E9=A9=B1=E5=8A=A8=E5=8A=A0?= =?UTF-8?q?=E5=BC=BA=EF=BC=88=E5=81=9C=E7=82=B9=E5=B1=82=E9=80=90=E4=B8=AA?= =?UTF-8?q?=E6=8E=A8=E8=BF=9B=E8=87=B3level=5Fscreen=E5=86=8D=E6=94=BE?= =?UTF-8?q?=E5=BC=83=E4=BA=8C=E5=87=BB=E2=80=94=E2=80=94=E6=88=98=E6=96=97?= =?UTF-8?q?=E4=B8=AD=E5=8D=A1=E4=BD=8F=E6=80=81=E4=BF=AE=E5=A4=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/smoke/ui_click_probe.gd | 50 ++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/game/smoke/ui_click_probe.gd b/game/smoke/ui_click_probe.gd index ea906268..b5a5e2b6 100644 --- a/game/smoke/ui_click_probe.gd +++ b/game/smoke/ui_click_probe.gd @@ -100,7 +100,8 @@ func _ready() -> void: _problems.append("设置面未打开(点击路径)") else: # 减动效转正双态(卡④ AC③):开=0.5 引擎态即时生效+落盘持久;关=1.0 回常态 - var motion_btn: Button = _find_button_by_text(main.settings_overlay, "减动效") # 二轮 D2——开关已换 UiKit toggle 按钮形态 + # T17 随批:按钮语义化改文案「结算演出动画:完整/快速」(状态值内联+操作提示) + var motion_btn: Button = _find_button_by_text(main.settings_overlay, "结算演出动画") if motion_btn == null: _problems.append("设置面减动效开关缺失") else: @@ -290,17 +291,44 @@ func _ready() -> void: _run_modal_probes_once() _play_one_action() # ---- 预算耗尽收口(T17 硬锁批适配):选件变强后 probe 可能活过预算不再战败——断点段前提 - # (冒险终局面在案)须主动满足:真实放弃路径(底栏放弃二击确认)收口到终局面。 - if not _done and not main._end_overlay.is_open() and main.level_screen.visible: - var abandon_btn: Button = _find_button_by_prefix(main.level_screen, "放弃") - if abandon_btn != null: - abandon_btn.pressed.emit() + # (冒险终局面在案)须主动满足。收口驱动:任何停点层逐个推进(复用主循环分支语义)至 + # level_screen 选路停点→真实放弃二击→终局面。战斗中则继续 autoplay 打完。 + if not _done and not main._end_overlay.is_open(): + var close_guard := 1200 + while close_guard > 0 and not main._end_overlay.is_open(): + close_guard -= 1 await get_tree().process_frame - abandon_btn.pressed.emit() # 二击确认(3s 窗内) - for i in 10: - await get_tree().process_frame - # ---- 断点续玩段(迭代 8 卡②③——真实按钮信号路径;存档面已隔离 iso_reset)---- - # 前提注记:本探针首局常态 = L1 战败收口(问题=0 基线口径)——断点段①借战败结局验 T3 清除断点。 + if main.bonus_overlay.visible: + if main.bonus_overlay._replace_box.visible: + main.bonus_overlay.replace_chosen.emit(-1) + elif main.bonus_overlay._continue_btn.visible: + main.bonus_overlay.press_continue() + elif main.adventure != null and not main.adventure._bonus_pending.is_empty(): + main.bonus_overlay.press_card(0) + main.bonus_overlay.press_confirm() + else: + main.bonus_overlay.press_continue() + elif main.node_overlay.visible: + main.node_overlay.press_continue() + elif main.shop_overlay.visible: + main.shop_overlay.leave_pressed.emit() + elif main._inter_overlay.visible: + var next_btn2: Button = _find_button_by_prefix(main._inter_overlay, "进入下一层") + if next_btn2 != null: + next_btn2.pressed.emit() + elif main.level_screen.visible: + var abandon_btn: Button = _find_button_by_prefix(main.level_screen, "放弃") + if abandon_btn != null: + abandon_btn.pressed.emit() + await get_tree().process_frame + abandon_btn.pressed.emit() # 二击确认(3s 窗内) + for i in 10: + await get_tree().process_frame + break + elif main.settlement != null and main.settlement.battle_result == "" \ + and main.settlement.action_economy.phase == "Active": + _play_one_action() + # 排播期/Waiting 等待态=自然流逝(演播秒级、锁随队列空解除) # T17 适配:战败或放弃二途皆达终局面(放弃=预算耗尽收口路径——见上),断点段前提不变。 await get_tree().process_frame var bp_file := "user://smoke_click_probe_reset.json"