Reference · Rolls and exact odds
patternsOffunction
Every way the dice of a spec can fall, kind by kind, each with how many of the equally likely throws fall that way. The dice of a kind are given sorted, highest first, so a reading that does not care about their order (none here does, within a kind) can be counted over thousands of patterns where there are millions of throws. Null when the dice are not plain: a reroll or an explosion has no fixed number of throws to count.
Import it
import { patternsOf } from "@johnmorrisdotca/korokoro";
Definition
function patternsOf(spec: RollSpec): { dice: Dice; ways: bigint; }[] | null
Parameters
| Name | Type | Description |
|---|---|---|
spec | RollSpec | Dice counts, sides, rules and modifier; omitted fields use the documented defaults. |
Returns
{ dice: Dice; ways: bigint; }[] | null
Every way the dice of a spec can fall, kind by kind, each with how many of the equally likely throws fall that way. The dice of a kind are given sorted, highest first, so a reading that does not care about their order (none here does, within a kind) can be counted over thousands of patterns where there are millions of throws. null when the dice are not plain: a reroll or an explosion has no fixed number of throws to count.
Examples
import { patternsOf } from "@johnmorrisdotca/korokoro";
import { normalizeSpec } from "@johnmorrisdotca/korokoro";
const spec = normalizeSpec({ count: 2, sides: 6 });
console.log(patternsOf(spec)?.length);21What it prints (run when this page was built)