827 return plr !=
nullptr
842 const struct city *homecity)
929 pgood->replace_priority)) {
1045 if (homecity !=
NULL && homecity->
id == target->
city->
id) {
1295 bool required =
FALSE;
1300 if (
pdep == pextra) {
#define ACTION_DISTANCE_UNLIMITED
int actres_get_act_time(enum action_result result, const struct unit *actor_unit, const struct tile *tgt_tile, const struct extra_type *tgt_extra)
int actres_min_range_default(enum action_result result)
enum action_sub_target_kind actres_sub_target_kind_default(enum action_result result)
enum act_tgt_compl actres_target_compl_calc(enum action_result result)
bool actres_removes_extra(enum action_result result, const struct extra_type *pextra)
bool actres_creates_extra(enum action_result result, const struct extra_type *pextra)
static struct actres act_results[ACTRES_LAST]
enum fc_tristate actres_possible(const struct civ_map *nmap, enum action_result result, const struct req_context *actor, const struct req_context *target, const struct extra_type *target_extra, enum fc_tristate def, bool omniscient, const struct city *homecity)
bool actres_legal_target_kind(enum action_result result, enum action_target_kind tgt_kind)
enum unit_activity actres_activity_result(enum action_result result)
int actres_max_range_default(enum action_result result)
bool actres_is_hostile(enum action_result result)
static bool plr_knows_tile(const struct player *plr, const struct tile *ttile)
enum dice_roll_type actres_dice_type(enum action_result result)
enum action_battle_kind actres_get_battle_kind(enum action_result result)
enum action_target_kind actres_target_kind_default(enum action_result result)
#define ASSERT_UNUSED_ACTRES_CASES
bool can_build_base(const struct unit *punit, const struct base_type *pbase, const struct tile *ptile)
#define BV_ISSET(bv, bit)
#define BV_ISSET_ANY(vec)
int city_production_build_shield_cost(const struct city *pcity)
int city_unit_slots_available(const struct city *pcity)
bool citymindist_prevents_city_on_tile(const struct civ_map *nmap, const struct tile *ptile)
bool city_can_grow_to(const struct city *pcity, int pop_size)
static bool is_non_allied_city_tile(const struct tile *ptile, const struct player *pplayer)
static citizens city_size_get(const struct city *pcity)
bool is_unit_reachable_at(const struct unit *defender, const struct unit *attacker, const struct tile *location)
int get_total_defense_power(const struct unit *attacker, const struct unit *defender)
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit * actor
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit * punit
struct unit struct city struct unit struct tile struct extra_type * target_extra
const struct functions * fc_funcs
#define ACT_TIME_INSTANTANEOUS
#define RS_DEFAULT_EXPLODE_NUCLEAR_MAX_RANGE
#define RS_DEFAULT_ACTION_MIN_RANGE
#define RS_DEFAULT_USER_ACTION_TARGET_KIND
#define RS_DEFAULT_MOVE_MIN_RANGE
#define RS_DEFAULT_ACTION_MAX_RANGE
#define fc_assert_msg(condition, message,...)
#define fc_assert(condition)
#define fc_assert_ret_val(condition, val)
bv_extras get_tile_infrastructure_set(const struct tile *ptile, int *pcount)
bool terrain_surroundings_allow_change(const struct civ_map *nmap, const struct tile *ptile, const struct terrain *pterrain)
int real_map_distance(const struct tile *tile0, const struct tile *tile1)
#define square_iterate(nmap, center_tile, radius, tile_itr)
#define square_iterate_end
bool can_unit_exist_at_tile(const struct civ_map *nmap, const struct unit *punit, const struct tile *ptile)
bool unit_can_teleport_to_tile(const struct civ_map *nmap, const struct unit *punit, const struct tile *dst_tile, bool enter_transport, bool enter_enemy_city)
bool unit_can_move_to_tile(const struct civ_map *nmap, const struct unit *punit, const struct tile *dst_tile, bool igzoc, bool enter_transport, bool enter_enemy_city)
bool can_player_see_tile(const struct player *plr, const struct tile *ptile)
bool can_player_see_unit(const struct player *pplayer, const struct unit *punit)
bool player_can_see_city_externals(const struct player *pow_player, const struct city *target_city)
bool can_player_see_hypotetic_units_at(const struct player *pplayer, const struct tile *ptile)
struct player_slot * slots
bool can_player_see_city_internals(const struct player *pplayer, const struct city *pcity)
bool can_build_road(const struct civ_map *nmap, struct road_type *proad, const struct unit *punit, const struct tile *ptile)
enum unit_activity activity
enum action_target_kind def_tgt_kind
enum extra_rmcause ermcause
enum act_tgt_compl sub_tgt_compl
enum action_battle_kind battle_kind
struct packet_game_info info
struct packet_scenario_info scenario
bool(* player_tile_vision_get)(const struct tile *ptile, const struct player *pplayer, enum vision_layer vision)
struct player_economic economic
const struct player * player
const struct unit_type * unittype
struct terrain * cultivate_result
struct terrain * plant_result
int extra_removal_times[MAX_EXTRA_TYPES]
struct terrain * transform_result
struct extra_type * activity_target
struct extra_type * get_preferred_pillage(bv_extras extras)
#define terrain_has_flag(terr, flag)
bool tile_has_claimable_base(const struct tile *ptile, const struct unit_type *punittype)
int tile_activity_time(enum unit_activity activity, const struct tile *ptile, const struct extra_type *tgt)
enum known_type tile_get_known(const struct tile *ptile, const struct player *pplayer)
struct city * tile_city(const struct tile *ptile)
#define tile_terrain(_tile)
#define tile_has_extra(ptile, pextra)
bool can_cities_trade(const struct city *pc1, const struct city *pc2)
struct goods_type * unit_current_goods(const struct unit *punit, const struct city *homecity)
bool can_establish_trade_route(const struct city *pc1, const struct city *pc2, int priority)
struct unit * unit_transport_get(const struct unit *pcargo)
bool unit_contained_in(const struct unit *pcargo, const struct unit *ptrans)
enum unit_airlift_result test_unit_can_airlift_to(const struct civ_map *nmap, const struct player *restriction, const struct unit *punit, const struct city *pdest_city)
bool could_unit_load(const struct unit *pcargo, const struct unit *ptrans)
bv_extras get_unit_tile_pillage_set(const struct tile *ptile)
int get_transporter_capacity(const struct unit *punit)
enum unit_upgrade_result unit_upgrade_test(const struct civ_map *nmap, const struct unit *punit, bool is_free)
bool unit_transported(const struct unit *pcargo)
bool can_unit_unload(const struct unit *pcargo, const struct unit *ptrans)
static bool is_non_allied_unit_tile(const struct tile *ptile, const struct player *pplayer, bool everyone_non_allied)
#define unit_list_iterate(unitlist, punit)
#define unit_list_iterate_end
const struct unit_type * unit_type_get(const struct unit *punit)
bool utype_player_already_has_this_unique(const struct player *pplayer, const struct unit_type *putype)
struct unit_class * unit_class_get(const struct unit *punit)
bool unit_has_type_flag(const struct unit *punit, enum unit_type_flag_id flag)
int unit_pop_value(const struct unit *punit)
static bool uclass_has_flag(const struct unit_class *punitclass, enum unit_class_flag_id flag)