The Battle for Wesnoth  1.13.10+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Functions | Variables
ai Namespace Reference

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

Namespaces

 ai_default_rca
 
 default_recruitment
 
 registry
 

Classes

class  action_result
 
class  actions
 
class  ai_composite
 
class  ai_context
 
class  ai_context_proxy
 
class  aspect
 
class  aspect_attacks_lua
 
struct  aspect_attacks_lua_filter
 
class  aspect_factory
 
class  aspect_property_handler
 
struct  aspect_type
 
class  attack_analysis
 
class  attack_result
 
class  base_property_handler
 
class  candidate_action
 
class  candidate_action_context
 
class  candidate_action_factory
 
class  command_history_item
 AI Command History Item. More...
 
class  component
 
class  component_manager
 
class  composite_aspect
 
class  config_value_translator
 
class  config_value_translator< bool >
 
class  config_value_translator< config >
 
class  config_value_translator< std::vector< std::string > >
 
class  config_value_translator< terrain_filter >
 
class  config_value_translator< unit_advancements_aspect >
 
class  configuration
 
class  default_ai_context
 
class  default_ai_context_impl
 
class  default_ai_context_proxy
 
struct  defensive_position
 
struct  description
 AI parameters. More...
 
class  engine
 
class  engine_cpp
 
class  engine_factory
 
class  engine_fai
 
class  engine_lua
 
class  facets_property_handler
 
class  fai_candidate_action_wrapper
 
class  formula_ai
 
class  game_info
 
class  gamestate_observer
 
class  goal
 
class  goal_factory
 
class  holder
 Base class that holds the AI and current AI parameters. More...
 
class  idle_stage
 
class  keeps_cache
 
class  known_aspect
 
struct  known_aspect_type
 
class  lua_ai_action_handler
 Proxy class for calling AI action handlers defined in Lua. More...
 
class  lua_ai_context
 Proxy table for the AI context. More...
 
class  lua_ai_load
 
class  lua_aspect
 
class  lua_aspect_factory
 
class  lua_aspect_visitor
 
class  lua_candidate_action_wrapper
 
class  lua_candidate_action_wrapper_base
 
class  lua_candidate_action_wrapper_external
 
class  lua_goal
 
class  lua_object
 
class  lua_object_base
 
class  lua_stage_wrapper
 
class  lua_sticky_candidate_action_wrapper
 
class  manager
 Class that manages AIs for all sides and manages AI redeployment. More...
 
class  move_result
 
struct  path_element
 
class  path_element_matches
 
class  protect_goal
 
class  protect_location_goal
 
class  protect_unit_goal
 
class  rca_context
 
class  rca_context_proxy
 
class  readonly_context
 
class  readonly_context_impl
 
class  readonly_context_proxy
 
class  readwrite_context
 
class  readwrite_context_impl
 
class  readwrite_context_proxy
 
class  recall_result
 
class  recruit_result
 
class  recursion_counter
 
class  register_aspect_factory
 
class  register_candidate_action_factory
 
class  register_engine_factory
 
class  register_goal_factory
 
class  register_lua_aspect_factory
 
class  register_stage_factory
 
class  side_context
 
class  side_context_impl
 
class  side_context_proxy
 
class  stage
 
class  stage_factory
 
class  stage_side_formulas
 
class  stage_unit_formulas
 
class  standard_aspect
 
class  stopunit_result
 
class  synced_command_result
 
struct  target
 
class  target_location_goal
 
class  target_unit_goal
 
singleton  typesafe_aspect
 
singleton  typesafe_known_aspect
 
class  unit_advancements_aspect
 
class  variant_value_translator
 
class  variant_value_translator< attacks_vector >
 
class  variant_value_translator< bool >
 
class  variant_value_translator< int >
 
class  variant_value_translator< std::string >
 
class  variant_value_translator< terrain_filter >
 
class  vector_property_handler
 

Typedefs

typedef std::shared_ptr
< base_property_handler
property_handler_ptr
 
typedef std::map< std::string,
property_handler_ptr
property_handler_map
 
typedef std::shared_ptr
< candidate_action
candidate_action_ptr
 
typedef ai_contextai_context_ptr
 
using ca_ptr = wfl::candidate_action_ptr
 
typedef int side_number
 
typedef std::multimap
< map_location, map_location
move_map
 The standard way in which a map of possible moves is recorded. More...
 
typedef std::map< map_location,
pathfind::paths
moves_map
 The standard way in which a map of possible movement routes to location is recorded. More...
 
typedef std::shared_ptr
< ai_composite
ai_ptr
 
typedef std::vector
< attack_analysis
attacks_vector
 
typedef std::shared_ptr
< action_result
action_result_ptr
 
typedef std::shared_ptr
< attack_result
attack_result_ptr
 
typedef std::shared_ptr
< recall_result
recall_result_ptr
 
typedef std::shared_ptr
< recruit_result
recruit_result_ptr
 
typedef std::shared_ptr
< move_result
move_result_ptr
 
typedef std::shared_ptr
< move_and_attack_result > 
move_and_attack_result_ptr
 
typedef std::shared_ptr
< stopunit_result
stopunit_result_ptr
 
typedef std::shared_ptr
< synced_command_result
synced_command_result_ptr
 
typedef std::shared_ptr< aspectaspect_ptr
 
typedef std::shared_ptr< engineengine_ptr
 
typedef std::shared_ptr< goalgoal_ptr
 
typedef std::shared_ptr
< known_aspect
known_aspect_ptr
 
typedef std::shared_ptr< stagestage_ptr
 
typedef std::map< std::string,
aspect_ptr
aspect_map
 
typedef std::map< std::string,
known_aspect_ptr
known_aspect_map
 
typedef std::shared_ptr
< lua_object_base
lua_object_ptr
 
typedef std::shared_ptr
< lua_object< int > > 
lua_int_obj
 
typedef std::shared_ptr
< ai_composite
composite_ai_ptr
 

Functions

void sim_gamestate_changed (action_result *result, bool gamestate_changed)
 
static componentfind_component (component *root, const std::string &path, path_element &tail)
 
static void print_component (component *root, const std::string &type, std::stringstream &s, int offset)
 
template<typename X >
static void register_vector_property (property_handler_map &property_handlers, const std::string &property, std::vector< std::shared_ptr< X >> &values, std::function< void(std::vector< std::shared_ptr< X >> &, const config &)> construction_factory)
 
template<typename X >
static void register_facets_property (property_handler_map &property_handlers, const std::string &property, std::vector< std::shared_ptr< X >> &values, std::shared_ptr< X > &def, std::function< void(std::vector< std::shared_ptr< X >> &, const config &)> construction_factory)
 
template<typename X >
static void register_aspect_property (property_handler_map &property_handlers, const std::string &property, std::map< std::string, std::shared_ptr< X >> &aspects, std::function< void(std::map< std::string, std::shared_ptr< X >> &, const config &, std::string)> construction_factory)
 
std::ostream & operator<< (std::ostream &s, ai::candidate_action const &ca)
 
static bool call_lua_filter_fcn (lua_State *L, const unit &u, int idx)
 
ai_contextget_ai_context (wfl::const_formula_callable_ptr for_fai)
 
static void push_attack_analysis (lua_State *L, const attack_analysis &)
 
static ai::engine_luaget_engine (lua_State *L)
 
static ai::readonly_contextget_readonly_context (lua_State *L)
 
static int transform_ai_action (lua_State *L, ai::action_result_ptr action_result)
 
static int cfun_ai_get_suitable_keep (lua_State *L)
 
static int ai_move (lua_State *L, bool exec, bool remove_movement)
 
static int cfun_ai_execute_move_full (lua_State *L)
 
static int cfun_ai_execute_move_partial (lua_State *L)
 
static int cfun_ai_check_move (lua_State *L)
 
static int ai_attack (lua_State *L, bool exec)
 
static int cfun_ai_execute_attack (lua_State *L)
 
static int cfun_ai_check_attack (lua_State *L)
 
static int ai_stopunit_select (lua_State *L, bool exec, bool remove_movement, bool remove_attacks)
 
static int cfun_ai_execute_stopunit_moves (lua_State *L)
 
static int cfun_ai_execute_stopunit_attacks (lua_State *L)
 
static int cfun_ai_execute_stopunit_all (lua_State *L)
 
static int cfun_ai_check_stopunit (lua_State *L)
 
static int ai_synced_command (lua_State *L, bool exec)
 
static int cfun_ai_execute_synced_command (lua_State *L)
 
static int cfun_ai_check_synced_command (lua_State *L)
 
static int ai_recruit (lua_State *L, bool exec)
 
static int cfun_ai_execute_recruit (lua_State *L)
 
static int cfun_ai_check_recruit (lua_State *L)
 
static int ai_recall (lua_State *L, bool exec)
 
static int cfun_ai_execute_recall (lua_State *L)
 
static int cfun_ai_check_recall (lua_State *L)
 
static int cfun_ai_fallback_human (lua_State *)
 
static int cfun_ai_get_targets (lua_State *L)
 
static int cfun_ai_get_aggression (lua_State *L)
 
static int cfun_ai_get_attack_depth (lua_State *L)
 
static int cfun_ai_get_attacks (lua_State *L)
 
static int cfun_ai_get_avoid (lua_State *L)
 
static int cfun_ai_get_caution (lua_State *L)
 
static int cfun_ai_get_grouping (lua_State *L)
 
static int cfun_ai_get_leader_aggression (lua_State *L)
 
static int cfun_ai_get_leader_goal (lua_State *L)
 
static int cfun_ai_get_leader_ignores_keep (lua_State *L)
 
static int cfun_ai_get_leader_value (lua_State *L)
 
static int cfun_ai_get_passive_leader (lua_State *L)
 
static int cfun_ai_get_passive_leader_shares_keep (lua_State *L)
 
static int cfun_ai_get_recruitment_pattern (lua_State *L)
 
static int cfun_ai_get_scout_village_targeting (lua_State *L)
 
static int cfun_ai_get_simple_targeting (lua_State *L)
 
static int cfun_ai_get_support_villages (lua_State *L)
 
static int cfun_ai_get_village_value (lua_State *L)
 
static int cfun_ai_get_villages_per_scout (lua_State *L)
 
static int cfun_attack_rating (lua_State *L)
 
static void push_movements (lua_State *L, const std::vector< std::pair< map_location, map_location > > &moves)
 
static void push_move_map (lua_State *L, const move_map &m)
 
static int cfun_ai_get_dstsrc (lua_State *L)
 
static int cfun_ai_get_srcdst (lua_State *L)
 
static int cfun_ai_get_enemy_dstsrc (lua_State *L)
 
static int cfun_ai_get_enemy_srcdst (lua_State *L)
 
static int cfun_ai_is_dst_src_valid (lua_State *L)
 
static int cfun_ai_is_dst_src_enemy_valid (lua_State *L)
 
static int cfun_ai_is_src_dst_valid (lua_State *L)
 
static int cfun_ai_is_src_dst_enemy_valid (lua_State *L)
 
static int cfun_ai_recalculate_move_maps (lua_State *L)
 
static int cfun_ai_recalculate_move_maps_enemy (lua_State *L)
 
template<typename T >
typesafe_aspect< T > * try_aspect_as (aspect_ptr p)
 
static int impl_ai_aspect_get (lua_State *L)
 
static int impl_ai_aspect_set (lua_State *L)
 
static int impl_ai_get (lua_State *L)
 
static void generate_and_push_ai_table (lua_State *L, ai::engine_lua *engine)
 
static size_t generate_and_push_ai_state (lua_State *L, ai::engine_lua *engine)
 
void helper_check_village (const map_location &loc, int side)
 
void helper_place_unit (const unit &u, const map_location &loc)
 
void helper_advance_unit (const map_location &loc)
 
bool simulated_attack (const map_location &attacker_loc, const map_location &defender_loc, double attacker_hp, double defender_hp)
 
bool simulated_move (int side, const map_location &from, const map_location &to, int steps, map_location &unit_location)
 
bool simulated_recall (int side, const std::string &unit_id, const map_location &recall_location)
 
bool simulated_recruit (int side, const unit_type *u, const map_location &recruit_location)
 
bool simulated_stopunit (const map_location &unit_location, bool remove_movement, bool remove_attacks)
 
bool simulated_synced_command ()
 

Variables

static lg::log_domain log_ai_actions ("ai/actions")
 
static lg::log_domain log_ai_composite ("ai/composite")
 
static lg::log_domain log_ai_aspect ("ai/aspect")
 
static lg::log_domain log_ai_component ("ai/component")
 
static lg::log_domain log_ai_engine ("ai/engine")
 
static lg::log_domain log_ai_goal ("ai/goal")
 
static lg::log_domain log_ai_stage_rca ("ai/stage/rca")
 
static lg::log_domain log_ai_stage ("ai/stage")
 
static lg::log_domain log_ai_configuration ("ai/config")
 
static const std::set
< std::string > 
non_aspect_attributes {"turns", "time_of_day", "engine", "ai_algorithm", "id", "description"}
 
static const std::set
< std::string > 
just_copy_tags {"engine", "stage", "aspect", "goal", "modify_ai"}
 
static const std::set
< std::string > 
old_goal_tags {"target", "target_location", "protect_unit", "protect_location"}
 
static lg::log_domain log_ai_engine_cpp ("ai/engine/cpp")
 
static lg::log_domain log_ai_engine_fai ("ai/engine/fai")
 
static lg::log_domain log_ai_engine_lua ("ai/engine/lua")
 
static lg::log_domain log_ai_manager ("ai/manager")
 
static lg::log_domain log_ai_mod ("ai/mod")
 
static register_engine_factory
< engine_cpp
composite_ai_factory_cpp ("cpp")
 
static register_engine_factory
< engine_fai
composite_ai_factory_fai ("fai")
 
static register_engine_factory
< engine_lua
composite_ai_factory_lua ("lua")
 
static register_stage_factory
< ai_default_rca::candidate_action_evaluation_loop
candidate_action_evaluation_loop_factory ("ai_default_rca::candidate_action_evaluation_loop")
 
static register_stage_factory
< idle_stage
ai_idle_stage_factory ("empty")
 
static register_stage_factory
< ai_default_rca::candidate_action_evaluation_loop
old_candidate_action_evaluation_loop_factory ("testing_ai_default::candidate_action_evaluation_loop")
 
static
register_candidate_action_factory
< ai_default_rca::goto_phase
goto_phase_factory ("ai_default_rca::goto_phase")
 
static
register_candidate_action_factory
< ai_default_rca::combat_phase
combat_phase_factory ("ai_default_rca::combat_phase")
 
static
register_candidate_action_factory
< ai_default_rca::move_leader_to_goals_phase
move_leader_to_goals_phase_factory ("ai_default_rca::move_leader_to_goals_phase")
 
static
register_candidate_action_factory
< ai_default_rca::move_leader_to_keep_phase
move_leader_to_keep_phase_factory ("ai_default_rca::move_leader_to_keep_phase")
 
static
register_candidate_action_factory
< ai_default_rca::get_villages_phase
get_villages_phase_factory ("ai_default_rca::get_villages_phase")
 
static
register_candidate_action_factory
< ai_default_rca::get_healing_phase
get_healing_phase_factory ("ai_default_rca::get_healing_phase")
 
static
register_candidate_action_factory
< ai_default_rca::retreat_phase
retreat_phase_factory ("ai_default_rca::retreat_phase")
 
static
register_candidate_action_factory
< ai_default_rca::move_to_targets_phase
default_move_to_targets_phase_factory ("ai_default_rca::move_to_targets_phase")
 
static
register_candidate_action_factory
< ai_default_rca::leader_control_phase
leader_control_phase_factory ("ai_default_rca::leader_control_phase")
 
static
register_candidate_action_factory
< ai_default_rca::leader_shares_keep_phase
leader_shares_keep_phase_factory ("ai_default_rca::leader_shares_keep_phase")
 
static
register_candidate_action_factory
< ai_default_rca::leader_shares_keep_phase
passive_leader_shares_keep_phase_factory ("ai_default_rca::passive_leader_shares_keep_phase")
 
static
register_candidate_action_factory
< default_recruitment::recruitment
default_recruitment_factory ("default_recruitment::recruitment")
 
static
register_candidate_action_factory
< ai_default_rca::goto_phase
old_goto_phase_factory ("testing_ai_default::goto_phase")
 
static
register_candidate_action_factory
< ai_default_rca::combat_phase
old_combat_phase_factory ("testing_ai_default::combat_phase")
 
static
register_candidate_action_factory
< ai_default_rca::move_leader_to_goals_phase
old_move_leader_to_goals_phase_factory ("testing_ai_default::move_leader_to_goals_phase")
 
static
register_candidate_action_factory
< ai_default_rca::move_leader_to_keep_phase
old_move_leader_to_keep_phase_factory ("testing_ai_default::move_leader_to_keep_phase")
 
static
register_candidate_action_factory
< ai_default_rca::get_villages_phase
old_get_villages_phase_factory ("testing_ai_default::get_villages_phase")
 
static
register_candidate_action_factory
< ai_default_rca::get_healing_phase
old_get_healing_phase_factory ("testing_ai_default::get_healing_phase")
 
static
register_candidate_action_factory
< ai_default_rca::retreat_phase
old_retreat_phase_factory ("testing_ai_default::retreat_phase")
 
static
register_candidate_action_factory
< ai_default_rca::move_to_targets_phase
old_default_move_to_targets_phase_factory ("testing_ai_default::default_move_to_targets_phase")
 
static
register_candidate_action_factory
< ai_default_rca::move_to_targets_phase
old_testing_move_to_targets_phase_factory ("testing_ai_default::testing_move_to_targets_phase")
 
static
register_candidate_action_factory
< ai_default_rca::leader_control_phase
old_leader_control_phase_factory ("testing_ai_default::leader_control_phase")
 
static
register_candidate_action_factory
< ai_default_rca::leader_shares_keep_phase
old_passive_leader_shares_keep_phase_factory ("testing_ai_default::passive_leader_shares_keep_phase")
 
static register_goal_factory
< target_unit_goal
goal_factory ("")
 
static register_goal_factory
< target_unit_goal
goal_factory_target ("target")
 
static register_goal_factory
< target_unit_goal
goal_factory_target_unit ("target_unit")
 
static register_goal_factory
< target_location_goal
goal_factory_target_location ("target_location")
 
static register_goal_factory
< protect_location_goal
goal_factory_protect_location ("protect_location")
 
static register_goal_factory
< protect_unit_goal
goal_factory_protect_unit ("protect_unit")
 
static register_goal_factory
< lua_goal
goal_factory_lua_goal ("lua_goal")
 
static register_aspect_factory
< composite_aspect
< unit_advancements_aspect > > 
advancements__composite_aspect_factory ("advancements*composite_aspect")
 
static register_aspect_factory
< composite_aspect< double > > 
aggression__composite_aspect_factory ("aggression*composite_aspect")
 
static register_aspect_factory
< composite_aspect< int > > 
attack_depth__composite_aspect_factory ("attack_depth*composite_aspect")
 
static register_aspect_factory
< composite_aspect
< attacks_vector > > 
attacks__composite_aspect_factory ("attacks*composite_aspect")
 
static register_aspect_factory
< composite_aspect
< terrain_filter > > 
avoid__composite_aspect_factory ("avoid*composite_aspect")
 
static register_aspect_factory
< composite_aspect< double > > 
caution__composite_aspect_factory ("caution*composite_aspect")
 
static register_aspect_factory
< composite_aspect
< std::string > > 
grouping__composite_aspect_factory ("grouping*composite_aspect")
 
static register_aspect_factory
< composite_aspect< double > > 
leader_aggression__composite_aspect_factory ("leader_aggression*composite_aspect")
 
static register_aspect_factory
< composite_aspect< config > > 
leader_goal__composite_aspect_factory ("leader_goal*composite_aspect")
 
static register_aspect_factory
< composite_aspect< bool > > 
leader_igores_keep__composite_aspect_factory ("leader_ignores_keep*composite_aspect")
 
static register_aspect_factory
< composite_aspect< double > > 
leader_value__composite_aspect_factory ("leader_value*composite_aspect")
 
static register_aspect_factory
< composite_aspect< bool > > 
passive_leader__composite_aspect_factory ("passive_leader*composite_aspect")
 
static register_aspect_factory
< composite_aspect< bool > > 
passive_leader_shares_keep__composite_aspect_factory ("passive_leader_shares_keep*composite_aspect")
 
static register_aspect_factory
< composite_aspect< double > > 
recruitment_diversity__composite_aspect_factory ("recruitment_diversity*composite_aspect")
 
static register_aspect_factory
< composite_aspect< config > > 
recruitment_instructions__composite_aspect_factory ("recruitment_instructions*composite_aspect")
 
static register_aspect_factory
< composite_aspect
< std::vector< std::string > > > 
recruitment_more__composite_aspect_factory ("recruitment_more*composite_aspect")
 
static register_aspect_factory
< composite_aspect
< std::vector< std::string > > > 
recruitment_pattern__composite_aspect_factory ("recruitment_pattern*composite_aspect")
 
static register_aspect_factory
< composite_aspect< int > > 
recruitment_randomness__composite_aspect_factory ("recruitment_randomness*composite_aspect")
 
static register_aspect_factory
< composite_aspect< config > > 
recruitment_save_gold__composite_aspect_factory ("recruitment_save_gold*composite_aspect")
 
static register_aspect_factory
< composite_aspect< double > > 
scout_village_targeting__composite_aspect_factory ("scout_village_targeting*composite_aspect")
 
static register_aspect_factory
< composite_aspect< bool > > 
simple_targeting__composite_aspect_factory ("simple_targeting*composite_aspect")
 
static register_aspect_factory
< composite_aspect< bool > > 
support_villages__composite_aspect_factory ("support_villages*composite_aspect")
 
static register_aspect_factory
< composite_aspect< double > > 
village_value__composite_aspect_factory ("village_value*composite_aspect")
 
static register_aspect_factory
< composite_aspect< int > > 
villages_per_scout__composite_aspect_factory ("villages_per_scout*composite_aspect")
 
static register_aspect_factory
< standard_aspect
< unit_advancements_aspect > > 
advancements__standard_aspect_factory ("advancements*standard_aspect")
 
static register_aspect_factory
< standard_aspect< double > > 
aggression__standard_aspect_factory ("aggression*standard_aspect")
 
static register_aspect_factory
< standard_aspect< int > > 
attack_depth__standard_aspect_factory ("attack_depth*standard_aspect")
 
static register_aspect_factory
< ai_default_rca::aspect_attacks
attacks__testing_ai_default_aspect_attacks_factory ("attacks*ai_default_rca::aspect_attacks")
 
static register_aspect_factory
< standard_aspect
< terrain_filter > > 
avoid__standard_aspect_factory ("avoid*standard_aspect")
 
static register_aspect_factory
< standard_aspect< double > > 
caution__standard_aspect_factory ("caution*standard_aspect")
 
static register_aspect_factory
< standard_aspect< std::string > > 
grouping__standard_aspect_factory ("grouping*standard_aspect")
 
static register_aspect_factory
< standard_aspect< double > > 
leader_aggression__standard_aspect_factory ("leader_aggression*standard_aspect")
 
static register_aspect_factory
< standard_aspect< config > > 
leader_goal__standard_aspect_factory ("leader_goal*standard_aspect")
 
static register_aspect_factory
< standard_aspect< bool > > 
leader_ignores_keep__standard_aspect_factory ("leader_ignores_keep*standard_aspect")
 
static register_aspect_factory
< standard_aspect< double > > 
leader_value__standard_aspect_factory ("leader_value*standard_aspect")
 
static register_aspect_factory
< standard_aspect< bool > > 
passive_leader__standard_aspect_factory ("passive_leader*standard_aspect")
 
static register_aspect_factory
< standard_aspect< bool > > 
passive_leader_shares_keep__standard_aspect_factory ("passive_leader_shares_keep*standard_aspect")
 
static register_aspect_factory
< standard_aspect< double > > 
recruitment_diversity__standard_aspect_factory ("recruitment_diversity*standard_aspect")
 
static register_aspect_factory
< default_recruitment::recruitment_aspect
recruitment_instructions__standard_aspect_factory ("recruitment_instructions*standard_aspect")
 
static register_aspect_factory
< standard_aspect< std::vector
< std::string > > > 
recruitment_more__standard_aspect_factory ("recruitment_more*standard_aspect")
 
static register_aspect_factory
< standard_aspect< std::vector
< std::string > > > 
recruitment_pattern__standard_aspect_factory ("recruitment_pattern*standard_aspect")
 
static register_aspect_factory
< standard_aspect< int > > 
recruitment_randomness__standard_aspect_factory ("recruitment_randomness*standard_aspect")
 
static register_aspect_factory
< standard_aspect< config > > 
recruitment_save_gold__standard_aspect_factory ("recruitment_save_gold*standard_aspect")
 
static register_aspect_factory
< standard_aspect< double > > 
scout_village_targeting__standard_aspect_factory ("scout_village_targeting*standard_aspect")
 
static register_aspect_factory
< standard_aspect< bool > > 
simple_targeting__standard_aspect_factory ("simple_targeting*standard_aspect")
 
static register_aspect_factory
< standard_aspect< bool > > 
support_villages__standard_aspect_factory ("support_villages*standard_aspect")
 
static register_aspect_factory
< standard_aspect< double > > 
village_value__standard_aspect_factory ("village_value*standard_aspect")
 
static register_aspect_factory
< standard_aspect< int > > 
villages_per_scout__standard_aspect_factory ("villages_per_scout*standard_aspect")
 
static register_aspect_factory
< ai_default_rca::aspect_attacks
old_attacks__testing_ai_default_aspect_attacks_factory ("attacks*testing_ai_default::aspect_attacks")
 
static register_aspect_factory
< standard_aspect
< unit_advancements_aspect > > 
advancements__standard_aspect_factory2 ("advancements*")
 
static register_aspect_factory
< standard_aspect< double > > 
aggression__standard_aspect_factory2 ("aggression*")
 
static register_aspect_factory
< standard_aspect< int > > 
attack_depth__standard_aspect_factory2 ("attack_depth*")
 
static register_aspect_factory
< ai_default_rca::aspect_attacks
attacks__testing_ai_default_aspect_attacks_factory2 ("attacks*")
 
static register_aspect_factory
< standard_aspect
< terrain_filter > > 
avoid__standard_aspect_factory2 ("avoid*")
 
static register_aspect_factory
< standard_aspect< double > > 
caution__standard_aspect_factory2 ("caution*")
 
static register_aspect_factory
< standard_aspect< std::string > > 
grouping__standard_aspect_factory2 ("grouping*")
 
static register_aspect_factory
< standard_aspect< double > > 
leader_aggression__standard_aspect_factory2 ("leader_aggression*")
 
static register_aspect_factory
< standard_aspect< config > > 
leader_goal__standard_aspect_factory2 ("leader_goal*")
 
static register_aspect_factory
< standard_aspect< bool > > 
leader_ignores_keep__standard_aspect_factory2 ("leader_ignores_keep*")
 
static register_aspect_factory
< standard_aspect< double > > 
leader_value__standard_aspect_factory2 ("leader_value*")
 
static register_aspect_factory
< standard_aspect< bool > > 
passive_leader__standard_aspect_factory2 ("passive_leader*")
 
static register_aspect_factory
< standard_aspect< bool > > 
passive_leader_shares_keep__standard_aspect_factory2 ("passive_leader_shares_keep*")
 
static register_aspect_factory
< standard_aspect< double > > 
recruitment_diversity__standard_aspect_factory2 ("recruitment_diversity*")
 
static register_aspect_factory
< default_recruitment::recruitment_aspect
recruitment_instructions__standard_aspect_factory2 ("recruitment_instructions*")
 
static register_aspect_factory
< standard_aspect< std::vector
< std::string > > > 
recruitment_more__standard_aspect_factory2 ("recruitment_more*")
 
static register_aspect_factory
< standard_aspect< std::vector
< std::string > > > 
recruitment_pattern__standard_aspect_factory2 ("recruitment_pattern*")
 
static register_aspect_factory
< standard_aspect< int > > 
recruitment_randomness__standard_aspect_factory2 ("recruitment_randomness*")
 
static register_aspect_factory
< standard_aspect< config > > 
recruitment_save_gold__standard_aspect_factory2 ("recruitment_save_gold*")
 
static register_aspect_factory
< standard_aspect< double > > 
scout_village_targeting__standard_aspect_factory2 ("scout_village_targeting*")
 
static register_aspect_factory
< standard_aspect< bool > > 
simple_targeting__standard_aspect_factory2 ("simple_targeting*")
 
static register_aspect_factory
< standard_aspect< bool > > 
support_villages__standard_aspect_factory2 ("support_villages*")
 
static register_aspect_factory
< standard_aspect< double > > 
village_value__standard_aspect_factory2 ("village_value*")
 
static register_aspect_factory
< standard_aspect< int > > 
villages_per_scout__standard_aspect_factory2 ("villages_per_scout*")
 
static
register_lua_aspect_factory
< lua_aspect
< unit_advancements_aspect > > 
advancements__lua_aspect_factory ("advancements*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< double > > 
aggression__lua_aspect_factory ("aggression*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< int > > 
attack_depth__lua_aspect_factory ("attack_depth*lua_aspect")
 
static
register_lua_aspect_factory
< aspect_attacks_lua
attacks__lua_aspect_factory ("attacks*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< terrain_filter > > 
avoid__lua_aspect_factory ("avoid*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< double > > 
caution__lua_aspect_factory ("caution*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< std::string > > 
grouping__lua_aspect_factory ("grouping*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< double > > 
leader_aggression__lua_aspect_factory ("leader_aggression*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< config > > 
leader_goal__lua_aspect_factory ("leader_goal*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< bool > > 
leader_ignores_keep__lua_aspect_factory ("leader_ignores_keep*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< double > > 
leader_value__lua_aspect_factory ("leader_value*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< bool > > 
passive_leader__lua_aspect_factory ("passive_leader*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< bool > > 
passive_leader_shares_keep__lua_aspect_factory ("passive_leader_shares_keep*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< double > > 
scout_village_targeting__lua_aspect_factory ("scout_village_targeting*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< bool > > 
simple_targeting__lua_aspect_factory ("simple_targeting*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< bool > > 
support_villages__lua_aspect_factory ("support_villages*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< double > > 
village_value__lua_aspect_factory ("village_value*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< int > > 
villages_per_scout__lua_aspect_factory ("villages_per_scout*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< std::vector
< std::string > > > 
recruitment_pattern__lua_aspect_factory ("recruitment_pattern*lua_aspect")
 
static register_aspect_factory
< composite_aspect< config > > 
recruitments__composite_aspect_factory ("recruitment*composite_aspect")
 
static register_aspect_factory
< default_recruitment::recruitment_aspect
recruitment__standard_aspect_factory ("recruitment*standard_aspect")
 
static register_aspect_factory
< default_recruitment::recruitment_aspect
recruitment__standard_aspect_factory2 ("recruitment*")
 
static lg::log_domain log_ai_sim_actions ("ai/sim_actions")
 

Detailed Description

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.

This class encapsulates the recall list of a team.

info is structure which holds references to all the important objects that an AI might need access to, in order to make and implement its decisions.

But when we actually want to execute an action, we firstly check 'subjective info' and then (if subjective check is ok) do the same check on real 'info'. There's a caveat: if we fail an action based on real 'info', then we NEED to update AIs knowledge to avoid the ai doing the same thing again. So far the use of 'subjective info' is stubbed out.

Typedef Documentation

typedef std::shared_ptr<action_result> ai::action_result_ptr

Definition at line 88 of file game_info.hpp.

Definition at line 58 of file contexts.hpp.

typedef std::shared_ptr<ai_composite> ai::ai_ptr

Definition at line 44 of file game_info.hpp.

typedef std::map<std::string, aspect_ptr > ai::aspect_map

Definition at line 106 of file game_info.hpp.

typedef std::shared_ptr< aspect > ai::aspect_ptr

Definition at line 99 of file game_info.hpp.

typedef std::shared_ptr<attack_result> ai::attack_result_ptr

Definition at line 91 of file game_info.hpp.

typedef std::vector<attack_analysis> ai::attacks_vector

Definition at line 48 of file game_info.hpp.

Definition at line 73 of file ai.cpp.

typedef std::shared_ptr< candidate_action > ai::candidate_action_ptr

Definition at line 147 of file rca.hpp.

typedef std::shared_ptr<ai_composite> ai::composite_ai_ptr

Definition at line 45 of file manager.hpp.

typedef std::shared_ptr< engine > ai::engine_ptr

Definition at line 101 of file game_info.hpp.

typedef std::shared_ptr< goal > ai::goal_ptr

Definition at line 102 of file game_info.hpp.

typedef std::map<std::string, known_aspect_ptr > ai::known_aspect_map

Definition at line 107 of file game_info.hpp.

typedef std::shared_ptr< known_aspect > ai::known_aspect_ptr

Definition at line 103 of file game_info.hpp.

typedef std::shared_ptr< lua_object<int> > ai::lua_int_obj

Definition at line 53 of file engine_lua.cpp.

typedef std::shared_ptr<lua_object_base> ai::lua_object_ptr

Definition at line 27 of file core.hpp.

typedef std::shared_ptr<move_and_attack_result> ai::move_and_attack_result_ptr

Definition at line 95 of file game_info.hpp.

typedef std::multimap<map_location,map_location> ai::move_map

The standard way in which a map of possible moves is recorded.

Definition at line 39 of file game_info.hpp.

typedef std::shared_ptr<move_result> ai::move_result_ptr

Definition at line 94 of file game_info.hpp.

The standard way in which a map of possible movement routes to location is recorded.

Definition at line 42 of file game_info.hpp.

typedef std::map<std::string,property_handler_ptr> ai::property_handler_map

Definition at line 55 of file component.hpp.

typedef std::shared_ptr< base_property_handler > ai::property_handler_ptr

Definition at line 53 of file component.hpp.

typedef std::shared_ptr<recall_result> ai::recall_result_ptr

Definition at line 92 of file game_info.hpp.

typedef std::shared_ptr<recruit_result> ai::recruit_result_ptr

Definition at line 93 of file game_info.hpp.

typedef int ai::side_number

Definition at line 36 of file game_info.hpp.

typedef std::shared_ptr< stage > ai::stage_ptr

Definition at line 104 of file game_info.hpp.

typedef std::shared_ptr<stopunit_result> ai::stopunit_result_ptr

Definition at line 96 of file game_info.hpp.

Definition at line 97 of file game_info.hpp.

Function Documentation

static int ai::ai_attack ( lua_State L,
bool  exec 
)
static
static int ai::ai_move ( lua_State L,
bool  exec,
bool  remove_movement 
)
static
static int ai::ai_recall ( lua_State L,
bool  exec 
)
static
static int ai::ai_recruit ( lua_State L,
bool  exec 
)
static
static int ai::ai_stopunit_select ( lua_State L,
bool  exec,
bool  remove_movement,
bool  remove_attacks 
)
static
static int ai::ai_synced_command ( lua_State L,
bool  exec 
)
static
static bool ai::call_lua_filter_fcn ( lua_State L,
const unit u,
int  idx 
)
static
static int ai::cfun_ai_check_attack ( lua_State L)
static

Definition at line 239 of file core.cpp.

References ai_attack().

Referenced by impl_ai_get().

static int ai::cfun_ai_check_move ( lua_State L)
static

Definition at line 198 of file core.cpp.

References ai_move().

Referenced by impl_ai_get().

static int ai::cfun_ai_check_recall ( lua_State L)
static

Definition at line 342 of file core.cpp.

References ai_recall().

Referenced by impl_ai_get().

static int ai::cfun_ai_check_recruit ( lua_State L)
static

Definition at line 317 of file core.cpp.

References ai_recruit().

Referenced by impl_ai_get().

static int ai::cfun_ai_check_stopunit ( lua_State L)
static

Definition at line 268 of file core.cpp.

References ai_stopunit_select().

Referenced by impl_ai_get().

static int ai::cfun_ai_check_synced_command ( lua_State L)
static

Definition at line 292 of file core.cpp.

References ai_synced_command().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_attack ( lua_State L)
static

Definition at line 234 of file core.cpp.

References ai_attack().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_move_full ( lua_State L)
static

Definition at line 188 of file core.cpp.

References ai_move().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_move_partial ( lua_State L)
static

Definition at line 193 of file core.cpp.

References ai_move().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_recall ( lua_State L)
static

Definition at line 337 of file core.cpp.

References ai_recall().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_recruit ( lua_State L)
static

Definition at line 312 of file core.cpp.

References ai_recruit().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_stopunit_all ( lua_State L)
static

Definition at line 263 of file core.cpp.

References ai_stopunit_select().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_stopunit_attacks ( lua_State L)
static

Definition at line 258 of file core.cpp.

References ai_stopunit_select().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_stopunit_moves ( lua_State L)
static

Definition at line 253 of file core.cpp.

References ai_stopunit_select().

Referenced by impl_ai_get().

static int ai::cfun_ai_execute_synced_command ( lua_State L)
static

Definition at line 287 of file core.cpp.

References ai_synced_command().

Referenced by impl_ai_get().

static int ai::cfun_ai_fallback_human ( lua_State )
static

Definition at line 347 of file core.cpp.

Referenced by impl_ai_get().

static int ai::cfun_ai_get_aggression ( lua_State L)
static
static int ai::cfun_ai_get_attack_depth ( lua_State L)
static
static int ai::cfun_ai_get_attacks ( lua_State L)
static
static int ai::cfun_ai_get_avoid ( lua_State L)
static
static int ai::cfun_ai_get_caution ( lua_State L)
static
static int ai::cfun_ai_get_dstsrc ( lua_State L)
static
static int ai::cfun_ai_get_enemy_dstsrc ( lua_State L)
static
static int ai::cfun_ai_get_enemy_srcdst ( lua_State L)
static
static int ai::cfun_ai_get_grouping ( lua_State L)
static
static int ai::cfun_ai_get_leader_aggression ( lua_State L)
static
static int ai::cfun_ai_get_leader_goal ( lua_State L)
static
static int ai::cfun_ai_get_leader_ignores_keep ( lua_State L)
static
static int ai::cfun_ai_get_leader_value ( lua_State L)
static
static int ai::cfun_ai_get_passive_leader ( lua_State L)
static
static int ai::cfun_ai_get_passive_leader_shares_keep ( lua_State L)
static
static int ai::cfun_ai_get_recruitment_pattern ( lua_State L)
static
static int ai::cfun_ai_get_scout_village_targeting ( lua_State L)
static
static int ai::cfun_ai_get_simple_targeting ( lua_State L)
static
static int ai::cfun_ai_get_srcdst ( lua_State L)
static
static int ai::cfun_ai_get_suitable_keep ( lua_State L)
static
static int ai::cfun_ai_get_support_villages ( lua_State L)
static
static int ai::cfun_ai_get_targets ( lua_State L)
static
static int ai::cfun_ai_get_village_value ( lua_State L)
static
static int ai::cfun_ai_get_villages_per_scout ( lua_State L)
static
static int ai::cfun_ai_is_dst_src_enemy_valid ( lua_State L)
static
static int ai::cfun_ai_is_dst_src_valid ( lua_State L)
static
static int ai::cfun_ai_is_src_dst_enemy_valid ( lua_State L)
static
static int ai::cfun_ai_is_src_dst_valid ( lua_State L)
static
static int ai::cfun_ai_recalculate_move_maps ( lua_State L)
static

Definition at line 780 of file core.cpp.

References get_readonly_context(), and ai::readonly_context::recalculate_move_maps().

Referenced by impl_ai_get().

static int ai::cfun_ai_recalculate_move_maps_enemy ( lua_State L)
static

Definition at line 786 of file core.cpp.

References get_readonly_context(), and ai::readonly_context::recalculate_move_maps_enemy().

Referenced by impl_ai_get().

static int ai::cfun_attack_rating ( lua_State L)
static
static component* ai::find_component ( component *  root,
const std::string &  path,
path_element &  tail 
)
static
static size_t ai::generate_and_push_ai_state ( lua_State L,
ai::engine_lua engine 
)
static
static void ai::generate_and_push_ai_table ( lua_State L,
ai::engine_lua engine 
)
static
ai_context & ai::get_ai_context ( wfl::const_formula_callable_ptr  for_fai)
static ai::engine_lua& ai::get_engine ( lua_State L)
static
static ai::readonly_context& ai::get_readonly_context ( lua_State L)
static
void ai::helper_advance_unit ( const map_location loc)
void ai::helper_check_village ( const map_location loc,
int  side 
)
void ai::helper_place_unit ( const unit u,
const map_location loc 
)
static int ai::impl_ai_aspect_get ( lua_State L)
static
static int ai::impl_ai_aspect_set ( lua_State L)
static

Definition at line 875 of file core.cpp.

References lua_error(), and lua_pushstring().

Referenced by impl_ai_get().

static int ai::impl_ai_get ( lua_State L)
static

Definition at line 881 of file core.cpp.

References cfun_ai_check_attack(), cfun_ai_check_move(), cfun_ai_check_recall(), cfun_ai_check_recruit(), cfun_ai_check_stopunit(), cfun_ai_check_synced_command(), cfun_ai_execute_attack(), cfun_ai_execute_move_full(), cfun_ai_execute_move_partial(), cfun_ai_execute_recall(), cfun_ai_execute_recruit(), cfun_ai_execute_stopunit_all(), cfun_ai_execute_stopunit_attacks(), cfun_ai_execute_stopunit_moves(), cfun_ai_execute_synced_command(), cfun_ai_fallback_human(), cfun_ai_get_aggression(), cfun_ai_get_attack_depth(), cfun_ai_get_attacks(), cfun_ai_get_avoid(), cfun_ai_get_caution(), cfun_ai_get_dstsrc(), cfun_ai_get_enemy_dstsrc(), cfun_ai_get_enemy_srcdst(), cfun_ai_get_grouping(), cfun_ai_get_leader_aggression(), cfun_ai_get_leader_goal(), cfun_ai_get_leader_ignores_keep(), cfun_ai_get_leader_value(), cfun_ai_get_passive_leader(), cfun_ai_get_passive_leader_shares_keep(), cfun_ai_get_recruitment_pattern(), cfun_ai_get_scout_village_targeting(), cfun_ai_get_simple_targeting(), cfun_ai_get_srcdst(), cfun_ai_get_suitable_keep(), cfun_ai_get_support_villages(), cfun_ai_get_targets(), cfun_ai_get_village_value(), cfun_ai_get_villages_per_scout(), cfun_ai_is_dst_src_enemy_valid(), cfun_ai_is_dst_src_valid(), cfun_ai_is_src_dst_enemy_valid(), cfun_ai_is_src_dst_valid(), cfun_ai_recalculate_move_maps(), cfun_ai_recalculate_move_maps_enemy(), get_engine(), ai::engine::get_readonly_context(), ai::side_context::get_side(), impl_ai_aspect_get(), impl_ai_aspect_set(), lua_isstring(), lua_newtable, lua_pop, lua_pushcclosure(), lua_pushcfunction, lua_pushinteger(), lua_pushlightuserdata(), lua_pushstring(), lua_pushvalue(), lua_rawget(), lua_rawset(), lua_setfield(), lua_setmetatable(), lua_tostring, luaW_toboolean(), and p.

Referenced by generate_and_push_ai_table().

std::ostream & ai::operator<< ( std::ostream &  s,
ai::candidate_action const &  ca 
)

Definition at line 123 of file rca.cpp.

References ai::candidate_action::get_name(), and s.

static void ai::print_component ( component *  root,
const std::string &  type,
std::stringstream &  s,
int  offset 
)
static
static void ai::push_attack_analysis ( lua_State L,
const attack_analysis &  aa 
)
static
static void ai::push_move_map ( lua_State L,
const move_map &  m 
)
static
static void ai::push_movements ( lua_State L,
const std::vector< std::pair< map_location, map_location > > &  moves 
)
static
template<typename X >
static void ai::register_aspect_property ( property_handler_map &  property_handlers,
const std::string &  property,
std::map< std::string, std::shared_ptr< X >> &  aspects 
)
inlinestatic

Definition at line 306 of file property_handler.hpp.

Referenced by ai::ai_composite::on_create().

template<typename X >
static void ai::register_facets_property ( property_handler_map &  property_handlers,
const std::string &  property,
std::vector< std::shared_ptr< X >> &  values,
std::shared_ptr< X > &  def 
)
inlinestatic

Definition at line 298 of file property_handler.hpp.

Referenced by ai::composite_aspect< T >::composite_aspect().

template<typename X >
static void ai::register_vector_property ( property_handler_map &  property_handlers,
const std::string &  property,
std::vector< std::shared_ptr< X >> &  values 
)
inlinestatic
void ai::sim_gamestate_changed ( action_result *  result,
bool  gamestate_changed 
)
bool ai::simulated_attack ( const map_location attacker_loc,
const map_location defender_loc,
double  attacker_hp,
double  defender_hp 
)
bool ai::simulated_move ( int  side,
const map_location from,
const map_location to,
int  steps,
map_location unit_location 
)
bool ai::simulated_recall ( int  side,
const std::string &  unit_id,
const map_location recall_location 
)
bool ai::simulated_recruit ( int  side,
const unit_type u,
const map_location recruit_location 
)
bool ai::simulated_stopunit ( const map_location unit_location,
bool  remove_movement,
bool  remove_attacks 
)
bool ai::simulated_synced_command ( )

Definition at line 172 of file simulated_actions.cpp.

References DBG_AI_SIM_ACTIONS, and LOG_AI_SIM_ACTIONS.

Referenced by ai::synced_command_result::do_execute().

static int ai::transform_ai_action ( lua_State L,
ai::action_result_ptr  action_result 
)
static
template<typename T >
typesafe_aspect<T>* ai::try_aspect_as ( aspect_ptr  p)

Definition at line 793 of file core.cpp.

References p.

Variable Documentation

register_aspect_factory< composite_aspect< unit_advancements_aspect > > ai::advancements__composite_aspect_factory("advancements*composite_aspect")
static
register_lua_aspect_factory< lua_aspect< unit_advancements_aspect > > ai::advancements__lua_aspect_factory("advancements*lua_aspect")
static
register_aspect_factory< standard_aspect< unit_advancements_aspect > > ai::advancements__standard_aspect_factory("advancements*standard_aspect")
static
register_aspect_factory< standard_aspect< unit_advancements_aspect > > ai::advancements__standard_aspect_factory2("advancements*")
static
register_aspect_factory< composite_aspect<double> > ai::aggression__composite_aspect_factory("aggression*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<double> > ai::aggression__lua_aspect_factory("aggression*lua_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::aggression__standard_aspect_factory("aggression*standard_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::aggression__standard_aspect_factory2("aggression*")
static
register_stage_factory<idle_stage> ai::ai_idle_stage_factory("empty")
static
register_aspect_factory< composite_aspect<int> > ai::attack_depth__composite_aspect_factory("attack_depth*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<int> > ai::attack_depth__lua_aspect_factory("attack_depth*lua_aspect")
static
register_aspect_factory< standard_aspect<int> > ai::attack_depth__standard_aspect_factory("attack_depth*standard_aspect")
static
register_aspect_factory< standard_aspect<int> > ai::attack_depth__standard_aspect_factory2("attack_depth*")
static
register_aspect_factory< composite_aspect< attacks_vector > > ai::attacks__composite_aspect_factory("attacks*composite_aspect")
static
register_lua_aspect_factory< aspect_attacks_lua > ai::attacks__lua_aspect_factory("attacks*lua_aspect")
static
register_aspect_factory< ai_default_rca::aspect_attacks > ai::attacks__testing_ai_default_aspect_attacks_factory("attacks*ai_default_rca::aspect_attacks")
static
register_aspect_factory< ai_default_rca::aspect_attacks > ai::attacks__testing_ai_default_aspect_attacks_factory2("attacks*")
static
register_aspect_factory< composite_aspect< terrain_filter > > ai::avoid__composite_aspect_factory("avoid*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<terrain_filter> > ai::avoid__lua_aspect_factory("avoid*lua_aspect")
static
register_aspect_factory< standard_aspect< terrain_filter > > ai::avoid__standard_aspect_factory("avoid*standard_aspect")
static
register_aspect_factory< standard_aspect< terrain_filter > > ai::avoid__standard_aspect_factory2("avoid*")
static
register_stage_factory<ai_default_rca::candidate_action_evaluation_loop> ai::candidate_action_evaluation_loop_factory("ai_default_rca::candidate_action_evaluation_loop")
static
register_aspect_factory< composite_aspect<double> > ai::caution__composite_aspect_factory("caution*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<double> > ai::caution__lua_aspect_factory("caution*lua_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::caution__standard_aspect_factory("caution*standard_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::caution__standard_aspect_factory2("caution*")
static
register_candidate_action_factory<ai_default_rca::combat_phase> ai::combat_phase_factory("ai_default_rca::combat_phase")
static
register_engine_factory<engine_cpp> ai::composite_ai_factory_cpp("cpp")
static
register_engine_factory<engine_fai> ai::composite_ai_factory_fai("fai")
static
register_engine_factory<engine_lua> ai::composite_ai_factory_lua("lua")
static
register_candidate_action_factory<ai_default_rca::move_to_targets_phase> ai::default_move_to_targets_phase_factory("ai_default_rca::move_to_targets_phase")
static
register_candidate_action_factory<default_recruitment::recruitment> ai::default_recruitment_factory("default_recruitment::recruitment")
static
register_candidate_action_factory<ai_default_rca::get_healing_phase> ai::get_healing_phase_factory("ai_default_rca::get_healing_phase")
static
register_candidate_action_factory<ai_default_rca::get_villages_phase> ai::get_villages_phase_factory("ai_default_rca::get_villages_phase")
static
register_goal_factory<lua_goal> ai::goal_factory_lua_goal("lua_goal")
static
register_goal_factory<protect_location_goal> ai::goal_factory_protect_location("protect_location")
static
register_goal_factory<protect_unit_goal> ai::goal_factory_protect_unit("protect_unit")
static
register_goal_factory<target_unit_goal> ai::goal_factory_target("target")
static
register_goal_factory<target_location_goal> ai::goal_factory_target_location("target_location")
static
register_goal_factory<target_unit_goal> ai::goal_factory_target_unit("target_unit")
static
register_candidate_action_factory<ai_default_rca::goto_phase> ai::goto_phase_factory("ai_default_rca::goto_phase")
static
register_aspect_factory< composite_aspect<std::string> > ai::grouping__composite_aspect_factory("grouping*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<std::string> > ai::grouping__lua_aspect_factory("grouping*lua_aspect")
static
register_aspect_factory< standard_aspect<std::string> > ai::grouping__standard_aspect_factory("grouping*standard_aspect")
static
register_aspect_factory< standard_aspect<std::string> > ai::grouping__standard_aspect_factory2("grouping*")
static
const std::set<std::string> ai::just_copy_tags {"engine", "stage", "aspect", "goal", "modify_ai"}
static

Definition at line 260 of file configuration.cpp.

Referenced by ai::configuration::expand_simplified_aspects().

register_aspect_factory< composite_aspect<double> > ai::leader_aggression__composite_aspect_factory("leader_aggression*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<double> > ai::leader_aggression__lua_aspect_factory("leader_aggression*lua_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::leader_aggression__standard_aspect_factory("leader_aggression*standard_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::leader_aggression__standard_aspect_factory2("leader_aggression*")
static
register_candidate_action_factory<ai_default_rca::leader_control_phase> ai::leader_control_phase_factory("ai_default_rca::leader_control_phase")
static
register_aspect_factory< composite_aspect<config> > ai::leader_goal__composite_aspect_factory("leader_goal*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<config> > ai::leader_goal__lua_aspect_factory("leader_goal*lua_aspect")
static
register_aspect_factory< standard_aspect<config> > ai::leader_goal__standard_aspect_factory("leader_goal*standard_aspect")
static
register_aspect_factory< standard_aspect<config> > ai::leader_goal__standard_aspect_factory2("leader_goal*")
static
register_lua_aspect_factory< lua_aspect<bool> > ai::leader_ignores_keep__lua_aspect_factory("leader_ignores_keep*lua_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::leader_ignores_keep__standard_aspect_factory("leader_ignores_keep*standard_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::leader_ignores_keep__standard_aspect_factory2("leader_ignores_keep*")
static
register_aspect_factory< composite_aspect<bool> > ai::leader_igores_keep__composite_aspect_factory("leader_ignores_keep*composite_aspect")
static
register_candidate_action_factory<ai_default_rca::leader_shares_keep_phase> ai::leader_shares_keep_phase_factory("ai_default_rca::leader_shares_keep_phase")
static
register_aspect_factory< composite_aspect<double> > ai::leader_value__composite_aspect_factory("leader_value*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<double> > ai::leader_value__lua_aspect_factory("leader_value*lua_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::leader_value__standard_aspect_factory("leader_value*standard_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::leader_value__standard_aspect_factory2("leader_value*")
static
lg::log_domain ai::log_ai_actions("ai/actions")
static
lg::log_domain ai::log_ai_aspect("ai/aspect")
static

Referenced by ai::aspect::log().

lg::log_domain ai::log_ai_component("ai/component")
static
lg::log_domain ai::log_ai_composite("ai/composite")
static
lg::log_domain ai::log_ai_configuration("ai/config")
static
lg::log_domain ai::log_ai_engine("ai/engine")
static
lg::log_domain ai::log_ai_engine_cpp("ai/engine/cpp")
static
lg::log_domain ai::log_ai_engine_fai("ai/engine/fai")
static
lg::log_domain ai::log_ai_engine_lua("ai/engine/lua")
static
lg::log_domain ai::log_ai_goal("ai/goal")
static
lg::log_domain ai::log_ai_manager("ai/manager")
static
lg::log_domain ai::log_ai_mod("ai/mod")
static
lg::log_domain ai::log_ai_sim_actions("ai/sim_actions")
static
lg::log_domain ai::log_ai_stage("ai/stage")
static
lg::log_domain ai::log_ai_stage_rca("ai/stage/rca")
static
register_candidate_action_factory<ai_default_rca::move_leader_to_goals_phase> ai::move_leader_to_goals_phase_factory("ai_default_rca::move_leader_to_goals_phase")
static
register_candidate_action_factory<ai_default_rca::move_leader_to_keep_phase> ai::move_leader_to_keep_phase_factory("ai_default_rca::move_leader_to_keep_phase")
static
const std::set<std::string> ai::non_aspect_attributes {"turns", "time_of_day", "engine", "ai_algorithm", "id", "description"}
static

Definition at line 259 of file configuration.cpp.

Referenced by ai::configuration::expand_simplified_aspects().

register_aspect_factory< ai_default_rca::aspect_attacks > ai::old_attacks__testing_ai_default_aspect_attacks_factory("attacks*testing_ai_default::aspect_attacks")
static
register_stage_factory<ai_default_rca::candidate_action_evaluation_loop> ai::old_candidate_action_evaluation_loop_factory("testing_ai_default::candidate_action_evaluation_loop")
static
register_candidate_action_factory<ai_default_rca::combat_phase> ai::old_combat_phase_factory("testing_ai_default::combat_phase")
static
register_candidate_action_factory<ai_default_rca::move_to_targets_phase> ai::old_default_move_to_targets_phase_factory("testing_ai_default::default_move_to_targets_phase")
static
register_candidate_action_factory<ai_default_rca::get_healing_phase> ai::old_get_healing_phase_factory("testing_ai_default::get_healing_phase")
static
register_candidate_action_factory<ai_default_rca::get_villages_phase> ai::old_get_villages_phase_factory("testing_ai_default::get_villages_phase")
static
const std::set<std::string> ai::old_goal_tags {"target", "target_location", "protect_unit", "protect_location"}
static

Definition at line 261 of file configuration.cpp.

Referenced by ai::configuration::expand_simplified_aspects().

register_candidate_action_factory<ai_default_rca::goto_phase> ai::old_goto_phase_factory("testing_ai_default::goto_phase")
static
register_candidate_action_factory<ai_default_rca::leader_control_phase> ai::old_leader_control_phase_factory("testing_ai_default::leader_control_phase")
static
register_candidate_action_factory<ai_default_rca::move_leader_to_goals_phase> ai::old_move_leader_to_goals_phase_factory("testing_ai_default::move_leader_to_goals_phase")
static
register_candidate_action_factory<ai_default_rca::move_leader_to_keep_phase> ai::old_move_leader_to_keep_phase_factory("testing_ai_default::move_leader_to_keep_phase")
static
register_candidate_action_factory<ai_default_rca::leader_shares_keep_phase> ai::old_passive_leader_shares_keep_phase_factory("testing_ai_default::passive_leader_shares_keep_phase")
static
register_candidate_action_factory<ai_default_rca::retreat_phase> ai::old_retreat_phase_factory("testing_ai_default::retreat_phase")
static
register_candidate_action_factory<ai_default_rca::move_to_targets_phase> ai::old_testing_move_to_targets_phase_factory("testing_ai_default::testing_move_to_targets_phase")
static
register_aspect_factory< composite_aspect<bool> > ai::passive_leader__composite_aspect_factory("passive_leader*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<bool> > ai::passive_leader__lua_aspect_factory("passive_leader*lua_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::passive_leader__standard_aspect_factory("passive_leader*standard_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::passive_leader__standard_aspect_factory2("passive_leader*")
static
register_aspect_factory< composite_aspect<bool> > ai::passive_leader_shares_keep__composite_aspect_factory("passive_leader_shares_keep*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<bool> > ai::passive_leader_shares_keep__lua_aspect_factory("passive_leader_shares_keep*lua_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::passive_leader_shares_keep__standard_aspect_factory("passive_leader_shares_keep*standard_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::passive_leader_shares_keep__standard_aspect_factory2("passive_leader_shares_keep*")
static
register_candidate_action_factory<ai_default_rca::leader_shares_keep_phase> ai::passive_leader_shares_keep_phase_factory("ai_default_rca::passive_leader_shares_keep_phase")
static
register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment__standard_aspect_factory("recruitment*standard_aspect")
static
register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment__standard_aspect_factory2("recruitment*")
static
register_aspect_factory< composite_aspect<double> > ai::recruitment_diversity__composite_aspect_factory("recruitment_diversity*composite_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::recruitment_diversity__standard_aspect_factory("recruitment_diversity*standard_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::recruitment_diversity__standard_aspect_factory2("recruitment_diversity*")
static
register_aspect_factory< composite_aspect<config> > ai::recruitment_instructions__composite_aspect_factory("recruitment_instructions*composite_aspect")
static
register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment_instructions__standard_aspect_factory("recruitment_instructions*standard_aspect")
static
register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment_instructions__standard_aspect_factory2("recruitment_instructions*")
static
register_aspect_factory< composite_aspect< std::vector<std::string> > > ai::recruitment_more__composite_aspect_factory("recruitment_more*composite_aspect")
static
register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_more__standard_aspect_factory("recruitment_more*standard_aspect")
static
register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_more__standard_aspect_factory2("recruitment_more*")
static
register_aspect_factory< composite_aspect< std::vector<std::string> > > ai::recruitment_pattern__composite_aspect_factory("recruitment_pattern*composite_aspect")
static
register_lua_aspect_factory< lua_aspect< std::vector<std::string> > > ai::recruitment_pattern__lua_aspect_factory("recruitment_pattern*lua_aspect")
static
register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_pattern__standard_aspect_factory("recruitment_pattern*standard_aspect")
static
register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_pattern__standard_aspect_factory2("recruitment_pattern*")
static
register_aspect_factory< composite_aspect<int> > ai::recruitment_randomness__composite_aspect_factory("recruitment_randomness*composite_aspect")
static
register_aspect_factory< standard_aspect<int> > ai::recruitment_randomness__standard_aspect_factory("recruitment_randomness*standard_aspect")
static
register_aspect_factory< standard_aspect<int> > ai::recruitment_randomness__standard_aspect_factory2("recruitment_randomness*")
static
register_aspect_factory< composite_aspect<config> > ai::recruitment_save_gold__composite_aspect_factory("recruitment_save_gold*composite_aspect")
static
register_aspect_factory< standard_aspect<config> > ai::recruitment_save_gold__standard_aspect_factory("recruitment_save_gold*standard_aspect")
static
register_aspect_factory< standard_aspect<config> > ai::recruitment_save_gold__standard_aspect_factory2("recruitment_save_gold*")
static
register_aspect_factory< composite_aspect<config> > ai::recruitments__composite_aspect_factory("recruitment*composite_aspect")
static
register_candidate_action_factory<ai_default_rca::retreat_phase> ai::retreat_phase_factory("ai_default_rca::retreat_phase")
static
register_aspect_factory< composite_aspect<double> > ai::scout_village_targeting__composite_aspect_factory("scout_village_targeting*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<double> > ai::scout_village_targeting__lua_aspect_factory("scout_village_targeting*lua_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::scout_village_targeting__standard_aspect_factory("scout_village_targeting*standard_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::scout_village_targeting__standard_aspect_factory2("scout_village_targeting*")
static
register_aspect_factory< composite_aspect<bool> > ai::simple_targeting__composite_aspect_factory("simple_targeting*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<bool> > ai::simple_targeting__lua_aspect_factory("simple_targeting*lua_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::simple_targeting__standard_aspect_factory("simple_targeting*standard_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::simple_targeting__standard_aspect_factory2("simple_targeting*")
static
register_aspect_factory< composite_aspect<bool> > ai::support_villages__composite_aspect_factory("support_villages*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<bool> > ai::support_villages__lua_aspect_factory("support_villages*lua_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::support_villages__standard_aspect_factory("support_villages*standard_aspect")
static
register_aspect_factory< standard_aspect<bool> > ai::support_villages__standard_aspect_factory2("support_villages*")
static
register_aspect_factory< composite_aspect<double> > ai::village_value__composite_aspect_factory("village_value*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<double> > ai::village_value__lua_aspect_factory("village_value*lua_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::village_value__standard_aspect_factory("village_value*standard_aspect")
static
register_aspect_factory< standard_aspect<double> > ai::village_value__standard_aspect_factory2("village_value*")
static
register_aspect_factory< composite_aspect<int> > ai::villages_per_scout__composite_aspect_factory("villages_per_scout*composite_aspect")
static
register_lua_aspect_factory< lua_aspect<int> > ai::villages_per_scout__lua_aspect_factory("villages_per_scout*lua_aspect")
static
register_aspect_factory< standard_aspect<int> > ai::villages_per_scout__standard_aspect_factory("villages_per_scout*standard_aspect")
static
register_aspect_factory< standard_aspect<int> > ai::villages_per_scout__standard_aspect_factory2("villages_per_scout*")
static