iter41-卡1:核心数据面结构收敛批:85键全清——三族拆域+config_db归位容器+存档拆件+meta瘦身+adventure拆段+spawn束化;行为零变化,8新件在阈
This commit is contained in:
1 parent
bda377eb16
commit
a613a3cb90
157 files changed
+7453
-4288
No files matched your search
@@ -26,7 +26,7 @@ func _init() -> void:
|
||||
# ---- 生产表六行正向(V1 生产面 + V11 行字段闭集)----
|
||||
|
||||
func _test_production_rows(db) -> void:
|
||||
var rows: Array = db.forge_routes()
|
||||
var rows: Array = db.crossrun.forge.route_rows()
|
||||
Kit.check("六路线行族规模恰 6(三武器+三甲)〔锻造工坊批 V1〕", rows.size() == 6)
|
||||
var ids := []
|
||||
for row in rows:
|
||||
@@ -52,39 +52,44 @@ func _test_production_rows(db) -> void:
|
||||
initial.sort()
|
||||
Kit.check("初始持有恰 sword+light〔锻造工坊批 V1〕", initial == ["light", "sword"])
|
||||
# 默认两轴(契约 2 所有权移交——裸体态 normal/light)
|
||||
Kit.check("默认攻击类型轴 = normal(常驻持有)〔锻造工坊批 V1〕", db.forge_default_attack_type() == "normal")
|
||||
Kit.check("默认甲型轴 = light(常驻持有)〔锻造工坊批 V1〕", db.forge_default_armor_type() == "light")
|
||||
Kit.check("默认攻击类型轴 = normal(常驻持有)〔锻造工坊批 V1〕", db.crossrun.forge.default_attack_type == "normal")
|
||||
Kit.check("默认甲型轴 = light(常驻持有)〔锻造工坊批 V1〕", db.crossrun.forge.default_armor_type == "light")
|
||||
# 类型轴分族与并联双通道前置(4b-1 裁)
|
||||
Kit.check("长枪/法杖 ← 长剑练满(并联双通道①)〔锻造工坊批 V1〕",
|
||||
String(db.forge_route("spear").get("prereq_route", "")) == "sword"
|
||||
and String(db.forge_route("staff").get("prereq_route", "")) == "sword")
|
||||
String(db.crossrun.forge.route("spear").get("prereq_route", "")) == "sword"
|
||||
and String(db.crossrun.forge.route("staff").get("prereq_route", "")) == "sword")
|
||||
Kit.check("重甲/魔法护甲 ← 轻甲练满(并联双通道①)〔锻造工坊批 V1〕",
|
||||
String(db.forge_route("heavy").get("prereq_route", "")) == "light"
|
||||
and String(db.forge_route("ward").get("prereq_route", "")) == "light")
|
||||
String(db.crossrun.forge.route("heavy").get("prereq_route", "")) == "light"
|
||||
and String(db.crossrun.forge.route("ward").get("prereq_route", "")) == "light")
|
||||
Kit.check("四待解锁路线一次性解锁价 = 200〔锻造工坊批 V1〕",
|
||||
int(db.forge_route("spear").get("unlock_price", 0)) == 200
|
||||
and int(db.forge_route("staff").get("unlock_price", 0)) == 200
|
||||
and int(db.forge_route("heavy").get("unlock_price", 0)) == 200
|
||||
and int(db.forge_route("ward").get("unlock_price", 0)) == 200)
|
||||
int(db.crossrun.forge.route("spear").get("unlock_price", 0)) == 200
|
||||
and int(db.crossrun.forge.route("staff").get("unlock_price", 0)) == 200
|
||||
and int(db.crossrun.forge.route("heavy").get("unlock_price", 0)) == 200
|
||||
and int(db.crossrun.forge.route("ward").get("unlock_price", 0)) == 200)
|
||||
# 甲型基础 AC(provisional 现役结构值——settlement.tres 矩阵同行)
|
||||
Kit.check("甲型基础 AC = 轻 10 / 重 12 / 魔法护甲 9〔锻造工坊批 V1〕",
|
||||
int(db.forge_route("light").get("base_ac", 0)) == 10
|
||||
and int(db.forge_route("heavy").get("base_ac", 0)) == 12
|
||||
and int(db.forge_route("ward").get("base_ac", 0)) == 9)
|
||||
int(db.crossrun.forge.route("light").get("base_ac", 0)) == 10
|
||||
and int(db.crossrun.forge.route("heavy").get("base_ac", 0)) == 12
|
||||
and int(db.crossrun.forge.route("ward").get("base_ac", 0)) == 9)
|
||||
# 按类型轴反查(甲路线 id=甲型同值的显式化入口)
|
||||
Kit.check("forge_armor_route_by_type(ward) = 魔法护甲锻造〔锻造工坊批 V1〕",
|
||||
String(db.forge_armor_route_by_type("ward").get("route_id", "")) == "ward")
|
||||
Kit.check("forge_weapon_route_by_type(pierce) = 长枪锻造〔锻造工坊批 V1〕",
|
||||
String(db.forge_weapon_route_by_type("pierce").get("route_id", "")) == "spear")
|
||||
String(db.crossrun.forge.armor_route_by_type("ward").get("route_id", "")) == "ward")
|
||||
var wpn_hit := {}
|
||||
for r in db.crossrun.forge.route_rows():
|
||||
if String(r.get("kind", "")) == "weapon" and String(r.get("type_axis", "")) == "pierce":
|
||||
wpn_hit = r
|
||||
break
|
||||
Kit.check("forge route_rows 按轴反查武器路线(pierce)=长枪锻造〔锻造工坊批 V1——访问器退役改直扫同判据〕",
|
||||
String(wpn_hit.get("route_id", "")) == "spear")
|
||||
# 缺行/未知轴 = 空字典合法态
|
||||
Kit.check("未知 route_id / 未知类型轴 = 空字典〔锻造工坊批 V1〕",
|
||||
db.forge_route("blade").is_empty() and db.forge_armor_route_by_type("plate").is_empty())
|
||||
db.crossrun.forge.route("blade").is_empty() and db.crossrun.forge.armor_route_by_type("plate").is_empty())
|
||||
|
||||
|
||||
# ---- 几何价格梯(V2 价格面单测半边——购买写在 T3 冒烟)----
|
||||
|
||||
func _test_price_ladder(db) -> void:
|
||||
var row: Dictionary = db.forge_route("sword")
|
||||
var row: Dictionary = db.crossrun.forge.route("sword")
|
||||
var prices := []
|
||||
for owned in range(5):
|
||||
prices.append(ForgeTableScript.level_price(row, owned))
|
||||
|
||||
Reference in new issue
Block a user