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

    Type Alias BuffApplicability

    Optional gating; the resolver drops buffs whose gate fails.

    type BuffApplicability = {
        phases?: Phase[];
        rollType?: "hit" | "wound" | "save" | "damage";
        requiresTargetKeyword?: string;
        requiresAttackerKeyword?: string;
        maxRangeInches?: number;
    }
    Index

    Properties

    phases?: Phase[]
    rollType?: "hit" | "wound" | "save" | "damage"
    requiresTargetKeyword?: string

    Target must carry this keyword (case-insensitive).

    requiresAttackerKeyword?: string

    Attacker must carry this keyword (case-insensitive).

    maxRangeInches?: number

    Range-gated abilities (DSL scope.range_inches, e.g. a "within 18"" reroll): the buff applies only when the target is within this many inches. Gate is permissive when the caller leaves EngineContext.distanceInches undefined, so callers that don't track distance keep their current behavior.