Concepts → Call of Cthulhu success bands

Call of Cthulhu success bands — the d100 has six outcomes, not two

BRP roll-under percentile checks produce one of six discrete outcomes off a single d100: critical, extreme, hard, regular, fail, fumble. The success-side bands are a clean cumulative ladder with closed-form ratios — extreme is exactly one-fifth of regular, hard is exactly one-half — for any canonical CoC skill (multiples of 5). The one wrinkle worth pinning: the fumble band has a discontinuity at skill 50. Fumble probability JUMPS from 2/100 at S=49 to 5/100 at S=50 — the only place in the entire skill range where raising your skill raises your catastrophic-failure rate.

The short answer

Every CoC test is a single d100 roll-under against a percentile skill S. The result lands in one of six bands:

Band Condition P at S=50 P at S=75
Critical roll = 01 1/100 1/100
Extreme roll ≤ ⌊S/5⌋ 10/100 15/100
Hard roll ≤ ⌊S/2⌋ 25/100 37/100
Regular roll ≤ S 50/100 75/100
Fail roll > S, not fumble 45/100 20/100
Fumble see below 5/100 5/100

The four success bands are cumulative: a critical is also an extreme, hard, and regular success. The two failure buckets (fail, fumble) are exclusive: P(regular) + P(fail) + P(fumble) = 1 exactly.

The closed-form ratios for skills divisible by 5

For any skill S that's a multiple of 5 — the entire canonical CoC skill range — the floor in the threshold formulas is exact. So:

P(extreme) / P(regular) = (S/5) / S = 1/5
P(hard)    / P(regular) = (S/2) / S = 1/2
P(critical) / P(regular) = (1)  / S = 1/S

"Extreme is one-fifth of regular" and "hard is one-half of regular" hold across S ∈ {5, 10, 15, ..., 95} exactly. The pillar prose can reach for these as anchors instead of recomputing from each skill. The third ratio gives a sense of how rare critical success is relative to a regular pass — a S=80 character criticals on 1/80 of their successes; a S=20 character on 1/20. Lower-skill characters get critical successes proportionally more often per regular pass, even though their absolute critical rate is the same 1/100.

For non-multiples of 5 the ratios are off by at most one in the numerator. At S=51, ⌊51/5⌋ = 10, so P(extreme) = 10/100, P(regular) = 51/100, ratio ≈ 0.196. The published CoC skill ladder uses multiples of 5, so this corner case rarely matters in practice.

The fumble cliff at skill 50

The fumble rule has two cases:

  • S < 50: fumble = roll ≥ S + 50. At S=10, fumble starts at 60 (41/100 outcomes). At S=49, fumble starts at 99 (just 2/100).
  • S ≥ 50: fumble = roll ≥ 96, a flat 5/100 regardless of skill. At S=50, S=70, S=99 — same 5/100 fumble rate.

Cross the 50-skill threshold and the fumble probability jumps up:

Skill Fumble floor P(fumble) Δ vs. previous
308021/100
409011/100−10/100
49992/100−9/100
50965/100+3/100
75965/1000
99965/1000

It's the only place in the skill range where investing in your skill makes catastrophic failure more likely. The mechanic doesn't make it narrative-natural sense — it's a clean rule cliff, the kind of detail that's invisible in build-guide prose but matters once you start counting outcomes. A character building from S=45 to S=50 raises their regular-pass rate by 5 points (45 → 50) and their fumble rate by 4 points (1 → 5).

Below S=50, fumble is dominated by the S + 50 formula and shrinks rapidly as skill rises. Above S=50, fumble is a flat 5%. So the shape of risk changes as well as the magnitude: low-skill characters are mostly failing-to-fail (regular fail vastly outweighs catastrophic fumble), high-skill characters almost never fail-without-fumbling — at S=99, P(fail) = 0, P(fumble) = 5/100, P(regular) = 95/100. Every "fail" is a "fumble" in the limit.

How the bands compose with damage rolls

CoC damage is rolled separately from the skill check, but the band the check landed in modulates the damage. Common rule conventions:

  • Regular success — roll the weapon's damage normally.
  • Hard success — usually irrelevant for damage outside opposed checks; matters for narrative gating.
  • Extreme success — apply damage modifier (DB) max, or roll-and-add max die for some weapons; some keepers rule "max damage" outright.
  • Critical (01) — typically maximum damage and often a narrative bonus (impale, knockdown, etc.).

The damage distribution is composable with the existing engine grammar — once roll_under SKILL ships as parser surface, you'll be able to write roll_under 65; on extreme: 1d6+1d6+db as a single expression. The analyzer already exists: call Diceplots.Engine.percentile_test(skill, die_mod) directly and compose the band probabilities with whatever damage roll the keeper rules apply.

The engine surface

The analyzer is one function call returning all six band probabilities as both f64 for display and exact-rational strings for the math:

{:ok, r} = Diceplots.Engine.percentile_test(50)
r.p_regular_exact   #=> "1 / 2"
r.p_fumble_exact    #=> "1 / 20"

{:ok, r} = Diceplots.Engine.percentile_test(49)
r.p_fumble_exact    #=> "1 / 50"   (the cliff: 2/100 vs 5/100 at 50)

{:ok, r} = Diceplots.Engine.percentile_test(50, :bonus)
r.p_regular_exact   #=> "3 / 4"    (bonus die at S=50)

Skill is range-checked 0..=100. The die_mod argument defaults to :none (plain d100) and accepts :bonus or :penalty for the shared-units order-statistic die mechanics. The full bonus / penalty math lives in its own pillar.

Where this matters in practice

The 6-band model surfaces design and play decisions that the "did I succeed?" binary lens hides.

Skill investment past 50. Going from S=49 to S=50 is a +5 to the regular-pass rate, but a +4 to the fumble rate too. The character builds up "competence" and "risk of catastrophe" simultaneously. For Investigator-class skills (Library Use, Spot Hidden), the fumble cost is usually narrative — finding the wrong book or jumping at shadows. For combat skills (Firearms, Brawl), fumble usually means weapon malfunction or hitting the wrong target, which is a real mechanical cost. The "stop at S=49" tactic is a known min-maxer move; the math is in this table.

Levels-of-success scaling damage. Most CoC 7e weapons have damage rules that scale with the success band (extreme = max damage, etc.). If you're tuning encounters, the ratio P(extreme) / P(regular) = 1/5 is your "how often does the maximum damage outcome fire" anchor. Five regular hits on average contain one extreme. Designing a fight around "the PCs land an extreme on this turn" is a 1/5 conditional probability, not a raw 1/10 or 1/15 on the d100.

Cross-system: any d100 roll-under. RuneQuest, Delta Green, Pendragon, Mythras — the band thresholds shift (RuneQuest's "special success" is at S/5 like CoC's extreme; Delta Green's "skill check" reads cleaner at S/2 = hard) but the cumulative-success / exclusive-failure structure is shared. The engine's percentile_test shape will parameterise cleanly when those systems ship; the math here transfers.

Common questions

Why does fumble probability jump UP between skill 49 and skill 50?
The CoC 7e rule has two cases for the fumble band. At skill < 50, fumble = roll ≥ skill+50, so a S=49 character fumbles only on roll 99 or 100 (2/100). At skill ≥ 50, fumble = roll ≥ 96, a flat 5/100 regardless of skill. As the character crosses the 50-skill threshold, fumble probability jumps from 2/100 to 5/100 — a 2.5× increase. It's the one place in the entire skill range where increasing your skill increases your catastrophic failure rate. The pillar covers why the rule was designed this way (low-skill checks are mostly failures anyway, so the wide fumble band there reflects untrained-character danger; high-skill checks need a non-trivial fumble band to keep mishaps possible).
Why is extreme success exactly one-fifth of regular success?
Because the threshold is exactly that: extreme caps at floor(S/5), regular caps at S. For any S divisible by 5 — which covers most canonical CoC skill values (5, 10, 15, ..., 95) — the floor function is exact, so P(extreme) / P(regular) = (S/5) / S = 1/5. For non-multiples of 5 the ratio is slightly off due to the floor: at S=51, P(extreme) = 10/100 (floor(51/5) = 10), P(regular) = 51/100, ratio = 10/51 ≈ 0.196 ≈ 1/5.1. The closed-form result lets pillar prose state results without re-deriving from skill values.
Doesn't a critical success at low skill break the band hierarchy?
The math has a corner case: at skill ≤ 4, floor(S/5) = 0, so the extreme threshold drops to 0 and naively P(extreme) = 0/100 < P(critical) = 1/100. The engine resolves this with critical promotion: any roll of 01 is treated as a critical, and therefore an extreme, hard, regular success too. This preserves the cumulative invariant P(critical) ≤ P(extreme) ≤ P(hard) ≤ P(regular) at every skill, including pathologically low ones. Practically the promotion only kicks in at skill ≤ 4 where it's a single-outcome carve-out.
How do the bands relate to the bonus / penalty die?
Bonus / penalty die rolls an extra tens-d10 with shared units. Take the better (lower) result for bonus, the worse (higher) for penalty. The full math has its own pillar at /concepts/coc-bonus-penalty-die. Headline number: at skill 50, a bonus die lifts P(regular) from 50/100 to 75/100; a penalty die drops it to 25/100. Both deltas are proportional to how close the skill is to 50; bonus / penalty die effects shrink as skill approaches 0 or 100 (already mostly fail or mostly pass).