UNPKG

@randsum/dice

Version:

A flexible, type-safe dice roller for tabletop RPGs, game development, and probability simulations

23 lines (18 loc) 514 B
import { coreRandom } from './coreRandom' import { generateNumericFaces } from './generateNumericFaces' export function coreSpreadRolls<F extends string | number>( quantity: number, max: number, faces?: F[] ): F[] { const facesArr = (faces ?? generateNumericFaces(max)) as F[] const result = new Array<F>(quantity) for (let i = 0; i < quantity; i++) { const randomIndex = coreRandom(max) const face = facesArr[randomIndex] if (face) { result[i] = face } } return result }