102 if (non_allied_city) {
141 const struct tile *dst,
178 const struct unit *ptrans,
182 || param->
utype == trans_utype
193 && (cargo_utype == trans_utype
211 && (cargo_utype == trans_utype
257 bool allied_city_tile = (NULL != pcity
262 *can_disembark =
FALSE;
324 return ~PF_MS_TRANSPORT & land_scope;
337 const struct tile *dst,
366 const struct tile *dst,
386 const struct tile *dst,
405 const struct tile *ptile1,
466 }
else if (ferry_move && amphibious->
sea.
get_EC) {
470 }
else if (!ferry_move && amphibious->land.get_EC) {
472 cost = amphibious->land.get_EC(ptile, known, &hibious->land);
546 if (ferry_move && amphibious->
sea.
get_TB) {
547 return amphibious->
sea.
get_TB(ptile, known, &hibious->
sea);
548 }
else if (!ferry_move && amphibious->land.get_TB) {
549 return amphibious->land.get_TB(ptile, known, &hibious->land);
669 }
else if (!ferry_move && amphibious->land.is_pos_dangerous) {
670 return amphibious->land.is_pos_dangerous(ptile, known, param);
685 parameter->
map = nmap;
697 parameter->
utype = punittype;
735 struct tile *pstart_tile,
739 NULL, EFT_VETERAN_BUILD);
761 parameter->
owner = powner;
829 struct tile *pstart_tile,
833 pstart_tile, pplayer);
879 struct tile *pstart_tile,
883 pstart_tile, pplayer);
911 parameter->
actions &= ~PF_AA_CITY_ATTACK;
936 struct tile *pstart_tile,
940 pstart_tile, pplayer);
964 memset(parameter, 0,
sizeof(*parameter));
966 parameter->
map = nmap;
1010 if (NULL != parameter->land.is_pos_dangerous
1018 }
else if (parameter->land.get_moves_left_req != NULL) {
bool aia_utype_is_considered_caravan_trade(const struct unit_type *putype)
bool aia_utype_is_considered_spy(const struct unit_type *putype)
#define BV_ISSET(bv, bit)
static bool is_non_allied_city_tile(const struct tile *ptile, const struct player *pplayer)
static bool is_allied_city_tile(const struct tile *ptile, const struct player *pplayer)
#define city_owner(_pcity_)
struct unit struct city struct unit struct tile * target_tile
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 const struct act_prob *act_probs int actor_unit_id struct unit struct unit int cost
int get_unittype_bonus(const struct player *pplayer, const struct tile *ptile, const struct unit_type *punittype, const struct action *paction, enum effect_type effect_type)
static bool is_server(void)
#define GAME_TRANSPORT_MAX_RECURSIVE
#define fc_assert(condition)
bool is_safe_ocean(const struct civ_map *nmap, const struct tile *ptile)
int map_vector_to_real_distance(int dx, int dy)
#define iterate_outward_dxy_end
#define iterate_outward_dxy(nmap, start_tile, max_dist, _tile, _x, _y)
static int map_move_cost(const struct civ_map *nmap, const struct player *pplayer, const struct unit_type *punittype, const struct tile *src_tile, const struct tile *dst_tile)
bool is_native_tile(const struct unit_type *punittype, const struct tile *ptile)
int unit_move_rate(const struct unit *punit)
bool can_attack_from_non_native(const struct unit_type *utype)
bool is_native_move(const struct civ_map *nmap, const struct unit_class *punitclass, const struct tile *src_tile, const struct tile *dst_tile)
int utype_move_rate(const struct unit_type *utype, const struct tile *ptile, const struct player *pplayer, int veteran_level, int hitpoints)
bool is_city_channel_tile(const struct civ_map *nmap, const struct unit_class *punitclass, const struct tile *ptile, const struct tile *pexclude)
bool is_native_near_tile(const struct civ_map *nmap, const struct unit_class *uclass, const struct tile *ptile)
bool can_unit_type_transport(const struct unit_type *transporter, const struct unit_class *transported)
bool can_attack_non_native(const struct unit_type *utype)
static bool is_native_tile_to_class(const struct unit_class *punitclass, const struct tile *ptile)
bool pplayers_at_war(const struct player *pplayer, const struct player *pplayer2)
bool pplayers_allied(const struct player *pplayer, const struct player *pplayer2)
struct packet_game_info info
bool unreachable_protects
const struct unit_type * transported_by_initially
enum pf_action(* get_action)(const struct tile *ptile, enum known_type known, const struct pf_parameter *param)
enum pf_move_scope(* get_move_scope)(const struct tile *ptile, bool *can_disembark, enum pf_move_scope previous_scope, const struct pf_parameter *param)
const struct civ_map * map
enum tile_behavior(* get_TB)(const struct tile *ptile, enum known_type known, const struct pf_parameter *param)
enum pf_action_account actions
const struct player * owner
bool(* is_pos_dangerous)(const struct tile *ptile, enum known_type, const struct pf_parameter *param)
int(* get_moves_left_req)(const struct tile *ptile, enum known_type, const struct pf_parameter *param)
bool(* get_zoc)(const struct player *pplayer, const struct tile *ptile, const struct civ_map *zmap)
unsigned(* get_MC)(const struct tile *from_tile, enum pf_move_scope src_move_scope, const struct tile *to_tile, enum pf_move_scope dst_move_scope, const struct pf_parameter *param)
int(* get_costs)(const struct tile *from_tile, enum direction8 dir, const struct tile *to_tile, int from_cost, int from_extra, unsigned *to_cost, unsigned *to_extra, const struct pf_parameter *param)
unsigned(* get_EC)(const struct tile *ptile, enum known_type known, const struct pf_parameter *param)
const struct unit_type * utype
bool(* is_action_possible)(const struct tile *from_tile, enum pf_move_scope src_move_scope, const struct tile *to_tile, enum pf_action action, const struct pf_parameter *param)
bv_unit_types cargo_types
struct pf_parameter combined
struct pf_parameter land sea
struct unit_class::@85 cache
struct extra_type_list * refuel_extras
bool tile_has_native_base(const struct tile *ptile, const struct unit_type *punittype)
enum known_type tile_get_known(const struct tile *ptile, const struct player *pplayer)
struct city * tile_city(const struct tile *ptile)
#define tile_has_extra(ptile, pextra)
bool unit_type_really_ignores_zoc(const struct unit_type *punittype)
bool is_plr_zoc_client(const struct player *pplayer, const struct tile *ptile0, const struct civ_map *zmap)
int unit_transport_depth(const struct unit *pcargo)
struct unit * unit_transport_get(const struct unit *pcargo)
int unit_cargo_depth(const struct unit *ptrans)
bool is_plr_zoc_srv(const struct player *pplayer, const struct tile *ptile0, const struct civ_map *zmap)
bool unit_has_orders(const struct unit *punit)
#define unit_transports_iterate_end
#define unit_cargo_iterate_end
#define unit_cargo_iterate(_ptrans, _pcargo)
#define unit_transports_iterate(_pcargo, _ptrans)
static bool is_non_allied_unit_tile(const struct tile *ptile, const struct player *pplayer)
#define unit_list_iterate(unitlist, punit)
#define unit_list_iterate_end
bool can_unit_act_when_ustate_is(const struct unit_type *punit_type, const enum ustate_prop prop, const bool is_there)
const struct unit_type * unit_type_get(const struct unit *punit)
bool utype_can_freely_unload(const struct unit_type *pcargotype, const struct unit_type *ptranstype)
bool utype_may_act_at_all(const struct unit_type *putype)
bool utype_can_freely_load(const struct unit_type *pcargotype, const struct unit_type *ptranstype)
int utype_veteran_levels(const struct unit_type *punittype)
struct unit_class * unit_class_get(const struct unit *punit)
Unit_type_id utype_index(const struct unit_type *punittype)
bool utype_can_take_over(const struct unit_type *punittype)
static bool uclass_has_flag(const struct unit_class *punitclass, enum unit_class_flag_id flag)
#define utype_fuel(ptype)
static bool utype_has_flag(const struct unit_type *punittype, int flag)
#define unit_type_iterate(_p)
#define uclass_index(_c_)
#define unit_type_iterate_end