Files
gplan-2/game/data/tables/shop.tres
T
DKChan 1b9736f065 fix(iter37①): T1 core 域缺陷修——单据归属判定/数值入表/公式单点/信号契约载体统一
- d1 伤害控制器来源敌作废判定 `==`→`is_same`(同内容异实例不再误废;夹具双敌两断言〔wd1〕)
- d11 shop 表新增 relic_base_price/spend_discount 两 knob+域检+ConfigDB 访问器+level_runner 读表;
  level_shop_economy_test 三表值断言+relic 现价读表与迁移前字面量逐位等价〔wd11〕
- d16a HeroTable.display_name+域检+访问器+unit_container 读表;spawn 真实链断言〔wd16〕
- d14 board_generator 目标雷数公式单点 target_mine_count(两调用点改引)+legality 去 db 参数(两调用点同批改)〔wd14〕
- d15 蓄力层上限 CHARGE_LAYER_CAP 常量(两处字面量+注释随动)
- d16b unit_container/status_container 六处 Dictionary 取值显式 int() 包裹(读侧包)
- d10 minesweeper 两信号按 §2.1 三要素补契约(载荷键集按发射位并集实查)+全库 28 处信号注释载体 #→##

撤销证明:回退 d1 hunk → 同容异实例断言红(A 单据被 B 死亡误废),还原复绿;
回退 d10 契约 → 契约在位扫描 undocumented=2 红,还原归零。等价类申报(d11/d14/d15/d16)见实现报告。
代拍板:#1 target_mine_count 签名(照接口块)、#2 契约措辞与载荷键并集(实查发射位)、#4 int() 读侧包写法。
2026-10-25 03:35:55 +08:00

112 lines
3.6 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
}, {
"kind_id": "feat_ticket",
"display_name": "专长获取",
"base_price": 5
}, {
"kind_id": "heal",
"display_name": "应急回复",
"base_price": 5
}]
price_a = 1.8
price_b = 1.1
relic_base_price = 15.0
spend_discount = 0.8
; 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/feat_ticket/heal 六行——heal 系 T6 商店补回复〔默认原则:分类内成员都要在它该出现的渠道池里,现行缺〕、GP 袋负交易切边计价物不自售、feat_ticket 系 T5 专长凭证行〔非 Boss 渠道专长入口,价与其他商品相当=契约④口径②〕、
; 规则改写型特性三轴 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。