Namespaces | Defines | Functions | Variables

ai/lua/core.cpp File Reference

Provides core classes for the Lua AI. More...

#include "lua/lualib.h"
#include "lua/lauxlib.h"
#include "lua/llimits.h"
#include <cassert>
#include <cstring>
#include "core.hpp"
#include "../../scripting/lua.hpp"
#include "../../scripting/lua_api.hpp"
#include "lua_object.hpp"
#include "../../actions.hpp"
#include "../../attack_prediction.hpp"
#include "../../filesystem.hpp"
#include "../../foreach.hpp"
#include "../../game_display.hpp"
#include "../../gamestatus.hpp"
#include "../../log.hpp"
#include "../../map.hpp"
#include "../../pathfind/pathfind.hpp"
#include "../../play_controller.hpp"
#include "../../resources.hpp"
#include "../../terrain_translation.hpp"
#include "../../terrain_filter.hpp"
#include "../../unit.hpp"
#include "../actions.hpp"
#include "../composite/engine_lua.hpp"
#include "../composite/contexts.hpp"
Include dependency graph for core.cpp:

Go to the source code of this file.

Namespaces

namespace  ai
 

A small explanation about what's going on here: Each action has access to two game_info objects First is 'info' - real information Second is 'subjective info' - AIs perception of what's going on So, when we check_before action, we use 'subjective info' and don't touch real 'info' at all.


Defines

#define LOG_LUA   LOG_STREAM(info, log_ai_engine_lua)
#define ERR_LUA   LOG_STREAM(err, log_ai_engine_lua)

Functions

static void ai::push_map_location (lua_State *L, const map_location &ml)
static void ai::push_attack_analysis (lua_State *L, attack_analysis &)
static ai::engine_luaai::get_engine (lua_State *L)
static ai::readonly_contextai::get_readonly_context (lua_State *L)
static int ai::transform_ai_action (lua_State *L, ai::action_result_ptr action_result)
static bool ai::to_map_location (lua_State *L, int &index, map_location &res)
static int ai::cfun_ai_get_suitable_keep (lua_State *L)
static int ai::ai_move (lua_State *L, bool exec, bool remove_movement)
static int ai::cfun_ai_execute_move_full (lua_State *L)
static int ai::cfun_ai_execute_move_partial (lua_State *L)
static int ai::cfun_ai_check_move (lua_State *L)
static int ai::ai_attack (lua_State *L, bool exec)
static int ai::cfun_ai_execute_attack (lua_State *L)
static int ai::cfun_ai_check_attack (lua_State *L)
static int ai::ai_stopunit_select (lua_State *L, bool exec, bool remove_movement, bool remove_attacks)
static int ai::cfun_ai_execute_stopunit_moves (lua_State *L)
static int ai::cfun_ai_execute_stopunit_attacks (lua_State *L)
static int ai::cfun_ai_execute_stopunit_all (lua_State *L)
static int ai::cfun_ai_check_stopunit (lua_State *L)
static int ai::ai_recruit (lua_State *L, bool exec)
static int ai::cfun_ai_execute_recruit (lua_State *L)
static int ai::cfun_ai_check_recruit (lua_State *L)
static int ai::ai_recall (lua_State *L, bool exec)
static int ai::cfun_ai_execute_recall (lua_State *L)
static int ai::cfun_ai_check_recall (lua_State *L)
static int ai::cfun_ai_get_targets (lua_State *L)
static int ai::cfun_ai_get_aggression (lua_State *L)
static int ai::cfun_ai_get_attack_depth (lua_State *L)
static int ai::cfun_ai_get_attacks (lua_State *L)
static int ai::cfun_ai_get_avoid (lua_State *L)
static int ai::cfun_ai_get_caution (lua_State *L)
static int ai::cfun_ai_get_grouping (lua_State *L)
static int ai::cfun_ai_get_leader_aggression (lua_State *L)
static int ai::cfun_ai_get_leader_goal (lua_State *L)
static int ai::cfun_ai_get_leader_value (lua_State *L)
static int ai::cfun_ai_get_passive_leader (lua_State *L)
static int ai::cfun_ai_get_passive_leader_shares_keep (lua_State *L)
static int ai::cfun_ai_get_number_of_possible_recruits_to_force_recruit (lua_State *L)
static int ai::cfun_ai_get_recruitment_ignore_bad_combat (lua_State *L)
static int ai::cfun_ai_get_recruitment_ignore_bad_movement (lua_State *L)
static int ai::cfun_ai_get_recruitment_pattern (lua_State *L)
static int ai::cfun_ai_get_scout_village_targeting (lua_State *L)
static int ai::cfun_ai_get_simple_targeting (lua_State *L)
static int ai::cfun_ai_get_support_villages (lua_State *L)
static int ai::cfun_ai_get_village_value (lua_State *L)
static int ai::cfun_ai_get_villages_per_scout (lua_State *L)
static int ai::cfun_attack_rating (lua_State *L)
static void ai::push_movements (lua_State *L, const std::vector< std::pair< map_location, map_location > > &moves)
static void ai::push_move_map (lua_State *L, const move_map &m)
static int ai::cfun_ai_get_dstsrc (lua_State *L)
static int ai::cfun_ai_get_srcdst (lua_State *L)
static int ai::cfun_ai_get_enemy_dstsrc (lua_State *L)
static int ai::cfun_ai_get_enemy_srcdst (lua_State *L)
static int ai::cfun_ai_is_dst_src_valid (lua_State *L)
static int ai::cfun_ai_is_dst_src_enemy_valid (lua_State *L)
static int ai::cfun_ai_is_src_dst_valid (lua_State *L)
static int ai::cfun_ai_is_src_dst_enemy_valid (lua_State *L)
static int ai::cfun_ai_recalculate_move_maps (lua_State *L)
static int ai::cfun_ai_recalculate_move_maps_enemy (lua_State *L)

Variables

static lg::log_domain log_ai_engine_lua ("ai/engine/lua")
static char const aisKey = 0

Detailed Description

Provides core classes for the Lua AI.

Definition in file core.cpp.


Define Documentation

#define ERR_LUA   LOG_STREAM(err, log_ai_engine_lua)

Definition at line 55 of file core.cpp.

Referenced by ai::lua_ai_action_handler::create(), and ai::lua_ai_context::create().

#define LOG_LUA   LOG_STREAM(info, log_ai_engine_lua)

Definition at line 54 of file core.cpp.


Variable Documentation

char const aisKey = 0 [static]
lg::log_domain log_ai_engine_lua("ai/engine/lua") [static]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by doxygen 1.7.1 on Thu May 24 2012 01:03:29 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs