OpenTTD AI API: AIBase Class Reference

OpenTTD AI API 12.0-beta1

Static Public Member Functions
AIBase Class Reference

Class that handles some basic functions. More...

Inheritance diagram for AIBase:

## Static Public Member Functions
static uint32 | Rand ()
| Get a random value. More...
static uint32 | RandItem (int unused_param)
| Get a random value. More...
static uint | RandRange (uint max)
| Get a random value in a range. More...
static uint | RandRangeItem (int unused_param, uint max)
| Get a random value in a range. More...
static bool | Chance (uint out, uint max)
| Returns approximately 'out' times true when called 'max' times. More...
static bool | ChanceItem (int unused_param, uint out, uint 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.
  In MP we cannot use Random because that will cause desyncs (scripts are ran on the server only, not on all clients). This means that we use InteractiveRandom in MP. Rand() takes care of this for you.

## Member Function Documentation

## ◆ Chance()

static bool AIBase::Chance | ( | uint | out,
|  | uint | 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.
  max | Out of this many times.

Precondition
  out is at most equal to max.

Returns
  True if the chance worked out.

## ◆ ChanceItem()

static bool AIBase::ChanceItem | ( | int | unused_param,
|  | uint | out,
|  | uint | 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.
  max | Out of this many times.

Precondition
  out is at most equal to max.

Returns
  True if the chance worked out.

## ◆ Rand()

static uint32 AIBase::Rand | ( |  | ) |
| static

Get a random value.

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

## ◆ RandItem()

static uint32 AIBase::RandItem | ( | int | 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).

## ◆ RandRange()

static uint AIBase::RandRange | ( | uint | 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).

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

## ◆ RandRangeItem()

static uint AIBase::RandRangeItem | ( | int | unused_param,
|  | uint | 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).

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