25#define SPECENUM_NAME disaster_effect_id
26#define SPECENUM_VALUE0 DE_DESTROY_BUILDING
27#define SPECENUM_VALUE0NAME "DestroyBuilding"
28#define SPECENUM_VALUE1 DE_REDUCE_POP
29#define SPECENUM_VALUE1NAME "ReducePopulation"
30#define SPECENUM_VALUE2 DE_EMPTY_FOODSTOCK
31#define SPECENUM_VALUE2NAME "EmptyFoodStock"
32#define SPECENUM_VALUE3 DE_EMPTY_PRODSTOCK
33#define SPECENUM_VALUE3NAME "EmptyProdStock"
34#define SPECENUM_VALUE4 DE_POLLUTION
35#define SPECENUM_VALUE4NAME "Pollution"
36#define SPECENUM_VALUE5 DE_FALLOUT
37#define SPECENUM_VALUE5NAME "Fallout"
38#define SPECENUM_VALUE6 DE_REDUCE_DESTROY
39#define SPECENUM_VALUE6NAME "ReducePopDestroy"
40#define SPECENUM_COUNT DE_COUNT
41#define SPECENUM_BITVECTOR bv_disaster_effects
44#define DISASTER_BASE_RARITY 1000000
78 const struct city *pcity);
80#define disaster_type_iterate(_p) \
83 for (_i_ = 0; _i_ < game.control.num_disaster_types ; _i_++) { \
84 struct disaster_type *_p = disaster_by_number(_i_);
86#define disaster_type_iterate_end \
91#define disaster_type_re_active_iterate(_p) \
92 disaster_type_iterate(_p)
94#define disaster_type_re_active_iterate_end \
95 disaster_type_iterate_end;
const char * disaster_rule_name(struct disaster_type *pdis)
bool can_disaster_happen(const struct disaster_type *pdis, const struct city *pcity)
Disaster_type_id disaster_number(const struct disaster_type *pdis)
Disaster_type_id disaster_index(const struct disaster_type *pdis)
struct disaster_type * disaster_by_rule_name(const char *name)
const char * disaster_name_translation(struct disaster_type *pdis)
struct disaster_type * disaster_by_number(Disaster_type_id id)
Disaster_type_id disaster_count(void)
bool disaster_has_effect(const struct disaster_type *pdis, enum disaster_effect_id effect)
void disaster_types_init(void)
void disaster_types_free(void)
struct name_translation name
struct requirement_vector reqs
bv_disaster_effects effects