@randsum/daggerheart
Version:
A flexible, type-safe dice roller for building Daggerheart-compatible applications
28 lines (27 loc) • 1.14 kB
text/typescript
import { roll, validateNotation } from "@randsum/roller";
import { RollArgument, RollerRollResult, ValidationResult } from "@randsum/roller";
import { RollResult } 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 function rollDaggerheart({ rollingWith, amplifyHope, amplifyFear, modifier }: DaggerheartRollArgument): RollResult<DaggerheartRollResult>;
export { validateNotation, rollDaggerheart, roll, ValidationResult, RollerRollResult, RollArgument, DaggerheartRollResultType, DaggerheartRollResult, DaggerheartRollArgument, DaggerheartAdvantageDisadvantage };