# AIBase Class Reference

Class that handles some basic functions. More...

`#include <ai_base.hpp>`

Inheritance diagram for AIBase:

## Static Public Member Functions
static const char * | GetClassName ()
| Get the name of this class to identify it towards squirrel.
static uint32 | Rand ()
| Get a random value.
static uint32 | RandItem (int unused_param)
| Get a random value.
static uint | RandRange (uint max)
| Get a random value in a range.
static uint | RandRangeItem (int unused_param, uint max)
| Get a random value in a range.
static bool | Chance (uint out, uint max)
| Returns approximately 'out' times true when called 'max' times.
static bool | ChanceItem (int unused_param, uint out, uint max)
| Returns approximately 'out' times true when called 'max' times.

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

Definition at line 26 of file ai_base.hpp.

## Member Function Documentation

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.

Returns:
  True if the chance worked out.

Definition at line 43 of file ai_base.cpp.

References Rand().

Referenced by ChanceItem().

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.

Returns:
  True if the chance worked out.

Definition at line 48 of file ai_base.cpp.

References Chance().

static const char* AIBase::GetClassName | ( |  | ) | `[inline, static]`

Get the name of this class to identify it towards squirrel.

Definition at line 29 of file ai_base.hpp.

uint32 AIBase::Rand | ( |  | ) | `[static]`

Get a random value.

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

Definition at line 17 of file ai_base.cpp.

References _networking.

Referenced by Chance(), and RandItem().

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

Definition at line 25 of file ai_base.cpp.

References Rand().

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.

Definition at line 30 of file ai_base.cpp.

References _networking.

Referenced by RandRangeItem().

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

Definition at line 38 of file ai_base.cpp.

References RandRange().

The documentation for this class was generated from the following files:

- src/ai/api/ai_base.hpp
- src/ai/api/ai_base.cpp