This class represents a single unit of a specific type.
void advance_unit(map_location loc, const advancement_option &advance_to, bool fire_event=true)
Function which will advance the unit at loc to 'advance_to'.
friend void advance_unit_at(const advance_unit_params &)
advance_unit_params & force_dialog(bool value)
advance_unit_params & fire_events(bool value)
std::shared_ptr< unit > unit_ptr
advance_unit_params & animate(bool value)
bool fire_event(const ui_event event, const std::vector< std::pair< widget *, ui_event >> &event_chain, widget *dispatcher, widget *w, F &&... params)
Helper function for fire_event.
This class stores all the data for a single 'side' (in game nomenclature).
unit_ptr get_advanced_unit(const unit &u, const std::string &advance_to)
Returns the advanced version of a unit (with traits and items retained).
advances the unit at loc if it has enough experience, maximum 20 times.
Encapsulates the map of the game.
advance_unit_params(const map_location &loc)
utils::variant< std::string, const config *> advancement_option
unit_ptr get_amla_unit(const unit &u, const config &mod_option)
Returns the AMLA-advanced version of a unit (with traits and items retained).
MacOS doesn't support std::visit when targing MacOS < 10.14 (currently we target 10.11).
A config object defines a single node in a WML file, with access to child nodes.