• Map effective impact (post-armor) to a numeric injury level, against a per-creature threshold table.

    The level is the count of thresholds the impact reaches. With the default (human) table [1, 5, 10, 15, 20] this reproduces the canonical bands (1–4 → M1, 5–9 → S2, 10–14 → S3, 15–19 → G4, 20+ → G5).

    Impact stays an absolute quantity; a bigger/tougher creature carries a table scaled up by its body bodyScale, so the same absolute impact reads differently by size — a 2-impact blow is S2 on a cat but is ignored by a cow (whose scaled M1 threshold is ≈ 2.9, so it takes ≥ 3 to leave even a minor wound). An impact below the smallest (scaled) threshold is trivial relative to that body and produces no injury. See BASE_INJURY_THRESHOLDS.

    Parameters

    • effectiveImpact: number

      Impact remaining after armor reduction.

    • thresholds: readonly number[] = BASE_INJURY_THRESHOLDS

      The per-creature level thresholds; defaults to the human BASE_INJURY_THRESHOLDS.

    Returns number

    The numeric injury level (0–5).