iter54-卡3:精英专属池批(elite 行类与字段互锁/dangling_base/effective_pool 池继承合并/ENCOUNTER_ROW_KINDS 寻址门暂不接线/goblin_elite 落表+存量冒烟同步+图鉴导出认得精英行)——对照表 R1-R7 全绿(elite_row_test 六组/五件存量套件直跑绿/生产表 error 诊断 0),T3.8 里程碑出口 --code 六闸全绿【验收通过】
This commit is contained in:
1 parent
4c424af358
commit
f9c9caf56b
14 files changed
+540
-40
No files matched your search
@@ -3,8 +3,9 @@
|
||||
## 运行:Godot_console.exe --headless --path . --script res://sim/compendium_dump.gd -- [out=<绝对路径>] [tables_root=<res:// 路径>]
|
||||
## out 缺省 = 仓库根 sim-data/compendium/dump.json(res:// 的上一级);目录不存在则创建。
|
||||
## tables_root 缺省 = res://data/tables;fail-fast 路径验证时可指向临时表目录。
|
||||
## 导出形态:顶层 counts 带两表行数计数 + enemy_rows/skill_rows 行字典原样(零新增字段、零改名;
|
||||
## 表内可省略字段缺席即缺席)。本件零随机、零数值硬编码、零判定逻辑。
|
||||
## 导出形态:顶层 counts 带两表行数计数 + enemy_rows/skill_rows 行字典原样,elite 行另补合并后的
|
||||
## pool 供展示(表内行零改写;battle/boss 行=自身 pool 原样;表内可省略字段缺席即缺席)。
|
||||
## 本件零随机、零数值硬编码、零判定逻辑。
|
||||
## fail-fast:表加载失败(缺表/行域校验/跨表悬空引用)、行缺关键字段、pool.skill_id 在技能表无对应行
|
||||
## → 逐条报错并以退出码 1 中止,禁软回退。
|
||||
extends SceneTree
|
||||
@@ -29,15 +30,23 @@ func _initialize() -> void:
|
||||
return
|
||||
var enemy_rows: Array = db.combat.enemy.rows
|
||||
var skill_rows: Array = db.combat.skill.rows
|
||||
var errs := _validate_rows(enemy_rows, skill_rows)
|
||||
# 导出行数组:逐行 duplicate——elite 行副本写合并后的 pool(按需现算,表内行不被改写);
|
||||
# battle/boss 行=自身 pool 原样(读法等价面)
|
||||
var export_enemy_rows: Array = []
|
||||
for row_v in enemy_rows:
|
||||
var row: Dictionary = (row_v as Dictionary).duplicate()
|
||||
if String(row.get("row_kind", "")) == "elite":
|
||||
row["pool"] = db.combat.enemy.effective_pool(row_v)
|
||||
export_enemy_rows.append(row)
|
||||
var errs := _validate_rows(export_enemy_rows, skill_rows)
|
||||
if not errs.is_empty():
|
||||
for e in errs:
|
||||
push_error("compendium_dump: %s" % e)
|
||||
quit(1)
|
||||
return
|
||||
var payload := {
|
||||
"counts": {"enemy_rows": enemy_rows.size(), "skill_rows": skill_rows.size()},
|
||||
"enemy_rows": enemy_rows,
|
||||
"counts": {"enemy_rows": export_enemy_rows.size(), "skill_rows": skill_rows.size()},
|
||||
"enemy_rows": export_enemy_rows,
|
||||
"skill_rows": skill_rows,
|
||||
}
|
||||
var out_path := String(opt.out)
|
||||
|
||||
Reference in new issue
Block a user