Initial import of HEROLL source and design documents

This commit is contained in:
toshiocn
2026-10-26 16:05:39 +08:00
commit fdb55672c1
1846 changed files with 290692 additions and 0 deletions
@@ -0,0 +1,29 @@
# HEROLL 玩法验证配置索引
本目录与 `../Heroll_Gameplay_Validation_GDD.md` 共同构成玩法验证版唯一规范。编码 UTF-8;数组在 CSV 中使用竖线 `|` 分隔;布尔值使用 `true/false`;空值表示字段不适用,不表示待定。`potions.csv` 中 `HEAL_LEVEL.value` 是固定 HP,商店每级增加 30 HP;最大生命百分比恢复属于独立丹药强化。
关卡楼层、刷新与 Boss 压力以 [专项逆向报告](../../../analysis/stage-floor-rules/2026-08-31_逆向-HEROLL关卡楼层分布与刷新规则-report.md) 及其 `tables/` 为覆盖规范;旧版“每层固定两个有益地块”“六类事件保证袋”和“stage 0 启用 DiceGauge”均已失效。
| 文件 | 主键 | 用途 | 目标数量 |
|---|---|---|---:|
| `evidence-map.csv` | `evidence_id` | Evidence → Finding → Design 追溯 | ≥16 |
| `floor-balance.csv` | `floor` | 10 层敌方基础值与 Boss 基准 | 10 |
| `formula-fit.csv` | `gate_id` | 战斗/DDA 拟合门禁与补录矩阵 | ≥12 |
| `gear-catalog.csv` | `catalog_id` | 40 件局内装备外观目录 | 40 |
| `gear-status.csv` | `status_id` | 13 个装备属性生成规则 | 13 |
| `blessings.csv` | `blessing_id` | 31 源码祝福 + 第三骰 | 32 |
| `potions.csv` | `record_id` | 容量、治疗曲线与强化 | 40 |
| `shop-offers.csv` | `offer_id` | 96 源码商品 + 第三骰商品 | 97 |
| `events.csv` | `event_id` | 商人、核心六类和 12 地块 | 13 |
| `reward-boosts.csv` | `placement_id` | 8 事件增强 + 复活 | 9 |
| `data-contracts.csv` | `contract` | TypeScript/CSV 映射 | ≥12 |
| `ui-screens.csv` | `screen_id` | 页面、控件与状态 | ≥20 |
| `assets.csv` | `asset_id` | HEROLL 原型资产映射 | ≥20 |
| `animation-vfx.csv` | `event` | 动作、特效、音频时序 | ≥20 |
| `qa-cases.csv` | `case_id` | 自动化、调试台与现场验收 | ≥45 |
专项外部表:`analysis/stage-floor-rules/tables/stage-boss-rules.csv`、`stage0-loop-enemy-stats.csv`、`enabled-tile-eligibility.csv`、`default-good-tile-deck.csv`。
`../diagrams/` 保存与主文档三个 Mermaid 代码块一致的独立可编辑源码:`run-state.mmd`、`reward-transaction.mmd`、`checkpoint-recovery.mmd`。结构验收结果见 `../VALIDATION_REPORT.md`。
来源标签:`SOURCE_CONFIRMED`、`RUNTIME_OBSERVED`、`BLACKBOX_FITTED`、`VALIDATION_ADDED`。`formula-fit.csv` 中的 `BLOCKED_CLEAN_CAPTURE` 是显式发布门禁,不得改写为 `PASS`,除非保存了对应的无局外加成样本和误差报告。
@@ -0,0 +1,29 @@
event,total_duration_ms,anticipation_ms,active_ms,recovery_ms,hit_stop_ms,logic_marker,vfx_layer,audio_cue,performance_budget,acceptance,source_tag
UIPrimaryPress,180,0,70,110,0,onPointerDown,HUD,sfx_ui_confirm,0 particles,feedback begins within 50ms,VALIDATION_ADDED
DiceRoll,1267,120,650,247,0,diceResultCommitted,WorldUI,sfx_dice_roll|sfx_dice_settle,1 trail + 1 result halo,result still readable >=250ms,RUNTIME_OBSERVED
DiceThirdChoice,300,60,100,140,0,thirdChoiceCommitted,ModalFront,sfx_ui_select,1 replacement streak,A B C values remain visible through choice,VALIDATION_ADDED
MoveOneTile,160,20,100,40,0,tileStepAdvanced,World,sfx_step,1 dust burst,actor settles on integer pixels,VALIDATION_ADDED
FloorTransition,900,150,300,450,0,floorStateCommitted,WorldUI,sfx_floor_up,2 tile glows + heal burst,HP and layer update only once,VALIDATION_ADDED
BossCountdownTick,300,40,160,100,0,bossCounterCommitted,HUD,sfx_boss_warn,1 meter pulse,number and rail color visibly update before tile resolution,VALIDATION_ADDED
BossConvertFourTiles,2240,520,1360,360,0,bossTilesCommitted,WorldUI,sfx_boss_warn|sfx_boss_hit,4 sequential tile flashes,each selected tile visibly changes once and blessing tile never changes,VALIDATION_ADDED
BattleEnter,700,0,420,280,0,battleSnapshotCreated,Camera|HUD,sfx_battle_enter,no heavy particles,repeat entrance completes <=700ms,RUNTIME_OBSERVED
EnemySpawn,350,100,100,150,0,entitySpawned,CharacterUnderlay,sfx_spawn,<=24 particles per entity,collider active only after spawn marker,VALIDATION_ADDED
NormalAttack,240,60,90,90,70,damageResolved,CharacterFront,sfx_sword_hit,<=80 live particles,weapon crosses target during active window,RUNTIME_OBSERVED
StraightShot,420,80,220,120,40,projectileImpact,ProjectileFront,sfx_arrow,1 projectile + <=16 impact particles,origin and target line unambiguous,VALIDATION_ADDED
CurvedShot,800,350,250,200,50,projectileImpact,GroundTell|ProjectileFront,sfx_arc_launch|sfx_arc_hit,1 decal + 1 projectile,landing tell visible >=300ms,VALIDATION_ADDED
RushAttack,850,500,180,170,90,rushCollision,GroundTell|CharacterFront,sfx_rush_prepare|sfx_rush_hit,1 strip + <=32 particles,warning strip equals collision path,VALIDATION_ADDED
CriticalAttack,1000,250,120,630,120,criticalDamageResolved,VFXFront,sfx_critical,<=120 particles + 1 flash,no white frame >33ms,VALIDATION_ADDED
BossSkill0,1100,550,200,350,150,bossSkillDamage,GroundTell|VFXFront,sfx_boss_warn|sfx_boss_hit,<=200 live particles,tell and damage area mismatch <=4 logical px,SOURCE_CONFIRMED
DamageNumber,667,0,80,587,0,damageResolved,HUDFront,sfx_none,<=24 visible numbers,merge same source hits within150ms,RUNTIME_OBSERVED
HealEffect,650,80,250,320,0,healCommitted,CharacterFront,sfx_heal,<=60 particles,green cyan-white core visible on Grass,VALIDATION_ADDED
ShieldEffect,300,80,120,100,0,shieldCommitted,CharacterUnderlay,sfx_shield,<=32 persistent particles,persistent opacity <=45%,VALIDATION_ADDED
BattleVictory,750,0,250,500,100,postBattleCommitted,HUDFront,sfx_victory,1 banner burst,reward values appear after commit,RUNTIME_OBSERVED
GearRevealCommon,250,40,120,90,0,gearOfferCreated,ModalFront,sfx_gear_reveal,1 rim light,item icon readable by180ms,RUNTIME_OBSERVED
GearRevealLegend,633,120,250,263,0,gearOfferCreated,ModalFront,sfx_gear_legend,<=80 particles,legend reveal longer but skippable after marker,RUNTIME_OBSERVED
GearEquip,500,80,180,240,0,equipCommitted,HUDFront,sfx_equip,1 fly trail + slot flash,old gear exits before salvage number,VALIDATION_ADDED
GearSalvage,400,60,120,220,0,salvageCommitted,HUDFront,sfx_salvage,<=32 shard particles,point delta matches transaction once,VALIDATION_ADDED
BlessingReveal,450,80,180,190,0,blessingOfferCreated,ModalFront,sfx_blessing,<=48 particles,title readable by250ms,VALIDATION_ADDED
BoostCommit,360,40,100,220,0,rewardBoostCommitted,ModalFront,sfx_boost,play icon pulse + one reward burst,legacy animation only; no current UI trigger,DEFERRED_NOT_EXPOSED
Revive,900,250,250,400,0,sourceReviveBlessingResolved,CharacterFront,sfx_revive,<=100 particles,source blessing only; no ad revive UI,SOURCE_CONFIRMED
BossDeath,1183,150,350,683,180,bossVictoryCommitted,VFXFront,sfx_boss_death,<=240 particles,reward modal waits for silhouette settle,RUNTIME_OBSERVED
Toast,1740,180,1400,160,0,toastQueued,HUD,sfx_toast,0 particles,does not cover Roll potion or boss tell,VALIDATION_ADDED
1 event total_duration_ms anticipation_ms active_ms recovery_ms hit_stop_ms logic_marker vfx_layer audio_cue performance_budget acceptance source_tag
2 UIPrimaryPress 180 0 70 110 0 onPointerDown HUD sfx_ui_confirm 0 particles feedback begins within 50ms VALIDATION_ADDED
3 DiceRoll 1267 120 650 247 0 diceResultCommitted WorldUI sfx_dice_roll|sfx_dice_settle 1 trail + 1 result halo result still readable >=250ms RUNTIME_OBSERVED
4 DiceThirdChoice 300 60 100 140 0 thirdChoiceCommitted ModalFront sfx_ui_select 1 replacement streak A B C values remain visible through choice VALIDATION_ADDED
5 MoveOneTile 160 20 100 40 0 tileStepAdvanced World sfx_step 1 dust burst actor settles on integer pixels VALIDATION_ADDED
6 FloorTransition 900 150 300 450 0 floorStateCommitted WorldUI sfx_floor_up 2 tile glows + heal burst HP and layer update only once VALIDATION_ADDED
7 BossCountdownTick 300 40 160 100 0 bossCounterCommitted HUD sfx_boss_warn 1 meter pulse number and rail color visibly update before tile resolution VALIDATION_ADDED
8 BossConvertFourTiles 2240 520 1360 360 0 bossTilesCommitted WorldUI sfx_boss_warn|sfx_boss_hit 4 sequential tile flashes each selected tile visibly changes once and blessing tile never changes VALIDATION_ADDED
9 BattleEnter 700 0 420 280 0 battleSnapshotCreated Camera|HUD sfx_battle_enter no heavy particles repeat entrance completes <=700ms RUNTIME_OBSERVED
10 EnemySpawn 350 100 100 150 0 entitySpawned CharacterUnderlay sfx_spawn <=24 particles per entity collider active only after spawn marker VALIDATION_ADDED
11 NormalAttack 240 60 90 90 70 damageResolved CharacterFront sfx_sword_hit <=80 live particles weapon crosses target during active window RUNTIME_OBSERVED
12 StraightShot 420 80 220 120 40 projectileImpact ProjectileFront sfx_arrow 1 projectile + <=16 impact particles origin and target line unambiguous VALIDATION_ADDED
13 CurvedShot 800 350 250 200 50 projectileImpact GroundTell|ProjectileFront sfx_arc_launch|sfx_arc_hit 1 decal + 1 projectile landing tell visible >=300ms VALIDATION_ADDED
14 RushAttack 850 500 180 170 90 rushCollision GroundTell|CharacterFront sfx_rush_prepare|sfx_rush_hit 1 strip + <=32 particles warning strip equals collision path VALIDATION_ADDED
15 CriticalAttack 1000 250 120 630 120 criticalDamageResolved VFXFront sfx_critical <=120 particles + 1 flash no white frame >33ms VALIDATION_ADDED
16 BossSkill0 1100 550 200 350 150 bossSkillDamage GroundTell|VFXFront sfx_boss_warn|sfx_boss_hit <=200 live particles tell and damage area mismatch <=4 logical px SOURCE_CONFIRMED
17 DamageNumber 667 0 80 587 0 damageResolved HUDFront sfx_none <=24 visible numbers merge same source hits within150ms RUNTIME_OBSERVED
18 HealEffect 650 80 250 320 0 healCommitted CharacterFront sfx_heal <=60 particles green cyan-white core visible on Grass VALIDATION_ADDED
19 ShieldEffect 300 80 120 100 0 shieldCommitted CharacterUnderlay sfx_shield <=32 persistent particles persistent opacity <=45% VALIDATION_ADDED
20 BattleVictory 750 0 250 500 100 postBattleCommitted HUDFront sfx_victory 1 banner burst reward values appear after commit RUNTIME_OBSERVED
21 GearRevealCommon 250 40 120 90 0 gearOfferCreated ModalFront sfx_gear_reveal 1 rim light item icon readable by180ms RUNTIME_OBSERVED
22 GearRevealLegend 633 120 250 263 0 gearOfferCreated ModalFront sfx_gear_legend <=80 particles legend reveal longer but skippable after marker RUNTIME_OBSERVED
23 GearEquip 500 80 180 240 0 equipCommitted HUDFront sfx_equip 1 fly trail + slot flash old gear exits before salvage number VALIDATION_ADDED
24 GearSalvage 400 60 120 220 0 salvageCommitted HUDFront sfx_salvage <=32 shard particles point delta matches transaction once VALIDATION_ADDED
25 BlessingReveal 450 80 180 190 0 blessingOfferCreated ModalFront sfx_blessing <=48 particles title readable by250ms VALIDATION_ADDED
26 BoostCommit 360 40 100 220 0 rewardBoostCommitted ModalFront sfx_boost play icon pulse + one reward burst legacy animation only; no current UI trigger DEFERRED_NOT_EXPOSED
27 Revive 900 250 250 400 0 sourceReviveBlessingResolved CharacterFront sfx_revive <=100 particles source blessing only; no ad revive UI SOURCE_CONFIRMED
28 BossDeath 1183 150 350 683 180 bossVictoryCommitted VFXFront sfx_boss_death <=240 particles reward modal waits for silhouette settle RUNTIME_OBSERVED
29 Toast 1740 180 1400 160 0 toastQueued HUD sfx_toast 0 particles does not cover Roll potion or boss tell VALIDATION_ADDED
@@ -0,0 +1,31 @@
asset_id,category,logical_use,source_asset_or_key,prototype_path,import_rule,rights_boundary,source_tag
AS-001,scene,Grass back layer,chapter_select_back_grass,analysis/visual-study/unity-samples/scene/sharedassets4__chapter_select_back_grass.png,"Point filter|no mipmap|pixelsPerUnit source-native|integer scale",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-002,scene,Grass front layer,chapter_select_front_grass,analysis/visual-study/unity-samples/scene/sharedassets4__chapter_select_front_grass.png,"Point filter|no mipmap|separate parallax layer",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-003,ui,common 9-slice panel,ingame_common_bg,analysis/visual-study/unity-samples/ui/sharedassets3__ingame_common_bg.png,"Point filter|9-slice borders from source|integer scale",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-004,ui,normal board tile,tile_normal,analysis/visual-study/unity-samples/ui/sharedassets3__tile_normal.png,"Point filter|pivot center|no rotation interpolation",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-005,ui,good event tile,tile_goodEvent,analysis/visual-study/unity-samples/ui/sharedassets3__tile_goodEvent.png,"Point filter|green semantic frame retained",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-006,ui,dice primary button,dice_btn_2,analysis/visual-study/unity-samples/ui/sharedassets3__dice_btn_2.png,"Point filter|pressed frame separate|minimum hit 180x96 at 750 canvas",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-007,ui,equipment status frame,weapon_status_bg,analysis/visual-study/unity-samples/ui/sharedassets3__weapon_status_bg.png,"Point filter|quality border overlays separate",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-008,ui,tutorial bubble,tutorial_bubble_bg,analysis/visual-study/unity-samples/ui/sharedassets3__tutorial_bubble_bg.png,"Point filter|9-slice|pointer separate",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-009,ui,boss icon,ingame_boss_icon,analysis/visual-study/unity-samples/ui/sharedassets3__ingame_boss_icon.png,"Point filter|render >=2x integer",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-010,ui,blessing card motif,joker_card_hero,analysis/visual-study/unity-samples/ui/sharedassets3__joker_card_hero.png,"Point filter|preserve HEROLL source colors",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-011,vfx,tile glow,Fx_T_TileGlow02,analysis/visual-study/unity-samples/vfx/sharedassets3__Fx_T_TileGlow02.png,"Point filter|additive only for core|<=48 live particles",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-012,vfx,sword slash,Fx_T_Sword01,analysis/visual-study/unity-samples/vfx/sharedassets3__Fx_T_Sword01.png,"Point filter|sprite sheet|direction mirrors with actor",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-013,vfx,slash sequence,fx_T_slashSeq02,analysis/visual-study/unity-samples/vfx/sharedassets3__fx_T_slashSeq02.png,"Point filter|alpha then additive|one instance per hit",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-014,vfx,dice machine burst,game_machine_dice_VFX_3,analysis/visual-study/unity-samples/vfx/sharedassets4__game_machine_dice_VFX_3.png,"Point filter|reuse only for dice-machine result",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-015,player,player sword battle set,HEROLL current sword hero prefab,SliceDice/analysis/heroll/assets-inventory/objects.csv,"extract sprite/anim clips from owning Unity bundle|Point filter|preserve pivots",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-016,enemy,melee family,enemy_sword_0|enemy_sword_1|enemy_sword_2|enemy_sword_3|enemy_sword_4,SliceDice/analysis/heroll/assets-inventory/objects.csv,"map idle move attack hit death by prefab key",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-017,enemy,straight family,enemy_straight_0|enemy_straight_1,SliceDice/analysis/heroll/assets-inventory/objects.csv,"map projectile origin anchor explicitly",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-018,enemy,curved family,enemy_curved_0|enemy_curved_1,SliceDice/analysis/heroll/assets-inventory/objects.csv,"separate projectile and ground-target sprites",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-019,enemy,rush family,enemy_rush_0|enemy_rush_1,SliceDice/analysis/heroll/assets-inventory/objects.csv,"separate prepare rush collision recovery clips",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-020,boss,boss prefab,boss_0|Board_Boss001,SliceDice/analysis/heroll/assets-inventory/objects.csv,"preserve source scale ratios|separate skill_0 timeline",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-021,boss,boss start sprite,boss_start,analysis/visual-study/unity-samples/character_boss/sharedassets3__boss_start.png,"Point filter|one-shot entrance",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-022,boss,boss idle reference,014_boss_idle_1|001_boss_idle_2,analysis/visual-study/unity-samples/character_boss,"Point filter|preserve frame duration",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-023,boss,boss attack reference,019_boss_attack_8|001_boss_attack_2,analysis/visual-study/unity-samples/character_boss,"Point filter|damage tick authored separately",internal-only HEROLL asset,RUNTIME_OBSERVED
AS-024,event,smithy installation icon,Installtile_smithy,SliceDice/analysis/heroll/assets-inventory/objects.csv,"Point filter|green good-event frame",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-025,event,recovery installation icon,Installtile_healing,SliceDice/analysis/heroll/assets-inventory/objects.csv,"Point filter|green good-event frame",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-026,event,legend installation icon,Installtile_legend,SliceDice/analysis/heroll/assets-inventory/objects.csv,"Point filter|gold inner cue plus shape",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-027,event,dig installation icon,Installtile_corpse,SliceDice/analysis/heroll/assets-inventory/objects.csv,"Point filter|do not gore-enhance",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-028,event,chest installation icon,Installtile_treasure_chest,SliceDice/analysis/heroll/assets-inventory/objects.csv,"Point filter|closed/open frames",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-029,event,minigame icons,Installtile_lotto|Installtile_blackjack|Installtile_clwa|Installtile_goldCarriage|Installtile_dice_machine|Installtile_bubble_shooter,SliceDice/analysis/heroll/assets-inventory/objects.csv,"Point filter|each retains unique silhouette",internal-only HEROLL asset,SOURCE_CONFIRMED
AS-030,audio,functional SFX set,HEROLL extracted FMOD/audio entries,SliceDice/analysis/heroll/assets-inventory,"decode for local prototype only|no BGM banks|mono short clips preferred",internal-only HEROLL asset,RUNTIME_OBSERVED
1 asset_id category logical_use source_asset_or_key prototype_path import_rule rights_boundary source_tag
2 AS-001 scene Grass back layer chapter_select_back_grass analysis/visual-study/unity-samples/scene/sharedassets4__chapter_select_back_grass.png Point filter|no mipmap|pixelsPerUnit source-native|integer scale internal-only HEROLL asset RUNTIME_OBSERVED
3 AS-002 scene Grass front layer chapter_select_front_grass analysis/visual-study/unity-samples/scene/sharedassets4__chapter_select_front_grass.png Point filter|no mipmap|separate parallax layer internal-only HEROLL asset RUNTIME_OBSERVED
4 AS-003 ui common 9-slice panel ingame_common_bg analysis/visual-study/unity-samples/ui/sharedassets3__ingame_common_bg.png Point filter|9-slice borders from source|integer scale internal-only HEROLL asset RUNTIME_OBSERVED
5 AS-004 ui normal board tile tile_normal analysis/visual-study/unity-samples/ui/sharedassets3__tile_normal.png Point filter|pivot center|no rotation interpolation internal-only HEROLL asset RUNTIME_OBSERVED
6 AS-005 ui good event tile tile_goodEvent analysis/visual-study/unity-samples/ui/sharedassets3__tile_goodEvent.png Point filter|green semantic frame retained internal-only HEROLL asset RUNTIME_OBSERVED
7 AS-006 ui dice primary button dice_btn_2 analysis/visual-study/unity-samples/ui/sharedassets3__dice_btn_2.png Point filter|pressed frame separate|minimum hit 180x96 at 750 canvas internal-only HEROLL asset RUNTIME_OBSERVED
8 AS-007 ui equipment status frame weapon_status_bg analysis/visual-study/unity-samples/ui/sharedassets3__weapon_status_bg.png Point filter|quality border overlays separate internal-only HEROLL asset RUNTIME_OBSERVED
9 AS-008 ui tutorial bubble tutorial_bubble_bg analysis/visual-study/unity-samples/ui/sharedassets3__tutorial_bubble_bg.png Point filter|9-slice|pointer separate internal-only HEROLL asset RUNTIME_OBSERVED
10 AS-009 ui boss icon ingame_boss_icon analysis/visual-study/unity-samples/ui/sharedassets3__ingame_boss_icon.png Point filter|render >=2x integer internal-only HEROLL asset RUNTIME_OBSERVED
11 AS-010 ui blessing card motif joker_card_hero analysis/visual-study/unity-samples/ui/sharedassets3__joker_card_hero.png Point filter|preserve HEROLL source colors internal-only HEROLL asset RUNTIME_OBSERVED
12 AS-011 vfx tile glow Fx_T_TileGlow02 analysis/visual-study/unity-samples/vfx/sharedassets3__Fx_T_TileGlow02.png Point filter|additive only for core|<=48 live particles internal-only HEROLL asset RUNTIME_OBSERVED
13 AS-012 vfx sword slash Fx_T_Sword01 analysis/visual-study/unity-samples/vfx/sharedassets3__Fx_T_Sword01.png Point filter|sprite sheet|direction mirrors with actor internal-only HEROLL asset RUNTIME_OBSERVED
14 AS-013 vfx slash sequence fx_T_slashSeq02 analysis/visual-study/unity-samples/vfx/sharedassets3__fx_T_slashSeq02.png Point filter|alpha then additive|one instance per hit internal-only HEROLL asset RUNTIME_OBSERVED
15 AS-014 vfx dice machine burst game_machine_dice_VFX_3 analysis/visual-study/unity-samples/vfx/sharedassets4__game_machine_dice_VFX_3.png Point filter|reuse only for dice-machine result internal-only HEROLL asset RUNTIME_OBSERVED
16 AS-015 player player sword battle set HEROLL current sword hero prefab SliceDice/analysis/heroll/assets-inventory/objects.csv extract sprite/anim clips from owning Unity bundle|Point filter|preserve pivots internal-only HEROLL asset RUNTIME_OBSERVED
17 AS-016 enemy melee family enemy_sword_0|enemy_sword_1|enemy_sword_2|enemy_sword_3|enemy_sword_4 SliceDice/analysis/heroll/assets-inventory/objects.csv map idle move attack hit death by prefab key internal-only HEROLL asset SOURCE_CONFIRMED
18 AS-017 enemy straight family enemy_straight_0|enemy_straight_1 SliceDice/analysis/heroll/assets-inventory/objects.csv map projectile origin anchor explicitly internal-only HEROLL asset SOURCE_CONFIRMED
19 AS-018 enemy curved family enemy_curved_0|enemy_curved_1 SliceDice/analysis/heroll/assets-inventory/objects.csv separate projectile and ground-target sprites internal-only HEROLL asset SOURCE_CONFIRMED
20 AS-019 enemy rush family enemy_rush_0|enemy_rush_1 SliceDice/analysis/heroll/assets-inventory/objects.csv separate prepare rush collision recovery clips internal-only HEROLL asset SOURCE_CONFIRMED
21 AS-020 boss boss prefab boss_0|Board_Boss001 SliceDice/analysis/heroll/assets-inventory/objects.csv preserve source scale ratios|separate skill_0 timeline internal-only HEROLL asset SOURCE_CONFIRMED
22 AS-021 boss boss start sprite boss_start analysis/visual-study/unity-samples/character_boss/sharedassets3__boss_start.png Point filter|one-shot entrance internal-only HEROLL asset RUNTIME_OBSERVED
23 AS-022 boss boss idle reference 014_boss_idle_1|001_boss_idle_2 analysis/visual-study/unity-samples/character_boss Point filter|preserve frame duration internal-only HEROLL asset RUNTIME_OBSERVED
24 AS-023 boss boss attack reference 019_boss_attack_8|001_boss_attack_2 analysis/visual-study/unity-samples/character_boss Point filter|damage tick authored separately internal-only HEROLL asset RUNTIME_OBSERVED
25 AS-024 event smithy installation icon Installtile_smithy SliceDice/analysis/heroll/assets-inventory/objects.csv Point filter|green good-event frame internal-only HEROLL asset SOURCE_CONFIRMED
26 AS-025 event recovery installation icon Installtile_healing SliceDice/analysis/heroll/assets-inventory/objects.csv Point filter|green good-event frame internal-only HEROLL asset SOURCE_CONFIRMED
27 AS-026 event legend installation icon Installtile_legend SliceDice/analysis/heroll/assets-inventory/objects.csv Point filter|gold inner cue plus shape internal-only HEROLL asset SOURCE_CONFIRMED
28 AS-027 event dig installation icon Installtile_corpse SliceDice/analysis/heroll/assets-inventory/objects.csv Point filter|do not gore-enhance internal-only HEROLL asset SOURCE_CONFIRMED
29 AS-028 event chest installation icon Installtile_treasure_chest SliceDice/analysis/heroll/assets-inventory/objects.csv Point filter|closed/open frames internal-only HEROLL asset SOURCE_CONFIRMED
30 AS-029 event minigame icons Installtile_lotto|Installtile_blackjack|Installtile_clwa|Installtile_goldCarriage|Installtile_dice_machine|Installtile_bubble_shooter SliceDice/analysis/heroll/assets-inventory/objects.csv Point filter|each retains unique silhouette internal-only HEROLL asset SOURCE_CONFIRMED
31 AS-030 audio functional SFX set HEROLL extracted FMOD/audio entries SliceDice/analysis/heroll/assets-inventory decode for local prototype only|no BGM banks|mono short clips preferred internal-only HEROLL asset RUNTIME_OBSERVED
@@ -0,0 +1,33 @@
blessing_id,source_id,string_id,enabled,grade_rule,prob_weight,stackable,linear_value,values,after_plus_value,time_value,max_count,stat_value,need_ids,icon,effect_contract,source_tag
AUG-100,100,AttackShield,true,SCALABLE,10,false,6,6,,-1,1,,,a_0,on each successful basic attack grant shield 6,SOURCE_CONFIRMED
AUG-102,102,CritHeal,true,SCALABLE,10,true,15,15|20|25|30,1,-1,999,,,a_2,on critical hit heal selected value percent of dealt damage,VALIDATION_ADDED
AUG-103,103,CritDamageUp,true,SCALABLE,10,true,30,30|35|40,2,-1,999,,,a_3,add selected value percentage points to critical damage multiplier,VALIDATION_ADDED
AUG-106,106,Revive,true,SCALABLE,10,false,4,4,,-1,100,,,a_6,on lethal damage revive once and restore 4 percent max health,VALIDATION_ADDED
AUG-108,108,FirstAttackDMGUp,true,SCALABLE,10,true,70,70|80|90,1,-1,999,,,a_8,first player hit in battle deals selected percent bonus damage,VALIDATION_ADDED
AUG-109,109,DMGUpAfterSecond,true,SCALABLE,10,true,30,30,2,3,999,,,a_9,after 2 seconds add 30 percent total damage for 3 seconds,VALIDATION_ADDED
AUG-110,110,ASPUpAfterSecond,true,SCALABLE,10,true,30,30,2,3,999,,,a_10,after 2 seconds add 30 percent attack speed for 3 seconds,VALIDATION_ADDED
AUG-111,111,DoubleHeal,true,SCALABLE,10,true,8,8,2,-1,999,,,a_11,healing events have 8 percent chance to resolve twice,VALIDATION_ADDED
AUG-112,112,LowHPASPUp,true,SCALABLE,10,true,3,3,1,-1,999,,,a_12,while hp at or below 30 percent gain 30 percent attack speed,VALIDATION_ADDED
AUG-113,113,BattleStartHeal,true,SCALABLE,10,false,10,10,1,-1,6,,,a_13,at PreBattle heal 10 percent max health,SOURCE_CONFIRMED
AUG-114,114,LuckyHit,true,SCALABLE,10,false,4,4,1,-1,5,,,a_14,every fourth successful hit is guaranteed critical,VALIDATION_ADDED
AUG-115,115,DiceSumDMGUp,true,SCALABLE,10,true,30,30|40|50,1,-1,999,,,a_15,if latest dice sum at least 9 add selected total damage percent for next battle,VALIDATION_ADDED
AUG-116,116,DiceSumShield,true,SCALABLE,10,false,1,1,,-1,1,,,a_16,at PreBattle gain shield equal to latest dice sum,SOURCE_CONFIRMED
AUG-117,117,KillHPUp,true,SCALABLE,10,true,10,5,1,-1,1,,,a_17,on enemy kill increase max health by 5 and heal same amount,VALIDATION_ADDED
AUG-118,118,ReduceEnemyDEF,true,SCALABLE,10,true,30,10|20|30,1,-1,999,,,a_18,reduce all spawned enemy defense by selected percent,SOURCE_CONFIRMED
AUG-121,121,EnemyCountStatUp,true,SCALABLE,10,true,8,8,1,-1,5,ALL,,a_20,for each enemy above one add 8 percent to attack health defense aim and evasion,VALIDATION_ADDED
AUG-122,122,OddDiceCritUp,true,SCALABLE,10,true,20,20,2,-1,11,,,a_21,if latest move sum is odd add 20 critical rate for next battle,SOURCE_CONFIRMED
AUG-124,124,KillInTimeGetGear,true,SCALABLE,10,false,0,0,,2.5,999,,,a_23,if battle ends within 2.5 seconds add one gear view opportunity,SOURCE_CONFIRMED
AUG-125,125,HealAfterSecond,true,SCALABLE,10,true,20,20,2,5,6,,,a_24,every 5 seconds heal 20 flat health,SOURCE_CONFIRMED
AUG-126,126,LightingEverySec,true,SCALABLE,10,true,10,10,1,1,21,,,a_25,every second deal 10 percent attack as true damage to all enemies,VALIDATION_ADDED
AUG-132,132,KillForHeroGear,true,SCALABLE,10,false,10,10,1,-1,999,,,a_29,each kill adds 10 percent chance for one EPIC gear after battle,SOURCE_CONFIRMED
AUG-147,147,KillAllEmeny,true,SCALABLE,10,false,,0,,-1,999,,,a_44,on acquire defeat all non-boss enemies in current battle; otherwise arm for next normal battle,VALIDATION_ADDED
AUG-148,148,PointSupply,true,SCALABLE,10,false,20,20,,-1,999,,,a_45,on acquire grant 20 points,SOURCE_CONFIRMED
AUG-149,149,DicePotionGet,true,SCALABLE,10,false,,0,,-1,5,,,a_46,on rolling doubles restore one potion charge up to max,VALIDATION_ADDED
AUG-150,150,KillPotionGet,true,SCALABLE,10,true,10,10,1,-1,1,,,a_47,on enemy kill 10 percent chance restore one potion charge,SOURCE_CONFIRMED
AUG-151,151,ShopFreeReroll,true,SCALABLE,10,true,1,1,1,-1,10,,,a_48,grant one free merchant reroll token,SOURCE_CONFIRMED
AUG-152,152,EmptyTripleBuild,true,SCALABLE,10,false,2,2,,-1,999,,,a_49,when three empty tiles are passed consecutively install one random core good tile,VALIDATION_ADDED
AUG-153,153,EvaHeal,true,SCALABLE,10,true,3,1|2|3,1,-1,10,,,a_50,on successful evade heal selected flat value,SOURCE_CONFIRMED
AUG-154,154,BattleEndHeal,true,SCALABLE,10,true,10,10,1,-1,11,,,a_51,on normal battle victory heal 10 percent max health,SOURCE_CONFIRMED
AUG-156,156,BurnEnemyDead,true,SCALABLE,10,true,150,150,5,-1,15,,FirstEnemyAllBurn,a_53,when a burning enemy dies deal 150 percent attack burn damage to all remaining enemies,VALIDATION_ADDED
AUG-157,157,FirstEnemyAllBurn,true,SCALABLE,10,false,10,10,1,-1,10,,,a_54,first enemy hit applies burn 10 percent attack per second for 3 seconds,VALIDATION_ADDED
AUG-THIRD-DIE,,ThirdDieReplace,true,LEGENDARY,1,false,1,1,,-1,1,,,a_third_die,after A and B roll generate C then replace A replace B or discard,VALIDATION_ADDED
1 blessing_id source_id string_id enabled grade_rule prob_weight stackable linear_value values after_plus_value time_value max_count stat_value need_ids icon effect_contract source_tag
2 AUG-100 100 AttackShield true SCALABLE 10 false 6 6 -1 1 a_0 on each successful basic attack grant shield 6 SOURCE_CONFIRMED
3 AUG-102 102 CritHeal true SCALABLE 10 true 15 15|20|25|30 1 -1 999 a_2 on critical hit heal selected value percent of dealt damage VALIDATION_ADDED
4 AUG-103 103 CritDamageUp true SCALABLE 10 true 30 30|35|40 2 -1 999 a_3 add selected value percentage points to critical damage multiplier VALIDATION_ADDED
5 AUG-106 106 Revive true SCALABLE 10 false 4 4 -1 100 a_6 on lethal damage revive once and restore 4 percent max health VALIDATION_ADDED
6 AUG-108 108 FirstAttackDMGUp true SCALABLE 10 true 70 70|80|90 1 -1 999 a_8 first player hit in battle deals selected percent bonus damage VALIDATION_ADDED
7 AUG-109 109 DMGUpAfterSecond true SCALABLE 10 true 30 30 2 3 999 a_9 after 2 seconds add 30 percent total damage for 3 seconds VALIDATION_ADDED
8 AUG-110 110 ASPUpAfterSecond true SCALABLE 10 true 30 30 2 3 999 a_10 after 2 seconds add 30 percent attack speed for 3 seconds VALIDATION_ADDED
9 AUG-111 111 DoubleHeal true SCALABLE 10 true 8 8 2 -1 999 a_11 healing events have 8 percent chance to resolve twice VALIDATION_ADDED
10 AUG-112 112 LowHPASPUp true SCALABLE 10 true 3 3 1 -1 999 a_12 while hp at or below 30 percent gain 30 percent attack speed VALIDATION_ADDED
11 AUG-113 113 BattleStartHeal true SCALABLE 10 false 10 10 1 -1 6 a_13 at PreBattle heal 10 percent max health SOURCE_CONFIRMED
12 AUG-114 114 LuckyHit true SCALABLE 10 false 4 4 1 -1 5 a_14 every fourth successful hit is guaranteed critical VALIDATION_ADDED
13 AUG-115 115 DiceSumDMGUp true SCALABLE 10 true 30 30|40|50 1 -1 999 a_15 if latest dice sum at least 9 add selected total damage percent for next battle VALIDATION_ADDED
14 AUG-116 116 DiceSumShield true SCALABLE 10 false 1 1 -1 1 a_16 at PreBattle gain shield equal to latest dice sum SOURCE_CONFIRMED
15 AUG-117 117 KillHPUp true SCALABLE 10 true 10 5 1 -1 1 a_17 on enemy kill increase max health by 5 and heal same amount VALIDATION_ADDED
16 AUG-118 118 ReduceEnemyDEF true SCALABLE 10 true 30 10|20|30 1 -1 999 a_18 reduce all spawned enemy defense by selected percent SOURCE_CONFIRMED
17 AUG-121 121 EnemyCountStatUp true SCALABLE 10 true 8 8 1 -1 5 ALL a_20 for each enemy above one add 8 percent to attack health defense aim and evasion VALIDATION_ADDED
18 AUG-122 122 OddDiceCritUp true SCALABLE 10 true 20 20 2 -1 11 a_21 if latest move sum is odd add 20 critical rate for next battle SOURCE_CONFIRMED
19 AUG-124 124 KillInTimeGetGear true SCALABLE 10 false 0 0 2.5 999 a_23 if battle ends within 2.5 seconds add one gear view opportunity SOURCE_CONFIRMED
20 AUG-125 125 HealAfterSecond true SCALABLE 10 true 20 20 2 5 6 a_24 every 5 seconds heal 20 flat health SOURCE_CONFIRMED
21 AUG-126 126 LightingEverySec true SCALABLE 10 true 10 10 1 1 21 a_25 every second deal 10 percent attack as true damage to all enemies VALIDATION_ADDED
22 AUG-132 132 KillForHeroGear true SCALABLE 10 false 10 10 1 -1 999 a_29 each kill adds 10 percent chance for one EPIC gear after battle SOURCE_CONFIRMED
23 AUG-147 147 KillAllEmeny true SCALABLE 10 false 0 -1 999 a_44 on acquire defeat all non-boss enemies in current battle; otherwise arm for next normal battle VALIDATION_ADDED
24 AUG-148 148 PointSupply true SCALABLE 10 false 20 20 -1 999 a_45 on acquire grant 20 points SOURCE_CONFIRMED
25 AUG-149 149 DicePotionGet true SCALABLE 10 false 0 -1 5 a_46 on rolling doubles restore one potion charge up to max VALIDATION_ADDED
26 AUG-150 150 KillPotionGet true SCALABLE 10 true 10 10 1 -1 1 a_47 on enemy kill 10 percent chance restore one potion charge SOURCE_CONFIRMED
27 AUG-151 151 ShopFreeReroll true SCALABLE 10 true 1 1 1 -1 10 a_48 grant one free merchant reroll token SOURCE_CONFIRMED
28 AUG-152 152 EmptyTripleBuild true SCALABLE 10 false 2 2 -1 999 a_49 when three empty tiles are passed consecutively install one random core good tile VALIDATION_ADDED
29 AUG-153 153 EvaHeal true SCALABLE 10 true 3 1|2|3 1 -1 10 a_50 on successful evade heal selected flat value SOURCE_CONFIRMED
30 AUG-154 154 BattleEndHeal true SCALABLE 10 true 10 10 1 -1 11 a_51 on normal battle victory heal 10 percent max health SOURCE_CONFIRMED
31 AUG-156 156 BurnEnemyDead true SCALABLE 10 true 150 150 5 -1 15 FirstEnemyAllBurn a_53 when a burning enemy dies deal 150 percent attack burn damage to all remaining enemies VALIDATION_ADDED
32 AUG-157 157 FirstEnemyAllBurn true SCALABLE 10 false 10 10 1 -1 10 a_54 first enemy hit applies burn 10 percent attack per second for 3 seconds VALIDATION_ADDED
33 AUG-THIRD-DIE ThirdDieReplace true LEGENDARY 1 false 1 1 -1 1 a_third_die after A and B roll generate C then replace A replace B or discard VALIDATION_ADDED
@@ -0,0 +1,18 @@
contract,typescript_field,csv_file,csv_column,parse_rule,validation,error_policy,source_tag
RunState,floor,floor-balance.csv,floor,"int 1..10","1<=floor<=10",reject_checkpoint,VALIDATION_ADDED
RunState,points,shop-offers.csv,price,"signed int transaction result","points>=0",rollback_command,VALIDATION_ADDED
RngStreamState,algorithm,none,none,"literal xoshiro128ss","state has 4 uint32",reject_checkpoint,VALIDATION_ADDED
RngStreamState,index,technical_log,rngIndex,"uint64 serialized as decimal string","monotonic per stream",reject_checkpoint,VALIDATION_ADDED
DdaState,sourceConditions,gameconfig.csv,dynamicDifficultyCondition,"int[3] 5|8|12","exact source array",force_tier0,SOURCE_CONFIRMED
DdaState,sourceValues,gameconfig.csv,dynamicDifficultyValue,"int[6] 10|15|20|5|5|5","exact source array",force_tier0,SOURCE_CONFIRMED
DiceRoll,dieA|dieB,none,none,"diceRng int inclusive 1..6","36 ordered outcomes equal",abort_roll,VALIDATION_ADDED
BattleSnapshot,enemies,floor-balance.csv|monsterinfo.csv,combat columns,"base × prefab × dda","finite nonnegative stats",abort_battle,SOURCE_CONFIRMED
GearInstance,catalogId,gear-catalog.csv,catalog_id,int foreign key,"exactly 40 valid ids",reject_reward,SOURCE_CONFIRMED
GearInstance,statusId|value,gear-status.csv,status_id|base_min|base_max|plus_value,"uniform base + plus×rank","finite and display precision",reject_reward,VALIDATION_ADDED
BlessingInstance,blessingId,blessings.csv,blessing_id,string foreign key,"exactly 32 ids",reject_reward,SOURCE_CONFIRMED
PotionState,countLevel|healLevel|healAmount,potions.csv,level|value,"lookup HEAL_LEVEL value as flat HP","count 1..10 healAmount 50..650",reject_purchase,SOURCE_CONFIRMED
BossGaugeState,enabled|runtimeGauge|mode|playerRolls|countdownRemaining,stage-boss-rules.csv,bossSpawnRule|bossSpawnRuleValue,"enabled only for DiceGauge; gauge clamp 0..100; BUILDUP 0..2 then COUNTDOWN 4..0","stage0 enabled=false; DiceGauge increment=50 and 2+4 observed cycle",reject_checkpoint,RUNTIME_OBSERVED
ShopState,fixedOfferIds|randomOfferIds,shop-offers.csv,offer_id,"eligible filtered sample","3 fixed + <=3 random unique",rollback_reroll,SOURCE_CONFIRMED
EventInstance,tileId,events.csv,tile_id,"int or MERCHANT","known event and legal tile",rollback_install,SOURCE_CONFIRMED
RewardBoostTransaction,placementId,reward-boosts.csv,placement_id,string foreign key,"event placement matches",reject_transaction,VALIDATION_ADDED
Checkpoint,checksum,none,none,"SHA-256 canonical JSON without checksum","64 lowercase hex",load_backup,VALIDATION_ADDED
1 contract typescript_field csv_file csv_column parse_rule validation error_policy source_tag
2 RunState floor floor-balance.csv floor int 1..10 1<=floor<=10 reject_checkpoint VALIDATION_ADDED
3 RunState points shop-offers.csv price signed int transaction result points>=0 rollback_command VALIDATION_ADDED
4 RngStreamState algorithm none none literal xoshiro128ss state has 4 uint32 reject_checkpoint VALIDATION_ADDED
5 RngStreamState index technical_log rngIndex uint64 serialized as decimal string monotonic per stream reject_checkpoint VALIDATION_ADDED
6 DdaState sourceConditions gameconfig.csv dynamicDifficultyCondition int[3] 5|8|12 exact source array force_tier0 SOURCE_CONFIRMED
7 DdaState sourceValues gameconfig.csv dynamicDifficultyValue int[6] 10|15|20|5|5|5 exact source array force_tier0 SOURCE_CONFIRMED
8 DiceRoll dieA|dieB none none diceRng int inclusive 1..6 36 ordered outcomes equal abort_roll VALIDATION_ADDED
9 BattleSnapshot enemies floor-balance.csv|monsterinfo.csv combat columns base × prefab × dda finite nonnegative stats abort_battle SOURCE_CONFIRMED
10 GearInstance catalogId gear-catalog.csv catalog_id int foreign key exactly 40 valid ids reject_reward SOURCE_CONFIRMED
11 GearInstance statusId|value gear-status.csv status_id|base_min|base_max|plus_value uniform base + plus×rank finite and display precision reject_reward VALIDATION_ADDED
12 BlessingInstance blessingId blessings.csv blessing_id string foreign key exactly 32 ids reject_reward SOURCE_CONFIRMED
13 PotionState countLevel|healLevel|healAmount potions.csv level|value lookup HEAL_LEVEL value as flat HP count 1..10 healAmount 50..650 reject_purchase SOURCE_CONFIRMED
14 BossGaugeState enabled|runtimeGauge|mode|playerRolls|countdownRemaining stage-boss-rules.csv bossSpawnRule|bossSpawnRuleValue enabled only for DiceGauge; gauge clamp 0..100; BUILDUP 0..2 then COUNTDOWN 4..0 stage0 enabled=false; DiceGauge increment=50 and 2+4 observed cycle reject_checkpoint RUNTIME_OBSERVED
15 ShopState fixedOfferIds|randomOfferIds shop-offers.csv offer_id eligible filtered sample 3 fixed + <=3 random unique rollback_reroll SOURCE_CONFIRMED
16 EventInstance tileId events.csv tile_id int or MERCHANT known event and legal tile rollback_install SOURCE_CONFIRMED
17 RewardBoostTransaction placementId reward-boosts.csv placement_id string foreign key event placement matches reject_transaction VALIDATION_ADDED
18 Checkpoint checksum none none SHA-256 canonical JSON without checksum 64 lowercase hex load_backup VALIDATION_ADDED
@@ -0,0 +1,15 @@
event_id,tile_id,string_id,natural_core,purchasable,min_floor,base_rule,source_values,source_tables,boost_placement,instance_reset,source_tag
EV-MERCHANT,MERCHANT,Merchant,true,false,3,"show 3 fixed upgrade offers and 3 random offers; floors 3|6|9; reroll cost 3+2*n",3|6|9,ingameshoplist.csv|gameconfig.csv,BOOST_MERCHANT_POINTS,new merchant per generated tile,VALIDATION_ADDED
EV-137,137,GoodEventSmithy,true,true,1,"choose equipped gear; direct claim or upgrade; success by quality 80|50|30|10; failure destroys and salvages",80|50|30|10,newtile.csv,BOOST_SMITHY_RATE,new visit creates new event instance,SOURCE_CONFIRMED
EV-138,138,GoodEventRecovery,true,true,1,"heal 30 percent max health capped at max",30,newtile.csv,BOOST_CAMPFIRE_HEAL_TILE,new visit creates new event instance,VALIDATION_ADDED
EV-139,139,GoodEventLegendGear,false,true,1,"create one LEGENDARY rank3 gear view opportunity",3,newtile.csv,,new visit creates new event instance,SOURCE_CONFIRMED
EV-140,140,GoodEventHeroBody,true,true,1,"5x5 digging board; seed-select source shapes; base 5 digs; reveal all cells in selected stamp and grant revealed rewards",5|5|5,newtile.csv|herobodyminigame.csv,BOOST_DIG_EXTRA,new visit creates new board,VALIDATION_ADDED
EV-141,141,GoodEventChest,true,true,1,"open chest and atomically generate three gear view opportunities using normal loot generator",3,newtile.csv|GoodEventChest native|owner screenshot,BOOST_CHEST_REROLL,new visit creates new chest,SOURCE_CONFIRMED
EV-142,142,GoodEventLotto,false,true,4,"pay 5 points for one draw; outcomes NONE|POINT5|POINT10|RANDOM_GEAR with weights 50|30|15|5",5|50|30|15|5,newtile.csv|ingameshoplist.csv,,one draw per visit,VALIDATION_ADDED
EV-143,143,GoodEventBlackJack,false,true,4,"start with 3 D6; player may hit or stand to approach 21; first win is 10 points; collect or rematch with streak multipliers 2.5|5|10; loss forfeits unclaimed streak reward",3|10|2.5|5|10,newtile.csv|BlackJackView native|Tiles wiki,,new dice stream per hand; streak persists only through rematch,SOURCE_CONFIRMED_PARTIAL_TIE
EV-144,144,GoodEventPowerStar,true,true,4,"draw one blessing card from 31 source plus ThirdDieReplace pool; accept or one forced replacement",0,newtile.csv|augment.csv,BOOST_BLESSING_REROLL,new visit creates new blessing offer,SOURCE_CONFIRMED
EV-151,151,GoodEventClawGrab,false,true,1,"spawn 20 capsules with one guaranteed Legendary capsule at bottom and weighted normal pool; base 1 attempt; 15 second input window; reward only when capsule reaches collection trigger",1|15,newtile.csv|clawcraneminigame.csv|PhysicsClawGame native,BOOST_CLAW_ATTEMPT,new cabinet per visit,SOURCE_CONFIRMED
EV-152,152,GoodEventGoldCarriage,false,true,1,"show 4 closed carts; choose one; reward tier selected by hp ratio thresholds 75|30|0 and source point potion gear caps",4,newtile.csv|goldcarriage.csv,,new four-cart layout per visit,VALIDATION_ADDED
EV-164,164,GoodEventDiceMachine,false,true,4,"roll three fair D6 displayed as zero-based match keys; exact pair/triple patterns grant point gear free-roll blessing tile or potion per source table; unmatched grants none",,newtile.csv|dicemachine.csv,,one roll per visit,SOURCE_CONFIRMED
EV-166,166,GoodEventBubbleShooter,false,true,4,"seed-select one of 6 source maps; base 3 projectiles; 18 second round; match 3 colors; clear thresholds grant 3|5|10 points",3|18|0|3|5|10,newtile.csv|bubbleshooterminigame.csv,BOOST_BUBBLE_SHOT,new board per visit,VALIDATION_ADDED
EV-169,169,GoodEventSpito,false,true,4,"preselect point prize with weights 10|50|40; scratch cover until reveal threshold; grant exactly one prize 30|10|1",30|10|1|10|50|40,newtile.csv|SpitoEventView|ScratchPainter|owner screenshot,,new card per visit,SOURCE_CONFIRMED
1 event_id tile_id string_id natural_core purchasable min_floor base_rule source_values source_tables boost_placement instance_reset source_tag
2 EV-MERCHANT MERCHANT Merchant true false 3 show 3 fixed upgrade offers and 3 random offers; floors 3|6|9; reroll cost 3+2*n 3|6|9 ingameshoplist.csv|gameconfig.csv BOOST_MERCHANT_POINTS new merchant per generated tile VALIDATION_ADDED
3 EV-137 137 GoodEventSmithy true true 1 choose equipped gear; direct claim or upgrade; success by quality 80|50|30|10; failure destroys and salvages 80|50|30|10 newtile.csv BOOST_SMITHY_RATE new visit creates new event instance SOURCE_CONFIRMED
4 EV-138 138 GoodEventRecovery true true 1 heal 30 percent max health capped at max 30 newtile.csv BOOST_CAMPFIRE_HEAL_TILE new visit creates new event instance VALIDATION_ADDED
5 EV-139 139 GoodEventLegendGear false true 1 create one LEGENDARY rank3 gear view opportunity 3 newtile.csv new visit creates new event instance SOURCE_CONFIRMED
6 EV-140 140 GoodEventHeroBody true true 1 5x5 digging board; seed-select source shapes; base 5 digs; reveal all cells in selected stamp and grant revealed rewards 5|5|5 newtile.csv|herobodyminigame.csv BOOST_DIG_EXTRA new visit creates new board VALIDATION_ADDED
7 EV-141 141 GoodEventChest true true 1 open chest and atomically generate three gear view opportunities using normal loot generator 3 newtile.csv|GoodEventChest native|owner screenshot BOOST_CHEST_REROLL new visit creates new chest SOURCE_CONFIRMED
8 EV-142 142 GoodEventLotto false true 4 pay 5 points for one draw; outcomes NONE|POINT5|POINT10|RANDOM_GEAR with weights 50|30|15|5 5|50|30|15|5 newtile.csv|ingameshoplist.csv one draw per visit VALIDATION_ADDED
9 EV-143 143 GoodEventBlackJack false true 4 start with 3 D6; player may hit or stand to approach 21; first win is 10 points; collect or rematch with streak multipliers 2.5|5|10; loss forfeits unclaimed streak reward 3|10|2.5|5|10 newtile.csv|BlackJackView native|Tiles wiki new dice stream per hand; streak persists only through rematch SOURCE_CONFIRMED_PARTIAL_TIE
10 EV-144 144 GoodEventPowerStar true true 4 draw one blessing card from 31 source plus ThirdDieReplace pool; accept or one forced replacement 0 newtile.csv|augment.csv BOOST_BLESSING_REROLL new visit creates new blessing offer SOURCE_CONFIRMED
11 EV-151 151 GoodEventClawGrab false true 1 spawn 20 capsules with one guaranteed Legendary capsule at bottom and weighted normal pool; base 1 attempt; 15 second input window; reward only when capsule reaches collection trigger 1|15 newtile.csv|clawcraneminigame.csv|PhysicsClawGame native BOOST_CLAW_ATTEMPT new cabinet per visit SOURCE_CONFIRMED
12 EV-152 152 GoodEventGoldCarriage false true 1 show 4 closed carts; choose one; reward tier selected by hp ratio thresholds 75|30|0 and source point potion gear caps 4 newtile.csv|goldcarriage.csv new four-cart layout per visit VALIDATION_ADDED
13 EV-164 164 GoodEventDiceMachine false true 4 roll three fair D6 displayed as zero-based match keys; exact pair/triple patterns grant point gear free-roll blessing tile or potion per source table; unmatched grants none newtile.csv|dicemachine.csv one roll per visit SOURCE_CONFIRMED
14 EV-166 166 GoodEventBubbleShooter false true 4 seed-select one of 6 source maps; base 3 projectiles; 18 second round; match 3 colors; clear thresholds grant 3|5|10 points 3|18|0|3|5|10 newtile.csv|bubbleshooterminigame.csv BOOST_BUBBLE_SHOT new board per visit VALIDATION_ADDED
15 EV-169 169 GoodEventSpito false true 4 preselect point prize with weights 10|50|40; scratch cover until reveal threshold; grant exactly one prize 30|10|1 30|10|1|10|50|40 newtile.csv|SpitoEventView|ScratchPainter|owner screenshot new card per visit SOURCE_CONFIRMED
@@ -0,0 +1,21 @@
evidence_id,title,source_type,source_ref,sha256,repro,raw_excerpt,finding_id,finding,design_id,design_ref,confidence
E-001,第1关阶段配置,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/stageinfo.csv,C71617B18829B5F07838BD725C946317932811E6C28A57BA86B159BCFEDC41DA,"读取stage=0且EPlayMode=Normal行","Grass|Default|10|boss_0|skill_0|7",F-001,第1关为Grass主题10层并使用boss_0,D-001,GDD §3.1,high
E-002,第1关十层敌方基础值,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/board.csv,5AFB1F02C1508B6EE5B83EC03B40785EA817563323265EB606DC0105C4CDB026,"筛选Stage=0且loop=0..9","attack 3..60|health 30..159|defense 0..13.5",F-002,十层基础属性可逐行还原,D-002,floor-balance.csv,high
E-003,玩家裸装属性,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/playerdefaultstat.csv,0172D9DE8C26657507C000667C1CEC2A951489D905D9CA5C6476A192F911ABEA,"读取全部9行","range5|move40|attack10|attackSpeed100|health150",F-003,验证版可以从裸装固定属性开始,D-003,GDD §5.1,high
E-004,怪物组和攻击角色,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/monstergroup.csv,C6259715E9EC02A19C99E00950DFA7D036F5CA460BAC752965630FA76B572904,"读取group_10与boss_0","SWORD,SWORD,STRAIGHT,STRAIGHT|boss_0",F-004,源码确认普通组和Boss入口,D-004,GDD §5.2,high
E-005,敌人与Boss倍率,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/monsterinfo.csv,EBC3D2F4CFE57E76277DAD786E150436CE9203E1AD1A4C92EC16622487CC9E40,"筛选enemy_sword/straight/curved/rush与boss_0","boss attack×2|health×4|attackSpeed×1",F-005,四种攻击角色有独立prefab倍率,D-005,GDD §5.2,high
E-006,启用祝福,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/augment.csv,E0B14AF4709E3F0D548973E124F679EF091589D7C99B0E35DE78C628A73D032A,"筛选isEnabled=True","31 rows",F-006,源码祝福池为31个启用项,D-006,blessings.csv,high
E-007,局内装备目录,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/weapondrop.csv,AF8C97D022A83C1FF898D33FC541F157CAD1DC6C5732FF57D61A502E82914809,"按EMonoWeapon分组","4 slots × 10",F-007,完整局内装备目录为40件,D-007,gear-catalog.csv,high
E-008,装备属性表,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/weaponstatus.csv,1F40ED34DD80B1E1674C7E03266E488141491B22527215C3D5C2671CC119A0B6,"读取全部13行","13 status definitions",F-008,装备词条有13类基础区间,D-008,gear-status.csv,high
E-009,局内商店表,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/ingameshoplist.csv,7D32A03BC4D82177999027A5B2A7171888C4C2B3831B8FC1B2F141F02D74ABC8,"过滤数值Id并按itemType计数","96 rows:12 tile|31 augment|9 potion|13 stat|30 fixed|1 lotto",F-009,源码局内商品恰好96条,D-009,shop-offers.csv,high
E-010,药水等级曲线,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/potion.csv,8049B5B835636F6A6FFE73B14D7CDB75FB8B48C18F4DF4D53DB0C8B3D18EFA99,"按type读取","count 1..10|heal 50..650",F-010,药水容量和治疗可直接配置,D-010,potions.csv,high
E-011,药水强化,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/potionaugment.csv,A8585434956E68A5C2E273809BD010DFC57531C642A83B75B2B5A1FA79987095,"筛选isEnabled=True","9 enabled|GuaranteedDouble disabled",F-011,验证版药水强化池为9,D-011,potions.csv,high
E-012,全局玩法参数,file,SliceDice/analysis/heroll/resource-tables/extracted/csv/gameconfig.csv,A57510DEDE13DAF1A597DE1EE73E47B0ABD830D96719DAD24B2CA7370E8DFE3D,"读取BaseCritical EnemyDamgeRange starsPerAugment augmentRatio shopReroll DDA","150|15|stars|50,30,20,5|3,2|DDA arrays",F-012,关键权重和DDA原始数组已确认但语义方法体不足,D-012,GDD §5.4-5.5,high
E-013,用户流程录像,file,参考资料/功能浏览与关卡流程.mp4,382875D92932E77091DE698476310F14B017575BFE3C7F0CAB95889E0F3F1D97,"本地播放并按时间轴观察","UI and run flow reference",F-013,视频可辅助界面与流程但不证明隐藏公式,D-013,ui-screens.csv,medium
E-014,用户抽卡录像,file,参考资料/抽卡.mp4,F7789EB239D1B4D19CCED8D48B462B8377BB350248CB57AA58356726F0096507,"本地播放并按时间轴观察","out-of-scope gacha reference",F-014,抽卡属于本验证版排除项,D-014,GDD §2.4,high
E-015,截图说明,file,参考资料/截图说明.jpg,F3C468A2D91E5D4145EC91BDA07855827635371F36BA8E7021C790F4ED0CBA08,"打开原图读取标注","user annotations",F-015,标注用于解释HEROLL界面且不覆盖源码数值,D-015,ui-screens.csv,medium
E-016,IL2CPP元数据,file,SliceDice/analysis/heroll/metadata/assembly-csharp.json,BA6D3F4BD91B0D3977EB1229AB46FE563118CC55793346796F93816BA7FEF526,"搜索BoardController BattleController DDA和formula相关字段","types and method names without recovered bodies",F-016,调用边界可确认但最终战斗和DDA方法体不可据此恢复,D-016,formula-fit.csv,high
E-017,系统摘要,file,SliceDice/analysis/heroll/metadata-analysis/system-summary.json,C29F1ED5039C1CCC88F5FA20B98CCE840FA78957ED8A7D7F60AFB03161269236,"读取玩法系统类型与入口摘要","Board/Battle/Shop/Event boundaries",F-017,可按领域拆分Cocos模块,D-017,GDD §12.1,high
E-018,提取资产清单,file,analysis/visual-study/unity-samples/manifest.csv,2CECF139A96DE0389B9D9772F9DFD365145B18E3450A439CCB87464365107C6A,"读取exported条目","Grass scene|boss|UI|VFX samples",F-018,HEROLL内部原型资产可支撑玩法验证表现,D-018,assets.csv,high
E-019,桌面试玩棋盘与事件,runtime,Heroll : Dice Roguelike desktop session,n/a,"启动桌面快捷方式并进入关卡","point0→chest→smithy80%→board roll→auto battle victory",F-019,实机确认宝箱铁匠铺点数与自动战斗表现但账号HP329含局外加成,D-019,formula-fit.csv,high
E-020,运行时启动日志,log,analysis/gameplay-monetization/evidence/runtime-session-2026-08-13.md,n/a,"按文档复现启动并检索Board与boss","Normal|boss_0|Board init|Ingame Save",F-020,棋盘场景与boss_0运行链存在,D-020,GDD §3,high
1 evidence_id title source_type source_ref sha256 repro raw_excerpt finding_id finding design_id design_ref confidence
2 E-001 第1关阶段配置 file SliceDice/analysis/heroll/resource-tables/extracted/csv/stageinfo.csv C71617B18829B5F07838BD725C946317932811E6C28A57BA86B159BCFEDC41DA 读取stage=0且EPlayMode=Normal行 Grass|Default|10|boss_0|skill_0|7 F-001 第1关为Grass主题10层并使用boss_0 D-001 GDD §3.1 high
3 E-002 第1关十层敌方基础值 file SliceDice/analysis/heroll/resource-tables/extracted/csv/board.csv 5AFB1F02C1508B6EE5B83EC03B40785EA817563323265EB606DC0105C4CDB026 筛选Stage=0且loop=0..9 attack 3..60|health 30..159|defense 0..13.5 F-002 十层基础属性可逐行还原 D-002 floor-balance.csv high
4 E-003 玩家裸装属性 file SliceDice/analysis/heroll/resource-tables/extracted/csv/playerdefaultstat.csv 0172D9DE8C26657507C000667C1CEC2A951489D905D9CA5C6476A192F911ABEA 读取全部9行 range5|move40|attack10|attackSpeed100|health150 F-003 验证版可以从裸装固定属性开始 D-003 GDD §5.1 high
5 E-004 怪物组和攻击角色 file SliceDice/analysis/heroll/resource-tables/extracted/csv/monstergroup.csv C6259715E9EC02A19C99E00950DFA7D036F5CA460BAC752965630FA76B572904 读取group_10与boss_0 SWORD,SWORD,STRAIGHT,STRAIGHT|boss_0 F-004 源码确认普通组和Boss入口 D-004 GDD §5.2 high
6 E-005 敌人与Boss倍率 file SliceDice/analysis/heroll/resource-tables/extracted/csv/monsterinfo.csv EBC3D2F4CFE57E76277DAD786E150436CE9203E1AD1A4C92EC16622487CC9E40 筛选enemy_sword/straight/curved/rush与boss_0 boss attack×2|health×4|attackSpeed×1 F-005 四种攻击角色有独立prefab倍率 D-005 GDD §5.2 high
7 E-006 启用祝福 file SliceDice/analysis/heroll/resource-tables/extracted/csv/augment.csv E0B14AF4709E3F0D548973E124F679EF091589D7C99B0E35DE78C628A73D032A 筛选isEnabled=True 31 rows F-006 源码祝福池为31个启用项 D-006 blessings.csv high
8 E-007 局内装备目录 file SliceDice/analysis/heroll/resource-tables/extracted/csv/weapondrop.csv AF8C97D022A83C1FF898D33FC541F157CAD1DC6C5732FF57D61A502E82914809 按EMonoWeapon分组 4 slots × 10 F-007 完整局内装备目录为40件 D-007 gear-catalog.csv high
9 E-008 装备属性表 file SliceDice/analysis/heroll/resource-tables/extracted/csv/weaponstatus.csv 1F40ED34DD80B1E1674C7E03266E488141491B22527215C3D5C2671CC119A0B6 读取全部13行 13 status definitions F-008 装备词条有13类基础区间 D-008 gear-status.csv high
10 E-009 局内商店表 file SliceDice/analysis/heroll/resource-tables/extracted/csv/ingameshoplist.csv 7D32A03BC4D82177999027A5B2A7171888C4C2B3831B8FC1B2F141F02D74ABC8 过滤数值Id并按itemType计数 96 rows:12 tile|31 augment|9 potion|13 stat|30 fixed|1 lotto F-009 源码局内商品恰好96条 D-009 shop-offers.csv high
11 E-010 药水等级曲线 file SliceDice/analysis/heroll/resource-tables/extracted/csv/potion.csv 8049B5B835636F6A6FFE73B14D7CDB75FB8B48C18F4DF4D53DB0C8B3D18EFA99 按type读取 count 1..10|heal 50..650 F-010 药水容量和治疗可直接配置 D-010 potions.csv high
12 E-011 药水强化 file SliceDice/analysis/heroll/resource-tables/extracted/csv/potionaugment.csv A8585434956E68A5C2E273809BD010DFC57531C642A83B75B2B5A1FA79987095 筛选isEnabled=True 9 enabled|GuaranteedDouble disabled F-011 验证版药水强化池为9 D-011 potions.csv high
13 E-012 全局玩法参数 file SliceDice/analysis/heroll/resource-tables/extracted/csv/gameconfig.csv A57510DEDE13DAF1A597DE1EE73E47B0ABD830D96719DAD24B2CA7370E8DFE3D 读取BaseCritical EnemyDamgeRange starsPerAugment augmentRatio shopReroll DDA 150|15|stars|50,30,20,5|3,2|DDA arrays F-012 关键权重和DDA原始数组已确认但语义方法体不足 D-012 GDD §5.4-5.5 high
14 E-013 用户流程录像 file 参考资料/功能浏览与关卡流程.mp4 382875D92932E77091DE698476310F14B017575BFE3C7F0CAB95889E0F3F1D97 本地播放并按时间轴观察 UI and run flow reference F-013 视频可辅助界面与流程但不证明隐藏公式 D-013 ui-screens.csv medium
15 E-014 用户抽卡录像 file 参考资料/抽卡.mp4 F7789EB239D1B4D19CCED8D48B462B8377BB350248CB57AA58356726F0096507 本地播放并按时间轴观察 out-of-scope gacha reference F-014 抽卡属于本验证版排除项 D-014 GDD §2.4 high
16 E-015 截图说明 file 参考资料/截图说明.jpg F3C468A2D91E5D4145EC91BDA07855827635371F36BA8E7021C790F4ED0CBA08 打开原图读取标注 user annotations F-015 标注用于解释HEROLL界面且不覆盖源码数值 D-015 ui-screens.csv medium
17 E-016 IL2CPP元数据 file SliceDice/analysis/heroll/metadata/assembly-csharp.json BA6D3F4BD91B0D3977EB1229AB46FE563118CC55793346796F93816BA7FEF526 搜索BoardController BattleController DDA和formula相关字段 types and method names without recovered bodies F-016 调用边界可确认但最终战斗和DDA方法体不可据此恢复 D-016 formula-fit.csv high
18 E-017 系统摘要 file SliceDice/analysis/heroll/metadata-analysis/system-summary.json C29F1ED5039C1CCC88F5FA20B98CCE840FA78957ED8A7D7F60AFB03161269236 读取玩法系统类型与入口摘要 Board/Battle/Shop/Event boundaries F-017 可按领域拆分Cocos模块 D-017 GDD §12.1 high
19 E-018 提取资产清单 file analysis/visual-study/unity-samples/manifest.csv 2CECF139A96DE0389B9D9772F9DFD365145B18E3450A439CCB87464365107C6A 读取exported条目 Grass scene|boss|UI|VFX samples F-018 HEROLL内部原型资产可支撑玩法验证表现 D-018 assets.csv high
20 E-019 桌面试玩棋盘与事件 runtime Heroll : Dice Roguelike desktop session n/a 启动桌面快捷方式并进入关卡 point0→chest→smithy80%→board roll→auto battle victory F-019 实机确认宝箱铁匠铺点数与自动战斗表现但账号HP329含局外加成 D-019 formula-fit.csv high
21 E-020 运行时启动日志 log analysis/gameplay-monetization/evidence/runtime-session-2026-08-13.md n/a 按文档复现启动并检索Board与boss Normal|boss_0|Board init|Ingame Save F-020 棋盘场景与boss_0运行链存在 D-020 GDD §3 high
@@ -0,0 +1,11 @@
floor,source_loop,monster_group,attack_power,health,defense,attack_speed,evasion,aim,life_steal,heal_on_entry_pct,good_tiles_injected,merchant_present,boss_after_floor,source_tag
1,0,10,3,30,0,1,12,0,0,0,0,false,false,SOURCE_CONFIRMED
2,1,10,6,38,1.5,1,23,7,0,30,2,false,false,SOURCE_CONFIRMED
3,2,10,8,43,3,1,34,14,0,30,2,true,false,SOURCE_CONFIRMED
4,3,10,12,58,4.5,1,45,21,0,30,2,false,false,SOURCE_CONFIRMED
5,4,10,17,67,6,1,56,28,0,30,2,false,false,SOURCE_CONFIRMED
6,5,10,22,80,7.5,1,67,35,0,30,2,true,false,SOURCE_CONFIRMED
7,6,10,30,109,9,1,78,42,0,30,2,false,false,SOURCE_CONFIRMED
8,7,10,39,125,10.5,1,89,49,0,30,2,false,false,SOURCE_CONFIRMED
9,8,10,46,141,12,1,100,56,0,30,2,true,false,SOURCE_CONFIRMED
10,9,10,60,159,13.5,1,111,63,0,30,2,false,true,SOURCE_CONFIRMED
1 floor source_loop monster_group attack_power health defense attack_speed evasion aim life_steal heal_on_entry_pct good_tiles_injected merchant_present boss_after_floor source_tag
2 1 0 10 3 30 0 1 12 0 0 0 0 false false SOURCE_CONFIRMED
3 2 1 10 6 38 1.5 1 23 7 0 30 2 false false SOURCE_CONFIRMED
4 3 2 10 8 43 3 1 34 14 0 30 2 true false SOURCE_CONFIRMED
5 4 3 10 12 58 4.5 1 45 21 0 30 2 false false SOURCE_CONFIRMED
6 5 4 10 17 67 6 1 56 28 0 30 2 false false SOURCE_CONFIRMED
7 6 5 10 22 80 7.5 1 67 35 0 30 2 true false SOURCE_CONFIRMED
8 7 6 10 30 109 9 1 78 42 0 30 2 false false SOURCE_CONFIRMED
9 8 7 10 39 125 10.5 1 89 49 0 30 2 false false SOURCE_CONFIRMED
10 9 8 10 46 141 12 1 100 56 0 30 2 true false SOURCE_CONFIRMED
11 10 9 10 60 159 13.5 1 111 63 0 30 2 false true SOURCE_CONFIRMED
@@ -0,0 +1,15 @@
gate_id,system,parameter_or_function,validation_baseline,source_evidence,capture_protocol,min_samples,acceptance,current_status,release_effect
FIT-001,damage,player_normal_damage,"max(1,round(atk*100/(100+def)*U[0.85,1.15]))",E-003|E-008|E-012,"裸装stage0;录属性页与至少30次非暴击命中;画面需同时包含敌人层号和伤害数字",30,median_APE<=5%,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-002,damage,enemy_normal_damage,"same formula using floor/prefab attack",E-002|E-005|E-012,"无局外减伤;floor1/floor5/floor10各录30次敌人非暴击命中与玩家掉血前后",90,median_APE<=5%,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-003,defense,mitigation,"100/(100+defense)",E-008|E-016,"同层同敌人;分别使用0防御和一件已知防御装备;各30次命中",60,paired_median_APE<=5%,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-004,hit,hit_chance,"clamp(0.05,0.95,(100+aim-evasion)/100)",E-002|E-003|E-008,"固定敌人;记录裸装和已知Aim装备各200次攻击的命中/闪避",400,prediction_inside_Wilson95,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-005,evasion,evasion_interaction,"same hit function with defender evasion",E-002|E-008,"固定玩家命中;0闪避和已知闪避值各200次敌人攻击",400,prediction_inside_Wilson95,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-006,critical,critical_multiplier,1.50,E-012,"装备已知暴击率;记录至少30组相同攻击/防御下普通与暴击伤害",30,median_ratio_APE<=5%,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-007,life_steal,heal_from_damage,"floor(finalDamage*lifeStealPct/100)",E-003|E-008,"降低玩家生命并装备已知吸血;记录30次伤害与同步回血",30,median_APE<=5%,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-008,attack_speed,player_attack_interval,"max(0.15,1/(attackSpeed/100))",E-003|E-008,"1x速度;裸装与已知攻速装备各录连续20次攻击时间戳",40,median_interval_APE<=5%,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-009,attack_speed,enemy_attack_interval,"board.attackSpeed*prefab.multiplier",E-002|E-005,"同一敌人连续20次攻击;包含完整前摇和命中帧",20,median_interval_APE<=5%,BLOCKED_CLEAN_CAPTURE,prototype_allowed_release_claim_blocked
FIT-010,battle_duration,normal_battle,"deterministic simulation",E-002|E-003|E-005,"裸装或完整记录装备/祝福;floor1/floor5/floor10各10场;从Fight首帧到PostBattle",30,median_APE<=10%,BLOCKED_CLEAN_CAPTURE,release_candidate_false
FIT-011,battle_duration,boss_0,"stage0 floor10 + boss multipliers",E-001|E-002|E-005,"完整记录进Boss前属性/装备/祝福与10场Boss战;不手动用药或标记用药tick",10,median_APE<=10%,BLOCKED_CLEAN_CAPTURE,release_candidate_false
FIT-012,DDA,condition_and_value_mapping,"tier0 multipliers=1 until fitted",E-012|E-016,"用同一seed连续制造<=5s 5-8s 8-12s >12s战斗;每次录下一战敌方属性和技术日志",24,exact_transition_match,BLOCKED_CLEAN_CAPTURE,dda_forced_tier0
FIT-013,potion,potion_heal_and_augments,"potions.csv validation semantics",E-010|E-011,"每个强化单独启用;录使用前后HP/护盾/次数和后续一次攻击或战斗结束",9,exact_state_delta_match,BLOCKED_CLEAN_CAPTURE,prototype_uses_validation_semantics
FIT-014,points,point_sources_and_salvage,"grade salvage=1|2|4|8|16",E-007|E-009|E-019,"分别分解五品质装备并录余额前后;再录移动 战斗 宝箱各一次",8,exact_delta_match,BLOCKED_CLEAN_CAPTURE,prototype_uses_validation_values
1 gate_id system parameter_or_function validation_baseline source_evidence capture_protocol min_samples acceptance current_status release_effect
2 FIT-001 damage player_normal_damage max(1,round(atk*100/(100+def)*U[0.85,1.15])) E-003|E-008|E-012 裸装stage0;录属性页与至少30次非暴击命中;画面需同时包含敌人层号和伤害数字 30 median_APE<=5% BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
3 FIT-002 damage enemy_normal_damage same formula using floor/prefab attack E-002|E-005|E-012 无局外减伤;floor1/floor5/floor10各录30次敌人非暴击命中与玩家掉血前后 90 median_APE<=5% BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
4 FIT-003 defense mitigation 100/(100+defense) E-008|E-016 同层同敌人;分别使用0防御和一件已知防御装备;各30次命中 60 paired_median_APE<=5% BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
5 FIT-004 hit hit_chance clamp(0.05,0.95,(100+aim-evasion)/100) E-002|E-003|E-008 固定敌人;记录裸装和已知Aim装备各200次攻击的命中/闪避 400 prediction_inside_Wilson95 BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
6 FIT-005 evasion evasion_interaction same hit function with defender evasion E-002|E-008 固定玩家命中;0闪避和已知闪避值各200次敌人攻击 400 prediction_inside_Wilson95 BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
7 FIT-006 critical critical_multiplier 1.50 E-012 装备已知暴击率;记录至少30组相同攻击/防御下普通与暴击伤害 30 median_ratio_APE<=5% BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
8 FIT-007 life_steal heal_from_damage floor(finalDamage*lifeStealPct/100) E-003|E-008 降低玩家生命并装备已知吸血;记录30次伤害与同步回血 30 median_APE<=5% BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
9 FIT-008 attack_speed player_attack_interval max(0.15,1/(attackSpeed/100)) E-003|E-008 1x速度;裸装与已知攻速装备各录连续20次攻击时间戳 40 median_interval_APE<=5% BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
10 FIT-009 attack_speed enemy_attack_interval board.attackSpeed*prefab.multiplier E-002|E-005 同一敌人连续20次攻击;包含完整前摇和命中帧 20 median_interval_APE<=5% BLOCKED_CLEAN_CAPTURE prototype_allowed_release_claim_blocked
11 FIT-010 battle_duration normal_battle deterministic simulation E-002|E-003|E-005 裸装或完整记录装备/祝福;floor1/floor5/floor10各10场;从Fight首帧到PostBattle 30 median_APE<=10% BLOCKED_CLEAN_CAPTURE release_candidate_false
12 FIT-011 battle_duration boss_0 stage0 floor10 + boss multipliers E-001|E-002|E-005 完整记录进Boss前属性/装备/祝福与10场Boss战;不手动用药或标记用药tick 10 median_APE<=10% BLOCKED_CLEAN_CAPTURE release_candidate_false
13 FIT-012 DDA condition_and_value_mapping tier0 multipliers=1 until fitted E-012|E-016 用同一seed连续制造<=5s 5-8s 8-12s >12s战斗;每次录下一战敌方属性和技术日志 24 exact_transition_match BLOCKED_CLEAN_CAPTURE dda_forced_tier0
14 FIT-013 potion potion_heal_and_augments potions.csv validation semantics E-010|E-011 每个强化单独启用;录使用前后HP/护盾/次数和后续一次攻击或战斗结束 9 exact_state_delta_match BLOCKED_CLEAN_CAPTURE prototype_uses_validation_semantics
15 FIT-014 points point_sources_and_salvage grade salvage=1|2|4|8|16 E-007|E-009|E-019 分别分解五品质装备并录余额前后;再录移动 战斗 宝箱各一次 8 exact_delta_match BLOCKED_CLEAN_CAPTURE prototype_uses_validation_values
@@ -0,0 +1,41 @@
catalog_id,string_id,slot,icon_name,title_key,index_in_slot,source_tag
100,ingame_weapon_01,WEAPON,ingame_weapon_icon_01,ingame_weapon_01_title,1,SOURCE_CONFIRMED
101,ingame_weapon_02,WEAPON,ingame_weapon_icon_02,ingame_weapon_02_title,2,SOURCE_CONFIRMED
102,ingame_weapon_03,WEAPON,ingame_weapon_icon_03,ingame_weapon_03_title,3,SOURCE_CONFIRMED
103,ingame_weapon_04,WEAPON,ingame_weapon_icon_04,ingame_weapon_04_title,4,SOURCE_CONFIRMED
104,ingame_weapon_05,WEAPON,ingame_weapon_icon_05,ingame_weapon_05_title,5,SOURCE_CONFIRMED
105,ingame_weapon_06,WEAPON,ingame_weapon_icon_06,ingame_weapon_06_title,6,SOURCE_CONFIRMED
106,ingame_weapon_07,WEAPON,ingame_weapon_icon_07,ingame_weapon_07_title,7,SOURCE_CONFIRMED
107,ingame_weapon_08,WEAPON,ingame_weapon_icon_08,ingame_weapon_08_title,8,SOURCE_CONFIRMED
108,ingame_weapon_09,WEAPON,ingame_weapon_icon_09,ingame_weapon_09_title,9,SOURCE_CONFIRMED
109,ingame_weapon_10,WEAPON,ingame_weapon_icon_10,ingame_weapon_10_title,10,SOURCE_CONFIRMED
113,ingame_ring_01,RING,ingame_ring_icon_01,ingame_ring_01_title,1,SOURCE_CONFIRMED
114,ingame_ring_02,RING,ingame_ring_icon_02,ingame_ring_02_title,2,SOURCE_CONFIRMED
115,ingame_ring_03,RING,ingame_ring_icon_03,ingame_ring_03_title,3,SOURCE_CONFIRMED
116,ingame_ring_04,RING,ingame_ring_icon_04,ingame_ring_04_title,4,SOURCE_CONFIRMED
117,ingame_ring_05,RING,ingame_ring_icon_05,ingame_ring_05_title,5,SOURCE_CONFIRMED
118,ingame_ring_06,RING,ingame_ring_icon_06,ingame_ring_06_title,6,SOURCE_CONFIRMED
119,ingame_ring_07,RING,ingame_ring_icon_07,ingame_ring_07_title,7,SOURCE_CONFIRMED
120,ingame_ring_08,RING,ingame_ring_icon_08,ingame_ring_08_title,8,SOURCE_CONFIRMED
121,ingame_ring_09,RING,ingame_ring_icon_09,ingame_ring_09_title,9,SOURCE_CONFIRMED
122,ingame_ring_10,RING,ingame_ring_icon_10,ingame_ring_10_title,10,SOURCE_CONFIRMED
129,ingame_gauntlet_01,GAUNTLET,ingame_gauntlet_icon_01,ingame_gauntlet_01_title,1,SOURCE_CONFIRMED
130,ingame_gauntlet_02,GAUNTLET,ingame_gauntlet_icon_02,ingame_gauntlet_02_title,2,SOURCE_CONFIRMED
131,ingame_gauntlet_03,GAUNTLET,ingame_gauntlet_icon_03,ingame_gauntlet_03_title,3,SOURCE_CONFIRMED
132,ingame_gauntlet_04,GAUNTLET,ingame_gauntlet_icon_04,ingame_gauntlet_04_title,4,SOURCE_CONFIRMED
133,ingame_gauntlet_05,GAUNTLET,ingame_gauntlet_icon_05,ingame_gauntlet_05_title,5,SOURCE_CONFIRMED
134,ingame_gauntlet_06,GAUNTLET,ingame_gauntlet_icon_06,ingame_gauntlet_06_title,6,SOURCE_CONFIRMED
135,ingame_gauntlet_07,GAUNTLET,ingame_gauntlet_icon_07,ingame_gauntlet_07_title,7,SOURCE_CONFIRMED
136,ingame_gauntlet_08,GAUNTLET,ingame_gauntlet_icon_08,ingame_gauntlet_08_title,8,SOURCE_CONFIRMED
137,ingame_gauntlet_09,GAUNTLET,ingame_gauntlet_icon_09,ingame_gauntlet_09_title,9,SOURCE_CONFIRMED
138,ingame_gauntlet_10,GAUNTLET,ingame_gauntlet_icon_10,ingame_gauntlet_10_title,10,SOURCE_CONFIRMED
145,ingame_boots_01,BOOTS,ingame_boots_icon_01,ingame_boots_01_title,1,SOURCE_CONFIRMED
146,ingame_boots_02,BOOTS,ingame_boots_icon_02,ingame_boots_02_title,2,SOURCE_CONFIRMED
147,ingame_boots_03,BOOTS,ingame_boots_icon_03,ingame_boots_03_title,3,SOURCE_CONFIRMED
148,ingame_boots_04,BOOTS,ingame_boots_icon_04,ingame_boots_04_title,4,SOURCE_CONFIRMED
149,ingame_boots_05,BOOTS,ingame_boots_icon_05,ingame_boots_05_title,5,SOURCE_CONFIRMED
150,ingame_boots_06,BOOTS,ingame_boots_icon_06,ingame_boots_06_title,6,SOURCE_CONFIRMED
151,ingame_boots_07,BOOTS,ingame_boots_icon_07,ingame_boots_07_title,7,SOURCE_CONFIRMED
152,ingame_boots_08,BOOTS,ingame_boots_icon_08,ingame_boots_08_title,8,SOURCE_CONFIRMED
153,ingame_boots_09,BOOTS,ingame_boots_icon_09,ingame_boots_09_title,9,SOURCE_CONFIRMED
154,ingame_boots_10,BOOTS,ingame_boots_icon_10,ingame_boots_10_title,10,SOURCE_CONFIRMED
1 catalog_id string_id slot icon_name title_key index_in_slot source_tag
2 100 ingame_weapon_01 WEAPON ingame_weapon_icon_01 ingame_weapon_01_title 1 SOURCE_CONFIRMED
3 101 ingame_weapon_02 WEAPON ingame_weapon_icon_02 ingame_weapon_02_title 2 SOURCE_CONFIRMED
4 102 ingame_weapon_03 WEAPON ingame_weapon_icon_03 ingame_weapon_03_title 3 SOURCE_CONFIRMED
5 103 ingame_weapon_04 WEAPON ingame_weapon_icon_04 ingame_weapon_04_title 4 SOURCE_CONFIRMED
6 104 ingame_weapon_05 WEAPON ingame_weapon_icon_05 ingame_weapon_05_title 5 SOURCE_CONFIRMED
7 105 ingame_weapon_06 WEAPON ingame_weapon_icon_06 ingame_weapon_06_title 6 SOURCE_CONFIRMED
8 106 ingame_weapon_07 WEAPON ingame_weapon_icon_07 ingame_weapon_07_title 7 SOURCE_CONFIRMED
9 107 ingame_weapon_08 WEAPON ingame_weapon_icon_08 ingame_weapon_08_title 8 SOURCE_CONFIRMED
10 108 ingame_weapon_09 WEAPON ingame_weapon_icon_09 ingame_weapon_09_title 9 SOURCE_CONFIRMED
11 109 ingame_weapon_10 WEAPON ingame_weapon_icon_10 ingame_weapon_10_title 10 SOURCE_CONFIRMED
12 113 ingame_ring_01 RING ingame_ring_icon_01 ingame_ring_01_title 1 SOURCE_CONFIRMED
13 114 ingame_ring_02 RING ingame_ring_icon_02 ingame_ring_02_title 2 SOURCE_CONFIRMED
14 115 ingame_ring_03 RING ingame_ring_icon_03 ingame_ring_03_title 3 SOURCE_CONFIRMED
15 116 ingame_ring_04 RING ingame_ring_icon_04 ingame_ring_04_title 4 SOURCE_CONFIRMED
16 117 ingame_ring_05 RING ingame_ring_icon_05 ingame_ring_05_title 5 SOURCE_CONFIRMED
17 118 ingame_ring_06 RING ingame_ring_icon_06 ingame_ring_06_title 6 SOURCE_CONFIRMED
18 119 ingame_ring_07 RING ingame_ring_icon_07 ingame_ring_07_title 7 SOURCE_CONFIRMED
19 120 ingame_ring_08 RING ingame_ring_icon_08 ingame_ring_08_title 8 SOURCE_CONFIRMED
20 121 ingame_ring_09 RING ingame_ring_icon_09 ingame_ring_09_title 9 SOURCE_CONFIRMED
21 122 ingame_ring_10 RING ingame_ring_icon_10 ingame_ring_10_title 10 SOURCE_CONFIRMED
22 129 ingame_gauntlet_01 GAUNTLET ingame_gauntlet_icon_01 ingame_gauntlet_01_title 1 SOURCE_CONFIRMED
23 130 ingame_gauntlet_02 GAUNTLET ingame_gauntlet_icon_02 ingame_gauntlet_02_title 2 SOURCE_CONFIRMED
24 131 ingame_gauntlet_03 GAUNTLET ingame_gauntlet_icon_03 ingame_gauntlet_03_title 3 SOURCE_CONFIRMED
25 132 ingame_gauntlet_04 GAUNTLET ingame_gauntlet_icon_04 ingame_gauntlet_04_title 4 SOURCE_CONFIRMED
26 133 ingame_gauntlet_05 GAUNTLET ingame_gauntlet_icon_05 ingame_gauntlet_05_title 5 SOURCE_CONFIRMED
27 134 ingame_gauntlet_06 GAUNTLET ingame_gauntlet_icon_06 ingame_gauntlet_06_title 6 SOURCE_CONFIRMED
28 135 ingame_gauntlet_07 GAUNTLET ingame_gauntlet_icon_07 ingame_gauntlet_07_title 7 SOURCE_CONFIRMED
29 136 ingame_gauntlet_08 GAUNTLET ingame_gauntlet_icon_08 ingame_gauntlet_08_title 8 SOURCE_CONFIRMED
30 137 ingame_gauntlet_09 GAUNTLET ingame_gauntlet_icon_09 ingame_gauntlet_09_title 9 SOURCE_CONFIRMED
31 138 ingame_gauntlet_10 GAUNTLET ingame_gauntlet_icon_10 ingame_gauntlet_10_title 10 SOURCE_CONFIRMED
32 145 ingame_boots_01 BOOTS ingame_boots_icon_01 ingame_boots_01_title 1 SOURCE_CONFIRMED
33 146 ingame_boots_02 BOOTS ingame_boots_icon_02 ingame_boots_02_title 2 SOURCE_CONFIRMED
34 147 ingame_boots_03 BOOTS ingame_boots_icon_03 ingame_boots_03_title 3 SOURCE_CONFIRMED
35 148 ingame_boots_04 BOOTS ingame_boots_icon_04 ingame_boots_04_title 4 SOURCE_CONFIRMED
36 149 ingame_boots_05 BOOTS ingame_boots_icon_05 ingame_boots_05_title 5 SOURCE_CONFIRMED
37 150 ingame_boots_06 BOOTS ingame_boots_icon_06 ingame_boots_06_title 6 SOURCE_CONFIRMED
38 151 ingame_boots_07 BOOTS ingame_boots_icon_07 ingame_boots_07_title 7 SOURCE_CONFIRMED
39 152 ingame_boots_08 BOOTS ingame_boots_icon_08 ingame_boots_08_title 8 SOURCE_CONFIRMED
40 153 ingame_boots_09 BOOTS ingame_boots_icon_09 ingame_boots_09_title 9 SOURCE_CONFIRMED
41 154 ingame_boots_10 BOOTS ingame_boots_icon_10 ingame_boots_10_title 10 SOURCE_CONFIRMED
@@ -0,0 +1,14 @@
status_id,string_id,stat_type,ref_status,base_min,base_max,plus_value,is_percent,decimals,combat_power_multiplier,effect_contract,source_tag
100,ATTACK_POWER,NORMAL,,3,7,5,false,0,4,add attackPower,SOURCE_CONFIRMED
101,HEALTH,NORMAL,,20,40,50,false,0,1,add maxHealth and currentHealth by same delta,SOURCE_CONFIRMED
102,AIM,NORMAL,,5,15,10,false,0,1.5,add aim,SOURCE_CONFIRMED
103,DEFENSE,NORMAL,,1.5,2.5,1.5,false,1,2,add defense,SOURCE_CONFIRMED
104,EVASION,UTIL,,14,20,7,false,0,1,add evasion,SOURCE_CONFIRMED
105,REGEN_PER_SECOND,HEAL,HEALTH,1,2,2.4,false,1,3,heal value each logic second during Fight,SOURCE_CONFIRMED
106,TOTAL_DAMAGE,ATTACK,ATTACK_POWER,1,2,1,false,1,5,add totalDamagePct despite source IsPercent false; validation semantic,VALIDATION_ADDED
107,TRUE_DAMAGE,ATTACK,ATTACK_POWER,1,2.5,1.7,false,1,2,add flat trueDamage,SOURCE_CONFIRMED
108,KILL_HEAL,HEAL,HEALTH,6,9,2.5,false,1,3,heal flat value on enemy death,SOURCE_CONFIRMED
109,COUNTER_ATTACK,UTIL,,7,9,1.5,true,1,1,on hit received roll percent then immediate basic counter,SOURCE_CONFIRMED
110,ATTACK_SPEED,UTIL,,7,9,1.4,true,1,2,add attackSpeed percent,SOURCE_CONFIRMED
111,CRITICAL_RATE,ATTACK,,10,12,1.5,true,1,2,add criticalRate percent,SOURCE_CONFIRMED
112,LIFE_STEAL,HEAL,,4.5,7.5,1.5,true,1,2,add lifeSteal percent,SOURCE_CONFIRMED
1 status_id string_id stat_type ref_status base_min base_max plus_value is_percent decimals combat_power_multiplier effect_contract source_tag
2 100 ATTACK_POWER NORMAL 3 7 5 false 0 4 add attackPower SOURCE_CONFIRMED
3 101 HEALTH NORMAL 20 40 50 false 0 1 add maxHealth and currentHealth by same delta SOURCE_CONFIRMED
4 102 AIM NORMAL 5 15 10 false 0 1.5 add aim SOURCE_CONFIRMED
5 103 DEFENSE NORMAL 1.5 2.5 1.5 false 1 2 add defense SOURCE_CONFIRMED
6 104 EVASION UTIL 14 20 7 false 0 1 add evasion SOURCE_CONFIRMED
7 105 REGEN_PER_SECOND HEAL HEALTH 1 2 2.4 false 1 3 heal value each logic second during Fight SOURCE_CONFIRMED
8 106 TOTAL_DAMAGE ATTACK ATTACK_POWER 1 2 1 false 1 5 add totalDamagePct despite source IsPercent false; validation semantic VALIDATION_ADDED
9 107 TRUE_DAMAGE ATTACK ATTACK_POWER 1 2.5 1.7 false 1 2 add flat trueDamage SOURCE_CONFIRMED
10 108 KILL_HEAL HEAL HEALTH 6 9 2.5 false 1 3 heal flat value on enemy death SOURCE_CONFIRMED
11 109 COUNTER_ATTACK UTIL 7 9 1.5 true 1 1 on hit received roll percent then immediate basic counter SOURCE_CONFIRMED
12 110 ATTACK_SPEED UTIL 7 9 1.4 true 1 2 add attackSpeed percent SOURCE_CONFIRMED
13 111 CRITICAL_RATE ATTACK 10 12 1.5 true 1 2 add criticalRate percent SOURCE_CONFIRMED
14 112 LIFE_STEAL HEAL 4.5 7.5 1.5 true 1 2 add lifeSteal percent SOURCE_CONFIRMED
@@ -0,0 +1,41 @@
record_id,record_type,source_id,string_id,level,value,value_a,value_b,enabled,effect_contract,source_tag
COUNT-0,COUNT_LEVEL,100,Potion_CountLevel_0,0,1,,,true,max charges 1,SOURCE_CONFIRMED
COUNT-1,COUNT_LEVEL,101,Potion_CountLevel_1,1,2,,,true,max charges 2,SOURCE_CONFIRMED
COUNT-2,COUNT_LEVEL,102,Potion_CountLevel_2,2,3,,,true,max charges 3,SOURCE_CONFIRMED
COUNT-3,COUNT_LEVEL,103,Potion_CountLevel_3,3,4,,,true,max charges 4,SOURCE_CONFIRMED
COUNT-4,COUNT_LEVEL,104,Potion_CountLevel_4,4,5,,,true,max charges 5,SOURCE_CONFIRMED
COUNT-5,COUNT_LEVEL,105,Potion_CountLevel_5,5,6,,,true,max charges 6,SOURCE_CONFIRMED
COUNT-6,COUNT_LEVEL,106,Potion_CountLevel_6,6,7,,,true,max charges 7,SOURCE_CONFIRMED
COUNT-7,COUNT_LEVEL,107,Potion_CountLevel_7,7,8,,,true,max charges 8,SOURCE_CONFIRMED
COUNT-8,COUNT_LEVEL,108,Potion_CountLevel_8,8,9,,,true,max charges 9,SOURCE_CONFIRMED
COUNT-9,COUNT_LEVEL,109,Potion_CountLevel_9,9,10,,,true,max charges 10,SOURCE_CONFIRMED
HEAL-0,HEAL_LEVEL,110,Potion_HealLevel_0,0,50,,,true,restore 50 flat HP,SOURCE_CONFIRMED
HEAL-1,HEAL_LEVEL,111,Potion_HealLevel_1,1,80,,,true,restore 80 flat HP,SOURCE_CONFIRMED
HEAL-2,HEAL_LEVEL,112,Potion_HealLevel_2,2,110,,,true,restore 110 flat HP,SOURCE_CONFIRMED
HEAL-3,HEAL_LEVEL,113,Potion_HealLevel_3,3,140,,,true,restore 140 flat HP,SOURCE_CONFIRMED
HEAL-4,HEAL_LEVEL,114,Potion_HealLevel_4,4,170,,,true,restore 170 flat HP,SOURCE_CONFIRMED
HEAL-5,HEAL_LEVEL,115,Potion_HealLevel_5,5,200,,,true,restore 200 flat HP,SOURCE_CONFIRMED
HEAL-6,HEAL_LEVEL,116,Potion_HealLevel_6,6,230,,,true,restore 230 flat HP,SOURCE_CONFIRMED
HEAL-7,HEAL_LEVEL,117,Potion_HealLevel_7,7,260,,,true,restore 260 flat HP,SOURCE_CONFIRMED
HEAL-8,HEAL_LEVEL,118,Potion_HealLevel_8,8,290,,,true,restore 290 flat HP,SOURCE_CONFIRMED
HEAL-9,HEAL_LEVEL,119,Potion_HealLevel_9,9,320,,,true,restore 320 flat HP,SOURCE_CONFIRMED
HEAL-10,HEAL_LEVEL,120,Potion_HealLevel_10,10,350,,,true,restore 350 flat HP,SOURCE_CONFIRMED
HEAL-11,HEAL_LEVEL,121,Potion_HealLevel_11,11,380,,,true,restore 380 flat HP,SOURCE_CONFIRMED
HEAL-12,HEAL_LEVEL,122,Potion_HealLevel_12,12,410,,,true,restore 410 flat HP,SOURCE_CONFIRMED
HEAL-13,HEAL_LEVEL,123,Potion_HealLevel_13,13,440,,,true,restore 440 flat HP,SOURCE_CONFIRMED
HEAL-14,HEAL_LEVEL,124,Potion_HealLevel_14,14,470,,,true,restore 470 flat HP,SOURCE_CONFIRMED
HEAL-15,HEAL_LEVEL,125,Potion_HealLevel_15,15,500,,,true,restore 500 flat HP,SOURCE_CONFIRMED
HEAL-16,HEAL_LEVEL,126,Potion_HealLevel_16,16,530,,,true,restore 530 flat HP,SOURCE_CONFIRMED
HEAL-17,HEAL_LEVEL,127,Potion_HealLevel_17,17,560,,,true,restore 560 flat HP,SOURCE_CONFIRMED
HEAL-18,HEAL_LEVEL,128,Potion_HealLevel_18,18,590,,,true,restore 590 flat HP,SOURCE_CONFIRMED
HEAL-19,HEAL_LEVEL,129,Potion_HealLevel_19,19,620,,,true,restore 620 flat HP,SOURCE_CONFIRMED
HEAL-20,HEAL_LEVEL,130,Potion_HealLevel_20,20,650,,,true,restore 650 flat HP,SOURCE_CONFIRMED
AUG-100,AUGMENT,100,Potion_AttackBoost,,,300,1,true,next successful player attack deals plus 300 percent damage; one hit,VALIDATION_ADDED
AUG-101,AUGMENT,101,Potion_AutoCharge,,,1,-1,true,after winning a battle restore 1 potion charge up to max,VALIDATION_ADDED
AUG-103,AUGMENT,103,Potion_LightningAttack,,,-1,-1,true,on potion use deal 100 percent attack true damage to all enemies,VALIDATION_ADDED
AUG-104,AUGMENT,104,Potion_ExtraShield,,,1,-1,true,on potion use grant shield equal to actual heal amount,VALIDATION_ADDED
AUG-105,AUGMENT,105,Potion_LowStockBoost,,,20,-1,true,if charge before use is 1 increase all potion healing by 20 percent,VALIDATION_ADDED
AUG-106,AUGMENT,106,Potion_AdaptiveHealing,,,50,-1,true,if hp before use is at or below 50 percent increase healing by 50 percent,VALIDATION_ADDED
AUG-107,AUGMENT,107,Potion_MaxHealthGain,,,5,-1,true,on use increase max health by 5 percent then heal,VALIDATION_ADDED
AUG-108,AUGMENT,108,Potion_PercentHeal,,,10,-1,true,on use additionally heal 10 percent max health,VALIDATION_ADDED
AUG-109,AUGMENT,109,Potion_GachaHeal,,,20,200,true,on use 20 percent chance add 200 flat healing,VALIDATION_ADDED
1 record_id record_type source_id string_id level value value_a value_b enabled effect_contract source_tag
2 COUNT-0 COUNT_LEVEL 100 Potion_CountLevel_0 0 1 true max charges 1 SOURCE_CONFIRMED
3 COUNT-1 COUNT_LEVEL 101 Potion_CountLevel_1 1 2 true max charges 2 SOURCE_CONFIRMED
4 COUNT-2 COUNT_LEVEL 102 Potion_CountLevel_2 2 3 true max charges 3 SOURCE_CONFIRMED
5 COUNT-3 COUNT_LEVEL 103 Potion_CountLevel_3 3 4 true max charges 4 SOURCE_CONFIRMED
6 COUNT-4 COUNT_LEVEL 104 Potion_CountLevel_4 4 5 true max charges 5 SOURCE_CONFIRMED
7 COUNT-5 COUNT_LEVEL 105 Potion_CountLevel_5 5 6 true max charges 6 SOURCE_CONFIRMED
8 COUNT-6 COUNT_LEVEL 106 Potion_CountLevel_6 6 7 true max charges 7 SOURCE_CONFIRMED
9 COUNT-7 COUNT_LEVEL 107 Potion_CountLevel_7 7 8 true max charges 8 SOURCE_CONFIRMED
10 COUNT-8 COUNT_LEVEL 108 Potion_CountLevel_8 8 9 true max charges 9 SOURCE_CONFIRMED
11 COUNT-9 COUNT_LEVEL 109 Potion_CountLevel_9 9 10 true max charges 10 SOURCE_CONFIRMED
12 HEAL-0 HEAL_LEVEL 110 Potion_HealLevel_0 0 50 true restore 50 flat HP SOURCE_CONFIRMED
13 HEAL-1 HEAL_LEVEL 111 Potion_HealLevel_1 1 80 true restore 80 flat HP SOURCE_CONFIRMED
14 HEAL-2 HEAL_LEVEL 112 Potion_HealLevel_2 2 110 true restore 110 flat HP SOURCE_CONFIRMED
15 HEAL-3 HEAL_LEVEL 113 Potion_HealLevel_3 3 140 true restore 140 flat HP SOURCE_CONFIRMED
16 HEAL-4 HEAL_LEVEL 114 Potion_HealLevel_4 4 170 true restore 170 flat HP SOURCE_CONFIRMED
17 HEAL-5 HEAL_LEVEL 115 Potion_HealLevel_5 5 200 true restore 200 flat HP SOURCE_CONFIRMED
18 HEAL-6 HEAL_LEVEL 116 Potion_HealLevel_6 6 230 true restore 230 flat HP SOURCE_CONFIRMED
19 HEAL-7 HEAL_LEVEL 117 Potion_HealLevel_7 7 260 true restore 260 flat HP SOURCE_CONFIRMED
20 HEAL-8 HEAL_LEVEL 118 Potion_HealLevel_8 8 290 true restore 290 flat HP SOURCE_CONFIRMED
21 HEAL-9 HEAL_LEVEL 119 Potion_HealLevel_9 9 320 true restore 320 flat HP SOURCE_CONFIRMED
22 HEAL-10 HEAL_LEVEL 120 Potion_HealLevel_10 10 350 true restore 350 flat HP SOURCE_CONFIRMED
23 HEAL-11 HEAL_LEVEL 121 Potion_HealLevel_11 11 380 true restore 380 flat HP SOURCE_CONFIRMED
24 HEAL-12 HEAL_LEVEL 122 Potion_HealLevel_12 12 410 true restore 410 flat HP SOURCE_CONFIRMED
25 HEAL-13 HEAL_LEVEL 123 Potion_HealLevel_13 13 440 true restore 440 flat HP SOURCE_CONFIRMED
26 HEAL-14 HEAL_LEVEL 124 Potion_HealLevel_14 14 470 true restore 470 flat HP SOURCE_CONFIRMED
27 HEAL-15 HEAL_LEVEL 125 Potion_HealLevel_15 15 500 true restore 500 flat HP SOURCE_CONFIRMED
28 HEAL-16 HEAL_LEVEL 126 Potion_HealLevel_16 16 530 true restore 530 flat HP SOURCE_CONFIRMED
29 HEAL-17 HEAL_LEVEL 127 Potion_HealLevel_17 17 560 true restore 560 flat HP SOURCE_CONFIRMED
30 HEAL-18 HEAL_LEVEL 128 Potion_HealLevel_18 18 590 true restore 590 flat HP SOURCE_CONFIRMED
31 HEAL-19 HEAL_LEVEL 129 Potion_HealLevel_19 19 620 true restore 620 flat HP SOURCE_CONFIRMED
32 HEAL-20 HEAL_LEVEL 130 Potion_HealLevel_20 20 650 true restore 650 flat HP SOURCE_CONFIRMED
33 AUG-100 AUGMENT 100 Potion_AttackBoost 300 1 true next successful player attack deals plus 300 percent damage; one hit VALIDATION_ADDED
34 AUG-101 AUGMENT 101 Potion_AutoCharge 1 -1 true after winning a battle restore 1 potion charge up to max VALIDATION_ADDED
35 AUG-103 AUGMENT 103 Potion_LightningAttack -1 -1 true on potion use deal 100 percent attack true damage to all enemies VALIDATION_ADDED
36 AUG-104 AUGMENT 104 Potion_ExtraShield 1 -1 true on potion use grant shield equal to actual heal amount VALIDATION_ADDED
37 AUG-105 AUGMENT 105 Potion_LowStockBoost 20 -1 true if charge before use is 1 increase all potion healing by 20 percent VALIDATION_ADDED
38 AUG-106 AUGMENT 106 Potion_AdaptiveHealing 50 -1 true if hp before use is at or below 50 percent increase healing by 50 percent VALIDATION_ADDED
39 AUG-107 AUGMENT 107 Potion_MaxHealthGain 5 -1 true on use increase max health by 5 percent then heal VALIDATION_ADDED
40 AUG-108 AUGMENT 108 Potion_PercentHeal 10 -1 true on use additionally heal 10 percent max health VALIDATION_ADDED
41 AUG-109 AUGMENT 109 Potion_GachaHeal 20 200 true on use 20 percent chance add 200 flat healing VALIDATION_ADDED
@@ -0,0 +1,83 @@
case_id,priority,area,setup,action,expected,automation,gate,source_tag
QA-001,P0,scope,production-like local build,scan scenes scripts configs and packages,no account meta energy gacha IAP network real ad SDK story or BGM entry,static scan,release,VALIDATION_ADDED
QA-002,P0,dice,fixed seed and fresh streams,simulate 1000000 rolls,36 ordered outcomes pass chi-square p>=0.01,node test,release,VALIDATION_ADDED
QA-003,P0,dice,fixed seed,run 100 rolls twice,dieA dieB and RNG indices byte-identical,node test,release,VALIDATION_ADDED
QA-004,P0,dice,all blessings and DDA tiers,compare base dice sequence to clean run,base A/B sequence unchanged,node test,release,VALIDATION_ADDED
QA-005,P0,dice,ThirdDieReplace active,exercise replaceA replaceB discard,move sums correct and A/B log preserved,node test,release,VALIDATION_ADDED
QA-006,P1,dice,normal roll,force doubles,no universal reward or reroll appears,node test,release,VALIDATION_ADDED
QA-007,P0,board,position Tile39 and roll crosses Start,resolve move,exactly one floor transition and no second landing resolve,node test,release,VALIDATION_ADDED
QA-008,P0,board,each floor 1..10,finish lap,floor increments and heal round(maxHp*0.30) capped,node test,release,VALIDATION_ADDED
QA-009,P0,board,each floor transition with recorded zero-based loopIndex,inspect good-tile draw and install attempts,request count equals loopIndex plus2 and success count never exceeds request count,node test,release,SOURCE_CONFIRMED
QA-010,P0,board,fresh account default eight-meta deck and fixed seed,initialize run and inspect first eight draws,all eight default metas appear once before reshuffle,node simulation,release,SOURCE_CONFIRMED
QA-011,P0,board,seed suite 10000 runs,inspect merchant generation,merchant only and always on floors3 6 9,node simulation,release,VALIDATION_ADDED
QA-012,P0,boss,complete floor10,resolve transition,boss_0 with skill_0 and cooldown7 starts,node test,release,SOURCE_CONFIRMED
QA-013,P0,combat,naked run,create player snapshot,stats equal 5|40|10|100|150|0|0|0|5,node test,release,SOURCE_CONFIRMED
QA-014,P0,combat,floor1..10,spawn base enemies,base stats match floor-balance.csv exactly,node test,release,SOURCE_CONFIRMED
QA-015,P0,combat,floor10 boss spawn,inspect snapshot,multipliers attack2 hp4 defense1 speed1 evasion1 aim1 lifeSteal0,node test,release,SOURCE_CONFIRMED
QA-016,P0,combat,controlled attack and defense,run deterministic hit,validation baseline formula matches exact integer result,node test,prototype,VALIDATION_ADDED
QA-017,P0,combat,clean capture matrix,run fit report,player and enemy damage median APE<=5%,analysis script,release,VALIDATION_ADDED
QA-018,P0,combat,clean capture matrix,run duration fit,floor bands and boss median APE<=10%,analysis script,release,VALIDATION_ADDED
QA-019,P0,combat,hit and evasion capture,run Wilson check,predictions inside 95 percent intervals,analysis script,release,VALIDATION_ADDED
QA-020,P0,combat,critical and lifeSteal capture,run fit,crit ratio and healing median APE<=5%,analysis script,release,VALIDATION_ADDED
QA-021,P0,combat,attack speed capture,run interval fit,player and enemy median interval APE<=5%,analysis script,release,VALIDATION_ADDED
QA-022,P0,DDA,tier0 normal run,roll dice and loot sequences,DDA does not alter dice shop loot or events,node test,release,VALIDATION_ADDED
QA-023,P0,DDA,known state transitions,save reload,state arrays multipliers recentBattleMs and reason preserved,node test,release,VALIDATION_ADDED
QA-024,P0,DDA,clean DDA captures,run transition matcher,exact transition and multiplier match,analysis script,release,VALIDATION_ADDED
QA-025,P0,potion,Fight and one charge,double click same tick,only one use and one heal,node test,release,VALIDATION_ADDED
QA-026,P0,potion,each count and heal level,load lookup,10 capacity and 21 heal records exact,node test,release,SOURCE_CONFIRMED
QA-027,P0,potion,each of 9 augments,run isolated scripted scenario,state delta equals potions.csv contract,node test,release,VALIDATION_ADDED
QA-028,P1,potion,GuaranteedDouble source row,scan pools and shop,disabled augment never appears,static scan,release,SOURCE_CONFIRMED
QA-029,P0,gear,catalog load,count and group,exactly 40 with 10 per slot,node test,release,SOURCE_CONFIRMED
QA-030,P0,gear,loot simulation 1000000,inspect quality counts,weights fit 210|60|28|4|1 within statistical tolerance,node simulation,release,SOURCE_CONFIRMED
QA-031,P0,gear,100000 simulated runs,count view opportunities,P50 between6 and8,node simulation,release,VALIDATION_ADDED
QA-032,P0,gear,slot empty and occupied,equip new gear,new flies in old leaves and old salvage points once,integration,release,VALIDATION_ADDED
QA-033,P0,gear,batch with 3 unhandled,close modal,all 3 salvage in source order with no duplicate,integration,release,VALIDATION_ADDED
QA-034,P0,gear,all 13 statuses,generate each,min max plus rank and display precision match,node test,release,SOURCE_CONFIRMED
QA-035,P0,smithy,quality ranks0..3,run 100000 trials each,base success rates fit80|50|30|10,node simulation,release,SOURCE_CONFIRMED
QA-036,P0,smithy,boost used ranks0..3,run 100000 trials each,boost rates fit100|80|50|30,node simulation,release,VALIDATION_ADDED
QA-037,P0,smithy,force failure,resolve,equipment removed and pre-failure quality salvage once,node test,release,VALIDATION_ADDED
QA-038,P0,blessing,load pool,count enabled,31 source plus ThirdDieReplace equals32,node test,release,SOURCE_CONFIRMED
QA-039,P0,blessing,reveal card,use boost,replacement differs and only Accept remains,node test,release,VALIDATION_ADDED
QA-040,P0,blessing,pool edge only same eligible,use boost,original accepted and transaction commits without loop,node test,release,VALIDATION_ADDED
QA-041,P0,blessing,levels0..40,lookup star cost,index clamps to29 and sequence matches source,node test,release,SOURCE_CONFIRMED
QA-042,P0,shop,load offers,count and group,97 total with source distribution plus one augment,node test,release,VALIDATION_ADDED
QA-043,P0,shop,open merchant,inspect slots,3 fixed and 3 unique random eligible offers,integration,release,VALIDATION_ADDED
QA-044,P0,shop,reroll count0..5,inspect quote,cost equals3+2*n,node test,release,SOURCE_CONFIRMED
QA-045,P0,shop,insufficient points,attempt purchase,no negative balance no RNG consumption no offer mutation,node test,release,VALIDATION_ADDED
QA-046,P0,shop,purchase limit reached,reroll and reopen,offer remains ineligible,node test,release,SOURCE_CONFIRMED
QA-047,P0,shop,purchase tile and cancel install,reopen,pending install preserved and no refund or loss,integration,release,VALIDATION_ADDED
QA-048,P0,event,EV-140 forced,perform base digs,5x5 board and exactly5 actions before boost,integration,release,VALIDATION_ADDED
QA-049,P0,event,EV-151 forced,inspect cabinet,20 capsules and1 base attempt,integration,release,SOURCE_CONFIRMED
QA-050,P0,event,EV-166 forced,inspect all seeds,one of6 source maps and3 base shots,integration,release,SOURCE_CONFIRMED
QA-051,P0,event,each tile137 138 139 140 141 142 143 144 151 152 164 166,force via debug,input presentation settlement save and exit all pass,manual debug checklist,release,SOURCE_CONFIRMED
QA-052,P2,legacy boost,load old transaction fixture,restore,no UI control rendered and no new transaction created,node migration,archive,DEFERRED_NOT_EXPOSED
QA-053,P2,legacy boost,old PENDING fixture,restore,compatibility recovery does not expose button,node migration,archive,DEFERRED_NOT_EXPOSED
QA-054,P2,legacy boost,old COMMITTED fixture,restore,render does not apply balance or reward delta again,node migration,archive,DEFERRED_NOT_EXPOSED
QA-055,P2,legacy boost,normal event instance,inspect controls,no boost transaction can be initiated from UI,node test,archive,DEFERRED_NOT_EXPOSED
QA-056,P0,revive,lethal with source Revive available,resolve,source blessing resolves once before failure decision,node test,release,SOURCE_CONFIRMED
QA-057,P0,revive,lethal with no source Revive,resolve,full DEFEAT animation then direct failed state with no ad controls,node integration,release,VALIDATION_ADDED
QA-058,P0,revive,source Revive resolves but hp remains zero,resolve,run fails with no ad or second revive choice,node test,release,VALIDATION_ADDED
QA-059,P0,revive,transition to next floor then lethal without blessing,resolve,run fails directly and no floor-based ad eligibility exists,node test,release,VALIDATION_ADDED
QA-060,P0,checkpoint,each modal battle purchase equip blessing event boundary,refresh before and after commit,no half settlement duplicate RNG or duplicate reward,node integration,release,VALIDATION_ADDED
QA-061,P0,checkpoint,corrupt main checksum,load,backup slot loads and committed transaction set preserved,node test,release,VALIDATION_ADDED
QA-062,P0,checkpoint,corrupt both slots,load,user sees corrupt save prompt and can start clean run,node integration,release,VALIDATION_ADDED
QA-063,P0,checkpoint,same seed DDA and command transcript,replay,board loot combat shop and checkpoints byte-identical,node replay,release,VALIDATION_ADDED
QA-064,P0,UI,750x1334 and808x1440,visit all screens,no crop overlap or inaccessible control,visual regression,release,VALIDATION_ADDED
QA-065,P1,UI,first-time flags clear,trigger five guides,each appears once points at correct control and never stacks,integration,release,VALIDATION_ADDED
QA-066,P0,UI,normal build,inspect board and combat,no auto-roll combat speed debug or real ad playback screen,static and manual,release,VALIDATION_ADDED
QA-067,P0,art,all sprite nodes at rest,capture transform,world pixel coordinates and scales are integers,node test,release,VALIDATION_ADDED
QA-068,P0,VFX,all boss and curved/rush attacks,compare tell and hit mask,mismatch<=4 logical pixels,integration capture,release,VALIDATION_ADDED
QA-069,P1,VFX,stress battle and boss death,profile particles,live particles stay within animation-vfx budgets,profiler,release,VALIDATION_ADDED
QA-070,P0,audio,production build,scan loaded banks and clips,no background music and all looping SFX stop on exit,static and integration,release,VALIDATION_ADDED
QA-071,P0,debug,force all commands,inspect logs,commands use Domain API and every record has debug=true,integration,release,VALIDATION_ADDED
QA-072,P0,logs,normal 10-floor run,export JSON,only technical allowlist fields and no user profile or cross-run stats,static schema test,release,VALIDATION_ADDED
QA-073,P0,onsite,10 live runs,cover attack attackSpeedCrit survival zeroRevive oneRevive,lead signs overall gameplay and roughly10-12min,onsite signoff,release,VALIDATION_ADDED
QA-074,P0,boss cycle,DiceGauge debug stage and six completed ROLL actions,observe runtimeGauge counter and board,first2 reach gauge100 and enter countdown4; next4 reach0 then exactly4 unique nonblessing tiles convert and runtimeGauge clears,node integration and visual regression,release,RUNTIME_OBSERVED
QA-075,P0,potion,150 maxHP 1 currentHP and heal level80,use one potion,currentHP becomes81 and charge decreases once; healing caps at maxHP,node test,release,SOURCE_CONFIRMED
QA-076,P0,board,ROLL any legal 2D6 result from Start,compare visible sum animation steps and final tile index,visible total equals exact number of clockwise one-tile moves and final index equals sum,browser visual regression,release,RUNTIME_OBSERVED
QA-077,P0,board,render battle merchant mini-boss infected-boss and all installable event tiles,inspect labels image URLs and load status,1-4 skull battle tiles and both boss tiles use distinct original assets and every event remains identifiable,browser integration,release,SOURCE_CONFIRMED
QA-078,P0,ads,open every normal screen event and lethal flow,scan controls and DOM,zero ad boost reroll extra-attempt extra-shot or ad-revive buttons; lethal flow reaches DEFEAT,browser integration,release,VALIDATION_ADDED
QA-079,P0,balance,new run with initial stats and no potion ads or debug buff,resolve first three normal battle groups,player survives and defeats all three groups,node test,release,VALIDATION_ADDED
QA-080,P0,tile lifecycle,resolve battle mini-boss and event then advance a floor,inspect source cells,each resolved source becomes EMPTY wasteland and stays wasteland unless a legal new tile covers it,node integration,release,VALIDATION_ADDED
QA-081,P0,infected boss,leave infected boss alive and cross Start three times,inspect all existing normal battle cells,each crossing adds one enemy per normal battle capped at4 and source stops after three pollution triggers,node integration,release,VALIDATION_ADDED
QA-082,P0,boss rule,stage0 Default run from initialization through floor10,inspect state HUD and checkpoints,no runtimeBossGauge or BossDiceCounter pressure state is created; boss_0 begins only after the tenth floor,node integration and visual regression,release,SOURCE_CONFIRMED
1 case_id priority area setup action expected automation gate source_tag
2 QA-001 P0 scope production-like local build scan scenes scripts configs and packages no account meta energy gacha IAP network real ad SDK story or BGM entry static scan release VALIDATION_ADDED
3 QA-002 P0 dice fixed seed and fresh streams simulate 1000000 rolls 36 ordered outcomes pass chi-square p>=0.01 node test release VALIDATION_ADDED
4 QA-003 P0 dice fixed seed run 100 rolls twice dieA dieB and RNG indices byte-identical node test release VALIDATION_ADDED
5 QA-004 P0 dice all blessings and DDA tiers compare base dice sequence to clean run base A/B sequence unchanged node test release VALIDATION_ADDED
6 QA-005 P0 dice ThirdDieReplace active exercise replaceA replaceB discard move sums correct and A/B log preserved node test release VALIDATION_ADDED
7 QA-006 P1 dice normal roll force doubles no universal reward or reroll appears node test release VALIDATION_ADDED
8 QA-007 P0 board position Tile39 and roll crosses Start resolve move exactly one floor transition and no second landing resolve node test release VALIDATION_ADDED
9 QA-008 P0 board each floor 1..10 finish lap floor increments and heal round(maxHp*0.30) capped node test release VALIDATION_ADDED
10 QA-009 P0 board each floor transition with recorded zero-based loopIndex inspect good-tile draw and install attempts request count equals loopIndex plus2 and success count never exceeds request count node test release SOURCE_CONFIRMED
11 QA-010 P0 board fresh account default eight-meta deck and fixed seed initialize run and inspect first eight draws all eight default metas appear once before reshuffle node simulation release SOURCE_CONFIRMED
12 QA-011 P0 board seed suite 10000 runs inspect merchant generation merchant only and always on floors3 6 9 node simulation release VALIDATION_ADDED
13 QA-012 P0 boss complete floor10 resolve transition boss_0 with skill_0 and cooldown7 starts node test release SOURCE_CONFIRMED
14 QA-013 P0 combat naked run create player snapshot stats equal 5|40|10|100|150|0|0|0|5 node test release SOURCE_CONFIRMED
15 QA-014 P0 combat floor1..10 spawn base enemies base stats match floor-balance.csv exactly node test release SOURCE_CONFIRMED
16 QA-015 P0 combat floor10 boss spawn inspect snapshot multipliers attack2 hp4 defense1 speed1 evasion1 aim1 lifeSteal0 node test release SOURCE_CONFIRMED
17 QA-016 P0 combat controlled attack and defense run deterministic hit validation baseline formula matches exact integer result node test prototype VALIDATION_ADDED
18 QA-017 P0 combat clean capture matrix run fit report player and enemy damage median APE<=5% analysis script release VALIDATION_ADDED
19 QA-018 P0 combat clean capture matrix run duration fit floor bands and boss median APE<=10% analysis script release VALIDATION_ADDED
20 QA-019 P0 combat hit and evasion capture run Wilson check predictions inside 95 percent intervals analysis script release VALIDATION_ADDED
21 QA-020 P0 combat critical and lifeSteal capture run fit crit ratio and healing median APE<=5% analysis script release VALIDATION_ADDED
22 QA-021 P0 combat attack speed capture run interval fit player and enemy median interval APE<=5% analysis script release VALIDATION_ADDED
23 QA-022 P0 DDA tier0 normal run roll dice and loot sequences DDA does not alter dice shop loot or events node test release VALIDATION_ADDED
24 QA-023 P0 DDA known state transitions save reload state arrays multipliers recentBattleMs and reason preserved node test release VALIDATION_ADDED
25 QA-024 P0 DDA clean DDA captures run transition matcher exact transition and multiplier match analysis script release VALIDATION_ADDED
26 QA-025 P0 potion Fight and one charge double click same tick only one use and one heal node test release VALIDATION_ADDED
27 QA-026 P0 potion each count and heal level load lookup 10 capacity and 21 heal records exact node test release SOURCE_CONFIRMED
28 QA-027 P0 potion each of 9 augments run isolated scripted scenario state delta equals potions.csv contract node test release VALIDATION_ADDED
29 QA-028 P1 potion GuaranteedDouble source row scan pools and shop disabled augment never appears static scan release SOURCE_CONFIRMED
30 QA-029 P0 gear catalog load count and group exactly 40 with 10 per slot node test release SOURCE_CONFIRMED
31 QA-030 P0 gear loot simulation 1000000 inspect quality counts weights fit 210|60|28|4|1 within statistical tolerance node simulation release SOURCE_CONFIRMED
32 QA-031 P0 gear 100000 simulated runs count view opportunities P50 between6 and8 node simulation release VALIDATION_ADDED
33 QA-032 P0 gear slot empty and occupied equip new gear new flies in old leaves and old salvage points once integration release VALIDATION_ADDED
34 QA-033 P0 gear batch with 3 unhandled close modal all 3 salvage in source order with no duplicate integration release VALIDATION_ADDED
35 QA-034 P0 gear all 13 statuses generate each min max plus rank and display precision match node test release SOURCE_CONFIRMED
36 QA-035 P0 smithy quality ranks0..3 run 100000 trials each base success rates fit80|50|30|10 node simulation release SOURCE_CONFIRMED
37 QA-036 P0 smithy boost used ranks0..3 run 100000 trials each boost rates fit100|80|50|30 node simulation release VALIDATION_ADDED
38 QA-037 P0 smithy force failure resolve equipment removed and pre-failure quality salvage once node test release VALIDATION_ADDED
39 QA-038 P0 blessing load pool count enabled 31 source plus ThirdDieReplace equals32 node test release SOURCE_CONFIRMED
40 QA-039 P0 blessing reveal card use boost replacement differs and only Accept remains node test release VALIDATION_ADDED
41 QA-040 P0 blessing pool edge only same eligible use boost original accepted and transaction commits without loop node test release VALIDATION_ADDED
42 QA-041 P0 blessing levels0..40 lookup star cost index clamps to29 and sequence matches source node test release SOURCE_CONFIRMED
43 QA-042 P0 shop load offers count and group 97 total with source distribution plus one augment node test release VALIDATION_ADDED
44 QA-043 P0 shop open merchant inspect slots 3 fixed and 3 unique random eligible offers integration release VALIDATION_ADDED
45 QA-044 P0 shop reroll count0..5 inspect quote cost equals3+2*n node test release SOURCE_CONFIRMED
46 QA-045 P0 shop insufficient points attempt purchase no negative balance no RNG consumption no offer mutation node test release VALIDATION_ADDED
47 QA-046 P0 shop purchase limit reached reroll and reopen offer remains ineligible node test release SOURCE_CONFIRMED
48 QA-047 P0 shop purchase tile and cancel install reopen pending install preserved and no refund or loss integration release VALIDATION_ADDED
49 QA-048 P0 event EV-140 forced perform base digs 5x5 board and exactly5 actions before boost integration release VALIDATION_ADDED
50 QA-049 P0 event EV-151 forced inspect cabinet 20 capsules and1 base attempt integration release SOURCE_CONFIRMED
51 QA-050 P0 event EV-166 forced inspect all seeds one of6 source maps and3 base shots integration release SOURCE_CONFIRMED
52 QA-051 P0 event each tile137 138 139 140 141 142 143 144 151 152 164 166 force via debug input presentation settlement save and exit all pass manual debug checklist release SOURCE_CONFIRMED
53 QA-052 P2 legacy boost load old transaction fixture restore no UI control rendered and no new transaction created node migration archive DEFERRED_NOT_EXPOSED
54 QA-053 P2 legacy boost old PENDING fixture restore compatibility recovery does not expose button node migration archive DEFERRED_NOT_EXPOSED
55 QA-054 P2 legacy boost old COMMITTED fixture restore render does not apply balance or reward delta again node migration archive DEFERRED_NOT_EXPOSED
56 QA-055 P2 legacy boost normal event instance inspect controls no boost transaction can be initiated from UI node test archive DEFERRED_NOT_EXPOSED
57 QA-056 P0 revive lethal with source Revive available resolve source blessing resolves once before failure decision node test release SOURCE_CONFIRMED
58 QA-057 P0 revive lethal with no source Revive resolve full DEFEAT animation then direct failed state with no ad controls node integration release VALIDATION_ADDED
59 QA-058 P0 revive source Revive resolves but hp remains zero resolve run fails with no ad or second revive choice node test release VALIDATION_ADDED
60 QA-059 P0 revive transition to next floor then lethal without blessing resolve run fails directly and no floor-based ad eligibility exists node test release VALIDATION_ADDED
61 QA-060 P0 checkpoint each modal battle purchase equip blessing event boundary refresh before and after commit no half settlement duplicate RNG or duplicate reward node integration release VALIDATION_ADDED
62 QA-061 P0 checkpoint corrupt main checksum load backup slot loads and committed transaction set preserved node test release VALIDATION_ADDED
63 QA-062 P0 checkpoint corrupt both slots load user sees corrupt save prompt and can start clean run node integration release VALIDATION_ADDED
64 QA-063 P0 checkpoint same seed DDA and command transcript replay board loot combat shop and checkpoints byte-identical node replay release VALIDATION_ADDED
65 QA-064 P0 UI 750x1334 and808x1440 visit all screens no crop overlap or inaccessible control visual regression release VALIDATION_ADDED
66 QA-065 P1 UI first-time flags clear trigger five guides each appears once points at correct control and never stacks integration release VALIDATION_ADDED
67 QA-066 P0 UI normal build inspect board and combat no auto-roll combat speed debug or real ad playback screen static and manual release VALIDATION_ADDED
68 QA-067 P0 art all sprite nodes at rest capture transform world pixel coordinates and scales are integers node test release VALIDATION_ADDED
69 QA-068 P0 VFX all boss and curved/rush attacks compare tell and hit mask mismatch<=4 logical pixels integration capture release VALIDATION_ADDED
70 QA-069 P1 VFX stress battle and boss death profile particles live particles stay within animation-vfx budgets profiler release VALIDATION_ADDED
71 QA-070 P0 audio production build scan loaded banks and clips no background music and all looping SFX stop on exit static and integration release VALIDATION_ADDED
72 QA-071 P0 debug force all commands inspect logs commands use Domain API and every record has debug=true integration release VALIDATION_ADDED
73 QA-072 P0 logs normal 10-floor run export JSON only technical allowlist fields and no user profile or cross-run stats static schema test release VALIDATION_ADDED
74 QA-073 P0 onsite 10 live runs cover attack attackSpeedCrit survival zeroRevive oneRevive lead signs overall gameplay and roughly10-12min onsite signoff release VALIDATION_ADDED
75 QA-074 P0 boss cycle DiceGauge debug stage and six completed ROLL actions observe runtimeGauge counter and board first2 reach gauge100 and enter countdown4; next4 reach0 then exactly4 unique nonblessing tiles convert and runtimeGauge clears node integration and visual regression release RUNTIME_OBSERVED
76 QA-075 P0 potion 150 maxHP 1 currentHP and heal level80 use one potion currentHP becomes81 and charge decreases once; healing caps at maxHP node test release SOURCE_CONFIRMED
77 QA-076 P0 board ROLL any legal 2D6 result from Start compare visible sum animation steps and final tile index visible total equals exact number of clockwise one-tile moves and final index equals sum browser visual regression release RUNTIME_OBSERVED
78 QA-077 P0 board render battle merchant mini-boss infected-boss and all installable event tiles inspect labels image URLs and load status 1-4 skull battle tiles and both boss tiles use distinct original assets and every event remains identifiable browser integration release SOURCE_CONFIRMED
79 QA-078 P0 ads open every normal screen event and lethal flow scan controls and DOM zero ad boost reroll extra-attempt extra-shot or ad-revive buttons; lethal flow reaches DEFEAT browser integration release VALIDATION_ADDED
80 QA-079 P0 balance new run with initial stats and no potion ads or debug buff resolve first three normal battle groups player survives and defeats all three groups node test release VALIDATION_ADDED
81 QA-080 P0 tile lifecycle resolve battle mini-boss and event then advance a floor inspect source cells each resolved source becomes EMPTY wasteland and stays wasteland unless a legal new tile covers it node integration release VALIDATION_ADDED
82 QA-081 P0 infected boss leave infected boss alive and cross Start three times inspect all existing normal battle cells each crossing adds one enemy per normal battle capped at4 and source stops after three pollution triggers node integration release VALIDATION_ADDED
83 QA-082 P0 boss rule stage0 Default run from initialization through floor10 inspect state HUD and checkpoints no runtimeBossGauge or BossDiceCounter pressure state is created; boss_0 begins only after the tenth floor node integration and visual regression release SOURCE_CONFIRMED
@@ -0,0 +1,10 @@
placement_id,event_id,button_label,reward,scope_limit,eligibility,transaction_key,idempotency_rule,failure_rule,source_tag
BOOST_DIG_EXTRA,EV-140,立即增加5次,add 5 dig actions,once per event instance,event phase READY and boostUsed false,eventInstanceId+placementId,"COMMITTED returns prior result without applying again",no state change and no usage consumed,DEFERRED_NOT_EXPOSED
BOOST_CHEST_REROLL,EV-141,重抽1件装备,discard current unaccepted gear and generate one non-identical catalog-quality-status tuple,once per event instance,gear offer exists and boostUsed false,eventInstanceId+placementId,"COMMITTED restores rerolled gear instance",no state change and no usage consumed,DEFERRED_NOT_EXPOSED
BOOST_MERCHANT_POINTS,EV-MERCHANT,立即获得20点,add 20 points,once per merchant instance,shop open and boostUsed false,eventInstanceId+placementId,"COMMITTED restores balance delta once",no state change and no usage consumed,DEFERRED_NOT_EXPOSED
BOOST_CAMPFIRE_HEAL_TILE,EV-138,额外恢复10%并生成1个有益地块,heal 10 percent max hp then enqueue one core good tile install,once per event instance,recovery event unresolved and boostUsed false,eventInstanceId+placementId,"COMMITTED restores hp and exact installed tile once",if no legal tile enqueue next-floor install,DEFERRED_NOT_EXPOSED
BOOST_SMITHY_RATE,EV-137,提升本次强化概率,set current attempt rates to 100|80|50|30,once per event instance,gear selected before random resolution and boostUsed false,eventInstanceId+placementId,"COMMITTED restores boosted rate flag; random result uses stored roll",after forge resolved placement becomes ineligible,DEFERRED_NOT_EXPOSED
BOOST_BLESSING_REROLL,EV-144,强制换成新祝福,replace current card with non-identical card and force accept,once per event instance,original card revealed and boostUsed false,eventInstanceId+placementId,"COMMITTED restores replacement card and cannot redraw",if pool has only same card grant original and mark committed,DEFERRED_NOT_EXPOSED
BOOST_CLAW_ATTEMPT,EV-151,增加1次抓取,add 1 claw attempt,once per event instance,claw round not ended and boostUsed false,eventInstanceId+placementId,"COMMITTED restores attempt count once",no state change and no usage consumed,DEFERRED_NOT_EXPOSED
BOOST_BUBBLE_SHOT,EV-166,增加1发,add 1 bubble projectile,once per event instance,bubble round not ended and boostUsed false,eventInstanceId+placementId,"COMMITTED restores projectile count once",no state change and no usage consumed,DEFERRED_NOT_EXPOSED
BOOST_REVIVE,BATTLE,恢复50%最大生命并继续,ceil maxHp times 0.50 and resume exact BattleSnapshot,once per floor,source Revive blessing resolved and player still dead and reviveUsedThisFloor false,runId+floor+placementId,"COMMITTED restores exact post-revive snapshot without healing twice",second death same floor fails run,DEFERRED_NOT_EXPOSED
1 placement_id event_id button_label reward scope_limit eligibility transaction_key idempotency_rule failure_rule source_tag
2 BOOST_DIG_EXTRA EV-140 立即增加5次 add 5 dig actions once per event instance event phase READY and boostUsed false eventInstanceId+placementId COMMITTED returns prior result without applying again no state change and no usage consumed DEFERRED_NOT_EXPOSED
3 BOOST_CHEST_REROLL EV-141 重抽1件装备 discard current unaccepted gear and generate one non-identical catalog-quality-status tuple once per event instance gear offer exists and boostUsed false eventInstanceId+placementId COMMITTED restores rerolled gear instance no state change and no usage consumed DEFERRED_NOT_EXPOSED
4 BOOST_MERCHANT_POINTS EV-MERCHANT 立即获得20点 add 20 points once per merchant instance shop open and boostUsed false eventInstanceId+placementId COMMITTED restores balance delta once no state change and no usage consumed DEFERRED_NOT_EXPOSED
5 BOOST_CAMPFIRE_HEAL_TILE EV-138 额外恢复10%并生成1个有益地块 heal 10 percent max hp then enqueue one core good tile install once per event instance recovery event unresolved and boostUsed false eventInstanceId+placementId COMMITTED restores hp and exact installed tile once if no legal tile enqueue next-floor install DEFERRED_NOT_EXPOSED
6 BOOST_SMITHY_RATE EV-137 提升本次强化概率 set current attempt rates to 100|80|50|30 once per event instance gear selected before random resolution and boostUsed false eventInstanceId+placementId COMMITTED restores boosted rate flag; random result uses stored roll after forge resolved placement becomes ineligible DEFERRED_NOT_EXPOSED
7 BOOST_BLESSING_REROLL EV-144 强制换成新祝福 replace current card with non-identical card and force accept once per event instance original card revealed and boostUsed false eventInstanceId+placementId COMMITTED restores replacement card and cannot redraw if pool has only same card grant original and mark committed DEFERRED_NOT_EXPOSED
8 BOOST_CLAW_ATTEMPT EV-151 增加1次抓取 add 1 claw attempt once per event instance claw round not ended and boostUsed false eventInstanceId+placementId COMMITTED restores attempt count once no state change and no usage consumed DEFERRED_NOT_EXPOSED
9 BOOST_BUBBLE_SHOT EV-166 增加1发 add 1 bubble projectile once per event instance bubble round not ended and boostUsed false eventInstanceId+placementId COMMITTED restores projectile count once no state change and no usage consumed DEFERRED_NOT_EXPOSED
10 BOOST_REVIVE BATTLE 恢复50%最大生命并继续 ceil maxHp times 0.50 and resume exact BattleSnapshot once per floor source Revive blessing resolved and player still dead and reviveUsedThisFloor false runId+floor+placementId COMMITTED restores exact post-revive snapshot without healing twice second death same floor fails run DEFERRED_NOT_EXPOSED
@@ -0,0 +1,98 @@
offer_id,string_id,item_type,item_id,fixed_key,fixed_sort,fixed_slot,price,buy_count,is_sub_text,source_tag
100,TILE_137,TILE,137,,,-1,6,1,false,SOURCE_CONFIRMED
101,TILE_138,TILE,138,,,-1,9,1,false,SOURCE_CONFIRMED
102,TILE_139,TILE,139,,,-1,7,1,false,SOURCE_CONFIRMED
103,TILE_140,TILE,140,,,-1,4,1,false,SOURCE_CONFIRMED
104,TILE_141,TILE,141,,,-1,5,1,false,SOURCE_CONFIRMED
105,TILE_142,TILE,142,,,-1,5,1,false,SOURCE_CONFIRMED
106,TILE_143,TILE,143,,,-1,4,1,false,SOURCE_CONFIRMED
107,TILE_144,TILE,144,,,-1,7,1,false,SOURCE_CONFIRMED
108,TILE_151,TILE,151,,,-1,7,1,false,SOURCE_CONFIRMED
109,TILE_152,TILE,152,,,-1,7,1,false,SOURCE_CONFIRMED
110,TILE_164,TILE,164,,,-1,5,1,false,SOURCE_CONFIRMED
111,TILE_166,TILE,166,,,-1,8,1,false,SOURCE_CONFIRMED
112,AUGMENT_100,AUGMENT,100,,,-1,17,1,false,SOURCE_CONFIRMED
113,AUGMENT_102,AUGMENT,102,,,-1,14,1,false,SOURCE_CONFIRMED
114,AUGMENT_103,AUGMENT,103,,,-1,10,1,false,SOURCE_CONFIRMED
115,AUGMENT_106,AUGMENT,106,,,-1,27,1,false,SOURCE_CONFIRMED
116,AUGMENT_108,AUGMENT,108,,,-1,12,1,false,SOURCE_CONFIRMED
117,AUGMENT_109,AUGMENT,109,,,-1,15,1,false,SOURCE_CONFIRMED
118,AUGMENT_110,AUGMENT,110,,,-1,15,1,false,SOURCE_CONFIRMED
119,AUGMENT_111,AUGMENT,111,,,-1,23,1,false,SOURCE_CONFIRMED
120,AUGMENT_112,AUGMENT,112,,,-1,16,1,false,SOURCE_CONFIRMED
121,AUGMENT_113,AUGMENT,113,,,-1,14,1,false,SOURCE_CONFIRMED
122,AUGMENT_114,AUGMENT,114,,,-1,15,1,false,SOURCE_CONFIRMED
123,AUGMENT_115,AUGMENT,115,,,-1,14,1,false,SOURCE_CONFIRMED
124,AUGMENT_116,AUGMENT,116,,,-1,20,1,false,SOURCE_CONFIRMED
125,AUGMENT_117,AUGMENT,117,,,-1,17,1,false,SOURCE_CONFIRMED
126,AUGMENT_118,AUGMENT,118,,,-1,16,1,false,SOURCE_CONFIRMED
127,AUGMENT_121,AUGMENT,121,,,-1,10,1,false,SOURCE_CONFIRMED
128,AUGMENT_122,AUGMENT,122,,,-1,13,1,false,SOURCE_CONFIRMED
129,AUGMENT_124,AUGMENT,124,,,-1,19,1,false,SOURCE_CONFIRMED
130,AUGMENT_125,AUGMENT,125,,,-1,18,1,false,SOURCE_CONFIRMED
131,AUGMENT_126,AUGMENT,126,,,-1,16,1,false,SOURCE_CONFIRMED
132,AUGMENT_132,AUGMENT,132,,,-1,17,1,false,SOURCE_CONFIRMED
133,AUGMENT_147,AUGMENT,147,,,-1,15,1,false,SOURCE_CONFIRMED
134,AUGMENT_148,AUGMENT,148,,,-1,10,1,false,SOURCE_CONFIRMED
135,AUGMENT_149,AUGMENT,149,,,-1,17,1,false,SOURCE_CONFIRMED
136,AUGMENT_150,AUGMENT,150,,,-1,19,1,false,SOURCE_CONFIRMED
137,AUGMENT_151,AUGMENT,151,,,-1,8,1,false,SOURCE_CONFIRMED
138,AUGMENT_152,AUGMENT,152,,,-1,11,1,false,SOURCE_CONFIRMED
139,AUGMENT_153,AUGMENT,153,,,-1,15,1,false,SOURCE_CONFIRMED
140,AUGMENT_154,AUGMENT,154,,,-1,24,1,false,SOURCE_CONFIRMED
141,AUGMENT_156,AUGMENT,156,,,-1,16,1,false,SOURCE_CONFIRMED
142,AUGMENT_157,AUGMENT,157,,,-1,18,1,false,SOURCE_CONFIRMED
143,POTION_100,POTION,100,,,-1,16,1,false,SOURCE_CONFIRMED
144,POTION_101,POTION,101,,,-1,15,1,false,SOURCE_CONFIRMED
145,POTION_103,POTION,103,,,-1,15,1,false,SOURCE_CONFIRMED
146,POTION_104,POTION,104,,,-1,13,1,false,SOURCE_CONFIRMED
147,POTION_105,POTION,105,,,-1,14,1,false,SOURCE_CONFIRMED
148,POTION_106,POTION,106,,,-1,16,1,false,SOURCE_CONFIRMED
149,POTION_107,POTION,107,,,-1,20,1,false,SOURCE_CONFIRMED
150,POTION_108,POTION,108,,,-1,19,1,false,SOURCE_CONFIRMED
151,POTION_109,POTION,109,,,-1,13,1,false,SOURCE_CONFIRMED
152,STAT_100,STAT,100,,,-1,3,10,false,SOURCE_CONFIRMED
153,STAT_101,STAT,101,,,-1,3,10,false,SOURCE_CONFIRMED
154,STAT_102,STAT,102,,,-1,5,5,false,SOURCE_CONFIRMED
155,STAT_103,STAT,103,,,-1,3,10,false,SOURCE_CONFIRMED
156,STAT_104,STAT,104,,,-1,5,5,false,SOURCE_CONFIRMED
157,STAT_105,STAT,105,,,-1,8,3,false,SOURCE_CONFIRMED
158,STAT_106,STAT,106,,,-1,9,3,false,SOURCE_CONFIRMED
159,STAT_107,STAT,107,,,-1,8,3,false,SOURCE_CONFIRMED
160,STAT_108,STAT,108,,,-1,7,3,false,SOURCE_CONFIRMED
161,STAT_109,STAT,109,,,-1,5,5,false,SOURCE_CONFIRMED
162,STAT_110,STAT,110,,,-1,8,3,false,SOURCE_CONFIRMED
163,STAT_111,STAT,111,,,-1,7,3,false,SOURCE_CONFIRMED
164,STAT_112,STAT,112,,,-1,8,3,false,SOURCE_CONFIRMED
165,FIXED_potionCount_0,FIXED,,potionCount,0,1,10,1,true,SOURCE_CONFIRMED
166,FIXED_potionCount_1,FIXED,,potionCount,1,1,15,1,true,SOURCE_CONFIRMED
167,FIXED_potionCount_2,FIXED,,potionCount,2,1,21,1,true,SOURCE_CONFIRMED
168,FIXED_potionCount_3,FIXED,,potionCount,3,1,28,1,true,SOURCE_CONFIRMED
169,FIXED_potionCount_4,FIXED,,potionCount,4,1,36,1,true,SOURCE_CONFIRMED
170,FIXED_potionCount_5,FIXED,,potionCount,5,1,45,1,true,SOURCE_CONFIRMED
171,FIXED_potionCount_6,FIXED,,potionCount,6,1,55,1,true,SOURCE_CONFIRMED
172,FIXED_potionCount_7,FIXED,,potionCount,7,1,66,1,true,SOURCE_CONFIRMED
173,FIXED_potionCount_8,FIXED,,potionCount,8,1,78,1,true,SOURCE_CONFIRMED
174,FIXED_potionHeal_0,FIXED,,potionHeal,0,2,7,1,true,SOURCE_CONFIRMED
175,FIXED_potionHeal_1,FIXED,,potionHeal,1,2,11,1,true,SOURCE_CONFIRMED
176,FIXED_potionHeal_2,FIXED,,potionHeal,2,2,15,1,true,SOURCE_CONFIRMED
177,FIXED_potionHeal_3,FIXED,,potionHeal,3,2,20,1,true,SOURCE_CONFIRMED
178,FIXED_potionHeal_4,FIXED,,potionHeal,4,2,25,1,true,SOURCE_CONFIRMED
179,FIXED_potionHeal_5,FIXED,,potionHeal,5,2,30,1,true,SOURCE_CONFIRMED
180,FIXED_potionHeal_6,FIXED,,potionHeal,6,2,35,1,true,SOURCE_CONFIRMED
181,FIXED_potionHeal_7,FIXED,,potionHeal,7,2,40,1,true,SOURCE_CONFIRMED
182,FIXED_potionHeal_8,FIXED,,potionHeal,8,2,45,1,true,SOURCE_CONFIRMED
183,FIXED_potionHeal_9,FIXED,,potionHeal,9,2,50,1,true,SOURCE_CONFIRMED
184,FIXED_potionHeal_10,FIXED,,potionHeal,10,2,55,1,true,SOURCE_CONFIRMED
185,FIXED_potionHeal_11,FIXED,,potionHeal,11,2,60,1,true,SOURCE_CONFIRMED
186,FIXED_potionHeal_12,FIXED,,potionHeal,12,2,65,1,true,SOURCE_CONFIRMED
187,FIXED_potionHeal_13,FIXED,,potionHeal,13,2,70,1,true,SOURCE_CONFIRMED
188,FIXED_potionHeal_14,FIXED,,potionHeal,14,2,75,1,true,SOURCE_CONFIRMED
189,FIXED_potionHeal_15,FIXED,,potionHeal,15,2,80,1,true,SOURCE_CONFIRMED
190,FIXED_potionHeal_16,FIXED,,potionHeal,16,2,85,1,true,SOURCE_CONFIRMED
191,FIXED_potionHeal_17,FIXED,,potionHeal,17,2,90,1,true,SOURCE_CONFIRMED
192,FIXED_potionHeal_18,FIXED,,potionHeal,18,2,95,1,true,SOURCE_CONFIRMED
193,FIXED_potionHeal_19,FIXED,,potionHeal,19,2,100,1,true,SOURCE_CONFIRMED
194,FIXED_potionAdd_0,FIXED,,potionAdd,0,0,5,-1,true,SOURCE_CONFIRMED
195,Lotto,LOTTO,,,,-1,5,1,false,SOURCE_CONFIRMED
196,AUGMENT_THIRD_DIE,AUGMENT,ThirdDieReplace,,,-1,27,1,false,VALIDATION_ADDED
1 offer_id string_id item_type item_id fixed_key fixed_sort fixed_slot price buy_count is_sub_text source_tag
2 100 TILE_137 TILE 137 -1 6 1 false SOURCE_CONFIRMED
3 101 TILE_138 TILE 138 -1 9 1 false SOURCE_CONFIRMED
4 102 TILE_139 TILE 139 -1 7 1 false SOURCE_CONFIRMED
5 103 TILE_140 TILE 140 -1 4 1 false SOURCE_CONFIRMED
6 104 TILE_141 TILE 141 -1 5 1 false SOURCE_CONFIRMED
7 105 TILE_142 TILE 142 -1 5 1 false SOURCE_CONFIRMED
8 106 TILE_143 TILE 143 -1 4 1 false SOURCE_CONFIRMED
9 107 TILE_144 TILE 144 -1 7 1 false SOURCE_CONFIRMED
10 108 TILE_151 TILE 151 -1 7 1 false SOURCE_CONFIRMED
11 109 TILE_152 TILE 152 -1 7 1 false SOURCE_CONFIRMED
12 110 TILE_164 TILE 164 -1 5 1 false SOURCE_CONFIRMED
13 111 TILE_166 TILE 166 -1 8 1 false SOURCE_CONFIRMED
14 112 AUGMENT_100 AUGMENT 100 -1 17 1 false SOURCE_CONFIRMED
15 113 AUGMENT_102 AUGMENT 102 -1 14 1 false SOURCE_CONFIRMED
16 114 AUGMENT_103 AUGMENT 103 -1 10 1 false SOURCE_CONFIRMED
17 115 AUGMENT_106 AUGMENT 106 -1 27 1 false SOURCE_CONFIRMED
18 116 AUGMENT_108 AUGMENT 108 -1 12 1 false SOURCE_CONFIRMED
19 117 AUGMENT_109 AUGMENT 109 -1 15 1 false SOURCE_CONFIRMED
20 118 AUGMENT_110 AUGMENT 110 -1 15 1 false SOURCE_CONFIRMED
21 119 AUGMENT_111 AUGMENT 111 -1 23 1 false SOURCE_CONFIRMED
22 120 AUGMENT_112 AUGMENT 112 -1 16 1 false SOURCE_CONFIRMED
23 121 AUGMENT_113 AUGMENT 113 -1 14 1 false SOURCE_CONFIRMED
24 122 AUGMENT_114 AUGMENT 114 -1 15 1 false SOURCE_CONFIRMED
25 123 AUGMENT_115 AUGMENT 115 -1 14 1 false SOURCE_CONFIRMED
26 124 AUGMENT_116 AUGMENT 116 -1 20 1 false SOURCE_CONFIRMED
27 125 AUGMENT_117 AUGMENT 117 -1 17 1 false SOURCE_CONFIRMED
28 126 AUGMENT_118 AUGMENT 118 -1 16 1 false SOURCE_CONFIRMED
29 127 AUGMENT_121 AUGMENT 121 -1 10 1 false SOURCE_CONFIRMED
30 128 AUGMENT_122 AUGMENT 122 -1 13 1 false SOURCE_CONFIRMED
31 129 AUGMENT_124 AUGMENT 124 -1 19 1 false SOURCE_CONFIRMED
32 130 AUGMENT_125 AUGMENT 125 -1 18 1 false SOURCE_CONFIRMED
33 131 AUGMENT_126 AUGMENT 126 -1 16 1 false SOURCE_CONFIRMED
34 132 AUGMENT_132 AUGMENT 132 -1 17 1 false SOURCE_CONFIRMED
35 133 AUGMENT_147 AUGMENT 147 -1 15 1 false SOURCE_CONFIRMED
36 134 AUGMENT_148 AUGMENT 148 -1 10 1 false SOURCE_CONFIRMED
37 135 AUGMENT_149 AUGMENT 149 -1 17 1 false SOURCE_CONFIRMED
38 136 AUGMENT_150 AUGMENT 150 -1 19 1 false SOURCE_CONFIRMED
39 137 AUGMENT_151 AUGMENT 151 -1 8 1 false SOURCE_CONFIRMED
40 138 AUGMENT_152 AUGMENT 152 -1 11 1 false SOURCE_CONFIRMED
41 139 AUGMENT_153 AUGMENT 153 -1 15 1 false SOURCE_CONFIRMED
42 140 AUGMENT_154 AUGMENT 154 -1 24 1 false SOURCE_CONFIRMED
43 141 AUGMENT_156 AUGMENT 156 -1 16 1 false SOURCE_CONFIRMED
44 142 AUGMENT_157 AUGMENT 157 -1 18 1 false SOURCE_CONFIRMED
45 143 POTION_100 POTION 100 -1 16 1 false SOURCE_CONFIRMED
46 144 POTION_101 POTION 101 -1 15 1 false SOURCE_CONFIRMED
47 145 POTION_103 POTION 103 -1 15 1 false SOURCE_CONFIRMED
48 146 POTION_104 POTION 104 -1 13 1 false SOURCE_CONFIRMED
49 147 POTION_105 POTION 105 -1 14 1 false SOURCE_CONFIRMED
50 148 POTION_106 POTION 106 -1 16 1 false SOURCE_CONFIRMED
51 149 POTION_107 POTION 107 -1 20 1 false SOURCE_CONFIRMED
52 150 POTION_108 POTION 108 -1 19 1 false SOURCE_CONFIRMED
53 151 POTION_109 POTION 109 -1 13 1 false SOURCE_CONFIRMED
54 152 STAT_100 STAT 100 -1 3 10 false SOURCE_CONFIRMED
55 153 STAT_101 STAT 101 -1 3 10 false SOURCE_CONFIRMED
56 154 STAT_102 STAT 102 -1 5 5 false SOURCE_CONFIRMED
57 155 STAT_103 STAT 103 -1 3 10 false SOURCE_CONFIRMED
58 156 STAT_104 STAT 104 -1 5 5 false SOURCE_CONFIRMED
59 157 STAT_105 STAT 105 -1 8 3 false SOURCE_CONFIRMED
60 158 STAT_106 STAT 106 -1 9 3 false SOURCE_CONFIRMED
61 159 STAT_107 STAT 107 -1 8 3 false SOURCE_CONFIRMED
62 160 STAT_108 STAT 108 -1 7 3 false SOURCE_CONFIRMED
63 161 STAT_109 STAT 109 -1 5 5 false SOURCE_CONFIRMED
64 162 STAT_110 STAT 110 -1 8 3 false SOURCE_CONFIRMED
65 163 STAT_111 STAT 111 -1 7 3 false SOURCE_CONFIRMED
66 164 STAT_112 STAT 112 -1 8 3 false SOURCE_CONFIRMED
67 165 FIXED_potionCount_0 FIXED potionCount 0 1 10 1 true SOURCE_CONFIRMED
68 166 FIXED_potionCount_1 FIXED potionCount 1 1 15 1 true SOURCE_CONFIRMED
69 167 FIXED_potionCount_2 FIXED potionCount 2 1 21 1 true SOURCE_CONFIRMED
70 168 FIXED_potionCount_3 FIXED potionCount 3 1 28 1 true SOURCE_CONFIRMED
71 169 FIXED_potionCount_4 FIXED potionCount 4 1 36 1 true SOURCE_CONFIRMED
72 170 FIXED_potionCount_5 FIXED potionCount 5 1 45 1 true SOURCE_CONFIRMED
73 171 FIXED_potionCount_6 FIXED potionCount 6 1 55 1 true SOURCE_CONFIRMED
74 172 FIXED_potionCount_7 FIXED potionCount 7 1 66 1 true SOURCE_CONFIRMED
75 173 FIXED_potionCount_8 FIXED potionCount 8 1 78 1 true SOURCE_CONFIRMED
76 174 FIXED_potionHeal_0 FIXED potionHeal 0 2 7 1 true SOURCE_CONFIRMED
77 175 FIXED_potionHeal_1 FIXED potionHeal 1 2 11 1 true SOURCE_CONFIRMED
78 176 FIXED_potionHeal_2 FIXED potionHeal 2 2 15 1 true SOURCE_CONFIRMED
79 177 FIXED_potionHeal_3 FIXED potionHeal 3 2 20 1 true SOURCE_CONFIRMED
80 178 FIXED_potionHeal_4 FIXED potionHeal 4 2 25 1 true SOURCE_CONFIRMED
81 179 FIXED_potionHeal_5 FIXED potionHeal 5 2 30 1 true SOURCE_CONFIRMED
82 180 FIXED_potionHeal_6 FIXED potionHeal 6 2 35 1 true SOURCE_CONFIRMED
83 181 FIXED_potionHeal_7 FIXED potionHeal 7 2 40 1 true SOURCE_CONFIRMED
84 182 FIXED_potionHeal_8 FIXED potionHeal 8 2 45 1 true SOURCE_CONFIRMED
85 183 FIXED_potionHeal_9 FIXED potionHeal 9 2 50 1 true SOURCE_CONFIRMED
86 184 FIXED_potionHeal_10 FIXED potionHeal 10 2 55 1 true SOURCE_CONFIRMED
87 185 FIXED_potionHeal_11 FIXED potionHeal 11 2 60 1 true SOURCE_CONFIRMED
88 186 FIXED_potionHeal_12 FIXED potionHeal 12 2 65 1 true SOURCE_CONFIRMED
89 187 FIXED_potionHeal_13 FIXED potionHeal 13 2 70 1 true SOURCE_CONFIRMED
90 188 FIXED_potionHeal_14 FIXED potionHeal 14 2 75 1 true SOURCE_CONFIRMED
91 189 FIXED_potionHeal_15 FIXED potionHeal 15 2 80 1 true SOURCE_CONFIRMED
92 190 FIXED_potionHeal_16 FIXED potionHeal 16 2 85 1 true SOURCE_CONFIRMED
93 191 FIXED_potionHeal_17 FIXED potionHeal 17 2 90 1 true SOURCE_CONFIRMED
94 192 FIXED_potionHeal_18 FIXED potionHeal 18 2 95 1 true SOURCE_CONFIRMED
95 193 FIXED_potionHeal_19 FIXED potionHeal 19 2 100 1 true SOURCE_CONFIRMED
96 194 FIXED_potionAdd_0 FIXED potionAdd 0 0 5 -1 true SOURCE_CONFIRMED
97 195 Lotto LOTTO -1 5 1 false SOURCE_CONFIRMED
98 196 AUGMENT_THIRD_DIE AUGMENT ThirdDieReplace -1 27 1 false VALIDATION_ADDED
@@ -0,0 +1,27 @@
screen_id,screen_name,entry,primary_controls,required_states,exit,checkpoint_boundary,acceptance,source_tag
UI-001,本地开始页,app boot,"开始新局|继续|清除本局|设置","noSave|hasSave|corruptSave","进入棋盘|设置",before new run,无账号 体力 商店 抽卡或联网入口,VALIDATION_ADDED
UI-002,棋盘HUD,FloorSetup,"40个实际地块|点数|层数|条件式Boss压力|HP|四装备槽|Roll|丹药|暂停","awaitRoll|moving|bossCountdown|bossActing|inputLocked|tileResolving",tile event or pause,after prior atomic resolution,1点严格移动1个实际地块;stage0不显示Boss压力;DiceGauge调试关显示0/2或4..0且演出不可跳过,RUNTIME_OBSERVED
UI-003,骰子结果,DiceResolve,"dieA|dieB|点数和","rolling|settled",Moving,roll result committed,结果静止可读至少250ms且无重掷入口,RUNTIME_OBSERVED
UI-004,第三骰选择,ThirdDieChoice,"A|B|C|替换A|替换B|放弃","choiceReady|committing",Moving,choice committed,三种选择明确且放弃不回滚RNG,VALIDATION_ADDED
UI-005,自动战斗HUD,Battle Fight,"玩家/敌人血条|1-4敌人数|小Boss标识|状态|伤害数字|药水","prepare|spawn|fight|paused|victory|death",PostBattle or revive,battle result committed,1-4骷髅严格生成1-4只怪物;小Boss入口可辨;普通入口无加速按钮且唯一主动输入为药水,RUNTIME_OBSERVED
UI-006,装备掉落比较,RewardChoice,"新旧装备|属性差|装备|分解|关闭","slotEmpty|upgrade|downgrade|batch",Checkpoint,reward choice committed,关闭自动分解全部未处理装备,RUNTIME_OBSERVED
UI-007,商店,Merchant event,"3固定槽|3随机槽|余额|刷新|退出","available|soldOut|insufficient|rerolled",Board,each purchase or reroll,恰好6槽且无广告赠点按钮;商品均使用局内点数,SOURCE_CONFIRMED
UI-008,地块安装,purchased TILE,"棋盘合法格|确认|取消","selecting|invalid|pending",Shop or Board,install committed,只能选择合法普通格且取消保留待安装商品,VALIDATION_ADDED
UI-009,宝箱,EV-141,"宝箱|装备卡|装备|分解|退出","closed|opened|resolved",Board,event committed,无广告重抽按钮;装备结果只提交一次,RUNTIME_OBSERVED
UI-010,营火,EV-138,"恢复预览|领取","ready|resolved",Board,event committed,只显示基础治疗且不溢出最大生命,VALIDATION_ADDED
UI-011,铁匠铺,EV-137,"装备|成功率|直接领取|挑战","noGear|ready|success|destroyed",Board,forge result committed,失败销毁和分解点数同屏可见且无概率增强按钮,RUNTIME_OBSERVED
UI-012,祝福点,EV-144,"单卡|接受","revealed|accepted",Board,blessing committed,无广告换卡或重抽按钮,SOURCE_CONFIRMED
UI-013,挖掘,EV-140,"5x5格|剩余次数|形状预览|退出","ready|digging|complete",Board,dig result committed,基础5次;每次按完整形状原子揭示并发奖,VALIDATION_ADDED
UI-014,传奇装备,EV-139,"传奇装备卡|装备|分解","revealed|resolved",Board,reward committed,品质固定传奇且走标准装备比较,VALIDATION_ADDED
UI-015,彩票,EV-142,"费用5|抽取|结果|退出","insufficient|ready|rolling|resolved",Board,event committed,概率结果由eventRng确定且刷新不重抽,VALIDATION_ADDED
UI-016,21点,EV-143,"下注3|手牌|庄家牌|要牌|停牌|结果","insufficient|playerTurn|dealerTurn|win|lose|push",Board,event committed,Ace固定1避免额外规则且庄家17停牌,VALIDATION_ADDED
UI-017,抓娃娃,EV-151,"20胶囊|摇杆/抓取|次数|结果","ready|aiming|grabbing|complete",Board,event committed,基础次数且无广告补次数;胶囊碰撞和奖励在确定逻辑tick结算,SOURCE_CONFIRMED
UI-018,黄金马车,EV-152,"4辆遮盖车|选择|奖励","ready|revealed|resolved",Board,event committed,只能选一次且HP阈值快照在进入时锁定,VALIDATION_ADDED
UI-019,骰子机,EV-164,"三骰|启动|匹配表|奖励","ready|rolling|matched|none",Board,event committed,显示原始三骰并按源码匹配表发奖,SOURCE_CONFIRMED
UI-020,泡泡龙,EV-166,"棋盘|瞄准线|剩余发数|计时|奖励","ready|aiming|flying|complete",Board,event committed,基础3发且无广告补发;碰撞不依赖渲染帧,SOURCE_CONFIRMED
UI-021,源码祝福复活,lethal damage with Revive,"祝福图标|恢复结果","resolving|success|stillDead",Battle,revive blessing result committed,只结算一次;失败则直接进入DEFEAT,SOURCE_CONFIRMED
UI-022,广告复活(不暴露),disabled,none,notExposed,Fail,none,普通UI与调试台均不可达;无恢复和放弃广告按钮,DEFERRED_NOT_EXPOSED
UI-023,Boss胜利,boss PostBattle,"胜利|构筑摘要|结束本局","enter|summary|confirmed",Start,result acknowledged,不含倍增广告 付费或剧情,VALIDATION_ADDED
UI-024,失败结算,no revive,"失败|层数|构筑摘要|结束本局","enter|summary|confirmed",Start,result acknowledged,无促销弹窗且不可在失败页增强,VALIDATION_ADDED
UI-025,暂停,board or battle,"继续|设置|退出本局","boardPause|battlePause|confirmExit",prior screen or Start,no new checkpoint,暂停冻结逻辑时钟且退出需二次确认,VALIDATION_ADDED
UI-026,隐藏调试台,7 taps or CtrlShiftD,"seed|floor|DDA|强制事件/掉落/死亡|4x|恢复|导出","closed|open|commandResult|error",prior screen,debug command committed,调试命令走Domain API并标记debug true,VALIDATION_ADDED
1 screen_id screen_name entry primary_controls required_states exit checkpoint_boundary acceptance source_tag
2 UI-001 本地开始页 app boot 开始新局|继续|清除本局|设置 noSave|hasSave|corruptSave 进入棋盘|设置 before new run 无账号 体力 商店 抽卡或联网入口 VALIDATION_ADDED
3 UI-002 棋盘HUD FloorSetup 40个实际地块|点数|层数|条件式Boss压力|HP|四装备槽|Roll|丹药|暂停 awaitRoll|moving|bossCountdown|bossActing|inputLocked|tileResolving tile event or pause after prior atomic resolution 1点严格移动1个实际地块;stage0不显示Boss压力;DiceGauge调试关显示0/2或4..0且演出不可跳过 RUNTIME_OBSERVED
4 UI-003 骰子结果 DiceResolve dieA|dieB|点数和 rolling|settled Moving roll result committed 结果静止可读至少250ms且无重掷入口 RUNTIME_OBSERVED
5 UI-004 第三骰选择 ThirdDieChoice A|B|C|替换A|替换B|放弃 choiceReady|committing Moving choice committed 三种选择明确且放弃不回滚RNG VALIDATION_ADDED
6 UI-005 自动战斗HUD Battle Fight 玩家/敌人血条|1-4敌人数|小Boss标识|状态|伤害数字|药水 prepare|spawn|fight|paused|victory|death PostBattle or revive battle result committed 1-4骷髅严格生成1-4只怪物;小Boss入口可辨;普通入口无加速按钮且唯一主动输入为药水 RUNTIME_OBSERVED
7 UI-006 装备掉落比较 RewardChoice 新旧装备|属性差|装备|分解|关闭 slotEmpty|upgrade|downgrade|batch Checkpoint reward choice committed 关闭自动分解全部未处理装备 RUNTIME_OBSERVED
8 UI-007 商店 Merchant event 3固定槽|3随机槽|余额|刷新|退出 available|soldOut|insufficient|rerolled Board each purchase or reroll 恰好6槽且无广告赠点按钮;商品均使用局内点数 SOURCE_CONFIRMED
9 UI-008 地块安装 purchased TILE 棋盘合法格|确认|取消 selecting|invalid|pending Shop or Board install committed 只能选择合法普通格且取消保留待安装商品 VALIDATION_ADDED
10 UI-009 宝箱 EV-141 宝箱|装备卡|装备|分解|退出 closed|opened|resolved Board event committed 无广告重抽按钮;装备结果只提交一次 RUNTIME_OBSERVED
11 UI-010 营火 EV-138 恢复预览|领取 ready|resolved Board event committed 只显示基础治疗且不溢出最大生命 VALIDATION_ADDED
12 UI-011 铁匠铺 EV-137 装备|成功率|直接领取|挑战 noGear|ready|success|destroyed Board forge result committed 失败销毁和分解点数同屏可见且无概率增强按钮 RUNTIME_OBSERVED
13 UI-012 祝福点 EV-144 单卡|接受 revealed|accepted Board blessing committed 无广告换卡或重抽按钮 SOURCE_CONFIRMED
14 UI-013 挖掘 EV-140 5x5格|剩余次数|形状预览|退出 ready|digging|complete Board dig result committed 基础5次;每次按完整形状原子揭示并发奖 VALIDATION_ADDED
15 UI-014 传奇装备 EV-139 传奇装备卡|装备|分解 revealed|resolved Board reward committed 品质固定传奇且走标准装备比较 VALIDATION_ADDED
16 UI-015 彩票 EV-142 费用5|抽取|结果|退出 insufficient|ready|rolling|resolved Board event committed 概率结果由eventRng确定且刷新不重抽 VALIDATION_ADDED
17 UI-016 21点 EV-143 下注3|手牌|庄家牌|要牌|停牌|结果 insufficient|playerTurn|dealerTurn|win|lose|push Board event committed Ace固定1避免额外规则且庄家17停牌 VALIDATION_ADDED
18 UI-017 抓娃娃 EV-151 20胶囊|摇杆/抓取|次数|结果 ready|aiming|grabbing|complete Board event committed 基础次数且无广告补次数;胶囊碰撞和奖励在确定逻辑tick结算 SOURCE_CONFIRMED
19 UI-018 黄金马车 EV-152 4辆遮盖车|选择|奖励 ready|revealed|resolved Board event committed 只能选一次且HP阈值快照在进入时锁定 VALIDATION_ADDED
20 UI-019 骰子机 EV-164 三骰|启动|匹配表|奖励 ready|rolling|matched|none Board event committed 显示原始三骰并按源码匹配表发奖 SOURCE_CONFIRMED
21 UI-020 泡泡龙 EV-166 棋盘|瞄准线|剩余发数|计时|奖励 ready|aiming|flying|complete Board event committed 基础3发且无广告补发;碰撞不依赖渲染帧 SOURCE_CONFIRMED
22 UI-021 源码祝福复活 lethal damage with Revive 祝福图标|恢复结果 resolving|success|stillDead Battle revive blessing result committed 只结算一次;失败则直接进入DEFEAT SOURCE_CONFIRMED
23 UI-022 广告复活(不暴露) disabled none notExposed Fail none 普通UI与调试台均不可达;无恢复和放弃广告按钮 DEFERRED_NOT_EXPOSED
24 UI-023 Boss胜利 boss PostBattle 胜利|构筑摘要|结束本局 enter|summary|confirmed Start result acknowledged 不含倍增广告 付费或剧情 VALIDATION_ADDED
25 UI-024 失败结算 no revive 失败|层数|构筑摘要|结束本局 enter|summary|confirmed Start result acknowledged 无促销弹窗且不可在失败页增强 VALIDATION_ADDED
26 UI-025 暂停 board or battle 继续|设置|退出本局 boardPause|battlePause|confirmExit prior screen or Start no new checkpoint 暂停冻结逻辑时钟且退出需二次确认 VALIDATION_ADDED
27 UI-026 隐藏调试台 7 taps or CtrlShiftD seed|floor|DDA|强制事件/掉落/死亡|4x|恢复|导出 closed|open|commandResult|error prior screen debug command committed 调试命令走Domain API并标记debug true VALIDATION_ADDED