60 bool needed_by_music_style =
false;
128 cb(
R__(
"Action Enabler"), data);
146 needed_by_music_style =
true;
151 if (needed_by_music_style) {
152 cb(
R__(
"Music Style"), data);
177 if (pdependant->require[
AR_ONE] == padv
188 if (ptype->require_advance == padv) {
218 .kind = VUT_IMPROVEMENT};
259 bool conflicts =
false;
265 conflicts |=
BV_ISSET(requirer->conflicts,
id);
266 hides |=
BV_ISSET(requirer->hidden_by,
id);
271 cb(
R__(
"Conflicting extra"), data);
274 cb(
R__(
"Hidden extra"), data);
276 needed |= conflicts | hides;
struct action_enabler_list * action_enablers_for_action(action_id action)
Get all enablers for an action in the current ruleset.
#define action_enabler_list_iterate_end
#define action_iterate_end
#define action_enabler_list_iterate(action_enabler_list, aenabler)
#define action_iterate(_act_)
bool BV_ISSET(const BV &bv, int bit)
struct citystyle * city_styles
const char * city_style_rule_name(const int style)
Return the (untranslated) rule name of the city style.
const char * disaster_rule_name(struct disaster_type *pdis)
Return untranslated name of this disaster type.
#define disaster_type_iterate(_p)
#define disaster_type_iterate_end
bool iterate_effect_cache(iec_cb cb, void *data)
Iterate through all the effects in cache, and call callback for each.
const char * government_rule_name(const struct government *pgovern)
Return the (untranslated) rule name of the government.
std::vector< government > governments
const char * improvement_rule_name(const struct impr_type *pimprove)
Return the (untranslated) rule name of the improvement.
#define improvement_iterate_end
#define improvement_iterate(_p)
bool universal_is_mentioned_by_requirements(const struct requirement_vector *reqs, const struct universal *psource)
Returns TRUE iff the universal 'psource' is directly mentioned by any of the requirements in 'reqs'.
const char * specialist_rule_name(const struct specialist *sp)
Return the (untranslated) rule name of the specialist type.
struct specialist * specialist_by_number(const Specialist_type_id id)
Return the specialist pointer for the given number.
#define specialist_type_iterate_end
#define specialist_type_iterate(sp)
struct advance * require[AR_SIZE]
struct packet_ruleset_control control
struct multiplier * multiplier
struct requirement_vector reqs
struct requirement_vector reqs
#define music_styles_iterate(_p)
#define music_styles_iterate_end
int fc_snprintf(char *str, size_t n, const char *format,...)
See also fc_utf8_snprintf_trunc(), fc_utf8_snprintf_rep().
const char * advance_rule_name(const struct advance *padvance)
Return the (untranslated) rule name of the advance/technology.
Tech_type_id advance_number(const struct advance *padvance)
Return the advance index.
#define advance_iterate(_start, _p)
#define advance_iterate_end
const char * goods_rule_name(struct goods_type *pgood)
Return untranslated name of this goods type.
#define goods_type_iterate_end
#define goods_type_iterate(_p)
const struct unit_type * utype
struct extra_type * extra
struct government * govern
const struct impr_type * building
const char * utype_rule_name(const struct unit_type *punittype)
Return the (untranslated) rule name of the unit type.
#define unit_type_iterate(_p)
#define unit_type_iterate_end
static bool is_universal_needed(struct universal *uni, requirers_cb cb, void *data)
Check if anything in ruleset needs universal.
bool is_multiplier_needed(struct multiplier *pmul, requirers_cb cb, void *data)
Check if anything in ruleset needs multiplier.
bool is_tech_needed(struct advance *padv, requirers_cb cb, void *data)
Check if anything in ruleset needs tech.
static bool effect_list_multiplier_cb(struct effect *peffect, void *data)
Callback to check if effect needs universal.
bool is_terrain_needed(struct terrain *pterr, requirers_cb cb, void *data)
Check if anything in ruleset needs terrain type.
bool is_good_needed(struct goods_type *pgood, requirers_cb cb, void *data)
Check if anything in ruleset needs goods type.
bool is_government_needed(struct government *pgov, requirers_cb cb, void *data)
Check if anything in ruleset needs government.
static bool effect_list_universal_needed_cb(struct effect *peffect, void *data)
Callback to check if effect needs universal.
bool is_utype_needed(struct unit_type *ptype, requirers_cb cb, void *data)
Check if anything in ruleset needs unit type.
bool is_extra_needed(struct extra_type *pextra, requirers_cb cb, void *data)
Check if anything in ruleset needs extra type.
bool is_building_needed(struct impr_type *pimpr, requirers_cb cb, void *data)
Check if anything in ruleset needs building.
void(* requirers_cb)(const char *msg, void *data)