_________ __ __ / _____// |_____________ _/ |______ ____ __ __ ______ \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > \/ \/ \//_____/ \/ ______________________ ______________________ T H E W A R B E G I N S Stratagus - A free fantasy real time strategy game engine
#include "stratagus.h"
#include "ai.h"
#include "ai_local.h"
#include "actions.h"
#include "action/action_attack.h"
#include "commands.h"
#include "iolib.h"
#include "map.h"
#include "pathfinder.h"
#include "player.h"
#include "script.h"
#include "unit.h"
#include "unit_manager.h"
#include "unittype.h"
#include "upgrade.h"
ai.cpp - The computer player AI main file. | |
int | AiSleepCycles |
std::vector< CAiType * > | AiTypes |
Ai sleeps # cycles. More... | |
AiHelper | AiHelpers |
List of all AI types. More... | |
PlayerAi * | AiPlayer |
AI helper variables. More... | |
static void | AiExecuteScript () |
Current AI player. More... | |
static void | AiCheckUnits () |
static void | SaveAiPlayer (CFile &file, int plynr, const PlayerAi &ai) |
void | SaveAi (CFile &file) |
Free the AI resources. More... | |
void | AiInit (CPlayer &player) |
Init AI global structures. More... | |
void | InitAiModule () |
Called each second. More... | |
void | CleanAi () |
Init AI for this player. More... | |
void | FreeAi () |
Cleanup the AI module. More... | |
static int | AiRemoveFromBuilt2 (PlayerAi *pai, const CUnitType &type) |
static void | AiRemoveFromBuilt (PlayerAi *pai, const CUnitType &type) |
static bool | AiReduceMadeInBuilt2 (PlayerAi &pai, const CUnitType &type) |
void | AiReduceMadeInBuilt (PlayerAi &pai, const CUnitType &type) |
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 | 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... | |
static void | AiMoveUnitInTheWay (CUnit &unit) |
void | AiCanNotMove (CUnit &unit) |
Called if an AI unit can't move. More... | |
void | AiNeedMoreSupply (const CPlayer &player) |
Called if AI needs more farms. 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... | |
void | AiEachCycle (CPlayer &player) |
Ai sleeps # cycles. More... | |
void | AiEachSecond (CPlayer &player) |
Called each game cycle. More... | |
Called if AI unit can't build.
Called if building can't be build.
unit | Pointer to unit what builds the building. |
what | Pointer to unit-type. |
Called if an AI unit can't move.
Called if a unit can't move. Try to move unit in the way
unit | Pointer to unit what builds the building. |
Called if AI unit can't reach building place.
Called if building place can't be reached.
unit | Pointer to unit what builds the building. |
what | Pointer to unit-type. |
|
static |
Check if everything is fine, send new requests to resource manager.
Ai sleeps # cycles.
This is called for each player, each game cycle.
player | The player structure pointer. |
Called each game cycle.
This is called for each player each second.
player | The player structure pointer. |
|
static |
Current AI player.
Execute the AI Script.
Called if AI unit is attacked.
Called if a Unit is Attacked
attacker | Pointer to attacker unit. |
defender | Pointer to unit that is being attacked. |
Init AI global structures.
Setup all at start.
player | The player structure pointer. |
Called if AI needs more farms.
Called if the AI needs more farms.
player | player which need supply. |
Reduce made unit-type from build list.
pai | Computer AI player. |
type | Unit-type which is now available. |
Reduce made unit-type from build list.
pai | Computer AI player. |
type | Unit-type which is now available. |
Remove unit-type from build list.
pai | Computer AI player. |
type | Unit-type which is now available. |
Remove unit-type from build list.
pai | Computer AI player. |
type | Unit-type which is now available. |
Called if AI unit has completed research.
Called if reseaching of an unit is completed.
unit | Pointer to unit working. |
what | Pointer to the new upgrade. |
Called if AI unit has completed training.
Called if training of a unit is completed.
unit | Pointer to unit making. |
what | Pointer to new ready trained unit. |
Called if AI unit is killed.
Called if a unit is killed.
unit | Pointer to unit. |
Called if AI unit has completed upgrade to.
Called if upgrading of an unit is completed.
unit | Pointer to unit working. |
what | Pointer to the new unit-type. |
Called if AI unit has completed work.
Called if work complete (Buildings).
unit | Pointer to unit that builds the building. |
what | Pointer to unit building that was built. |
void CleanAi | ( | ) |
Init AI for this player.
Cleanup the AI in order to enable to restart a game.
void FreeAi | ( | ) |
Cleanup the AI module.
Free all AI resources.
void InitAiModule | ( | ) |
Called each second.
Initialize global structures of the AI
Free the AI resources.
Save state of AI to file.
file | Output file. |
Save state of player AI.
file | Output file. |
plynr | Player number. |
ai | Player AI. |
AiHelper AiHelpers |
List of all AI types.
PlayerAi* AiPlayer |
AI helper variables.
equivalence between unittypes
int AiSleepCycles |
std::vector<CAiType *> AiTypes |
Ai sleeps # cycles.