修复: 卡⓪③——冒烟补主菜单两入口传参断言(直呼 build_adventure_params 单测统一构造面:开新/续玩×attunement/attune_refresh_y/tree_rules 与来源一致 +840 总量+6)
This commit is contained in:
1 parent
1d2894b555
commit
fb845b78dc
1 file changed
+27
@@ -4658,6 +4658,33 @@ func _meta_settle_and_workshop() -> void:
|
||||
a12._reset_refresh_x()
|
||||
check(a12.attune_refresh_left() == 1,
|
||||
"刷新 X 每碰三选一重置(不结转——重碰面 x 回表值 1)")
|
||||
# ⑬ 主菜单开局传参面(迭代 19 卡⓪①③——开新/续玩两入口同调三键随开局下传防回归:真实入口此前
|
||||
# 三键恒空(缺陷①),冒烟夹具直呼 runner 参数面拦不住——此处直呼 main.build_adventure_params
|
||||
# 单测统一构造面(static 免实例化整菜单场景;真实两入口共用本构造),取值与营地投影同源)
|
||||
var sv_e = _meta_new_save(_META_SMOKE_PATHS[8])
|
||||
sv_e.set_attunement_equipped(["luck_coin"])
|
||||
sv_e.set_attune_refresh_level(2)
|
||||
sv_e.set_fork_side("fg_posture", "a")
|
||||
var mp_e = load("res://core/meta_progression.gd").new(_db, sv_e)
|
||||
var rules_e: Array = mp_e.tree_rule_keys()
|
||||
check(rules_e.has("posture_first_strike") and mp_e.attune_refresh_charges() == 2,
|
||||
"开局传参夹具前置:Fork 侧 a 激活 rule 键非空 + Y=Lv2 行表值 2(防断言空转)")
|
||||
var p_new: Dictionary = load("res://presentation/main.gd").build_adventure_params(sv_e, mp_e,
|
||||
{"first_script": true, "treasure_unlocked": {}, "shop_mode": "pool"})
|
||||
check((p_new.get("attunement", []) as Array) == (sv_e.attunement_equipped() as Array),
|
||||
"主菜单开新冒险参数面:同调装配 = 存档装配集(营地装了什么开局就带什么)")
|
||||
check(int(p_new.get("attune_refresh_y", -1)) == mp_e.attune_refresh_charges(),
|
||||
"主菜单开新冒险参数面:Y 刷新池 = 当前等级行表值(营地升几档开局就给几次)")
|
||||
check((p_new.get("tree_rules", []) as Array) == rules_e,
|
||||
"主菜单开新冒险参数面:树 rule 键集 = Fork 激活侧 effects(点哪侧带哪侧)")
|
||||
check(bool(p_new.get("first_script", false)) and String(p_new.get("shop_mode", "")) == "pool",
|
||||
"主菜单开新冒险参数面:入口特有键(first_script/shop_mode)随 extra 原样并入")
|
||||
var p_resume: Dictionary = load("res://presentation/main.gd").build_adventure_params(sv_e, mp_e,
|
||||
{"treasure_unlocked": {}})
|
||||
check((p_resume.get("attunement", []) as Array) == (sv_e.attunement_equipped() as Array)
|
||||
and int(p_resume.get("attune_refresh_y", -1)) == mp_e.attune_refresh_charges()
|
||||
and (p_resume.get("tree_rules", []) as Array) == rules_e,
|
||||
"主菜单继续上局参数面:三键与开新冒险同源同值(续玩不吃白板开局)")
|
||||
_meta_smoke_cleanup()
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user