31#include "effects_enums_gen.h"
33#define EFT_USER_EFFECT_LAST EFT_USER_EFFECT_4
35#define USER_EFFECT_NUMBER(eff) (eff - EFT_USER_EFFECT_1)
72 const struct player *other_player,
76#define SPECLIST_TAG effect
77#define SPECLIST_TYPE struct effect
79#define effect_list_iterate(effect_list, peffect) \
80 TYPED_LIST_ITERATE(struct effect, effect_list, peffect)
81#define effect_list_iterate_end LIST_ITERATE_END
133 const struct tile *ptile,
137 const struct tile *ptile,
150 const struct tile *ptile,
163 const struct player *pplayer,
164 enum effect_type effect_type);
168 enum effect_type effect_type);
173 enum effect_type effect_type);
175 const struct player *other_player,
176 enum effect_type effect_type,
182 enum effect_type effect_type);
184 enum effect_type effect_type,
188 enum effect_type effect_type,
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 const struct action *paction struct unit struct city * pcity
void effect_remove(struct effect *peffect)
void recv_ruleset_effect(const struct packet_ruleset_effect *packet)
bool effect_universals_value_never_below(enum effect_type type, struct universal *unis, size_t n_unis, int min_value)
int get_tile_output_bonus(const struct city *pcity, const struct tile *ptile, const struct output_type *poutput, enum effect_type effect_type)
int get_player_output_bonus(const struct player *pplayer, const struct output_type *poutput, enum effect_type effect_type)
int get_city_specialist_output_bonus(const struct city *pcity, const struct specialist *pspecialist, const struct output_type *poutput, enum effect_type effect_type)
bool is_building_replaced(const struct city *pcity, const struct impr_type *pimprove, const enum req_problem_type prob_type)
int get_player_bonus_effects(struct effect_list *plist, const struct player *pplayer, enum effect_type effect_type)
bool iterate_effect_cache(iec_cb cb, void *data)
int get_city_bonus(const struct city *pcity, enum effect_type effect_type)
int get_current_construction_bonus(const struct city *pcity, enum effect_type effect_type, const enum req_problem_type prob_type)
int get_city_bonus_effects(struct effect_list *plist, const struct city *pcity, const struct output_type *poutput, enum effect_type effect_type)
double(* eft_value_filter_cb)(const struct effect *eft, const struct req_context *context, const struct player *other_player, void *data, int n_data)
int get_unit_vs_tile_bonus(const struct tile *ptile, const struct unit *punit, enum effect_type etype)
int get_unit_bonus(const struct unit *punit, enum effect_type effect_type)
double get_effect_expected_value(const struct req_context *context, const struct player *other_player, enum effect_type effect_type, eft_value_filter_cb weighter, void *data, int n_data) fc__attribute((nonnull(4)))
int get_city_output_bonus(const struct city *pcity, const struct output_type *poutput, enum effect_type effect_type)
int get_potential_improvement_bonus(const struct impr_type *pimprove, const struct city *pcity, enum effect_type effect_type, const enum req_problem_type prob_type, bool consider_multipliers)
void send_ruleset_cache(struct conn_list *dest)
void get_effect_req_text(const struct effect *peffect, char *buf, size_t buf_len)
bool(* iec_cb)(struct effect *, void *data)
int get_player_bonus(const struct player *plr, enum effect_type effect_type)
void ruleset_cache_free(void)
struct effect * effect_new(enum effect_type type, int value, struct multiplier *pmul)
int get_building_bonus(const struct city *pcity, const struct impr_type *building, enum effect_type effect_type)
int effect_value_from_universals(enum effect_type type, struct universal *unis, size_t n_unis)
int get_city_tile_output_bonus(const struct city *pcity, const struct tile *ptile, const struct output_type *poutput, enum effect_type effect_type)
void user_effect_ai_valued_set(enum effect_type tgt, enum effect_type valued_as)
int get_target_bonus_effects(struct effect_list *plist, const struct req_context *context, const struct req_context *other_context, enum effect_type effect_type)
struct effect * effect_copy(struct effect *old, enum effect_type override_type)
int effect_cumulative_max(enum effect_type type, struct universal *unis, size_t n_unis)
void effect_free(struct effect *peffect)
void ruleset_cache_init(void)
enum effect_type user_effect_ai_valued_as(enum effect_type)
int get_world_bonus(enum effect_type effect_type)
int effect_cumulative_min(enum effect_type type, struct universal *for_uni)
struct effect_list * get_effects(enum effect_type effect_type)
struct effect_list * get_req_source_effects(const struct universal *psource)
bool building_has_effect(const struct impr_type *pimprove, enum effect_type effect_type)
void effect_req_append(struct effect *peffect, struct requirement req)
int get_tile_bonus(const struct tile *ptile, enum effect_type effect_type)
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)
void get_effect_list_req_text(const struct effect_list *plist, struct astring *astr)
bool is_user_effect(enum effect_type eff)
int effect_value_will_make_positive(enum effect_type type)
struct multiplier * multiplier
struct effect::@24 rulesave
struct requirement_vector reqs
enum effect_type effect_type