Diceplots → Games → Diablo 4

Diablo 4 damage math — crit chance + Critical Strike Damage as exact rationals

D4 has no to-hit roll — every attack lands. The variance comes from the crit chance / Critical Strike Damage interaction, plus a stack of multiplicative damage buckets. The engine models the crit-vs-CSD path exactly; multi-bucket damage stacking and Lucky Hit / armor / EHP are tracked as upcoming work.

The damage formula

D4 attacks always hit. Full per-attack expected damage with multiple multiplicative buckets:

damage = base × (1 + crit_chance × (csd_mult − 1)) × (1 + mult_a) × (1 + mult_b) × …

Where:

  • csd_mult is the total crit multiplier — 1.5 baseline (no CSD stat), 2.5 with +100% Critical Strike Damage, 3.5 with +200%, etc.
  • Each mult_X is a separate multiplicative bucket — Vulnerable, Overpower, Berserk, conditional damage, weapon / skill multipliers. They compound multiplicatively, NOT additively. See the additive vs multiplicative pillar for the math literacy.

Engine grammar:

<base> @ hit 100 crit <N>% csd <M>% boost <X>% boost <Y>% …

Always-hit (hit 100), N% crit chance, crit deals M% of base damage, then each boost X% adds another multiplicative bucket (× (1 + X/100)). Multiple boost instances compose multiplicatively. Example: 100 @ hit 100% crit 30% csd 350% boost 25% boost 30% models a build with two separate multiplicative buckets stacking on top of the crit math.

Worked examples

Build context Expression Strike URL
Baseline (no CSD stat) 100 @ hit 100 crit 30 csd 150 /strike/100~hit100crit30csd150
+100% CSD endgame 100 @ hit 100 crit 30 csd 250 /strike/100~hit100crit30csd250
+200% CSD high-end 100 @ hit 100 crit 30 csd 350 /strike/100~hit100crit30csd350
+400% CSD mythic-uniques 100 @ hit 100 crit 50 csd 550 /strike/100~hit100crit50csd550

Each strike URL renders the full distribution and the expected per-attack damage. Drag the HP slider to compare against monster HP totals (e.g., NM Dungeon trash ~1k HP, Torment IV elites ~50k+).

The crit-vs-additive breakeven

The most-asked D4 build question: should I stack +1% crit chance or +1% additive damage on this affix slot? The answer depends on your current CSD. Closed-form derivation and breakeven table:

Crit chance breakeven pillar

What damage profile clears each Torment Tier?

Strike-threshold framework for "you need X damage for T4" build-guide claims. Closed form for low-variance builds plus the variance correction for crit-heavy profiles:

Expected damage by Torment Tier

What the engine doesn't model yet

D4 builds typically combine many multipliers and gating effects. Engine coverage today is the crit-vs-CSD path. The following are tracked for upcoming ARPG increments:

  • Lucky Hit chance: gates secondary-effect procs (chill, poison, freeze). Independent roll on each hit, separate from crit. Engine has no proc-gate primitive.
  • Armor mitigation curve: DR = armor / (armor + 5 × monster_level + 850). Current engine has flat dr<n> only.
  • Effective HP (EHP): full defensive pipeline (resistance × armor × block × dodge). Pairs with armor mitigation as a defensive-math pillar.
  • Damage Over Time (bleed / poison / burn): separate damage stack with its own tick rate. Out of scope for the per-hit attack model.
  • Tooltip DPS vs effective DPS: tooltip shows per-hit damage; real DPS = damage × attack_speed × uptime. Worth its own pillar.

Inbound questions in these categories are routed to manual triage pending engine support. Submit feedback through the comparison tool or strike pages and the math gaps get tracked.

The D4 attack model shares its outcome-decomposition machinery with the XCOM 2 game page (XCOM uses the same percentage-attack pipeline with hit/crit/graze/miss; D4 is the always-hit / crit / CSD subset). Both games surface what tooltip averages hide: the distribution shape, not just the mean.