Files
gplan-2/game/data/tables/shop.tres
T
DKChan 5cf7f4b6ae 立《特性》概念:局内加强物品统一命名为「特性」,两种形态收敛为枚举值 + 文档/称谓/数据层标识符统一
- 新增 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 引用需跑测试自证)、断点存档键(兼容)
2026-10-05 01:46:35 +08:00

102 lines
3.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[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。