src/ai/api/ai_base.cpp
author truelight
Fri, 04 May 2007 22:59:59 +0000
branchnoai
changeset 9617 df9cedf12aab
parent 9440 0986434f3af8
child 9660 d0a430e8310b
permissions -rw-r--r--
(svn r9786) [NoAI] -Fix: NeighbourRoad -> NeighbourRoadCount
[NoAI] -Fix: move AITileListValuators self-defined checks to AITile so we can call it per tile (instead of only via AITileList)
/* $Id$ */

/** @file ai_base.cpp handles the functions of the AIBase class */

#include "ai_base.hpp"

uint32 AIBase::Rand()
{
	/* We pick RandomRange if we are in SP (so when saved, we do the same over and over)
	 *   but we pick InteractiveRandomRange if we are a network_server or network-client. */
	if (_networking) return InteractiveRandom();
	return ::Random();
}

uint AIBase::RandRange(uint max)
{
	/* We pick RandomRange if we are in SP (so when saved, we do the same over and over)
	 *   but we pick InteractiveRandomRange if we are a network_server or network-client. */
	if (_networking) return InteractiveRandomRange(max);
	return ::RandomRange(max);
}

bool AIBase::Chance(uint out, uint max)
{
	return (uint16)this->Rand() <= (uint16)((65536 * out) / max);
}