- 新增 design/gdd/systems/冒险循环/特性.md(概念唯一定义文档) 定义=一次冒险内角色自身得到的提升(不是持有物);作用范围、生命周期、 获取途径(战场奖励/商店·训练)、关联与边界五要素齐全;数值一律指路表不入正文 - 02-系统清单:冒险循环补行 + 命名对照表补 ADVENTURE_FEATURE - registry entities.yaml:新增 feature 概念条目(owner/referenced_by)+ adventure_table 字段名同步 - 数据层标识符 112 处换名(值零变更):BONUS_IDS→FEATURE_KINDS、bonus_token_count→feature_quota、 bonus_value→feature_value、token_*/bonus_*_flat→feature_quota_*/feature_value_* - 称谓统一 94 处:旧称「流派件/数值件/本关强化」→ 特性 + 形态修饰语(规则改写型/属性加成型) - 两张 schema 顶部加概念指路注释,代码可直接查到定义文档 - 06-待办清单:BD 分层条目现状改写 + 新增「命名统一后续」条目(relic 词族与类名对齐待实施) 未动:类名与文件名(Godot .uid/.tscn 引用需跑测试自证)、断点存档键(兼容)
102 lines
3.2 KiB
Plaintext
102 lines
3.2 KiB
Plaintext
[gd_resource type="Resource" script_class="ShopTable" load_steps=2 format=3]
|
||
|
||
[ext_resource type="Script" path="res://data/schemas/shop_table.gd" id="1"]
|
||
|
||
[resource]
|
||
script = ExtResource("1")
|
||
gp_drops = [{
|
||
"tier": "normal",
|
||
"display_name": "普通战斗",
|
||
"mean": 3,
|
||
"roll_min": 2,
|
||
"roll_max": 4
|
||
}, {
|
||
"tier": "elite",
|
||
"display_name": "精英战斗",
|
||
"mean": 5,
|
||
"roll_min": 4,
|
||
"roll_max": 6
|
||
}, {
|
||
"tier": "boss",
|
||
"display_name": "Boss 战斗",
|
||
"mean": 8,
|
||
"roll_min": 6,
|
||
"roll_max": 10
|
||
}]
|
||
level_gp_bonus = [{
|
||
"level_index": 1,
|
||
"bonus": 0
|
||
}, {
|
||
"level_index": 2,
|
||
"bonus": 1
|
||
}, {
|
||
"level_index": 3,
|
||
"bonus": 2
|
||
}]
|
||
products = [{
|
||
"product_id": "atk_up",
|
||
"display_name": "攻击锻升",
|
||
"attr": "atk",
|
||
"flat_value": 1,
|
||
"base_price": 4,
|
||
"price_increment": 2
|
||
}, {
|
||
"product_id": "hp_up",
|
||
"display_name": "生命锻升",
|
||
"attr": "max_hp",
|
||
"flat_value": 3,
|
||
"base_price": 2,
|
||
"price_increment": 2
|
||
}, {
|
||
"product_id": "armor_up",
|
||
"display_name": "护甲锻升",
|
||
"attr": "armor_class",
|
||
"flat_value": 1,
|
||
"base_price": 4,
|
||
"price_increment": 2
|
||
}]
|
||
price_level_bonus = [{
|
||
"level_index": 1,
|
||
"bonus": 0
|
||
}, {
|
||
"level_index": 2,
|
||
"bonus": 2
|
||
}, {
|
||
"level_index": 3,
|
||
"bonus": 4
|
||
}]
|
||
pool_shelf = [{
|
||
"kind_id": "attack",
|
||
"display_name": "攻击锻升",
|
||
"base_price": 4
|
||
}, {
|
||
"kind_id": "max_hp",
|
||
"display_name": "生命锻升",
|
||
"base_price": 4
|
||
}, {
|
||
"kind_id": "armor",
|
||
"display_name": "护甲锻升",
|
||
"base_price": 4
|
||
}, {
|
||
"kind_id": "ap",
|
||
"display_name": "行动点件",
|
||
"base_price": 5
|
||
}]
|
||
price_a = 1.8
|
||
price_b = 1.1
|
||
|
||
; GP+商店房实施批(2026-09-20 用户拍板,设计权威 design/research/proposal-gp-shop-room-2026-09-20.md 裁决记录):
|
||
; 掉落=均值±方差掷定(gp_drop 封闭流)+关级加值;精英行为预留行(当前无消费方,随精英节点内容批启用);
|
||
; 价格公式 = base_price + price_level_bonus(关卡) + price_increment × 该商品已购档数(已购档数在 冒险结构——
|
||
; 冒险内累计、跨冒险清零);商品三件全陈列无刷新无摇号(2026-09-20 拍板,提案 §2.4 的三选一+刷新方案退役)。
|
||
; 期望账:L2 商店前可得 GP 期望 ≈ 35–40(L1 全程 22 ± 惊喜 + L2 商店前五战 21 ± ),三件首购总价 L2 =
|
||
; (4+2)+(2+2)+(4+2)=16、全购欲望 ≈ 26–34——取舍空间成立;量级与方差全部 provisional-pending-曲线调参批
|
||
;(用户拍板骨架先行、数值整体后置,行值归 难度曲线与Boss)。
|
||
; GP 商店房重构批(M-4 迭代 11 第②批 T1,2026-10-03——任务书 v1.3 全裁 P1 共享池/P4 ceil/P5 甲):
|
||
; pool_shelf 行族 = 共享池货架(kind_id 词表封闭四切边后种 attack/max_hp/armor/ap——GP 袋负交易切边、
|
||
; 规则改写型特性三轴 doctrine 切边;库存=上限即库存,账本在 冒险结构 _bonus_taken 单点共享,行族不记库存);
|
||
; 价格公式换代(pool 模式)= ceil(base_price × b^(关序−1) × A^(本次进店已购次数)),price_a=1.8/price_b=1.1
|
||
; provisional 投值(零人工令改 provisional+后置追认,原 P5 甲研究拍板后置);products 行族 + 加法定价
|
||
; 随 legacy 模式(shop=off 对照承载)保留不退役,退役归 off 锚换代批。货架行值全部 provisional 归
|
||
; 难度曲线与Boss。
|