feat(content): GP+商店房实施批落地——九型格面+随机掉落+Boss前商店房+统一加算区(台账 116)

This commit is contained in:
DKChan committed 2026-09-21 02:57:08 +08:00
1 parent ba6b5e6046
commit bb34335a1e
40 files changed
+1251 -126

No files matched your search

+37 -13
View File
@@ -20,10 +20,10 @@ entities:
owner: design/gdd/systems/表现与支撑/数据配置.md
attributes:
kind: autoload
streams: [board_gen, reward_roll, encounter, armor_roll, behavior_roll, variant_place]
stream_names: 当前封闭清单(增流需改代码 + P1 支柱评审;combat_var 已于 2026-09-07 full 评审删除——玩法随机不预置基础设施;encounter 增流 2026-09-12 用户拍板——遭遇随机化批,scope_event_binding = 每次战斗实例化恰一 scope;**armor_roll 增流 2026-09-16 用户拍板**——护甲等级掷点批,回合内随机首次入流:scope_event_binding = 每次掷点恰一 scope〔逐次掷逐次取号、可逐位回放〕,消费面 = 战斗结算 吃掷点分量判定;**behavior_roll 增流 2026-09-16 用户拍板**——敌人技能池批(开轮摇号):回合内随机、时点前置到每轮开轮〔结算步骤流之外〕,scope_event_binding = 每敌每摇号恰一 scope,**派生向量 = spawn_index × 1000000 + 单敌摇号序**〔单敌出招轨迹可独立复放、敌互不穿插;取号门 = open_scope(stream, scope) 显式 scope 取号——计数器仍单调 +1 供观测〕,消费面 = 战斗结算 开轮摇号换算层 + 技能摇号器 SkillLottery;**variant_place 增流 2026-09-20 用户拍板**——地形变异首批类型定稿批:scope_event_binding = 每次装板恰一 scope〔常规换图/轮内刷新图各取号一次〕,消费面 = 战斗结算 布置段 _place_variants——变异类型选取 + 连通片生长取数)
streams: [board_gen, reward_roll, encounter, armor_roll, behavior_roll, variant_place, gp_drop]
stream_names: 当前封闭清单(增流需改代码 + P1 支柱评审;combat_var 已于 2026-09-07 full 评审删除——玩法随机不预置基础设施;encounter 增流 2026-09-12 用户拍板——遭遇随机化批,scope_event_binding = 每次战斗实例化恰一 scope;**armor_roll 增流 2026-09-16 用户拍板**——护甲等级掷点批,回合内随机首次入流:scope_event_binding = 每次掷点恰一 scope〔逐次掷逐次取号、可逐位回放〕,消费面 = 战斗结算 吃掷点分量判定;**behavior_roll 增流 2026-09-16 用户拍板**——敌人技能池批(开轮摇号):回合内随机、时点前置到每轮开轮〔结算步骤流之外〕,scope_event_binding = 每敌每摇号恰一 scope,**派生向量 = spawn_index × 1000000 + 单敌摇号序**〔单敌出招轨迹可独立复放、敌互不穿插;取号门 = open_scope(stream, scope) 显式 scope 取号——计数器仍单调 +1 供观测〕,消费面 = 战斗结算 开轮摇号换算层 + 技能摇号器 SkillLottery;**variant_place 增流 2026-09-20 用户拍板**——地形变异首批类型定稿批:scope_event_binding = 每次装板恰一 scope〔常规换图/轮内刷新图各取号一次〕,消费面 = 战斗结算 布置段 _place_variants——变异类型选取 + 连通片生长取数;**gp_drop 增流 2026-09-20 用户拍板**——GP+商店房批:scope_event_binding = 每场战斗结束的掉落掷定恰一 scope,消费面 = 战斗结算 战斗结束分支——按战斗节点身份查商店表掷定 GP 掉落,掷定 + 关级加值 + 战斗内缓冲合成本战 gp_dropped〔shop_roll 流随"无三选一摇号"裁决作废、从未入册〕)
stream_facade: open_stream(stream) 取号(计数器+1→派生→返回已播种实例);derive_at(stream, scope) 纯函数供测试/预览(不推计数器)
scope_event_binding: board_gen=每次生成新扫雷图(棋盘生成);reward_roll=每次 board install(格奖励批 + 清图奖励批)(地图战斗资源——2026-09-09 接口漂移改写,原"每次奖励结算 roll 批次";地图战斗资源 Rule 2/AC-1 为契约源);encounter=每次战斗实例化恰一 scope(战斗结算 begin_battle 实例化期、扫雷开始前——unit_count 区间均匀骰,挖掘决策域之外 P1 合规);armor_roll=每次掷点恰一 scope(战斗结算 战斗段吃掷点分量逐次判定——1d20,护甲等级掷点批 2026-09-16);variant_place=每次装板恰一 scope(战斗结算 布置段——地形变异首批类型定稿批 2026-09-20)
scope_event_binding: board_gen=每次生成新扫雷图(棋盘生成);reward_roll=每次 board install(格奖励批 + 清图奖励批)(地图战斗资源——2026-09-09 接口漂移改写,原"每次奖励结算 roll 批次";地图战斗资源 Rule 2/AC-1 为契约源);encounter=每次战斗实例化恰一 scope(战斗结算 begin_battle 实例化期、扫雷开始前——unit_count 区间均匀骰,挖掘决策域之外 P1 合规);armor_roll=每次掷点恰一 scope(战斗结算 战斗段吃掷点分量逐次判定——1d20,护甲等级掷点批 2026-09-16);variant_place=每次装板恰一 scope(战斗结算 布置段——地形变异首批类型定稿批 2026-09-20);gp_drop=每场战斗结束的掉落掷定恰一 scope(战斗结算 战斗结束分支——GP+商店房批 2026-09-20)
unseeded_access: 致命中止
snapshot_contract: 续玩/复盘快照 = master_seed + 各流 scope 计数器(消费方 存档序列化)
referenced_by: [棋盘生成, 战斗结算, 地图战斗资源, 冒险结构, 存档序列化]
@@ -34,19 +34,20 @@ entities:
attributes:
variables: [SALT_s, master_seed, scope]
output_range: "[0, 2^63)"
golden_vectors: 见《数据配置》Formulas-R3 向量表(8 常量——2026-09-19 掷点测量修复批 B 案 R2→R3 改版全量重登记,Python 参考实现逐位交叉验证:board_gen m=42 scope0=8672514112661456564 / scope1=8834291164406037215 / scope2=7714373262647006282 / scope3=1280102845971471347 · reward_roll m=42 scope0=8363815839763232861 · encounter m=42 scope0=5906263231575069166 · armor_roll m=42 scope0=1459964581993244806 · behavior_roll m=42 scope0=1791557311233092846 · variant_place m=42 scope0=5785725196205023206——2026-09-20 地形变异首批类型定稿批 variant_place 增流按 R3 公式补向量;R2 旧向量随批作废)
golden_vectors: 见《数据配置》Formulas-R3 向量表(8 常量——2026-09-19 掷点测量修复批 B 案 R2→R3 改版全量重登记,Python 参考实现逐位交叉验证:board_gen m=42 scope0=8672514112661456564 / scope1=8834291164406037215 / scope2=7714373262647006282 / scope3=1280102845971471347 · reward_roll m=42 scope0=8363815839763232861 · encounter m=42 scope0=5906263231575069166 · armor_roll m=42 scope0=1459964581993244806 · behavior_roll m=42 scope0=1791557311233092846 · variant_place m=42 scope0=5785725196205023206——2026-09-20 地形变异首批类型定稿批 variant_place 增流按 R3 公式补向量;R2 旧向量随批作废;**2026-09-21 GP+商店房实施批 gp_drop 增流向量补登**:gp_drop m=42 scope0=6226476397888000011 / scope1=5031558177015478025——按 R3 公式登记,冒烟同批断言)
salt_board_gen: 0xA0761D6478BD642F
salt_reward_roll: 0xE7037ED1A0B428DB
salt_encounter: 0x8EBC6AF09C88C6E3(2026-09-14 encounter 增流——互异奇常数 ≠ 乘数)
salt_armor_roll: 0xC2B2AE3D27D4EB2F(2026-09-16 armor_roll 增流——互异奇常数 ≠ 乘数)
salt_behavior_roll: 0x85EBCA7758C24E15(2026-09-16 behavior_roll 增流——互异奇常数 ≠ 乘数)
salt_variant_place: 0x9AE16A3F2FAD6C39(2026-09-20 variant_place 增流——互异奇常数 ≠ 乘数)
salt_gp_drop: 0xD6E8FEB8665FD7F1(2026-09-21 gp_drop 增流——互异奇常数 ≠ 乘数;GP+商店房实施批随黄金向量同批补登)
multiplier: 0x9E3779B97F4A7C15
finalizer_mix: splitmix64 finalizer 变体(2026-09-19 B 案新增——derive = mix64(SALT XOR wrap64(master + scope×GOLDEN));乘数 0xBF58476D1CE4E5B9 / 0x94D049BB133111EB、加数同 GOLDEN_RATIO;全程 63 位掩码;动机=窄种子窗×短局复用会把裸派生种子头部窗口的面值彩票放大进聚合统计,混淆使任何窄种子窗表现如随机抽样)
impl_spec: wrap64=二补数自然回绕;禁 float 中间量、禁对中间量用 %、禁"主动修复溢出";常量用分段表达式书写;掩码收尾;mix64 内全程 OUT_MASK 63 位掩码(有符号 int64 算术移位在 63 位正值域与逻辑移位逐位一致——参考实现对齐关键)
reproducibility_claim: 同冒险内同流各 scope 无碰撞 + 跨版本恒定(不做跨 master_seed 全局单射声明)
master_seed_int64_min: 致命(abs 恒等回绕→与 0 静默别名)
set_master_seed_precondition: 仅全流计数器全零时受理(6 流——2026-09-14 数据配置 漂移批口径 + 2026-09-16 护甲等级掷点批 armor_roll 增流 + 同日敌人技能池批 behavior_roll 增流 + 2026-09-20 地形变异首批类型定稿批 variant_place 增流)
set_master_seed_precondition: 仅全流计数器全零时受理(7 流——2026-09-14 数据配置 漂移批口径 + 2026-09-16 护甲等级掷点批 armor_roll 增流 + 同日敌人技能池批 behavior_roll 增流 + 2026-09-20 地形变异首批类型定稿批 variant_place 增流 + 同日 GP+商店房批 gp_drop 增流)
referenced_by: [棋盘生成, 战斗结算, 地图战斗资源, 冒险结构, 存档序列化]
- name: difficulty_row_resolution
@@ -220,7 +221,7 @@ entities:
伏击池: 【2026-09-20 格面资源八型批退役——本词条留档】敌方侧共享的伏击层数——本轮踩几颗雷就几层,轮末清零(side-wide 语义,敌人系统 首次定义;继任 = alert 警觉 side-wide 状态,由增益状态容器承载)
死亡即不动手: 轮到某敌人行动时它已死 → 这一下不打、招式轮转停格(2026-09-09 用户拍板,敌人系统 首次定义)
封锁格: 初始展开白送的那批已开格——恒无格面资源、不再有任何加成,但计入清图进度(排雷玩法 首次定义;install 期可精确枚举为 R₀——格面资源摇号清单的排除项;取代旧术语"资格格",2026-09-15 格面资源批)
格面资源(CellResource): 关联到格子上的资源对象——装板期摇定八型类型身份(attack/defense/heal/blast/weaken/pierce/magic/action——2026-09-18 伤害道具批五→七、2026-09-20 格面资源八型批七→八),安全格与雷格一视同仁、同池同分布;极性不在资源内,由「动作 × 格型」矩阵在结算期决定正向(奖励)或负向(惩罚)(地图战斗资源 首次定义;取代"安全格奖励"旧名)
格面资源(CellResource): 关联到格子上的资源对象——装板期摇定九型类型身份(attack/defense/heal/blast/weaken/pierce/magic/action/gp——2026-09-18 伤害道具批五→七、2026-09-20 格面资源八型批七→八、同日 GP+商店房批八→九 +gp),安全格与雷格一视同仁、同池同分布;极性不在资源内,由「动作 × 格型」矩阵在结算期决定正向(奖励)或负向(惩罚)(地图战斗资源 首次定义;取代"安全格奖励"旧名)
批尾: 同一批取号中最后消费的一个号——地图战斗资源 清图奖励身份 = install 批的批尾取号(地图战斗资源 F1 首次定义)
死行: 被当前内容态判定为零消费的表行——加载不致命、不入参考池,复活走 GDD 修订连锁(地图战斗资源 F4 首次定义;历史首例 attack_up〔hero atk=0 时代〕已于 2026-09-11 随"基础攻击恒存在"用户裁决复活,当前内容态暂无在册死行)
预推进: 测试中为到达 scope=σ 而先行丢弃式消费 σ 个 scope 的构造——RngService 全新实例首个 open_stream 恒为 scope 0,derive_at 不推计数器(地图战斗资源 AC 前言首次定义)
@@ -238,7 +239,10 @@ entities:
真视窄域护栏: 替代推理的道具效果(雷位真视)目标域 ≤3×3、全图级仅限恢复推理原料类(显影/预读)——信息层级护栏,防"扫雷退化为路径优化"(魔法道具 Core Rule 3 首次定义,schema 校验强制)
渗透率: aux 道具期望件数占奖励池的份额——E[N_aux/板] = |U|×Σw_aux/W_total(魔法道具 F1 首次定义;供给面天然限流,P1 护栏的量化形态)
行动: 轮次内挖掘期的原子决策单位——同一事件的三个视角:玩家决策层叫行动、进 排雷玩法 的数据形态叫意图(单意图帧整批提交)、行动经济 计价类别叫动作(action_kind 统一价目);有价行动(挖/插旗;拔旗随插旗不可逆批 2026-09-19 退役)1 AP/次、受每轮 AP 预算约束(现行表值 8),移动/停手免费不计 AP(game-concept 术语层级 2026-09-14 收录)
节点: 关卡节点地图上的一个格——关卡内移动的步进单位;层名定稿(2026-09-14 用户裁决:节点 胜 遭遇——成员中立 + 关卡节点地图 注册名/切片 node_* 接口零改动 + 遭遇既有语义 = 战斗不挪用);类型分类学与图形态已展开定稿(2026-09-17 关卡节点地图 v1.0:四类封闭枚举 {battle, reward, rest, boss} + 分支节点图〔连线只朝前进方向、唯一入口、Boss 恒唯一终点、无回头路〕;节点编号 = 关卡内唯一定位地址,数据键 node_depth 沿用)
节点: 关卡节点地图上的一个格——关卡内移动的步进单位;层名定稿(2026-09-14 用户裁决:节点 胜 遭遇——成员中立 + 关卡节点地图 注册名/切片 node_* 接口零改动 + 遭遇既有语义 = 战斗不挪用);类型分类学与图形态已展开定稿(2026-09-17 关卡节点地图 v1.0:四类封闭枚举 {battle, reward, rest, boss} + 分支节点图〔连线只朝前进方向、唯一入口、Boss 恒唯一终点、无回头路〕;节点编号 = 关卡内唯一定位地址,数据键 node_depth 沿用;2026-09-20 GP+商店房批扩五类 +shop 商店房——每关恰 1、Boss 前一位必经位,兑付 = 商店覆盖层开闭,见商店房词条)
商店房: 关卡节点图第五类节点——每关恰 1、关底 Boss 前一位必经位(哈迪斯式"决战前最后一个补给点",必经位由冒烟断言承载、图合法性六检零新增);兑付 = 打开商店覆盖层,用金币(GP)购买三属性 flat 档商品(无刷新无三选一、全陈列),购买即时生效、离开后确认回选路,不携带战斗行(关卡节点地图 首次定义,2026-09-20 GP+商店房批)
金币(GP): 冒险内一次性的属性提升货币——战斗掉落(掷定 + 关级加值 + 战斗内缓冲,完成一次战斗后统一到账)与格面金币袋(低概率惊喜获取)进钱包、商店房消费、冒险结束清零;不入存档、不入冒险摘要;玩家侧显示名「金币」,与跨局持久的钥石记账完全分离、永不互兑(冒险结构 首次定义,2026-09-20 GP+商店房批)
统一冒险加算区: 商店购买与关卡大奖励上限提升共用的同一本属性加账——三轴 {攻击, 生命上限, 护甲等级},入战参数 = 基础表值 + 加算区累加,经战斗开始入参的覆盖值通道生效;购血 = 上限与当前生命同步 +Δ(冒险结构 首次定义,2026-09-20 GP+商店房批)
遭遇: 一次完整战斗事件的同义词——战斗节点触发的那一场仗(既有用法:战斗结算"两场遭遇" / HUD框架"双敌种遭遇""Boss 遭遇变体");不作地图层名(2026-09-14 裁决)
节点奖励: 奖励点节点给的奖励(关卡节点地图 域)——与安全格奖励(地图战斗资源,格内开出)区分;机制定稿(2026-09-17 关卡节点地图 v1.0:节点奖励 = **功能道具的正式渠道**,兑付 = 获得一件功能道具入持有域;内容/持有/使用语义归 魔法道具 内容重定批,切片期零兑付直通为合法空态);节点奖励覆盖层 = 兑付反馈覆盖层(与行进确认同面,视觉规格归 HUD框架;spec design/ux/node-reward.md 未来件〔battle.md OQ9〕)——三个"reward"各归各位(2026-09-14 拆名注记)
HP 账本: 冒险域主角血量的唯一记录——冒险结构 持有,每战开始交出、战斗结束收回、恢复点与大奖励入账;关卡切换血条不清零(冒险结构 首次定义;跨战斗 HP 持久性归 关卡节点地图/冒险结构 已锁事实的 冒险结构 半边兑现)
@@ -311,7 +315,7 @@ entities:
table: RewardTable(数据配置 承载,键 = reward_id;地图战斗资源 回填 owner;**2026-09-15 格面资源批结构性重写**——旧 category / use_timing / 库存 / 供给轴随可选类删除整批下线,五型 × 极性字典取代〔历史结构见底部修订记录〕)
fields:
reward_id: String(表内主键)
cell_type: enum {attack, defense, heal, blast, weaken, pierce, magic, action}——八型封闭(2026-09-18 伤害道具批五→七、2026-09-20 格面资源八型批七→八 +action;格面资源类型身份;表里出现清单外值加载拒绝 fail-fast) # 2026-09-15 新增,取代 category;2026-09-18 扩七型;2026-09-20 八型批扩八型
cell_type: enum {attack, defense, heal, blast, weaken, pierce, magic, action, gp}——九型封闭(2026-09-18 伤害道具批五→七、2026-09-20 格面资源八型批七→八 +action、同日 GP+商店房批八→九 +gp;格面资源类型身份;CELL_TYPE_KEYS 词表十八格 = 九型 × 正负,表里出现清单外值加载拒绝 fail-fast) # 2026-09-15 新增,取代 category;2026-09-18 扩七型;2026-09-20 八型批扩八型;同日 GP+商店房批扩九型
polarity: enum {positive, negative}——同型两行:正向行参与摇号(权重 = 类型频次),负向行纯兑付字典、不消费权重 # 2026-09-15 新增
effect_id: String 可空——percent 类行(attack/defense/weaken 正负两向)必填(StatusEffectTable 精确引用,悬空校验已激活);flat 直付行(直伤/群伤/治疗)恒空
stacks: int [1,16] 可省——多层授予行(原 blast 负向 ambush_double ×2 层——该行随 2026-09-20 八型批退役,现行表无 stacks 行、字段保留 schema 位);缺省 1
@@ -321,10 +325,10 @@ entities:
weight: int [0, 999](knob)——正向行 = 类型频次;0 = 该型不出(合法极端,取号前剔除);负向行不消费
pool_tag: enum {cell, clear_default}(cell = 格面资源单一池——安全格与雷格一视同仁同池同分布;clear_<biome> 命名空间预留、校验拒绝——棋盘生成 elite_ 同款) # 2026-09-15 safe_cell→cell 更名 + active_inject 删除
tier: int [1, 8](knob)——强度档位序数(与当量零耦合)
cross_field_validation: 加载期致命族——池空(cell 池 ≥1 正向行 weight>0)· 八型正向行齐备 · 八型负向行齐备(字典完整性——缺任一极性行致命——2026-09-20 八型批)· clear_default 恒正当量(≥1 活行 ∧ power≥1 ∨ effect_id 非空——行动经济 条款④"清图奖励>0"的行级兑现口径)· percent 行 effect_id 必填/flat 行恒空 · flat 行 power≥1 # 2026-09-15 重写——旧 floor_supply_missing / no_damage_row 随可选类删除失义退役
cross_field_validation: 加载期致命族——池空(cell 池 ≥1 正向行 weight>0)· 九型正向行齐备 · 九型负向行齐备(字典完整性——缺任一极性行致命——2026-09-20 八型批、同日 GP+商店房批随九型同步)· clear_default 恒正当量(≥1 活行 ∧ power≥1 ∨ effect_id 非空——行动经济 条款④"清图奖励>0"的行级兑现口径)· percent 行 effect_id 必填/flat 行恒空 · flat 行 power≥1 # 2026-09-15 重写——旧 floor_supply_missing / no_damage_row 随可选类删除失义退役
mechanics: 格面资源身份 install 期预分配(roll_board 恰一次、行主序、消费 reward_roll 封闭流恰一 scope 批〔格批 + 清图批尾一号〕;全部非封锁格逐一摇定类型——安全格与雷格同池同分布、封锁格不入摇号清单;Ready 后只读、无重掷 API)· **极性不在资源内**——「动作 × 格型」矩阵(开安全格/标中雷 = 正向、开雷格/标错安全格 = 负向、插旗安全格直挖 = 零兑付〔四情况④〕;撤旗动作随插旗不可逆批 2026-09-19 退役)字典定义归 地图战斗资源、路由执行归 战斗结算 授予段(结算队列 + 轮末在场旗判定基线——被挖开的旗不入基线)· 授予期零随机(身份恒定跨轮;换图映射消亡)· 负向恒即时(不入库、无库存语义——库存已随可选类删除下线)· 满层零兑付 = 合法例外 + "奖励未生效"行 · 重复受理幂等(同格重复 grant / 同批次重复 grant_clear → 同一快照/身份 + 诊断;受理/兑付恰一次归 战斗结算×②③)
api: 封闭枚举入口(provisional,实现期 ADR 定名)——roll_board / query_identity(返回 {reward_id, cell_type, tier} 引用级投影;未开格恒可查——魔法道具 桥接结构前提;清单外坐标 → null + 诊断)/ grant(同格重复受理幂等 + 诊断)/ grant_clear(同批次重调幂等 + 诊断)/ retire_mapping / equivalence_supply(全活行投影 + tier_min_buff)+ weighted_pick 纯函数面;新增入口 = 接口漂移,新增入口须随附全输入域语义表 # 2026-09-15 删 stock/use/query_inventory/clear_inventory(库存轴下线)
mvp_content: 十六行(2026-09-15 格面资源批十行;2026-09-18 伤害道具批增补四行;2026-09-20 格面资源八型批 ambush_double→enemy_alert 换装 + ap_up/ap_drain 两行新增)——格面池正向八行(attack_up / ac_up〔2026-09-16 护甲等级掷点批换装,原 defense_up 减伤 −30% 退役;cell_type defense/权重/档位零改动〕/ spark_aoe / heal_minor / weaken / pierce_strike / magic_bolt〔attack_type 字段载攻击类型轴,查战斗结算克制矩阵、单目标必中全额〕/ ap_up action〔下轮行动点 +1——2026-09-20 八型批新增〕)+ 负向八行纯字典(enrage / off_guard / heal_backlash 直伤〔不经增益状态〕/ enemy_alert blast〔effect_id=alert,敌方护甲等级 +1——2026-09-20 八型批 ambush_double 退役换装〕/ ap_drain action〔下轮行动点 −1〕/ sapped / pierce_snare / magic_recoil〔均主角直伤,不经增益状态〕)+ clear_blast(clear_default);类型频次 = 正向行权重合计;tier_min_buff = 2。**2026-09-17 数值压缩批·文档同步——具体数值列(power/weight/power_min/power_max)改指路存根**:现行行值读 `data/tables/reward.tres`(压缩后锚行:spark_aoe power=1 / heal_minor power=[1,1] 定值(原 [2,6] 区间压缩)/ heal_backlash power=1 / clear_blast power_min=8 power_max=18 power=13 中点 / ambush_double stacks=2;类型频次合计 79→67〔heal 权重 15→3〕;2026-09-20 八型批后 67→74——attack 14 / defense 11 / blast 16 / heal 2 / weaken 8 / pierce 8 / magic 8 / 清障炸药 1 / action 6)
mvp_content: 十八行(2026-09-15 格面资源批十行;2026-09-18 伤害道具批增补四行;2026-09-20 格面资源八型批 ambush_double→enemy_alert 换装 + ap_up/ap_drain 两行新增;同日 GP+商店房批 +gp_gain/gp_loss 两行)——格面池正向九行(attack_up / ac_up〔2026-09-16 护甲等级掷点批换装,原 defense_up 减伤 −30% 退役;cell_type defense/权重/档位零改动〕/ spark_aoe / heal_minor / weaken / pierce_strike / magic_bolt〔attack_type 字段载攻击类型轴,查战斗结算克制矩阵、单目标必中全额〕/ ap_up action〔下轮行动点 +1——2026-09-20 八型批新增〕/ gp_gain gp 金币袋〔战斗内 GP 缓冲 +power,兑付编排归 战斗结算、钱包账本归 冒险结构——GP+商店房批新增〕)+ 负向九行纯字典(enrage / off_guard / heal_backlash 直伤〔不经增益状态〕/ enemy_alert blast〔effect_id=alert,敌方护甲等级 +1——2026-09-20 八型批 ambush_double 退役换装〕/ ap_drain action〔下轮行动点 −1〕/ sapped / pierce_snare / magic_recoil〔均主角直伤,不经增益状态〕/ gp_loss gp 破财〔战斗内 GP 缓冲 −power——GP+商店房批新增〕)+ clear_blast(clear_default);类型频次 = 正向行权重合计;tier_min_buff = 2。**2026-09-17 数值压缩批·文档同步——具体数值列(power/weight/power_min/power_max)改指路存根**:现行行值读 `data/tables/reward.tres`(压缩后锚行:spark_aoe power=1 / heal_minor power=[1,1] 定值(原 [2,6] 区间压缩)/ heal_backlash power=1 / clear_blast power_min=8 power_max=18 power=13 中点 / ambush_double stacks=2;类型频次合计 79→67〔heal 权重 15→3〕;2026-09-20 八型批后 67→74——attack 14 / defense 11 / blast 16 / heal 2 / weaken 8 / pierce 8 / magic 8 / 清障炸药 1 / action 6;同日 GP+商店房批九型后 74→76——+gp_gain weight 2)
direction_precheck: **刀供给方向预检随可选类删除失义退役(2026-09-15)**——历史读数见底部修订记录;新对账锚 = 行动经济 条款②③ 左臂(正向格面资源当量供给)随格面资源批重推,义务归 难度曲线与Boss 调参批
settlement_obligations: 四项(战斗结算 GDD 门禁评审缺项即 blocking,清单全文见 地图战斗资源 GDD Dependencies)——① 结算段序骨架(授予→增益/减益→战斗→衰减→判定)② 极性路由受理 + 每格恰一次 + 满层零兑付"奖励未生效"行(含聚合计数字段)③ clear_reward 授予路径(增益状态 OQ4 关闭条件)④ 生命周期编排(battle_over retire 映射消亡)+ roll_board 恰一次 # 2026-09-15 由六项收拢(窗口/道具段与库存编排随可选类删除失义)
hud_obligations: 三项(缺项即 blocking)——① 已开格资源身份恒定可读(挖掘期规划面)+ 未开格类型可查面的呈现深度(预读边界待办)② 结算明细行(效果行/"奖励未生效"〔聚合计数〕/标旗未中行/直伤行)③ H2 清图奖励行强调呈现 # 2026-09-15 由五项收拢(库存常读条/道具窗口随可选类删除失义)
@@ -532,10 +536,10 @@ entities:
level_index: int 行主键(冒险序列序号,从 1 连续递增——线性序列无跳关)
display_name: String(玩家可读层名——L1"第一层 · 地精洞窟"、L2"第二层 · 幽暗地域"切片现行〔L2 随 2026-09-17 分支节点图批落名;L1 随 2026-09-20 层名改名批落名——原「苔藓回廊」退役,同日二改「裂颚洞窟」→「地精洞窟」定名(不绑 DND 专名部族,规避 IP 指涉)〕)
rest_heal_pct: int [0,100](knob 默认 30——恢复点回复 max_hp_eff 的百分比,随上限加成同步放大防高上限档恢复失效;数值复验归 难度曲线与Boss)
nodes: 节点图结构——节点数组 + 连线(node_kind ∈ {battle, reward, rest, boss},切片字段名 type;每节点领关卡内唯一**节点编号**,battle/boss 数据键 node_depth 沿用〔v1.0 语义升级:深度 → 节点编号〕;连线 = 出边节点编号表,只朝前进方向、无回头路);单链特例 = 隐式后继(数组序即链,切片现行形态零漂移)
rowset_rule: 图合法性校验(2026-09-17 关卡节点地图 v1.0)——节点编号关卡内唯一、入口唯一、Boss 恒唯一终点(编号最大,Dmax 语义平移)、连线无环、所有节点沿连线可达 Boss,违规加载期致命;实现批(2026-09-17 分支节点图批):校验落 LevelTable.validate(单链形态经同一套算法——编号解析单链 = 数组下标 / 图 = node_depth),L1 单链与 L2 图双行集加载全绿断言
nodes: 节点图结构——节点数组 + 连线(node_kind ∈ {battle, reward, rest, boss, shop},切片字段名 type;+shop 随 2026-09-20 GP+商店房批——商店房兑付 = 打开商店覆盖层、离开后确认回选路,不携带战斗行〔零敌人、零棋盘配置行〕;每节点领关卡内唯一**节点编号**,battle/boss 数据键 node_depth 沿用〔v1.0 语义升级:深度 → 节点编号〕;连线 = 出边节点编号表,只朝前进方向、无回头路);单链特例 = 隐式后继(数组序即链,切片现行形态零漂移)
rowset_rule: 图合法性校验(2026-09-17 关卡节点地图 v1.0)——节点编号关卡内唯一、入口唯一、Boss 恒唯一终点(编号最大,Dmax 语义平移)、连线无环、所有节点沿连线可达 Boss,违规加载期致命;实现批(2026-09-17 分支节点图批):校验落 LevelTable.validate(单链形态经同一套算法——编号解析单链 = 数组下标 / 图 = node_depth),L1 单链与 L2 图双行集加载全绿断言;商店房编排(每关恰 1、Boss 前一位必经位)由冒烟断言承载、非加载校验——图合法性六检零新增(GP+商店房批 2026-09-20,关卡节点地图 v1.1)
cross_table_validation: battle/boss 节点 (L,D) 在 board_gen/enemy 两表存在精确行(数据配置 跨表校验⑧复用 + 冒险结构 AC-7 冒烟断言——序列关数 ⊆ 内容覆盖,越界关卡 = 内容生产缺口)
mvp_content: L1 全行(切片转正——7 节点链〔单链特例,合法图形态〕、rest_heal_pct=30);L2 全行已落地(2026-09-17 分支节点图批——首张分支图:9 节点〔入口 0 → 中间三层 2/3/2 → Boss 8〕、真实岔路 4 处、奖励点+恢复点各 1、战斗节点 6 + Boss;行值 provisional 归 难度曲线与Boss v0.7;首页直入口试玩 ≠ 两关序列生效,正式序列推进仍登记待办);**L3 全行已落地(2026-09-20 第三关内容批——「第三层 · 灰矮人矿城」:九节点图复用 L2 同模板〔6 战 + Boss + 奖励 + 恢复、真实岔路 4 处〕,行值全 provisional 归 难度曲线与Boss;测试直入口 ≠ 序列生效——正式三关序列推进仍登记 Alpha 验收条件)**
mvp_content: L1 全行(切片转正——7 节点链〔单链特例,合法图形态〕、rest_heal_pct=30);L2 全行已落地(2026-09-17 分支节点图批——首张分支图:9 节点〔入口 0 → 中间三层 2/3/2 → Boss 8〕、真实岔路 4 处、奖励点+恢复点各 1、战斗节点 6 + Boss;行值 provisional 归 难度曲线与Boss v0.7;首页直入口试玩 ≠ 两关序列生效,正式序列推进仍登记待办);**L3 全行已落地(2026-09-20 第三关内容批——「第三层 · 灰矮人矿城」:九节点图复用 L2 同模板〔6 战 + Boss + 奖励 + 恢复、真实岔路 4 处〕,行值全 provisional 归 难度曲线与Boss;测试直入口 ≠ 序列生效——正式三关序列推进仍登记 Alpha 验收条件);2026-09-20 GP+商店房批 rewiring:L2/L3 图版 Boss 重编号 8→9、各新增 (8, shop, next[9]) 商店房节点(Boss 前一位必经位),L1 零改动,图合法性六检零新增——必经位由冒烟断言承载**
referenced_by: [冒险结构, 关卡节点地图, 难度曲线与Boss, 棋盘生成, 数据配置]
- name: adventure_table
@@ -550,6 +554,26 @@ entities:
extension_reserve: 大奖励形态扩列位(三选一 / 攻击型 / 通关加成——冒险结构 OQ2,随元进度设计)
referenced_by: [冒险结构, 元进度, 数据配置]
- name: shop_table
type: schema_data
owner: design/gdd/systems/冒险循环/冒险结构.md
attributes:
table: ShopTable(数据配置 承载;**2026-09-20 GP+商店房批新建**——商店房商品与 GP 经济的行集;冒险结构 回填 owner,公式语义归其 GP 冒险账本节,数值所有权归 难度曲线与Boss 曲线调参批)
fields: gp_drops 三行(键 = 战斗节点身份 {normal, elite, boss}——普通 均值 3 区间 [2,4] / 精英 均值 5 区间 [4,6] 预留行 / Boss 均值 8 区间 [6,10],掷定 + 均值方差口径)· level_gp_bonus(逐关——L1 0 / L2 1 / L3 2)· products 三行(atk_up 基础攻击 +1 首价 4 / hp_up 生命上限 +3 首价 2 / armor_up 护甲等级 +1 首价 4,步长均 2)· price_level_bonus(逐关——L1 0 / L2 2 / L3 4)
formulas: 每战 GP 掉落 = 掷定 + 关级掉落加值 + 战斗内缓冲(战斗完成随 battle_finished.gp_dropped 统一入钱包——冒险结构 GP 冒险账本三收口);商品价格 = 基价 + 关级价格加成 + 步长 × 已购档数;定价锚 = 「正常运气可购档数 / 运气极好可购档数」两读数的数学期望(期望账进表批注)
value_status: 全部行值 provisional-pending-曲线调参批(用户 2026-09-20 拍板「骨架先行、数值整体后置」)——shop=off/on 分层 MC、shop=on 带平移、换算率登记全部随曲线调参批执行(难度曲线与Boss v0.18 商店与 GP 经济杠杆节)
rule4_status: 进度成长表(数值随关卡与商品档变化,无 Rule 4 豁免)
referenced_by: [冒险结构, 关卡节点地图, 难度曲线与Boss, 战斗结算, 数据配置]
- name: battle_finished
type: convention
owner: design/gdd/systems/战斗循环/战斗结算.md
attributes:
kind: 呈现只读面战斗结束信号(战斗结算 呈现只读面表登记的对外契约——销毁前捕获,字段增删走战斗结算 GDD 修订)
payload: 胜负结果 · 主角余量生命 · gp_dropped(本战 GP 掉落合计 = 掉落掷定 + 关级加值 + 战斗内缓冲——**2026-09-20 GP+商店房批新增**;钱包入账归 冒险结构 GP 冒险账本,战斗域零钱包状态)
consumers: 呈现层(核心对象销毁后读状态的时序防护)/ 行进器钱包入账(战斗完成收口——关卡节点地图)/ 试玩日志 battle_end 行(gp_dropped 列,验收取数面)
referenced_by: [冒险结构, 关卡节点地图, HUD框架]
- name: hero_override_parameter_passing
type: convention
owner: design/gdd/systems/战斗循环/战斗结算.md