The Battle for Wesnoth  1.19.8+dev
Functions
unit_helper Namespace Reference

Functions

int number_of_possible_advances (const unit &unit)
 Determines the total number of available advancements (of any kind) for a given unit. More...
 
bool will_certainly_advance (const unit_map::iterator &u)
 Encapsulates the logic for deciding whether an iterator u points to a unit that can advance. More...
 
std::string resistance_color (const int resistance)
 Maps resistance <= -60 (resistance value <= -60%) to intense red. More...
 
static std::string unit_level_tooltip (const int level, const std::vector< std::string > &adv_to_types, const std::vector< config > &adv_to_mods)
 
std::string unit_level_tooltip (const unit &u)
 
std::string unit_level_tooltip (const unit_type &type)
 
std::string maybe_inactive (const std::string &str, bool active)
 
std::string format_cost_string (int unit_recall_cost, const int team_recall_cost)
 
std::string format_cost_string (int unit_cost)
 
std::string format_level_string (const int level, bool recallable)
 
std::string format_movement_string (const int moves_left, const int moves_max)
 

Function Documentation

◆ format_cost_string() [1/2]

std::string unit_helper::format_cost_string ( int  unit_cost)
Returns
Help markup string with gold icon followed by unit_cost. Eg. ‘<img src='themes/gold.png’/>40`

Definition at line 115 of file helper.cpp.

References markup::img().

◆ format_cost_string() [2/2]

std::string unit_helper::format_cost_string ( int  unit_recall_cost,
const int  team_recall_cost 
)
Returns
If unit recall cost is greater than team's recall cost, return a help markup string that shows the unit recall cost in red font color. If unit recall cost is less than team's cost, color in green instead. If equal, default color. In all cases, a gold icon using <img> tag is prepended to the formatted cost. Icon is greyscaled when unit recall cost > team recall cost. Eg. ‘<img src='themes/gold.png~GS()’/>40`.

Definition at line 96 of file helper.cpp.

References font::BAD_COLOR, font::GREEN_COLOR, markup::img(), and markup::span_color().

Referenced by gui2::dialogs::units_dialog::build_recall_dialog(), and gui2::dialogs::units_dialog::build_recruit_dialog().

◆ format_level_string()

std::string unit_helper::format_level_string ( const int  level,
bool  recallable 
)
Returns
A pango formatted string representation of level. The applied formatting is different for each level. L0: level number in normal text, grey color L1: level number in normal text L2: level number in bold text L3: level number in bold, font color #e2b776 L3+: level number in bold, font color #dd6600. If not recallable, return greyscaled versions. So, L0, L1: normal text, L2+: bold text

Definition at line 120 of file helper.cpp.

References markup::bold(), font::INACTIVE_COLOR, game_config::images::level, and markup::span_color().

Referenced by gui2::dialogs::units_dialog::build_recall_dialog(), and gui2::dialogs::units_dialog::build_unit_list_dialog().

◆ format_movement_string()

std::string unit_helper::format_movement_string ( const int  moves_left,
const int  moves_max 
)
Returns
A pango formatted string representation of "moves_left/moves_max", colored based on condition below: moves_left is zero: "moves_left/moves_max" colored in red moves_left is less than/equal to moves_max: "moves_left/moves_max" colored in green moves_left is greater than moves_max: "moves_left/moves_max" colored in yellow

Definition at line 139 of file helper.cpp.

References font::BAD_COLOR, font::GREEN_COLOR, moves_left, markup::span_color(), and font::YELLOW_COLOR.

Referenced by gui2::dialogs::units_dialog::build_recall_dialog(), and gui2::dialogs::units_dialog::build_unit_list_dialog().

◆ maybe_inactive()

std::string unit_helper::maybe_inactive ( const std::string &  str,
bool  active 
)
Returns
If active, do nothing. If inactive, surround with pango tag that changes font color to grey.

Definition at line 91 of file helper.cpp.

References font::INACTIVE_COLOR, and markup::span_color().

Referenced by gui2::dialogs::units_dialog::build_recall_dialog().

◆ number_of_possible_advances()

int unit_helper::number_of_possible_advances ( const unit unit)

Determines the total number of available advancements (of any kind) for a given unit.

This includes normal advances and modifiers.

Returns
the total number of possible advancements.

Definition at line 29 of file helper.cpp.

References unit::advances_to(), and unit::get_modification_advances().

Referenced by ai::helper_advance_unit(), and will_certainly_advance().

◆ resistance_color()

std::string unit_helper::resistance_color ( const int  resistance)

Maps resistance <= -60 (resistance value <= -60%) to intense red.

Maps resistance >= 60 (resistance value >= 60%) to intense green. Intermediate values are affinely mapped to the red-to-green scale, with 0 (0%) being mapped to yellow. Compare attack_info_percent_color() in reports.cpp.

Returns
the name of the color encoding the weight of the unit's resistance value for presenting it to the player.

Definition at line 49 of file helper.cpp.

References game_config::red_to_green(), and color_t::to_hex_string().

Referenced by gui2::get_hp_tooltip(), help::unit_topic_generator::operator()(), and unit_hp().

◆ unit_level_tooltip() [1/3]

static std::string unit_helper::unit_level_tooltip ( const int  level,
const std::vector< std::string > &  adv_to_types,
const std::vector< config > &  adv_to_mods 
)
static

◆ unit_level_tooltip() [2/3]

std::string unit_helper::unit_level_tooltip ( const unit u)
Returns
the tooltip text showing a unit's level and what it can advance to.

Definition at line 78 of file helper.cpp.

References unit::advances_to_translated(), unit::get_modification_advances(), unit::level(), and unit_level_tooltip().

◆ unit_level_tooltip() [3/3]

std::string unit_helper::unit_level_tooltip ( const unit_type u)
Returns
the tooltip text showing a unit type's level and what it can advance to.

Definition at line 83 of file helper.cpp.

References unit_level_tooltip().

◆ will_certainly_advance()

bool unit_helper::will_certainly_advance ( const unit_map::iterator u)

Encapsulates the logic for deciding whether an iterator u points to a unit that can advance.

Returns
true if the unit exists, has available advances, and can_advance().

Definition at line 34 of file helper.cpp.

References number_of_possible_advances(), and unit_map::iterator_base< iter_types >::valid().

Referenced by ai::helper_advance_unit().