iter56-卡2:封印动作改版(迭代56卡2·受理即揭示): 规则核心(target_sealed挖封印格拒/清图口径=挖开∪封印/能清图的封最优先/notify_cleared清图收轮/sealed_identity撤出→BoardData.cell_identity——上限20用户裁)+结算面dug_under_seal删净+破封一击退役+呈现层(地板+身份字形+印记不依赖揭示态+文案四件)+探针V8-V10+sim域(标空封印剔除约束增强+错触直挖补偿注入0.10)+golden三图换代; MC同批重锚50/档=100局(2026-11-08用户批准)三方对照无结构性恶化; 高档审计通过(17行全量·审计后勘误2项闭环)

This commit is contained in:
DKChan committed 2026-11-08 03:47:33 +08:00
1 parent 908e518306
commit 5ec4a311bb
34 files changed
+589 -164

No files matched your search

+27 -1
View File
@@ -271,7 +271,7 @@ func _ready() -> void:
if bv.mouse_default_cursor_shape != Input.CURSOR_ARROW:
_problems.append("case③ 移动光标缺失(%d)" % bv.mouse_default_cursor_shape)
# ---- case④ 右键封印:seal_place 到达组合根 + 核心封印态落位 ----
# 判据出处: design/gdd/systems/排雷循环/排雷玩法.md:231 封印受理与印记随挖消失(case④/④b)
# 判据出处: design/gdd/systems/排雷循环/排雷玩法.md:52 封印受理即揭示、受理零兑付零事件(case④/④b——受理即揭示改版换代)
_push_click(_pos(bv, seal_t), MOUSE_BUTTON_RIGHT)
await get_tree().process_frame
if not _has_action(seal_t, "seal_place"):
@@ -284,6 +284,32 @@ func _ready() -> void:
var seal_unit = bv.cells_probe().get(seal_t)
if seal_unit == null or not seal_unit.seal_on:
_problems.append("case④b 封印印记未下发(seal_on=%s)" % ["无单元" if seal_unit == null else str(seal_unit.seal_on)])
# ---- case④c(V9 新增)已封印格零动作:真输入左/右键 → action_requested 零发射、光标态=禁止 ----
# 判据出处: design/ux/battle.md Interaction Map 已封印格行——已封印格无动作(左右键同零意图)
var acts_before_v9: int = _actions.size()
_push_motion(_pos(bv, seal_t))
await get_tree().process_frame
if bv.mouse_default_cursor_shape != Input.CURSOR_FORBIDDEN:
_problems.append("case④c 悬停已封印格光标非禁止(%d)〔封印改 V9〕" % bv.mouse_default_cursor_shape)
if bv.cells_probe()[seal_t].face.hl_color != bv.COL_SEAL:
_problems.append("case④c 已封印格悬停未落封印禁入框(color=%s)〔封印改 V9〕" % str(bv.cells_probe()[seal_t].face.hl_color))
_push_click(_pos(bv, seal_t), MOUSE_BUTTON_LEFT)
await get_tree().process_frame
_push_click(_pos(bv, seal_t), MOUSE_BUTTON_RIGHT)
await get_tree().process_frame
if _actions.size() != acts_before_v9:
_problems.append("case④c 已封印格左右键仍发射意图(新增 %d——应零发射)〔封印改 V9〕" % (_actions.size() - acts_before_v9))
if not ms.is_revealed(seal_t):
pass # 封印格保持未开(零副作用同源佐证)
else:
_problems.append("case④c 已封印格被挖开(零副作用失守)〔封印改 V9〕")
# 悬停说明在册:图例封印行承载悬停语义说明(受理即揭示口径——ENTRIES 在册断言)
var legend_seal_line := ""
for e in main.ui.modals.run.legend_overlay.ENTRIES:
if String(e[1]) == "封印":
legend_seal_line = String(e[2])
if not legend_seal_line.contains("受理即揭示"):
_problems.append("case④c 悬停说明在册缺新口径(图例封印行=%s)〔封印改 V9〕" % legend_seal_line)
# ---- case⑤ 双击 chord:禁入格双左击(核心拒挖零副作用)→ chord_attempted ----
# 判据出处: design/gdd/systems/排雷循环/排雷玩法.md:236 拒绝三源可辨、任何拒绝零副作用(case⑤ chord)
_push_click(_pos(bv, forbid_t), MOUSE_BUTTON_LEFT)