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,27 @@
"key","original_status","mvp_default","type","range","rationale","source","label"
"enemyTilesPerLoop","serialized field confirmed; original scene value not recovered","3 attempts per normal loop","integer","0..40","keeps the board playable while preserving the real configuration entry","BoardController field + AddNextLoopTiles native call","DEMO default"
"blackMarketSurchargePercent","formula confirmed; percentage unknown","50","integer percent","0..300","reproduces the former 1.5x demo while keeping the source formula","Black Market price native path","DEMO default"
"bossPressureTargetCountWhenShort","normal target=4; shortage behavior unknown","require exactly 4 eligible distinct non-AUGMENT tiles; if fewer than 4, delay with no partial conversion and keep gauge full","rule","exactly 4","MVP does not downgrade the pressure action","DiceGauge reverse report + v0.2.8 design decision","MVP frozen"
"bossPressureResolvedTile","restoration behavior unknown","convert resolved pressure tile to Empty; do not restore overwritten tile","enum","Empty","deterministic and avoids resurrecting consumed rewards","residual risk in stage-floor report","DEMO default"
"bossPressureGaugeCycle","source normal path is 0->50->100","enter stage at 50; add 25 per completed player action; at 100 start 4-roll countdown; after pressure action reset to 0","rule","0..100","creates the approved initial 2-action then repeating 4-action pressure cycle","source reverse + v0.2.8 intentional deviation","MVP frozen"
"bossPressureCounterUI","exact original presentation unknown","warning icon plus 4/3/2/1 countdown; never replace visible 0/50 progress","UI rule","hidden/off or warning","keeps three state variables distinct","runtime observation + reverse report","DEMO default"
"combatDropDisplayCapacity","finite capacity confirmed; exact count unknown","10; when the 11th arrives replace the oldest unhandled drop FIFO with explicit feedback","integer","10","separates four equipped slots from the ten-item drop display","runtime observation + v0.2.8 design decision","MVP frozen"
"randomShopDraw","3 random slots confirmed; full weighting/exclusion not closed","equal weight, without replacement, 3 offers","rule","0..3 visible","exclude disabled, sold-out, owned unique and unmet dependency offers","shop metadata/native partial","DEMO default"
"shopTileInstallTarget","purchase exists; exact target selection not closed","random legal ordinary small tile; block purchase and do not charge if none","rule","eligible small tiles","atomic transaction and no reward loss","shop catalog + unresolved consumer","DEMO default"
"augmentCandidateDraw","31 enabled all prob=10; runtime exclusion order partial","filter first, equal-weight without replacement, show exactly 3; if fewer than 3 treat as configuration error and block resolution","rule","exactly 3 visible","never fill with duplicates; all definitions return to the pool after selection and are filtered again next time","augment.csv + v0.2.8 design decision","MVP frozen"
"augmentRerollNoRepeat","exact replacement exclusion unknown","replace all three; avoid the currently displayed IDs where pool permits","rule","once per event if enabled","prevents a no-op reroll","MVP interaction rule","DEMO default"
"goodDeckFailedInstallConsumption","draw/deck behavior confirmed; failure consumption edge unknown","consume the drawn metadata attempt; reshuffle only after deck exhaustion","rule","boolean","preserves attempt semantics and deterministic RNG","GetNextMetadata/AddRandomGoodTiles partial","DEMO default"
"integerAffixRandom","min/max formula confirmed; endpoint behavior not closed","uniform real draw over inclusive conceptual range, then round half up to integer","RNG rule","rounded integer","uses one explicit rounding policy","equipment reverse residual + v0.2.8 design decision","MVP frozen"
"floatAffixRandom","one-decimal precision confirmed; endpoint behavior not closed","uniform real draw over inclusive conceptual range, then round half up to 0.1","RNG rule","rounded to 0.1","matches displayed precision","weaponstatus.csv + v0.2.8 design decision","MVP frozen"
"maxHpDecreaseCurrentHp","consumer edge behavior unknown","currentHP=min(currentHP,newMaxHP), no damage/death event","rule","clamp","prevents equipment swap from triggering combat damage hooks","unresolved runtime edge","DEMO default"
"attackSpeedChangeTiming","source uses real-time cooldown scheduling","apply to the next cooldown scheduled after the current attack completes; do not retroactively rescale an active attack or cooldown","rule","next cooldown","preserves deterministic scheduling in the source-aligned real-time model","combat native reverse + v0.2.8 decision","source-aligned edge rule"
"bossMidFightDropHp","mid-fight drop observed; exact threshold/phase unknown","first crossing to HP <= 50%, once per boss fight","percent","1..99","documented v0.2.7 validation value","runtime observation","DEMO default"
"normalEnemyDeathReward","death-time generation path confirmed; probabilities unknown","one weighted result: gear 95, potion 4, points 1","relative weights","95:4:1","stable validation economy","v0.2.7 frozen reward pacing","DEMO default"
"eliteEnemyDeathReward","exact elite rule unknown","1 gear plus one extra result from potion:points=5:2","rule","fixed + weighted","stable elite differentiation","v0.2.7 frozen reward pacing","DEMO default"
"floorPointReward","original loop rewards use different resources; MVP mapping is not source","10 + 5 * displayedFloor points","integer formula",">=15","closed local-run economy","v0.2.7 design","DEMO default"
"originalRewardFloatRounding","stage multiplier rows confirmed; rounding unknown","floor after multiplication","rounding","nonnegative integer","single deterministic policy","ingamereward.csv residual","DEMO default"
"finalStartRemainingSteps","boss branch exists; overflow movement edge not fully observed","preserve remainingSteps on boss-floor conversion; if zero require one additional Roll before Boss battle","rule",">=0","implements the approved Boss-board landing semantics","Start branch + v0.2.8 design decision","MVP frozen"
"diceBattleTie","tie consumer not fully closed","dealer wins ties","enum","dealer/player/retry","standard house-edge fallback and single-exit state","GoodEventDiceBattle partial","DEMO default"
"luckyScratchRevealThreshold","gesture completion threshold not recovered","65% revealed area","percent","50..90","prevents pixel-perfect scratching","GoodEventSpito UI residual","DEMO default"
"forgeMaxQuality","80/50/30/10 steps confirmed; Arcane transition not closed","cap at Myth; Arcane cannot be forged","enum","Myth","four transitions from Normal align with four probabilities","Forge config/runtime residual","DEMO default"
"housingRewardPerHouse","Housing Support rolls two independent D6 and rewards by actual houses built; exact house-to-point mapping is not recovered","1 spirit stone per successfully built house","integer","1","closes the construction event economy without presenting the value as an original rule","CornerDiceBuilding reverse + v0.2.8 design decision","DEMO default"
1 key original_status mvp_default type range rationale source label
2 enemyTilesPerLoop serialized field confirmed; original scene value not recovered 3 attempts per normal loop integer 0..40 keeps the board playable while preserving the real configuration entry BoardController field + AddNextLoopTiles native call DEMO default
3 blackMarketSurchargePercent formula confirmed; percentage unknown 50 integer percent 0..300 reproduces the former 1.5x demo while keeping the source formula Black Market price native path DEMO default
4 bossPressureTargetCountWhenShort normal target=4; shortage behavior unknown require exactly 4 eligible distinct non-AUGMENT tiles; if fewer than 4, delay with no partial conversion and keep gauge full rule exactly 4 MVP does not downgrade the pressure action DiceGauge reverse report + v0.2.8 design decision MVP frozen
5 bossPressureResolvedTile restoration behavior unknown convert resolved pressure tile to Empty; do not restore overwritten tile enum Empty deterministic and avoids resurrecting consumed rewards residual risk in stage-floor report DEMO default
6 bossPressureGaugeCycle source normal path is 0->50->100 enter stage at 50; add 25 per completed player action; at 100 start 4-roll countdown; after pressure action reset to 0 rule 0..100 creates the approved initial 2-action then repeating 4-action pressure cycle source reverse + v0.2.8 intentional deviation MVP frozen
7 bossPressureCounterUI exact original presentation unknown warning icon plus 4/3/2/1 countdown; never replace visible 0/50 progress UI rule hidden/off or warning keeps three state variables distinct runtime observation + reverse report DEMO default
8 combatDropDisplayCapacity finite capacity confirmed; exact count unknown 10; when the 11th arrives replace the oldest unhandled drop FIFO with explicit feedback integer 10 separates four equipped slots from the ten-item drop display runtime observation + v0.2.8 design decision MVP frozen
9 randomShopDraw 3 random slots confirmed; full weighting/exclusion not closed equal weight, without replacement, 3 offers rule 0..3 visible exclude disabled, sold-out, owned unique and unmet dependency offers shop metadata/native partial DEMO default
10 shopTileInstallTarget purchase exists; exact target selection not closed random legal ordinary small tile; block purchase and do not charge if none rule eligible small tiles atomic transaction and no reward loss shop catalog + unresolved consumer DEMO default
11 augmentCandidateDraw 31 enabled all prob=10; runtime exclusion order partial filter first, equal-weight without replacement, show exactly 3; if fewer than 3 treat as configuration error and block resolution rule exactly 3 visible never fill with duplicates; all definitions return to the pool after selection and are filtered again next time augment.csv + v0.2.8 design decision MVP frozen
12 augmentRerollNoRepeat exact replacement exclusion unknown replace all three; avoid the currently displayed IDs where pool permits rule once per event if enabled prevents a no-op reroll MVP interaction rule DEMO default
13 goodDeckFailedInstallConsumption draw/deck behavior confirmed; failure consumption edge unknown consume the drawn metadata attempt; reshuffle only after deck exhaustion rule boolean preserves attempt semantics and deterministic RNG GetNextMetadata/AddRandomGoodTiles partial DEMO default
14 integerAffixRandom min/max formula confirmed; endpoint behavior not closed uniform real draw over inclusive conceptual range, then round half up to integer RNG rule rounded integer uses one explicit rounding policy equipment reverse residual + v0.2.8 design decision MVP frozen
15 floatAffixRandom one-decimal precision confirmed; endpoint behavior not closed uniform real draw over inclusive conceptual range, then round half up to 0.1 RNG rule rounded to 0.1 matches displayed precision weaponstatus.csv + v0.2.8 design decision MVP frozen
16 maxHpDecreaseCurrentHp consumer edge behavior unknown currentHP=min(currentHP,newMaxHP), no damage/death event rule clamp prevents equipment swap from triggering combat damage hooks unresolved runtime edge DEMO default
17 attackSpeedChangeTiming source uses real-time cooldown scheduling apply to the next cooldown scheduled after the current attack completes; do not retroactively rescale an active attack or cooldown rule next cooldown preserves deterministic scheduling in the source-aligned real-time model combat native reverse + v0.2.8 decision source-aligned edge rule
18 bossMidFightDropHp mid-fight drop observed; exact threshold/phase unknown first crossing to HP <= 50%, once per boss fight percent 1..99 documented v0.2.7 validation value runtime observation DEMO default
19 normalEnemyDeathReward death-time generation path confirmed; probabilities unknown one weighted result: gear 95, potion 4, points 1 relative weights 95:4:1 stable validation economy v0.2.7 frozen reward pacing DEMO default
20 eliteEnemyDeathReward exact elite rule unknown 1 gear plus one extra result from potion:points=5:2 rule fixed + weighted stable elite differentiation v0.2.7 frozen reward pacing DEMO default
21 floorPointReward original loop rewards use different resources; MVP mapping is not source 10 + 5 * displayedFloor points integer formula >=15 closed local-run economy v0.2.7 design DEMO default
22 originalRewardFloatRounding stage multiplier rows confirmed; rounding unknown floor after multiplication rounding nonnegative integer single deterministic policy ingamereward.csv residual DEMO default
23 finalStartRemainingSteps boss branch exists; overflow movement edge not fully observed preserve remainingSteps on boss-floor conversion; if zero require one additional Roll before Boss battle rule >=0 implements the approved Boss-board landing semantics Start branch + v0.2.8 design decision MVP frozen
24 diceBattleTie tie consumer not fully closed dealer wins ties enum dealer/player/retry standard house-edge fallback and single-exit state GoodEventDiceBattle partial DEMO default
25 luckyScratchRevealThreshold gesture completion threshold not recovered 65% revealed area percent 50..90 prevents pixel-perfect scratching GoodEventSpito UI residual DEMO default
26 forgeMaxQuality 80/50/30/10 steps confirmed; Arcane transition not closed cap at Myth; Arcane cannot be forged enum Myth four transitions from Normal align with four probabilities Forge config/runtime residual DEMO default
27 housingRewardPerHouse Housing Support rolls two independent D6 and rewards by actual houses built; exact house-to-point mapping is not recovered 1 spirit stone per successfully built house integer 1 closes the construction event economy without presenting the value as an original rule CornerDiceBuilding reverse + v0.2.8 design decision DEMO default