Files
gplan-2/game/data/tables/shop.tres
T
DKChan ae96a2b043 chore(tables/smoke): 玩家向显示名改名批——货架三行「锻升」→「祝福」+ 临时 AC 状态「护甲强化」→「盾牌加护」(C/D 裁点执行)
- shop.tres: pool_shelf 现役 70/74/78 + products 遗留 38/45/52
  攻击锻升/生命锻升/护甲锻升 → 攻击祝福/生命祝福/护甲祝福
  (奇物属性值提升三轴的货架前台标签,与锻造工坊路线行「XX锻造」解耦)
- reward.tres / status_effects.tres: display_name「护甲强化」→「盾牌加护」
  (地图战斗资源获取的临时 AC 状态,避免与锻造工坊护甲锻造混淆)
- smoke_all.gd:1199 断言同步改名(授权范围内修改)

术语口径:C=「属性+祝福」(D&D Blessing 神赐永久赠礼)、D=「盾牌加护」(Charm 精魂所予、有时限、用完消失,与临时 AC 状态语义一致)。

冒烟:864 项检查 / 0 项失败;FAIL 仅存量 SCRIPT ERROR(_flush_pending_reveals fx_reveal 空来源类别,迭代20 T1 a57489e9 遗留,iter21 在册,与本批无关)。
2026-10-12 07:44:25 +08:00

110 lines
3.5 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
; 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。