formula_id,system,formula_or_rule,rounding_or_boundary,source_tag,native_location,implementation_status COMBAT-STAT-001,final_status,"independentBonus + flatSum * (100 + percentBonus) / 100; special query modes may exclude layers","float; mode-dependent branches",NATIVE_CONFIRMED,CharacterStatus.GetFinalStatus@0x5409B54,IMPLEMENT_CORE COMBAT-DMG-001,player_base_damage,GetFinalStatus(ATTACK_POWER),float,NATIVE_CONFIRMED,BaseActor.GetBaseDamageAndConvertWithPlayerDamage@0x5494CD8,IMPLEMENT COMBAT-DMG-002,enemy_base_damage,"Random(attackLower*(1-rangePct),attackUpper*(1+rangePct)); rangePct=0.15","float Range",NATIVE_AND_CONFIG_CONFIRMED,BaseActor.GetBaseDamageAndConvertWithPlayerDamage@0x5494CD8,IMPLEMENT COMBAT-HIT-001,hit,"hitPercent > RandomInt(0,101)","roll 0..100; negative hitPercent clamped to 0",NATIVE_CONFIRMED,BaseMonoCharacter.HitAndGetResult@0x549B2CC,IMPLEMENT COMBAT-CRIT-001,critical,"finalCriticalRate > RandomInt(0,101)","roll 0..100; strict greater-than",NATIVE_CONFIRMED,BaseMonoPlayer.OnBeforeAttack@0x55A95EC,IMPLEMENT COMBAT-CRIT-002,critical_damage,"damage * criticalDamagePercent * 0.01","float; BaseCritical=150",NATIVE_AND_CONFIG_CONFIRMED,BaseMonoPlayer.OnBeforeAttack@0x55A9704,IMPLEMENT COMBAT-DEF-001,defense,"max(0,preDefenseDamage-finalDefense)",float,NATIVE_CONFIRMED,BaseMonoCharacter.HitAndGetResult@0x549BD18,IMPLEMENT COMBAT-HP-001,hp,"targetHp-finalDamage","float; display rounding separate",NATIVE_CONFIRMED,BaseMonoCharacter.HitAndGetResult@0x549BE7C,IMPLEMENT COMBAT-ASPD-001,attack_speed,"100/finalAttackSpeed","seconds; subtract elapsed; no global 0.15 clamp observed",NATIVE_CONFIRMED,d__45.MoveNext@0x5497280,IMPLEMENT COMBAT-LS-001,life_steal,"ceil(finalDamage*finalLifeSteal*0.01)","only if positive; minimum heal 1",NATIVE_CONFIRMED,BaseMonoPlayer.OnAfterAttack@0x55A9E48,IMPLEMENT COMBAT-COUNTER-001,counter_chance,"finalCounterRate >= RandomInt(1,101)","roll 1..100; inclusive",NATIVE_CONFIRMED,BaseMonoPlayer.OnCounterAttack@0x55AC048,IMPLEMENT DOUBLE-001,natural_double,diceA==diceB,"built-in 36 pairs equal weight => 1/6 absent override",NATIVE_CONFIG_VIDEO_CONFIRMED,d__130.MoveNext,IMPLEMENT DOUBLE-002,double_movement,diceA+diceB,"never multiply by 2 solely because Double",NATIVE_VIDEO_CONFIRMED,d__130.MoveNext,IMPLEMENT DOUBLE-003,double_stack,TryAddDoubleStack(diceA),"accumulate face value; threshold/reward/reset unresolved",NATIVE_VIDEO_PARTIAL,BoardController.TryAddDoubleStack@0x56A4BE0,IMPLEMENT_ACCUMULATION_ONLY DOUBLE-004,double_combat,"no unconditional damage multiplier; dispatch TriggerOnDiceDouble to equipped consumers",event-driven,NATIVE_CONFIG_CONFIRMED,EventManager.TriggerOnDiceDouble@0x51AEDEC,IMPLEMENT