#include <contexts.hpp>
Public Attributes | |
map_location | target |
std::vector< std::pair < map_location, map_location > > | movements |
double | target_value |
The value of the unit being targeted. More... | |
double | avg_losses |
The value on average, of units lost in the combat. More... | |
double | chance_to_kill |
Estimated % chance to kill the unit. More... | |
double | avg_damage_inflicted |
The average hitpoints damage inflicted. More... | |
int | target_starting_damage |
double | avg_damage_taken |
The average hitpoints damage taken. More... | |
double | resources_used |
The sum of the values of units used in the attack. More... | |
double | terrain_quality |
The weighted average of the % chance to hit each attacking unit. More... | |
double | alternative_terrain_quality |
The weighted average of the % defense of the best possible terrain that the attacking units could reach this turn, without attacking (good for comparison to see just how good/bad 'terrain_quality' is). More... | |
double | vulnerability |
The vulnerability is the power projection of enemy units onto the hex we're standing on. More... | |
double | support |
bool | leader_threat |
Is true if the unit is a threat to our leader. More... | |
bool | uses_leader |
Is true if this attack sequence makes use of the leader. More... | |
bool | is_surrounded |
Is true if the units involved in this attack sequence are surrounded. More... | |
Additional Inherited Members | |
Protected Types inherited from game_logic::formula_callable | |
enum | TYPE { FORMULA_C, TERRAIN_C, LOCATION_C, UNIT_TYPE_C, UNIT_C, ATTACK_TYPE_C, MOVE_PARTIAL_C, MOVE_C, ATTACK_C, MOVE_MAP_C } |
Protected Member Functions inherited from game_logic::formula_callable | |
virtual | ~formula_callable () |
virtual void | set_value (const std::string &key, const variant &value) |
virtual int | do_compare (const formula_callable *callable) const |
virtual void | serialize_to_string (std::string &) const |
Protected Member Functions inherited from reference_counted_object | |
void | turn_reference_counting_off () const |
Protected Attributes inherited from game_logic::formula_callable | |
TYPE | type_ |
Definition at line 62 of file contexts.hpp.
|
inline |
Definition at line 65 of file contexts.hpp.
void ai::attack_analysis::analyze | ( | const gamemap & | map, |
unit_map & | units, | ||
const readonly_context & | ai_obj, | ||
const move_map & | dstsrc, | ||
const move_map & | srcdst, | ||
const move_map & | enemy_dstsrc, | ||
double | aggression | ||
) |
Definition at line 40 of file attack.cpp.
References alternative_terrain_quality, combatant::average_hp(), avg_damage_inflicted, avg_damage_taken, avg_losses, ai::readonly_context::best_defensive_position(), battle_context_unit_stats::chance_to_hit, ai::defensive_position::chance_to_hit, chance_to_kill, ai::readonly_context::current_team(), unit_map::end(), unit_map::extract(), unit_map::find(), get_adjacent_tiles(), battle_context::get_attacker_combatant(), battle_context::get_attacker_stats(), battle_context::get_defender_combatant(), battle_context::get_defender_stats(), ai::readonly_context::get_leader_aggression(), gamemap::gives_healing(), combatant::hp_dist, i, if(), unit_map::insert(), team::is_enemy(), battle_context_unit_stats::is_poisoned, gamemap::is_village(), game_config::kill_xp(), leader_threat, unit_map::move(), movements, battle_context_unit_stats::plagues, game_config::poison_amount, combatant::poisoned, resources_used, unit::STATE_POISONED, target_starting_damage, target_value, terrain_quality, ai::readonly_context::unit_stats_cache(), and uses_leader.
Referenced by ai::ai_default_rca::aspect_attacks_base::do_attack_analysis().
bool ai::attack_analysis::attack_close | ( | const map_location & | loc | ) | const |
Definition at line 251 of file attack.cpp.
References distance_between(), ai::manager::get_ai_info(), i, and ai::game_info::recent_attacks.
Referenced by rating().
|
virtual |
Reimplemented from game_logic::formula_callable.
Definition at line 390 of file attack.cpp.
References game_logic::FORMULA_READ_ONLY.
|
virtual |
Implements game_logic::formula_callable.
Definition at line 335 of file attack.cpp.
References game_logic::map_formula_callable::add(), alternative_terrain_quality, avg_damage_inflicted, avg_damage_taken, avg_losses, chance_to_kill, is_surrounded, leader_threat, movements, resources_used, support, target_starting_damage, target_value, terrain_quality, uses_leader, and vulnerability.
double ai::attack_analysis::rating | ( | double | aggression, |
const readonly_context & | ai_obj | ||
) | const |
Definition at line 264 of file attack.cpp.
References alternative_terrain_quality, attack_close(), avg_damage_inflicted, avg_damage_taken, avg_losses, chance_to_kill, ai::readonly_context::current_team(), ai::readonly_context::get_caution(), ai::readonly_context::get_leader_aggression(), is_surrounded, leader_threat, LOG_AI, movements, resources_used, support, target_starting_damage, target_value, terrain_quality, uses_leader, and vulnerability.
Referenced by ai::cfun_attack_rating().
double ai::attack_analysis::alternative_terrain_quality |
The weighted average of the % defense of the best possible terrain that the attacking units could reach this turn, without attacking (good for comparison to see just how good/bad 'terrain_quality' is).
Definition at line 128 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::avg_damage_inflicted |
The average hitpoints damage inflicted.
Definition at line 110 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::avg_damage_taken |
The average hitpoints damage taken.
Definition at line 115 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::avg_losses |
The value on average, of units lost in the combat.
Definition at line 104 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::chance_to_kill |
Estimated % chance to kill the unit.
Definition at line 107 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
bool ai::attack_analysis::is_surrounded |
Is true if the units involved in this attack sequence are surrounded.
Definition at line 143 of file contexts.hpp.
Referenced by ai::ai_default_rca::aspect_attacks_base::do_attack_analysis(), get_value(), ai::push_attack_analysis(), and rating().
bool ai::attack_analysis::leader_threat |
Is true if the unit is a threat to our leader.
Definition at line 137 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
std::vector<std::pair<map_location,map_location> > ai::attack_analysis::movements |
Definition at line 98 of file contexts.hpp.
Referenced by analyze(), ai::ai_default_rca::aspect_attacks_base::do_attack_analysis(), ai::ai_default_rca::combat_phase::execute(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::resources_used |
The sum of the values of units used in the attack.
Definition at line 118 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::support |
Definition at line 134 of file contexts.hpp.
Referenced by ai::ai_default_rca::aspect_attacks_base::do_attack_analysis(), get_value(), ai::push_attack_analysis(), and rating().
map_location ai::attack_analysis::target |
Definition at line 97 of file contexts.hpp.
Referenced by ai::ai_default_rca::aspect_attacks_base::analyze_targets(), ai::ai_default_rca::combat_phase::execute(), and ai::push_attack_analysis().
int ai::attack_analysis::target_starting_damage |
Definition at line 112 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::target_value |
The value of the unit being targeted.
Definition at line 101 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::terrain_quality |
The weighted average of the % chance to hit each attacking unit.
Definition at line 121 of file contexts.hpp.
Referenced by analyze(), get_value(), and rating().
bool ai::attack_analysis::uses_leader |
Is true if this attack sequence makes use of the leader.
Definition at line 140 of file contexts.hpp.
Referenced by analyze(), get_value(), ai::push_attack_analysis(), and rating().
double ai::attack_analysis::vulnerability |
The vulnerability is the power projection of enemy units onto the hex we're standing on.
support is the power projection of friendly units.
Definition at line 134 of file contexts.hpp.
Referenced by ai::ai_default_rca::aspect_attacks_base::do_attack_analysis(), get_value(), ai::push_attack_analysis(), and rating().