fix(review-batch3): 类型收紧生产清零137处(P1-2三步+延伸)+autoload class_name(ConfigDb/RngServiceCore)与_init标注(P2-1)+validate_skill_pool_links/ShopTable标注(P2-4)+相位enum外String面(P2-2)+typed-rows探针实证.tres装载转换;smoke缝合20处rows.assign+str(bb)同语义;审计生产双归零(240→103/83→59全测试链),单测7套绿,冒烟576/0同基线

This commit is contained in:
DKChan committed 2026-09-29 07:01:29 +08:00
1 parent f5edb65d25
commit 104cea6461
46 files changed
+233 -218

No files matched your search

+4 -4
View File
@@ -9,7 +9,7 @@
class_name EnemyTable
extends Resource
@export var rows: Array = [] # Array[Dictionary]
@export var rows: Array[Dictionary] = [] # Array[Dictionary]
# 护甲类型封闭枚举(攻击类型 × 护甲克制批——克制矩阵本体在 SettlementTable;
# 2026-09-15 命名统一批:位置键 {none, a, b} → 语义键 {light, ward, heavy} = 轻甲 / 魔法护甲 / 重甲)
@@ -17,7 +17,7 @@ const ARMOR_TYPES := ["light", "ward", "heavy"]
func validate() -> Array:
var errs: Array = []
var errs: Array[Dictionary] = []
if rows.is_empty():
errs.append({"category": "empty_table", "message": "EnemyTable 为空"})
return errs
@@ -108,14 +108,14 @@ func validate() -> Array:
# R1:进度键 floor + 行集恰一敌种(实体键无歧义,悬空致命由调用方处理)
func resolve_rowset(L: int, D: int) -> Dictionary:
var best: Dictionary = {}
var best: Dictionary[String, Variant] = {}
var best_l := -1
var best_d := -1
for row in rows:
var rl: int = int(row.get("level_index", 0))
var rd: int = int(row.get("node_depth", 0))
if rl <= L and rd <= D and (rl > best_l or (rl == best_l and rd > best_d)):
best = row
best.assign(row)
best_l = rl
best_d = rd
return best