Core is zero: what difficulty actually does to enemy stats
Read from logic/difficulty-presets.json (statsAdjustmentPresets,
verbatim shipped coefficients) and logic/damage-model.json#difficulty
(DifficultyStatAdvancement) — build 20212986, patch 2.7.0x.
The difficulty grid covered rule switches. This is the other half: the seven shipped stat-adjustment tiers that scale every enemy blueprint. The punchline is what's missing from the middle of the ladder.
The seven tiers, verbatim
| Tier | Used by | HP mult | AC | Ability DC | Stat curve | |---|---|---:|---:|---:|---| | 0 | Story, hidden presets | ×0.40 | −4 | −4 (cap 14) | ×(−1), 0.5→2.0 @ CR13 | | 1 | Casual | ×0.60 | +0 | −4 (cap 18) | ×(−1), 0.5→2.0 @ CR13 | | 2 | Normal | ×0.80 | −1 | −2 (cap 22) | ×(+1), flat | | 3 | Daring | ×1.00 | +0 | −2 | ×(+1), flat | | 4 | Core | ×1.00 | +0 | +0 | none | | 5 | Hard | ×1.00 | +0 | +2 | ×(+1), 0.5→2.0 @ CR13 | | 6 | Unfair | ×1.00 | +0 | +4 | ×(+2), 0.5→2.0 @ CR13 |
(The preset-to-tier join is in the shipped data itself: each
DifficultyPreset.StatsAdjustments indexes this list — Casual 1 …
Unfair 6, Story/Custom 0.)
Core is the baseline
Tier 4 — Core — contains no adjustments at all. Every enemy's printed stats are what you fight on Core; the other tiers are offsets away from it. Casual through Daring are progressive nerfs (HP down to ×0.6, ability DCs capped as low as 18); Hard and Unfair are the only tiers that buff anything.
How the buffs scale
Hard and Unfair multiply each enemy's DifficultyStatAdvancement
bonuses by +1/+2 steps, then interpolate along challenge rating:
value × (start + (end−start) × min(1, CR / 13))
Low-CR mobs get roughly half the bonus; CR 13+ enemies get the full multiplier. On Unfair that means trash fights stay manageable while boss-tier stat blocks pull away — plus the flat +4 ability DC on every enemy caster, which is why save-or-die feels different there. (The DC anatomy covers where that term enters the spell formula.)
Reading it together with the rule grid
Combine with the damage side and the design intent is crisp:
- Casual/Normal/Daring nerf HP and saves but leave AI alone.
- Hard keeps enemy HP at baseline, adds the stat curve, extra AI behaviors, and +2 DCs.
- Unfair doubles incoming damage (damage-to-party ×2), maxes the stat curve, and adds +4 DCs — three separate multipliers, not one big one.
Full preset dumps live in our Classes-adjacent
difficulty data (logic/difficulty-presets.json).
Sources
logic/difficulty-presets.json#statsAdjustmentPresets— all seven tiers, coefficient-exact.logic/damage-model.json#difficulty.statScaling— the interpolation formula and its source component.- Build: 20212986 (patch 2.7.0x).