The Battle for Wesnoth  1.17.17+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 "font/text_formatting.hpp"
#include "game_board.hpp"
#include "game_version.hpp"
#include "gettext.hpp"
#include "global.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/filter.hpp"
#include "units/map.hpp"
#include "filter_context.hpp"
#include "formula/callable_objects.hpp"
#include "formula/formula.hpp"
#include "formula/function_gamestate.hpp"
#include "deprecation.hpp"
#include <boost/dynamic_bitset.hpp>
#include <string_view>
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

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 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 49 of file abilities.cpp.

◆ ERR_WML

#define ERR_WML   LOG_STREAM(err, log_wml)

Definition at line 52 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 890 of file abilities.cpp.

Referenced by attack_type::weapon_specials_value().

◆ 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 1329 of file abilities.cpp.

Referenced by attack_type::has_weapon_ability().

◆ overwrite_special_affects()

static bool overwrite_special_affects ( const config special)
static

Definition at line 1280 of file abilities.cpp.

Referenced by attack_type::overwrite_special_checking().

◆ 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