Various functions that implement advancements of units. More...
Go to the source code of this file.
| Classes | |
| struct | advance_unit_params | 
| advances the unit at loc if it has enough experience, maximum 20 times.  More... | |
| Typedefs | |
| using | advancement_option = utils::variant< std::string, const config * > | 
| Functions | |
| void | advance_unit_at (const advance_unit_params ¶ms) | 
| 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).  More... | |
| 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).  More... | |
| 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'.  More... | |
Various functions that implement advancements of units.
Definition in file advancement.hpp.
| using advancement_option = utils::variant<std::string , const config* > | 
Definition at line 62 of file advancement.hpp.
| 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'.
which is eigher a type to advance to or a config containing the [advancement] to perform an amla. Note that 'loc' is not a reference, because if it were a reference, we couldn't safely pass in a reference to the item in the map that we're going to delete, since deletion would invalidate the reference.
Definition at line 344 of file advancement.cpp.
References actions::actor_sighted(), statistics_t::advance_unit(), actions::shroud_clearer::clear_unit(), resources::controller, utils::decayed_is_same, prefs::encountered_units(), unit_map::erase(), unit_map::find(), game_events::wml_event_pump::fire(), gui2::event::implementation::fire_event(), actions::shroud_clearer::fire_events(), resources::game_events, resources::gameboard, prefs::get(), get_advanced_unit(), get_amla_unit(), actions::get_sides_not_seeing(), unit_map::insert(), loc, LOG_CF, LOG_NG, game_events::manager::pump(), play_controller::statistics(), game_board::units(), unit_map::iterator_base< iter_types >::valid(), and resources::whiteboard.
Referenced by ai::helper_advance_unit().
| void advance_unit_at | ( | const advance_unit_params & | params | ) | 
Definition at line 44 of file advancement.cpp.
Referenced by attack_unit_and_advance(), intf_advance_unit(), and SYNCED_COMMAND_HANDLER_FUNCTION().
Returns the advanced version of a unit (with traits and items retained).
Definition at line 312 of file advancement.cpp.
References unit::clone(), unit_type_data::find(), unit::STATE_PETRIFIED, unit::STATE_POISONED, unit::STATE_SLOWED, and unit_types.
Referenced by advance_unit().
Returns the AMLA-advanced version of a unit (with traits and items retained).
Definition at line 335 of file advancement.cpp.
References unit::clone().
Referenced by advance_unit().