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

Typedefs

using ai_target = string_enums::enum_base< ai_target_defines >
 
typedef std::shared_ptr< base_property_handlerproperty_handler_ptr
 
typedef std::map< std::string, property_handler_ptrproperty_handler_map
 
typedef std::shared_ptr< candidate_actioncandidate_action_ptr
 
typedef ai_contextai_context_ptr
 
using ca_ptr = wfl::candidate_action_ptr
 
typedef int side_number
 
typedef std::multimap< map_location, map_locationmove_map
 The standard way in which a map of possible moves is recorded. More...
 
typedef std::map< map_location, pathfind::pathsmoves_map
 The standard way in which a map of possible movement routes to location is recorded. More...
 
typedef std::unique_ptr< ai_compositecomposite_ai_ptr
 
typedef std::vector< attack_analysisattacks_vector
 
template<typename T >
using typesafe_aspect_ptr = std::shared_ptr< typesafe_aspect< T > >
 
template<typename T >
using typesafe_aspect_vector = std::vector< typesafe_aspect_ptr< T > >
 
template<typename T >
using typesafe_known_aspect_ptr = std::shared_ptr< typesafe_known_aspect< T > >
 
template<typename T >
using typesafe_known_aspect_vector = std::vector< typesafe_known_aspect_ptr< T > >
 
typedef std::shared_ptr< action_resultaction_result_ptr
 
typedef std::shared_ptr< attack_resultattack_result_ptr
 
typedef std::shared_ptr< recall_resultrecall_result_ptr
 
typedef std::shared_ptr< recruit_resultrecruit_result_ptr
 
typedef std::shared_ptr< move_resultmove_result_ptr
 
typedef std::shared_ptr< move_and_attack_result > move_and_attack_result_ptr
 
typedef std::shared_ptr< stopunit_resultstopunit_result_ptr
 
typedef std::shared_ptr< synced_command_resultsynced_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_aspectknown_aspect_ptr
 
typedef std::shared_ptr< stagestage_ptr
 
typedef std::map< std::string, aspect_ptraspect_map
 
typedef std::map< std::string, known_aspect_ptrknown_aspect_map
 
typedef std::shared_ptr< lua_object_baselua_object_ptr
 

Functions

static void execute_or_check (action_result &action, bool execute)
 
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, const ai::candidate_action &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_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_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_list (lua_State *L)
 
static int impl_ai_aspect_set (lua_State *L)
 
static int impl_ai_get (lua_State *L)
 
static int impl_ai_list (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 lg::log_domain log_wml ("wml")
 
static const std::set< std::string > non_aspect_attributes {"turns", "time_of_day", "engine", "ai_algorithm", "id", "description", "hidden", "mp_rank"}
 
static const std::set< std::string > just_copy_tags {"engine", "stage", "aspect", "goal", "modify_ai", "micro_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 luaL_Reg const mutating_callbacks []
 
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_cppcomposite_ai_factory_cpp ("cpp")
 
static register_engine_factory< engine_faicomposite_ai_factory_fai ("fai")
 
static register_engine_factory< engine_luacomposite_ai_factory_lua ("lua")
 
static register_stage_factory< ai_default_rca::candidate_action_evaluation_loopcandidate_action_evaluation_loop_factory ("ai_default_rca::candidate_action_evaluation_loop")
 
static register_stage_factory< idle_stageai_idle_stage_factory ("empty")
 
static register_stage_factory< ai_default_rca::candidate_action_evaluation_loopold_candidate_action_evaluation_loop_factory ("testing_ai_default::candidate_action_evaluation_loop")
 
static register_candidate_action_factory< ai_default_rca::goto_phasegoto_phase_factory ("ai_default_rca::goto_phase")
 
static register_candidate_action_factory< ai_default_rca::combat_phasecombat_phase_factory ("ai_default_rca::combat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_leader_to_goals_phasemove_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_phasemove_leader_to_keep_phase_factory ("ai_default_rca::move_leader_to_keep_phase")
 
static register_candidate_action_factory< ai_default_rca::get_villages_phaseget_villages_phase_factory ("ai_default_rca::get_villages_phase")
 
static register_candidate_action_factory< ai_default_rca::get_healing_phaseget_healing_phase_factory ("ai_default_rca::get_healing_phase")
 
static register_candidate_action_factory< ai_default_rca::retreat_phaseretreat_phase_factory ("ai_default_rca::retreat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_to_targets_phasedefault_move_to_targets_phase_factory ("ai_default_rca::move_to_targets_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_control_phaseleader_control_phase_factory ("ai_default_rca::leader_control_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_shares_keep_phaseleader_shares_keep_phase_factory ("ai_default_rca::leader_shares_keep_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_shares_keep_phasepassive_leader_shares_keep_phase_factory ("ai_default_rca::passive_leader_shares_keep_phase")
 
static register_candidate_action_factory< default_recruitment::recruitmentdefault_recruitment_factory ("default_recruitment::recruitment")
 
static register_candidate_action_factory< ai_default_rca::goto_phaseold_goto_phase_factory ("testing_ai_default::goto_phase")
 
static register_candidate_action_factory< ai_default_rca::combat_phaseold_combat_phase_factory ("testing_ai_default::combat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_leader_to_goals_phaseold_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_phaseold_move_leader_to_keep_phase_factory ("testing_ai_default::move_leader_to_keep_phase")
 
static register_candidate_action_factory< ai_default_rca::get_villages_phaseold_get_villages_phase_factory ("testing_ai_default::get_villages_phase")
 
static register_candidate_action_factory< ai_default_rca::get_healing_phaseold_get_healing_phase_factory ("testing_ai_default::get_healing_phase")
 
static register_candidate_action_factory< ai_default_rca::retreat_phaseold_retreat_phase_factory ("testing_ai_default::retreat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_to_targets_phaseold_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_phaseold_testing_move_to_targets_phase_factory ("testing_ai_default::testing_move_to_targets_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_control_phaseold_leader_control_phase_factory ("testing_ai_default::leader_control_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_shares_keep_phaseold_passive_leader_shares_keep_phase_factory ("testing_ai_default::passive_leader_shares_keep_phase")
 
static register_goal_factory< target_unit_goalgoal_factory ("")
 
static register_goal_factory< target_unit_goalgoal_factory_target ("target")
 
static register_goal_factory< target_unit_goalgoal_factory_target_unit ("target_unit")
 
static register_goal_factory< target_location_goalgoal_factory_target_location ("target_location")
 
static register_goal_factory< protect_location_goalgoal_factory_protect_location ("protect_location")
 
static register_goal_factory< protect_unit_goalgoal_factory_protect_unit ("protect_unit")
 
static register_goal_factory< lua_goalgoal_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< bool > > allow_ally_villages__composite_aspect_factory ("allow_ally_villages*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< utils::variant< bool, std::vector< std::string > > > > 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< utils::variant< bool, std::vector< std::string > > > > passive_leader__composite_aspect_factory ("passive_leader*composite_aspect")
 
static register_aspect_factory< composite_aspect< utils::variant< bool, std::vector< std::string > > > > 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 > > retreat_enemy_weight__composite_aspect_factory ("retreat_enemy_weight*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > retreat_factor__composite_aspect_factory ("retreat_factor*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< bool > > allow_ally_villages__standard_aspect_factory ("allow_ally_villages*standard_aspect")
 
static register_aspect_factory< ai_default_rca::aspect_attacksattacks__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< utils::variant< bool, std::vector< std::string > > > > 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< utils::variant< bool, std::vector< std::string > > > > passive_leader__standard_aspect_factory ("passive_leader*standard_aspect")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > 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_aspectrecruitment_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 > > retreat_enemy_weight__standard_aspect_factory ("retreat_enemy_weight*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > retreat_factor__standard_aspect_factory ("retreat_factor*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_attacksold_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< bool > > allow_ally_villages__standard_aspect_factory2 ("allow_ally_villages*")
 
static register_aspect_factory< ai_default_rca::aspect_attacksattacks__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< utils::variant< bool, std::vector< std::string > > > > 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< utils::variant< bool, std::vector< std::string > > > > passive_leader__standard_aspect_factory2 ("passive_leader*")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > 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_aspectrecruitment_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 > > retreat_enemy_weight__standard_aspect_factory2 ("retreat_enemy_weight*")
 
static register_aspect_factory< standard_aspect< double > > retreat_factor__standard_aspect_factory2 ("retreat_factor*")
 
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< bool > > allow_ally_villages__lua_aspect_factory ("allow_ally_villages*lua_aspect")
 
static register_lua_aspect_factory< aspect_attacks_luaattacks__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< utils::variant< bool, std::vector< std::string > > > > 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< utils::variant< bool, std::vector< std::string > > > > passive_leader__lua_aspect_factory ("passive_leader*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< utils::variant< bool, std::vector< std::string > > > > passive_leader_shares_keep__lua_aspect_factory ("passive_leader_shares_keep*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > retreat_enemy_weight__lua_aspect_factory ("retreat_enemy_weight*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > retreat_factor__lua_aspect_factory ("retreat_factor*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_aspectrecruitment__standard_aspect_factory ("recruitment*standard_aspect")
 
static register_aspect_factory< default_recruitment::recruitment_aspectrecruitment__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.

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

◆ action_result_ptr

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

Definition at line 81 of file game_info.hpp.

◆ ai_context_ptr

Definition at line 50 of file contexts.hpp.

◆ ai_target

Definition at line 34 of file ai_target.hpp.

◆ aspect_map

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

Definition at line 104 of file game_info.hpp.

◆ aspect_ptr

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

Definition at line 97 of file game_info.hpp.

◆ attack_result_ptr

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

Definition at line 82 of file game_info.hpp.

◆ attacks_vector

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

Definition at line 52 of file game_info.hpp.

◆ ca_ptr

Definition at line 64 of file ai.cpp.

◆ candidate_action_ptr

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

Definition at line 145 of file rca.hpp.

◆ composite_ai_ptr

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

Definition at line 49 of file game_info.hpp.

◆ engine_ptr

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

Definition at line 99 of file game_info.hpp.

◆ goal_ptr

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

Definition at line 100 of file game_info.hpp.

◆ known_aspect_map

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

Definition at line 105 of file game_info.hpp.

◆ known_aspect_ptr

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

Definition at line 101 of file game_info.hpp.

◆ lua_object_ptr

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

Definition at line 28 of file core.hpp.

◆ move_and_attack_result_ptr

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

Definition at line 86 of file game_info.hpp.

◆ move_map

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 43 of file game_info.hpp.

◆ move_result_ptr

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

Definition at line 85 of file game_info.hpp.

◆ moves_map

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

Definition at line 46 of file game_info.hpp.

◆ property_handler_map

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

Definition at line 48 of file component.hpp.

◆ property_handler_ptr

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

Definition at line 47 of file component.hpp.

◆ recall_result_ptr

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

Definition at line 83 of file game_info.hpp.

◆ recruit_result_ptr

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

Definition at line 84 of file game_info.hpp.

◆ side_number

typedef int ai::side_number

Definition at line 40 of file game_info.hpp.

◆ stage_ptr

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

Definition at line 102 of file game_info.hpp.

◆ stopunit_result_ptr

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

Definition at line 87 of file game_info.hpp.

◆ synced_command_result_ptr

Definition at line 88 of file game_info.hpp.

◆ typesafe_aspect_ptr

template<typename T >
using ai::typesafe_aspect_ptr = typedef std::shared_ptr<typesafe_aspect<T> >

Definition at line 58 of file game_info.hpp.

◆ typesafe_aspect_vector

template<typename T >
using ai::typesafe_aspect_vector = typedef std::vector<typesafe_aspect_ptr<T> >

Definition at line 61 of file game_info.hpp.

◆ typesafe_known_aspect_ptr

template<typename T >
using ai::typesafe_known_aspect_ptr = typedef std::shared_ptr<typesafe_known_aspect<T> >

Definition at line 67 of file game_info.hpp.

◆ typesafe_known_aspect_vector

template<typename T >
using ai::typesafe_known_aspect_vector = typedef std::vector<typesafe_known_aspect_ptr<T> >

Definition at line 70 of file game_info.hpp.

Function Documentation

◆ ai_attack()

static int ai::ai_attack ( lua_State *  L,
bool  exec 
)
static

◆ ai_move()

static int ai::ai_move ( lua_State *  L,
bool  exec,
bool  remove_movement 
)
static

◆ ai_recall()

static int ai::ai_recall ( lua_State *  L,
bool  exec 
)
static

◆ ai_recruit()

static int ai::ai_recruit ( lua_State *  L,
bool  exec 
)
static

◆ ai_stopunit_select()

static int ai::ai_stopunit_select ( lua_State *  L,
bool  exec,
bool  remove_movement,
bool  remove_attacks 
)
static

◆ call_lua_filter_fcn()

static bool ai::call_lua_filter_fcn ( lua_State *  L,
const unit u,
int  idx 
)
static

◆ cfun_ai_check_attack()

static int ai::cfun_ai_check_attack ( lua_State *  L)
static

Definition at line 230 of file core.cpp.

References ai_attack().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_check_move()

static int ai::cfun_ai_check_move ( lua_State *  L)
static

Definition at line 190 of file core.cpp.

References ai_move().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_check_recall()

static int ai::cfun_ai_check_recall ( lua_State *  L)
static

Definition at line 301 of file core.cpp.

References ai_recall().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_check_recruit()

static int ai::cfun_ai_check_recruit ( lua_State *  L)
static

Definition at line 280 of file core.cpp.

References ai_recruit().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_check_stopunit()

static int ai::cfun_ai_check_stopunit ( lua_State *  L)
static

Definition at line 259 of file core.cpp.

References ai_stopunit_select().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_execute_attack()

static int ai::cfun_ai_execute_attack ( lua_State *  L)
static

Definition at line 225 of file core.cpp.

References ai_attack().

◆ cfun_ai_execute_move_full()

static int ai::cfun_ai_execute_move_full ( lua_State *  L)
static

Definition at line 180 of file core.cpp.

References ai_move().

◆ cfun_ai_execute_move_partial()

static int ai::cfun_ai_execute_move_partial ( lua_State *  L)
static

Definition at line 185 of file core.cpp.

References ai_move().

◆ cfun_ai_execute_recall()

static int ai::cfun_ai_execute_recall ( lua_State *  L)
static

Definition at line 296 of file core.cpp.

References ai_recall().

◆ cfun_ai_execute_recruit()

static int ai::cfun_ai_execute_recruit ( lua_State *  L)
static

Definition at line 275 of file core.cpp.

References ai_recruit().

◆ cfun_ai_execute_stopunit_all()

static int ai::cfun_ai_execute_stopunit_all ( lua_State *  L)
static

Definition at line 254 of file core.cpp.

References ai_stopunit_select().

◆ cfun_ai_execute_stopunit_attacks()

static int ai::cfun_ai_execute_stopunit_attacks ( lua_State *  L)
static

Definition at line 249 of file core.cpp.

References ai_stopunit_select().

◆ cfun_ai_execute_stopunit_moves()

static int ai::cfun_ai_execute_stopunit_moves ( lua_State *  L)
static

Definition at line 244 of file core.cpp.

References ai_stopunit_select().

◆ cfun_ai_fallback_human()

static int ai::cfun_ai_fallback_human ( lua_State *  )
static

Definition at line 306 of file core.cpp.

◆ cfun_ai_get_aggression()

static int ai::cfun_ai_get_aggression ( lua_State *  L)
static

Definition at line 346 of file core.cpp.

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

Referenced by generate_and_push_ai_table().

◆ cfun_ai_get_attacks()

static int ai::cfun_ai_get_attacks ( lua_State *  L)
static

◆ cfun_ai_get_avoid()

static int ai::cfun_ai_get_avoid ( lua_State *  L)
static

◆ cfun_ai_get_caution()

static int ai::cfun_ai_get_caution ( lua_State *  L)
static

Definition at line 381 of file core.cpp.

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

Referenced by generate_and_push_ai_table().

◆ cfun_ai_get_dstsrc()

static int ai::cfun_ai_get_dstsrc ( lua_State *  L)
static

◆ cfun_ai_get_enemy_dstsrc()

static int ai::cfun_ai_get_enemy_dstsrc ( lua_State *  L)
static

◆ cfun_ai_get_enemy_srcdst()

static int ai::cfun_ai_get_enemy_srcdst ( lua_State *  L)
static

◆ cfun_ai_get_grouping()

static int ai::cfun_ai_get_grouping ( lua_State *  L)
static

Definition at line 388 of file core.cpp.

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

Referenced by generate_and_push_ai_table().

◆ cfun_ai_get_leader_aggression()

static int ai::cfun_ai_get_leader_aggression ( lua_State *  L)
static

◆ cfun_ai_get_leader_goal()

static int ai::cfun_ai_get_leader_goal ( lua_State *  L)
static

◆ cfun_ai_get_leader_ignores_keep()

static int ai::cfun_ai_get_leader_ignores_keep ( lua_State *  L)
static

Definition at line 430 of file core.cpp.

References get_readonly_context().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_get_leader_value()

static int ai::cfun_ai_get_leader_value ( lua_State *  L)
static

◆ cfun_ai_get_passive_leader()

static int ai::cfun_ai_get_passive_leader ( lua_State *  L)
static

Definition at line 443 of file core.cpp.

References get_readonly_context().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_get_passive_leader_shares_keep()

static int ai::cfun_ai_get_passive_leader_shares_keep ( lua_State *  L)
static

Definition at line 449 of file core.cpp.

References get_readonly_context().

Referenced by generate_and_push_ai_table().

◆ cfun_ai_get_recruitment_pattern()

static int ai::cfun_ai_get_recruitment_pattern ( lua_State *  L)
static

◆ cfun_ai_get_scout_village_targeting()

static int ai::cfun_ai_get_scout_village_targeting ( lua_State *  L)
static

◆ cfun_ai_get_simple_targeting()

static int ai::cfun_ai_get_simple_targeting ( lua_State *  L)
static

◆ cfun_ai_get_srcdst()

static int ai::cfun_ai_get_srcdst ( lua_State *  L)
static

◆ cfun_ai_get_suitable_keep()

static int ai::cfun_ai_get_suitable_keep ( lua_State *  L)
static

◆ cfun_ai_get_support_villages()

static int ai::cfun_ai_get_support_villages ( lua_State *  L)
static

◆ cfun_ai_get_targets()

static int ai::cfun_ai_get_targets ( lua_State *  L)
static

◆ cfun_ai_get_village_value()

static int ai::cfun_ai_get_village_value ( lua_State *  L)
static

◆ cfun_ai_get_villages_per_scout()

static int ai::cfun_ai_get_villages_per_scout ( lua_State *  L)
static

◆ cfun_ai_is_dst_src_enemy_valid()

static int ai::cfun_ai_is_dst_src_enemy_valid ( lua_State *  L)
static

◆ cfun_ai_is_dst_src_valid()

static int ai::cfun_ai_is_dst_src_valid ( lua_State *  L)
static

◆ cfun_ai_is_src_dst_enemy_valid()

static int ai::cfun_ai_is_src_dst_enemy_valid ( lua_State *  L)
static

◆ cfun_ai_is_src_dst_valid()

static int ai::cfun_ai_is_src_dst_valid ( lua_State *  L)
static

◆ cfun_ai_recalculate_move_maps()

static int ai::cfun_ai_recalculate_move_maps ( lua_State *  L)
static

◆ cfun_ai_recalculate_move_maps_enemy()

static int ai::cfun_ai_recalculate_move_maps_enemy ( lua_State *  L)
static

◆ cfun_attack_rating()

static int ai::cfun_attack_rating ( lua_State *  L)
static

◆ execute_or_check()

static void ai::execute_or_check ( action_result action,
bool  execute 
)
static

◆ find_component()

static component* ai::find_component ( component root,
const std::string &  path,
path_element tail 
)
static

◆ generate_and_push_ai_state()

static size_t ai::generate_and_push_ai_state ( lua_State *  L,
ai::engine_lua engine 
)
static

Definition at line 957 of file core.cpp.

References aisKey, and generate_and_push_ai_table().

Referenced by ai::lua_ai_context::create().

◆ generate_and_push_ai_table()

static void ai::generate_and_push_ai_table ( lua_State *  L,
ai::engine_lua engine 
)
static

◆ get_ai_context()

ai_context & ai::get_ai_context ( wfl::const_formula_callable_ptr  for_fai)

◆ get_engine()

static ai::engine_lua& ai::get_engine ( lua_State *  L)
static

◆ get_readonly_context()

static ai::readonly_context& ai::get_readonly_context ( lua_State *  L)
static

◆ helper_advance_unit()

void ai::helper_advance_unit ( const map_location loc)

◆ helper_check_village()

void ai::helper_check_village ( const map_location loc,
int  side 
)

◆ helper_place_unit()

void ai::helper_place_unit ( const unit u,
const map_location loc 
)

◆ impl_ai_aspect_get()

static int ai::impl_ai_aspect_get ( lua_State *  L)
static

◆ impl_ai_aspect_list()

static int ai::impl_ai_aspect_list ( lua_State *  L)
static

◆ impl_ai_aspect_set()

static int ai::impl_ai_aspect_set ( lua_State *  L)
static

Definition at line 818 of file core.cpp.

Referenced by impl_ai_get().

◆ impl_ai_get()

static int ai::impl_ai_get ( lua_State *  L)
static

◆ impl_ai_list()

static int ai::impl_ai_list ( lua_State *  L)
static

Definition at line 879 of file core.cpp.

References c, lua_push(), luaW_table_get_def(), and mutating_callbacks.

Referenced by generate_and_push_ai_table().

◆ operator<<()

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

Definition at line 139 of file rca.cpp.

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

◆ print_component()

static void ai::print_component ( component root,
const std::string &  type,
std::stringstream &  s,
int  offset 
)
static

◆ push_attack_analysis()

static void ai::push_attack_analysis ( lua_State *  L,
const attack_analysis aa 
)
static

◆ push_move_map()

static void ai::push_move_map ( lua_State *  L,
const move_map m 
)
static

◆ push_movements()

static void ai::push_movements ( lua_State *  L,
const std::vector< std::pair< map_location, map_location > > &  moves 
)
static

Definition at line 525 of file core.cpp.

References i, and luaW_pushlocation().

Referenced by push_attack_analysis().

◆ register_aspect_property()

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,
std::function< void(std::map< std::string, std::shared_ptr< X >> &, const config &, std::string)>  construction_factory 
)
inlinestatic

Definition at line 297 of file property_handler.hpp.

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

◆ register_facets_property()

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,
std::function< void(std::vector< std::shared_ptr< X >> &, const config &)>  construction_factory 
)
inlinestatic

Definition at line 289 of file property_handler.hpp.

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

◆ register_vector_property()

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,
std::function< void(std::vector< std::shared_ptr< X >> &, const config &)>  construction_factory 
)
inlinestatic

◆ sim_gamestate_changed()

void ai::sim_gamestate_changed ( action_result result,
bool  gamestate_changed 
)

Definition at line 1122 of file actions.cpp.

◆ simulated_attack()

bool ai::simulated_attack ( const map_location attacker_loc,
const map_location defender_loc,
double  attacker_hp,
double  defender_hp 
)

◆ simulated_move()

bool ai::simulated_move ( int  side,
const map_location from,
const map_location to,
int  steps,
map_location unit_location 
)

◆ simulated_recall()

bool ai::simulated_recall ( int  side,
const std::string &  unit_id,
const map_location recall_location 
)

◆ simulated_recruit()

bool ai::simulated_recruit ( int  side,
const unit_type u,
const map_location recruit_location 
)

◆ simulated_stopunit()

bool ai::simulated_stopunit ( const map_location unit_location,
bool  remove_movement,
bool  remove_attacks 
)

◆ simulated_synced_command()

bool ai::simulated_synced_command ( )

Definition at line 175 of file simulated_actions.cpp.

References DBG_AI_SIM_ACTIONS, and LOG_AI_SIM_ACTIONS.

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

◆ transform_ai_action()

static int ai::transform_ai_action ( lua_State *  L,
ai::action_result_ptr  action_result 
)
static

◆ try_aspect_as()

template<typename T >
typesafe_aspect<T>* ai::try_aspect_as ( aspect_ptr  p)

Definition at line 742 of file core.cpp.

References cursor::get(), and p.

Variable Documentation

◆ advancements__composite_aspect_factory

register_aspect_factory< composite_aspect< unit_advancements_aspect > > ai::advancements__composite_aspect_factory("advancements*composite_aspect") ( "advancements*composite_aspect )
static

◆ advancements__lua_aspect_factory

register_lua_aspect_factory< lua_aspect< unit_advancements_aspect > > ai::advancements__lua_aspect_factory("advancements*lua_aspect") ( "advancements*lua_aspect )
static

◆ advancements__standard_aspect_factory

register_aspect_factory< standard_aspect< unit_advancements_aspect > > ai::advancements__standard_aspect_factory("advancements*standard_aspect") ( "advancements*standard_aspect )
static

◆ advancements__standard_aspect_factory2

register_aspect_factory< standard_aspect< unit_advancements_aspect > > ai::advancements__standard_aspect_factory2("advancements*") ( "advancements*"  )
static

◆ aggression__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::aggression__composite_aspect_factory("aggression*composite_aspect") ( "aggression*composite_aspect )
static

◆ aggression__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::aggression__lua_aspect_factory("aggression*lua_aspect") ( "aggression*lua_aspect )
static

◆ aggression__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::aggression__standard_aspect_factory("aggression*standard_aspect") ( "aggression*standard_aspect )
static

◆ aggression__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::aggression__standard_aspect_factory2("aggression*") ( "aggression*"  )
static

◆ ai_idle_stage_factory

register_stage_factory<idle_stage> ai::ai_idle_stage_factory("empty") ( "empty"  )
static

◆ allow_ally_villages__composite_aspect_factory

register_aspect_factory< composite_aspect<bool> > ai::allow_ally_villages__composite_aspect_factory("allow_ally_villages*composite_aspect") ( "allow_ally_villages*composite_aspect )
static

◆ allow_ally_villages__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<bool> > ai::allow_ally_villages__lua_aspect_factory("allow_ally_villages*lua_aspect") ( "allow_ally_villages*lua_aspect )
static

◆ allow_ally_villages__standard_aspect_factory

register_aspect_factory< standard_aspect<bool> > ai::allow_ally_villages__standard_aspect_factory("allow_ally_villages*standard_aspect") ( "allow_ally_villages*standard_aspect )
static

◆ allow_ally_villages__standard_aspect_factory2

register_aspect_factory< standard_aspect<bool> > ai::allow_ally_villages__standard_aspect_factory2("allow_ally_villages*") ( "allow_ally_villages*"  )
static

◆ attacks__composite_aspect_factory

register_aspect_factory< composite_aspect< attacks_vector > > ai::attacks__composite_aspect_factory("attacks*composite_aspect") ( "attacks*composite_aspect )
static

◆ attacks__lua_aspect_factory

register_lua_aspect_factory< aspect_attacks_lua > ai::attacks__lua_aspect_factory("attacks*lua_aspect") ( "attacks*lua_aspect )
static

◆ attacks__testing_ai_default_aspect_attacks_factory

register_aspect_factory< ai_default_rca::aspect_attacks > ai::attacks__testing_ai_default_aspect_attacks_factory("attacks*ai_default_rca::aspect_attacks") ( "attacks*ai_default_rca::aspect_attacks )
static

◆ attacks__testing_ai_default_aspect_attacks_factory2

register_aspect_factory< ai_default_rca::aspect_attacks > ai::attacks__testing_ai_default_aspect_attacks_factory2("attacks*") ( "attacks*"  )
static

◆ avoid__composite_aspect_factory

register_aspect_factory< composite_aspect< terrain_filter > > ai::avoid__composite_aspect_factory("avoid*composite_aspect") ( "avoid*composite_aspect )
static

◆ avoid__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<terrain_filter> > ai::avoid__lua_aspect_factory("avoid*lua_aspect") ( "avoid*lua_aspect )
static

◆ avoid__standard_aspect_factory

register_aspect_factory< standard_aspect< terrain_filter > > ai::avoid__standard_aspect_factory("avoid*standard_aspect") ( "avoid*standard_aspect )
static

◆ avoid__standard_aspect_factory2

register_aspect_factory< standard_aspect< terrain_filter > > ai::avoid__standard_aspect_factory2("avoid*") ( "avoid*"  )
static

◆ candidate_action_evaluation_loop_factory

register_stage_factory<ai_default_rca::candidate_action_evaluation_loop> ai::candidate_action_evaluation_loop_factory("ai_default_rca::candidate_action_evaluation_loop") ( "ai_default_rca::candidate_action_evaluation_loop"  )
static

◆ caution__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::caution__composite_aspect_factory("caution*composite_aspect") ( "caution*composite_aspect )
static

◆ caution__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::caution__lua_aspect_factory("caution*lua_aspect") ( "caution*lua_aspect )
static

◆ caution__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::caution__standard_aspect_factory("caution*standard_aspect") ( "caution*standard_aspect )
static

◆ caution__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::caution__standard_aspect_factory2("caution*") ( "caution*"  )
static

◆ combat_phase_factory

register_candidate_action_factory<ai_default_rca::combat_phase> ai::combat_phase_factory("ai_default_rca::combat_phase") ( "ai_default_rca::combat_phase"  )
static

◆ composite_ai_factory_cpp

register_engine_factory<engine_cpp> ai::composite_ai_factory_cpp("cpp") ( "cpp"  )
static

◆ composite_ai_factory_fai

register_engine_factory<engine_fai> ai::composite_ai_factory_fai("fai") ( "fai"  )
static

◆ composite_ai_factory_lua

register_engine_factory<engine_lua> ai::composite_ai_factory_lua("lua") ( "lua"  )
static

◆ default_move_to_targets_phase_factory

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") ( "ai_default_rca::move_to_targets_phase"  )
static

◆ default_recruitment_factory

register_candidate_action_factory<default_recruitment::recruitment> ai::default_recruitment_factory("default_recruitment::recruitment") ( "default_recruitment::recruitment"  )
static

◆ get_healing_phase_factory

register_candidate_action_factory<ai_default_rca::get_healing_phase> ai::get_healing_phase_factory("ai_default_rca::get_healing_phase") ( "ai_default_rca::get_healing_phase"  )
static

◆ get_villages_phase_factory

register_candidate_action_factory<ai_default_rca::get_villages_phase> ai::get_villages_phase_factory("ai_default_rca::get_villages_phase") ( "ai_default_rca::get_villages_phase"  )
static

◆ goal_factory

◆ goal_factory_lua_goal

register_goal_factory<lua_goal> ai::goal_factory_lua_goal("lua_goal") ( "lua_goal"  )
static

◆ goal_factory_protect_location

register_goal_factory<protect_location_goal> ai::goal_factory_protect_location("protect_location") ( "protect_location"  )
static

◆ goal_factory_protect_unit

register_goal_factory<protect_unit_goal> ai::goal_factory_protect_unit("protect_unit") ( "protect_unit"  )
static

◆ goal_factory_target

register_goal_factory<target_unit_goal> ai::goal_factory_target("target") ( "target"  )
static

◆ goal_factory_target_location

register_goal_factory<target_location_goal> ai::goal_factory_target_location("target_location") ( "target_location"  )
static

◆ goal_factory_target_unit

register_goal_factory<target_unit_goal> ai::goal_factory_target_unit("target_unit") ( "target_unit"  )
static

◆ goto_phase_factory

register_candidate_action_factory<ai_default_rca::goto_phase> ai::goto_phase_factory("ai_default_rca::goto_phase") ( "ai_default_rca::goto_phase"  )
static

◆ grouping__composite_aspect_factory

register_aspect_factory< composite_aspect<std::string> > ai::grouping__composite_aspect_factory("grouping*composite_aspect") ( "grouping*composite_aspect )
static

◆ grouping__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<std::string> > ai::grouping__lua_aspect_factory("grouping*lua_aspect") ( "grouping*lua_aspect )
static

◆ grouping__standard_aspect_factory

register_aspect_factory< standard_aspect<std::string> > ai::grouping__standard_aspect_factory("grouping*standard_aspect") ( "grouping*standard_aspect )
static

◆ grouping__standard_aspect_factory2

register_aspect_factory< standard_aspect<std::string> > ai::grouping__standard_aspect_factory2("grouping*") ( "grouping*"  )
static

◆ just_copy_tags

const std::set<std::string> ai::just_copy_tags {"engine", "stage", "aspect", "goal", "modify_ai", "micro_ai"}
static

Definition at line 272 of file configuration.cpp.

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

◆ leader_aggression__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::leader_aggression__composite_aspect_factory("leader_aggression*composite_aspect") ( "leader_aggression*composite_aspect )
static

◆ leader_aggression__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::leader_aggression__lua_aspect_factory("leader_aggression*lua_aspect") ( "leader_aggression*lua_aspect )
static

◆ leader_aggression__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::leader_aggression__standard_aspect_factory("leader_aggression*standard_aspect") ( "leader_aggression*standard_aspect )
static

◆ leader_aggression__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::leader_aggression__standard_aspect_factory2("leader_aggression*") ( "leader_aggression*"  )
static

◆ leader_control_phase_factory

register_candidate_action_factory<ai_default_rca::leader_control_phase> ai::leader_control_phase_factory("ai_default_rca::leader_control_phase") ( "ai_default_rca::leader_control_phase"  )
static

◆ leader_goal__composite_aspect_factory

register_aspect_factory< composite_aspect<config> > ai::leader_goal__composite_aspect_factory("leader_goal*composite_aspect") ( "leader_goal*composite_aspect )
static

◆ leader_goal__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<config> > ai::leader_goal__lua_aspect_factory("leader_goal*lua_aspect") ( "leader_goal*lua_aspect )
static

◆ leader_goal__standard_aspect_factory

register_aspect_factory< standard_aspect<config> > ai::leader_goal__standard_aspect_factory("leader_goal*standard_aspect") ( "leader_goal*standard_aspect )
static

◆ leader_goal__standard_aspect_factory2

register_aspect_factory< standard_aspect<config> > ai::leader_goal__standard_aspect_factory2("leader_goal*") ( "leader_goal*"  )
static

◆ leader_ignores_keep__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<utils::variant<bool, std::vector<std::string> > > > ai::leader_ignores_keep__lua_aspect_factory("leader_ignores_keep*lua_aspect") ( "leader_ignores_keep*lua_aspect )
static

◆ leader_ignores_keep__standard_aspect_factory

register_aspect_factory< standard_aspect<utils::variant<bool, std::vector<std::string> > > > ai::leader_ignores_keep__standard_aspect_factory("leader_ignores_keep*standard_aspect") ( "leader_ignores_keep*standard_aspect )
static

◆ leader_ignores_keep__standard_aspect_factory2

register_aspect_factory< standard_aspect<utils::variant<bool, std::vector<std::string> > > > ai::leader_ignores_keep__standard_aspect_factory2("leader_ignores_keep*") ( "leader_ignores_keep*"  )
static

◆ leader_igores_keep__composite_aspect_factory

register_aspect_factory< composite_aspect<utils::variant<bool, std::vector<std::string> > > > ai::leader_igores_keep__composite_aspect_factory("leader_ignores_keep*composite_aspect") ( "leader_ignores_keep*composite_aspect )
static

◆ leader_shares_keep_phase_factory

register_candidate_action_factory<ai_default_rca::leader_shares_keep_phase> ai::leader_shares_keep_phase_factory("ai_default_rca::leader_shares_keep_phase") ( "ai_default_rca::leader_shares_keep_phase"  )
static

◆ leader_value__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::leader_value__composite_aspect_factory("leader_value*composite_aspect") ( "leader_value*composite_aspect )
static

◆ leader_value__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::leader_value__lua_aspect_factory("leader_value*lua_aspect") ( "leader_value*lua_aspect )
static

◆ leader_value__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::leader_value__standard_aspect_factory("leader_value*standard_aspect") ( "leader_value*standard_aspect )
static

◆ leader_value__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::leader_value__standard_aspect_factory2("leader_value*") ( "leader_value*"  )
static

◆ log_ai_actions

lg::log_domain ai::log_ai_actions("ai/actions") ( "ai/actions )
static

◆ log_ai_aspect

lg::log_domain ai::log_ai_aspect("ai/aspect") ( "ai/aspect )
static

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

◆ log_ai_component

lg::log_domain ai::log_ai_component("ai/component") ( "ai/component )
static

◆ log_ai_composite

lg::log_domain ai::log_ai_composite("ai/composite") ( "ai/composite"  )
static

◆ log_ai_configuration

lg::log_domain ai::log_ai_configuration("ai/config") ( "ai/config )
static

◆ log_ai_engine

lg::log_domain ai::log_ai_engine("ai/engine") ( "ai/engine )
static

◆ log_ai_engine_cpp

lg::log_domain ai::log_ai_engine_cpp("ai/engine/cpp") ( "ai/engine/cpp"  )
static

◆ log_ai_engine_fai

lg::log_domain ai::log_ai_engine_fai("ai/engine/fai") ( "ai/engine/fai"  )
static

◆ log_ai_engine_lua

lg::log_domain ai::log_ai_engine_lua("ai/engine/lua") ( "ai/engine/lua"  )
static

◆ log_ai_goal

lg::log_domain ai::log_ai_goal("ai/goal") ( "ai/goal )
static

◆ log_ai_manager

lg::log_domain ai::log_ai_manager("ai/manager") ( "ai/manager )
static

◆ log_ai_mod

lg::log_domain ai::log_ai_mod("ai/mod") ( "ai/mod"  )
static

◆ log_ai_sim_actions

lg::log_domain ai::log_ai_sim_actions("ai/sim_actions") ( "ai/sim_actions"  )
static

◆ log_ai_stage

lg::log_domain ai::log_ai_stage("ai/stage") ( "ai/stage )
static

◆ log_ai_stage_rca

lg::log_domain ai::log_ai_stage_rca("ai/stage/rca") ( "ai/stage/rca"  )
static

◆ log_wml

lg::log_domain ai::log_wml("wml") ( "wml"  )
static

◆ move_leader_to_goals_phase_factory

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") ( "ai_default_rca::move_leader_to_goals_phase"  )
static

◆ move_leader_to_keep_phase_factory

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") ( "ai_default_rca::move_leader_to_keep_phase"  )
static

◆ mutating_callbacks

luaL_Reg const ai::mutating_callbacks[]
static
Initial value:
= {
{ "attack", &cfun_ai_execute_attack },
{ "move_full", &cfun_ai_execute_move_full },
{ "recall", &cfun_ai_execute_recall },
{ "recruit", &cfun_ai_execute_recruit },
{ "stopunit_all", &cfun_ai_execute_stopunit_all },
{ "stopunit_attacks", &cfun_ai_execute_stopunit_attacks },
{ "stopunit_moves", &cfun_ai_execute_stopunit_moves },
{ "fallback_human", &cfun_ai_fallback_human},
{ nullptr, nullptr }
}
static int cfun_ai_execute_stopunit_all(lua_State *L)
Definition: core.cpp:254
static int cfun_ai_execute_stopunit_moves(lua_State *L)
Definition: core.cpp:244
static int cfun_ai_fallback_human(lua_State *)
Definition: core.cpp:306
static int cfun_ai_execute_attack(lua_State *L)
Definition: core.cpp:225
static int cfun_ai_execute_recall(lua_State *L)
Definition: core.cpp:296
static int cfun_ai_execute_stopunit_attacks(lua_State *L)
Definition: core.cpp:249
static int cfun_ai_execute_recruit(lua_State *L)
Definition: core.cpp:275
static int cfun_ai_execute_move_partial(lua_State *L)
Definition: core.cpp:185
static int cfun_ai_execute_move_full(lua_State *L)
Definition: core.cpp:180

Definition at line 824 of file core.cpp.

Referenced by impl_ai_get(), and impl_ai_list().

◆ non_aspect_attributes

const std::set<std::string> ai::non_aspect_attributes {"turns", "time_of_day", "engine", "ai_algorithm", "id", "description", "hidden", "mp_rank"}
static

Definition at line 271 of file configuration.cpp.

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

◆ old_attacks__testing_ai_default_aspect_attacks_factory

register_aspect_factory< ai_default_rca::aspect_attacks > ai::old_attacks__testing_ai_default_aspect_attacks_factory("attacks*testing_ai_default::aspect_attacks") ( "attacks*testing_ai_default::aspect_attacks"  )
static

◆ old_candidate_action_evaluation_loop_factory

register_stage_factory<ai_default_rca::candidate_action_evaluation_loop> ai::old_candidate_action_evaluation_loop_factory("testing_ai_default::candidate_action_evaluation_loop") ( "testing_ai_default::candidate_action_evaluation_loop"  )
static

◆ old_combat_phase_factory

register_candidate_action_factory<ai_default_rca::combat_phase> ai::old_combat_phase_factory("testing_ai_default::combat_phase") ( "testing_ai_default::combat_phase"  )
static

◆ old_default_move_to_targets_phase_factory

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") ( "testing_ai_default::default_move_to_targets_phase"  )
static

◆ old_get_healing_phase_factory

register_candidate_action_factory<ai_default_rca::get_healing_phase> ai::old_get_healing_phase_factory("testing_ai_default::get_healing_phase") ( "testing_ai_default::get_healing_phase"  )
static

◆ old_get_villages_phase_factory

register_candidate_action_factory<ai_default_rca::get_villages_phase> ai::old_get_villages_phase_factory("testing_ai_default::get_villages_phase") ( "testing_ai_default::get_villages_phase"  )
static

◆ old_goal_tags

const std::set<std::string> ai::old_goal_tags {"target", "target_location", "protect_unit", "protect_location"}
static

Definition at line 273 of file configuration.cpp.

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

◆ old_goto_phase_factory

register_candidate_action_factory<ai_default_rca::goto_phase> ai::old_goto_phase_factory("testing_ai_default::goto_phase") ( "testing_ai_default::goto_phase"  )
static

◆ old_leader_control_phase_factory

register_candidate_action_factory<ai_default_rca::leader_control_phase> ai::old_leader_control_phase_factory("testing_ai_default::leader_control_phase") ( "testing_ai_default::leader_control_phase"  )
static

◆ old_move_leader_to_goals_phase_factory

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") ( "testing_ai_default::move_leader_to_goals_phase"  )
static

◆ old_move_leader_to_keep_phase_factory

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") ( "testing_ai_default::move_leader_to_keep_phase"  )
static

◆ old_passive_leader_shares_keep_phase_factory

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") ( "testing_ai_default::passive_leader_shares_keep_phase"  )
static

◆ old_retreat_phase_factory

register_candidate_action_factory<ai_default_rca::retreat_phase> ai::old_retreat_phase_factory("testing_ai_default::retreat_phase") ( "testing_ai_default::retreat_phase"  )
static

◆ old_testing_move_to_targets_phase_factory

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") ( "testing_ai_default::testing_move_to_targets_phase"  )
static

◆ passive_leader__composite_aspect_factory

register_aspect_factory< composite_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader__composite_aspect_factory("passive_leader*composite_aspect") ( "passive_leader*composite_aspect )
static

◆ passive_leader__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader__lua_aspect_factory("passive_leader*lua_aspect") ( "passive_leader*lua_aspect )
static

◆ passive_leader__standard_aspect_factory

register_aspect_factory< standard_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader__standard_aspect_factory("passive_leader*standard_aspect") ( "passive_leader*standard_aspect )
static

◆ passive_leader__standard_aspect_factory2

register_aspect_factory< standard_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader__standard_aspect_factory2("passive_leader*") ( "passive_leader*"  )
static

◆ passive_leader_shares_keep__composite_aspect_factory

register_aspect_factory< composite_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader_shares_keep__composite_aspect_factory("passive_leader_shares_keep*composite_aspect") ( "passive_leader_shares_keep*composite_aspect )
static

◆ passive_leader_shares_keep__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader_shares_keep__lua_aspect_factory("passive_leader_shares_keep*lua_aspect") ( "passive_leader_shares_keep*lua_aspect )
static

◆ passive_leader_shares_keep__standard_aspect_factory

register_aspect_factory< standard_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader_shares_keep__standard_aspect_factory("passive_leader_shares_keep*standard_aspect") ( "passive_leader_shares_keep*standard_aspect )
static

◆ passive_leader_shares_keep__standard_aspect_factory2

register_aspect_factory< standard_aspect<utils::variant<bool, std::vector<std::string> > > > ai::passive_leader_shares_keep__standard_aspect_factory2("passive_leader_shares_keep*") ( "passive_leader_shares_keep*"  )
static

◆ passive_leader_shares_keep_phase_factory

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") ( "ai_default_rca::passive_leader_shares_keep_phase"  )
static

◆ recruitment__standard_aspect_factory

register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment__standard_aspect_factory("recruitment*standard_aspect") ( "recruitment*standard_aspect )
static

◆ recruitment__standard_aspect_factory2

register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment__standard_aspect_factory2("recruitment*") ( "recruitment*"  )
static

◆ recruitment_diversity__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::recruitment_diversity__composite_aspect_factory("recruitment_diversity*composite_aspect") ( "recruitment_diversity*composite_aspect )
static

◆ recruitment_diversity__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::recruitment_diversity__standard_aspect_factory("recruitment_diversity*standard_aspect") ( "recruitment_diversity*standard_aspect )
static

◆ recruitment_diversity__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::recruitment_diversity__standard_aspect_factory2("recruitment_diversity*") ( "recruitment_diversity*"  )
static

◆ recruitment_instructions__composite_aspect_factory

register_aspect_factory< composite_aspect<config> > ai::recruitment_instructions__composite_aspect_factory("recruitment_instructions*composite_aspect") ( "recruitment_instructions*composite_aspect )
static

◆ recruitment_instructions__standard_aspect_factory

register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment_instructions__standard_aspect_factory("recruitment_instructions*standard_aspect") ( "recruitment_instructions*standard_aspect )
static

◆ recruitment_instructions__standard_aspect_factory2

register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment_instructions__standard_aspect_factory2("recruitment_instructions*") ( "recruitment_instructions*"  )
static

◆ recruitment_more__composite_aspect_factory

register_aspect_factory< composite_aspect< std::vector<std::string> > > ai::recruitment_more__composite_aspect_factory("recruitment_more*composite_aspect") ( "recruitment_more*composite_aspect )
static

◆ recruitment_more__standard_aspect_factory

register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_more__standard_aspect_factory("recruitment_more*standard_aspect") ( "recruitment_more*standard_aspect )
static

◆ recruitment_more__standard_aspect_factory2

register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_more__standard_aspect_factory2("recruitment_more*") ( "recruitment_more*"  )
static

◆ recruitment_pattern__composite_aspect_factory

register_aspect_factory< composite_aspect< std::vector<std::string> > > ai::recruitment_pattern__composite_aspect_factory("recruitment_pattern*composite_aspect") ( "recruitment_pattern*composite_aspect )
static

◆ recruitment_pattern__lua_aspect_factory

register_lua_aspect_factory< lua_aspect< std::vector<std::string> > > ai::recruitment_pattern__lua_aspect_factory("recruitment_pattern*lua_aspect") ( "recruitment_pattern*lua_aspect )
static

◆ recruitment_pattern__standard_aspect_factory

register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_pattern__standard_aspect_factory("recruitment_pattern*standard_aspect") ( "recruitment_pattern*standard_aspect )
static

◆ recruitment_pattern__standard_aspect_factory2

register_aspect_factory< standard_aspect< std::vector<std::string> > > ai::recruitment_pattern__standard_aspect_factory2("recruitment_pattern*") ( "recruitment_pattern*"  )
static

◆ recruitment_randomness__composite_aspect_factory

register_aspect_factory< composite_aspect<int> > ai::recruitment_randomness__composite_aspect_factory("recruitment_randomness*composite_aspect") ( "recruitment_randomness*composite_aspect )
static

◆ recruitment_randomness__standard_aspect_factory

register_aspect_factory< standard_aspect<int> > ai::recruitment_randomness__standard_aspect_factory("recruitment_randomness*standard_aspect") ( "recruitment_randomness*standard_aspect )
static

◆ recruitment_randomness__standard_aspect_factory2

register_aspect_factory< standard_aspect<int> > ai::recruitment_randomness__standard_aspect_factory2("recruitment_randomness*") ( "recruitment_randomness*"  )
static

◆ recruitment_save_gold__composite_aspect_factory

register_aspect_factory< composite_aspect<config> > ai::recruitment_save_gold__composite_aspect_factory("recruitment_save_gold*composite_aspect") ( "recruitment_save_gold*composite_aspect )
static

◆ recruitment_save_gold__standard_aspect_factory

register_aspect_factory< standard_aspect<config> > ai::recruitment_save_gold__standard_aspect_factory("recruitment_save_gold*standard_aspect") ( "recruitment_save_gold*standard_aspect )
static

◆ recruitment_save_gold__standard_aspect_factory2

register_aspect_factory< standard_aspect<config> > ai::recruitment_save_gold__standard_aspect_factory2("recruitment_save_gold*") ( "recruitment_save_gold*"  )
static

◆ recruitments__composite_aspect_factory

register_aspect_factory< composite_aspect<config> > ai::recruitments__composite_aspect_factory("recruitment*composite_aspect") ( "recruitment*composite_aspect )
static

◆ retreat_enemy_weight__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::retreat_enemy_weight__composite_aspect_factory("retreat_enemy_weight*composite_aspect") ( "retreat_enemy_weight*composite_aspect )
static

◆ retreat_enemy_weight__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::retreat_enemy_weight__lua_aspect_factory("retreat_enemy_weight*lua_aspect") ( "retreat_enemy_weight*lua_aspect )
static

◆ retreat_enemy_weight__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::retreat_enemy_weight__standard_aspect_factory("retreat_enemy_weight*standard_aspect") ( "retreat_enemy_weight*standard_aspect )
static

◆ retreat_enemy_weight__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::retreat_enemy_weight__standard_aspect_factory2("retreat_enemy_weight*") ( "retreat_enemy_weight*"  )
static

◆ retreat_factor__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::retreat_factor__composite_aspect_factory("retreat_factor*composite_aspect") ( "retreat_factor*composite_aspect )
static

◆ retreat_factor__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::retreat_factor__lua_aspect_factory("retreat_factor*lua_aspect") ( "retreat_factor*lua_aspect )
static

◆ retreat_factor__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::retreat_factor__standard_aspect_factory("retreat_factor*standard_aspect") ( "retreat_factor*standard_aspect )
static

◆ retreat_factor__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::retreat_factor__standard_aspect_factory2("retreat_factor*") ( "retreat_factor*"  )
static

◆ retreat_phase_factory

register_candidate_action_factory<ai_default_rca::retreat_phase> ai::retreat_phase_factory("ai_default_rca::retreat_phase") ( "ai_default_rca::retreat_phase"  )
static

◆ scout_village_targeting__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::scout_village_targeting__composite_aspect_factory("scout_village_targeting*composite_aspect") ( "scout_village_targeting*composite_aspect )
static

◆ scout_village_targeting__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::scout_village_targeting__lua_aspect_factory("scout_village_targeting*lua_aspect") ( "scout_village_targeting*lua_aspect )
static

◆ scout_village_targeting__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::scout_village_targeting__standard_aspect_factory("scout_village_targeting*standard_aspect") ( "scout_village_targeting*standard_aspect )
static

◆ scout_village_targeting__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::scout_village_targeting__standard_aspect_factory2("scout_village_targeting*") ( "scout_village_targeting*"  )
static

◆ simple_targeting__composite_aspect_factory

register_aspect_factory< composite_aspect<bool> > ai::simple_targeting__composite_aspect_factory("simple_targeting*composite_aspect") ( "simple_targeting*composite_aspect )
static

◆ simple_targeting__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<bool> > ai::simple_targeting__lua_aspect_factory("simple_targeting*lua_aspect") ( "simple_targeting*lua_aspect )
static

◆ simple_targeting__standard_aspect_factory

register_aspect_factory< standard_aspect<bool> > ai::simple_targeting__standard_aspect_factory("simple_targeting*standard_aspect") ( "simple_targeting*standard_aspect )
static

◆ simple_targeting__standard_aspect_factory2

register_aspect_factory< standard_aspect<bool> > ai::simple_targeting__standard_aspect_factory2("simple_targeting*") ( "simple_targeting*"  )
static

◆ support_villages__composite_aspect_factory

register_aspect_factory< composite_aspect<bool> > ai::support_villages__composite_aspect_factory("support_villages*composite_aspect") ( "support_villages*composite_aspect )
static

◆ support_villages__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<bool> > ai::support_villages__lua_aspect_factory("support_villages*lua_aspect") ( "support_villages*lua_aspect )
static

◆ support_villages__standard_aspect_factory

register_aspect_factory< standard_aspect<bool> > ai::support_villages__standard_aspect_factory("support_villages*standard_aspect") ( "support_villages*standard_aspect )
static

◆ support_villages__standard_aspect_factory2

register_aspect_factory< standard_aspect<bool> > ai::support_villages__standard_aspect_factory2("support_villages*") ( "support_villages*"  )
static

◆ village_value__composite_aspect_factory

register_aspect_factory< composite_aspect<double> > ai::village_value__composite_aspect_factory("village_value*composite_aspect") ( "village_value*composite_aspect )
static

◆ village_value__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<double> > ai::village_value__lua_aspect_factory("village_value*lua_aspect") ( "village_value*lua_aspect )
static

◆ village_value__standard_aspect_factory

register_aspect_factory< standard_aspect<double> > ai::village_value__standard_aspect_factory("village_value*standard_aspect") ( "village_value*standard_aspect )
static

◆ village_value__standard_aspect_factory2

register_aspect_factory< standard_aspect<double> > ai::village_value__standard_aspect_factory2("village_value*") ( "village_value*"  )
static

◆ villages_per_scout__composite_aspect_factory

register_aspect_factory< composite_aspect<int> > ai::villages_per_scout__composite_aspect_factory("villages_per_scout*composite_aspect") ( "villages_per_scout*composite_aspect )
static

◆ villages_per_scout__lua_aspect_factory

register_lua_aspect_factory< lua_aspect<int> > ai::villages_per_scout__lua_aspect_factory("villages_per_scout*lua_aspect") ( "villages_per_scout*lua_aspect )
static

◆ villages_per_scout__standard_aspect_factory

register_aspect_factory< standard_aspect<int> > ai::villages_per_scout__standard_aspect_factory("villages_per_scout*standard_aspect") ( "villages_per_scout*standard_aspect )
static

◆ villages_per_scout__standard_aspect_factory2

register_aspect_factory< standard_aspect<int> > ai::villages_per_scout__standard_aspect_factory2("villages_per_scout*") ( "villages_per_scout*"  )
static