批末修复二: 全量闸首轮暴露的运行期断链六处——ui_kit面板哨兵改is StyleBox判别(StyleBox与布尔!=异类操作数违例,炸断全部modal_shell消费方构建=柜台/棋盘格/站桩缺失根因)+smoke_boot db.get(hero)字符串取表改combat.hero容器路径(K1′字符串形态盲区)+system_test _face_snapshot五读点改bo.ctx.getters束+camp_shop_presenter recent_summaries改meta_state.career_state投影+enemy/board_gen/difficulty三表resolver委托改直调(原写_resolver.combat...绕回自身=循环自指)+resolver_test十二处同形直调复原( T7扫荡误把测试直构resolver当db改址);冒烟15项0失败+系统测试69项0失败实证

This commit is contained in:
DKChan committed 2026-10-29 01:33:48 +08:00
1 parent 730c35aa0a
commit 76794be79b
8 files changed
+25 -24

No files matched your search

+12 -12
View File
@@ -54,16 +54,16 @@ func _difficulty_table():
func _test_band_hit() -> void:
var hit: Array = _resolver.combat.enemy.resolve_rowset(1, 4, "battle")
var hit: Array = _resolver.resolve_enemy_rowset(1, 4, "battle")
Kit.check("带命中取偏难一侧:请求深度 4 命中带 5(逐字不回带 0)〔fv1〕",
hit.size() == 1 and String((hit[0] as Dictionary).get("enemy_id", "")) == "hobgoblin")
var exact: Array = _resolver.combat.enemy.resolve_rowset(1, 5, "battle")
var exact: Array = _resolver.resolve_enemy_rowset(1, 5, "battle")
Kit.check("精确落带:请求深度 5 命中带 5〔fv1〕",
exact.size() == 1 and String((exact[0] as Dictionary).get("enemy_id", "")) == "hobgoblin")
func _test_rowset_order_preserved() -> void:
var rows: Array = _resolver.combat.enemy.resolve_rowset(1, 0, "battle")
var rows: Array = _resolver.resolve_enemy_rowset(1, 0, "battle")
var ids: Array[String] = []
for r in rows:
ids.append(String((r as Dictionary).get("enemy_id", "")))
@@ -73,7 +73,7 @@ func _test_rowset_order_preserved() -> void:
func _test_top_band_clamp() -> void:
_diags.clear()
var rows: Array = _resolver.combat.enemy.resolve_rowset(1, 99, "battle")
var rows: Array = _resolver.resolve_enemy_rowset(1, 99, "battle")
Kit.check("越顶带 clamp 取顶带行集(battle 顶带 5)〔fv3〕",
rows.size() == 1 and String((rows[0] as Dictionary).get("enemy_id", "")) == "hobgoblin")
var clamp_hit := false
@@ -82,13 +82,13 @@ func _test_top_band_clamp() -> void:
clamp_hit = true
Kit.check("越顶带发 warning resolve_depth_clamp〔fv3〕", clamp_hit)
var warn_before: int = _diags.size()
_resolver.combat.enemy.resolve_rowset(1, 99, "battle")
_resolver.resolve_enemy_rowset(1, 99, "battle")
Kit.check("同键重复请求警告去重(四元组注册表)〔fv3〕", _diags.size() == warn_before)
func _test_row_kind_routing() -> void:
var battle_rows: Array = _resolver.combat.enemy.resolve_rowset(1, 0, "battle")
var boss_rows: Array = _resolver.combat.enemy.resolve_rowset(1, 0, "boss")
var battle_rows: Array = _resolver.resolve_enemy_rowset(1, 0, "battle")
var boss_rows: Array = _resolver.resolve_enemy_rowset(1, 0, "boss")
Kit.check("行类路由:同请求深度 battle 与 boss 命中不同键域〔fv4〕",
battle_rows.size() == 2 and boss_rows.size() == 1
and String((boss_rows[0] as Dictionary).get("enemy_id", "")) == "ogre_chief")
@@ -96,13 +96,13 @@ func _test_row_kind_routing() -> void:
func _test_request_oob() -> void:
_diags.clear()
_resolver.combat.enemy.resolve_rowset(0, 0, "battle")
_resolver.resolve_enemy_rowset(0, 0, "battle")
Kit.check("关卡序号 <1 → fatal request_oob〔fv5〕", _has_fatal_oob())
_diags.clear()
_resolver.combat.enemy.resolve_rowset(1, -1, "battle")
_resolver.resolve_enemy_rowset(1, -1, "battle")
Kit.check("节点深度 <0 → fatal request_oob〔fv5〕", _has_fatal_oob())
_diags.clear()
_resolver.combat.enemy.resolve_rowset(1, 0, "elite")
_resolver.resolve_enemy_rowset(1, 0, "elite")
Kit.check("row_kind 非法 → fatal request_oob〔fv5〕", _has_fatal_oob())
@@ -114,11 +114,11 @@ func _has_fatal_oob() -> bool:
func _test_difficulty_clamp() -> void:
var m: Dictionary = _resolver.run.difficulty.resolve_modifiers(1, 0)
var m: Dictionary = _resolver.resolve_difficulty_modifiers(1, 0)
Kit.check("难度乘数越域被 clamp:hp 99 → 上限 10", absf(float(m.get("hp_mult", 0.0)) - 10.0) < 0.001)
Kit.check("难度乘数越域被 clamp:atk 0.01 → 下限 0.1", absf(float(m.get("atk_mult", 0.0)) - 0.1) < 0.001)
Kit.check("未登记坐标返回空修饰(零值不伪装成 ×1)",
_resolver.run.difficulty.resolve_modifiers(3, 3).is_empty())
_resolver.resolve_difficulty_modifiers(3, 3).is_empty())
class _FakeDifficulty: