@randsum/daggerheart
Version:
A flexible, type-safe dice roller for building Daggerheart-compatible applications
26 lines (25 loc) • 933 B
TypeScript
import { GameRollResult, RollRecord } from "@randsum/roller";
type DaggerheartAdvantageDisadvantage = "Advantage" | "Disadvantage";
interface DaggerheartRollArgument {
modifier?: number;
rollingWith?: DaggerheartAdvantageDisadvantage;
amplifyHope?: boolean;
amplifyFear?: boolean;
}
type DaggerheartRollResultType = "hope" | "fear" | "critical hope";
interface DaggerheartRollRecord {
roll: number;
amplified?: boolean;
}
interface DaggerheartRollResult {
total: number;
type: DaggerheartRollResultType;
details: {
hope: DaggerheartRollRecord;
fear: DaggerheartRollRecord;
modifier: number;
advantage: DaggerheartRollRecord | undefined;
};
}
declare const roll: (arg: DaggerheartRollArgument) => GameRollResult<DaggerheartRollResult["type"], DaggerheartRollResult["details"], RollRecord>;
export { roll, DaggerheartRollResultType, DaggerheartRollResult, DaggerheartRollArgument, DaggerheartAdvantageDisadvantage };