UNPKG

@randsum/daggerheart

Version:

A flexible, type-safe dice roller for building Daggerheart-compatible applications

28 lines (27 loc) 1.14 kB
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 };