![]() |
Freeciv21
Develop your civilization from humble roots to a global empire
|
#include "bitvector.h"#include "shared.h"#include "fc_types.h"#include "name_translation.h"#include "requirements.h"#include "specenum_gen.h"#include "speclist.h"
Include dependency graph for unittype.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | unit_class |
| struct | combat_bonus |
| struct | veteran_level |
| struct | veteran_system |
| struct | unit_type |
Macros | |
| #define | U_LAST MAX_NUM_UNIT_TYPES |
| #define | UNIT_MAX_PARADROP_RANGE (65535 - 1) |
| #define | SPECENUM_NAME unit_class_flag_id |
| #define | SPECENUM_VALUE0 UCF_TERRAIN_SPEED |
| #define | SPECENUM_VALUE0NAME N_("?uclassflag:TerrainSpeed") |
| #define | SPECENUM_VALUE1 UCF_TERRAIN_DEFENSE |
| #define | SPECENUM_VALUE1NAME N_("?uclassflag:TerrainDefense") |
| #define | SPECENUM_VALUE2 UCF_DAMAGE_SLOWS |
| #define | SPECENUM_VALUE2NAME N_("?uclassflag:DamageSlows") |
| #define | SPECENUM_VALUE3 UCF_CAN_OCCUPY_CITY |
| #define | SPECENUM_VALUE3NAME N_("?uclassflag:CanOccupyCity") |
| #define | SPECENUM_VALUE4 UCF_BUILD_ANYWHERE |
| #define | SPECENUM_VALUE4NAME N_("?uclassflag:BuildAnywhere") |
| #define | SPECENUM_VALUE5 UCF_UNREACHABLE |
| #define | SPECENUM_VALUE5NAME N_("?uclassflag:Unreachable") |
| #define | SPECENUM_VALUE6 UCF_COLLECT_RANSOM |
| #define | SPECENUM_VALUE6NAME N_("?uclassflag:CollectRansom") |
| #define | SPECENUM_VALUE7 UCF_ZOC |
| #define | SPECENUM_VALUE7NAME N_("?uclassflag:ZOC") |
| #define | SPECENUM_VALUE8 UCF_DOESNT_OCCUPY_TILE |
| #define | SPECENUM_VALUE8NAME N_("?uclassflag:DoesntOccupyTile") |
| #define | SPECENUM_VALUE9 UCF_ATTACK_NON_NATIVE |
| #define | SPECENUM_VALUE9NAME N_("?uclassflag:AttackNonNative") |
| #define | SPECENUM_VALUE10 UCF_KILLCITIZEN |
| #define | SPECENUM_VALUE10NAME N_("?uclassflag:KillCitizen") |
| #define | SPECENUM_VALUE11 UCF_USER_FLAG_1 |
| #define | SPECENUM_VALUE12 UCF_USER_FLAG_2 |
| #define | SPECENUM_VALUE13 UCF_USER_FLAG_3 |
| #define | SPECENUM_VALUE14 UCF_USER_FLAG_4 |
| #define | SPECENUM_VALUE15 UCF_USER_FLAG_5 |
| #define | SPECENUM_VALUE16 UCF_USER_FLAG_6 |
| #define | SPECENUM_VALUE17 UCF_USER_FLAG_7 |
| #define | SPECENUM_VALUE18 UCF_USER_FLAG_8 |
| #define | SPECENUM_VALUE19 UCF_USER_FLAG_9 |
| #define | SPECENUM_VALUE20 UCF_USER_FLAG_10 |
| #define | SPECENUM_VALUE21 UCF_USER_FLAG_11 |
| #define | SPECENUM_VALUE22 UCF_USER_FLAG_12 |
| #define | SPECENUM_COUNT UCF_COUNT |
| #define | SPECENUM_NAMEOVERRIDE |
| #define | SPECENUM_BITVECTOR bv_unit_class_flags |
| #define | UCF_LAST_USER_FLAG UCF_USER_FLAG_12 |
| #define | MAX_NUM_USER_UCLASS_FLAGS (UCF_LAST_USER_FLAG - UCF_USER_FLAG_1 + 1) |
| #define | SPECENUM_NAME unit_move_type |
| #define | SPECENUM_VALUE0 UMT_LAND |
| #define | SPECENUM_VALUE0NAME "Land" |
| #define | SPECENUM_VALUE1 UMT_SEA |
| #define | SPECENUM_VALUE1NAME "Sea" |
| #define | SPECENUM_VALUE2 UMT_BOTH |
| #define | SPECENUM_VALUE2NAME "Both" |
| #define | SPECENUM_NAME unit_type_flag_id |
| #define | SPECENUM_VALUE0 UTYF_RESERVED_2 |
| #define | SPECENUM_VALUE0NAME N_("Reserved 2") |
| #define | SPECENUM_VALUE1 UTYF_NOZOC |
| #define | SPECENUM_VALUE1NAME N_("?unitflag:HasNoZOC") |
| #define | SPECENUM_VALUE2 UTYF_IGZOC |
| #define | SPECENUM_VALUE2NAME N_("?unitflag:IgZOC") |
| #define | SPECENUM_VALUE3 UTYF_CIVILIAN |
| #define | SPECENUM_VALUE3NAME N_("?unitflag:NonMil") |
| #define | SPECENUM_VALUE4 UTYF_IGTER |
| #define | SPECENUM_VALUE4NAME N_("?unitflag:IgTer") |
| #define | SPECENUM_VALUE5 UTYF_ONEATTACK |
| #define | SPECENUM_VALUE5NAME N_("?unitflag:OneAttack") |
| #define | SPECENUM_VALUE6 UTYF_FIELDUNIT |
| #define | SPECENUM_VALUE6NAME N_("?unitflag:FieldUnit") |
| #define | SPECENUM_VALUE7 UTYF_PROVOKING |
| #define | SPECENUM_VALUE7NAME N_("?unitflag:Provoking") |
| #define | SPECENUM_VALUE8 UTYF_NEVER_PROTECTS |
| #define | SPECENUM_VALUE8NAME N_("?unitflag:NeverProtects") |
| #define | SPECENUM_VALUE9 UTYF_SETTLERS |
| #define | SPECENUM_VALUE9NAME N_("?unitflag:Settlers") |
| #define | SPECENUM_VALUE10 UTYF_DIPLOMAT |
| #define | SPECENUM_VALUE10NAME N_("?unitflag:Diplomat") |
| #define | SPECENUM_VALUE11 UTYF_COAST_STRICT |
| #define | SPECENUM_VALUE11NAME N_("?unitflag:CoastStrict") |
| #define | SPECENUM_VALUE12 UTYF_COAST |
| #define | SPECENUM_VALUE12NAME N_("?unitflag:Coast") |
| #define | SPECENUM_VALUE13 UTYF_SHIELD2GOLD |
| #define | SPECENUM_VALUE13NAME N_("?unitflag:Shield2Gold") |
| #define | SPECENUM_VALUE14 UTYF_SPY |
| #define | SPECENUM_VALUE14NAME N_("?unitflag:Spy") |
| #define | SPECENUM_VALUE15 UTYF_ONLY_NATIVE_ATTACK |
| #define | SPECENUM_VALUE15NAME N_("?unitflag:Only_Native_Attack") |
| #define | SPECENUM_VALUE16 UTYF_FANATIC |
| #define | SPECENUM_VALUE16NAME N_("?unitflag:Fanatic") |
| #define | SPECENUM_VALUE17 UTYF_GAMELOSS |
| #define | SPECENUM_VALUE17NAME N_("?unitflag:GameLoss") |
| #define | SPECENUM_VALUE18 UTYF_UNIQUE |
| #define | SPECENUM_VALUE18NAME N_("?unitflag:Unique") |
| #define | SPECENUM_VALUE19 UTYF_EVAC_FIRST |
| #define | SPECENUM_VALUE19NAME N_("?unitflag:EvacuateFirst") |
| #define | SPECENUM_VALUE20 UTYF_SUPERSPY |
| #define | SPECENUM_VALUE20NAME N_("?unitflag:SuperSpy") |
| #define | SPECENUM_VALUE21 UTYF_NOHOME |
| #define | SPECENUM_VALUE21NAME N_("?unitflag:NoHome") |
| #define | SPECENUM_VALUE22 UTYF_NO_VETERAN |
| #define | SPECENUM_VALUE22NAME N_("?unitflag:NoVeteran") |
| #define | SPECENUM_VALUE23 UTYF_CITYBUSTER |
| #define | SPECENUM_VALUE23NAME N_("?unitflag:CityBuster") |
| #define | SPECENUM_VALUE24 UTYF_NOBUILD |
| #define | SPECENUM_VALUE24NAME N_("?unitflag:NoBuild") |
| #define | SPECENUM_VALUE25 UTYF_BADWALLATTACKER |
| #define | SPECENUM_VALUE25NAME N_("?unitflag:BadWallAttacker") |
| #define | SPECENUM_VALUE26 UTYF_BADCITYDEFENDER |
| #define | SPECENUM_VALUE26NAME N_("?unitflag:BadCityDefender") |
| #define | SPECENUM_VALUE27 UTYF_BARBARIAN_ONLY |
| #define | SPECENUM_VALUE27NAME N_("?unitflag:BarbarianOnly") |
| #define | SPECENUM_VALUE28 UTYF_RESERVED_1 |
| #define | SPECENUM_VALUE28NAME N_("Reserved 1") |
| #define | SPECENUM_VALUE29 UTYF_NEWCITY_GAMES_ONLY |
| #define | SPECENUM_VALUE29NAME N_("?unitflag:NewCityGamesOnly") |
| #define | SPECENUM_VALUE30 UTYF_CANESCAPE |
| #define | SPECENUM_VALUE30NAME N_("?unitflag:CanEscape") |
| #define | SPECENUM_VALUE31 UTYF_CANKILLESCAPING |
| #define | SPECENUM_VALUE31NAME N_("?unitflag:CanKillEscaping") |
| #define | SPECENUM_VALUE32 UTYF_USER_FLAG_1 |
| #define | SPECENUM_VALUE33 UTYF_USER_FLAG_2 |
| #define | SPECENUM_VALUE34 UTYF_USER_FLAG_3 |
| #define | SPECENUM_VALUE35 UTYF_USER_FLAG_4 |
| #define | SPECENUM_VALUE36 UTYF_USER_FLAG_5 |
| #define | SPECENUM_VALUE37 UTYF_USER_FLAG_6 |
| #define | SPECENUM_VALUE38 UTYF_USER_FLAG_7 |
| #define | SPECENUM_VALUE39 UTYF_USER_FLAG_8 |
| #define | SPECENUM_VALUE40 UTYF_USER_FLAG_9 |
| #define | SPECENUM_VALUE41 UTYF_USER_FLAG_10 |
| #define | SPECENUM_VALUE42 UTYF_USER_FLAG_11 |
| #define | SPECENUM_VALUE43 UTYF_USER_FLAG_12 |
| #define | SPECENUM_VALUE44 UTYF_USER_FLAG_13 |
| #define | SPECENUM_VALUE45 UTYF_USER_FLAG_14 |
| #define | SPECENUM_VALUE46 UTYF_USER_FLAG_15 |
| #define | SPECENUM_VALUE47 UTYF_USER_FLAG_16 |
| #define | SPECENUM_VALUE48 UTYF_USER_FLAG_17 |
| #define | SPECENUM_VALUE49 UTYF_USER_FLAG_18 |
| #define | SPECENUM_VALUE50 UTYF_USER_FLAG_19 |
| #define | SPECENUM_VALUE51 UTYF_USER_FLAG_20 |
| #define | SPECENUM_VALUE52 UTYF_USER_FLAG_21 |
| #define | SPECENUM_VALUE53 UTYF_USER_FLAG_22 |
| #define | SPECENUM_VALUE54 UTYF_USER_FLAG_23 |
| #define | SPECENUM_VALUE55 UTYF_USER_FLAG_24 |
| #define | SPECENUM_VALUE56 UTYF_USER_FLAG_25 |
| #define | SPECENUM_VALUE57 UTYF_USER_FLAG_26 |
| #define | SPECENUM_VALUE58 UTYF_USER_FLAG_27 |
| #define | SPECENUM_VALUE59 UTYF_USER_FLAG_28 |
| #define | SPECENUM_VALUE60 UTYF_USER_FLAG_29 |
| #define | SPECENUM_VALUE61 UTYF_USER_FLAG_30 |
| #define | SPECENUM_VALUE62 UTYF_USER_FLAG_31 |
| #define | SPECENUM_VALUE63 UTYF_USER_FLAG_32 |
| #define | SPECENUM_VALUE64 UTYF_USER_FLAG_33 |
| #define | SPECENUM_VALUE65 UTYF_USER_FLAG_34 |
| #define | SPECENUM_VALUE66 UTYF_USER_FLAG_35 |
| #define | SPECENUM_VALUE67 UTYF_USER_FLAG_36 |
| #define | SPECENUM_VALUE68 UTYF_USER_FLAG_37 |
| #define | SPECENUM_VALUE69 UTYF_USER_FLAG_38 |
| #define | SPECENUM_VALUE70 UTYF_USER_FLAG_39 |
| #define | SPECENUM_VALUE71 UTYF_USER_FLAG_40 |
| #define | SPECENUM_VALUE72 UTYF_USER_FLAG_41 |
| #define | SPECENUM_VALUE73 UTYF_USER_FLAG_42 |
| #define | SPECENUM_VALUE74 UTYF_USER_FLAG_43 |
| #define | SPECENUM_VALUE75 UTYF_USER_FLAG_44 |
| #define | SPECENUM_VALUE76 UTYF_USER_FLAG_45 |
| #define | UTYF_LAST_USER_FLAG UTYF_USER_FLAG_45 |
| #define | MAX_NUM_USER_UNIT_FLAGS (UTYF_LAST_USER_FLAG - UTYF_USER_FLAG_1 + 1) |
| #define | SPECENUM_NAMEOVERRIDE |
| #define | SPECENUM_BITVECTOR bv_unit_type_flags |
| #define | L_FIRST (UTYF_LAST_USER_FLAG + 1) |
| #define | SPECENUM_NAME unit_role_id |
| #define | SPECENUM_VALUE77 L_FIRSTBUILD |
| #define | SPECENUM_VALUE77NAME N_("?unitflag:FirstBuild") |
| #define | SPECENUM_VALUE78 L_EXPLORER |
| #define | SPECENUM_VALUE78NAME N_("?unitflag:Explorer") |
| #define | SPECENUM_VALUE79 L_HUT |
| #define | SPECENUM_VALUE79NAME N_("?unitflag:Hut") |
| #define | SPECENUM_VALUE80 L_HUT_TECH |
| #define | SPECENUM_VALUE80NAME N_("?unitflag:HutTech") |
| #define | SPECENUM_VALUE81 L_PARTISAN |
| #define | SPECENUM_VALUE81NAME N_("?unitflag:Partisan") |
| #define | SPECENUM_VALUE82 L_DEFEND_OK |
| #define | SPECENUM_VALUE82NAME N_("?unitflag:DefendOk") |
| #define | SPECENUM_VALUE83 L_DEFEND_GOOD |
| #define | SPECENUM_VALUE83NAME N_("?unitflag:DefendGood") |
| #define | SPECENUM_VALUE84 L_FERRYBOAT |
| #define | SPECENUM_VALUE84NAME N_("?unitflag:FerryBoat") |
| #define | SPECENUM_VALUE85 L_BARBARIAN |
| #define | SPECENUM_VALUE85NAME N_("?unitflag:Barbarian") |
| #define | SPECENUM_VALUE86 L_BARBARIAN_TECH |
| #define | SPECENUM_VALUE86NAME N_("?unitflag:BarbarianTech") |
| #define | SPECENUM_VALUE87 L_BARBARIAN_BOAT |
| #define | SPECENUM_VALUE87NAME N_("?unitflag:BarbarianBoat") |
| #define | SPECENUM_VALUE88 L_BARBARIAN_BUILD |
| #define | SPECENUM_VALUE88NAME N_("BarbarianBuild") |
| #define | SPECENUM_VALUE89 L_BARBARIAN_BUILD_TECH |
| #define | SPECENUM_VALUE89NAME N_("?unitflag:BarbarianBuildTech") |
| #define | SPECENUM_VALUE90 L_BARBARIAN_LEADER |
| #define | SPECENUM_VALUE90NAME N_("?unitflag:BarbarianLeader") |
| #define | SPECENUM_VALUE91 L_BARBARIAN_SEA |
| #define | SPECENUM_VALUE91NAME N_("?unitflag:BarbarianSea") |
| #define | SPECENUM_VALUE92 L_BARBARIAN_SEA_TECH |
| #define | SPECENUM_VALUE92NAME N_("?unitflag:BarbarianSeaTech") |
| #define | SPECENUM_VALUE93 L_START_CITIES |
| #define | SPECENUM_VALUE93NAME N_("?unitflag:CitiesStartunit") |
| #define | SPECENUM_VALUE94 L_START_WORKER |
| #define | SPECENUM_VALUE94NAME N_("?unitflag:WorkerStartunit") |
| #define | SPECENUM_VALUE95 L_START_EXPLORER |
| #define | SPECENUM_VALUE95NAME N_("?unitflag:ExplorerStartunit") |
| #define | SPECENUM_VALUE96 L_START_KING |
| #define | SPECENUM_VALUE96NAME N_("?unitflag:KingStartunit") |
| #define | SPECENUM_VALUE97 L_START_DIPLOMAT |
| #define | SPECENUM_VALUE97NAME N_("?unitflag:DiplomatStartunit") |
| #define | SPECENUM_VALUE98 L_START_FERRY |
| #define | SPECENUM_VALUE98NAME N_("?unitflag:FerryStartunit") |
| #define | SPECENUM_VALUE99 L_START_DEFEND_OK |
| #define | SPECENUM_VALUE99NAME N_("?unitflag:DefendOkStartunit") |
| #define | SPECENUM_VALUE100 L_START_DEFEND_GOOD |
| #define | SPECENUM_VALUE100NAME N_("?unitflag:DefendGoodStartunit") |
| #define | SPECENUM_VALUE101 L_START_ATTACK_FAST |
| #define | SPECENUM_VALUE101NAME N_("?unitflag:AttackFastStartunit") |
| #define | SPECENUM_VALUE102 L_START_ATTACK_STRONG |
| #define | SPECENUM_VALUE102NAME N_("?unitflag:AttackStrongStartunit") |
| #define | SPECENUM_VALUE103 L_HUNTER |
| #define | SPECENUM_VALUE103NAME N_("?unitflag:Hunter") |
| #define | SPECENUM_VALUE104 L_SETTLERS |
| #define | SPECENUM_VALUE104NAME N_("?unitflag:Settlers") |
| #define | L_LAST (L_SETTLERS + 1) |
| #define | L_MAX 64 |
| #define | SPECENUM_NAME combat_bonus_type |
| #define | SPECENUM_VALUE0 CBONUS_DEFENSE_MULTIPLIER |
| #define | SPECENUM_VALUE0NAME "DefenseMultiplier" |
| #define | SPECENUM_VALUE1 CBONUS_DEFENSE_DIVIDER |
| #define | SPECENUM_VALUE1NAME "DefenseDivider" |
| #define | SPECENUM_VALUE2 CBONUS_FIREPOWER1 |
| #define | SPECENUM_VALUE2NAME "Firepower1" |
| #define | SPECENUM_VALUE3 CBONUS_DEFENSE_MULTIPLIER_PCT |
| #define | SPECENUM_VALUE3NAME "DefenseMultiplierPct" |
| #define | SPECENUM_VALUE4 CBONUS_DEFENSE_DIVIDER_PCT |
| #define | SPECENUM_VALUE4NAME "DefenseDividerPct" |
| #define | SPECLIST_TAG combat_bonus |
| #define | SPECLIST_TYPE struct combat_bonus |
| #define | combat_bonus_list_iterate(bonuslist, pbonus) TYPED_LIST_ITERATE(struct combat_bonus, bonuslist, pbonus) |
| #define | combat_bonus_list_iterate_end LIST_ITERATE_END |
| #define | U_NOT_OBSOLETED (nullptr) |
| #define | uclass_index(_c_) (_c_)->item_number |
| #define | utype_class(_t_) (_t_)->uclass |
| #define | utype_fuel(ptype) (ptype)->fuel |
| #define | unit_type_iterate(_p) |
| #define | unit_type_iterate_end |
| #define | unit_type_re_active_iterate(_p) |
| #define | unit_type_re_active_iterate_end |
| #define | unit_class_iterate(_p) |
| #define | unit_class_iterate_end |
| #define | unit_class_re_active_iterate(_p) |
| #define | unit_class_re_active_iterate_end |
| #define | SPECLIST_TAG unit_class |
| #define | SPECLIST_TYPE struct unit_class |
| #define | unit_class_list_iterate(uclass_list, pclass) TYPED_LIST_ITERATE(struct unit_class, uclass_list, pclass) |
| #define | unit_class_list_iterate_end LIST_ITERATE_END |
| #define | SPECLIST_TAG unit_type |
| #define | SPECLIST_TYPE struct unit_type |
| #define | unit_type_list_iterate(utype_list, ptype) TYPED_LIST_ITERATE(struct unit_type, utype_list, ptype) |
| #define | unit_type_list_iterate_end LIST_ITERATE_END |
Typedefs | |
| typedef bool(* | role_unit_callback) (struct unit_type *ptype, void *data) |
Enumerations | |
| enum | hut_behavior { HUT_NORMAL , HUT_NOTHING , HUT_FRIGHTEN } |
| enum | move_level { MOVE_NONE , MOVE_PARTIAL , MOVE_FULL } |
Functions | |
| BV_DEFINE (bv_unit_classes, UCL_LAST) | |
| FC_STATIC_ASSERT (L_LAST - L_FIRST<=L_MAX, too_many_unit_roles) | |
| BV_DEFINE (bv_unit_type_roles, L_MAX) | |
| BV_DEFINE (bv_unit_types, U_LAST) | |
| Unit_type_id | utype_count () |
| Return the number of unit types. More... | |
| Unit_type_id | utype_index (const struct unit_type *punittype) |
| Return the unit type index. More... | |
| Unit_type_id | utype_number (const struct unit_type *punittype) |
| Return the unit type index. More... | |
| const struct unit_type * | unit_type_get (const struct unit *punit) |
| Return the unit type for this unit. More... | |
| struct unit_type * | utype_by_number (const Unit_type_id id) |
| Return a pointer for the unit type struct for the given unit type id. More... | |
| struct unit_type * | unit_type_by_rule_name (const char *name) |
| Returns the unit type that has the given (untranslated) rule name. More... | |
| struct unit_type * | unit_type_by_translated_name (const char *name) |
| Returns the unit type that has the given (translated) name. More... | |
| const char * | unit_rule_name (const struct unit *punit) |
| Return the (untranslated) rule name of the unit. More... | |
| const char * | utype_rule_name (const struct unit_type *punittype) |
| Return the (untranslated) rule name of the unit type. More... | |
| const char * | unit_name_translation (const struct unit *punit) |
| Return the (translated) name of the unit. More... | |
| const char * | utype_name_translation (const struct unit_type *punittype) |
| Return the (translated) name of the unit type. More... | |
| const char * | utype_values_string (const struct unit_type *punittype) |
| Return string describing unit type values. More... | |
| const char * | utype_values_translation (const struct unit_type *punittype) |
| Return string with translated unit name and list of its values. More... | |
| bool | unit_has_type_flag (const struct unit *punit, enum unit_type_flag_id flag) |
| Return whether the unit has the given flag. More... | |
| static bool | utype_has_flag (const struct unit_type *punittype, int flag) |
| bool | unit_has_type_role (const struct unit *punit, enum unit_role_id role) |
| Return whether the unit has the given role. More... | |
| bool | utype_has_role (const struct unit_type *punittype, int role) |
| Return whether the given unit type has the role. More... | |
| void | user_unit_type_flags_init () |
| Initialize user unit type flags. More... | |
| void | set_user_unit_type_flag_name (enum unit_type_flag_id id, const char *name, const char *helptxt) |
| Sets user defined name for unit flag. More... | |
| const char * | unit_type_flag_helptxt (enum unit_type_flag_id id) |
| Return the (untranslated) helptxt of the user unit flag. More... | |
| bool | unit_can_take_over (const struct unit *punit) |
| Return whether the unit can take over enemy cities. More... | |
| bool | utype_can_take_over (const struct unit_type *punittype) |
| Return whether the unit type can take over enemy cities. More... | |
| bool | utype_can_freely_load (const struct unit_type *pcargotype, const struct unit_type *ptranstype) |
| Return TRUE iff the given cargo type has no restrictions on when it can load onto the given transporter. More... | |
| bool | utype_can_freely_unload (const struct unit_type *pcargotype, const struct unit_type *ptranstype) |
| Return TRUE iff the given cargo type has no restrictions on when it can unload from the given transporter. More... | |
| bool | utype_may_act_at_all (const struct unit_type *putype) |
| Return TRUE iff units of this type can do actions controlled by generalized (ruleset defined) action enablers. More... | |
| bool | utype_can_do_action (const struct unit_type *putype, const action_id act_id) |
| Return TRUE iff units of the given type can do the specified generalized (ruleset defined) action enabler controlled action. More... | |
| bool | utype_can_do_action_result (const struct unit_type *putype, enum action_result result) |
| Return TRUE iff units of the given type can do any enabler controlled action with the specified action result. More... | |
| bool | utype_acts_hostile (const struct unit_type *putype) |
| Return TRUE iff units of this type can do hostile actions controlled by generalized (ruleset defined) action enablers. More... | |
| bool | can_unit_act_when_ustate_is (const struct unit_type *punit_type, const enum ustate_prop prop, const bool is_there) |
| Return TRUE iff there exists an (action enabler controlled) action that a unit of the type punit_type can perform while its unit state property prop has the value is_there. More... | |
| bool | utype_can_do_act_when_ustate (const struct unit_type *punit_type, const action_id act_id, const enum ustate_prop prop, const bool is_there) |
| Return TRUE iff the unit type can do the specified (action enabler controlled) action while its unit state property prop has the value is_there. More... | |
| bool | utype_can_do_act_if_tgt_citytile (const struct unit_type *punit_type, const action_id act_id, const enum citytile_type prop, const bool is_there) |
| Returns TRUE iff the unit type can do the specified (action enabler controlled) action while its target's CityTile property state has the value is_there. More... | |
| bool | can_utype_do_act_if_tgt_diplrel (const struct unit_type *punit_type, const action_id act_id, const int prop, const bool is_there) |
| Return TRUE iff the given (action enabler controlled) action can be performed by a unit of the given type while the given property of its owner's diplomatic relationship to the target's owner has the given value. More... | |
| bool | utype_may_act_move_frags (const struct unit_type *punit_type, const action_id act_id, const int move_fragments) |
| Return TRUE iff the given (action enabler controlled) action may be performed by a unit of the given type that has the given number of move fragments left. More... | |
| bool | utype_may_act_tgt_city_tile (const struct unit_type *punit_type, const action_id act_id, const enum citytile_type prop, const bool is_there) |
| Return TRUE iff the given (action enabler controlled) action may be performed by a unit of the given type if the target tile has the given property. More... | |
| bool | utype_is_consumed_by_action (const struct action *paction, const struct unit_type *utype) |
| Returns TRUE iff performing the specified action will consume an actor unit of the specified type. More... | |
| bool | utype_is_consumed_by_action_result (enum action_result result, const struct unit_type *utype) |
| Returns TRUE iff performing an action with the specified action result will consume an actor unit of the specified type. More... | |
| bool | utype_is_moved_to_tgt_by_action (const struct action *paction, const struct unit_type *utype) |
| Returns TRUE iff successfully performing the specified action always will move the actor unit of the specified type to the target's tile. More... | |
| bool | utype_is_unmoved_by_action (const struct action *paction, const struct unit_type *utype) |
| Returns TRUE iff successfully performing the specified action never will move the actor unit from its current tile. More... | |
| bool | utype_pays_for_regular_move_to_tgt (const struct action *paction, const struct unit_type *utype) |
| Returns TRUE iff successfully performing the specified action always will cost the actor unit of the specified type the move fragments it would take to perform a regular move to the target's tile. More... | |
| int | utype_pays_mp_for_action_base (const struct action *paction, const struct unit_type *putype) |
| Returns the amount of movement points successfully performing the specified action will consume in the actor unit type without taking effects or regular moves into account. More... | |
| int | utype_pays_mp_for_action_estimate (const struct action *paction, const struct unit_type *putype, const struct player *act_player, const struct tile *act_tile, const struct tile *tgt_tile) |
| Returns an estimate of the amount of movement points successfully performing the specified action will consume in the actor unit type. More... | |
| void | role_unit_precalcs () |
| Initialize; it is safe to call this multiple times (e.g., if units have changed due to rulesets in client). More... | |
| void | role_unit_precalcs_free () |
| Free memory allocated by role_unit_precalcs(). More... | |
| int | num_role_units (int role) |
| How many unit types have specified role/flag. More... | |
| struct unit_type * | role_units_iterate_backwards (int role, role_unit_callback cb, void *data) |
| Iterate over all the role units and feed them to callback, starting from the last one. More... | |
| struct unit_type * | get_role_unit (int role, int role_index) |
| Return index-th unit with specified role/flag. More... | |
| struct unit_type * | best_role_unit (const struct city *pcity, int role) |
| Return "best" unit this city can build, with given role/flag. More... | |
| struct unit_type * | best_role_unit_for_player (const struct player *pplayer, int role) |
| Return "best" unit the player can build, with given role/flag. More... | |
| struct unit_type * | first_role_unit_for_player (const struct player *pplayer, int role) |
| Return first unit the player can build, with given role/flag. More... | |
| bool | role_units_translations (QString &astr, int flag, bool alts) |
| Return a string with all the names of units with this flag. More... | |
| Unit_Class_id | uclass_count () |
| Return the unit_class count. More... | |
| Unit_Class_id | uclass_number (const struct unit_class *pclass) |
| Return the unit_class index. More... | |
| struct unit_class * | unit_class_get (const struct unit *punit) |
| Returns unit class pointer for a unit. More... | |
| struct unit_class * | uclass_by_number (const Unit_Class_id id) |
| Returns unit class pointer for an ID value. More... | |
| struct unit_class * | unit_class_by_rule_name (const char *s) |
| Returns the unit class that has the given (untranslated) rule name. More... | |
| const char * | uclass_rule_name (const struct unit_class *pclass) |
| Return the (untranslated) rule name of the unit class. More... | |
| const char * | uclass_name_translation (const struct unit_class *pclass) |
| Return the (translated) name of the unit class. More... | |
| static bool | uclass_has_flag (const struct unit_class *punitclass, enum unit_class_flag_id flag) |
| void | user_unit_class_flags_init () |
| Initialize user unit class flags. More... | |
| void | set_user_unit_class_flag_name (enum unit_class_flag_id id, const char *name, const char *helptxt) |
| Sets user defined name for unit class flag. More... | |
| const char * | unit_class_flag_helptxt (enum unit_class_flag_id id) |
| Return the (untranslated) help text of the user unit class flag. More... | |
| int | unit_build_shield_cost (const struct city *pcity, const struct unit *punit) |
| Returns the number of shields it takes to build this unit. More... | |
| int | utype_build_shield_cost (const struct city *pcity, const struct unit_type *punittype) |
| Returns the number of shields it takes to build this unit type. More... | |
| int | utype_build_shield_cost_base (const struct unit_type *punittype) |
| Returns the number of shields this unit type represents. More... | |
| int | unit_build_shield_cost_base (const struct unit *punit) |
| Returns the number of shields this unit represents. More... | |
| int | utype_buy_gold_cost (const struct city *pcity, const struct unit_type *punittype, int shields_in_stock) |
| Returns the amount of gold it takes to rush this unit. More... | |
| const struct veteran_system * | utype_veteran_system (const struct unit_type *punittype) |
| Return veteran system used for this unit type. More... | |
| int | utype_veteran_levels (const struct unit_type *punittype) |
| Return veteran levels of the given unit type. More... | |
| const struct veteran_level * | utype_veteran_level (const struct unit_type *punittype, int level) |
| Return veteran level properties of given unit in given veterancy level. More... | |
| const char * | utype_veteran_name_translation (const struct unit_type *punittype, int level) |
| Return translated name of the given veteran level. More... | |
| bool | utype_veteran_has_power_bonus (const struct unit_type *punittype) |
| Return whether this unit type's veteran system, if any, confers a power factor bonus at any level (it could just add extra moves). More... | |
| struct veteran_system * | veteran_system_new (int count) |
| Allocate new veteran system structure with given veteran level count. More... | |
| void | veteran_system_destroy (struct veteran_system *vsystem) |
| Free veteran system. More... | |
| void | veteran_system_definition (struct veteran_system *vsystem, int level, const char *vlist_name, int vlist_power, int vlist_move, int vlist_raise, int vlist_wraise) |
| Fill veteran level in given veteran system with given information. More... | |
| int | unit_pop_value (const struct unit *punit) |
| How much population is put to building this unit. More... | |
| int | utype_pop_value (const struct unit_type *punittype) |
| How much city shrinks when it builds unit of this type. More... | |
| enum unit_move_type | utype_move_type (const struct unit_type *punittype) |
| Return move type of the unit type. More... | |
| void | set_unit_move_type (struct unit_class *puclass) |
| Set move_type for unit class. More... | |
| int | utype_upkeep_cost (const struct unit_type *ut, struct player *pplayer, Output_type_id otype) |
| Returns the upkeep of a unit of this type under the given government. More... | |
| int | utype_happy_cost (const struct unit_type *ut, const struct player *pplayer) |
| Return the "happy cost" (the number of citizens who are discontented) for this unit. More... | |
| const struct unit_type * | can_upgrade_unittype (const struct player *pplayer, const struct unit_type *punittype) |
| Return whether this player can upgrade this unit type (to any other unit type). More... | |
| int | unit_upgrade_price (const struct player *pplayer, const struct unit_type *from, const struct unit_type *to) |
| Return the cost (gold) of upgrading a single unit of the specified type to the new type. More... | |
| bool | utype_player_already_has_this_unique (const struct player *pplayer, const struct unit_type *putype) |
| Returns TRUE iff the unit type is unique and the player already has one. More... | |
| bool | can_player_build_unit_direct (const struct player *p, const struct unit_type *punittype) |
| Whether player can build given unit somewhere, ignoring whether unit is obsolete and assuming the player has a coastal city. More... | |
| bool | can_player_build_unit_later (const struct player *p, const struct unit_type *punittype) |
| Whether player can eventually build given unit somewhere – ie, returns TRUE if unit is available with current tech OR will be available with future tech. More... | |
| bool | can_player_build_unit_now (const struct player *p, const struct unit_type *punittype) |
| Whether player can build given unit somewhere; returns FALSE if unit is obsolete. More... | |
| bool | utype_is_cityfounder (const struct unit_type *utype) |
| Is cityfounder type. More... | |
| void | unit_types_init () |
| Inialize unit-type structures. More... | |
| void | unit_types_free () |
| Frees the memory associated with all unit types. More... | |
| void | unit_type_flags_free () |
| Frees the memory associated with all unit type flags. More... | |
| void | unit_class_flags_free () |
| Frees the memory associated with all unit class flags. More... | |
| struct unit_type * | unit_type_array_first () |
| Return the first item of unit_types. More... | |
| const struct unit_type * | unit_type_array_last () |
| Return the last item of unit_types. More... | |
| void * | utype_ai_data (const struct unit_type *ptype, const struct ai_type *ai) |
| Return pointer to ai data of given unit type and ai type. More... | |
| void | utype_set_ai_data (struct unit_type *ptype, const struct ai_type *ai, void *data) |
| Attach ai data to unit type. More... | |
| void | unit_type_action_cache_set (struct unit_type *ptype) |
| Cache if any action may be possible for a unit of the type putype given the property tested for. More... | |
| void | unit_type_action_cache_init () |
| Cache what unit types may be allowed do what actions, both at all and when certain properties are true. More... | |
| void | unit_classes_init () |
| Initialize unit_class structures. More... | |
| void | unit_classes_free () |
| Free resources allocated for unit classes. More... | |
| void | set_unit_class_caches (struct unit_class *pclass) |
| Set caches for unit class. More... | |
| void | set_unit_type_caches (struct unit_type *ptype) |
| Set caches for unit types. More... | |
| struct unit_class * | unit_class_array_first () |
| Return the first item of unit_classes. More... | |
| const struct unit_class * | unit_class_array_last () |
| Return the last item of unit_classes. More... | |
| #define combat_bonus_list_iterate | ( | bonuslist, | |
| pbonus | |||
| ) | TYPED_LIST_ITERATE(struct combat_bonus, bonuslist, pbonus) |
Definition at line 445 of file unittype.h.
| #define combat_bonus_list_iterate_end LIST_ITERATE_END |
Definition at line 447 of file unittype.h.
| #define L_FIRST (UTYF_LAST_USER_FLAG + 1) |
Definition at line 319 of file unittype.h.
| #define L_LAST (L_SETTLERS + 1) |
Definition at line 406 of file unittype.h.
| #define L_MAX 64 |
Definition at line 410 of file unittype.h.
| #define MAX_NUM_USER_UCLASS_FLAGS (UCF_LAST_USER_FLAG - UCF_USER_FLAG_1 + 1) |
Definition at line 98 of file unittype.h.
| #define MAX_NUM_USER_UNIT_FLAGS (UTYF_LAST_USER_FLAG - UTYF_USER_FLAG_1 + 1) |
Definition at line 303 of file unittype.h.
| #define SPECENUM_BITVECTOR bv_unit_class_flags |
Definition at line 305 of file unittype.h.
| #define SPECENUM_BITVECTOR bv_unit_type_flags |
Definition at line 305 of file unittype.h.
| #define SPECENUM_COUNT UCF_COUNT |
Definition at line 92 of file unittype.h.
| #define SPECENUM_NAME unit_class_flag_id |
Definition at line 418 of file unittype.h.
| #define SPECENUM_NAME unit_move_type |
Definition at line 418 of file unittype.h.
| #define SPECENUM_NAME unit_type_flag_id |
Definition at line 418 of file unittype.h.
| #define SPECENUM_NAME unit_role_id |
Definition at line 418 of file unittype.h.
| #define SPECENUM_NAME combat_bonus_type |
Definition at line 418 of file unittype.h.
| #define SPECENUM_NAMEOVERRIDE |
Definition at line 304 of file unittype.h.
| #define SPECENUM_NAMEOVERRIDE |
Definition at line 304 of file unittype.h.
| #define SPECENUM_VALUE0 UCF_TERRAIN_SPEED |
Definition at line 419 of file unittype.h.
| #define SPECENUM_VALUE0 UMT_LAND |
Definition at line 419 of file unittype.h.
| #define SPECENUM_VALUE0 UTYF_RESERVED_2 |
Definition at line 419 of file unittype.h.
| #define SPECENUM_VALUE0 CBONUS_DEFENSE_MULTIPLIER |
Definition at line 419 of file unittype.h.
| #define SPECENUM_VALUE0NAME N_("?uclassflag:TerrainSpeed") |
Definition at line 420 of file unittype.h.
| #define SPECENUM_VALUE0NAME "Land" |
Definition at line 420 of file unittype.h.
| #define SPECENUM_VALUE0NAME N_("Reserved 2") |
Definition at line 420 of file unittype.h.
| #define SPECENUM_VALUE0NAME "DefenseMultiplier" |
Definition at line 420 of file unittype.h.
| #define SPECENUM_VALUE1 UCF_TERRAIN_DEFENSE |
Definition at line 421 of file unittype.h.
| #define SPECENUM_VALUE1 UMT_SEA |
Definition at line 421 of file unittype.h.
| #define SPECENUM_VALUE1 UTYF_NOZOC |
Definition at line 421 of file unittype.h.
| #define SPECENUM_VALUE1 CBONUS_DEFENSE_DIVIDER |
Definition at line 421 of file unittype.h.
| #define SPECENUM_VALUE10 UCF_KILLCITIZEN |
Definition at line 185 of file unittype.h.
| #define SPECENUM_VALUE10 UTYF_DIPLOMAT |
Definition at line 185 of file unittype.h.
| #define SPECENUM_VALUE100 L_START_DEFEND_GOOD |
Definition at line 392 of file unittype.h.
| #define SPECENUM_VALUE100NAME N_("?unitflag:DefendGoodStartunit") |
Definition at line 393 of file unittype.h.
| #define SPECENUM_VALUE101 L_START_ATTACK_FAST |
Definition at line 395 of file unittype.h.
| #define SPECENUM_VALUE101NAME N_("?unitflag:AttackFastStartunit") |
Definition at line 396 of file unittype.h.
| #define SPECENUM_VALUE102 L_START_ATTACK_STRONG |
Definition at line 398 of file unittype.h.
| #define SPECENUM_VALUE102NAME N_("?unitflag:AttackStrongStartunit") |
Definition at line 399 of file unittype.h.
| #define SPECENUM_VALUE103 L_HUNTER |
Definition at line 401 of file unittype.h.
| #define SPECENUM_VALUE103NAME N_("?unitflag:Hunter") |
Definition at line 402 of file unittype.h.
| #define SPECENUM_VALUE104 L_SETTLERS |
Definition at line 404 of file unittype.h.
| #define SPECENUM_VALUE104NAME N_("?unitflag:Settlers") |
Definition at line 405 of file unittype.h.
| #define SPECENUM_VALUE10NAME N_("?uclassflag:KillCitizen") |
Definition at line 186 of file unittype.h.
| #define SPECENUM_VALUE10NAME N_("?unitflag:Diplomat") |
Definition at line 186 of file unittype.h.
| #define SPECENUM_VALUE11 UCF_USER_FLAG_1 |
Definition at line 188 of file unittype.h.
| #define SPECENUM_VALUE11 UTYF_COAST_STRICT |
Definition at line 188 of file unittype.h.
| #define SPECENUM_VALUE11NAME N_("?unitflag:CoastStrict") |
Definition at line 189 of file unittype.h.
| #define SPECENUM_VALUE12 UCF_USER_FLAG_2 |
Definition at line 191 of file unittype.h.
| #define SPECENUM_VALUE12 UTYF_COAST |
Definition at line 191 of file unittype.h.
| #define SPECENUM_VALUE12NAME N_("?unitflag:Coast") |
Definition at line 192 of file unittype.h.
| #define SPECENUM_VALUE13 UCF_USER_FLAG_3 |
Definition at line 194 of file unittype.h.
| #define SPECENUM_VALUE13 UTYF_SHIELD2GOLD |
Definition at line 194 of file unittype.h.
| #define SPECENUM_VALUE13NAME N_("?unitflag:Shield2Gold") |
Definition at line 195 of file unittype.h.
| #define SPECENUM_VALUE14 UCF_USER_FLAG_4 |
Definition at line 197 of file unittype.h.
| #define SPECENUM_VALUE14 UTYF_SPY |
Definition at line 197 of file unittype.h.
| #define SPECENUM_VALUE14NAME N_("?unitflag:Spy") |
Definition at line 198 of file unittype.h.
| #define SPECENUM_VALUE15 UCF_USER_FLAG_5 |
Definition at line 200 of file unittype.h.
| #define SPECENUM_VALUE15 UTYF_ONLY_NATIVE_ATTACK |
Definition at line 200 of file unittype.h.
| #define SPECENUM_VALUE15NAME N_("?unitflag:Only_Native_Attack") |
Definition at line 201 of file unittype.h.
| #define SPECENUM_VALUE16 UCF_USER_FLAG_6 |
Definition at line 203 of file unittype.h.
| #define SPECENUM_VALUE16 UTYF_FANATIC |
Definition at line 203 of file unittype.h.
| #define SPECENUM_VALUE16NAME N_("?unitflag:Fanatic") |
Definition at line 204 of file unittype.h.
| #define SPECENUM_VALUE17 UCF_USER_FLAG_7 |
Definition at line 206 of file unittype.h.
| #define SPECENUM_VALUE17 UTYF_GAMELOSS |
Definition at line 206 of file unittype.h.
| #define SPECENUM_VALUE17NAME N_("?unitflag:GameLoss") |
Definition at line 207 of file unittype.h.
| #define SPECENUM_VALUE18 UCF_USER_FLAG_8 |
Definition at line 209 of file unittype.h.
| #define SPECENUM_VALUE18 UTYF_UNIQUE |
Definition at line 209 of file unittype.h.
| #define SPECENUM_VALUE18NAME N_("?unitflag:Unique") |
Definition at line 210 of file unittype.h.
| #define SPECENUM_VALUE19 UCF_USER_FLAG_9 |
Definition at line 214 of file unittype.h.
| #define SPECENUM_VALUE19 UTYF_EVAC_FIRST |
Definition at line 214 of file unittype.h.
| #define SPECENUM_VALUE19NAME N_("?unitflag:EvacuateFirst") |
Definition at line 215 of file unittype.h.
| #define SPECENUM_VALUE1NAME N_("?uclassflag:TerrainDefense") |
Definition at line 422 of file unittype.h.
| #define SPECENUM_VALUE1NAME "Sea" |
Definition at line 422 of file unittype.h.
| #define SPECENUM_VALUE1NAME N_("?unitflag:HasNoZOC") |
Definition at line 422 of file unittype.h.
| #define SPECENUM_VALUE1NAME "DefenseDivider" |
Definition at line 422 of file unittype.h.
| #define SPECENUM_VALUE2 UCF_DAMAGE_SLOWS |
Definition at line 423 of file unittype.h.
| #define SPECENUM_VALUE2 UMT_BOTH |
Definition at line 423 of file unittype.h.
| #define SPECENUM_VALUE2 UTYF_IGZOC |
Definition at line 423 of file unittype.h.
| #define SPECENUM_VALUE2 CBONUS_FIREPOWER1 |
Definition at line 423 of file unittype.h.
| #define SPECENUM_VALUE20 UCF_USER_FLAG_10 |
Definition at line 217 of file unittype.h.
| #define SPECENUM_VALUE20 UTYF_SUPERSPY |
Definition at line 217 of file unittype.h.
| #define SPECENUM_VALUE20NAME N_("?unitflag:SuperSpy") |
Definition at line 218 of file unittype.h.
| #define SPECENUM_VALUE21 UCF_USER_FLAG_11 |
Definition at line 220 of file unittype.h.
| #define SPECENUM_VALUE21 UTYF_NOHOME |
Definition at line 220 of file unittype.h.
| #define SPECENUM_VALUE21NAME N_("?unitflag:NoHome") |
Definition at line 221 of file unittype.h.
| #define SPECENUM_VALUE22 UCF_USER_FLAG_12 |
Definition at line 223 of file unittype.h.
| #define SPECENUM_VALUE22 UTYF_NO_VETERAN |
Definition at line 223 of file unittype.h.
| #define SPECENUM_VALUE22NAME N_("?unitflag:NoVeteran") |
Definition at line 224 of file unittype.h.
| #define SPECENUM_VALUE23 UTYF_CITYBUSTER |
Definition at line 226 of file unittype.h.
| #define SPECENUM_VALUE23NAME N_("?unitflag:CityBuster") |
Definition at line 227 of file unittype.h.
| #define SPECENUM_VALUE24 UTYF_NOBUILD |
Definition at line 229 of file unittype.h.
| #define SPECENUM_VALUE24NAME N_("?unitflag:NoBuild") |
Definition at line 230 of file unittype.h.
| #define SPECENUM_VALUE25 UTYF_BADWALLATTACKER |
Definition at line 233 of file unittype.h.
| #define SPECENUM_VALUE25NAME N_("?unitflag:BadWallAttacker") |
Definition at line 234 of file unittype.h.
| #define SPECENUM_VALUE26 UTYF_BADCITYDEFENDER |
Definition at line 236 of file unittype.h.
| #define SPECENUM_VALUE26NAME N_("?unitflag:BadCityDefender") |
Definition at line 237 of file unittype.h.
| #define SPECENUM_VALUE27 UTYF_BARBARIAN_ONLY |
Definition at line 239 of file unittype.h.
| #define SPECENUM_VALUE27NAME N_("?unitflag:BarbarianOnly") |
Definition at line 240 of file unittype.h.
| #define SPECENUM_VALUE28 UTYF_RESERVED_1 |
Definition at line 242 of file unittype.h.
| #define SPECENUM_VALUE28NAME N_("Reserved 1") |
Definition at line 243 of file unittype.h.
| #define SPECENUM_VALUE29 UTYF_NEWCITY_GAMES_ONLY |
Definition at line 246 of file unittype.h.
| #define SPECENUM_VALUE29NAME N_("?unitflag:NewCityGamesOnly") |
Definition at line 247 of file unittype.h.
| #define SPECENUM_VALUE2NAME N_("?uclassflag:DamageSlows") |
Definition at line 424 of file unittype.h.
| #define SPECENUM_VALUE2NAME "Both" |
Definition at line 424 of file unittype.h.
| #define SPECENUM_VALUE2NAME N_("?unitflag:IgZOC") |
Definition at line 424 of file unittype.h.
| #define SPECENUM_VALUE2NAME "Firepower1" |
Definition at line 424 of file unittype.h.
| #define SPECENUM_VALUE3 UCF_CAN_OCCUPY_CITY |
Definition at line 425 of file unittype.h.
| #define SPECENUM_VALUE3 UTYF_CIVILIAN |
Definition at line 425 of file unittype.h.
| #define SPECENUM_VALUE3 CBONUS_DEFENSE_MULTIPLIER_PCT |
Definition at line 425 of file unittype.h.
| #define SPECENUM_VALUE30 UTYF_CANESCAPE |
Definition at line 249 of file unittype.h.
| #define SPECENUM_VALUE30NAME N_("?unitflag:CanEscape") |
Definition at line 250 of file unittype.h.
| #define SPECENUM_VALUE31 UTYF_CANKILLESCAPING |
Definition at line 252 of file unittype.h.
| #define SPECENUM_VALUE31NAME N_("?unitflag:CanKillEscaping") |
Definition at line 253 of file unittype.h.
| #define SPECENUM_VALUE32 UTYF_USER_FLAG_1 |
Definition at line 255 of file unittype.h.
| #define SPECENUM_VALUE33 UTYF_USER_FLAG_2 |
Definition at line 256 of file unittype.h.
| #define SPECENUM_VALUE34 UTYF_USER_FLAG_3 |
Definition at line 257 of file unittype.h.
| #define SPECENUM_VALUE35 UTYF_USER_FLAG_4 |
Definition at line 258 of file unittype.h.
| #define SPECENUM_VALUE36 UTYF_USER_FLAG_5 |
Definition at line 259 of file unittype.h.
| #define SPECENUM_VALUE37 UTYF_USER_FLAG_6 |
Definition at line 260 of file unittype.h.
| #define SPECENUM_VALUE38 UTYF_USER_FLAG_7 |
Definition at line 261 of file unittype.h.
| #define SPECENUM_VALUE39 UTYF_USER_FLAG_8 |
Definition at line 262 of file unittype.h.
| #define SPECENUM_VALUE3NAME N_("?uclassflag:CanOccupyCity") |
Definition at line 426 of file unittype.h.
| #define SPECENUM_VALUE3NAME N_("?unitflag:NonMil") |
Definition at line 426 of file unittype.h.
| #define SPECENUM_VALUE3NAME "DefenseMultiplierPct" |
Definition at line 426 of file unittype.h.
| #define SPECENUM_VALUE4 UCF_BUILD_ANYWHERE |
Definition at line 427 of file unittype.h.
| #define SPECENUM_VALUE4 UTYF_IGTER |
Definition at line 427 of file unittype.h.
| #define SPECENUM_VALUE4 CBONUS_DEFENSE_DIVIDER_PCT |
Definition at line 427 of file unittype.h.
| #define SPECENUM_VALUE40 UTYF_USER_FLAG_9 |
Definition at line 263 of file unittype.h.
| #define SPECENUM_VALUE41 UTYF_USER_FLAG_10 |
Definition at line 264 of file unittype.h.
| #define SPECENUM_VALUE42 UTYF_USER_FLAG_11 |
Definition at line 265 of file unittype.h.
| #define SPECENUM_VALUE43 UTYF_USER_FLAG_12 |
Definition at line 266 of file unittype.h.
| #define SPECENUM_VALUE44 UTYF_USER_FLAG_13 |
Definition at line 267 of file unittype.h.
| #define SPECENUM_VALUE45 UTYF_USER_FLAG_14 |
Definition at line 268 of file unittype.h.
| #define SPECENUM_VALUE46 UTYF_USER_FLAG_15 |
Definition at line 269 of file unittype.h.
| #define SPECENUM_VALUE47 UTYF_USER_FLAG_16 |
Definition at line 270 of file unittype.h.
| #define SPECENUM_VALUE48 UTYF_USER_FLAG_17 |
Definition at line 271 of file unittype.h.
| #define SPECENUM_VALUE49 UTYF_USER_FLAG_18 |
Definition at line 272 of file unittype.h.
| #define SPECENUM_VALUE4NAME N_("?uclassflag:BuildAnywhere") |
Definition at line 428 of file unittype.h.
| #define SPECENUM_VALUE4NAME N_("?unitflag:IgTer") |
Definition at line 428 of file unittype.h.
| #define SPECENUM_VALUE4NAME "DefenseDividerPct" |
Definition at line 428 of file unittype.h.
| #define SPECENUM_VALUE5 UCF_UNREACHABLE |
Definition at line 171 of file unittype.h.
| #define SPECENUM_VALUE5 UTYF_ONEATTACK |
Definition at line 171 of file unittype.h.
| #define SPECENUM_VALUE50 UTYF_USER_FLAG_19 |
Definition at line 273 of file unittype.h.
| #define SPECENUM_VALUE51 UTYF_USER_FLAG_20 |
Definition at line 274 of file unittype.h.
| #define SPECENUM_VALUE52 UTYF_USER_FLAG_21 |
Definition at line 275 of file unittype.h.
| #define SPECENUM_VALUE53 UTYF_USER_FLAG_22 |
Definition at line 276 of file unittype.h.
| #define SPECENUM_VALUE54 UTYF_USER_FLAG_23 |
Definition at line 277 of file unittype.h.
| #define SPECENUM_VALUE55 UTYF_USER_FLAG_24 |
Definition at line 278 of file unittype.h.
| #define SPECENUM_VALUE56 UTYF_USER_FLAG_25 |
Definition at line 279 of file unittype.h.
| #define SPECENUM_VALUE57 UTYF_USER_FLAG_26 |
Definition at line 280 of file unittype.h.
| #define SPECENUM_VALUE58 UTYF_USER_FLAG_27 |
Definition at line 281 of file unittype.h.
| #define SPECENUM_VALUE59 UTYF_USER_FLAG_28 |
Definition at line 282 of file unittype.h.
| #define SPECENUM_VALUE5NAME N_("?uclassflag:Unreachable") |
Definition at line 172 of file unittype.h.
| #define SPECENUM_VALUE5NAME N_("?unitflag:OneAttack") |
Definition at line 172 of file unittype.h.
| #define SPECENUM_VALUE6 UCF_COLLECT_RANSOM |
Definition at line 173 of file unittype.h.
| #define SPECENUM_VALUE6 UTYF_FIELDUNIT |
Definition at line 173 of file unittype.h.
| #define SPECENUM_VALUE60 UTYF_USER_FLAG_29 |
Definition at line 283 of file unittype.h.
| #define SPECENUM_VALUE61 UTYF_USER_FLAG_30 |
Definition at line 284 of file unittype.h.
| #define SPECENUM_VALUE62 UTYF_USER_FLAG_31 |
Definition at line 285 of file unittype.h.
| #define SPECENUM_VALUE63 UTYF_USER_FLAG_32 |
Definition at line 286 of file unittype.h.
| #define SPECENUM_VALUE64 UTYF_USER_FLAG_33 |
Definition at line 287 of file unittype.h.
| #define SPECENUM_VALUE65 UTYF_USER_FLAG_34 |
Definition at line 288 of file unittype.h.
| #define SPECENUM_VALUE66 UTYF_USER_FLAG_35 |
Definition at line 289 of file unittype.h.
| #define SPECENUM_VALUE67 UTYF_USER_FLAG_36 |
Definition at line 290 of file unittype.h.
| #define SPECENUM_VALUE68 UTYF_USER_FLAG_37 |
Definition at line 291 of file unittype.h.
| #define SPECENUM_VALUE69 UTYF_USER_FLAG_38 |
Definition at line 292 of file unittype.h.
| #define SPECENUM_VALUE6NAME N_("?uclassflag:CollectRansom") |
Definition at line 174 of file unittype.h.
| #define SPECENUM_VALUE6NAME N_("?unitflag:FieldUnit") |
Definition at line 174 of file unittype.h.
| #define SPECENUM_VALUE7 UCF_ZOC |
Definition at line 177 of file unittype.h.
| #define SPECENUM_VALUE7 UTYF_PROVOKING |
Definition at line 177 of file unittype.h.
| #define SPECENUM_VALUE70 UTYF_USER_FLAG_39 |
Definition at line 293 of file unittype.h.
| #define SPECENUM_VALUE71 UTYF_USER_FLAG_40 |
Definition at line 294 of file unittype.h.
| #define SPECENUM_VALUE72 UTYF_USER_FLAG_41 |
Definition at line 295 of file unittype.h.
| #define SPECENUM_VALUE73 UTYF_USER_FLAG_42 |
Definition at line 296 of file unittype.h.
| #define SPECENUM_VALUE74 UTYF_USER_FLAG_43 |
Definition at line 297 of file unittype.h.
| #define SPECENUM_VALUE75 UTYF_USER_FLAG_44 |
Definition at line 298 of file unittype.h.
| #define SPECENUM_VALUE76 UTYF_USER_FLAG_45 |
Definition at line 299 of file unittype.h.
| #define SPECENUM_VALUE77 L_FIRSTBUILD |
Definition at line 323 of file unittype.h.
| #define SPECENUM_VALUE77NAME N_("?unitflag:FirstBuild") |
Definition at line 324 of file unittype.h.
| #define SPECENUM_VALUE78 L_EXPLORER |
Definition at line 326 of file unittype.h.
| #define SPECENUM_VALUE78NAME N_("?unitflag:Explorer") |
Definition at line 327 of file unittype.h.
| #define SPECENUM_VALUE79 L_HUT |
Definition at line 329 of file unittype.h.
| #define SPECENUM_VALUE79NAME N_("?unitflag:Hut") |
Definition at line 330 of file unittype.h.
| #define SPECENUM_VALUE7NAME N_("?uclassflag:ZOC") |
Definition at line 178 of file unittype.h.
| #define SPECENUM_VALUE7NAME N_("?unitflag:Provoking") |
Definition at line 178 of file unittype.h.
| #define SPECENUM_VALUE8 UCF_DOESNT_OCCUPY_TILE |
Definition at line 180 of file unittype.h.
| #define SPECENUM_VALUE8 UTYF_NEVER_PROTECTS |
Definition at line 180 of file unittype.h.
| #define SPECENUM_VALUE80 L_HUT_TECH |
Definition at line 332 of file unittype.h.
| #define SPECENUM_VALUE80NAME N_("?unitflag:HutTech") |
Definition at line 333 of file unittype.h.
| #define SPECENUM_VALUE81 L_PARTISAN |
Definition at line 335 of file unittype.h.
| #define SPECENUM_VALUE81NAME N_("?unitflag:Partisan") |
Definition at line 336 of file unittype.h.
| #define SPECENUM_VALUE82 L_DEFEND_OK |
Definition at line 338 of file unittype.h.
| #define SPECENUM_VALUE82NAME N_("?unitflag:DefendOk") |
Definition at line 339 of file unittype.h.
| #define SPECENUM_VALUE83 L_DEFEND_GOOD |
Definition at line 341 of file unittype.h.
| #define SPECENUM_VALUE83NAME N_("?unitflag:DefendGood") |
Definition at line 342 of file unittype.h.
| #define SPECENUM_VALUE84 L_FERRYBOAT |
Definition at line 344 of file unittype.h.
| #define SPECENUM_VALUE84NAME N_("?unitflag:FerryBoat") |
Definition at line 345 of file unittype.h.
| #define SPECENUM_VALUE85 L_BARBARIAN |
Definition at line 347 of file unittype.h.
| #define SPECENUM_VALUE85NAME N_("?unitflag:Barbarian") |
Definition at line 348 of file unittype.h.
| #define SPECENUM_VALUE86 L_BARBARIAN_TECH |
Definition at line 350 of file unittype.h.
| #define SPECENUM_VALUE86NAME N_("?unitflag:BarbarianTech") |
Definition at line 351 of file unittype.h.
| #define SPECENUM_VALUE87 L_BARBARIAN_BOAT |
Definition at line 353 of file unittype.h.
| #define SPECENUM_VALUE87NAME N_("?unitflag:BarbarianBoat") |
Definition at line 354 of file unittype.h.
| #define SPECENUM_VALUE88 L_BARBARIAN_BUILD |
Definition at line 356 of file unittype.h.
| #define SPECENUM_VALUE88NAME N_("BarbarianBuild") |
Definition at line 357 of file unittype.h.
| #define SPECENUM_VALUE89 L_BARBARIAN_BUILD_TECH |
Definition at line 359 of file unittype.h.
| #define SPECENUM_VALUE89NAME N_("?unitflag:BarbarianBuildTech") |
Definition at line 360 of file unittype.h.
| #define SPECENUM_VALUE8NAME N_("?uclassflag:DoesntOccupyTile") |
Definition at line 181 of file unittype.h.
| #define SPECENUM_VALUE8NAME N_("?unitflag:NeverProtects") |
Definition at line 181 of file unittype.h.
| #define SPECENUM_VALUE9 UCF_ATTACK_NON_NATIVE |
Definition at line 183 of file unittype.h.
| #define SPECENUM_VALUE9 UTYF_SETTLERS |
Definition at line 183 of file unittype.h.
| #define SPECENUM_VALUE90 L_BARBARIAN_LEADER |
Definition at line 362 of file unittype.h.
| #define SPECENUM_VALUE90NAME N_("?unitflag:BarbarianLeader") |
Definition at line 363 of file unittype.h.
| #define SPECENUM_VALUE91 L_BARBARIAN_SEA |
Definition at line 365 of file unittype.h.
| #define SPECENUM_VALUE91NAME N_("?unitflag:BarbarianSea") |
Definition at line 366 of file unittype.h.
| #define SPECENUM_VALUE92 L_BARBARIAN_SEA_TECH |
Definition at line 368 of file unittype.h.
| #define SPECENUM_VALUE92NAME N_("?unitflag:BarbarianSeaTech") |
Definition at line 369 of file unittype.h.
| #define SPECENUM_VALUE93 L_START_CITIES |
Definition at line 371 of file unittype.h.
| #define SPECENUM_VALUE93NAME N_("?unitflag:CitiesStartunit") |
Definition at line 372 of file unittype.h.
| #define SPECENUM_VALUE94 L_START_WORKER |
Definition at line 374 of file unittype.h.
| #define SPECENUM_VALUE94NAME N_("?unitflag:WorkerStartunit") |
Definition at line 375 of file unittype.h.
| #define SPECENUM_VALUE95 L_START_EXPLORER |
Definition at line 377 of file unittype.h.
| #define SPECENUM_VALUE95NAME N_("?unitflag:ExplorerStartunit") |
Definition at line 378 of file unittype.h.
| #define SPECENUM_VALUE96 L_START_KING |
Definition at line 380 of file unittype.h.
| #define SPECENUM_VALUE96NAME N_("?unitflag:KingStartunit") |
Definition at line 381 of file unittype.h.
| #define SPECENUM_VALUE97 L_START_DIPLOMAT |
Definition at line 383 of file unittype.h.
| #define SPECENUM_VALUE97NAME N_("?unitflag:DiplomatStartunit") |
Definition at line 384 of file unittype.h.
| #define SPECENUM_VALUE98 L_START_FERRY |
Definition at line 386 of file unittype.h.
| #define SPECENUM_VALUE98NAME N_("?unitflag:FerryStartunit") |
Definition at line 387 of file unittype.h.
| #define SPECENUM_VALUE99 L_START_DEFEND_OK |
Definition at line 389 of file unittype.h.
| #define SPECENUM_VALUE99NAME N_("?unitflag:DefendOkStartunit") |
Definition at line 390 of file unittype.h.
| #define SPECENUM_VALUE9NAME N_("?uclassflag:AttackNonNative") |
Definition at line 184 of file unittype.h.
| #define SPECENUM_VALUE9NAME N_("?unitflag:Settlers") |
Definition at line 184 of file unittype.h.
| #define SPECLIST_TAG combat_bonus |
Definition at line 852 of file unittype.h.
| #define SPECLIST_TAG unit_class |
Definition at line 852 of file unittype.h.
| #define SPECLIST_TAG unit_type |
Definition at line 852 of file unittype.h.
| #define SPECLIST_TYPE struct combat_bonus |
Definition at line 853 of file unittype.h.
| #define SPECLIST_TYPE struct unit_class |
Definition at line 853 of file unittype.h.
| #define SPECLIST_TYPE struct unit_type |
Definition at line 853 of file unittype.h.
| #define U_LAST MAX_NUM_UNIT_TYPES |
Definition at line 31 of file unittype.h.
| #define U_NOT_OBSOLETED (nullptr) |
Definition at line 493 of file unittype.h.
| #define UCF_LAST_USER_FLAG UCF_USER_FLAG_12 |
Definition at line 97 of file unittype.h.
| #define uclass_index | ( | _c_ | ) | (_c_)->item_number |
Definition at line 684 of file unittype.h.
| #define unit_class_iterate | ( | _p | ) |
Definition at line 823 of file unittype.h.
| #define unit_class_iterate_end |
Definition at line 829 of file unittype.h.
| #define unit_class_list_iterate | ( | uclass_list, | |
| pclass | |||
| ) | TYPED_LIST_ITERATE(struct unit_class, uclass_list, pclass) |
Definition at line 848 of file unittype.h.
| #define unit_class_list_iterate_end LIST_ITERATE_END |
Definition at line 850 of file unittype.h.
| #define unit_class_re_active_iterate | ( | _p | ) |
Definition at line 834 of file unittype.h.
| #define unit_class_re_active_iterate_end |
Definition at line 839 of file unittype.h.
| #define UNIT_MAX_PARADROP_RANGE (65535 - 1) |
Definition at line 45 of file unittype.h.
| #define unit_type_iterate | ( | _p | ) |
Definition at line 785 of file unittype.h.
| #define unit_type_iterate_end |
Definition at line 791 of file unittype.h.
| #define unit_type_list_iterate | ( | utype_list, | |
| ptype | |||
| ) | TYPED_LIST_ITERATE(struct unit_type, utype_list, ptype) |
Definition at line 856 of file unittype.h.
| #define unit_type_list_iterate_end LIST_ITERATE_END |
Definition at line 858 of file unittype.h.
| #define unit_type_re_active_iterate | ( | _p | ) |
Definition at line 796 of file unittype.h.
| #define unit_type_re_active_iterate_end |
Definition at line 801 of file unittype.h.
| #define UTYF_LAST_USER_FLAG UTYF_USER_FLAG_45 |
Definition at line 302 of file unittype.h.
| #define utype_class | ( | _t_ | ) | (_t_)->uclass |
Definition at line 691 of file unittype.h.
| #define utype_fuel | ( | ptype | ) | (ptype)->fuel |
Definition at line 772 of file unittype.h.
| typedef bool(* role_unit_callback) (struct unit_type *ptype, void *data) |
Definition at line 664 of file unittype.h.
| enum hut_behavior |
| Enumerator | |
|---|---|
| HUT_NORMAL | |
| HUT_NOTHING | |
| HUT_FRIGHTEN | |
Definition at line 113 of file unittype.h.
| enum move_level |
| Enumerator | |
|---|---|
| MOVE_NONE | |
| MOVE_PARTIAL | |
| MOVE_FULL | |
Definition at line 115 of file unittype.h.
Return "best" unit this city can build, with given role/flag.
Returns nullptr if none match. "Best" means highest unit type id.
Definition at line 1920 of file unittype.cpp.
Referenced by city_choose_build_default(), contemplate_new_city(), dai_choose_diplomat_defensive(), dai_choose_diplomat_offensive(), dai_choose_help_wonder(), dai_choose_trade_route(), dai_city_choose_build(), and domestic_advisor_choose_build().
Return "best" unit the player can build, with given role/flag.
Returns nullptr if none match. "Best" means highest unit type id.
TODO: Cache the result per player?
Definition at line 1950 of file unittype.cpp.
Referenced by api_find_role_unit_type(), calculate_city_clusters(), city_gold_worth(), dai_wonder_city_distance(), find_best_city_placement(), find_something_to_kill(), and place_partisans().
| BV_DEFINE | ( | bv_unit_classes | , |
| UCL_LAST | |||
| ) |
| BV_DEFINE | ( | bv_unit_type_roles | , |
| L_MAX | |||
| ) |
| BV_DEFINE | ( | bv_unit_types | , |
| U_LAST | |||
| ) |
Whether player can build given unit somewhere, ignoring whether unit is obsolete and assuming the player has a coastal city.
Definition at line 1628 of file unittype.cpp.
Referenced by adv_data_phase_init(), can_city_build_unit_direct(), can_city_build_unit_now(), can_player_build_unit_later(), can_player_build_unit_now(), can_upgrade_unittype(), clipboard_copy_production(), and find_a_unit_type().
Whether player can eventually build given unit somewhere – ie, returns TRUE if unit is available with current tech OR will be available with future tech.
Returns FALSE if unit is obsolete.
Definition at line 1761 of file unittype.cpp.
Referenced by can_city_build_unit_later(), and collect_eventually_buildable_targets().
Whether player can build given unit somewhere; returns FALSE if unit is obsolete.
Definition at line 1742 of file unittype.cpp.
Referenced by best_role_unit_for_player(), collect_eventually_buildable_targets(), first_role_unit_for_player(), and mr_menu::update_airlift_menu().
| bool can_unit_act_when_ustate_is | ( | const struct unit_type * | punit_type, |
| const enum ustate_prop | prop, | ||
| const bool | is_there | ||
| ) |
Return TRUE iff there exists an (action enabler controlled) action that a unit of the type punit_type can perform while its unit state property prop has the value is_there.
Definition at line 733 of file unittype.cpp.
Referenced by pf_action_possible().
| const struct unit_type* can_upgrade_unittype | ( | const struct player * | pplayer, |
| const struct unit_type * | punittype | ||
| ) |
Return whether this player can upgrade this unit type (to any other unit type).
Returns nullptr if no upgrade is possible.
Definition at line 1379 of file unittype.cpp.
Referenced by action_not_enabled_reason(), count_my_units(), dai_upgrade_units(), do_unit_upgrade(), do_upgrade_effects(), get_units_upgrade_info(), get_units_view_data(), handle_unit_action_query(), handle_unit_type_upgrade(), upgrade_canvas_clipboard(), and units_view::upgrade_units().
| bool can_utype_do_act_if_tgt_diplrel | ( | const struct unit_type * | punit_type, |
| const action_id | act_id, | ||
| const int | prop, | ||
| const bool | is_there | ||
| ) |
Return TRUE iff the given (action enabler controlled) action can be performed by a unit of the given type while the given property of its owner's diplomatic relationship to the target's owner has the given value.
Note: since this only supports the local range no information for other ranges are stored in dipl_rel_action_cache.
Definition at line 784 of file unittype.cpp.
Referenced by action_not_enabled_reason(), city_can_be_built_here(), helptext_unit(), and need_war_player_hlp().
Return first unit the player can build, with given role/flag.
Returns nullptr if none match. Used eg when placing starting units.
Definition at line 1976 of file unittype.cpp.
Referenced by building_advisor(), and crole_to_unit_type().
| struct unit_type* get_role_unit | ( | int | role, |
| int | role_index | ||
| ) |
Return index-th unit with specified role/flag.
Index -1 means (n-1), ie last one.
Definition at line 1900 of file unittype.cpp.
Referenced by adv_data_phase_init(), api_find_role_unit_type(), calculate_city_clusters(), crole_to_unit_type(), dai_barbarian_choose_build(), dai_choose_diplomat_defensive(), dai_choose_help_wonder(), dai_choose_trade_route(), dai_wants_role_unit(), find_a_unit_type(), find_best_city_placement(), find_something_to_kill(), get_tile_value(), helptext_building(), place_partisans(), role_units_translations(), rs_barbarian_units(), rs_common_units(), srv_ready(), startunits_callback(), and try_summon_barbarians().
| int num_role_units | ( | int | role | ) |
How many unit types have specified role/flag.
Definition at line 1866 of file unittype.cpp.
Referenced by adv_data_phase_init(), api_edit_place_partisans(), api_find_role_unit_type(), autolock_settings(), building_advisor(), calculate_city_clusters(), crole_to_unit_type(), dai_barbarian_choose_build(), dai_choose_diplomat_defensive(), dai_choose_help_wonder(), dai_choose_trade_route(), dai_wants_role_unit(), find_a_unit_type(), get_tile_value(), helptext_building(), role_units_translations(), rs_barbarian_units(), rs_common_units(), and unleash_barbarians().
| void role_unit_precalcs | ( | ) |
Initialize; it is safe to call this multiple times (e.g., if units have changed due to rulesets in client).
Definition at line 1838 of file unittype.cpp.
Referenced by client_state(), and load_rulesetdir().
| void role_unit_precalcs_free | ( | ) |
Free memory allocated by role_unit_precalcs().
Definition at line 1823 of file unittype.cpp.
Referenced by game_ruleset_free(), and role_unit_precalcs().
| struct unit_type* role_units_iterate_backwards | ( | int | role, |
| role_unit_callback | cb, | ||
| void * | data | ||
| ) |
Iterate over all the role units and feed them to callback, starting from the last one.
Once callback returns TRUE, no further units are feeded to it and we return the unit that caused callback to return TRUE
Definition at line 1883 of file unittype.cpp.
Referenced by dai_role_utype_for_terrain_class().
| bool role_units_translations | ( | QString & | astr, |
| int | flag, | ||
| bool | alts | ||
| ) |
Return a string with all the names of units with this flag.
If "alts" is set, separate with "or", otherwise "and". Return FALSE if no unit with this flag exists.
Definition at line 1343 of file unittype.cpp.
Referenced by illegal_action_msg(), req_text_insert(), and request_unit_goto().
| void set_unit_class_caches | ( | struct unit_class * | pclass | ) |
Set caches for unit class.
Definition at line 2349 of file unittype.cpp.
Referenced by handle_rulesets_ready(), and load_rulesetdir().
| void set_unit_move_type | ( | struct unit_class * | puclass | ) |
Set move_type for unit class.
Definition at line 2504 of file unittype.cpp.
Referenced by handle_rulesets_ready().
| void set_unit_type_caches | ( | struct unit_type * | ptype | ) |
Set caches for unit types.
Definition at line 2408 of file unittype.cpp.
Referenced by handle_rulesets_ready(), and load_rulesetdir().
| void set_user_unit_class_flag_name | ( | enum unit_class_flag_id | id, |
| const char * | name, | ||
| const char * | helptxt | ||
| ) |
Sets user defined name for unit class flag.
Definition at line 1493 of file unittype.cpp.
Referenced by handle_ruleset_unit_class_flag(), load_unit_names(), and rscompat_names().
| void set_user_unit_type_flag_name | ( | enum unit_type_flag_id | id, |
| const char * | name, | ||
| const char * | helptxt | ||
| ) |
Sets user defined name for unit flag.
Definition at line 1556 of file unittype.cpp.
Referenced by handle_ruleset_unit_flag(), load_unit_names(), and rscompat_names().
| struct unit_class* uclass_by_number | ( | const Unit_Class_id | id | ) |
Returns unit class pointer for an ID value.
Definition at line 2129 of file unittype.cpp.
Referenced by handle_ruleset_unit(), handle_ruleset_unit_class(), and universal_value_initial().
| Unit_Class_id uclass_count | ( | ) |
Return the unit_class count.
Definition at line 2101 of file unittype.cpp.
Referenced by helptext_extra(), helptext_terrain(), helptext_unit(), and req_text_insert().
|
inlinestatic |
Definition at line 704 of file unittype.h.
Referenced by adv_data_phase_init(), api_edit_unit_move(), api_edit_unit_teleport(), can_attack_non_native(), can_city_build_unit_direct(), can_city_build_unit_later(), can_exist_at_tile(), dai_choose_attacker_air(), dai_fill_unit_param(), dai_units_ruleset_init(), do_paradrop(), editor_grab_tool(), get_defense_power(), get_virtual_defense_power(), helptext_unit(), kill_unit(), kills_citizen_after_attack(), load_ruleset_units(), city_production_delegate::paint(), remove_city(), req_text_insert(), sanity_check_ruleset_data(), save_uclass_vec(), save_units_ruleset(), tile_move_cost_ptrs(), unit_occupies_tile(), unit_type_really_ignores_zoc(), utype_move_rate(), and utype_unknown_move_cost().
| const char* uclass_name_translation | ( | const struct unit_class * | pclass | ) |
Return the (translated) name of the unit class.
You don't have to free the return pointer.
Definition at line 1324 of file unittype.cpp.
Referenced by can_unit_move_to_tile_with_notify(), helptext_extra(), helptext_government(), helptext_terrain(), helptext_unit(), req_text_insert(), and universal_name_translation().
| Unit_Class_id uclass_number | ( | const struct unit_class * | pclass | ) |
Return the unit_class index.
Definition at line 2120 of file unittype.cpp.
Referenced by send_ruleset_unit_classes(), send_ruleset_units(), and universal_number().
| const char* uclass_rule_name | ( | const struct unit_class * | pclass | ) |
Return the (untranslated) rule name of the unit class.
You don't have to free the return pointer.
Definition at line 1333 of file unittype.cpp.
Referenced by load_ruleset_units(), rscompat_optional_capabilities(), sanity_check_ruleset_data(), save_terrain_ruleset(), save_uclass_vec(), save_units_ruleset(), unit_class_by_rule_name(), universal_kind_values(), and universal_rule_name().
Returns the number of shields it takes to build this unit.
Definition at line 1176 of file unittype.cpp.
Referenced by city_gold_worth(), and city_incite_cost().
| int unit_build_shield_cost_base | ( | const struct unit * | punit | ) |
Returns the number of shields this unit represents.
Definition at line 1185 of file unittype.cpp.
Referenced by adv_avoid_risks(), dai_action_value_unit_vs_city(), dai_evaluate_tile_for_air_attack(), dai_hunter_juiciness(), dai_hunter_manage(), dai_rampage_want(), find_best_city_placement(), find_something_to_kill(), get_defender(), kill_something_with(), reinforcements_cost_and_value(), settler_map_iterate(), stack_cost(), stack_value(), unit_bribe_cost(), and wonder_benefit().
| bool unit_can_take_over | ( | const struct unit * | punit | ) |
Return whether the unit can take over enemy cities.
Definition at line 203 of file unittype.cpp.
Referenced by assess_danger(), dai_rampage_want(), dai_should_we_air_attack_tile(), find_something_to_kill(), kill_something_with(), and unit_conquer_city().
| struct unit_class* unit_class_array_first | ( | ) |
Return the first item of unit_classes.
Definition at line 2079 of file unittype.cpp.
| const struct unit_class* unit_class_array_last | ( | ) |
Return the last item of unit_classes.
Definition at line 2090 of file unittype.cpp.
| struct unit_class* unit_class_by_rule_name | ( | const char * | s | ) |
Returns the unit class that has the given (untranslated) rule name.
Returns nullptr if none match.
Definition at line 1463 of file unittype.cpp.
Referenced by load_ruleset_terrain(), load_ruleset_units(), and universal_by_number().
| const char* unit_class_flag_helptxt | ( | enum unit_class_flag_id | id | ) |
Return the (untranslated) help text of the user unit class flag.
Definition at line 1534 of file unittype.cpp.
Referenced by helptext_unit(), save_units_ruleset(), and send_ruleset_unit_classes().
| void unit_class_flags_free | ( | ) |
Frees the memory associated with all unit class flags.
Definition at line 2067 of file unittype.cpp.
Referenced by game_ruleset_free().
| struct unit_class* unit_class_get | ( | const struct unit * | punit | ) |
Returns unit class pointer for a unit.
Definition at line 2151 of file unittype.cpp.
Referenced by adv_data_phase_init(), api_edit_unit_move(), api_edit_unit_teleport(), assess_danger_unit(), can_type_transport_units_cargo(), can_unit_move_to_tile_with_notify(), can_unit_transport(), count_my_units(), dai_fill_unit_param(), dai_military_defend(), do_paradrop(), editor_grab_tool(), explorer_desirable(), find_something_to_kill(), get_defense_power(), has_defense(), is_airunit_refuel_point(), is_square_threatened(), is_unit_reachable_by_unit(), kill_something_with(), kill_unit(), kills_citizen_after_attack(), pf_attack_possible(), settler_map_iterate(), unit_can_displace_hut(), unit_can_enter_hut(), unit_enter_hut(), unit_occupies_tile(), and unit_restore_hitpoints().
| void unit_classes_free | ( | ) |
Free resources allocated for unit classes.
Definition at line 2179 of file unittype.cpp.
Referenced by game_ruleset_free().
| void unit_classes_init | ( | ) |
Initialize unit_class structures.
Definition at line 2159 of file unittype.cpp.
Referenced by game_ruleset_init().
| bool unit_has_type_flag | ( | const struct unit * | punit, |
| enum unit_type_flag_id | flag | ||
| ) |
Return whether the unit has the given flag.
Definition at line 176 of file unittype.cpp.
Referenced by adv_could_unit_move_to_tile(), api_edit_unit_move(), api_edit_unit_teleport(), assess_danger(), auto_settler_findwork(), base_assess_defense_unit(), can_unit_do_connect(), can_unit_survive_at_tile(), civil_war(), count_diplomats_on_tile(), count_my_units(), dai_auto_settler_run(), dai_data_phase_begin(), dai_fill_unit_param(), dai_gothere_bodyguard(), dai_hunter_juiciness(), dai_hunter_manage(), dai_manage_unit(), dai_upgrade_units(), diplomat_escape_full(), diplomat_success_vs_defender(), do_paradrop(), get_defender(), get_diplomatic_defender(), get_modified_firepower(), hut_get_limited(), invasion_funct(), is_field_unit(), is_military_unit(), is_my_zoc(), is_unit_being_refueled(), kill_unit(), maybe_become_veteran_real(), server_remove_unit_full(), settler_evaluate_city_requests(), settler_evaluate_improvements(), tai_tile_worker_task_select(), texai_tile_worker_task_select(), unit_change_homecity_handling(), unit_restore_hitpoints(), unit_survive_autoattack(), units_have_type_flag(), and wipe_unit_full().
| bool unit_has_type_role | ( | const struct unit * | punit, |
| enum unit_role_id | role | ||
| ) |
Return whether the unit has the given role.
Definition at line 195 of file unittype.cpp.
Referenced by dai_fill_unit_param(), dai_hunter_qualify(), dai_manage_barbarian_leader(), dai_manage_unit(), dai_spend_gold(), dai_unit_make_homecity(), and kill_unit().
| const char* unit_name_translation | ( | const struct unit * | punit | ) |
Return the (translated) name of the unit.
You don't have to free the return pointer.
Definition at line 1265 of file unittype.cpp.
Referenced by clipboard_copy_production(), freeciv::upkeep_widget::contextMenuEvent(), debug_command(), diplomat_sabotage(), do_disband_alternative(), explain_why_no_action_enabled(), handle_unit_packet_common(), illegal_action_msg(), illegal_action_pay_price(), units_select::paint(), popup_action_selection(), popup_sabotage_dialog(), request_unit_goto(), research_tech_lost(), sell_random_unit(), spy_steal_shared(), text_tag_initv(), text_tag_replace_text(), text_tag_start_sequence(), unit_bombard(), unit_link(), unit_tile_link(), hud_units::update_actions(), and wakeup_neighbor_sentries().
| int unit_pop_value | ( | const struct unit * | punit | ) |
How much population is put to building this unit.
Definition at line 1239 of file unittype.cpp.
Referenced by action_not_enabled_reason(), city_add_unit(), and city_desirability().
| const char* unit_rule_name | ( | const struct unit * | punit | ) |
Return the (untranslated) rule name of the unit.
You don't have to free the return pointer.
Definition at line 1283 of file unittype.cpp.
Referenced by auto_settlers_player(), bodyguard_log_prefix(), caravan_optimize_callback(), client_remove_unit(), dai_caravan_goto(), dai_diplomat_city(), dai_evaluate_tile_for_air_attack(), dai_hunter_manage(), dai_manage_airunit(), dai_manage_caravan(), dai_rampage_want(), dai_spend_gold(), dai_unit_new_task(), dai_upgrade_units(), do_attack(), execute_orders(), find_something_to_bomb(), find_something_to_kill(), game_remove_unit(), handle_tile_info(), handle_unit_orders(), handle_unit_packet_common(), idex_register_unit(), idex_unregister_unit(), immediate_destination(), look_for_charge(), make_path_orders(), sg_load_player_unit(), sg_load_sanitycheck(), sg_save_player_units(), teleport_unit_to_city(), throw_units_from_illegal_cities(), transfer_city_units(), transfer_unit(), uk_rem_gold_callback(), unit_activity_astr(), unit_bombard(), unit_log_prefix(), unit_nuke(), and unit_survive_autoattack().
| void unit_type_action_cache_init | ( | ) |
Cache what unit types may be allowed do what actions, both at all and when certain properties are true.
Definition at line 722 of file unittype.cpp.
Referenced by load_rulesetdir().
| void unit_type_action_cache_set | ( | struct unit_type * | ptype | ) |
Cache if any action may be possible for a unit of the type putype given the property tested for.
Since a it could be ignored both present and !present must be checked.
Definition at line 710 of file unittype.cpp.
Referenced by handle_rulesets_ready(), and unit_type_action_cache_init().
| struct unit_type* unit_type_array_first | ( | ) |
Return the first item of unit_types.
Definition at line 52 of file unittype.cpp.
Referenced by api_edit_create_unit_full().
| const struct unit_type* unit_type_array_last | ( | ) |
Return the last item of unit_types.
Definition at line 63 of file unittype.cpp.
Referenced by api_edit_create_unit_full().
| struct unit_type* unit_type_by_rule_name | ( | const char * | name | ) |
Returns the unit type that has the given (untranslated) rule name.
Returns nullptr if none match.
Definition at line 1444 of file unittype.cpp.
Referenced by api_find_unit_type_by_name(), tab_unit::initialize_new_utype(), lookup_unit_list(), lookup_unit_type(), tab_unit::select_unit(), sg_load_player_units(), and universal_by_number().
| struct unit_type* unit_type_by_translated_name | ( | const char * | name | ) |
Returns the unit type that has the given (translated) name.
Returns nullptr if none match.
Definition at line 1427 of file unittype.cpp.
Referenced by help_dialog::make_tree(), and help_widget::set_topic_unit().
| const char* unit_type_flag_helptxt | ( | enum unit_type_flag_id | id | ) |
Return the (untranslated) helptxt of the user unit flag.
Definition at line 1589 of file unittype.cpp.
Referenced by helptext_unit(), save_units_ruleset(), and send_ruleset_units().
| void unit_type_flags_free | ( | ) |
Frees the memory associated with all unit type flags.
Definition at line 2055 of file unittype.cpp.
Referenced by game_ruleset_free().
Return the unit type for this unit.
Definition at line 114 of file unittype.cpp.
Referenced by action_auto_perf_unit_sel(), action_dice_roll_odds(), action_get_act_time(), action_maybe_possible_actor_unit(), action_mp_full_makes_legal(), action_not_enabled_reason(), action_success_actor_consume(), action_success_target_pay_mp(), adv_danger_at(), adv_data_phase_init(), adv_unit_att_rating(), adv_unit_def_rating_basic(), adv_unit_move(), amphibious_move_scope(), api_edit_create_unit_full(), are_road_reqs_fulfilled(), assess_danger(), assess_danger_unit(), auto_settlers_player(), base_assess_defense_unit(), base_get_defense_power(), base_transporter_for_unit(), calculate_want_for_paratrooper(), can_be_irrigated(), can_build_base(), can_build_extra(), can_player_see_hypotetic_units_at(), can_player_see_unit_at(), can_remove_extra(), can_unit_do_activity_targeted_at(), can_unit_do_autosettlers(), can_unit_do_connect(), can_unit_exist_at_tile(), can_unit_move_to_tile_with_notify(), can_unit_survive_at_tile(), can_unit_transport(), can_unit_unload(), city_build(), city_can_be_built_here(), city_distribute_surplus_shields(), city_gold_worth(), city_unit_present(), city_unit_slots_available(), city_unit_supported(), city_unit_unhappiness(), city_units_upkeep(), clipboard_copy_production(), contemplate_terrain_improvements(), converting_fuel_rescue(), could_unit_load(), count_my_units(), cr_entry_attack(), cr_entry_defense(), create_extra(), units_select::create_pixmap(), dai_action_value_unit_vs_city(), dai_airlift(), dai_consider_tile_dangerous(), dai_data_phase_begin(), dai_diplomat_bribe_nearby(), dai_evaluate_tile_for_air_attack(), dai_fill_unit_param(), dai_find_strategic_airbase(), dai_gothere_bodyguard(), dai_hunter_juiciness(), dai_hunter_manage(), dai_hunter_missile_want(), dai_hunter_try_launch(), dai_manage_airunit(), dai_manage_diplomat(), dai_manage_hitpoint_recovery(), dai_manage_military(), dai_manage_paratrooper(), dai_manage_unit(), dai_military_attack(), dai_military_findjob(), dai_rampage_want(), dai_set_defenders(), dai_unit_make_homecity(), dai_unit_move(), dai_unit_new_task(), dai_upgrade_units(), dai_war_desire(), defense_multiplication(), destroy_extra(), diplomat_bribe(), diplomat_embassy(), diplomat_escape_full(), diplomat_get_tech(), diplomat_investigate(), diplomat_success_vs_defender(), disband_all_units(), do_capture_units(), do_heal_unit(), do_move_unit(), do_paradrop(), do_unit_act_sel_vs(), do_unit_upgrade(), do_upgrade_effects(), does_nation_block_action(), does_terrain_block_action(), edit_buffer_copy(), editor_grab_tool(), explain_why_no_action_enabled(), explorer_desirable(), freeciv::layer_grid::fill_sprite_array(), freeciv::layer_units::fill_sprite_array(), find_best_focus_candidate(), find_best_tile_to_paradrop_to(), find_nearest_safe_city(), find_nearest_unit(), find_something_to_kill(), get_activity_rate(), get_attack_power(), get_economy_report_units_data(), get_fortified_defense_power(), get_modified_firepower(), get_total_attack_power(), get_total_defense_power(), get_transporter_capacity(), get_unit_bonus(), get_unit_vision_at(), get_units_upgrade_info(), get_units_view_data(), goods_can_be_provided(), goto_fill_parameter_base(), handle_edit_unit(), handle_edit_unit_remove(), handle_unit_action_query(), handle_unit_bombard_info(), handle_unit_combat_info(), handle_unit_packet_common(), handle_unit_type_upgrade(), hp_gain_coord(), illegal_action_msg(), illegal_action_pay_price(), immediate_destination(), invasion_funct(), is_action_enabled_unit_on_city_full(), is_action_enabled_unit_on_self_full(), is_action_enabled_unit_on_tile_full(), is_action_enabled_unit_on_unit_full(), is_action_enabled_unit_on_units_full(), is_action_possible_on_unit(), is_attack_unit(), is_city_surrounded_by_our_spies(), is_hiding_unit(), is_losing_hp(), is_my_turn(), is_possible_base_fuel(), is_req_active(), is_square_threatened(), is_unit_being_refueled(), is_unit_reachable_at(), is_unit_reachable_by_unit(), key_unit_action_select(), kill_something_with(), look_for_charge(), map_change_seen(), map_hide_tile(), map_move_cost_unit(), map_show_tile(), maybe_become_veteran_real(), maybe_claim_base(), need_war_player_hlp(), notify_unit_experience(), package_short_unit(), package_unit(), units_select::paint(), paste_tile(), pf_attack_possible(), pf_reverse_map_unit_pos(), pft_fill_unit_attack_param(), pft_fill_unit_default_parameter(), pft_fill_unit_overlap_param(), pft_fill_unit_parameter(), player_restore_units(), popup_info_text(), quickselect(), remove_city(), request_unit_select(), request_units_return(), resolve_city_emergency(), sg_load_player_unit(), sg_load_player_units(), sg_load_sanitycheck(), mr_menu::slot_build_city(), spy_nuke_city(), spy_steal_some_maps(), tai_tile_worker_task_select(), texai_tile_worker_task_select(), texai_unit_update(), transfer_unit(), transform_unit(), unit_activity_astr(), unit_att_rating_now(), unit_being_aggressive(), unit_bombs_unit(), unit_bribe_cost(), unit_build_shield_cost(), unit_build_shield_cost_base(), unit_can_convert(), unit_can_do_action(), unit_can_do_action_result(), unit_can_est_trade_route_here(), unit_can_help_build_wonder_here(), unit_can_take_over(), unit_change_homecity_handling(), unit_change_owner(), unit_class_get(), unit_conquer_city(), unit_convert(), unit_def_rating(), unit_description(), unit_do_help_build(), unit_food_upkeep(), unit_foodbox_cost(), unit_has_type_flag(), unit_has_type_role(), unit_move(), unit_move_consequences(), unit_move_rate(), unit_name_translation(), unit_occupies_tile(), unit_pays_mp_for_action(), unit_pop_value(), unit_restore_hitpoints(), unit_rule_name(), unit_shield_value(), unit_transport_check(), unit_veteran_level_and_bonus(), unit_veteran_level_string(), unit_virtual_create(), units_can_convert(), hud_units::update_actions(), upgrade_unit_order_targets(), utype_player_already_has_this_unique(), and wipe_unit_full().
| void unit_types_free | ( | ) |
Frees the memory associated with all unit types.
Definition at line 2041 of file unittype.cpp.
Referenced by game_ruleset_free().
| void unit_types_init | ( | ) |
Inialize unit-type structures.
Definition at line 2001 of file unittype.cpp.
Referenced by game_ruleset_init().
| int unit_upgrade_price | ( | const struct player * | pplayer, |
| const struct unit_type * | from, | ||
| const struct unit_type * | to | ||
| ) |
Return the cost (gold) of upgrading a single unit of the specified type to the new type.
This price could (but currently does not) depend on other attributes (like nation or government type) of the player the unit belongs to.
Definition at line 1407 of file unittype.cpp.
Referenced by action_not_enabled_reason(), dai_upgrade_units(), do_unit_upgrade(), get_units_upgrade_info(), handle_unit_action_query(), handle_unit_type_upgrade(), transform_unit(), and units_view::upgrade_units().
| void user_unit_class_flags_init | ( | ) |
Initialize user unit class flags.
Definition at line 1481 of file unittype.cpp.
Referenced by game_ruleset_init().
| void user_unit_type_flags_init | ( | ) |
Initialize user unit type flags.
Definition at line 1544 of file unittype.cpp.
Referenced by game_ruleset_init().
| bool utype_acts_hostile | ( | const struct unit_type * | putype | ) |
Return TRUE iff units of this type can do hostile actions controlled by generalized (ruleset defined) action enablers.
Definition at line 432 of file unittype.cpp.
Referenced by assess_danger(), dai_hunter_juiciness(), dai_hunter_manage(), find_something_to_kill(), goto_fill_parameter_base(), and is_square_threatened().
Return pointer to ai data of given unit type and ai type.
Definition at line 2332 of file unittype.cpp.
Referenced by assess_danger(), dai_can_unit_type_follow_unit_type(), dai_hunter_guess_best(), dai_unit_defence_desirability(), dai_units_ruleset_close(), and dai_units_ruleset_init().
Returns the number of shields it takes to build this unit type.
Definition at line 1141 of file unittype.cpp.
Referenced by city_build_unit(), city_production_build_units(), dai_choose_attacker(), dai_choose_bodyguard(), dai_choose_defender_versus(), dai_choose_diplomat_offensive(), dai_choose_trade_route(), dai_hunter_guess_best(), dai_hunter_missile_want(), dai_process_defender_want(), dai_spend_gold(), find_something_to_kill(), name_and_sort_items(), process_attacker_want(), unit_build_shield_cost(), universal_build_shield_cost(), city_dialog::update_improvements(), and utype_buy_gold_cost().
| int utype_build_shield_cost_base | ( | const struct unit_type * | punittype | ) |
Returns the number of shields this unit type represents.
Definition at line 1168 of file unittype.cpp.
Referenced by build_cost_balanced(), dai_choose_help_wonder(), get_tooltip_unit(), helptext_unit(), kill_something_with(), manual_command(), help_widget::set_topic_unit(), unit_build_shield_cost_base(), unit_shield_value(), and unit_upgrade_price().
| int utype_buy_gold_cost | ( | const struct city * | pcity, |
| const struct unit_type * | punittype, | ||
| int | shields_in_stock | ||
| ) |
Returns the amount of gold it takes to rush this unit.
Definition at line 1193 of file unittype.cpp.
Referenced by city_gold_worth(), and city_production_buy_gold_cost().
| struct unit_type* utype_by_number | ( | const Unit_type_id | id | ) |
Return a pointer for the unit type struct for the given unit type id.
This function returns nullptr for invalid unit pointers (some callers rely on this).
Definition at line 103 of file unittype.cpp.
Referenced by tab_unit::add_now(), api_find_unit_type(), city_choose_build_default(), eco_report::disband_units(), units_view::disband_units(), editor_tool_get_value_name(), editor_unit_virtual_create(), handle_edit_unit_create(), handle_edit_unit_remove(), handle_ruleset_nation(), handle_ruleset_terrain(), handle_ruleset_unit(), handle_ruleset_unit_bonus(), handle_unit_type_upgrade(), multiairlift(), texai_unit_info_recv(), universal_value_initial(), unpackage_short_unit(), and unpackage_unit().
| bool utype_can_do_act_if_tgt_citytile | ( | const struct unit_type * | punit_type, |
| const action_id | act_id, | ||
| const enum citytile_type | prop, | ||
| const bool | is_there | ||
| ) |
Returns TRUE iff the unit type can do the specified (action enabler controlled) action while its target's CityTile property state has the value is_there.
Definition at line 763 of file unittype.cpp.
| bool utype_can_do_act_when_ustate | ( | const struct unit_type * | punit_type, |
| const action_id | act_id, | ||
| const enum ustate_prop | prop, | ||
| const bool | is_there | ||
| ) |
Return TRUE iff the unit type can do the specified (action enabler controlled) action while its unit state property prop has the value is_there.
Definition at line 746 of file unittype.cpp.
Referenced by action_not_enabled_reason(), can_attack_from_non_native(), can_unit_act_when_ustate_is(), city_can_be_built_here(), explain_why_no_action_enabled(), and illegal_action_msg().
Return TRUE iff units of the given type can do the specified generalized (ruleset defined) action enabler controlled action.
Note that a specific unit in a specific situation still may be unable to perform the specified action.
Definition at line 386 of file unittype.cpp.
Referenced by action_maybe_possible_actor_unit(), action_not_enabled_reason(), adv_data_phase_init(), assess_danger_unit(), freeciv::path_finder::path_finder_private::attempt_paradrop(), calculate_city_clusters(), city_can_be_built_here(), count_my_units(), dai_choose_diplomat_offensive(), dai_choose_help_wonder(), dai_choose_paratrooper(), dai_choose_trade_route(), dai_evaluate_tile_for_air_attack(), dai_hunter_missile_want(), dai_hunter_try_launch(), dai_unit_new_task(), dai_units_ruleset_init(), dai_wonder_city_distance(), disband_all_units(), does_nation_block_action(), does_terrain_block_action(), helptext_unit(), pf_danger_map_iterate(), pf_fuel_map_attack_is_possible(), pf_fuel_map_iterate(), pf_normal_map_iterate(), popup_info_text(), rscompat_postprocess(), mr_menu::slot_build_city(), unit_can_do_action(), unit_can_est_trade_route_here(), unit_can_help_build_wonder_here(), unit_conquer_city(), units_can_convert(), mr_menu::update_airlift_menu(), update_simple_ai_types(), utype_acts_hostile(), utype_can_do_action_result(), utype_can_do_action_role(), utype_is_consumed_by_action_result(), utype_may_act_at_all(), and utype_may_do_escape_action().
| bool utype_can_do_action_result | ( | const struct unit_type * | putype, |
| enum action_result | result | ||
| ) |
Return TRUE iff units of the given type can do any enabler controlled action with the specified action result.
Note that a specific unit in a specific situation still may be unable to perform the specified action.
Definition at line 402 of file unittype.cpp.
Referenced by aia_utype_is_considered_caravan_trade(), aia_utype_is_considered_spy(), aia_utype_is_considered_spy_vs_city(), aia_utype_is_considered_worker(), can_attack_non_native(), can_player_build_unit_direct(), dai_fill_unit_param(), get_fortified_defense_power(), helptext_unit(), look_for_charge(), city_production_delegate::paint(), unit_can_do_action_result(), utype_can_take_over(), and utype_is_cityfounder().
| bool utype_can_freely_load | ( | const struct unit_type * | pcargotype, |
| const struct unit_type * | ptranstype | ||
| ) |
Return TRUE iff the given cargo type has no restrictions on when it can load onto the given transporter.
(Does not check that cargo is valid for transport!)
Definition at line 227 of file unittype.cpp.
Referenced by could_unit_load(), helptext_unit(), and is_possible_base_fuel().
| bool utype_can_freely_unload | ( | const struct unit_type * | pcargotype, |
| const struct unit_type * | ptranstype | ||
| ) |
Return TRUE iff the given cargo type has no restrictions on when it can unload from the given transporter.
(Does not check that cargo is valid for transport!)
Definition at line 239 of file unittype.cpp.
Referenced by base_transporter_for_unit(), can_unit_unload(), helptext_unit(), pf_danger_map_iterate(), pf_fuel_map_iterate(), and pf_normal_map_new().
| bool utype_can_take_over | ( | const struct unit_type * | punittype | ) |
Return whether the unit type can take over enemy cities.
Definition at line 215 of file unittype.cpp.
Referenced by process_attacker_want(), and unit_can_take_over().
| Unit_type_id utype_count | ( | ) |
Return the number of unit types.
Definition at line 74 of file unittype.cpp.
Referenced by collect_production_targets(), editor_tool_is_usable(), explain_why_no_action_enabled(), helptext_unit(), illegal_action_msg(), and send_ruleset_units().
Return the "happy cost" (the number of citizens who are discontented) for this unit.
Definition at line 167 of file unittype.cpp.
Referenced by city_unit_unhappiness(), and resolve_city_emergency().
|
inlinestatic |
Definition at line 584 of file unittype.h.
Referenced by adjust_ai_unit_choice(), adv_units_ruleset_init(), api_methods_unit_type_has_flag(), can_attack_non_native(), can_exist_at_tile(), can_player_build_unit_direct(), can_player_build_unit_later(), choose_build_target(), city_production_build_units(), combat_bonus_against(), create_unit_full(), dai_hunter_guess_best(), dai_hunter_missile_want(), dai_process_defender_want(), dai_unit_attack_desirability(), dai_unit_defence_desirability(), dai_units_ruleset_init(), do_capture_units(), explorer_tb(), helptext_government(), helptext_unit(), is_possible_base_fuel(), load_ruleset_units(), operator==(), city_production_delegate::paint(), pf_danger_map_iterate(), pf_danger_node_init(), pf_fuel_map_attack_is_possible(), pf_fuel_map_iterate(), pf_fuel_node_init(), pf_normal_map_iterate(), pf_normal_node_init(), pft_enable_default_actions(), role_unit_precalcs(), sanity_check_ruleset_data(), save_units_ruleset(), sg_load_sanitycheck(), target_get_section(), tile_move_cost_ptrs(), transfer_unit(), try_summon_barbarians(), unit_has_type_flag(), unit_type_really_ignores_zoc(), update_simple_ai_types(), utype_pays_mp_for_action_base(), utype_player_already_has_this_unique(), utype_unknown_move_cost(), and utype_upkeep_cost().
| bool utype_has_role | ( | const struct unit_type * | punittype, |
| int | role | ||
| ) |
Return whether the given unit type has the role.
Roles are like flags but have no meaning except to the AI.
Definition at line 186 of file unittype.cpp.
Referenced by api_methods_unit_type_has_role(), can_player_build_unit_direct(), dai_choose_bodyguard(), dai_process_defender_want(), load_ruleset_units(), role_unit_precalcs(), rs_barbarian_units(), save_units_ruleset(), unit_has_type_role(), and unit_role_defender().
| Unit_type_id utype_index | ( | const struct unit_type * | punittype | ) |
Return the unit type index.
Currently same as utype_number(), paired with utype_count() indicates use as an array index.
Definition at line 82 of file unittype.cpp.
Referenced by amphibious_move_scope(), assess_danger(), can_utype_do_act_if_tgt_diplrel(), city_production_build_units(), city_production_caravan_shields_init(), city_production_gets_caravan_shields(), dai_process_defender_want(), dai_wants_defender_against(), defense_multiplication(), do_capture_units(), get_unittype_sprite(), load_ruleset_units(), load_unit_names(), local_dipl_rel_action_cache_set(), move_type_from_extra(), pft_fill_amphibious_parameter(), pft_fill_unit_default_parameter(), tab_unit::refresh(), sg_load_sanitycheck(), tai_tile_worker_task_select(), texai_city_worker_wants(), texai_tile_worker_task_select(), tgt_citytile_act_cache_set(), tileset_setup_unit_type(), unit_hud_selector::type_filter(), unit_can_act_cache_set(), unit_hud_selector::unit_hud_selector(), unit_state_action_cache_set(), mr_menu::update_airlift_menu(), utype_can_do_act_if_tgt_citytile(), utype_can_do_act_when_ustate(), and utype_can_do_action().
| bool utype_is_cityfounder | ( | const struct unit_type * | utype | ) |
Is cityfounder type.
Definition at line 2549 of file unittype.cpp.
Referenced by dai_spend_gold(), and dai_war_desire().
Returns TRUE iff performing the specified action will consume an actor unit of the specified type.
Definition at line 936 of file unittype.cpp.
Referenced by action_success_actor_consume(), dai_action_value_unit_vs_city(), diplomat_embassy(), diplomat_escape_full(), diplomat_get_tech(), diplomat_investigate(), do_attack(), helptext_unit(), spy_nuke_city(), unit_order_list_is_sane(), utype_is_consumed_by_action_result(), utype_may_do_escape_action(), and utype_pays_mp_for_action_base().
| bool utype_is_consumed_by_action_result | ( | enum action_result | result, |
| const struct unit_type * | utype | ||
| ) |
Returns TRUE iff performing an action with the specified action result will consume an actor unit of the specified type.
Definition at line 947 of file unittype.cpp.
Referenced by best_role_unit(), dai_choose_attacker_air(), dai_choose_paratrooper(), dai_hunter_guess_best(), and city_production_delegate::paint().
| bool utype_is_moved_to_tgt_by_action | ( | const struct action * | paction, |
| const struct unit_type * | utype | ||
| ) |
Returns TRUE iff successfully performing the specified action always will move the actor unit of the specified type to the target's tile.
Definition at line 969 of file unittype.cpp.
Referenced by adv_unit_move(), freeciv::detail::vertex::child_for_action(), dai_action_value_unit_vs_city(), dai_unit_move(), illegal_action_pay_price(), unit_order_list_is_sane(), upgrade_unit_order_targets(), utype_pays_for_regular_move_to_tgt(), and utype_pays_mp_for_action_estimate().
Returns TRUE iff successfully performing the specified action never will move the actor unit from its current tile.
Definition at line 1009 of file unittype.cpp.
Referenced by dai_action_value_unit_vs_city(), unit_order_list_is_sane(), and upgrade_unit_order_targets().
| bool utype_may_act_at_all | ( | const struct unit_type * | putype | ) |
Return TRUE iff units of this type can do actions controlled by generalized (ruleset defined) action enablers.
Definition at line 374 of file unittype.cpp.
Referenced by dai_fill_unit_param(), do_unit_act_sel_vs(), goto_fill_parameter_base(), key_unit_action_select(), local_dipl_rel_action_cache_set(), pft_enable_default_actions(), tgt_citytile_act_cache_set(), unit_state_action_cache_set(), utype_may_act_move_frags(), and utype_may_act_tgt_city_tile().
| bool utype_may_act_move_frags | ( | const struct unit_type * | punit_type, |
| const action_id | act_id, | ||
| const int | move_fragments | ||
| ) |
Return TRUE iff the given (action enabler controlled) action may be performed by a unit of the given type that has the given number of move fragments left.
Note: Values aren't cached. If a performance critical user appears it would be a good idea to cache the (merged) ranges of move fragments where a unit of the given type can perform the specified action.
Definition at line 804 of file unittype.cpp.
Referenced by action_mp_full_makes_legal().
| bool utype_may_act_tgt_city_tile | ( | const struct unit_type * | punit_type, |
| const action_id | act_id, | ||
| const enum citytile_type | prop, | ||
| const bool | is_there | ||
| ) |
Return TRUE iff the given (action enabler controlled) action may be performed by a unit of the given type if the target tile has the given property.
Note: Values aren't cached. If a performance critical user appears it would be a good idea to cache the result.
Definition at line 870 of file unittype.cpp.
Referenced by action_not_enabled_reason().
| enum unit_move_type utype_move_type | ( | const struct unit_type * | punittype | ) |
Return move type of the unit type.
Definition at line 1239 of file unittype.cpp.
Referenced by editor_grab_tool(), and quickselect().
| const char* utype_name_translation | ( | const struct unit_type * | punittype | ) |
Return the (translated) name of the unit type.
You don't have to free the return pointer.
Definition at line 1256 of file unittype.cpp.
Referenced by api_methods_unit_type_name_translation(), boot_help_texts(), can_unit_move_to_tile_with_notify(), city_build_unit(), disband_all_units(), disband_city(), eco_report::disband_units(), units_view::disband_units(), do_unit_upgrade(), do_upgrade_effects(), editor_tool_get_value_name(), explain_why_no_action_enabled(), get_tooltip_unit(), handle_edit_unit_create(), handle_edit_unit_remove(), handle_unit_type_upgrade(), helptext_building(), helptext_government(), helptext_nation(), helptext_unit(), illegal_action_msg(), insert_allows(), manual_command(), research_diagram::mousePressEvent(), city_production_delegate::paint(), city_production_model::populate(), popup_info_text(), really_handle_city_buy(), req_text_insert(), research_tech_lost(), role_units_translations(), rscompat_optional_capabilities(), help_widget::set_topic_tech(), help_widget::set_topic_unit(), sg_load_sanitycheck(), try_to_save_unit(), unit_convert(), unit_description(), unit_hud_selector::unit_hud_selector(), unit_lost_with_transport(), unit_name_translation(), unit_type_by_translated_name(), universal_name_translation(), mr_menu::update_airlift_menu(), eco_report::update_report(), units_view::update_units(), units_view::update_waiting(), upgrade_unit_prod(), units_view::upgrade_units(), utype_values_translation(), worklist_change_build_target(), and worklist_item_postpone_req_vec().
| Unit_type_id utype_number | ( | const struct unit_type * | punittype | ) |
Return the unit type index.
Definition at line 91 of file unittype.cpp.
Referenced by cid_encode(), eco_report::disband_units(), units_view::disband_units(), editor_grab_tool(), has_player_unit_type(), lookup_unit_list(), package_short_unit(), package_unit(), paste_tile(), rscompat_postprocess(), send_ruleset_nations(), send_ruleset_terrain(), send_ruleset_units(), texai_unit_update(), universal_number(), and units_view::upgrade_units().
| bool utype_pays_for_regular_move_to_tgt | ( | const struct action * | paction, |
| const struct unit_type * | utype | ||
| ) |
Returns TRUE iff successfully performing the specified action always will cost the actor unit of the specified type the move fragments it would take to perform a regular move to the target's tile.
This cost is added to the cost of successfully performing the action.
Definition at line 1052 of file unittype.cpp.
Referenced by dai_action_value_unit_vs_city(), and utype_pays_mp_for_action_estimate().
| int utype_pays_mp_for_action_base | ( | const struct action * | paction, |
| const struct unit_type * | putype | ||
| ) |
Returns the amount of movement points successfully performing the specified action will consume in the actor unit type without taking effects or regular moves into account.
Definition at line 1083 of file unittype.cpp.
Referenced by helptext_unit(), unit_pays_mp_for_action(), and utype_pays_mp_for_action_estimate().
| int utype_pays_mp_for_action_estimate | ( | const struct action * | paction, |
| const struct unit_type * | putype, | ||
| const struct player * | act_player, | ||
| const struct tile * | act_tile, | ||
| const struct tile * | tgt_tile | ||
| ) |
Returns an estimate of the amount of movement points successfully performing the specified action will consume in the actor unit type.
Definition at line 1104 of file unittype.cpp.
Referenced by dai_evaluate_tile_for_air_attack().
| bool utype_player_already_has_this_unique | ( | const struct player * | pplayer, |
| const struct unit_type * | putype | ||
| ) |
Returns TRUE iff the unit type is unique and the player already has one.
Definition at line 1599 of file unittype.cpp.
Referenced by action_not_enabled_reason(), can_player_build_unit_direct(), diplomat_bribe(), do_capture_units(), transfer_unit(), unit_change_homecity_handling(), and unit_change_owner().
| int utype_pop_value | ( | const struct unit_type * | punittype | ) |
How much city shrinks when it builds unit of this type.
Definition at line 1231 of file unittype.cpp.
Referenced by action_actor_utype_hard_reqs_ok_full(), city_build_unit(), city_production_build_units(), helptext_unit(), and unit_pop_value().
| const char* utype_rule_name | ( | const struct unit_type * | punittype | ) |
Return the (untranslated) rule name of the unit type.
You don't have to free the return pointer.
Definition at line 1274 of file unittype.cpp.
Referenced by api_edit_create_unit_full(), api_methods_unit_type_rule_name(), choose_build_target(), city_build_unit(), city_production_caravan_shields_init(), contemplate_terrain_improvements(), dai_choice_rule_name(), dai_choose_attacker_air(), dai_choose_diplomat_defensive(), dai_choose_diplomat_offensive(), dai_choose_help_wonder(), dai_choose_paratrooper(), dai_process_defender_want(), dai_upgrade_units(), dai_wants_defender_against(), dai_wants_role_unit(), tab_unit::delete_now(), tab_unit::edit_effects(), edit_utype::edit_utype(), find_best_city_placement(), is_tech_needed(), kill_something_with(), load_ruleset_units(), military_advisor_choose_build(), tab_unit::name_given(), process_attacker_want(), tab_unit::refresh(), rs_barbarian_units(), rs_common_units(), rscompat_postprocess(), sanity_check_ruleset_data(), save_terrain_ruleset(), save_unit_list(), save_units_ruleset(), hud_unit_loader::show_me(), tileset_setup_unit_type(), try_summon_barbarians(), unit_can_act_cache_set(), unit_rule_name(), unit_type_by_rule_name(), universal_kind_values(), universal_rule_name(), unleash_barbarians(), and tab_unit::update_utype_info().
Attach ai data to unit type.
Definition at line 2340 of file unittype.cpp.
Referenced by dai_units_ruleset_close(), and dai_units_ruleset_init().
| int utype_upkeep_cost | ( | const struct unit_type * | ut, |
| struct player * | pplayer, | ||
| Output_type_id | otype | ||
| ) |
Returns the upkeep of a unit of this type under the given government.
Definition at line 123 of file unittype.cpp.
Referenced by city_distribute_surplus_shields(), city_units_upkeep(), dai_choose_attacker(), dai_choose_attacker_air(), dai_choose_bodyguard(), dai_choose_paratrooper(), dai_hunter_guess_best(), domestic_advisor_choose_build(), get_economy_report_units_data(), sg_load_player_unit(), and unit_food_upkeep().
| const char* utype_values_string | ( | const struct unit_type * | punittype | ) |
Return string describing unit type values.
String is static buffer that gets reused when function is called again.
Definition at line 1292 of file unittype.cpp.
Referenced by utype_values_translation().
| const char* utype_values_translation | ( | const struct unit_type * | punittype | ) |
Return string with translated unit name and list of its values.
String is static buffer that gets reused when function is called again.
Definition at line 1310 of file unittype.cpp.
Referenced by name_and_sort_items(), and city_dialog::update_improvements().
| bool utype_veteran_has_power_bonus | ( | const struct unit_type * | punittype | ) |
Return whether this unit type's veteran system, if any, confers a power factor bonus at any level (it could just add extra moves).
Definition at line 2267 of file unittype.cpp.
Referenced by helptext_unit().
| const struct veteran_level* utype_veteran_level | ( | const struct unit_type * | punittype, |
| int | level | ||
| ) |
Return veteran level properties of given unit in given veterancy level.
Definition at line 2224 of file unittype.cpp.
Referenced by base_get_attack_power(), base_get_defense_power(), dai_gothere_bodyguard(), diplomat_escape_full(), diplomat_success_vs_defender(), get_activity_rate(), get_virtual_defense_power(), handle_edit_unit(), helptext_government(), maybe_become_veteran_real(), notify_unit_experience(), send_ruleset_units(), unit_bribe_cost(), unit_veteran_level_and_bonus(), unit_veteran_level_string(), utype_move_rate(), utype_veteran_has_power_bonus(), and utype_veteran_name_translation().
| int utype_veteran_levels | ( | const struct unit_type * | punittype | ) |
Return veteran levels of the given unit type.
Definition at line 2254 of file unittype.cpp.
Referenced by city_production_unit_veteran_level(), helptext_unit(), pft_fill_utype_default_parameter(), send_ruleset_units(), sg_load_player_unit(), unit_virtual_create(), utype_veteran_has_power_bonus(), and utype_veteran_name_translation().
| const char* utype_veteran_name_translation | ( | const struct unit_type * | punittype, |
| int | level | ||
| ) |
Return translated name of the given veteran level.
nullptr if this unit type doesn't have different veteran levels.
Definition at line 2239 of file unittype.cpp.
Referenced by popup_info_text(), and unit_description().
| const struct veteran_system* utype_veteran_system | ( | const struct unit_type * | punittype | ) |
Return veteran system used for this unit type.
Definition at line 2208 of file unittype.cpp.
Referenced by helptext_government(), maybe_become_veteran_real(), notify_unit_experience(), transform_unit(), utype_veteran_level(), and utype_veteran_levels().
| void veteran_system_definition | ( | struct veteran_system * | vsystem, |
| int | level, | ||
| const char * | vlist_name, | ||
| int | vlist_power, | ||
| int | vlist_move, | ||
| int | vlist_raise, | ||
| int | vlist_wraise | ||
| ) |
Fill veteran level in given veteran system with given information.
Definition at line 2310 of file unittype.cpp.
Referenced by handle_ruleset_game(), handle_ruleset_unit(), and load_ruleset_veteran().
| void veteran_system_destroy | ( | struct veteran_system * | vsystem | ) |
Free veteran system.
Definition at line 2298 of file unittype.cpp.
Referenced by game_ruleset_free(), and unit_type_free().
| struct veteran_system* veteran_system_new | ( | int | count | ) |
Allocate new veteran system structure with given veteran level count.
Definition at line 2281 of file unittype.cpp.
Referenced by handle_ruleset_game(), handle_ruleset_unit(), and load_ruleset_veteran().