feat(迭代23-T4): 注入接线——hero_override 公式换代(FORGE_ROUTE_BONUS 退役)+两轴参数面全链+入战 AC 三层
- meta_progression.hero_override:atk=forge_weapon_atk_bonus+树 flat / armor_class=forge_armor_ac_bonus+树 flat / max_hp=树 flat;FORGE_ROUTE_BONUS 预留常量退役(公式不再出现,注释留痕) - main.build_adventure_params:+attack_type/armor_type 两键(meta.hero_attack_type/hero_armor_type——存档选中路线类型轴,异常回退锻造配置默认值) - adventure_runner:params 两键快照入公有 hero_attack_type/hero_armor_type(契约 8 锁死可断言面;start/resume 双路同),_start_current_level 经 set_hero_axes 下传 - level_runner:set_hero_axes 注入+effective_ac 换代=甲型基础 AC(forge_armor_route_by_type.base_ac)+路线加值(base_override)+局内加算区(bonus)三层;enc 携带两键 - battle_orchestrator:spawn 传 enc 两轴(空串=锻造配置默认值回退——行为连续) - 冒烟 V5 后半/V6 锁死/V7 公式对拍+V10 树零攻防复核共 15 断言(含 enc 末端 hero_attack 行 pierce 键+spawn 显式注入) - 轻闸:冒烟 938/0(923 基线 +15)+run_all 23 套全绿;删除标识符 live 引用零残留(FORGE_ROUTE_BONUS/hero 两轴仅存退役注记与 README 文档面=归 T7)
This commit is contained in:
1 parent
a6270bac54
commit
ed0629236a
6 files changed
+127
-16
No files matched your search
@@ -62,6 +62,10 @@ var level_index := 0 # 当前关卡序号(1 起)
|
||||
var levels_total := 0 # 序列总关数(读 level 表行数)
|
||||
var keystone := 0 # 钥石入账累计(摘要第三件事的账面)
|
||||
var master_seed := 0 # 本局主种子(摘要第五件事)
|
||||
# 两根类型轴冒险开始快照(迭代 23 T4——契约 8:营地选中态经参数面注入、冒险开始后锁死;
|
||||
# 公有=参数面快照的可断言面〔契约 9 写口唯一,本字段只读不改〕。空串=未注入→消费面回退锻造配置默认值)
|
||||
var hero_attack_type := ""
|
||||
var hero_armor_type := ""
|
||||
var summary := {} # 最近一次结算的冒险摘要(idle 后保留——重开才新生成)
|
||||
var _runner: LevelRunner # 当前关卡行进器(每关新建——关卡域状态天然隔离)
|
||||
var _pending_next_level := false # 大奖励已兑付、等 continue_to_next_level 确认
|
||||
@@ -128,6 +132,8 @@ func start_adventure(seed_val: int, params: Dictionary = {}) -> bool:
|
||||
level_index = 1
|
||||
_pending_next_level = false
|
||||
_base_override = _normalize_override(params.get("hero_override", {}))
|
||||
hero_attack_type = String(params.get("attack_type", "")) # 迭代 23 T4——两根类型轴快照(契约 8 锁死:开局后不随存档选中变化)
|
||||
hero_armor_type = String(params.get("armor_type", ""))
|
||||
_first_script = bool(params.get("first_script", false)) # 缺省 = 非首次(抽签路径;真实侧由呈现层读存档布尔位传入)
|
||||
_shop_mode = "pool" if String(params.get("shop_mode", "legacy")) == "pool" else "legacy" # 迭代 11 第②批 T3——缺省 legacy(off 对照零扰动)
|
||||
_treasure_unlocked = params.get("treasure_unlocked", {}) if params.get("treasure_unlocked", {}) is Dictionary else {}
|
||||
@@ -211,6 +217,8 @@ func resume_adventure(bp: Dictionary, params: Dictionary = {}) -> bool:
|
||||
_feats.append(String(r))
|
||||
_keystone_drops = (bp.get("keystone_drops", []) as Array).duplicate(true)
|
||||
_base_override = _normalize_override(params.get("hero_override", {}))
|
||||
hero_attack_type = String(params.get("attack_type", "")) # 迭代 23 T4——续玩参数面同 start_adventure(账号层选中态随 resume 重注入)
|
||||
hero_armor_type = String(params.get("armor_type", ""))
|
||||
# 生命账本越界钳制(T17——spawn 守卫 EC16 免疫):断点可能由旧口径版本写出(如调试上限
|
||||
# 调高期带出的账本值 > 新口径生效上限,实例:hero_hp=28 > 基础 26)——恢复后钳到生效上限,
|
||||
# 否则首战 spawn「hero_hp 入参越界」拒收 → 「敌人系统 spawn 被拒」fatal。上限 = 表值+永久
|
||||
@@ -936,6 +944,7 @@ func _start_current_level() -> bool:
|
||||
_runner.set_vision_counter(vision_counter) # 迭代 22 秘宝批 T3——真视使用计数共享 dict 下传(编排器受理成功 +1)
|
||||
_runner.set_feats(_feats) # 迭代 12 T1——特性持有集下传(begin_battle enc.feats 求值面)
|
||||
_runner.set_tree_rules(_tree_rules) # 迭代 12 T10——树 rule 键集下传(A/B 面消费)
|
||||
_runner.set_hero_axes(hero_attack_type, hero_armor_type) # 迭代 23 T4——两根类型轴快照下传(effective_ac 甲型基础 AC 层+enc 携带进 spawn)
|
||||
if _shop_mode == "pool":
|
||||
# 商店共享池注入(迭代 11 第②批 T3——库存账本引用+消费 handler 双下传;legacy 模式零注入零扰动。
|
||||
# 迭代 20 T2——cap 检查回调四参注入)
|
||||
|
||||
Reference in new issue
Block a user