feat(令牌配额口径清扫·提前实施卡批): 照需求卡片 v1.2(reports/需求卡片-令牌配额口径清扫批-2026-10-26.md,用户 2026-10-26 裁准提前实施并从简)落地十一处清扫+两处配套——q1 schema 头注四处(:32-36 段并单口径现行句 70/25/7/0=102、:49 位序句、:58「总量 98 锚」→102、:202 deck_total 旧 104 句按实算改写=tier_total 四档求和 102,凭证走 feat_ticket_* 不进牌库);q3 tres 头注五处(批次1 已并,本笔订正一处失实:删「配额键未载表补表归待办」句——写卡会话实查 B1 论断:ap_rare 显式载表与默认同值、rap/时沙走缺省合法,validate 含默认求和恰=常量 7 且绿,无补表义务);q4 golden README「魔法道具 HUD」→「秘宝 HUD」(采直换新名形态,不落「时名」括注以免撞 S11——卡片措辞方向内)+宿主断言标签(批次1)+验证集清单重生成 1583 条对账零差异;B4b 三处「罕见」按裁定原文保留,S11 显式留档豁免单登记 4→7 处(adventure_table:26 档名映射注+:93 与 curio_deck:130 契约④原名引述,附出处注)——补齐卡片关联同步面未列的闸口缺口。契约1 数值与断言条件零触碰(TIER_QUOTAS/三处默认/tres 数值行/条件表达式逐字不动)。卡片与待办条目随批删除(用户裁:活干完登记即毁),验收证据随本信息与下笔撤销证明留档

This commit is contained in:
DKChan committed 2026-10-26 04:59:17 +08:00
1 parent 7d2fbe158f
commit 89605e42e6
7 files changed
+16 -190

No files matched your search

+6 -6
View File
@@ -29,9 +29,9 @@ const TIER_COMMON := "common"
const TIER_EXCELLENT := "excellent"
const TIER_RARE := "rare"
const TIER_LEGENDARY := "legendary"
## 档位配额结构锚(四级直映射 70/25/3/0;
## 稀有档投放三 kind=ap 3/rap 2/时沙 2
## → 合计 稀有 7、总量 102(「净删」口径=出池件配额直接归零,禁转给别件保住总量)。provisional 投放
## 档位配额结构锚(四级 70/25/7/0=102;
## 稀有档投放三 kind=ap 3/rap 2/时沙 2。
## 「净删」口径=出池件配额直接归零,禁转给别件保住总量。provisional 投放
## (「四级配额表重构」+Q3 单迭代全量),偏离 GDD 占位记录随追认单呈报;
## validate() 硬断言;此后改总量=重裁非调参)。
const TIER_QUOTAS := {"common": 70, "excellent": 25, "rare": 7, "legendary": 0}
@@ -46,7 +46,7 @@ const TIER_QUOTAS := {"common": 70, "excellent": 25, "rare": 7, "legendary": 0}
@export var shop_refresh_cost_curve: float = 1.8 # [1.0,4.0] knob(MC-1 provisional——按已付费刷新数幂曲线,A 链同族)
# —— 令牌配额(kind × tier 计数;未列组合 = 0。四级档名 common/excellent/rare/legendary
# 承袭同一物理位序〔70/25/3 零偏离〕;资源凭证 kind 的 rare 档配额见各行现值)——
# 承袭同一物理位序〔70/25/7/0〕;各 kind 现值见行注默认)——
@export var curio_quota_attack_common: int = 18 # [0,99]
@export var curio_quota_attack_excellent: int = 5 # [0,99]
@export var curio_quota_max_hp_common: int = 17 # [0,99]
@@ -55,7 +55,7 @@ const TIER_QUOTAS := {"common": 70, "excellent": 25, "rare": 7, "legendary": 0}
@export var curio_quota_armor_excellent: int = 5 # [0,99]
@export var curio_quota_gp_common: int = 18 # [0,99]
@export var curio_quota_gp_excellent: int = 5 # [0,99]
@export var curio_quota_heal_excellent: int = 3 # [0,99]——恢复件(refresh 挤占 2 席位,总量 98 锚不变)
@export var curio_quota_heal_excellent: int = 3 # [0,99]——恢复件(refresh 挤占 2 席位,总量 102 锚不变)
@export var curio_quota_refresh_excellent: int = 2 # [0,99]——刷新次数件(补给类成员;provisional 归曲线调参)
@export var curio_quota_ap_rare: int = 3 # [0,99]——AP 件(稀有档)
@export var curio_quota_rap_rare: int = 2 # [0,99]——储备金袋(投放 provisional 归调参)
@@ -199,7 +199,7 @@ func tier_total(tier: String) -> int:
return total
## 牌库总量(结构锚——T2 四级 98 + T4 凭证投放 6 = 104:70+25+9+0)
## 牌库总量(=tier_total 四档求和 70+25+7+0=102;凭证投放走 feat_ticket_*,不进牌库)
func deck_total() -> int:
var total := 0
for tier in TIERS:
+1 -1
View File
@@ -34,7 +34,7 @@ feat_ticket_limit = 1
feat_ticket_pity_step = 5
; 迭代 20 T2 池结构案D 换代(2026-10-11,奇物.md 池结构与抽取 v1):四级档位 70/25/7/0 = 102 枚——
; 稀有档投放三 kind=AP 件 3/储备金袋 2/时沙 2;储备金袋与时沙的配额键未载于本表、运行取 schema 缺省值,补表归待办清单;
; 稀有档投放三 kind=AP 件 3/储备金袋 2/时沙 2(ap_rare 显式载于本表,与 schema 缺省同值);
; 概率与上限解耦(案②令牌池+提前退役):概率位=档+令牌数、已拿上限=curio_cap_*(拿了才计);
; 曝光槽=三选一 2 格全池+1 格优秀档以上子池(子池空回退全池);凭证不进子池。
; 前史 TP0 令牌池换代(2026-10-03,node-reward v2.2 追认 b 落地):三选一池 = 固定配额令牌池——
+1 -1
View File
@@ -23,7 +23,7 @@
(本批零视觉改动,判定属常规复核。)
- 2026-10-25(迭代 37 卡① T3):**判失效 → 显式重制 + 复闸**。实测棋盘三图
changed = 0.13% / 0.11% / 0.10%,差异像素全落 900×760 棋盘裁剪区内、裁剪区外 0,
按加严口径不判有效;成因定位为 `2f3a87e9`(魔法道具 HUD)注入 `REWARD_BADGE` 预读格
按加严口径不判有效;成因定位为 `2f3a87e9`(秘宝 HUD)注入 `REWARD_BADGE` 预读格
字形——晚于 2026-10-08 建基提交,与本批零因果。呈报后用户裁「重制三张基线」,
经 `tools/golden_baseline_refresh.sh` 换代;复闸 changed = 0.00% / 0.00% / 0.00%,
启动态菜单 0.00%(未重制)。
+6 -1
View File
@@ -127,7 +127,9 @@ fi
# 在册断言标签成片误红;代价=该行同时出现的真闸档用词也不报,靠文档域 08 闸兜住)
# 扫描面:game/ 全域 .gd/.tres/.md/.json/.sh(.txt 不收=第三方许可证非本仓库文本)
# 注释文本提取:.gd/.sh 取 # 后文本;.tres 取 ; 后文本;.md 取整行;.json 无注释语法(保留扩展名但不产生注释段)
# 三层豁免依序:①闸门自指(行内含检查/禁令形态即跳过)②显式留档豁免单 4 处 ③非注释面天然不取
# 三层豁免依序:①闸门自指(行内含检查/禁令形态即跳过)②显式留档豁免单 7 处 ③非注释面天然不取
# 豁免单新增三处(2026-10-26 令牌配额口径清扫批 B4b 用户裁定保留):adventure_table.gd:26 档名映射对照注
# +adventure_table.gd:93 与 curio_deck.gd:130 四口径契约④原名引述——合法载体非残留,改写即断链
if [ -d game/core ]; then
S11_TABLE="design/gdd/术语表.md"
@@ -179,6 +181,9 @@ else
if(FILENAME~"level_runner"&&FNR==832)next
if(FILENAME~"adventure_runner"&&FNR==403)next
if(FILENAME~"damage_math_test"&&FNR==36)next
if(FILENAME~"adventure_table"&&FNR==26)next
if(FILENAME~"adventure_table"&&FNR==93)next
if(FILENAME~"curio_deck"&&FNR==130)next
print FILENAME":"FNR":"words[i]
next
}
+2 -2
View File
@@ -1,6 +1,6 @@
# 验证集清单(断言快照·冻结)
> 生成日期:2026-10-25 · 基点 commit:`d1c95ade6fbfe01a9cdc4bee2de29cf0729ce15b` · 源:cross_system_flow_test.gd、node_map_determinism_test.gd、save_rng_roundtrip_test.gd、system_test.gd、damage_controller_test.gd、damage_math_test.gd、roll_multiplier_test.gd、round_flow_skill_pool_test.gd、seal_polarity_test.gd、skill_unlock_test.gd、variant_placement_test.gd、source_guard_test.gd、system_contracts_test.gd、adventure_feats_test.gd、board_gen_reward_test.gd、board_generator_test.gd、breakpoint_resume_test.gd、config_db_cross_validator_test.gd、config_db_resolver_test.gd、curio_refresh_paid_test.gd、effect_words_t1_test.gd、feat_vouchers_test.gd、level_map_type_vis_test.gd、level_shop_economy_test.gd、level_table_validate_test.gd、meta_progression_forge_test.gd、minesweeper_rules_test.gd、node_map_generator_test.gd、node_map_growth_test.gd、pool_case_d_test.gd、save_boot_no_activate_test.gd、save_manager_domain_test.gd、save_slot_isolation_test.gd、save_slot_summary_test.gd、settle_segments_test.gd、treasure_effects_test.gd、treasure_items_test.gd、tree_requires_level_test.gd、tree_rules_v11_test.gd、config_db_fatal_oob_test.gd、config_db_test.gd、counter_prefix_fatal_test.gd、forge_table_test.gd、level_gen_params_test.gd、reward_dangling_treasure_test.gd、rng_service_test.gd、rng_stream_boot_test.gd、table_structure_guard_test.gd、treasure_target_violation_test.gd、example_test.gd、battle_narrator_test.gd、forge_workbench_test.gd、hud_presenter_test.gd、level_map_info_fog_test.gd、modal_flow_test.gd、pacing_queue_test.gd、player_copy_sweep_test.gd、reward_overlay_test.gd、standee_fx_sweep_test.gd、terrain_tile_sets_test.gd、theme_projection_test.gd、type_glow_test.gd、ui_font_asset_test.gd、test_kit.gd
> 生成日期:2026-10-26 · 基点 commit:`7d2fbe158fa38d98b917762aa8812a80c8d70aea` · 源:cross_system_flow_test.gd、node_map_determinism_test.gd、save_rng_roundtrip_test.gd、system_test.gd、damage_controller_test.gd、damage_math_test.gd、roll_multiplier_test.gd、round_flow_skill_pool_test.gd、seal_polarity_test.gd、skill_unlock_test.gd、variant_placement_test.gd、source_guard_test.gd、system_contracts_test.gd、adventure_feats_test.gd、board_gen_reward_test.gd、board_generator_test.gd、breakpoint_resume_test.gd、config_db_cross_validator_test.gd、config_db_resolver_test.gd、curio_refresh_paid_test.gd、effect_words_t1_test.gd、feat_vouchers_test.gd、level_map_type_vis_test.gd、level_shop_economy_test.gd、level_table_validate_test.gd、meta_progression_forge_test.gd、minesweeper_rules_test.gd、node_map_generator_test.gd、node_map_growth_test.gd、pool_case_d_test.gd、save_boot_no_activate_test.gd、save_manager_domain_test.gd、save_slot_isolation_test.gd、save_slot_summary_test.gd、settle_segments_test.gd、treasure_effects_test.gd、treasure_items_test.gd、tree_requires_level_test.gd、tree_rules_v11_test.gd、config_db_fatal_oob_test.gd、config_db_test.gd、counter_prefix_fatal_test.gd、forge_table_test.gd、level_gen_params_test.gd、reward_dangling_treasure_test.gd、rng_service_test.gd、rng_stream_boot_test.gd、table_structure_guard_test.gd、treasure_target_violation_test.gd、example_test.gd、battle_narrator_test.gd、forge_workbench_test.gd、hud_presenter_test.gd、level_map_info_fog_test.gd、modal_flow_test.gd、pacing_queue_test.gd、player_copy_sweep_test.gd、reward_overlay_test.gd、standee_fx_sweep_test.gd、terrain_tile_sets_test.gd、theme_projection_test.gd、type_glow_test.gd、ui_font_asset_test.gd、test_kit.gd
> 提取口径:静态 `check(` 调用点,括号配平归集(可跨行);缺省源=三宿主遍历
> (unit/**+integration/**+system_test.gd)。本基点实测 1583 个静态调用点;行级
> `grep -c "check("` 是另一口径(含 `func check(` 定义行与注释行),两口径各自浮动,
@@ -872,7 +872,7 @@
| 502 | 385 | "非战斗期(选路态)abandon 受理" | a10.runner().current_battle() == null and a10.abandon() | (待填) | | |
| 503 | 389 | "剔牌库/替换场景:冒险启动(seed 11——道具解锁集只含 wide_scout_band)" | a11.start_adventure(11, {"treasure_unlocked": {"wide_scout_band": true}}) | (待填) | | |
| 504 | 398 | "池耗即枯竭(attack/ap 令牌耗尽不出候选——%s)" ↩ % str(draw) | not draw_kinds.has("attack") and not draw_kinds.has("ap") | (待填) | | |
| 505 | 399 | "池耗后候选恒 ≥2(稀有/罕见档余量——防「三选项全不可选」死角)" | (draw as Array).size() >= 2 | (待填) | | |
| 505 | 399 | "池耗后候选恒 ≥2(稀有档余量——防「三选项全不可选」死角)" | (draw as Array).size() >= 2 | (待填) | | |
| 506 | 408 | "池收缩——40 次重抽零 aux 候选(停点渠道 aux 卡退役,迭代 11 第①批 T7)" | not treasure_seen | (待填) | | |
| 507 | 417 | "满血通关回血 0 合法(封顶口径——heal_gained=0 非负溢出)" | int(cap["payload"].get("heal_gained", -1)) == 0 | (待填) | | |
| 508 | 420 | "节点共享池场景:冒险启动(seed 13)" | a13.start_adventure(13, {"treasure_unlocked": {"wide_scout_band": true}}) | (待填) | | |