80% → 0.80Percent-style sheet stats enter combat math as fractions.
Research / formulas
Every combat expression currently safe to publish for Digimon UP, arranged in the order a player experiences it. Plain-language explanations come first; native method and RVA citations remain one click away.
Start here
You do not need to know code. These conventions cover the archive.
80% → 0.80Percent-style sheet stats enter combat math as fractions.
DThe damage entering the current step—not a separate hidden stat.
max(0, x)Use x when positive; otherwise use zero. A bonus cannot become a penalty.
random(0, 1)A roll from 0 to 1. A 0.25 rate is a 25% chance before subtraction.
damage *= valueMultiply the damage carried forward from the previous step.
trunc(value)Drop the fractional part at that exact point in the formula.
Confirmed native order
Branches only run when their stated condition is true. The game does not apply every box to every hit.
Unless the incoming hit is already a Counter, Evasion is checked first. A successful evade stops the damage and later post-hit checks.
(EvadeRate - EvadeRateDecrease) > random(0, 1)The hit copies the attacker’s already-computed final ATK. Building that final sheet stat from every account source is still unresolved.
initialDamage = finalAttackDefense applies its curve to the incoming value D.
afterDefense = D^2 / (D + Defense)Only when the attacker’s character type is Boss, Boss Damage DOWN divides the post-Defense result.
damage *= 1 / (1 + BossDamageReduction)Normal, Skill, Combo, Counter, or Support/Pet Damage applies, followed by its separate Damage UP layer.
damage *= 1 + max(0, typeDamage - typeDamageDown - DamageDown)damage *= 1 + max(0, typeDamageUp - typeDamageResist)Skills consume a positive coefficient. Support/Pet hits instead receive their extra Normal Attack Damage multiply.
if skillCoefficient > 0: damage *= skillCoefficientpetDamage *= 1 + attackerNormalDamageNon-Pet attackers multiply by Boss Damage when the target is a Boss or EpicMonster.
damage *= 1 + BossDamageOnly after the matching critical-rate roll succeeds. SkillAttack and non-skill hits use different critical branches.
(1.5 + max(0, CriticalDamage - CriticalDamageDown)) * (1 + max(0, CriticalDamageUp - CriticalDamageResist))1.5 + max(0, SkillCriticalDamage - SkillCriticalDamageDown)The standard path floors positive damage, spends shield against it first, then subtracts the remainder from HP unless Ignore Damage is active.
if damage != 0 and trunc(damage) == 0: damage = 1rounded = floor(damage); absorbed = min(shield, rounded); shieldAfter = shield - absorbed; hpLoss = IgnoreDamage ? 0 : rounded - absorbedStun is attempted before Airborne. A successful Stun skips the Airborne attempt. The defender may then roll a separate Counter, and the attacker may roll on-hit HP Recovery. Combo is an eligible normal attacker’s separate follow-up roll.
Complete formula index
Showing 12 of 41 matching formulas
A Tactical Memory's displayed main stat scales from its rolled raw value, grade, and current enhancement level.
Important: Use the value currently shown on an upgraded piece when checking its original roll; the inverse tool accounts for the current level.
Archive key: tactical-memory-main-stat
A sacrificed Tactical Memory returns its accumulated level XP, current partial XP, and base feed value after one loss rate for its current level is applied to the whole amount.
Important: The target rarity does not enter this calculation; it only determines how far the returned XP moves the target along its own BaseExp + ExtraExp * level curve. The server finalizes the reinforcement request.
Archive key: tactical-memory-xp-transfer
A Crest fixed base stat multiplies the stored value by its rate and current level plus one.
Archive key: crest-base-stat
A Crest fixed additional stat scales by current level plus one without the extra rate term.
Archive key: crest-additional-stat
The combat object copies the attacker's already-computed ATK into the hit's starting damage value.
Important: This confirms the start of a hit, not the account-wide formula that builds final ATK from levels, bonuses, gear, and buffs.
Archive key: initial-damage-from-attack
For each of the 54 stats, the base row is added once, the level-growth row is added for every level after the first, and the result is scaled by statRatio.
Important: previousStat is the value already present in the output array. This confirms the base/level calculation, not the later account-wide merge of equipment, collections, buffs, and bonus stats.
Archive key: base-stat-at-level
Attack and Defense multiply their raw value by one plus the matching Attack Bonus or Defense Bonus stat.
Important: This confirms the final matching-Bonus step inside StatsInfo.GetStat. It does not fill in the still-unresolved account-wide merge that supplies the raw player stat.
Archive key: core-stat-with-bonus
The normal Stage banner displays the global sector count; the Stage combat branch gives enemies one level above that displayed number.
Important: Example: Stage 4000 uses enemy level 4001.
Archive key: stage-enemy-level
The Crest screen passes its displayed one-based floor into the enemy-level formula, using the confirmed base level 180 and increase of 10.
Important: Example: Crest floor 23 uses enemy level 410.
Archive key: crest-enemy-level
Each fixed stat on Hologram equipment starts at its ItemStat base value at level 1, then adds the linked per-level value for every level after the first.
Important: The item stores its own level, with a client-configured maximum of 500. Hologram Device level controls the separate 30-level unlock/probability table.
Archive key: hologram-equipment-fixed-stat
A rolled bonus stat uses its OptionSet base value plus its per-level value multiplied by the item's level.
Important: Every v1.0.4 Hologram OptionSet row has LevelValue 0, so each bonus roll is constant across item levels in this version. Rarity still changes the value.
Archive key: hologram-equipment-option-value
An equipped Digivice part starts at its BuffStat base value at level 1 and adds the linked growth value for each later level.
Important: The site models only the selectable Gear Effect equipped in each of the six sockets.
Archive key: digivice-part-stat
Publication boundary
Incomplete layers stay visible so they are never silently treated as zero.
Hit initialization from the final ATK stat is confirmed, but the complete level, equipment, bonus, collection, and buff aggregation that produces final ATK is not recovered as one safe closed form.
The metadata field exists but no confirmed table value/native fallback is published here.
ComboRateDecrease exists as a stat, but the confirmed normal-attack combo roll reads ComboRate only. No separate runtime subtraction site has been proven, so the archive does not claim that Combo Chance DOWN changes this roll.
Server reward selection and account state cannot be established from client tables.
GrowingBonus is ConvertPercent'd on FarmBuilding load and shown in tables, but no client GetValue(GrowingBonus) call site was found; planted duration appears server-set.
FarmBonusRewardRate = 50 is confirmed and shown on TimeReward FarmBonusReward (GetTimeRewardDesc). GetFarmHarvestAmount does not apply it; the Farm Lab applies +50% after building HarvestBonus when the pass toggle is on.