Feel-no-pain: roll one D6 per unsaved wound at threshold+, ignoring the
wound on a pass. scope controls which wound stream it applies to:
"all" (default): every unsaved wound (main + mortal)."mortal": mortal-wound stream only (e.g. Death Guard 5+ FNP vs
mortals). A target may carry both an all-FNP and a mortal-FNP; the
engine rolls both against mortals.Additive modifier to the attacker's per-model attack count (A stat).
Additive modifier to the attacker's Strength stat.
Additive modifier to the defender's Toughness stat.
Additive modifier to the attacker's weapon AP. AP is signed against the
defender's save (negative = more piercing), so a value of -1 here makes
the weapon one AP more piercing.
Defender-side: subtract value from each unsaved damage point (floored at
1 by the engine). Multiple sources do NOT stack in 10e — the largest
reduction wins. The corpus also encodes "half" and "to-zero"
reductions; the buff layer only models the additive form because the
other two are typically one-use ablation that doesn't fold into the
expected-value math cleanly.
Defender-side: ability-granted invulnerable save threshold (e.g. a buff
that grants a 4+ invuln). Best (lowest) threshold wins; the engine then
picks the better of printed Sv after AP/cover and effective invuln
(invuln bypasses both AP and cover).
One typed contribution; the engine reads
ResolvedModifiersfor the rest.