The Battle for Wesnoth  1.19.7+dev
Namespaces | Macros | Functions | Variables
abilities.cpp File Reference

Manage unit-abilities, like heal, cure, and weapon_specials. More...

#include "display.hpp"
#include "display_context.hpp"
#include "serialization/markup.hpp"
#include "game_board.hpp"
#include "game_version.hpp"
#include "gettext.hpp"
#include "lexical_cast.hpp"
#include "log.hpp"
#include "map/map.hpp"
#include "resources.hpp"
#include "team.hpp"
#include "terrain/filter.hpp"
#include "units/unit.hpp"
#include "units/abilities.hpp"
#include "units/ability_tags.hpp"
#include "units/filter.hpp"
#include "units/map.hpp"
#include "utils/config_filters.hpp"
#include "filter_context.hpp"
#include "formula/callable_objects.hpp"
#include "formula/formula.hpp"
#include "formula/function_gamestate.hpp"
#include "deprecation.hpp"
#include <utility>
Include dependency graph for abilities.cpp:

Go to the source code of this file.

Namespaces

 unit_abilities
 

Macros

#define ERR_NG   LOG_STREAM(err, log_engine)
 
#define ERR_WML   LOG_STREAM(err, log_wml)
 

Functions

static void add_string_to_vector (std::vector< std::string > &image_list, const config &cfg, const std::string &attribute_name)
 
template std::pair< int, map_locationunit_ability_list::get_extremum< std::less< int > > (const std::string &key, int def, const std::less< int > &comp) const
 
template std::pair< int, map_locationunit_ability_list::get_extremum< std::greater< int > > (const std::string &key, int def, const std::greater< int > &comp) const
 
bool unit_abilities::filter_base_matches (const config &cfg, int def)
 
already added
static void add_name (std::string &temp_string, bool active, const std::string &name, std::set< std::string > &checking_name)
 
static void add_name_list (std::string &temp_string, std::string &weapon_abilities, std::set< std::string > &checking_name, const std::string &from_str)
 
static std::string select_replacement_type (const unit_ability_list &damage_type_list)
 
static std::string select_alternative_type (const unit_ability_list &damage_type_list, const unit_ability_list &resistance_list, const unit &u)
 
static bool overwrite_special_affects (const config &special)
 
static void get_ability_children (std::vector< special_match > &tag_result, std::vector< special_match > &id_result, const config &parent, const std::string &id, bool special_id=true, bool special_tags=true)
 Gets the children of parent (which should be the abilities for an attack_type) and places the ones whose tag or id= matches id into tag_result and id_result. More...
 

Variables

static lg::log_domain log_engine ("engine")
 
static lg::log_domain log_wml ("wml")
 

Detailed Description

Manage unit-abilities, like heal, cure, and weapon_specials.

Definition in file abilities.cpp.

Macro Definition Documentation

◆ ERR_NG

#define ERR_NG   LOG_STREAM(err, log_engine)

Definition at line 50 of file abilities.cpp.

◆ ERR_WML

#define ERR_WML   LOG_STREAM(err, log_wml)

Definition at line 53 of file abilities.cpp.

Function Documentation

◆ add_name()

static void add_name ( std::string &  temp_string,
bool  active,
const std::string &  name,
std::set< std::string > &  checking_name 
)
static

◆ add_name_list()

static void add_name_list ( std::string &  temp_string,
std::string &  weapon_abilities,
std::set< std::string > &  checking_name,
const std::string &  from_str 
)
static

Definition at line 1034 of file abilities.cpp.

Referenced by attack_type::weapon_specials_value().

◆ add_string_to_vector()

static void add_string_to_vector ( std::vector< std::string > &  image_list,
const config cfg,
const std::string &  attribute_name 
)
static

Definition at line 565 of file abilities.cpp.

References utils::find().

Referenced by unit::halo_or_icon_abilities().

◆ get_ability_children()

static void get_ability_children ( std::vector< special_match > &  tag_result,
std::vector< special_match > &  id_result,
const config parent,
const std::string &  id,
bool  special_id = true,
bool  special_tags = true 
)
static

Gets the children of parent (which should be the abilities for an attack_type) and places the ones whose tag or id= matches id into tag_result and id_result.

Parameters
tag_resultreceive the children whose tag matches id
id_resultreceive the children whose id matches id
parentthe tags whose contain children (abilities here)
idtag or id of child tested
special_idif true, children check by id
special_tagsif true, children check by tags

Definition at line 1704 of file abilities.cpp.

Referenced by attack_type::has_weapon_ability().

◆ overwrite_special_affects()

static bool overwrite_special_affects ( const config special)
static

◆ select_alternative_type()

static std::string select_alternative_type ( const unit_ability_list damage_type_list,
const unit_ability_list resistance_list,
const unit u 
)
static

Definition at line 1290 of file abilities.cpp.

References c, i, unit::resistance_value(), and attack_type::type().

Referenced by attack_type::select_damage_type().

◆ select_replacement_type()

static std::string select_replacement_type ( const unit_ability_list damage_type_list)
static

Definition at line 1261 of file abilities.cpp.

References c, i, and attack_type::type().

Referenced by attack_type::select_damage_type().

◆ unit_ability_list::get_extremum< std::greater< int > >()

template std::pair<int, map_location> unit_ability_list::get_extremum< std::greater< int > > ( const std::string &  key,
int  def,
const std::greater< int > &  comp 
) const

◆ unit_ability_list::get_extremum< std::less< int > >()

template std::pair<int, map_location> unit_ability_list::get_extremum< std::less< int > > ( const std::string &  key,
int  def,
const std::less< int > &  comp 
) const

Variable Documentation

◆ log_engine

lg::log_domain log_engine("engine") ( "engine"  )
static

◆ log_wml

lg::log_domain log_wml("wml") ( "wml"  )
static