Commit Graph
3 Commits
Author SHA1 Message Date
DKChan e28a6cb3c4 专长迁移完成:27 行 triggers 订阅形态全量生效+旧 23 挂点枚举消亡+消费点拆除+断言面随迁(T3——内容数据驱动扩展批)
接手前任中断的 T3 半成品(脏文件三件:battle_orchestrator/effects engine/feats.tres),方向核实无误后续做收口;
承接修正四处随本提交留痕:①perfect_defense 的 when 用了 fact 封闭 9 项外的 flags_hit_all(装载校验必红)——
改 flags_count gte 1 保守判定,全中闸=flag_settle 发射点施加面承载(载荷字段仅供观测);②has 算子语义与行
不匹配(数组包含对 String 恒假)——落非空在场判定(value 缺省)+数组包含(value 给定),查询面落法=代拍板
白名单;③前任漏写 _harmful_adjacent 助手(flag_hit 发射点调用必炸);④counter_add set 键语义 bool() 吞 0
(清零行 set:0 被当 false 走加零通道)——改 has(set) 置值模式,四处施加点同修。

本提交主干(专长族全量迁移——任务书 §六 T3):
- damage_controller:feat_flags 旗面整体退役,五事件施加面接线——attack_commit 命中随单据 context 携带
  (发射点=开单入口,任务书 §3.1 定稿位;主角攻击单恒段内首单,开单现场=结账现场),rider/改写/加值/
  段数/状态五族按迁移前算序施加(重锤两拍/专注/spike 恒全额/猎弱移档/魔网湛蓝猎手克制直调/整备每层
  +1/厚积满层倍乘/奥术+猎巢+执拗 rider 合计后档位暴击);armor_roll 免掷恒折扣、clamp_check 双面
  (hero+board_typed)delta 窗口、kill 溢出弹射(landed×value%)、damage_taken shield 加法族合计。
  _feat_clamp_bonus/13 处旗消费点拆除。
- battle_orchestrator:_combat_segment 换代(dig_streak/charge_layers 注伤害控制器运行态;连珠矢段数
  施加位紧随主角攻击单开立=迁移前开单位,flush 兑现序逐位一致);round_start 发射位前移至行动经济轮
  切换前(树规则 grant_ap queue 当轮入队当轮兑现——先手压制首轮语义锚);深挖快照滚动拆除(计数器
  reset_at 声明承载);熔火/连击旧计数变量退役。
- action_economy:feat_ap_carry/feat_dig_extra/deep_paid_count 旧注入旗拆除;dig_paid 施加面落地
  (counter_spend 对价:AP 富余付全价积计数、不足 fallback 只付基础 1——2026-10-04 降级口径逐位保留)。
- feat_table schema:HOOKS 23 挂点枚举/MINE_HOOKS/EFFECT_KEYS/hook+effects 双形态校验全删——triggers
  订阅形态唯一合法行形(行键白名单收口 feat_id/display_name/rarity/archetype/triggers/desc/note)。
- feats_engine:hooks_for 挂点投影退役(订阅装载序=feats 表序,由效果引擎 rebuild 承载)。
- battle_narrator:专长卡片文案表值化(summaries 硬编码映射拆除,读行 desc——27 件措辞逐字迁移)。
- smoke 断言面随迁(任务书 v1.1 补列项):构造表 5 行换代 triggers 形态;挂点投影断言换代订阅装载面;
  ④-⑧ 求值断言(_feat_flags_for 直呼+旗读数)全量改写为 rebuild+dispatch 命中面(27 件逐事件覆盖);
  深挖钻头付费开掘回归闸改 counter_spend 计数器面;特性卡 desc 直读断言新增。

映射表对拍注记(行为等价优先,.tres 尾注同步留痕):猎巢人/矿工的执拗映射表标 modify_ticket/attack_bonus,
现行为必中附加通道(hero_rider 后置于乘区与下限)——落 add_ticket_rider(per 取数载荷);整备军备现行为
双效果(轮末转蓄力+每层首段攻 +1)——两行订阅;深挖钻头 per-round 计数器对(paid/given)复刻旧 v2
跨轮不对称语义(given 不随轮重置)。

验证:冒烟 800 项 0 失败(三闸过)· 单元 17 套全绿 · S1 魔法流对拍预检=MC formed/off 两态与 T0 pre 锚
(83000 种子段)同种子逐位一致(2×5 局,三档只测不判)——14 件迁移行实战斗承载零分岔。

设计权威:design/research/研究-内容数据驱动扩展架构-2026-10-06.md(案乙)。
任务书:design/research/任务书-内容数据驱动扩展批-2026-10-06.md §六 T3、§五映射表、§七契约 2/4。
2026-10-06 23:20:05 +08:00
DKChan 225765f3f7 词汇表落码:feats/treasure 两表 trigger 订阅形态 schema 换代+护栏迁移(T2——内容数据驱动扩展批)
schema 校验换代,数据行迁移前共存过渡(旧 hook/effect_kinds 校验保留,行为零变——冒烟 783 项 0 失败):

FeatTable:
- 行字段换代目标 hook/effects → triggers:[{on,when,do}](订阅哪个事件/什么条件/什么效果)
- triggers 校验收口 EffectEngine.validate_trigger_row 静态方法(单一事实源——事件/效果/fact/算子
  四词表全引用 EffectEngine 闭集常量,禁本表复抄)
- 行键白名单扩 triggers/desc(文案表值化预留)
- 悬空引用校验:do.value_from/delta_from/mult_from/cap_from 引用的行字段不存在=加载致命
- 🔴 流派扫雷触发铁律新形态:每流派 ≥1 行订阅扫雷侧事件(MINE_EVENTS=dig_reveal/dig_paid/
  flag_hit/mine_hit/flag_settle/round_end/reward_roll)或旧形态 hook∈MINE_HOOKS——流派级聚合判定
- triggers 与 hook 禁并存(换代单形态);缺两者=行错误

TreasureItemTable:
- 行键白名单扩 triggers/desc;passive 行 triggers 与 effect_kinds 禁并存
- 主动件 kind 词族换代挂账:新词 reveal_tiles/preview/grant_ap/remove_mines/refresh_pick
  (效果引擎 ACTIVE_KINDS 同名闭集)入 EFFECT_KINDS 与旧词共存至 T4 迁移完成

EffectEngine 补 validate_trigger_row 静态校验面(schema 共用)。

fact 条件词汇 9 项封闭落码核对:迁移设计全部现状条件可装入 9 项(matchup/is_first_dig_of_battle/
terrain_kind/target_armor_class/flags_count/charge_layers/nest_count/round_index/counter)——
未触发闭集缺口停机点。
2026-10-06 21:44:01 +08:00
DKChan 7d157b3c4c 效果引擎框架落地:事件发布订阅解释器+16 发射点埋点(T1——内容数据驱动扩展批)
把「内容的效果行为」从结算代码硬编码分支搬进数据行的第一步:通用解释器 EffectEngine 落地。
本提交=框架与埋点,双轨过渡期——发射点仅观测命中、施加面仍走旧消费点,行为与迁移前逐位一致
(冒烟 783 项 0 失败实证、单元 17 套全绿)。

新增 game/core/effect_engine.gd:
- 事件词汇 16 个(任务书 §3.1 定稿)+扫雷侧事件集(流派扫雷触发铁律新形态)
- 效果类型词汇 24 型(任务书 §3.3 定稿 19 行;标题计 23 系笔误按行内容全收,代拍板留痕)
- fact 条件词汇 9 项+when 算子词汇封闭(mod_zero/advantageous/gte_ref/lt_ref/ends_with
  系现状条件装进 9 项 fact 的查询面落法——代拍板白名单覆盖:掘进蓄能取模、淬毒克制正面、
  深挖配额计数器比较、对某甲族泛条件)
- 订阅装载 rebuild(每战 begin_battle 重建——中途获得下一战生效,同战内不热载;
  装载序=feats 表序→treasure 表序→树规则合成行,写死保种子复放)
- 计数器账本(counter_add/counter_spend/reset_at=round_start 重置点声明)
- 组合规则六族(加法/乘法/任意真/按序改写/按序消耗/即时执行——发射点施加面引用)

16 发射点埋点(订阅空=零循环零扰动):
- 战斗编排器:dig_reveal/mine_hit/flag_hit/flag_settle/round_end/enemy_hp_threshold/
  treasure_used/damage_taken(kind=terrain)/round_start×2
- 伤害控制器:attack_commit(hero_attack 单算术前)/clamp_check×2(主角攻击+棋盘克制面)/
  armor_roll/kill/damage_taken(kind=enemy_skill)
- 行动经济:dig_paid(对价闸前)/charge_full(转蓄力满层沿——R6 框架先行,现无订阅者)
- 地图战斗资源:reward_roll(摇号前权重合成层)

行为等价细节(本批预演、T3 落地):
- 停手转存改记账制:request_stop 记剩余 AP 后清零,转存决策移至 round_end 发射点
  finish_round_stop(grant_ap(mode:transfer) 订阅定夺;双轨期旧旗并行,缺省 RAP 转存不变)
- attack_commit 发射点=管线算术前(载荷含 matchup/dig_streak/nest_count——连珠矢/执拗/
  猎巢人/淬毒订阅事实源)

设计权威:design/research/研究-内容数据驱动扩展架构-2026-10-06.md(案乙)。
任务书:design/research/任务书-内容数据驱动扩展批-2026-10-06.md §六 T1。
2026-10-06 21:22:33 +08:00