Random number generator
The RNG object is available as salet.rnd
.
Unlike Math.random
, Salet's version of RNG is predictable: the generator gives the same numbers when initialized with the same seed value. That's why it won't change the result after saving and loading the game.
The generator produces pseudo-random numbers with a perion of 2³². That should be enough for most games.
The multiplier
, modulo
, offset
properties are system RNG properties. If you don't know what they are, you probably shouldn't change them.
CoffeeScript properties
modulo
2³² - 1 value.
CoffeeScript methods
randn
Returns a pseudorandom integer number bigger or equal to 0
and less than modulo
randf
Returns a pseudorandom floating point number bigger or equal to 0
and less than 1
.
rand
Returns a pseudorandom integer number bigger or equal to 0
and less than n
Argument: a number n
, any number
randomInt
An alias for rand method.
randomElement
Returns a random element from the supplied array.
Argument: an array of elements.
randRange
Returns a pseudorandom integer number bigger or equal to min
and less than max
. The number will be integer if min
is integer too.
Argument 1: a number min
, any number
Argument 2: a number max
, any number
dice
Returns a result of throwing n
dice which have dx
faces each. The plus
value is added to the result.
Argument 1: n
- integer number
Argument 2: dx
- integer number
Argument 3: plus
- a number, optional argument
diceString
Returns a result of throwing n
dice which have dx
faces each. The plus
value is added to the result.
This method accepts one argument instead of three: a string in the form of NdX+plus
. By default, plus = 0
, n = 1
In addition to the usual number of faces, this method also understands cubes dF
- the so-called "fudge dice", and d%
- a percentage cube d100.
Argument 1: a string like NdX+plus
odds
Returns a chance in percents of the value +
the value that would be on a dice with n
faces would be greater than the target
value.
Argument 1: value
- initial value
Argument 2: target
- target value
Argument 3: n
- amount of dice faces
seed
The initial seed that initializes the generator. By default, Salet uses current time (with millisecond precision)
Argument: integer value that should be much less than modulo
getSeed
The method that returns the seed
value.