Public Member Functions

ai::readonly_context Class Reference

#include <contexts.hpp>

Inheritance diagram for ai::readonly_context:
Inheritance graph
[legend]
Collaboration diagram for ai::readonly_context:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 readonly_context ()
virtual ~readonly_context ()
virtual readonly_contextget_readonly_context ()=0
virtual void on_readonly_context_create ()=0
virtual const teamcurrent_team () const =0
virtual void diagnostic (const std::string &msg)=0
virtual void log_message (const std::string &msg)=0
virtual attack_result_ptr check_attack_action (const map_location &attacker_loc, const map_location &defender_loc, int attacker_weapon)=0
virtual move_result_ptr check_move_action (const map_location &from, const map_location &to, bool remove_movement=true)=0
virtual recall_result_ptr check_recall_action (const std::string &id, const map_location &where=map_location::null_location, const map_location &from=map_location::null_location)=0
virtual recruit_result_ptr check_recruit_action (const std::string &unit_name, const map_location &where=map_location::null_location, const map_location &from=map_location::null_location)=0
virtual stopunit_result_ptr check_stopunit_action (const map_location &unit_location, bool remove_movement=true, bool remove_attacks=false)=0
virtual void calculate_possible_moves (std::map< map_location, pathfind::paths > &possible_moves, move_map &srcdst, move_map &dstsrc, bool enemy, bool assume_full_movement=false, const terrain_filter *remove_destinations=NULL) const =0
virtual void calculate_moves (const unit_map &units, std::map< map_location, pathfind::paths > &possible_moves, move_map &srcdst, move_map &dstsrc, bool enemy, bool assume_full_movement=false, const terrain_filter *remove_destinations=NULL, bool see_all=false) const =0
virtual const game_infoget_info () const =0
virtual defensive_position const & best_defensive_position (const map_location &unit, const move_map &dstsrc, const move_map &srcdst, const move_map &enemy_dstsrc) const =0
virtual std::map< map_location,
defensive_position > & 
defensive_position_cache () const =0
virtual double get_aggression () const =0
virtual int get_attack_depth () const =0
virtual const aspect_mapget_aspects () const =0
virtual aspect_mapget_aspects ()=0
virtual void add_facet (const std::string &id, const config &cfg) const =0
virtual void add_aspects (std::vector< aspect_ptr > &aspects)=0
virtual const attacks_vectorget_attacks () const =0
virtual const variantget_attacks_as_variant () const =0
virtual const terrain_filterget_avoid () const =0
virtual double get_caution () const =0
virtual const move_mapget_dstsrc () const =0
virtual const move_mapget_enemy_dstsrc () const =0
virtual const moves_mapget_enemy_possible_moves () const =0
virtual const move_mapget_enemy_srcdst () const =0
virtual engine_ptr get_engine_by_cfg (const config &cfg)=0
 get engine by cfg, creating it if it is not created yet but known
virtual const std::vector
< engine_ptr > & 
get_engines () const =0
virtual std::vector< engine_ptr > & get_engines ()=0
virtual std::string get_grouping () const =0
virtual const std::vector
< goal_ptr > & 
get_goals () const =0
virtual std::vector< goal_ptr > & get_goals ()=0
virtual double get_leader_aggression () const =0
virtual config get_leader_goal () const =0
virtual double get_leader_value () const =0
virtual double get_number_of_possible_recruits_to_force_recruit () const =0
virtual bool get_passive_leader () const =0
virtual bool get_passive_leader_shares_keep () const =0
virtual const moves_mapget_possible_moves () const =0
virtual const std::vector< unit > & get_recall_list () const =0
virtual stage_ptr get_recruitment (ai_context &context) const =0
virtual bool get_recruitment_ignore_bad_combat () const =0
virtual bool get_recruitment_ignore_bad_movement () const =0
virtual const std::vector
< std::string > 
get_recruitment_pattern () const =0
virtual double get_scout_village_targeting () const =0
virtual bool get_simple_targeting () const =0
virtual const move_mapget_srcdst () const =0
virtual bool get_support_villages () const =0
virtual double get_village_value () const =0
virtual int get_villages_per_scout () const =0
virtual bool is_active (const std::string &time_of_day, const std::string &turns) const =0
virtual bool is_dst_src_valid_lua () const =0
virtual bool is_dst_src_enemy_valid_lua () const =0
virtual bool is_src_dst_valid_lua () const =0
virtual bool is_src_dst_enemy_valid_lua () const =0
virtual void invalidate_defensive_position_cache () const =0
virtual void invalidate_move_maps () const =0
virtual void invalidate_keeps_cache () const =0
virtual const std::set
< map_location > & 
keeps () const =0
virtual bool leader_can_reach_keep () const =0
virtual const map_locationnearest_keep (const map_location &loc) const =0
virtual double power_projection (const map_location &loc, const move_map &dstsrc) const =0
 Function which finds how much 'power' a side can attack a certain location with.
virtual void raise_user_interact () const =0
virtual void recalculate_move_maps () const =0
virtual void recalculate_move_maps_enemy () const =0
virtual void set_src_dst_valid_lua ()=0
virtual void set_src_dst_enemy_valid_lua ()=0
virtual void set_dst_src_valid_lua ()=0
virtual void set_dst_src_enemy_valid_lua ()=0
virtual const map_locationsuitable_keep (const map_location &leader_location, const pathfind::paths &leader_paths)=0
 get most suitable keep for leader - nearest free that can be reached in 1 turn, if none - return nearest occupied that can be reached in 1 turn, if none - return nearest keep, if none - return null_location
virtual config to_readonly_context_config () const =0
 serialize to config
virtual std::map< std::pair
< map_location, const
unit_type * >, std::pair
< battle_context_unit_stats,
battle_context_unit_stats > > & 
unit_stats_cache () const =0

Detailed Description

Definition at line 176 of file contexts.hpp.


Constructor & Destructor Documentation

ai::readonly_context::readonly_context (  )  [inline]

Definition at line 178 of file contexts.hpp.

virtual ai::readonly_context::~readonly_context (  )  [inline, virtual]

Definition at line 179 of file contexts.hpp.


Member Function Documentation

virtual void ai::readonly_context::add_aspects ( std::vector< aspect_ptr > &  aspects  )  [pure virtual]

Referenced by ai::readonly_context_proxy::add_aspects().

Here is the caller graph for this function:

virtual void ai::readonly_context::add_facet ( const std::string &  id,
const config cfg 
) const [pure virtual]

Referenced by ai::readonly_context_proxy::add_facet().

Here is the caller graph for this function:

virtual defensive_position const& ai::readonly_context::best_defensive_position ( const map_location unit,
const move_map dstsrc,
const move_map srcdst,
const move_map enemy_dstsrc 
) const [pure virtual]

Referenced by ai::attack_analysis::analyze(), and ai::readonly_context_proxy::best_defensive_position().

Here is the caller graph for this function:

virtual void ai::readonly_context::calculate_moves ( const unit_map units,
std::map< map_location, pathfind::paths > &  possible_moves,
move_map srcdst,
move_map dstsrc,
bool  enemy,
bool  assume_full_movement = false,
const terrain_filter remove_destinations = NULL,
bool  see_all = false 
) const [pure virtual]

Referenced by ai::readonly_context_proxy::calculate_moves().

Here is the caller graph for this function:

virtual void ai::readonly_context::calculate_possible_moves ( std::map< map_location, pathfind::paths > &  possible_moves,
move_map srcdst,
move_map dstsrc,
bool  enemy,
bool  assume_full_movement = false,
const terrain_filter remove_destinations = NULL 
) const [pure virtual]

Referenced by ai::readonly_context_proxy::calculate_possible_moves().

Here is the caller graph for this function:

virtual attack_result_ptr ai::readonly_context::check_attack_action ( const map_location attacker_loc,
const map_location defender_loc,
int  attacker_weapon 
) [pure virtual]

Referenced by ai::readonly_context_proxy::check_attack_action().

Here is the caller graph for this function:

virtual move_result_ptr ai::readonly_context::check_move_action ( const map_location from,
const map_location to,
bool  remove_movement = true 
) [pure virtual]

Referenced by ai::readonly_context_proxy::check_move_action().

Here is the caller graph for this function:

virtual recall_result_ptr ai::readonly_context::check_recall_action ( const std::string &  id,
const map_location where = map_location::null_location,
const map_location from = map_location::null_location 
) [pure virtual]

Referenced by ai::readonly_context_proxy::check_recall_action(), and ai::formula_ai::execute_variant().

Here is the caller graph for this function:

virtual recruit_result_ptr ai::readonly_context::check_recruit_action ( const std::string &  unit_name,
const map_location where = map_location::null_location,
const map_location from = map_location::null_location 
) [pure virtual]

Referenced by ai::readonly_context_proxy::check_recruit_action(), and ai::formula_ai::execute_variant().

Here is the caller graph for this function:

virtual stopunit_result_ptr ai::readonly_context::check_stopunit_action ( const map_location unit_location,
bool  remove_movement = true,
bool  remove_attacks = false 
) [pure virtual]

Referenced by ai::readonly_context_proxy::check_stopunit_action().

Here is the caller graph for this function:

virtual const team& ai::readonly_context::current_team (  )  const [pure virtual]
virtual std::map<map_location,defensive_position>& ai::readonly_context::defensive_position_cache (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::defensive_position_cache().

Here is the caller graph for this function:

virtual void ai::readonly_context::diagnostic ( const std::string &  msg  )  [pure virtual]

Referenced by ai::readonly_context_proxy::diagnostic().

Here is the caller graph for this function:

virtual double ai::readonly_context::get_aggression (  )  const [pure virtual]
virtual const aspect_map& ai::readonly_context::get_aspects (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_aspects().

Here is the caller graph for this function:

virtual aspect_map& ai::readonly_context::get_aspects (  )  [pure virtual]
virtual int ai::readonly_context::get_attack_depth (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_attack_depth(), and ai::readonly_context_proxy::get_attack_depth().

Here is the caller graph for this function:

virtual const attacks_vector& ai::readonly_context::get_attacks (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_attacks(), and ai::readonly_context_proxy::get_attacks().

Here is the caller graph for this function:

virtual const variant& ai::readonly_context::get_attacks_as_variant (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_attacks_as_variant().

Here is the caller graph for this function:

virtual const terrain_filter& ai::readonly_context::get_avoid (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_avoid(), and ai::readonly_context_proxy::get_avoid().

Here is the caller graph for this function:

virtual double ai::readonly_context::get_caution (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_caution(), ai::readonly_context_proxy::get_caution(), and ai::attack_analysis::rating().

Here is the caller graph for this function:

virtual const move_map& ai::readonly_context::get_dstsrc (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_dstsrc(), and ai::readonly_context_proxy::get_dstsrc().

Here is the caller graph for this function:

virtual const move_map& ai::readonly_context::get_enemy_dstsrc (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_enemy_dstsrc(), ai::cfun_ai_get_targets(), and ai::readonly_context_proxy::get_enemy_dstsrc().

Here is the caller graph for this function:

virtual const moves_map& ai::readonly_context::get_enemy_possible_moves (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_enemy_possible_moves().

Here is the caller graph for this function:

virtual const move_map& ai::readonly_context::get_enemy_srcdst (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_enemy_srcdst(), and ai::readonly_context_proxy::get_enemy_srcdst().

Here is the caller graph for this function:

virtual engine_ptr ai::readonly_context::get_engine_by_cfg ( const config cfg  )  [pure virtual]
virtual std::vector<engine_ptr>& ai::readonly_context::get_engines (  )  [pure virtual]
virtual const std::vector<engine_ptr>& ai::readonly_context::get_engines (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_engines().

Here is the caller graph for this function:

virtual const std::vector<goal_ptr>& ai::readonly_context::get_goals (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_goals().

Here is the caller graph for this function:

virtual std::vector<goal_ptr>& ai::readonly_context::get_goals (  )  [pure virtual]
virtual std::string ai::readonly_context::get_grouping (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_grouping(), and ai::readonly_context_proxy::get_grouping().

Here is the caller graph for this function:

virtual const game_info& ai::readonly_context::get_info (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_info().

Here is the caller graph for this function:

virtual double ai::readonly_context::get_leader_aggression (  )  const [pure virtual]
virtual config ai::readonly_context::get_leader_goal (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_leader_goal(), and ai::readonly_context_proxy::get_leader_goal().

Here is the caller graph for this function:

virtual double ai::readonly_context::get_leader_value (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_leader_value(), and ai::readonly_context_proxy::get_leader_value().

Here is the caller graph for this function:

virtual double ai::readonly_context::get_number_of_possible_recruits_to_force_recruit (  )  const [pure virtual]
virtual bool ai::readonly_context::get_passive_leader (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_passive_leader(), and ai::readonly_context_proxy::get_passive_leader().

Here is the caller graph for this function:

virtual bool ai::readonly_context::get_passive_leader_shares_keep (  )  const [pure virtual]
virtual const moves_map& ai::readonly_context::get_possible_moves (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_possible_moves().

Here is the caller graph for this function:

virtual readonly_context& ai::readonly_context::get_readonly_context (  )  [pure virtual]
virtual const std::vector<unit>& ai::readonly_context::get_recall_list (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_recall_list().

Here is the caller graph for this function:

virtual stage_ptr ai::readonly_context::get_recruitment ( ai_context context  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::get_recruitment().

Here is the caller graph for this function:

virtual bool ai::readonly_context::get_recruitment_ignore_bad_combat (  )  const [pure virtual]
virtual bool ai::readonly_context::get_recruitment_ignore_bad_movement (  )  const [pure virtual]
virtual const std::vector<std::string> ai::readonly_context::get_recruitment_pattern (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_recruitment_pattern(), and ai::readonly_context_proxy::get_recruitment_pattern().

Here is the caller graph for this function:

virtual double ai::readonly_context::get_scout_village_targeting (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_scout_village_targeting(), and ai::readonly_context_proxy::get_scout_village_targeting().

Here is the caller graph for this function:

virtual bool ai::readonly_context::get_simple_targeting (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_simple_targeting(), and ai::readonly_context_proxy::get_simple_targeting().

Here is the caller graph for this function:

virtual const move_map& ai::readonly_context::get_srcdst (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_srcdst(), and ai::readonly_context_proxy::get_srcdst().

Here is the caller graph for this function:

virtual bool ai::readonly_context::get_support_villages (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_support_villages(), and ai::readonly_context_proxy::get_support_villages().

Here is the caller graph for this function:

virtual double ai::readonly_context::get_village_value (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_village_value(), and ai::readonly_context_proxy::get_village_value().

Here is the caller graph for this function:

virtual int ai::readonly_context::get_villages_per_scout (  )  const [pure virtual]

Referenced by ai::cfun_ai_get_villages_per_scout(), and ai::readonly_context_proxy::get_villages_per_scout().

Here is the caller graph for this function:

virtual void ai::readonly_context::invalidate_defensive_position_cache (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::invalidate_defensive_position_cache().

Here is the caller graph for this function:

virtual void ai::readonly_context::invalidate_keeps_cache (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::invalidate_keeps_cache().

Here is the caller graph for this function:

virtual void ai::readonly_context::invalidate_move_maps (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::invalidate_move_maps().

Here is the caller graph for this function:

virtual bool ai::readonly_context::is_active ( const std::string &  time_of_day,
const std::string &  turns 
) const [pure virtual]

Referenced by ai::readonly_context_proxy::is_active().

Here is the caller graph for this function:

virtual bool ai::readonly_context::is_dst_src_enemy_valid_lua (  )  const [pure virtual]

Referenced by ai::cfun_ai_is_dst_src_enemy_valid(), and ai::readonly_context_proxy::is_dst_src_enemy_valid_lua().

Here is the caller graph for this function:

virtual bool ai::readonly_context::is_dst_src_valid_lua (  )  const [pure virtual]

Referenced by ai::cfun_ai_is_dst_src_valid(), and ai::readonly_context_proxy::is_dst_src_valid_lua().

Here is the caller graph for this function:

virtual bool ai::readonly_context::is_src_dst_enemy_valid_lua (  )  const [pure virtual]

Referenced by ai::cfun_ai_is_src_dst_enemy_valid(), and ai::readonly_context_proxy::is_src_dst_enemy_valid_lua().

Here is the caller graph for this function:

virtual bool ai::readonly_context::is_src_dst_valid_lua (  )  const [pure virtual]

Referenced by ai::cfun_ai_is_src_dst_valid(), and ai::readonly_context_proxy::is_src_dst_valid_lua().

Here is the caller graph for this function:

virtual const std::set<map_location>& ai::readonly_context::keeps (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::keeps().

Here is the caller graph for this function:

virtual bool ai::readonly_context::leader_can_reach_keep (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::leader_can_reach_keep().

Here is the caller graph for this function:

virtual void ai::readonly_context::log_message ( const std::string &  msg  )  [pure virtual]

Referenced by ai::readonly_context_proxy::log_message().

Here is the caller graph for this function:

virtual const map_location& ai::readonly_context::nearest_keep ( const map_location loc  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::nearest_keep().

Here is the caller graph for this function:

virtual void ai::readonly_context::on_readonly_context_create (  )  [pure virtual]

Referenced by ai::readonly_context_proxy::on_readonly_context_create().

Here is the caller graph for this function:

virtual double ai::readonly_context::power_projection ( const map_location loc,
const move_map dstsrc 
) const [pure virtual]

Function which finds how much 'power' a side can attack a certain location with.

This is basically the maximum hp of damage that can be inflicted upon a unit on loc by full-health units, multiplied by the defense these units will have. (if 'use_terrain' is false, then it will be multiplied by 0.5)

Example: 'loc' can be reached by two units, one of whom has a 10-3 attack and has 48/48 hp, and can defend at 40% on the adjacent grassland. The other has a 8-2 attack, and has 30/40 hp, and can defend at 60% on the adjacent mountain. The rating will be 10*3*1.0*0.4 + 8*2*0.75*0.6 = 19.2

Referenced by ai::readonly_context_proxy::power_projection().

Here is the caller graph for this function:

virtual void ai::readonly_context::raise_user_interact (  )  const [pure virtual]

Referenced by ai::readonly_context_proxy::raise_user_interact().

Here is the caller graph for this function:

virtual void ai::readonly_context::recalculate_move_maps (  )  const [pure virtual]

Referenced by ai::cfun_ai_recalculate_move_maps(), and ai::readonly_context_proxy::recalculate_move_maps().

Here is the caller graph for this function:

virtual void ai::readonly_context::recalculate_move_maps_enemy (  )  const [pure virtual]

Referenced by ai::cfun_ai_recalculate_move_maps_enemy(), and ai::readonly_context_proxy::recalculate_move_maps_enemy().

Here is the caller graph for this function:

virtual void ai::readonly_context::set_dst_src_enemy_valid_lua (  )  [pure virtual]

Referenced by ai::cfun_ai_get_enemy_dstsrc(), and ai::readonly_context_proxy::set_dst_src_enemy_valid_lua().

Here is the caller graph for this function:

virtual void ai::readonly_context::set_dst_src_valid_lua (  )  [pure virtual]

Referenced by ai::cfun_ai_get_dstsrc(), and ai::readonly_context_proxy::set_dst_src_valid_lua().

Here is the caller graph for this function:

virtual void ai::readonly_context::set_src_dst_enemy_valid_lua (  )  [pure virtual]

Referenced by ai::cfun_ai_get_enemy_srcdst(), and ai::readonly_context_proxy::set_src_dst_enemy_valid_lua().

Here is the caller graph for this function:

virtual void ai::readonly_context::set_src_dst_valid_lua (  )  [pure virtual]

Referenced by ai::cfun_ai_get_srcdst(), and ai::readonly_context_proxy::set_src_dst_valid_lua().

Here is the caller graph for this function:

virtual const map_location& ai::readonly_context::suitable_keep ( const map_location leader_location,
const pathfind::paths leader_paths 
) [pure virtual]

get most suitable keep for leader - nearest free that can be reached in 1 turn, if none - return nearest occupied that can be reached in 1 turn, if none - return nearest keep, if none - return null_location

Referenced by ai::cfun_ai_get_suitable_keep(), and ai::readonly_context_proxy::suitable_keep().

Here is the caller graph for this function:

virtual config ai::readonly_context::to_readonly_context_config (  )  const [pure virtual]

serialize to config

Referenced by ai::readonly_context_proxy::to_readonly_context_config().

Here is the caller graph for this function:

virtual std::map<std::pair<map_location,const unit_type *>, std::pair<battle_context_unit_stats,battle_context_unit_stats> >& ai::readonly_context::unit_stats_cache (  )  const [pure virtual]

Referenced by ai::attack_analysis::analyze(), and ai::readonly_context_proxy::unit_stats_cache().

Here is the caller graph for this function:


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by doxygen 1.7.1 on Thu May 24 2012 01:18:40 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs