Initial import of HEROLL source and design documents
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
"order","branch","phase","source_status","mvp_rule","skip_on_final_boss"
|
||||
"0","all","Start entry","source-aligned entry","Cross Start; lock dice and movement; store remainingSteps; finish any already-open equipment, blessing, event-reward, and shop UI before advancing the transaction.","false"
|
||||
"1","shop-eligible","shop judgment and interaction","MVP ordered override","Evaluate the every-3-Floor shop condition; build 3 fixed plus 3 non-duplicate random offers; open the shop and await close. TILE purchases enter purchasedTileQueue and are not installed yet.","false"
|
||||
"2","all","final Floor / Boss judgment","MVP ordered override","Evaluate Default final Floor or DiceGauge 50/50. On success replace all 44 positions with Boss Tile and retain remainingSteps.","false"
|
||||
"3","all","current Floor reward","MVP ordered override","Grant the completed-Floor reward exactly once. This step runs after Boss judgment and before any normal-loop mutation.","false"
|
||||
"4","normal non-final","loop commit and purchased Tile install","MVP ordered override","Increment loopIndex exactly once; install purchasedTileQueue entries in purchase order on legal ordinary small tiles. If the Boss branch was selected, roll back and do not charge uncommitted TILE purchases.","true"
|
||||
"5","normal non-final","Good injection","source call structure retained","Await AddRandomGoodTiles(loopIndex+2). The argument is attempt count, not guaranteed successful placement count.","true"
|
||||
"6","normal non-final","Enemy injection","source call structure retained","Await AddRandomEnemyTile(enemyTilesPerLoop,false); MVP default enemyTilesPerLoop=3 attempts.","true"
|
||||
"7","all surviving","spring heal","source relative position intentionally overridden","Heal 30% max HP after reward and normal refresh; clamp to max HP.","false"
|
||||
"8","all surviving","transaction completion","source-aligned completion","Restore camera/UI; write a safe checkpoint; unlock movement.","false"
|
||||
"9","normal or converted Boss board with remainingSteps","movement resume","MVP edge rule","Continue clockwise using remainingSteps. Only the new final landing tile resolves. On a Boss board, that landing starts the final Boss battle.","false"
|
||||
"10","converted Boss board without remainingSteps","next-roll Boss entry","MVP edge rule","Do not treat the standing position as a new landing. Require one more Roll; the next completed Boss-Tile landing starts the final Boss battle.","false"
|
||||
|
@@ -0,0 +1,62 @@
|
||||
"domain","id","string_id","subtype","source_enabled","mvp_enabled","scope","min_stage","min_loop","gate_override","source"
|
||||
"Tile","100","Empty","Empty","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","101","NormalEnemy_1","NormalEnemy","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","102","NormalEnemy_2","NormalEnemy","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","103","NormalEnemy_3","NormalEnemy","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","104","NormalEnemy_4","NormalEnemy","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","105","BossAttackStrongEnemy","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","106","BossAttackBerserk1","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","110","BossAttackEvolve1","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","111","BossAttackEvolve2","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","112","BossAttackEvolve3","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","113","BossAttackEvolve4","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","114","BossAttackInfected","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","115","BossAttackInfectedHost3","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","116","BossAttackInfectedHost2","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","117","BossAttackInfectedHost1","BossAttack","true","true","DiceGauge pressure extension","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","118","MiniBoss","MiniBoss","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","119","Boss","Boss","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","124","AugmentRandom","Augment","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","125","CornerKillOneLineEnemy","Corner","true","true","MVP active Corner","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","127","CornerRace","Corner","true","true","MVP active Corner","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","128","CornerOneLineChest","Corner","true","true","MVP active Corner","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","129","CornerDiceBuilding","Corner","true","true","MVP active Corner","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","131","CornerBlackMarket","Corner","true","true","MVP active Corner","0","3","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","132","Start","Start","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","133","StartShop","Start","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","134","BadEventJail","BadEvent","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","135","BadEventPlusOneLineEnemy","BadEvent","true","true","core board","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","137","GoodEventSmithy","GoodEvent","true","true","MVP active Good event","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","141","GoodEventChest","GoodEvent","true","true","MVP active Good event","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","143","GoodEventBlackJack","GoodEvent","true","true","MVP active Good event","0","3","Keep original minLoop=3 for natural generation; debug console may force","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","151","GoodEventClawGrab","GoodEvent","true","true","MVP active Good event","0","0","none","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","164","GoodEventDiceMachine","GoodEvent","true","true","MVP active Good event","0","3","Keep original minLoop=3 for natural generation; debug console may force","newtile.csv + v0.2.8 scope freeze"
|
||||
"Tile","169","GoodEventSpito","GoodEvent","true","true","MVP active Good event","1","3","MVP validation override: original minStage=1,minLoop=3; use minStage=0,minLoop=0 in the Stage 0 validation build","newtile.csv + v0.2.8 scope freeze"
|
||||
"Blessing","100","AttackShield","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","102","CritHeal","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","103","CritDamageUp","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","108","FirstAttackDMGUp","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","109","DMGUpAfterSecond","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","110","ASPUpAfterSecond","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","111","DoubleHeal","AUGMENT","true","true","main blessing candidate pool","","","Natural Double consumer confirmed by runtime observation; additive 8% max-HP heal per stack","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","112","LowHPASPUp","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","113","BattleStartHeal","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","114","LuckyHit","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","115","DiceSumDMGUp","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","116","DiceSumShield","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","117","KillHPUp","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","118","ReduceEnemyDEF","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","121","EnemyCountStatUp","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","122","OddDiceCritUp","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","124","KillInTimeGetGear","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","125","HealAfterSecond","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","126","LightingEverySec","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","132","KillForHeroGear","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","147","KillAllEmeny","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","148","PointSupply","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","149","DicePotionGet","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","150","KillPotionGet","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","151","ShopFreeReroll","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","152","EmptyTripleBuild","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","153","EvaHeal","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
"Blessing","154","BattleEndHeal","AUGMENT","true","true","main blessing candidate pool","","","dependency/unique/stack cap filtering still applies","augment.csv + v0.2.8 scope freeze"
|
||||
|
@@ -0,0 +1,97 @@
|
||||
"offer_id","item_type","item_id","name_zh_cn","price","buy_limit","fixed_key","fixed_sort","source_catalog_loaded","mvp_enabled","pool","reason"
|
||||
"100","TILE","137","铁匠铺","6","1","","","true","true","random slot","Tile event is in the first-version event whitelist"
|
||||
"101","TILE","138","恢復","9","1","","","true","false","random slot","Tile event is outside the frozen first-version deck"
|
||||
"102","TILE","139","来点节奏","7","1","","","true","false","random slot","Tile event is outside the frozen first-version deck"
|
||||
"103","TILE","140","勇士遗骸","4","1","","","true","false","random slot","Tile event is outside the frozen first-version deck"
|
||||
"104","TILE","141","宝箱","5","1","","","true","true","random slot","Tile event is in the first-version event whitelist"
|
||||
"105","TILE","142","抽取","5","1","","","true","false","random slot","Tile event is outside the frozen first-version deck"
|
||||
"106","TILE","143","骰子对决","4","1","","","true","true","random slot","Tile event is in the first-version event whitelist"
|
||||
"107","TILE","144","增幅星星","7","1","","","true","false","random slot","Tile event is outside the frozen first-version deck"
|
||||
"108","TILE","151","夹娃娃机","7","1","","","true","true","random slot","Tile event is in the first-version event whitelist"
|
||||
"109","TILE","152","黄金马车","7","1","","","true","false","random slot","Tile event is outside the frozen first-version deck"
|
||||
"110","TILE","164","惊心骰子","5","1","","","true","true","random slot","Tile event is in the first-version event whitelist"
|
||||
"111","TILE","166","史莱姆神射手","8","1","","","true","false","random slot","Tile event is outside the frozen first-version deck"
|
||||
"112","AUGMENT","100","守护一击","17","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"113","AUGMENT","102","吸血","14","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"114","AUGMENT","103","攻击弱点","10","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"115","AUGMENT","106","奇蹟骰子","27","1","","","true","false","random slot","Disabled system: revive or burn chain"
|
||||
"116","AUGMENT","108","起始一击","12","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"117","AUGMENT","109","攻击力加速","15","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"118","AUGMENT","110","攻击速度加速","15","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"119","AUGMENT","111","恢復骰子","23","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"120","AUGMENT","112","战斗狂","16","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"121","AUGMENT","113","祝福的开始","14","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"122","AUGMENT","114","快速迴避","15","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"123","AUGMENT","115","幸运骰子","14","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"124","AUGMENT","116","守护骰子","20","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"125","AUGMENT","117","吸收灵魂","17","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"126","AUGMENT","118","腐蚀一击","16","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"127","AUGMENT","121","多多益善","10","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"128","AUGMENT","122","奇数骰子","13","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"129","AUGMENT","124","掠夺者","19","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"130","AUGMENT","125","顽强生命","18","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"131","AUGMENT","126","呼唤闪电","16","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"132","AUGMENT","132","质重于量","17","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"133","AUGMENT","147","调整数量","15","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"134","AUGMENT","148","支援金","10","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"135","AUGMENT","149","补充骰子","17","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"136","AUGMENT","150","掠夺药水","19","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"137","AUGMENT","151","领袖气质","8","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"138","AUGMENT","152","都市计画","11","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"139","AUGMENT","153","刺激","15","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"140","AUGMENT","154","战后休息","24","1","","","true","true","random slot","Blessing is in the first-version blessing whitelist"
|
||||
"141","AUGMENT","156","残火","16","1","","","true","false","random slot","Disabled system: revive or burn chain"
|
||||
"142","AUGMENT","157","点燃","18","1","","","true","false","random slot","Disabled system: revive or burn chain"
|
||||
"143","POTION","100","立即恢復药水","16","1","","","true","true","random slot","Only the healing potion family is retained"
|
||||
"144","POTION","101","持续恢復药水","15","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"145","POTION","103","攻击药水","15","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"146","POTION","104","命中药水","13","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"147","POTION","105","暴击药水","14","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"148","POTION","106","吸血药水","16","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"149","POTION","107","防禦药水","20","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"150","POTION","108","反击药水","19","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"151","POTION","109","迴避药水","13","1","","","true","false","random slot","Functional potion removed by the single-healing-potion MVP decision"
|
||||
"152","STAT","100","攻击力","3","10","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"153","STAT","101","生命值上限","3","10","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"154","STAT","102","命中","5","5","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"155","STAT","103","防禦力","3","10","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"156","STAT","104","迴避","5","5","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"157","STAT","105","每秒恢復","8","3","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"158","STAT","106","整体攻击","9","3","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"159","STAT","107","固定伤害","8","3","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"160","STAT","108","击杀后恢復","7","3","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"161","STAT","109","反击","5","5","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"162","STAT","110","攻击速度","8","3","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"163","STAT","111","暴击率","7","3","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"164","STAT","112","吸血","8","3","","","true","true","random slot","Direct combat stat is implemented"
|
||||
"165","FIXED","","药水持有量Lv.{0}","10","1","potionCount","0","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"166","FIXED","","药水持有量Lv.{0}","15","1","potionCount","1","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"167","FIXED","","药水持有量Lv.{0}","21","1","potionCount","2","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"168","FIXED","","药水持有量Lv.{0}","28","1","potionCount","3","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"169","FIXED","","药水持有量Lv.{0}","36","1","potionCount","4","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"170","FIXED","","药水持有量Lv.{0}","45","1","potionCount","5","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"171","FIXED","","药水持有量Lv.{0}","55","1","potionCount","6","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"172","FIXED","","药水持有量Lv.{0}","66","1","potionCount","7","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"173","FIXED","","药水持有量Lv.{0}","78","1","potionCount","8","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"174","FIXED","","药水恢復量Lv.{0}","7","1","potionHeal","0","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"175","FIXED","","药水恢復量Lv.{0}","11","1","potionHeal","1","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"176","FIXED","","药水恢復量Lv.{0}","15","1","potionHeal","2","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"177","FIXED","","药水恢復量Lv.{0}","20","1","potionHeal","3","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"178","FIXED","","药水恢復量Lv.{0}","25","1","potionHeal","4","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"179","FIXED","","药水恢復量Lv.{0}","30","1","potionHeal","5","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"180","FIXED","","药水恢復量Lv.{0}","35","1","potionHeal","6","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"181","FIXED","","药水恢復量Lv.{0}","40","1","potionHeal","7","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"182","FIXED","","药水恢復量Lv.{0}","45","1","potionHeal","8","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"183","FIXED","","药水恢復量Lv.{0}","50","1","potionHeal","9","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"184","FIXED","","药水恢復量Lv.{0}","55","1","potionHeal","10","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"185","FIXED","","药水恢復量Lv.{0}","60","1","potionHeal","11","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"186","FIXED","","药水恢復量Lv.{0}","65","1","potionHeal","12","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"187","FIXED","","药水恢復量Lv.{0}","70","1","potionHeal","13","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"188","FIXED","","药水恢復量Lv.{0}","75","1","potionHeal","14","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"189","FIXED","","药水恢復量Lv.{0}","80","1","potionHeal","15","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"190","FIXED","","药水恢復量Lv.{0}","85","1","potionHeal","16","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"191","FIXED","","药水恢復量Lv.{0}","90","1","potionHeal","17","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"192","FIXED","","药水恢復量Lv.{0}","95","1","potionHeal","18","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"193","FIXED","","药水恢復量Lv.{0}","100","1","potionHeal","19","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"194","FIXED","","补充药水","5","-1","potionAdd","0","true","true","fixed slot","Original potion count/heal/refill chain is retained"
|
||||
"195","LOTTO","","彩券","5","1","","","true","false","random slot","Lottery event is outside the frozen first-version scope"
|
||||
|
@@ -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"
|
||||
|
@@ -0,0 +1,29 @@
|
||||
"system","original_rule","evidence","mvp_active_deviation","demo_default","status"
|
||||
"base player stats","ATK20, HP500, AIM1.5, DEF10, EVA1, COUNTER10, ASP100, CRIT10","battleplayerdefaultstat.csv","HP100, DEF5, AIM100%, EVA0%, CRIT5%, ASP multiplier1.0; ATK20 and COUNTER10 retained","frozen values in v0.2.7","intentional deviation"
|
||||
"battle cadence","real-time automatic cooldown/attack-speed system; each living actor schedules independently; interval=100/finalAttackSpeed","BattleController/native combat reverse","none; v0.2.8 adopts the original real-time cooldown scheduler and removes strict alternating turns","no global 0.25-second clamp","source-aligned"
|
||||
"damage and lifesteal rounding","source keeps floating damage through HP subtraction and lifesteal uses ceil(finalDamage*rate/100)","combat native reverse report","none in calculation; UI may round only for display","positive lifesteal result has minimum heal 1","source-aligned"
|
||||
"counterattack","independent >= RandomInt(1,101) check; triggered DamageMeta can miss or crit and uses defense; no lifesteal","combat native reverse report","none in calculation","base counter rate10","source-aligned"
|
||||
"revive","Revive blessing exists and original product also contains revive/ad paths","augment.csv ID106 + native metadata","all revive disabled","run ends at HP<=0","intentional deviation"
|
||||
"potions","9 shop potion offers","ingameshoplist.csv offers143..151","single healing potion only","10% maxHP, base capacity1","intentional deviation"
|
||||
"board lifetime","one persistent 44-position board mutates across loops","BoardController native refresh path","none","4 large + 40 small","source-aligned"
|
||||
"new-run generation","SpawnInitialTiles -> SpawnAllCornerTiles -> AddRandomGoodTiles(8)","InitNewGame native state machine","Good metadata deck is reduced to implemented events","8 attempts, not 8 guaranteed placements","mixed"
|
||||
"Start normal refresh order","source call order differs from the product transaction order","Start MoveNext calls 0x5541AC0, 0x5544C94, 0x554661C, 0x5546828, 0x55472D8","shop interaction -> final Boss judgment -> Floor reward -> non-final loop and purchased Tile commit -> Good -> Enemy -> heal -> resume","30% maxHP heal","intentional transaction-order deviation"
|
||||
"next-loop tile injection","AddRandomGoodTiles(loop+2), then AddRandomEnemyTile(enemyTilesPerLoop,false)","BoardController.AddNextLoopTiles native","none in structure","enemyTilesPerLoop=3 until serialized value is recovered","partial/default"
|
||||
"Good event deck","new-account deck has 8 OutGameTile metadata: 100,103,106,109,112,124,133,136","outgametile.csv/outgametileskill.csv","runtime deck: tile IDs137,141,143,151,164,169 plus fixed AUGMENT124","169 gate overridden only for validation","intentional deviation"
|
||||
"Corner set","8 enabled Corner tile rows:125,126,127,128,129,131,167,175 with gates","newtile.csv","only 125,127,128,129,131","consumed Corner locally refreshes to another legal Corner","intentional deviation + edge default"
|
||||
"building / exterior houses","Housing Support 129 rolls two independent D6; A+B is the base construction-attempt count; actual construction is capped by eligible spaces in the upcoming row; exact reward conversion is unresolved","CornerDiceBuilding runtime path + corner-rules.csv","enable one exterior house slot per ordinary small tile; place without replacement on the next clockwise board side; houses persist independently of underlying tile mutation until final Boss conversion; Urban Planning 152 adds 2 attempts","1 spirit stone per actual house; no eligible slot resolves as zero; final Boss conversion clears all houses","source structure + MVP executable edges"
|
||||
"blessing catalog","31 enabled main-mode blessings, equal base prob weight10","augment.csv + runtime observation for DoubleHeal","28 active; disable IDs106,156,157; show exactly 3 distinct candidates; all definitions return to pool after choice; stackable values add","DoubleHeal adds 8% max-HP healing per acquired copy on Natural Double; Urban Planning 152 is unique and adds 2 construction attempts","intentional scope and stacking rule"
|
||||
"shop catalog","96 offers: TILE12/AUGMENT31/POTION9/STAT13/FIXED30/LOTTO1","ingameshoplist.csv","load all, enable 77 offers in runtime pools","see 03-shop-product-whitelist.csv","intentional scope filter"
|
||||
"shop slots","3 fixed + 3 random","shop native/config reverse","none in count; random slots are equal-weight without replacement, cannot duplicate on one screen, and sold-out items stay excluded for the current visit","next shop activation clears the sold-out visit set; owned stackable blessings may recur","source-aligned + MVP draw edge rules"
|
||||
"shop reroll","price=3+2*k, k starts0; free reroll does not advance k","gameconfig.csv ID119 + native shop reverse","none","no hard cap","source-aligned"
|
||||
"ordinary repeat purchase","price does not automatically rise; buyCount limits stock","ingameshoplist.csv","none","fixed price","source-aligned"
|
||||
"fixed potion upgrades","separate rows encode price ladder, not dynamic markup","offers165..194","mapped onto the single potion","count 10..78, heal 7..100, refill5","source structure + MVP mapping"
|
||||
"black market","base + trunc(base*surchargePercent/100); percent unresolved","CornerBlackMarket native reverse","none in formula","50% surcharge","partial/default"
|
||||
"equipment quality","six weights 210:60:28:4:1:4","weapondrop.csv","none","no pity","source-aligned"
|
||||
"equipment level","Floor/Floor+1/Floor+2 relative weights90:5:1","gameconfig.csv ID100 + native reverse","none","weighted normalized draw","source-aligned"
|
||||
"equipment salvage","exact in-run conversion values not closed","consumer unresolved","quality values1/2/4/8/12/16","fixed per quality","demo economy"
|
||||
"enemy death reward","death-time generation path confirmed; no unified probabilities recovered","combat/drop reverse","95/4/1 normal and fixed+5:2 elite","see defaults table","demo economy"
|
||||
"boss mid-fight gear","one mid-fight gear appearance observed; condition unknown","runtime observation","trigger at first <=50% crossing","once per boss","demo threshold"
|
||||
"DiceGauge pressure","source hidden gauge 0->50->100, then 4-roll counter, then 4 distinct non-AUGMENT pressure tiles","stage config + IL2CPP + runtime","enter at50; +25 per player action; at100 count down4 rolls; pressure action resets to0; shortage does not downgrade and delays conversion","resolved pressure tile becomes Empty","intentional cycle deviation + frozen edge rules"
|
||||
"final Boss conversion movement","source overflow edge not fully observed","Start/Boss branch partial + gameplay decision","preserve remainingSteps after 44-tile conversion; if zero require one more Roll and new landing","current standing tile is not a new landing","MVP frozen"
|
||||
"Floor point reward","original loop reward resources and stage multipliers differ","ingamereward.csv","10+5*Floor in-run points","integer","intentional economy replacement"
|
||||
|
@@ -0,0 +1,14 @@
|
||||
"key","value","execution_rule","source_status","source"
|
||||
"buildingCarrier","exterior house layer","A house is attached to a small tile's exterior slot and never replaces its movement tile, event, or enemy content","MVP frozen","v0.2.8 building-module decision"
|
||||
"exteriorSlotCapacity","1 per ordinary small tile","A slot is eligible only when it has no house and belongs to the configured upcoming board side","MVP frozen","v0.2.8 building-module decision"
|
||||
"housingSupportTileId","129","Landing on Housing Support opens the construction event and performs one two-die construction roll","source-aligned","newtile.csv + CornerDiceBuilding reverse"
|
||||
"baseConstructionAttempts","D6_A + D6_B","Roll two independent six-sided dice once; their sum is the number of base construction attempts","source-aligned","CornerDiceBuilding reverse"
|
||||
"urbanPlanningBlessingId","152","If owned, add 2 construction attempts once per Housing Support event; the blessing is unique and does not stack","source structure + MVP consumer freeze","augment.csv EmptyTripleBuild"
|
||||
"placementOrder","next clockwise board side","Starting after the Housing Support Corner, collect empty exterior slots on the following side and choose distinct slots without replacement using the run RNG seed","MVP executable edge","v0.2.8 geometry freeze"
|
||||
"actualBuiltCount","min(totalAttempts, eligibleSlotCount)","Every selected eligible slot succeeds; unused attempts are discarded","source-aligned cap + MVP edge","CornerDiceBuilding reverse + v0.2.8"
|
||||
"reward","actualBuiltCount * 1 spirit stone","Grant the reward after placement animation; the exact original reward conversion remains unknown","DEMO default","04-unknown-parameter-mvp-defaults.csv"
|
||||
"zeroEligibleSlots","build 0 and reward 0","Show a no-space result, complete the event, and do not reroll or relocate to another side","MVP frozen","v0.2.8 building-module decision"
|
||||
"persistence","until final Boss Floor","Houses survive loop/Floor progression and Good/Enemy/Empty mutations of the underlying tile because the exterior layer is independent","MVP frozen","v0.2.8 building-module decision"
|
||||
"ongoingEffect","none","A built house has no passive income, combat bonus, or tile-trigger modification in MVP","MVP scope freeze","v0.2.8 building-module decision"
|
||||
"finalBossCleanup","clear every exterior house","Clear houses in the same board-conversion transaction that replaces all 44 positions with Boss Tiles","MVP frozen","v0.2.8 final Boss rule"
|
||||
"saveState","slot occupancy + construction RNG result","Persist occupied slot IDs, both dice values, selected slot IDs, reward, seed, and ruleset version at the event safety point","MVP frozen","v0.2.8 determinism requirement"
|
||||
|
@@ -0,0 +1,14 @@
|
||||
# 10-配置与白名单
|
||||
|
||||
Start时序、内容白名单、未知参数默认值及原作/MVP对照。
|
||||
|
||||
## 文件
|
||||
|
||||
- [01-start-settlement-timeline.csv](./01-start-settlement-timeline.csv) — contract;来源:`analysis/mvp-rules-closure/01-start-settlement-timeline.csv`
|
||||
- [02-tile-corner-blessing-whitelist.csv](./02-tile-corner-blessing-whitelist.csv) — contract;来源:`analysis/mvp-rules-closure/02-tile-corner-blessing-whitelist.csv`
|
||||
- [03-shop-product-whitelist.csv](./03-shop-product-whitelist.csv) — contract;来源:`analysis/mvp-rules-closure/03-shop-product-whitelist.csv`
|
||||
- [04-unknown-parameter-mvp-defaults.csv](./04-unknown-parameter-mvp-defaults.csv) — contract;来源:`analysis/mvp-rules-closure/04-unknown-parameter-mvp-defaults.csv`
|
||||
- [05-original-vs-mvp-vs-demo.csv](./05-original-vs-mvp-vs-demo.csv) — contract;来源:`analysis/mvp-rules-closure/05-original-vs-mvp-vs-demo.csv`
|
||||
- [06-building-rules.csv](./06-building-rules.csv) — contract;来源:`analysis/mvp-rules-closure/06-building-rules.csv`
|
||||
|
||||
模块内Markdown与CSV均来自同一v0.2.8规则域;跨模块综合报告会在相关模块中保留副本。
|
||||
Reference in New Issue
Block a user