T1 P0急救: ①旗纹理槽双写踩踏修复(删paint尾部T13遗留u.tex_flag=null——与L683条件赋值构成683→746执行序覆盖=素材在位插旗恒不可见,headless缺盘字形回退掩盖)+ui_input_probe case④b回归断言(有盘断言纹理在槽/缺盘断言字形回退)②notify_combat_end拆行复活(原被tab事故并进行尾注释从不执行=战后相位不回Idle/RAP不清零,每战新建实例掩盖)+smoke_all _run_battle收束相位Idle回归断言(628→636)

This commit is contained in:
DKChan committed 2026-10-02 07:46:31 +08:00
1 parent ba8e8e83c4
commit 2a55f4e1b7
4 files changed
+20 -3

No files matched your search

+2 -1
View File
@@ -795,7 +795,8 @@ func _battle_over(result: String) -> void:
_enemy_system.despawn_all()
_status_effects.notify_battle_end()
if aux_inventory != null:
aux_inventory.retire_overlays() # 迭代 7 T3——叠加层随战斗结束清空(库存不动——关卡域跨战斗) action_economy.notify_combat_end() # → Idle,RAP 清零
aux_inventory.retire_overlays() # 迭代 7 T3——叠加层随战斗结束清空(库存不动——关卡域跨战斗)
action_economy.notify_combat_end() # → Idle,RAP 清零(2026-10-02 修复批:原被 tab 事故并进上一行行尾注释从不执行——每战新建实例掩盖了症状;P0-3)
db.set_reload_gate(false)
_reset_round_facts()
battle_finished.emit({"result": result, "hero_hp": hero_hp_left, "gp_dropped": gp_dropped})
+3 -1
View File
@@ -743,7 +743,9 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void:
u.proj_band = 0.0
u.tex_facade = null
u.facade_strip = false
u.tex_flag = null
# 旗槽不在此重置(2026-10-02 修复批——T13 批的 paint 尾部 `u.tex_flag = null` 与 L683 的条件
# 赋值构成双写踩踏:执行序 683→此处把旗纹理恒清 null=素材在位时插旗不可见;L683 的 else 分支
# 已是全路径清残留,尾部重置系冗余且有害,删除)
var south_n: Vector2i = c + Vector2i(0, 1)
var north_n: Vector2i = c + Vector2i(0, -1)
var south_in: bool = south_n.x >= 0 and south_n.y >= 0 and south_n.x < _board.width and south_n.y < _board.height
+5
View File
@@ -1273,6 +1273,11 @@ func _run_battle(L: int, D: int) -> Dictionary:
if out.result == "":
out.result = "timeout"
out.terminated = out.result == "victory" or out.result == "defeat"
if out.terminated:
# P0-3 回归断言(2026-10-02 修复批):notify_combat_end 曾被并进行尾注释从不执行——
# 战斗收束后相位必须回 Idle(RAP 清零),任何「相位卡 Waiting」回归在此被抓
check(action_economy.phase == "Idle",
"战斗收束后行动经济相位回 Idle(notify_combat_end 生效,实测=%s)" % String(action_economy.phase))
return out
+10 -1
View File
@@ -208,6 +208,15 @@ func _ready() -> void:
await get_tree().process_frame
if not ms.has_flag(flag_t):
_problems.append("case④ 核心旗态未落位")
# ---- case④b 旗纹理槽回归断言(P0-1 修复批 2026-10-02):T13 批曾在 paint 尾部无条件
# `u.tex_flag = null` 覆盖 T17 批的条件赋值=素材在位时插旗不可见(headless 缺盘走字形回退
# 掩盖)——有盘断言纹理在槽、缺盘断言字形回退,两分支防双写踩踏复活 ----
var flag_unit = bv._cells.get(flag_t)
if bv._flag_tex != null:
if flag_unit == null or flag_unit.tex_flag != bv._flag_tex:
_problems.append("case④b 旗纹理槽未挂封印旗纹理(tex_flag=%s)" % ["无单元" if flag_unit == null else str(flag_unit.tex_flag)])
elif flag_unit == null or flag_unit.glyph != "旗":
_problems.append("case④b 缺盘字形回退缺失(glyph=%s)" % ["无单元" if flag_unit == null else String(flag_unit.glyph)])
# ---- case⑤ 双击 chord:禁入格双左击(核心拒挖零副作用)→ chord_attempted ----
_push_click(_pos(bv, forbid_t), MOUSE_BUTTON_LEFT)
_push_click(_pos(bv, forbid_t), MOUSE_BUTTON_LEFT)
@@ -318,7 +327,7 @@ func _ready() -> void:
else:
_problems.append("case⑭ 无未开格可验(板面异常)")
if _problems.is_empty():
print("[ui_input_probe] PASS — 悬停金框/禁入信号/路径预览/flag_place/chord/dig/英雄落位/影子构成/朝向/缩格重排/缺位回退/变异角标 十四断言全绿(真实 push_input 路径——⑫图上命中⑬画布拟合 2026-09-28 增,⑭变异角标 2026-09-29 增)")
print("[ui_input_probe] PASS — 悬停金框/禁入信号/路径预览/flag_place/chord/dig/英雄落位/影子构成/朝向/缩格重排/缺位回退/变异角标 十五断言全绿(真实 push_input 路径——⑫图上命中⑬画布拟合 2026-09-28 增,⑭变异角标 2026-09-29 增,④b 旗纹理槽回归 2026-10-02 增)")
get_tree().quit(0)
else:
for p in _problems: