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 1800 of file unit.hpp.
References unit::abilities_.
Referenced by 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 1974 of file unit.hpp.
References unit::appearance_changed_.
|
inline |
Definition at line 1802 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 2120 of file unit.hpp.
References unit::invisibility_cache_.
|
inline |
Get the unit formula manager.
Definition at line 1942 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 749 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 1788 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 1795 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 1733 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(), and gui2::unit_preview_pane::set_displayed_unit().
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 1394 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 2482 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 2531 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 2525 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 2583 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 1188 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 2699 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 1418 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 1405 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 1973 of file unit.hpp.
References unit::appearance_changed_.
|
inlinestatic |
|
inlinestatic |
Definition at line 1173 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 2608 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 1442 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().
|
private |
Definition at line 2713 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 2617 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 2082 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 2084 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 1981 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 2009 of file unit.hpp.
Referenced by unit::advance_to(), unit::alignment(), unit::init(), unit::set_alignment(), and unit::write().
|
private |
Definition at line 2076 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 2102 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 2052 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 2033 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 2007 of file unit.hpp.
Referenced by unit::can_recruit(), unit::init(), and unit::set_can_recruit().
|
private |
Definition at line 2103 of file unit.hpp.
Referenced by unit::clear_changed_attributes(), unit::get_attr_changed(), and unit::set_attr_changed().
|
private |
Definition at line 1906 of file unit.hpp.
Referenced by unit::checking_tags().
|
private |
Definition at line 2086 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 2091 of file unit.hpp.
Referenced by unit::advance_to(), unit::image_ellipse(), unit::set_image_ellipse(), and unit::write().
|
private |
Definition at line 2047 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 2030 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 2044 of file unit.hpp.
Referenced by unit::init(), and unit::write().
|
private |
Definition at line 2001 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 2059 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 2045 of file unit.hpp.
Referenced by unit::init(), unit::recall_filter(), unit::set_recall_filter(), and unit::write().
|
private |
Definition at line 2011 of file unit.hpp.
Referenced by unit::advance_to(), unit::flag_rgb(), and unit::write().
|
private |
Definition at line 2020 of file unit.hpp.
Referenced by unit::formula_manager(), unit::init(), and unit::write().
|
private |
Definition at line 2018 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 2094 of file unit.hpp.
Referenced by unit::advance_to(), unit::generate_name(), unit::init(), and unit::write().
|
private |
Definition at line 2067 of file unit.hpp.
Referenced by unit::get_goto(), unit::init(), unit::new_scenario(), unit::set_goto(), and unit::write().
|
private |
Definition at line 2090 of file unit.hpp.
Referenced by unit::image_halo(), unit::set_image_halo(), and unit::write().
|
mutableprivate |
Definition at line 2078 of file unit.hpp.
Referenced by unit::get_hidden(), unit::init(), unit::set_hidden(), and unit::write().
|
private |
Definition at line 1999 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 2029 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 2079 of file unit.hpp.
Referenced by unit::advance_to(), unit::hp_bar_scaling(), and unit::init().
|
private |
Definition at line 1992 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 2012 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 2067 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 2112 of file unit.hpp.
Referenced by unit::clear_visibility_cache(), and unit::invisible().
|
private |
Definition at line 2069 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), and unit::is_fearless().
|
private |
Definition at line 2069 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), and unit::is_healthy().
|
private |
Definition at line 2025 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::jamming(), and unit::write().
|
staticprivate |
Definition at line 2041 of file unit.hpp.
Referenced by unit::get_known_boolean_state_id(), and unit::get_states().
|
private |
Definition at line 2040 of file unit.hpp.
Referenced by unit::get_state(), and unit::set_state().
|
private |
Definition at line 2004 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 1979 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 2034 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 2002 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 2000 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 2023 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 2071 of file unit.hpp.
Referenced by unit::advance_to().
|
private |
Definition at line 2081 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 2022 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 2027 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 2142 of file unit.hpp.
Referenced by unit_movement_resetter::~unit_movement_resetter().
|
private |
Definition at line 1993 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 2054 of file unit.hpp.
Referenced by unit::recursion_guard::recursion_guard(), and unit::update_variables_recursion().
|
private |
Definition at line 2049 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::overlays(), and unit::set_loyal().
|
private |
|
private |
Definition at line 2098 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 1990 of file unit.hpp.
Referenced by unit::advance_to(), unit::generate_name(), unit::init(), unit::race(), and unit::write().
|
private |
Definition at line 2093 of file unit.hpp.
Referenced by unit::advance_to(), unit::generate_traits(), unit::init(), and unit::write().
|
private |
Definition at line 2006 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 2008 of file unit.hpp.
Referenced by unit::recruits(), unit::set_recruits(), and unit::write().
|
private |
Definition at line 2031 of file unit.hpp.
Referenced by unit::end_turn(), unit::init(), unit::resting(), unit::set_resting(), and unit::write().
|
private |
Definition at line 2051 of file unit.hpp.
Referenced by unit::get_role(), unit::init(), unit::set_role(), and unit::write().
|
private |
Definition at line 2016 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 2099 of file unit.hpp.
Referenced by unit::advance_to(), unit::set_small_profile(), unit::small_profile(), and unit::write().
|
private |
Definition at line 2087 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 2036 of file unit.hpp.
Referenced by unit::get_state(), unit::get_states(), and unit::set_state().
|
private |
Definition at line 2063 of file unit.hpp.
Referenced by unit::add_trait_description(), unit::advance_to(), and unit::trait_descriptions().
|
private |
Definition at line 2062 of file unit.hpp.
Referenced by unit::add_trait_description(), unit::advance_to(), and unit::trait_names().
|
private |
Definition at line 2064 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 1984 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 1987 of file unit.hpp.
Referenced by unit::advance_to(), unit::type_name(), and unit::write().
|
private |
Definition at line 1205 of file unit.hpp.
Referenced by unit::upkeep_value_visitor::operator()().
|
private |
Definition at line 2141 of file unit.hpp.
Referenced by unit_movement_resetter::unit_movement_resetter(), and unit_movement_resetter::~unit_movement_resetter().
|
private |
Definition at line 1996 of file unit.hpp.
Referenced by unit::advance_to(), unit::set_undead_variation(), unit::undead_variation(), and unit::write().
|
private |
Definition at line 1994 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 2066 of file unit.hpp.
Referenced by unit::advance_to(), unit::cost(), unit::init(), and unit::write().
|
private |
Definition at line 2014 of file unit.hpp.
Referenced by unit::init(), unit::rename(), unit::set_unrenamable(), unit::unrenamable(), and unit::write().
|
private |
Definition at line 2096 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 2089 of file unit.hpp.
Referenced by unit::set_usage(), unit::usage(), and unit::write().
|
private |
Definition at line 2043 of file unit.hpp.
Referenced by unit::apply_modifications(), unit::init(), unit::variables(), and unit::write().
|
private |
Definition at line 1997 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::variation(), and unit::write().
|
private |
Definition at line 2024 of file unit.hpp.
Referenced by unit::advance_to(), unit::apply_builtin_effect(), unit::init(), unit::vision(), and unit::write().
|
private |
Definition at line 2079 of file unit.hpp.
Referenced by unit::advance_to(), unit::init(), and unit::xp_bar_scaling().
|
friend |