T1 数据面:AuxItemTable schema(七字段+retired/deferred 两 additive 标记+真视窄域/board_wide 双承重护栏)+六行 tres(三有效+罗盘 retired 留痕+显影尘/全图卷 deferred)+ConfigDB 加载/访问器+RewardTable 十型扩值(aux_item)+三投放行 5/4/1+aux_none 负占位行(雷格极性字典兜底零兑付)+双表悬空校验(reward_dangling_aux,负占位豁免)+F2 投放维度覆盖(豁免面 plan/info/counter 登记)+两 fatal 夹具(expect=1 复制真表注入违规)+run_all manifest+2 T2 core 骨架:AuxItems 类(api 8 入口+probe 探针;零随机零特判;Used 不可逆;真视恒可用/预读点击级零信息拒绝;3x3 边缘窗口∩板)+action_economy.grant_ap 第 9 API(当轮加量,区别 queue_ap_delta 排队) T3 授予路由+生命周期:_grant_routed aux 分支(正=入库存发「获得」行;负=零兑付 effect 型「道具随雷沉没」行)+use_aux 四步受理(相位 gate→validate→逐 kind 空间先 AP 后→consume;结算明细无道具行)+叠加层三清(装板点/战斗结束)+LevelRunner 关卡域库存持有注入+关卡末 reset+aux_cleared 快照计数扩签 冒烟锚随词表扩值更新:九型→十型封闭/字典 18→22 行;负向字典扫描三处稳健化(aux 不入五型轴+break 改 percent_map 三型齐备+rng 每板新实例——原第一板 break 掩盖 set_master_seed _counter 守卫违例) 闸:冒烟 577/0(净增 1)+单测 11 套全过(含两新夹具)+四探针 PASS
303 lines
10 KiB
Plaintext
303 lines
10 KiB
Plaintext
[gd_resource type="Resource" script_class="RewardTable" load_steps=2 format=3]
|
||
|
||
[ext_resource type="Script" path="res://data/schemas/reward_table.gd" id="1"]
|
||
|
||
[resource]
|
||
script = ExtResource("1")
|
||
rows = [{
|
||
"reward_id": "attack_up",
|
||
"cell_type": "attack",
|
||
"polarity": "positive",
|
||
"effect_id": "attack_up",
|
||
"display_name": "增伤",
|
||
"power": 0,
|
||
"weight": 14,
|
||
"pool_tag": "cell",
|
||
"tier": 2
|
||
}, {
|
||
"reward_id": "ac_up",
|
||
"cell_type": "defense",
|
||
"polarity": "positive",
|
||
"effect_id": "ac_up",
|
||
"display_name": "护甲强化",
|
||
"power": 0,
|
||
"weight": 11,
|
||
"pool_tag": "cell",
|
||
"tier": 2
|
||
}, {
|
||
"reward_id": "spark_aoe",
|
||
"cell_type": "blast",
|
||
"polarity": "positive",
|
||
"effect_id": "",
|
||
"display_name": "爆裂粉尘",
|
||
"power": 1,
|
||
"weight": 16,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "heal_minor",
|
||
"cell_type": "heal",
|
||
"polarity": "positive",
|
||
"effect_id": "",
|
||
"display_name": "急救敷料",
|
||
"power": 2,
|
||
"power_min": 2,
|
||
"power_max": 2,
|
||
"weight": 4,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "weaken",
|
||
"cell_type": "weaken",
|
||
"polarity": "positive",
|
||
"effect_id": "weaken",
|
||
"display_name": "削弱",
|
||
"power": 0,
|
||
"weight": 8,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "enrage",
|
||
"cell_type": "attack",
|
||
"polarity": "negative",
|
||
"effect_id": "enrage",
|
||
"display_name": "敌方暴走",
|
||
"power": 0,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 2
|
||
}, {
|
||
"reward_id": "off_guard",
|
||
"cell_type": "defense",
|
||
"polarity": "negative",
|
||
"effect_id": "off_guard",
|
||
"display_name": "我方失衡",
|
||
"power": 0,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 2
|
||
}, {
|
||
"reward_id": "heal_backlash",
|
||
"cell_type": "heal",
|
||
"polarity": "negative",
|
||
"effect_id": "",
|
||
"display_name": "反噬震荡",
|
||
"power": 1,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "enemy_alert",
|
||
"cell_type": "blast",
|
||
"polarity": "negative",
|
||
"effect_id": "alert",
|
||
"display_name": "警觉",
|
||
"power": 0,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "sapped",
|
||
"cell_type": "weaken",
|
||
"polarity": "negative",
|
||
"effect_id": "sapped",
|
||
"display_name": "我方乏力",
|
||
"power": 0,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "clear_blast",
|
||
"cell_type": "blast",
|
||
"polarity": "positive",
|
||
"effect_id": "",
|
||
"display_name": "清障炸药",
|
||
"power": 32,
|
||
"power_min": 24,
|
||
"power_max": 40,
|
||
"weight": 1,
|
||
"pool_tag": "clear_default",
|
||
"tier": 2
|
||
}, {
|
||
"reward_id": "pierce_strike",
|
||
"cell_type": "pierce",
|
||
"polarity": "positive",
|
||
"effect_id": "",
|
||
"display_name": "穿刺弹",
|
||
"power": 2,
|
||
"weight": 8,
|
||
"pool_tag": "cell",
|
||
"tier": 1,
|
||
"attack_type": "pierce"
|
||
}, {
|
||
"reward_id": "magic_bolt",
|
||
"cell_type": "magic",
|
||
"polarity": "positive",
|
||
"effect_id": "",
|
||
"display_name": "魔法矢",
|
||
"power": 2,
|
||
"weight": 8,
|
||
"pool_tag": "cell",
|
||
"tier": 1,
|
||
"attack_type": "magic"
|
||
}, {
|
||
"reward_id": "pierce_snare",
|
||
"cell_type": "pierce",
|
||
"polarity": "negative",
|
||
"effect_id": "",
|
||
"display_name": "穿刺陷阱",
|
||
"power": 2,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "magic_recoil",
|
||
"cell_type": "magic",
|
||
"polarity": "negative",
|
||
"effect_id": "",
|
||
"display_name": "魔法反噬",
|
||
"power": 2,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "ap_up",
|
||
"cell_type": "action",
|
||
"polarity": "positive",
|
||
"effect_id": "",
|
||
"display_name": "行动点",
|
||
"power": 1,
|
||
"weight": 6,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "ap_drain",
|
||
"cell_type": "action",
|
||
"polarity": "negative",
|
||
"effect_id": "",
|
||
"display_name": "迟滞",
|
||
"power": 1,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "gp_coin",
|
||
"cell_type": "gp",
|
||
"polarity": "positive",
|
||
"effect_id": "gp_gain",
|
||
"display_name": "金币袋",
|
||
"power": 3,
|
||
"weight": 2,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
"reward_id": "gp_lose",
|
||
"cell_type": "gp",
|
||
"polarity": "negative",
|
||
"effect_id": "gp_loss",
|
||
"display_name": "破财",
|
||
"power": 2,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}, {
|
||
|
||
"reward_id": "aux_sapper_order",
|
||
"cell_type": "aux_item",
|
||
"polarity": "positive",
|
||
"effect_id": "sapper_order",
|
||
"display_name": "工兵令",
|
||
"power": 0,
|
||
"weight": 5,
|
||
"pool_tag": "cell",
|
||
"tier": 2
|
||
}, {
|
||
|
||
"reward_id": "aux_nest_pendulum",
|
||
"cell_type": "aux_item",
|
||
"polarity": "positive",
|
||
"effect_id": "nest_pendulum",
|
||
"display_name": "探巢摆钟",
|
||
"power": 0,
|
||
"weight": 4,
|
||
"pool_tag": "cell",
|
||
"tier": 2
|
||
}, {
|
||
|
||
"reward_id": "aux_blast_kit",
|
||
"cell_type": "aux_item",
|
||
"polarity": "positive",
|
||
"effect_id": "blast_kit",
|
||
"display_name": "爆破工兵包",
|
||
"power": 0,
|
||
"weight": 1,
|
||
"pool_tag": "cell",
|
||
"tier": 3
|
||
}, {
|
||
"reward_id": "aux_none",
|
||
"cell_type": "aux_item",
|
||
"polarity": "negative",
|
||
"effect_id": "",
|
||
"display_name": "惊扰的遗落物",
|
||
"power": 0,
|
||
"weight": 0,
|
||
"pool_tag": "cell",
|
||
"tier": 1
|
||
}]
|
||
|
||
; 格面资源批(2026-09-15 用户拍板——registry reward_table 条目为现行 schema 事实源):
|
||
; 十行格面池(五型 × 正负各一行)+ 清图槽一行。安全格与雷格同池同分布(雷安同池),
|
||
; 装板期一次摇定;摇号只消费正向行权重(类型频次 = attack 20 / defense 16 / blast 16 / heal 3 / weaken 12,合计 67;
|
||
; 头段"heal 15 / weaken 12,合计 79"为历史注记——数值压缩批后 heal 3、合计 67,见本文件尾部 2026-09-17 批注);
|
||
; 负向行 weight=0 不参与摇号,纯(类型, 极性)兑付字典——heal 负向 = 主角直伤 4(不经增益状态),
|
||
; blast 负向 = 警觉(敌方 AC +1,2026-09-20 伏击退役换装)。
|
||
; 可选类三行(knife_t1/knife_adv/heal_pack)与注入池 active_inject 随可选类道具整体删除(供给控制器/保底/窗口同步下线)。
|
||
; 格面资源八型批(2026-09-20 用户拍板):① blast 负向 ambush_double 退役 → enemy_alert(警觉,effect_id=alert
|
||
; 敌方 AC +1 percent 行);② 新增第 8 型 action 两行——ap_up(正向,下轮行动点 +1)/ ap_drain(负向,下轮
|
||
; 行动点 −1),排队兑现于下一轮开始(action_economy.queue_ap_delta);③ off_guard 数值 −2→−1 归 status_effects.tres。
|
||
; 区间行(伤害量值区间批 2026-09-14):heal_minor [2,6] · clear_blast [25,55]——中点锚 power 恒等期望当量,
|
||
; roll 时机 = 身份预分配批内追加取号(既有取号序零扰动);spark_aoe 定值行无区间字段。
|
||
; 减伤墙调参批(2026-09-13):defense_up 权重 24→16——攻击成为池内最高行(历史注记)。
|
||
; 护甲等级掷点批(2026-09-16 用户拍板):defense 型正向行换装——reward_id/effect_id defense_up → ac_up
|
||
; (显示名暂定"护甲强化",AC +1/层 ×2 层);cell_type defense / 权重 16 / tier 2 零改动(类型频次合计 79 不变——历史注记,数值压缩批后现合计 67);
|
||
; 百分比减伤行无双轨退役——status_effects.tres defense_up 行同批删除。
|
||
;
|
||
; 数值压缩批(2026-09-17 用户拍板暂定):
|
||
; ① 整体绝对值轴 ÷3:spark_aoe 4→1 · heal_backlash 4→1 · clear_blast [25,55]→[8,18](中点 power 40→13,
|
||
; 区间中点恒等期望当量的锚口径不漂移)。
|
||
; ② 恢复奖励削弱(用户拍板两条):出现概率下调到当前的 1/4——权重 15→3(当前频率 15/79≈19.0%,目标
|
||
; 4.75%,整数权重最接近 = 3/67≈4.5%);恢复量在 ÷3 后再 ÷2(现值 ×1/6)——[2,6]→定值 1
|
||
; (0.33~1 取整,区间字段保留 min=max=1 占位,量级再调时恢复区间结构)。
|
||
; ③ 雷安同池连带(结构冻结,自动同侧):heal 权重下调同比例降低踩中 heal 型雷(反噬)的频率——
|
||
; 负向侧反噬量同步 ÷3(4→1)。
|
||
; 类型频次合计 79→67(attack 20 / defense 16 / blast 16 / heal 3 / weaken 12)。行值 provisional 归 难度曲线与Boss。
|
||
;
|
||
; 伤害道具批(2026-09-18 用户指令):① 七型字典——五型增补 pierce(穿刺)/ magic(魔法)两型,各正负一行:
|
||
; 正向 = 单目标克制直伤道具(穿刺弹/魔法矢 power 2,attack_type 字段载攻击类型轴,走克制矩阵、
|
||
; 必中全额不掷点——棋盘来源伤害既有口径);负向 = 主角直伤(穿刺陷阱/魔法反噬 power 2,复用反噬通道不经增益状态)。
|
||
; ② 权重再平衡(保 spark_aoe 16 不动、总 67 不变):attack_up 20→14 · ac_up 16→11 · heal_minor 3→2 · weaken 12→8;
|
||
; 新行各 8。等比基准 = 其余四行 51→35(×0.686),整取后 14/11/2/8,微差登记已知偏差。
|
||
; 类型频次合计仍 67:attack 14 / defense 11 / blast 16 / heal 2 / weaken 8 / pierce 8 / magic 8。
|
||
;
|
||
; 九型批(2026-09-20 用户拍板——GP 进第九型,获取来源=战斗结束掉落+雷图低概率惊喜获取〔量与战斗掉落相当〕;
|
||
; 金币袋=挖开安全格入战斗内缓冲、战斗完成统一入账;破财=雷格摇到 gp 面的字典负向行〔weight 0 不入池,
|
||
; 挖雷格兑付=缓冲 -2 钱包侧 clamp ≥0〕;正向权重合计 74→76);行值 provisional 归 难度曲线与Boss。
|
||
; gp 两行 tier=1(provisional 占位);effect_id gp_gain/gp_loss = 战斗内缓冲(escrow)通道路由键
|
||
;(战斗结算 _apply_percent_row 分流,不入增益容器——ConfigDB ① status_effects 悬空豁免归 core 面)。
|
||
;
|
||
; Package B 数值优化批·首版(2026-09-22——qa-data/实现计划书_PackageB.md §4.3):clear_blast
|
||
; 区间 [8,18]→[18,35](中点 power 13→26)——清第一图回归真正伤害尖峰,撑起 boss"必清图才打得动"
|
||
; 节奏(L1 boss 清图≥1 靶 ≥80%);其余行全部不动。provisional,以 MC 复测读数为准
|
||
;(runbook 计划书 §5;迭代记录 qa-data/iteration_log.md)。
|
||
; ⚠️ 计划书笔误代拍板:原文"power 25"违反 schema 中点锚硬校验(config_fatal)——power ≡ floor((min+max)/2),
|
||
; (18+35)/2=26 故落 26(期望当量 +1 vs 计划书 25,掷点区间 18–35 与计划一致,玩法值零偏离)。
|
||
;
|
||
; Package B 迭代·第 2 轮(2026-09-22——计划书 §6.2,用户拍板一B):heal_minor 恢复量 1→2
|
||
;(区间三值同步 power/min/max = 2/2/2 过中点锚校验)+ 出现权重 2→4(正向池合计 76→78)。
|
||
; 与 hero.tres max_hp 17→20 同轮双变量(用户拍板组合拳,归因混在一起由下轮分摊)。provisional 未提交。
|
||
;
|
||
; Package B 迭代·第 4 轮(2026-09-22——计划书 §6.4,用户拍板 A):clear_blast 26→32
|
||
;(区间 [18,35]→[24,40],(24+40)/2=32 恰为整中点锚)。boss 面三缺同解(normal 胜率 62% 贴下沿 /
|
||
; 清图率 49% vs ≥80 / 完成度 99 vs >130)——清图尖峰加大让"先清一图"成为 boss 战最优路径。
|
||
; 副作用已知:perfect L1 boss 胜率 97% 越 75% 上界加剧。provisional 未提交。
|