Reference · Rolls and exact odds
DiceGrouptype
Some dice of one kind, with their own rules: the 2d20kh1 of
2d20kh1+1d4. The optional fields are left out of a group that does not
use them.
Import it
import type { DiceGroup } from "@johnmorrisdotca/korokoro";
Definition
type DiceGroup = {
count: number;
sides: Sides;
keep: Keep;
keepCount?: number;
explode?: true;
reroll?: number;
rerollUntil?: number;
rerollWhen?: Compare;
rerollUntilWhen?: Compare;
explodeWhen?: Compare;
explodeKind?: ExplodeKind;
floor?: number;
ceiling?: number;
success?: Compare;
failure?: Compare;
critical?: Compare;
fumble?: Compare;
sort?: "ascending" | "descending";
unique?: true;
faces?: CustomFace[];
weights?: number[];
};
Members
| Name | Type | Description |
|---|---|---|
count | number | How many dice: at least 1, and no more than |
sides | Sides | The kind of die: 2 to 1000 sides, or "F" for a Fate die. |
keep | Keep | Which dice count towards the total. |
keepCount (optional) | number | undefined | How many dice |
explode (optional) | true | undefined | A die showing its highest face throws another, which may do the same. Left out when the dice do not explode. |
reroll (optional) | number | undefined | A die showing this face or lower is thrown again, once, and the new face stands: |
rerollUntil (optional) | number | undefined | A die showing this face or lower is thrown again until it shows more, up to |
rerollWhen (optional) | Compare | undefined | A die meeting this is thrown again, once: |
rerollUntilWhen (optional) | Compare | undefined | A die meeting this is thrown again until it does not, up to |
explodeWhen (optional) | Compare | undefined | With |
explodeKind (optional) | ExplodeKind | undefined | With |
floor (optional) | number | undefined | The least a die counts for: a face below it counts as it. |
ceiling (optional) | number | undefined | The most a die counts for: a face above it counts as it. |
success (optional) | Compare | undefined | The dice are counted, not added: each die meeting this is one success, and the total is how many. |
failure (optional) | Compare | undefined | With |
critical (optional) | Compare | undefined | Dice meeting this are marked as critical successes. Only a mark: the total is the same. |
fumble (optional) | Compare | undefined | Dice meeting this are marked as critical failures. Only a mark. |
sort (optional) | "ascending" | "descending" | undefined | The order the dice are shown in: |
unique (optional) | true | undefined | The dice all show different faces: each is thrown from the faces not yet showing, which comes to the same as rerolling any duplicate until there is none. |
faces (optional) | CustomFace[] | undefined | A custom die: its faces, in order, and |
weights (optional) | number[] | undefined | A loaded die: how heavily each face is weighted, from the lowest face up,
where a fair die has every face at 1. |
Examples
import type { DiceGroup } from "@johnmorrisdotca/korokoro";
const value: DiceGroup = { count: 2, sides: 6, keep: "all" };
console.log(value.count);2What it prints (run when this page was built)