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 DROPS from 5/100 at S=49 to 1/100 at S=50 — a 5× decrease that rewards crossing into trained-skill territory.
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 | 49/100 |
24/100 |
| Fumble | see below | 1/100 |
1/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
Per the CoC 7e Keeper Rulebook, the fumble rule has two cases:
- S < 50 (untrained): fumble = roll in 96–100, a flat 5/100 regardless of how low the skill is.
- S ≥ 50 (trained): fumble = roll = 100 only, a flat 1/100 regardless of how high the skill is.
Cross the 50-skill threshold and the fumble probability drops by 5×:
| Skill | Fumble band | P(fumble) | Δ vs. previous |
|---|---|---|---|
10 | 96–100 | 5/100 | — |
30 | 96–100 | 5/100 | 0 |
49 | 96–100 | 5/100 | 0 |
50 | 100 only | 1/100 | −4/100 |
75 | 100 only | 1/100 | 0 |
99 | 100 only | 1/100 | 0 |
The cliff rewards investment specifically at the trained threshold — getting any skill up from 49 to 50 cuts your catastrophic-failure rate by 5×, more than any other one-point skill bump in the system. Below the threshold, fumble rate is a flat 5%; above it, a flat 1%. (The engine previously implemented an older BRP "fumble at skill+50 to 100" rule that ramped much harder at low skill — corrected to the published 7e rule.)
The shape of failure also changes across the threshold: low-skill characters are mostly failing-to-fail (regular fail vastly outweighs catastrophic fumble at any S), high-skill characters almost never fumble — at S=99, P(fail) = 0, P(fumble) = 1/100, P(regular) = 99/100. Every hundredth roll is the fumble; everything else passes.
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 DROP between skill 49 and skill 50?
- Per the CoC 7e Keeper Rulebook, the fumble band has two cases. At skill < 50 (untrained), 96–100 are all fumbles — 5/100. At skill ≥ 50 (trained), only a natural 100 fumbles — 1/100. As the character crosses the 50-skill threshold, fumble probability drops from 5/100 to 1/100 — a 5× decrease. It's a strong mechanical reward for getting any skill above the trained threshold, and it's the only place in the skill range where the fumble probability changes discontinuously. (Note: the engine previously implemented an older BRP "fumble at skill+50 to 100" rule that was much harsher at low skill — corrected to the published 7e rule.)
- 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).