38 namespace ai {
class ai_context; }
39 namespace pathfind {
struct plain_route; }
52 bool operator() (
const unit_formula_pair& left,
53 const unit_formula_pair& right)
const 55 return left.second > right.second;
79 virtual config to_config()
const;
81 std::string evaluate(
const std::string& formula_str);
89 static const int MAX_CALLS = 1000;
91 int set_unit_var_counter_;
92 int continue_counter_;
94 gamestate_change_observer();
95 ~gamestate_change_observer();
97 void handle_generic_event(
const std::string& );
101 bool set_unit_var_check();
103 bool continue_check();
109 void swap_move_map(move_map_backup& backup);
115 int get_recursion_count()
const override;
123 void handle_exception(
const wfl::formula_error& e,
const std::string& failed_operation)
const;
134 wfl::formula_ptr create_optional_formula(
const std::string& formula_string)
const;
156 void display_message(
const std::string&
msg)
const;
157 virtual wfl::variant get_value(
const std::string& key)
const override;
158 void set_value(
const std::string& key,
const wfl::variant& value)
override;
170 friend class ai_default;
std::shared_ptr< candidate_action > candidate_action_ptr
Defines formula ai candidate actions - headers.
std::vector< formula_input > formula_input_vector
static void msg(const char *act, debug_info &i, const char *to="", const char *result="")
std::multiset< unit_formula_pair, unit_formula_compare > unit_formula_set
Definitions for the interface to Wesnoth Markup Language (WML).
ai_context & get_ai_context(wfl::const_formula_callable_ptr for_fai)
A small explanation about what's going on here: Each action has access to two game_info objects First...
Structure which holds a single route between one location and another.
Encapsulates the map of the game.
std::shared_ptr< const formula_callable > const_formula_callable_ptr
std::shared_ptr< const formula > const_formula_ptr
Helper functions for the object which operates in the context of AI for specific side this is part of...
std::pair< unit_map::unit_iterator, int > unit_formula_pair
A config object defines a single node in a WML file, with access to child nodes.
std::shared_ptr< formula > formula_ptr