Guide · 2026-08-29

How is damage actually calculated? The formula, and the one rule that matters

✍️ Alice・愛麗沙

⚠️ Every formula below is a KR community model, not an official one. Nexon has published stat values, never math. TW runs the same Season-0 skeleton with no official numbers to check the constants against; a future global client could differ again. Trust what your own panel measures over any table, ours included.

Why a live game’s damage formula has to be reverse-engineered

Because the operator genuinely never gave one. Skill text says “deals XX% of Attack” — how Attack assembles from stats, gear and enchants, and how the various enhancement percentages interact, appears nowhere in the client. The KR community filled the gap the slow way: training dummies, one variable swapped at a time via potions, outputs logged, the chain inferred.

The reason this model is trustworthy enough to power calculators is cross-verification: a long-maintained KR formula post and an independent KR calculator whose math ships in its page source — different authors, different methods — use the same seven magic constants (8500, 13000, 17500, 5250, 5000, 2000, 1.4). Two people don’t independently arrive at the same seven-digit set by accident.

So every claim below keeps its provenance: measured, derived (arithmetic on measured numbers), or the author’s own assumption. None of it is official, and we won’t dress any of it as official.

The chain: twelve multiplicative stages

The chain has two kinds of stages. The front half — Attack, Attack%, damage-increase, the enhancement bucket, gems — is what you build every day; it ratchets your baseline. The back half — crit, break/exposed, counter, pursuit — is roll-based: decided at the instant of the hit, and multiplicative with each other. A crit that lands inside a break window as a pursuit hit stacks three multiplied layers — that’s where the occasional absurd number on your screen comes from.

The outermost stage (final-damage increase) multiplies everything already computed — final damage %, accessory transcendence, and (KR S2 only) the mado-resistance differential live there. That’s why each point of it is the most valuable in the game: it multiplies a total the other eleven stages already inflated.

Same bucket adds, different buckets multiply

This rule outranks every individual number. Walk the KR community’s own example: 1,000 Attack, a 300% skill coefficient, +20% Attack-increase, +10% damage-increase.

Order of operations: Attack takes its own bucket first, 1000 × 1.2 = 1200; times the skill coefficient, ×3 = 3600; then the damage-increase bucket, ×1.1 = 3960.

Notice what didn’t happen: 20% and 10% never summed to 30% — different buckets, multiplied in separately. Conversely, three damage-increase sources of 10%, 9% and 24% live in one bucket: they add to 43% first, then multiply in once.

That’s the entire logic of “switch buckets”: a stacked bucket dilutes each new point across a big denominator; an empty bucket multiplies your investment against a base near 1. It’s also why “+20% attack” is worth wildly different amounts depending on where in the chain it sits.

The exchange rates: what +100 of each stat buys

Enhancement-type stats enter the chain as (1 + value ÷ divisor). Smaller divisor, dearer point:

StatDivisorNotes (provenance)
Multi-hit8,500Shares one pool with Smash — only the sum matters (KR, dummy-measured; swapping the two changed damage by zero down to the ones digit)
Smash8,500Same pool as Multi-hit
AoE8,500Same bucket; only applies against 2+ targets
Combo17,500Worth roughly half; additionally scaled by combo tier — full value only at 100+ combo
Ultimate8,750Medium confidence only
Skill power8,500Different bucket (multiplies the enhancement bucket rather than diluting it)
Crit—Closed form: expected damage = 1 + crit/10,000 (our re-derivation matches the KR measured table with zero error)
Boss defence14,828Mitigation = 1 ÷ (1 + DEF/14,828); never reaches zero

Read the table with its warning label: every column is a marginal value from zero. Diminishing returns aren’t a second rule — they’re built into (1 + value ÷ divisor). So “get crit to 3,000 and stop” isn’t a mechanical wall; it’s an economic crossover on a smooth curve where the same resource pays more in another bucket. This is also why a good calculator must recompute from your panel instead of memorising a fixed ranking — ours does exactly that: stat efficiency for the whole sheet, the next-100-points ranker for the six enhancement stats.

What the model’s own authors flag as unknown — we won’t fill it in

None of this is a reason to distrust the model — it’s the model’s boundary, drawn honestly. Two independent implementations agreeing on seven constants is as good as unofficial gets; the parts they disagree on are labelled above, and on a server without official numbers, that labelling is the whole product.