# 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.

2³² - 1 value.

### 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.