• Derive a body part's impairment from the injuries on its hit locations, its permanent impairment, and a permanent-unusable flag.

    Impairment is the worst (most negative) of {permanent impairment, each current injury} — never additive. A serious injury contributes −10, a minor (slow-healing, HR ≤ 5) −5; a grievous injury contributes no number but makes the part unusable. Permanent impairment tiers the part (a −20 arm is grievous tier) but never unuses it — only a grievous injury or the permanentlyUnusable flag does.

    Parameters

    • locationShortcodes: readonly string[]

      The shortcodes of the part's hit locations.

    • injuries: readonly LocationInjury[]

      Active injuries (any location); those not on this part are ignored.

    • permanentImpairment: number = 0

      A non-positive permanent impairment (default 0).

    • permanentlyUnusable: boolean = false

      Whether the part is permanently unusable (default false).

    Returns BodyPartImpairment

    The part's impairment, tier, usable flag, and grid status.