@alpaca-software/40kdc-data
    Preparing search index...

    Type Alias ResolvedModifiers

    Read-out of a resolved buff stack, with provenance per field.

    type ResolvedModifiers = {
        hitMod: { value: number; dominantSource: BuffSource | null };
        woundMod: { value: number; dominantSource: BuffSource | null };
        saveMod: { value: number; sources: BuffSource[] };
        cover: { active: boolean; source: BuffSource | null };
        rerolls: Partial<
            Record<
                "hit"
                | "wound"
                | "save"
                | "damage",
                { subset: "ones" | "all-failures"; dominantSource: BuffSource },
            >,
        >;
        extraKeywords: { keywordRef: WeaponKeywordRef; source: BuffSource }[];
        feelNoPain: { threshold: number; dominantSource: BuffSource } | null;
        feelNoPainMortal: { threshold: number; dominantSource: BuffSource } | null;
        damageMod: { value: number; sources: BuffSource[] };
        attacksMod: { value: number; sources: BuffSource[] };
        strengthMod: { value: number; sources: BuffSource[] };
        toughnessMod: { value: number; sources: BuffSource[] };
        apMod: { value: number; sources: BuffSource[] };
        damageReduction: { value: number; dominantSource: BuffSource | null };
        invulnerable: { threshold: number; dominantSource: BuffSource } | null;
    }
    Index

    Properties

    hitMod: { value: number; dominantSource: BuffSource | null }
    woundMod: { value: number; dominantSource: BuffSource | null }
    saveMod: { value: number; sources: BuffSource[] }
    cover: { active: boolean; source: BuffSource | null }
    rerolls: Partial<
        Record<
            "hit"
            | "wound"
            | "save"
            | "damage",
            { subset: "ones" | "all-failures"; dominantSource: BuffSource },
        >,
    >
    extraKeywords: { keywordRef: WeaponKeywordRef; source: BuffSource }[]
    feelNoPain: { threshold: number; dominantSource: BuffSource } | null

    All-wound FNP — fires on the main and mortal damage streams alike.

    feelNoPainMortal: { threshold: number; dominantSource: BuffSource } | null

    Mortal-only FNP — fires only on the mortal-wound damage stream.

    damageMod: { value: number; sources: BuffSource[] }
    attacksMod: { value: number; sources: BuffSource[] }
    strengthMod: { value: number; sources: BuffSource[] }
    toughnessMod: { value: number; sources: BuffSource[] }
    apMod: { value: number; sources: BuffSource[] }
    damageReduction: { value: number; dominantSource: BuffSource | null }

    Defender-side damage reduction. Highest-wins (multiple sources do not stack in 10e); the dominant source is the one whose value matches the surviving reduction.

    invulnerable: { threshold: number; dominantSource: BuffSource } | null

    Ability-granted invulnerable save. Best (lowest) threshold wins. null when no ability granted one; the engine still uses the unit's printed invuln_sv from the profile in that case.