Classes | |
class | unit::recursion_guard |
Helper similar to std::unique_lock for detecting when calculations such as abilities have entered infinite recursion. More... | |
Enumerations | |
enum class | backwards_compatibility::unit_checksum_version { backwards_compatibility::current , backwards_compatibility::version_1_16_or_older } |
Optional parameter for get_checksum to use the algorithm of an older version of Wesnoth, thus preventing spurious OOS warnings while watching old replays. More... | |
Functions | |
static std::string | unit::upkeep_full::type () |
static std::string | unit::upkeep_loyal::type () |
unit::upkeep_value_visitor::upkeep_value_visitor (const unit &unit) | |
int | unit::upkeep_value_visitor::operator() (const upkeep_full &) const |
Full upkeep equals the unit's level. More... | |
int | unit::upkeep_value_visitor::operator() (const upkeep_loyal &) const |
Loyal units cost no upkeep. More... | |
int | unit::upkeep_value_visitor::operator() (int v) const |
template<typename T > | |
std::enable_if_t<!std::is_same_v< int, T >, std::string > | unit::upkeep_type_visitor::operator() (T &) const |
std::string | unit::upkeep_type_visitor::operator() (int v) const |
template<typename N > | |
std::enable_if_t< std::is_arithmetic_v< N >, upkeep_t > | unit::upkeep_parser_visitor::operator() (N n) const |
template<typename B > | |
std::enable_if_t< std::is_convertible_v< B, bool > &&!std::is_arithmetic_v< B >, upkeep_t > | unit::upkeep_parser_visitor::operator() (B b) const |
upkeep_t | unit::upkeep_parser_visitor::operator() (utils::monostate) const |
upkeep_t | unit::upkeep_parser_visitor::operator() (const std::string &s) const |
bool | unit::get_ability_bool (const std::string &tag_name, const map_location &loc) const |
Checks whether this unit currently possesses or is affected by a given ability. More... | |
bool | unit::get_ability_bool (const std::string &tag_name) const |
Checks whether this unit currently possesses or is affected by a given ability. More... | |
unit_ability_list | unit::get_abilities (const std::string &tag_name, const map_location &loc) const |
Gets the unit's active abilities of a particular type if it were on a specified location. More... | |
unit_ability_list | unit::get_abilities (const std::string &tag_name) const |
Gets the unit's active abilities of a particular type. More... | |
unit_ability_list | unit::get_abilities_weapons (const std::string &tag_name, const map_location &loc, const_attack_ptr weapon=nullptr, const_attack_ptr opp_weapon=nullptr) const |
unit_ability_list | unit::get_abilities_weapons (const std::string &tag_name, const_attack_ptr weapon=nullptr, const_attack_ptr opp_weapon=nullptr) const |
const config & | unit::abilities () const |
const std::set< std::string > & | unit::checking_tags () const |
std::vector< std::tuple< std::string, t_string, t_string, t_string > > | unit::ability_tooltips () const |
Gets the names and descriptions of this unit's abilities. More... | |
std::vector< std::tuple< std::string, t_string, t_string, t_string > > | unit::ability_tooltips (boost::dynamic_bitset<> &active_list, const map_location &loc) const |
Gets the names and descriptions of this unit's abilities. More... | |
std::vector< std::string > | unit::get_ability_list () const |
Get a list of all abilities by ID. More... | |
bool | unit::has_ability_type (const std::string &ability) const |
Check if the unit has an ability of a specific type. More... | |
bool | unit::has_ability_by_id (const std::string &ability) const |
Check if the unit has an ability of a specific ID. More... | |
void | unit::remove_ability_by_id (const std::string &ability) |
Removes a unit's abilities with a specific ID. More... | |
void | unit::remove_ability_by_attribute (const config &filter) |
Removes a unit's abilities with a specific ID or other attribute. More... | |
unit::recursion_guard::recursion_guard (const unit &u) | |
Only expected to be called in update_variables_recursion(), which handles some of the checks. More... | |
unit::recursion_guard::recursion_guard () | |
Construct an empty instance, only useful for extending the lifetime of a recursion_guard returned from unit.update_variables_recursion() by std::moving it to an instance declared in a larger scope. More... | |
unit::recursion_guard::operator bool () const | |
Returns true if a level of recursion was available at the time when update_variables_recursion() created this object. More... | |
unit::recursion_guard::recursion_guard (recursion_guard &&other) | |
unit::recursion_guard::recursion_guard (const recursion_guard &other)=delete | |
recursion_guard & | unit::recursion_guard::operator= (recursion_guard &&) |
recursion_guard & | unit::recursion_guard::operator= (const recursion_guard &)=delete |
unit::recursion_guard::~recursion_guard () | |
recursion_guard | unit::update_variables_recursion () const |
bool | unit::ability_active (const std::string &ability, const config &cfg, const map_location &loc) const |
Check if an ability is active. More... | |
bool | unit::ability_affects_adjacent (const std::string &ability, const config &cfg, int dir, const map_location &loc, const unit &from) const |
Check if an ability affects adjacent units. More... | |
bool | unit::ability_affects_self (const std::string &ability, const config &cfg, const map_location &loc) const |
Check if an ability affects the owning unit. More... | |
bool | unit::ability_affects_weapon (const config &cfg, const_attack_ptr weapon, bool is_opp) const |
filters the weapons that condition the use of abilities for combat ([resistance],[leadership] or abilities used like specials (deprecated in two last cases) More... | |
unit_formula_manager & | unit::formula_manager () const |
Get the unit formula manager. More... | |
void | unit::generate_name () |
Generates a random race-appropriate name if one has not already been provided. More... | |
bool | unit::invisible (const map_location &loc, bool see_all=true) const |
bool | unit::is_visible_to_team (const team &team, bool const see_all=true) const |
bool | unit::is_visible_to_team (const map_location &loc, const team &team, bool const see_all=true) const |
Return true if the unit would be visible to team if its location were loc. More... | |
void | unit::write (config &cfg, bool write_all=true) const |
Serializes the current unit metadata values. More... | |
unit & | unit::mark_clone (bool is_temporary) |
Mark this unit as clone so it can be inserted to unit_map. More... | |
void | unit::set_appearance_changed (bool value) |
bool | unit::appearance_changed () const |
void | unit::parse_upkeep (const config::attribute_value &upkeep) |
void | unit::write_upkeep (config::attribute_value &upkeep) const |
void | unit::clear_visibility_cache () const |
Clears the cache. More... | |
unit_movement_resetter::unit_movement_resetter (const unit_movement_resetter &)=delete | |
unit_movement_resetter & | unit_movement_resetter::operator= (const unit_movement_resetter &)=delete |
unit_movement_resetter::unit_movement_resetter (const unit &u, bool operate=true) | |
unit_movement_resetter::~unit_movement_resetter () | |
Friends | |
class | unit::recursion_guard::unit |
class | unit::unit_animation_component |
already added | |
bool | unit::get_self_ability_bool (const config &special, const std::string &tag_name, const map_location &loc) const |
Checks whether this unit currently possesses a given ability used like weapon. More... | |
bool | unit::get_self_ability_bool_weapon (const config &special, const std::string &tag_name, const map_location &loc, const_attack_ptr weapon=nullptr, const_attack_ptr opp_weapon=nullptr) const |
Checks whether this unit currently possesses a given ability of leadership type. More... | |
bool | unit::get_adj_ability_bool (const config &special, const std::string &tag_name, int dir, const map_location &loc, const unit &from) const |
Checks whether this unit is affected by a given ability used like weapon. More... | |
bool | unit::get_adj_ability_bool_weapon (const config &special, const std::string &tag_name, int dir, const map_location &loc, const unit &from, const_attack_ptr weapon=nullptr, const_attack_ptr opp_weapon=nullptr) const |
Checks whether this unit is affected by a given ability of leadership type. More... | |
bool | unit::ability_matches_filter (const config &cfg, const std::string &tag_name, const config &filter) const |
Verify what abilities attributes match with filter. More... | |
|
strong |
|
inline |
Definition at line 1806 of file unit.hpp.
References unit::abilities_.
Referenced by unit::advance_to(), unit_filter_impl::unit_filter_compound::fill(), unit::init(), and unit::unit_special_notes().
|
private |
Check if an ability is active.
ability | The type (tag name) of the ability |
cfg | an ability WML structure |
loc | The location on which to resolve the ability |
Definition at line 437 of file abilities.cpp.
References config::child_range(), unit_map::end(), resources::filter_con, unit_map::find(), get_adjacent_tiles(), filter_context::get_disp_context(), display_context::get_team(), i, utf8::index(), team::is_enemy(), map_location::NDIRECTIONS, config::optional_child(), map_location::parse_directions(), utils::parse_ranges_unsigned(), unit::side(), unit::side_, and unit::update_variables_recursion().
Referenced by unit::ability_tooltips(), unit::get_abilities(), unit::get_ability_bool(), unit::get_adj_ability_bool(), and unit::halo_or_icon_abilities().
|
private |
Check if an ability affects adjacent units.
ability | The type (tag name) of the ability |
cfg | an ability WML structure |
loc | The location on which to resolve the ability |
from | The "other unit" for filter matching |
dir | The direction the unit is facing |
Definition at line 515 of file abilities.cpp.
References config::child_range(), config::has_child(), i, unit::id(), map_location::parse_directions(), and unit::update_variables_recursion().
Referenced by unit::get_abilities(), unit::get_ability_bool(), and unit::halo_or_icon_abilities().
|
private |
Check if an ability affects the owning unit.
ability | The type (tag name) of the ability |
cfg | an ability WML structure |
loc | The location on which to resolve the ability |
Definition at line 550 of file abilities.cpp.
References unit_filter::matches(), config::optional_child(), unit_filter::set_use_flat_tod(), and unit::update_variables_recursion().
Referenced by unit::get_abilities(), unit::get_ability_bool(), and unit::halo_or_icon_abilities().
|
private |
filters the weapons that condition the use of abilities for combat ([resistance],[leadership] or abilities used like specials (deprecated in two last cases)
Definition at line 566 of file abilities.cpp.
References config::has_child(), and config::mandatory_child().
Referenced by unit::get_abilities_weapons().
bool unit::ability_matches_filter | ( | const config & | cfg, |
const std::string & | tag_name, | ||
const config & | filter | ||
) | const |
Verify what abilities attributes match with filter.
cfg | the config of ability to check. |
tag_name | the tag name of ability to check. |
filter | the filter used for checking. |
Definition at line 1980 of file abilities.cpp.
Referenced by unit::remove_ability_by_attribute().
std::vector< std::tuple< std::string, t_string, t_string, t_string > > unit::ability_tooltips | ( | ) | const |
Gets the names and descriptions of this unit's abilities.
Location-independent variant with all abilities shown as active.
Definition at line 324 of file abilities.cpp.
References unit::abilities_, config::all_children_range(), and unit::gender_.
Referenced by gui2::unit_preview_pane::set_displayed_unit(), and unit_abilities().
std::vector< std::tuple< std::string, t_string, t_string, t_string > > unit::ability_tooltips | ( | boost::dynamic_bitset<> & | active_list, |
const map_location & | loc | ||
) | const |
Gets the names and descriptions of this unit's abilities.
active_list | This vector will be the same length as the returned one and will indicate whether or not the corresponding ability is active. |
loc | The location on which to resolve the ability. |
Definition at line 336 of file abilities.cpp.
References unit::abilities_, unit::ability_active(), config::all_children_range(), config::any_child::cfg, unit::gender_, and config::any_child::key.
|
inline |
Definition at line 1980 of file unit.hpp.
References unit::appearance_changed_.
|
inline |
Definition at line 1808 of file unit.hpp.
References unit::checking_tags_.
Referenced by unit_display::reset_helpers(), unit_display::unit_attack(), attack_type::weapon_specials_impl_adj(), attack_type::weapon_specials_impl_self(), and attack_type::weapon_specials_value().
|
inlineprivate |
Clears the cache.
Since we don't change the state of the object we're marked const (also required since the objects in the cache need to be marked const).
Definition at line 2126 of file unit.hpp.
References unit::invisibility_cache_.
|
inline |
Get the unit formula manager.
Definition at line 1948 of file unit.hpp.
References unit::formula_man_.
Referenced by wfl::set_unit_var_callable::execute_self(), and wfl::unit_callable::get_value().
void unit::generate_name | ( | ) |
Generates a random race-appropriate name if one has not already been provided.
Definition at line 788 of file unit.cpp.
References t_string::empty(), unit::gender_, unit_race::generate_name(), unit::generate_name_, unit::name_, and unit::race_.
Referenced by unit::init().
|
inline |
Gets the unit's active abilities of a particular type.
tag_name | The type of ability to check for |
Definition at line 1794 of file unit.hpp.
References unit::get_abilities(), and unit::loc_.
unit_ability_list unit::get_abilities | ( | const std::string & | tag_name, |
const map_location & | loc | ||
) | const |
Gets the unit's active abilities of a particular type if it were on a specified location.
tag_name | The type of ability to check for |
loc | The location to use for resolving abilities |
Definition at line 218 of file abilities.cpp.
References unit::abilities_, unit::ability_active(), unit::ability_affects_adjacent(), unit::ability_affects_self(), config::child_range(), unit_ability_list::emplace_back(), unit_map::end(), unit_map::find(), get_adjacent_tiles(), i, unit::loc_, and unit::side().
Referenced by unit::defense_modifier(), unit_filter_impl::unit_filter_compound::fill(), unit::get_abilities(), unit::get_abilities_weapons(), pathfind::get_teleport_locations(), and unit_display::reset_helpers().
unit_ability_list unit::get_abilities_weapons | ( | const std::string & | tag_name, |
const map_location & | loc, | ||
const_attack_ptr | weapon = nullptr , |
||
const_attack_ptr | opp_weapon = nullptr |
||
) | const |
Definition at line 258 of file abilities.cpp.
References unit::ability_affects_weapon(), utils::erase_if(), unit::get_abilities(), and i.
Referenced by unit::get_abilities_weapons(), unit::resistance_against(), under_leadership(), and unit_display::unit_attack().
|
inline |
Definition at line 1801 of file unit.hpp.
References unit::get_abilities_weapons(), and unit::loc_.
|
inline |
Checks whether this unit currently possesses or is affected by a given ability.
This means that the ability could be owned by this unit itself or by an adjacent unit, should the ability affect an AoE in which this unit happens to be.
This overload uses the location of this unit for calculations.
tag_name | The name of the ability to check for. |
Definition at line 1739 of file unit.hpp.
References unit::get_ability_bool(), and unit::loc_.
bool unit::get_ability_bool | ( | const std::string & | tag_name, |
const map_location & | loc | ||
) | const |
Checks whether this unit currently possesses or is affected by a given ability.
This means that the ability could be owned by this unit itself or by an adjacent unit, should the ability affect an AoE in which this unit happens to be.
tag_name | The name of the ability to check for. |
loc | The location around which to check for affected units. This may or may not be the location of this unit. |
Definition at line 180 of file abilities.cpp.
References unit::abilities_, unit::ability_active(), unit::ability_affects_adjacent(), unit::ability_affects_self(), config::child_range(), unit_map::end(), unit_map::find(), get_adjacent_tiles(), i, and unit::side().
Referenced by pathfind::shortest_path_calculator::cost(), ai::ai_default_rca::get_healing_phase::evaluate(), pathfind::find_routes(), unit::get_ability_bool(), game_lua_kernel::intf_unit_ability(), unit::invisible(), pathfind::mark_route(), ai::ai_default_rca::aspect_attacks_base::rate_terrain(), and ai::default_ai_context_impl::rate_terrain().
std::vector< std::string > unit::get_ability_list | ( | ) | const |
Get a list of all abilities by ID.
Definition at line 267 of file abilities.cpp.
References unit::abilities_, and config::all_children_range().
Referenced by wfl::unit_callable::get_value(), gui2::unit_preview_pane::set_displayed_unit(), and UNIT_GETTER().
bool unit::get_adj_ability_bool | ( | const config & | special, |
const std::string & | tag_name, | ||
int | dir, | ||
const map_location & | loc, | ||
const unit & | from | ||
) | const |
Checks whether this unit is affected by a given ability used like weapon.
special | the const config to one of abilities tag_name checked. |
tag_name | name of ability type checked. |
loc | location of the unit checked. |
from | unit adjacent to this is checked in case of [affect_adjacent] abilities. |
dir | direction to research a unit adjacent to this. |
Definition at line 1676 of file abilities.cpp.
References unit::ability_active(), get_adjacent_tiles(), and unit::side().
Referenced by unit_filter_impl::unit_filter_compound::fill().
bool unit::get_adj_ability_bool_weapon | ( | const config & | special, |
const std::string & | tag_name, | ||
int | dir, | ||
const map_location & | loc, | ||
const unit & | from, | ||
const_attack_ptr | weapon = nullptr , |
||
const_attack_ptr | opp_weapon = nullptr |
||
) | const |
Checks whether this unit is affected by a given ability of leadership type.
special | the const config to one of abilities tag_name checked. |
tag_name | name of ability type checked. |
loc | location of the unit checked. |
from | unit adjacent to this is checked in case of [affect_adjacent] abilities. |
dir | direction to research a unit adjacent to this. |
weapon | the attack used by unit checked in this function. |
opp_weapon | the attack used by opponent to unit checked. |
Definition at line 1687 of file abilities.cpp.
bool unit::get_self_ability_bool | ( | const config & | special, |
const std::string & | tag_name, | ||
const map_location & | loc | ||
) | const |
Checks whether this unit currently possesses a given ability used like weapon.
special | the const config to one of abilities tag_name checked. |
tag_name | name of ability type checked. |
loc | location of the unit checked. |
Definition at line 1671 of file abilities.cpp.
Referenced by unit_filter_impl::unit_filter_compound::fill().
bool unit::get_self_ability_bool_weapon | ( | const config & | special, |
const std::string & | tag_name, | ||
const map_location & | loc, | ||
const_attack_ptr | weapon = nullptr , |
||
const_attack_ptr | opp_weapon = nullptr |
||
) | const |
Checks whether this unit currently possesses a given ability of leadership type.
special | the const config to one of abilities tag_name checked. |
tag_name | name of ability type checked. |
loc | location of the unit checked. |
weapon | the attack used by unit checked in this function. |
opp_weapon | the attack used by opponent to unit checked. |
Definition at line 1682 of file abilities.cpp.
bool unit::has_ability_by_id | ( | const std::string & | ability | ) | const |
Check if the unit has an ability of a specific ID.
ability | The ID of ability to check for. |
Definition at line 1466 of file unit.cpp.
References unit::abilities_, and config::all_children_range().
Referenced by unit::apply_builtin_effect(), and unit_filter_impl::unit_filter_compound::fill().
bool unit::has_ability_type | ( | const std::string & | ability | ) | const |
Check if the unit has an ability of a specific type.
ability | The type of ability (tag name) to check for. |
Definition at line 579 of file abilities.cpp.
References unit::abilities_, and config::child_range().
Referenced by unit_filter_impl::unit_filter_compound::fill().
bool unit::invisible | ( | const map_location & | loc, |
bool | see_all = true |
||
) | const |
Definition at line 2579 of file unit.cpp.
References DBG_UT, resources::gameboard, unit::get_ability_bool(), unit::get_location(), unit::get_state(), unit::id(), unit::invisibility_cache_, unit::side_, unit::STATE_UNCOVERED, and display_context::would_be_discovered().
Referenced by wfl::attack_map_callable::collect_possible_attacks(), unit::is_visible_to_team(), pathfind::mark_route(), gui2::dialogs::unit_list::pre_show(), unit_drawer::redraw_unit(), and unit_status().
bool unit::is_visible_to_team | ( | const map_location & | loc, |
const team & | team, | ||
bool const | see_all = true |
||
) | const |
Return true if the unit would be visible to team if its location were loc.
Definition at line 2628 of file unit.cpp.
References team::fogged(), display::get_singleton(), unit::invisible(), team::is_enemy(), n_unit::unit_id::is_fake(), team::side(), unit::side(), and unit::underlying_id_.
bool unit::is_visible_to_team | ( | const team & | team, |
bool const | see_all = true |
||
) | const |
Definition at line 2622 of file unit.cpp.
References unit::get_location().
Referenced by actions::actor_sighted(), actions::get_sides_not_seeing(), and unit_drawer::redraw_unit().
unit & unit::mark_clone | ( | bool | is_temporary | ) |
Mark this unit as clone so it can be inserted to unit_map.
Definition at line 2680 of file unit.cpp.
References resources::gameboard, resources::gamedata, n_unit::id_manager::global_instance(), unit::id_, game_data::INITIAL, synced_context::is_synced(), n_unit::id_manager::next_fake_id(), n_unit::id_manager::next_id(), unit::set_underlying_id(), unit::underlying_id_, game_board::unit_id_manager(), and WRN_UT.
Referenced by temporary_unit_placer::temporary_unit_placer().
unit::recursion_guard::operator bool | ( | ) | const |
Returns true if a level of recursion was available at the time when update_variables_recursion() created this object.
Definition at line 417 of file abilities.cpp.
|
inline |
|
inline |
|
inline |
Full upkeep equals the unit's level.
Definition at line 1194 of file unit.hpp.
References unit::level(), and unit::upkeep_value_visitor::u_.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
delete |
unit::recursion_guard & unit::recursion_guard::operator= | ( | unit::recursion_guard && | other | ) |
Definition at line 421 of file abilities.cpp.
References swap().
|
private |
Definition at line 2796 of file unit.cpp.
References e, unit::upkeep(), unit::upkeep_, and WRN_UT.
Referenced by unit::advance_to(), and unit::init().
|
explicitdefault |
Construct an empty instance, only useful for extending the lifetime of a recursion_guard returned from unit.update_variables_recursion() by std::moving it to an instance declared in a larger scope.
|
delete |
|
explicitprivate |
Only expected to be called in update_variables_recursion(), which handles some of the checks.
Definition at line 406 of file abilities.cpp.
References unit::num_recursion_.
unit::recursion_guard::recursion_guard | ( | unit::recursion_guard && | other | ) |
Definition at line 412 of file abilities.cpp.
References swap().
void unit::remove_ability_by_attribute | ( | const config & | filter | ) |
Removes a unit's abilities with a specific ID or other attribute.
filter | the config of ability to remove. |
Definition at line 1490 of file unit.cpp.
References unit::abilities_, unit::ability_matches_filter(), config::erase(), i, config::ordered_begin(), config::ordered_end(), unit::set_attr_changed(), and unit::UA_ABILITIES.
Referenced by unit::apply_builtin_effect().
void unit::remove_ability_by_id | ( | const std::string & | ability | ) |
Removes a unit's abilities with a specific ID.
ability | The type of ability (tag name) to remove. |
Definition at line 1477 of file unit.cpp.
References unit::abilities_, config::erase(), i, config::ordered_begin(), config::ordered_end(), unit::set_attr_changed(), and unit::UA_ABILITIES.
Referenced by unit::apply_builtin_effect().
|
inline |
Definition at line 1979 of file unit.hpp.
References unit::appearance_changed_.
|
inlinestatic |
|
inlinestatic |
Definition at line 1179 of file unit.hpp.
Referenced by unit::apply_builtin_effect().
unit_movement_resetter::unit_movement_resetter | ( | const unit & | u, |
bool | operate = true |
||
) |
Definition at line 2705 of file unit.cpp.
References unit::set_movement(), unit::total_movement(), and unit_movement_resetter::u_.
|
delete |
unit::recursion_guard unit::update_variables_recursion | ( | ) | const |
Definition at line 396 of file abilities.cpp.
References unit::num_recursion_.
Referenced by unit::ability_active(), unit::ability_affects_adjacent(), and unit::ability_affects_self().
|
inlineexplicit |
void unit::write | ( | config & | cfg, |
bool | write_all = true |
||
) | const |
Serializes the current unit metadata values.
cfg | The config to write to. |
write_all | set this to false to not write unchanged attributes. |
Definition at line 1514 of file unit.cpp.
References unit::abilities_, config::add_child(), unit::advancements_, unit::advances_to_, unit::alignment_, config::append(), unit::attacks_, unit::attacks_left_, unit::can_recruit(), config::clear_children(), unit::description_, unit::ellipse_, unit::emit_zoc_, unit::events_, unit::experience_, unit::facing_, unit::filter_recall_, unit::flag_rgb_, unit::formula_man_, unit::gender_, gender_string(), unit::generate_name_, unit::get_attacks_changed(), unit::get_attr_changed(), unit::get_states(), string_enums::enum_base< Definition >::get_string(), unit::goto_, unit::halo_, unit::hidden_, unit::hit_points_, i, unit_type::icon(), unit_race::id(), unit::id_, unit_type::image(), unit::jamming_, utils::join(), unit::level_, unit::max_attacks_, unit::max_experience_, unit::max_hit_points_, unit::max_movement_, unit::modifications_, unit::movement_, unit::movement_type_, unit::name_, unit_type::parent_id(), unit::profile_, unit::race_, unit::random_traits_, unit::recall_cost_, unit::recruit_list_, unit::resting_, unit::role_, unit::side_, unit::small_profile_, unit::special_notes_, unit::type(), unit::type_id(), unit::type_name_, unit::UA_ABILITIES, unit::UA_ADVANCE_TO, unit::UA_ADVANCEMENTS, unit::UA_ALIGNMENT, unit::UA_ATTACKS, unit::UA_LEVEL, unit::UA_MAX_AP, unit::UA_MAX_HP, unit::UA_MAX_MP, unit::UA_MAX_XP, unit::UA_MOVEMENT_TYPE, unit::UA_NOTES, unit::UA_PROFILE, unit::UA_SMALL_PROFILE, unit::UA_ZOC, unit::undead_variation_, unit::underlying_id_, unit_type::unit_description(), unit::unit_value_, unit::unrenamable_, unit::usage_, n_unit::unit_id::value, unit::variables_, unit::variation_, unit::vision_, map_location::wml_x(), map_location::wml_y(), movetype::write(), map_location::write_direction(), and unit::write_upkeep().
Referenced by get_checksum(), and UNIT_GETTER().
|
private |
Definition at line 2810 of file unit.cpp.
References unit::upkeep(), and unit::upkeep_.
Referenced by unit::write().
unit::recursion_guard::~recursion_guard | ( | ) |
Definition at line 429 of file abilities.cpp.
unit_movement_resetter::~unit_movement_resetter | ( | ) |
Definition at line 2714 of file unit.cpp.
References DBG_UT, resources::gameboard, utils::get_unknown_exception_type(), unit_movement_resetter::moves_, unit::set_movement(), and unit_movement_resetter::u_.
|
private |
Definition at line 2088 of file unit.hpp.
Referenced by unit::abilities(), unit::ability_tooltips(), unit::advance_to(), unit::apply_builtin_effect(), unit::get_abilities(), unit::get_ability_bool(), unit::get_ability_list(), unit::halo_or_icon_abilities(), unit::has_ability_by_id(), unit::has_ability_type(), unit::init(), unit::remove_ability_by_attribute(), unit::remove_ability_by_id(), and unit::write().
|
private |
Definition at line 2090 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::modification_advancements(), unit::set_advancements(), and unit::write().
|
private |
Definition at line 1987 of file unit.hpp.
Referenced by unit::advance_to(), unit::advancement_icons(), unit::advances_to(), unit::advances_to_translated(), unit::apply_builtin_effect(), unit::can_advance(), unit::get_modification_advances(), unit::set_advances_to(), and unit::write().
|
private |
Definition at line 2015 of file unit.hpp.
Referenced by unit::advance_to(), unit::alignment(), unit::init(), unit::set_alignment(), and unit::write().
|
private |
Definition at line 2082 of file unit.hpp.
Referenced by unit::advance_to(), unit::anim_comp(), unit::apply_builtin_effect(), unit::expire_modifications(), unit::init(), unit::set_hidden(), unit::set_image_halo(), and unit::~unit().
|
mutableprivate |
Definition at line 2108 of file unit.hpp.
Referenced by unit::advance_to(), unit::appearance_changed(), unit::apply_builtin_effect(), unit::set_appearance_changed(), unit::set_facing(), unit::set_image_ellipse(), unit::set_image_halo(), and unit::set_state().
|
private |
Definition at line 2058 of file unit.hpp.
Referenced by unit::add_attack(), unit::advance_to(), unit::apply_builtin_effect(), unit::attacks(), unit::clear_changed_attributes(), unit::describe_builtin_effect(), unit::get_attacks_changed(), unit::init(), unit::remove_attack(), unit::unit(), and unit::write().
|
private |
Definition at line 2039 of file unit.hpp.
Referenced by unit::attacks_left(), unit::init(), unit::new_turn(), unit::remove_attacks_ai(), unit::set_attacks(), and unit::write().
|
private |
Definition at line 2013 of file unit.hpp.
Referenced by unit::can_recruit(), unit::init(), and unit::set_can_recruit().
|
private |
Definition at line 2109 of file unit.hpp.
Referenced by unit::clear_changed_attributes(), unit::get_attr_changed(), and unit::set_attr_changed().
|
private |
Definition at line 1912 of file unit.hpp.
Referenced by unit::checking_tags().
|
private |
Definition at line 2092 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::set_unit_description(), unit::unit_description(), and unit::write().
|
private |
Definition at line 2097 of file unit.hpp.
Referenced by unit::advance_to(), unit::image_ellipse(), unit::set_image_ellipse(), and unit::write().
|
private |
Definition at line 2053 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::emits_zoc(), unit::get_emit_zoc(), unit::set_emit_zoc(), and unit::write().
|
private |
Definition at line 2036 of file unit.hpp.
Referenced by unit::new_turn(), unit::set_movement(), unit::set_user_end_turn(), unit::toggle_hold_position(), unit::toggle_user_end_turn(), and unit::user_end_turn().
|
private |
Definition at line 2050 of file unit.hpp.
Referenced by unit::init(), and unit::write().
|
private |
Definition at line 2007 of file unit.hpp.
Referenced by unit::advances(), unit::apply_builtin_effect(), unit::experience(), unit::experience_overflow(), unit::experience_to_advance(), unit::init(), unit::set_experience(), and unit::write().
|
mutableprotected |
Definition at line 2065 of file unit.hpp.
Referenced by unit::facing(), unit::init(), unit::set_facing(), unit_animation_component::start_animation(), and unit::write().
|
private |
Definition at line 2051 of file unit.hpp.
Referenced by unit::init(), unit::recall_filter(), unit::set_recall_filter(), and unit::write().
|
private |
Definition at line 2017 of file unit.hpp.
Referenced by unit::advance_to(), unit::flag_rgb(), and unit::write().
|
private |
Definition at line 2026 of file unit.hpp.
Referenced by unit::formula_manager(), unit::init(), and unit::write().
|
private |
Definition at line 2024 of file unit.hpp.
Referenced by unit::ability_tooltips(), unit::add_trait_description(), unit::advance_to(), unit::apply_builtin_effect(), unit::gender(), unit::generate_name(), unit::init(), and unit::write().
|
private |
Definition at line 2100 of file unit.hpp.
Referenced by unit::advance_to(), unit::generate_name(), unit::init(), and unit::write().
|
private |
Definition at line 2073 of file unit.hpp.
Referenced by unit::get_goto(), unit::init(), unit::new_scenario(), unit::set_goto(), and unit::write().
|
private |
Definition at line 2096 of file unit.hpp.
Referenced by unit::image_halo(), unit::set_image_halo(), and unit::write().
|
mutableprivate |
Definition at line 2084 of file unit.hpp.
Referenced by unit::get_hidden(), unit::init(), unit::set_hidden(), and unit::write().
|
private |
Definition at line 2005 of file unit.hpp.
Referenced by unit::apply_builtin_effect(), unit::heal(), unit::heal_fully(), unit::hitpoints(), unit::init(), unit::set_hitpoints(), unit::take_hit(), and unit::write().
|
private |
Definition at line 2035 of file unit.hpp.
Referenced by unit::hold_position(), unit::new_turn(), unit::set_movement(), unit::toggle_hold_position(), and unit::toggle_user_end_turn().
|
private |
Definition at line 2085 of file unit.hpp.
Referenced by unit::advance_to(), unit::hp_bar_scaling(), and unit::init().
|
private |
Definition at line 1998 of file unit.hpp.
Referenced by unit::id(), unit::init(), unit::mark_clone(), unit::set_id(), unit::set_underlying_id(), and unit::write().
|
private |
Definition at line 2018 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::effect_image_mods(), and unit::image_mods().
|
private |
Definition at line 2073 of file unit.hpp.
Referenced by unit::get_interrupted_move(), unit::move_interrupted(), and unit::set_interrupted_move().
|
mutableprivate |
Hold the visibility status cache for a unit, when not uncovered.
This is mutable since it is a cache.
Definition at line 2118 of file unit.hpp.
Referenced by unit::clear_visibility_cache(), and unit::invisible().
|
private |
Definition at line 2075 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), and unit::is_fearless().
|
private |
Definition at line 2075 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), and unit::is_healthy().
|
private |
Definition at line 2031 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::jamming(), and unit::write().
|
staticprivate |
Definition at line 2047 of file unit.hpp.
Referenced by unit::get_known_boolean_state_id(), unit::get_known_boolean_state_name(), and unit::get_states().
|
private |
Definition at line 2046 of file unit.hpp.
Referenced by unit::get_state(), and unit::set_state().
|
private |
Definition at line 2010 of file unit.hpp.
Referenced by unit::add_modification(), unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::level(), unit::set_level(), and unit::write().
|
private |
Definition at line 1985 of file unit.hpp.
Referenced by unit::add_modification(), unit::get_abilities(), unit::get_abilities_weapons(), unit::get_ability_bool(), unit::get_location(), unit::get_modification_advances(), unit::halo_or_icon_abilities(), unit::init(), unit_animation_component::invalidate(), unit_animation_component::refresh(), unit_animation_component::set_disabled_ghosted(), unit_animation_component::set_ghosted(), unit_animation_component::set_idling(), unit::set_location(), unit_animation_component::set_selecting(), unit_animation_component::set_standing(), and unit_animation_component::start_animation().
|
private |
Definition at line 2040 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::max_attacks(), unit::new_turn(), unit::remove_attacks_ai(), unit::set_max_attacks(), and unit::write().
|
private |
Definition at line 2008 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::experience_overflow(), unit::experience_to_advance(), unit::init(), unit::max_experience(), unit::set_max_experience(), and unit::write().
|
private |
Definition at line 2006 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::max_hitpoints(), unit::set_max_hitpoints(), and unit::write().
|
private |
Definition at line 2029 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::set_total_movement(), unit::total_movement(), unit::vision(), and unit::write().
|
private |
Definition at line 2077 of file unit.hpp.
Referenced by unit::advance_to().
|
private |
Definition at line 2087 of file unit.hpp.
Referenced by unit::add_modification(), unit::apply_modifications(), unit::expire_modifications(), unit::generate_traits(), unit::get_modifications(), unit::get_modifications_list(), unit::init(), unit::modification_count(), and unit::write().
|
private |
Definition at line 2028 of file unit.hpp.
Referenced by unit::apply_builtin_effect(), unit::end_turn(), unit::init(), unit::movement_left(), unit::new_turn(), unit::set_movement(), and unit::write().
|
private |
Definition at line 2033 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::defense_modifier(), unit::get_base_resistances(), unit::init(), unit::is_flying(), unit::jamming_cost(), unit::movement_cost(), unit::movement_type(), unit::resistance_value(), unit::vision_cost(), and unit::write().
|
private |
Definition at line 2148 of file unit.hpp.
Referenced by unit_movement_resetter::~unit_movement_resetter().
|
private |
Definition at line 1999 of file unit.hpp.
Referenced by unit::generate_name(), unit::init(), unit::name(), unit::rename(), unit::set_name(), and unit::write().
|
staticprivate |
|
mutableprivate |
Number of instances of recursion_guard that are currently allocated permission to recurse.
Definition at line 2060 of file unit.hpp.
Referenced by unit::recursion_guard::recursion_guard(), and unit::update_variables_recursion().
|
private |
Definition at line 2055 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::overlays(), and unit::set_loyal().
|
private |
|
private |
Definition at line 2104 of file unit.hpp.
Referenced by unit::advance_to(), unit::big_profile(), unit::set_big_profile(), unit::small_profile(), and unit::write().
|
private |
Never nullptr, but may point to the null race.
Definition at line 1996 of file unit.hpp.
Referenced by unit::advance_to(), unit::generate_name(), unit::init(), unit::race(), and unit::write().
|
private |
Definition at line 2099 of file unit.hpp.
Referenced by unit::advance_to(), unit::generate_traits(), unit::init(), and unit::write().
|
private |
Definition at line 2012 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::recall_cost(), unit::set_recall_cost(), and unit::write().
|
private |
Definition at line 2014 of file unit.hpp.
Referenced by unit::recruits(), unit::set_recruits(), and unit::write().
|
private |
Definition at line 2037 of file unit.hpp.
Referenced by unit::end_turn(), unit::init(), unit::resting(), unit::set_resting(), and unit::write().
|
private |
Definition at line 2057 of file unit.hpp.
Referenced by unit::get_role(), unit::init(), unit::set_role(), and unit::write().
|
private |
Definition at line 2022 of file unit.hpp.
Referenced by unit::ability_active(), unit::apply_builtin_effect(), unit::init(), unit::invisible(), unit::set_side(), unit::side(), and unit::write().
|
private |
Definition at line 2105 of file unit.hpp.
Referenced by unit::advance_to(), unit::set_small_profile(), unit::small_profile(), and unit::write().
|
private |
Definition at line 2093 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::unit_special_notes(), and unit::write().
|
private |
Definition at line 2042 of file unit.hpp.
Referenced by unit::get_state(), unit::get_states(), and unit::set_state().
|
private |
Definition at line 2069 of file unit.hpp.
Referenced by unit::add_trait_description(), unit::advance_to(), and unit::trait_descriptions().
|
private |
Definition at line 2068 of file unit.hpp.
Referenced by unit::add_trait_description(), unit::advance_to(), and unit::trait_names().
|
private |
Definition at line 2070 of file unit.hpp.
Referenced by unit::add_trait_description(), unit::advance_to(), and unit::trait_nonhidden_ids().
|
private |
Never nullptr.
Adjusted for gender and variation.
Definition at line 1990 of file unit.hpp.
Referenced by unit::advance_to(), unit::init(), unit::type(), and unit::type_id().
|
private |
The displayed name of this unit type.
Definition at line 1993 of file unit.hpp.
Referenced by unit::advance_to(), unit::type_name(), and unit::write().
|
private |
Definition at line 1211 of file unit.hpp.
Referenced by unit::upkeep_value_visitor::operator()().
|
private |
Definition at line 2147 of file unit.hpp.
Referenced by unit_movement_resetter::unit_movement_resetter(), and unit_movement_resetter::~unit_movement_resetter().
|
private |
Definition at line 2002 of file unit.hpp.
Referenced by unit::advance_to(), unit::set_undead_variation(), unit::undead_variation(), and unit::write().
|
private |
Definition at line 2000 of file unit.hpp.
Referenced by unit::init(), unit::is_visible_to_team(), unit::mark_clone(), unit::set_underlying_id(), unit::underlying_id(), and unit::write().
|
private |
Definition at line 2072 of file unit.hpp.
Referenced by unit::advance_to(), unit::cost(), unit::init(), and unit::write().
|
private |
Definition at line 2020 of file unit.hpp.
Referenced by unit::init(), unit::rename(), unit::set_unrenamable(), unit::unrenamable(), and unit::write().
|
private |
Definition at line 2102 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::loyal(), unit::parse_upkeep(), unit::set_loyal(), unit::set_upkeep(), unit::upkeep(), unit::upkeep_raw(), and unit::write_upkeep().
|
private |
Definition at line 2095 of file unit.hpp.
Referenced by unit::set_usage(), unit::usage(), and unit::write().
|
private |
Definition at line 2049 of file unit.hpp.
Referenced by unit::apply_modifications(), unit::init(), unit::variables(), and unit::write().
|
private |
Definition at line 2003 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::variation(), and unit::write().
|
private |
Definition at line 2030 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::vision(), and unit::write().
|
private |
Definition at line 2085 of file unit.hpp.
Referenced by unit::advance_to(), unit::init(), and unit::xp_bar_scaling().
|
friend |