OpenTTD GameScript API: GSBase Class Reference

OpenTTD GameScript API 14.0-RC3

Static Public Member Functions
GSBase Class Reference

Class that handles some basic functions. More...

Inheritance diagram for GSBase:

## Static Public Member Functions
static SQInteger | Rand ()
| Get a random value. More...
static SQInteger | RandItem (SQInteger unused_param)
| Get a random value. More...
static SQInteger | RandRange (SQInteger max)
| Get a random value in a range. More...
static SQInteger | RandRangeItem (SQInteger unused_param, SQInteger max)
| Get a random value in a range. More...
static bool | Chance (SQInteger out, SQInteger max)
| Returns approximately 'out' times true when called 'max' times. More...
static bool | ChanceItem (SQInteger unused_param, SQInteger out, SQInteger max)
| Returns approximately 'out' times true when called 'max' times. More...

## Detailed Description

Class that handles some basic functions.

Note
  The random functions are not called Random and RandomRange, because RANDOM_DEBUG does some tricky stuff, which messes with those names.

## Member Function Documentation

## ◆ Chance()

static bool GSBase::Chance | ( | SQInteger | out,
|  | SQInteger | max
| ) |  |
| static

Returns approximately 'out' times true when called 'max' times.

After all, it is a random function.

Parameters

  out | How many times it should return true. The value will be clamped to 0 .. MAX(uint32_t).
  max | Out of this many times. The value will be clamped to 0 .. MAX(uint32_t).

Precondition
  out is at most equal to max.

Returns
  True if the chance worked out.

## ◆ ChanceItem()

static bool GSBase::ChanceItem | ( | SQInteger | unused_param,
|  | SQInteger | out,
|  | SQInteger | max
| ) |  |
| static

Returns approximately 'out' times true when called 'max' times.

After all, it is a random function.

Parameters

  unused_param | This parameter is not used, but is needed to work with lists.
  out | How many times it should return true. The value will be clamped to 0 .. MAX(uint32_t).
  max | Out of this many times. The value will be clamped to 0 .. MAX(uint32_t).

Precondition
  out is at most equal to max.

Returns
  True if the chance worked out.

## ◆ Rand()

static SQInteger GSBase::Rand | ( |  | ) |
| static

Get a random value.

Returns
  A random value between 0 and MAX(uint32_t).

## ◆ RandItem()

static SQInteger GSBase::RandItem | ( | SQInteger | unused_param | ) |
| static

Get a random value.

Parameters

  unused_param | This parameter is not used, but is needed to work with lists.

Returns
  A random value between 0 and MAX(uint32_t).

## ◆ RandRange()

static SQInteger GSBase::RandRange | ( | SQInteger | max | ) |
| static

Get a random value in a range.

Parameters

  max | The first number this function will never return (the maximum it returns is max - 1). The value will be clamped to 0 .. MAX(uint32_t).

Returns
  A random value between 0 .. max - 1.

## ◆ RandRangeItem()

static SQInteger GSBase::RandRangeItem | ( | SQInteger | unused_param,
|  | SQInteger | max
| ) |  |
| static

Get a random value in a range.

Parameters

  unused_param | This parameter is not used, but is needed to work with lists.
  max | The first number this function will never return (the maximum it returns is max - 1). The value will be clamped to 0 .. MAX(uint32_t).

Returns
  A random value between 0 .. max - 1.