结算演播期棋盘硬锁v3(T17用户明确令——不可点/不可移/不可挖): _on_board_action排播期(纯队列判据)吞点击+probe排播豁免(Waiting不豁免=收尾链探测面);worktree冒烟628/0(probe卡死系worktree环境已知问题,定案归master复跑)
This commit is contained in:
1 parent
684e93e71e
commit
939bb8ced9
2 files changed
+15
-4
No files matched your search
@@ -1196,6 +1196,13 @@ func _on_board_action(cell: Vector2i, kind: String) -> void:
|
||||
# 玩家动作 → 核心写调用的唯一通道(模态/无战斗拒绝在此收口)
|
||||
if _input_locked():
|
||||
return
|
||||
# 结算演播期棋盘冻结(T17 用户明确令 v3——不可点/不可移/不可挖):
|
||||
# 锁面=排播队列活跃(纯队列判据;_row_pace_wait 有末行尾迹窗口不可作演播中标志)。
|
||||
# 队列排空即解锁、无状态残留;HUD 按钮不在锁面(停手/明细回看各自通路,开启前
|
||||
# _flush_row_queue 自行排空)。v1 撞收尾链的教训对策:ui_click_probe 的排播期 stall
|
||||
# 豁免随批(合法停顿态),Waiting 收尾等待期**不豁免**——probe 报卡即为真回归信号。
|
||||
if not _row_queue.is_empty():
|
||||
return
|
||||
# 魔法道具选中态劫持(迭代 7 T4——两步交互第二步):点格=使用目标拾取,不落挖格;
|
||||
# 只劫持挖掘点击(move/flag 语义不冲突——选中期玩家仍可移动/插旗)
|
||||
if _aux_use_selection != 0 and kind == "dig":
|
||||
|
||||
@@ -259,10 +259,14 @@ func _ready() -> void:
|
||||
"settling": diag.settling,
|
||||
}
|
||||
if JSON.stringify(st) == JSON.stringify(_last_state):
|
||||
_stall_frames += 1
|
||||
if _stall_frames == 30:
|
||||
_report_stall(st)
|
||||
return
|
||||
# 排播演播期豁免(T17 硬锁 v3 随批——合法停顿态):演播期棋盘锁生效、probe 点击被吞、
|
||||
# 逻辑态恒定属预期。判据=纯队列(与 main 锁同源)。Waiting 收尾等待期**不豁免**——
|
||||
# 锁若把收尾链卡死,此处 stall 照报(探测面)。
|
||||
if main._row_queue.is_empty():
|
||||
_stall_frames += 1
|
||||
if _stall_frames == 30:
|
||||
_report_stall(st)
|
||||
return
|
||||
else:
|
||||
_stall_frames = 0
|
||||
_ap_spent_this_round = 0
|
||||
|
||||
Reference in new issue
Block a user