28 namespace ai_default_rca {
51 const std::array<map_location, 6>& tiles,
52 std::array<bool, 6>& used_locations,
53 std::vector<map_location>& units,
54 std::vector<attack_analysis>& result,
91 std::shared_ptr<lua_ai_action_handler>
handler_;
92 mutable std::shared_ptr<lua_object<aspect_attacks_lua_filter>>
obj_;
std::shared_ptr< attacks_vector > analyze_targets() const
virtual void recalculate() const
virtual bool is_allowed_enemy(const unit &u) const =0
virtual ~aspect_attacks_base()
void do_attack_analysis(const map_location &loc, const move_map &srcdst, const move_map &dstsrc, const move_map &fullmove_srcdst, const move_map &fullmove_dstsrc, const move_map &enemy_srcdst, const move_map &enemy_dstsrc, const std::array< map_location, 6 > &tiles, std::array< bool, 6 > &used_locations, std::vector< map_location > &units, std::vector< attack_analysis > &result, attack_analysis &cur_analysis, const team ¤t_team) const
aspect_attacks_base(readonly_context &context, const config &cfg, const std::string &id)
static int rate_terrain(const unit &u, const map_location &loc)
virtual bool is_allowed_attacker(const unit &u) const =0
std::shared_ptr< unit_filter > filter_own_
virtual ~aspect_attacks()
virtual bool is_allowed_attacker(const unit &u) const
virtual bool is_allowed_enemy(const unit &u) const
std::shared_ptr< unit_filter > filter_enemy_
aspect_attacks(readonly_context &context, const config &cfg, const std::string &id)
virtual config to_config() const
virtual config to_config() const
virtual bool is_allowed_enemy(const unit &u) const
std::shared_ptr< lua_object< aspect_attacks_lua_filter > > obj_
virtual bool is_allowed_attacker(const unit &u) const
virtual void recalculate() const
virtual ~aspect_attacks_lua()
aspect_attacks_lua(readonly_context &context, const config &cfg, const std::string &id, std::shared_ptr< lua_ai_context > &l_ctx)
std::shared_ptr< lua_ai_action_handler > handler_
virtual const team & current_team() const override
A config object defines a single node in a WML file, with access to child nodes.
This class stores all the data for a single 'side' (in game nomenclature).
This class represents a single unit of a specific type.
A small explanation about what's going on here: Each action has access to two game_info objects First...
std::multimap< map_location, map_location > move_map
The standard way in which a map of possible moves is recorded.
std::shared_ptr< unit_filter > filter_own_
std::shared_ptr< unit_filter > filter_enemy_
Encapsulates the map of the game.