|
static void | execute_or_check (action_result &action, bool execute) |
|
void | sim_gamestate_changed (action_result *result, bool gamestate_changed) |
|
static component * | find_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_context & | get_ai_context (wfl::const_formula_callable_ptr for_fai) |
|
static void | push_attack_analysis (lua_State *L, const attack_analysis &) |
|
static ai::engine_lua & | get_engine (lua_State *L) |
|
static ai::readonly_context & | get_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 () |
|
|
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_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< 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_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< 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_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 > > | 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_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< bool > > | allow_ally_villages__standard_aspect_factory2 ("allow_ally_villages*") |
|
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< 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_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 > > | 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_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< 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_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") |
|
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.