• Public
  • Public/Protected
  • All

Pseudo-random number generator following the Mersenne_Twister algorithm. Given a seed this generator will produce the same sequence of numbers each time it is called. See https://en.wikipedia.org/wiki/Mersenne_Twister for more details. Uses the MT19937-32 (2002) implementation documented here http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html


  • Random



  • new Random(seed?: number): Random
  • If no seed is specified, the Date.now() is used


    • Optional seed: number

    Returns Random


seed?: number


  • bool(likelihood?: number): boolean
  • Returns true or false randomly with 50/50 odds by default. By default the likelihood of returning a true is .5 (50%).


    • likelihood: number = 0.5

      takes values between [0, 1]

    Returns boolean

  • d10(): number
  • d12(): number
  • d20(): number
  • d4(): number
  • d6(): number
  • d8(): number
  • floating(min: number, max: number): number
  • Return a random floating point in range [min, max) min is included, max is not included


    • min: number
    • max: number

    Returns number

  • integer(min: number, max: number): number
  • next(): number
  • Return a random floating point number between [0, 1)

    Returns number

  • nextInt(): number
  • Return next 32 bit integer number in sequence

    Returns number

  • pickOne<T>(array: T[]): T
  • Returns one element from an array at random

    Type Parameters

    • T


    • array: T[]

    Returns T

  • pickSet<T>(array: T[], numPicks: number, allowDuplicates?: boolean): T[]
  • Returns a new array random picking elements from the original

    Type Parameters

    • T


    • array: T[]

      Original array to pick from

    • numPicks: number

      can be any positive number

    • allowDuplicates: boolean = false

      indicates whether the returned set is allowed duplicates (it does not mean there will always be duplicates just that it is possible)

    Returns T[]

  • range(length: number, min: number, max: number): number[]
  • Generate a list of random integer numbers


    • length: number

      the length of the final array

    • min: number

      the minimum integer number to generate inclusive

    • max: number

      the maximum integer number to generate inclusive

    Returns number[]

  • shuffle<T>(array: T[]): T[]