_________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
                   Stratagus - A free fantasy real time strategy game engine

ai.h File Reference

Go to the source code of this file.

ai.h - The ai headerfile.

int AiSleepCycles
 
void AiEachCycle (CPlayer &player)
 Ai sleeps # cycles. More...
 
void AiEachSecond (CPlayer &player)
 Called each game cycle. More...
 
void InitAiModule ()
 Called each second. More...
 
void AiInit (CPlayer &player)
 Init AI global structures. More...
 
void CleanAi ()
 Init AI for this player. More...
 
void FreeAi ()
 Cleanup the AI module. More...
 
void SaveAi (CFile &file)
 Free the AI resources. More...
 
void AiCclRegister ()
 Save the AI state. More...
 
void AiAttackWithForceAt (unsigned int force, int x, int y)
 Register ccl features. More...
 
void AiAttackWithForce (unsigned int force)
 Attack with force. More...
 
void AiHelpMe (const CUnit *attacker, CUnit &defender)
 Called if AI unit is attacked. More...
 
void AiUnitKilled (CUnit &unit)
 Called if AI unit is killed. More...
 
void AiNeedMoreSupply (const CPlayer &player)
 Called if AI needs more farms. More...
 
void AiWorkComplete (CUnit *unit, CUnit &what)
 Called if AI unit has completed work. More...
 
void AiCanNotBuild (const CUnit &unit, const CUnitType &what)
 Called if AI unit can't build. More...
 
void AiCanNotReach (CUnit &unit, const CUnitType &what)
 Called if AI unit can't reach building place. More...
 
void AiCanNotMove (CUnit &unit)
 Called if an AI unit can't move. More...
 
void AiTrainingComplete (CUnit &unit, CUnit &what)
 Called if AI unit has completed training. More...
 
void AiUpgradeToComplete (CUnit &unit, const CUnitType &what)
 Called if AI unit has completed upgrade to. More...
 
void AiResearchComplete (CUnit &unit, const CUpgrade *what)
 Called if AI unit has completed research. More...
 

Function Documentation

◆ AiAttackWithForce()

void AiAttackWithForce ( unsigned int  force)

Attack with force.

Attack opponent with force.

Parameters
forceForce number to attack with.

◆ AiAttackWithForceAt()

void AiAttackWithForceAt ( unsigned int  force,
int  x,
int  y 
)

Register ccl features.

Attack with force at position

Register ccl features.

Attack at position with force.

Parameters
forceForce number to attack with.
xX tile map position to be attacked.
yY tile map position to be attacked.

◆ AiCanNotBuild()

void AiCanNotBuild ( const CUnit unit,
const CUnitType what 
)

Called if AI unit can't build.

Called if building can't be build.

Parameters
unitPointer to unit what builds the building.
whatPointer to unit-type.

◆ AiCanNotMove()

void AiCanNotMove ( CUnit unit)

Called if an AI unit can't move.

Called if a unit can't move. Try to move unit in the way

Parameters
unitPointer to unit what builds the building.

◆ AiCanNotReach()

void AiCanNotReach ( CUnit unit,
const CUnitType what 
)

Called if AI unit can't reach building place.

Called if building place can't be reached.

Parameters
unitPointer to unit what builds the building.
whatPointer to unit-type.

◆ AiCclRegister()

void AiCclRegister ( )

Save the AI state.

Register CCL features for unit-type.

◆ AiEachCycle()

void AiEachCycle ( CPlayer player)

Ai sleeps # cycles.

This is called for each player, each game cycle.

Parameters
playerThe player structure pointer.

◆ AiEachSecond()

void AiEachSecond ( CPlayer player)

Called each game cycle.

This is called for each player each second.

Parameters
playerThe player structure pointer.

◆ AiHelpMe()

void AiHelpMe ( const CUnit attacker,
CUnit defender 
)

Called if AI unit is attacked.

Called if a Unit is Attacked

Parameters
attackerPointer to attacker unit.
defenderPointer to unit that is being attacked.

◆ AiInit()

void AiInit ( CPlayer player)

Init AI global structures.

Setup all at start.

Parameters
playerThe player structure pointer.

◆ AiNeedMoreSupply()

void AiNeedMoreSupply ( const CPlayer player)

Called if AI needs more farms.

Called if the AI needs more farms.

Parameters
playerplayer which need supply.

◆ AiResearchComplete()

void AiResearchComplete ( CUnit unit,
const CUpgrade what 
)

Called if AI unit has completed research.

Called if reseaching of an unit is completed.

Parameters
unitPointer to unit working.
whatPointer to the new upgrade.

◆ AiTrainingComplete()

void AiTrainingComplete ( CUnit unit,
CUnit what 
)

Called if AI unit has completed training.

Called if training of a unit is completed.

Parameters
unitPointer to unit making.
whatPointer to new ready trained unit.

◆ AiUnitKilled()

void AiUnitKilled ( CUnit unit)

Called if AI unit is killed.

Called if a unit is killed.

Parameters
unitPointer to unit.

◆ AiUpgradeToComplete()

void AiUpgradeToComplete ( CUnit unit,
const CUnitType what 
)

Called if AI unit has completed upgrade to.

Called if upgrading of an unit is completed.

Parameters
unitPointer to unit working.
whatPointer to the new unit-type.

◆ AiWorkComplete()

void AiWorkComplete ( CUnit unit,
CUnit what 
)

Called if AI unit has completed work.

Called if work complete (Buildings).

Parameters
unitPointer to unit that builds the building.
whatPointer to unit building that was built.

◆ CleanAi()

void CleanAi ( )

Init AI for this player.

Cleanup the AI in order to enable to restart a game.

◆ FreeAi()

void FreeAi ( )

Cleanup the AI module.

Free all AI resources.

◆ InitAiModule()

void InitAiModule ( )

Called each second.

Initialize global structures of the AI

◆ SaveAi()

void SaveAi ( CFile file)

Free the AI resources.

Save state of AI to file.

Parameters
fileOutput file.

Variable Documentation

◆ AiSleepCycles

int AiSleepCycles
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.