The Battle for Wesnoth  1.19.0-dev
Classes | Typedefs | Functions | Variables
types.hpp File Reference
#include "gettext.hpp"
#include "movetype.hpp"
#include "units/unit_alignments.hpp"
#include "units/race.hpp"
#include "units/attack_type.hpp"
#include "units/type_error.hpp"
#include "game_config_view.hpp"
#include <memory>
#include <array>
#include <map>
#include <set>
#include <string>
#include <vector>
Include dependency graph for types.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  unit_type
 A single unit type that the player may recruit. More...
 
struct  unit_type::defaut_ctor_t
 
struct  unit_type::ability_metadata
 
class  unit_type_data
 
struct  unit_experience_accelerator
 

Typedefs

typedef std::map< std::string, movetypemovement_type_map
 

Functions

void adjust_profile (std::string &profile)
 
std::vector< t_stringcombine_special_notes (const std::vector< t_string > direct, const config &abilities, const_attack_itors attacks, const movetype &mt)
 Common logic for unit_type::special_notes() and unit::special_notes(). More...
 

Variables

unit_type_data unit_types
 

Typedef Documentation

◆ movement_type_map

typedef std::map<std::string, movetype> movement_type_map

Definition at line 35 of file types.hpp.

Function Documentation

◆ adjust_profile()

void adjust_profile ( std::string &  profile)

Definition at line 1487 of file types.cpp.

References filesystem::file_exists().

Referenced by unit_type::build_help_index(), and unit::set_big_profile().

◆ combine_special_notes()

std::vector<t_string> combine_special_notes ( const std::vector< t_string direct,
const config abilities,
const_attack_itors  attacks,
const movetype mt 
)

Common logic for unit_type::special_notes() and unit::special_notes().

Adds any notes from the sources given as arguments, and filters out duplicates.

Returns
the special notes for a unit or unit_type.

Definition at line 506 of file types.cpp.

References config::all_children_range(), append_special_note(), unit_type::attacks(), symbol_table::end(), symbol_table::find(), movetype::special_notes(), and string_table.

Referenced by unit_type::special_notes(), and unit::unit_special_notes().

Variable Documentation

◆ unit_types

unit_type_data unit_types
extern

Definition at line 1485 of file types.cpp.

Referenced by advancement_tree_internal(), unit_type::advances_from(), unit::advances_to_translated(), unit::apply_builtin_effect(), unit_type::apply_scenario_fix(), BOOST_AUTO_TEST_CASE(), events::menu_handler::can_recruit(), ai::default_recruitment::recruitment::compare_unit_types(), actions::undo_list::create_action(), wb::recruit::create_corresponding_unit(), wfl::gamestate::DEFINE_WFL_FUNCTION(), ai::default_recruitment::recruitment::do_combat_analysis(), events::console_handler::do_create(), events::console_handler::do_discover(), ai::recruit_result::do_execute(), ai::default_recruitment::recruitment::do_similarity_penalty(), ai::default_recruitment::recruitment::execute(), unit_filter_impl::unit_filter_compound::fill(), ng::flg_manager::flg_manager(), test_utils::game_config_manager::game_config_manager(), help::generate_ability_topics(), help::generate_faction_topics(), help::generate_races_sections(), gui2::dialogs::mp_join_game::generate_side_list(), help::generate_trait_topics(), help::generate_unit_sections(), help::generate_unit_topics(), help::generate_weapon_special_topics(), get_advanced_unit(), ai::default_recruitment::recruitment::get_average_defense(), ai::default_recruitment::recruitment::get_cheapest_unit_cost_for_leader(), ai::default_recruitment::recruitment::get_cost_map_of_side(), get_unit_type(), ai::recruit_result::get_unit_type_known(), ai::formula_ai::get_value(), ai::helper_advance_unit(), unit_type::hide_help(), game_lua_kernel::impl_game_config_get(), impl_race_get(), impl_unit_type_count(), impl_unit_type_lookup(), impl_unit_type_next(), unit::init(), intf_add_known_unit(), game_lua_kernel::intf_find_cost_map(), intf_transform_unit(), luaW_checkrace(), luaW_pushracetable(), help::make_unit_link(), team::minimum_recruit_price(), gui2::dialogs::faction_select::on_faction_select(), gui2::dialogs::faction_select::on_leader_select(), gui2::dialogs::statistics_dialog::on_primary_list_select(), help::unit_topic_generator::operator()(), play_controller::play_controller(), gui2::dialogs::unit_create::pre_show(), gui2::dialogs::faction_select::profile_button_callback(), ai::default_recruitment::recruitment::recall_unit_value(), wb::recruit::recruit(), events::menu_handler::recruit(), ai::default_recruitment::recruitment::recruit_matches_type(), ng::flg_manager::resolve_random(), unit::set_advances_to(), unit::set_recruits(), game_config_manager::set_unit_data(), editor::unit_palette::setup(), help::show_unit_description(), help::show_with_toplevel(), statistics_t::sum_cost_str_int_map(), SYNCED_COMMAND_HANDLER_FUNCTION(), gui2::dialogs::tally(), editor::mouse_action_unit::up_left(), ng::flg_manager::update_available_genders(), ai::default_recruitment::recruitment::update_average_local_cost(), gui2::dialogs::mp_staging::update_leader_display(), gui2::dialogs::faction_select::update_leader_image(), and play_controller::~play_controller().