Project

General

Profile

Feature #309 ยป 0029-Generate-effect_type-enum-with-generate_enums.py.patch

Marko Lindqvist, 03/17/2024 01:56 PM

View differences:

common/effects.h
struct conn_list;
struct multiplier;
/* Type of effects. Add new values via SPECENUM_VALUE%d and
* SPECENUM_VALUE%dNAME at the end of the list.
* Used in the network protocol.
*
*/
#define SPECENUM_NAME effect_type
#define SPECENUM_VALUE0 EFT_TECH_PARASITE
#define SPECENUM_VALUE0NAME "Tech_Parasite"
#define SPECENUM_VALUE1 EFT_AIRLIFT
#define SPECENUM_VALUE1NAME "Airlift"
#define SPECENUM_VALUE2 EFT_ANY_GOVERNMENT
#define SPECENUM_VALUE2NAME "Any_Government"
#define SPECENUM_VALUE3 EFT_CAPITAL_CITY
#define SPECENUM_VALUE3NAME "Capital_City"
#define SPECENUM_VALUE4 EFT_ENABLE_NUKE
#define SPECENUM_VALUE4NAME "Enable_Nuke"
#define SPECENUM_VALUE5 EFT_ENABLE_SPACE
#define SPECENUM_VALUE5NAME "Enable_Space"
#define SPECENUM_VALUE6 EFT_SPECIALIST_OUTPUT
#define SPECENUM_VALUE6NAME "Specialist_Output"
#define SPECENUM_VALUE7 EFT_OUTPUT_BONUS
#define SPECENUM_VALUE7NAME "Output_Bonus"
#define SPECENUM_VALUE8 EFT_OUTPUT_BONUS_2
#define SPECENUM_VALUE8NAME "Output_Bonus_2"
/* add to each worked tile */
#define SPECENUM_VALUE9 EFT_OUTPUT_ADD_TILE
#define SPECENUM_VALUE9NAME "Output_Add_Tile"
/* add to each worked tile that already has output */
#define SPECENUM_VALUE10 EFT_OUTPUT_INC_TILE
#define SPECENUM_VALUE10NAME "Output_Inc_Tile"
/* increase tile output by given % */
#define SPECENUM_VALUE11 EFT_OUTPUT_PER_TILE
#define SPECENUM_VALUE11NAME "Output_Per_Tile"
#define SPECENUM_VALUE12 EFT_OUTPUT_WASTE_PCT
#define SPECENUM_VALUE12NAME "Output_Waste_Pct"
#define SPECENUM_VALUE13 EFT_FORCE_CONTENT
#define SPECENUM_VALUE13NAME "Force_Content"
/* TODO: EFT_FORCE_CONTENT_PCT */
#define SPECENUM_VALUE14 EFT_GIVE_IMM_TECH
#define SPECENUM_VALUE14NAME "Give_Imm_Tech"
#define SPECENUM_VALUE15 EFT_GROWTH_FOOD
#define SPECENUM_VALUE15NAME "Growth_Food"
#define SPECENUM_VALUE16 EFT_SHRINK_FOOD
#define SPECENUM_VALUE16NAME "Shrink_Food"
#define SPECENUM_VALUE17 EFT_HAVE_EMBASSIES
#define SPECENUM_VALUE17NAME "Have_Embassies"
#define SPECENUM_VALUE18 EFT_MAKE_CONTENT
#define SPECENUM_VALUE18NAME "Make_Content"
#define SPECENUM_VALUE19 EFT_MAKE_CONTENT_MIL
#define SPECENUM_VALUE19NAME "Make_Content_Mil"
#define SPECENUM_VALUE20 EFT_MAKE_CONTENT_MIL_PER
#define SPECENUM_VALUE20NAME "Make_Content_Mil_Per"
/* TODO: EFT_MAKE_CONTENT_PCT */
#define SPECENUM_VALUE21 EFT_MAKE_HAPPY
#define SPECENUM_VALUE21NAME "Make_Happy"
#define SPECENUM_VALUE22 EFT_NO_ANARCHY
#define SPECENUM_VALUE22NAME "No_Anarchy"
#define SPECENUM_VALUE23 EFT_NUKE_PROOF
#define SPECENUM_VALUE23NAME "Nuke_Proof"
/* TODO: EFT_POLLU_ADJ */
/* TODO: EFT_POLLU_PCT */
/* TODO: EFT_POLLU_POP_ADJ */
#define SPECENUM_VALUE24 EFT_POLLU_POP_PCT
#define SPECENUM_VALUE24NAME "Pollu_Pop_Pct"
#define SPECENUM_VALUE25 EFT_POLLU_POP_PCT_2
#define SPECENUM_VALUE25NAME "Pollu_Pop_Pct_2"
/* TODO: EFT_POLLU_PROD_ADJ */
#define SPECENUM_VALUE26 EFT_POLLU_PROD_PCT
#define SPECENUM_VALUE26NAME "Pollu_Prod_Pct"
/* TODO: EFT_PROD_PCT */
#define SPECENUM_VALUE27 EFT_REVEAL_CITIES
#define SPECENUM_VALUE27NAME "Reveal_Cities"
#define SPECENUM_VALUE28 EFT_REVEAL_MAP
#define SPECENUM_VALUE28NAME "Reveal_Map"
/* TODO: EFT_INCITE_DIST_ADJ */
#define SPECENUM_VALUE29 EFT_INCITE_COST_PCT
#define SPECENUM_VALUE29NAME "Incite_Cost_Pct"
#define SPECENUM_VALUE30 EFT_SIZE_ADJ
#define SPECENUM_VALUE30NAME "Size_Adj"
#define SPECENUM_VALUE31 EFT_SIZE_UNLIMIT
#define SPECENUM_VALUE31NAME "Size_Unlimit"
#define SPECENUM_VALUE32 EFT_SS_STRUCTURAL
#define SPECENUM_VALUE32NAME "SS_Structural"
#define SPECENUM_VALUE33 EFT_SS_COMPONENT
#define SPECENUM_VALUE33NAME "SS_Component"
#define SPECENUM_VALUE34 EFT_SS_MODULE
#define SPECENUM_VALUE34NAME "SS_Module"
#define SPECENUM_VALUE35 EFT_SPY_RESISTANT
#define SPECENUM_VALUE35NAME "Spy_Resistant"
#define SPECENUM_VALUE36 EFT_MOVE_BONUS
#define SPECENUM_VALUE36NAME "Move_Bonus"
#define SPECENUM_VALUE37 EFT_UNIT_NO_LOSE_POP
#define SPECENUM_VALUE37NAME "Unit_No_Lose_Pop"
#define SPECENUM_VALUE38 EFT_UNIT_RECOVER
#define SPECENUM_VALUE38NAME "Unit_Recover"
#define SPECENUM_VALUE39 EFT_UPGRADE_UNIT
#define SPECENUM_VALUE39NAME "Upgrade_Unit"
#define SPECENUM_VALUE40 EFT_UPKEEP_FREE
#define SPECENUM_VALUE40NAME "Upkeep_Free"
#define SPECENUM_VALUE41 EFT_TECH_UPKEEP_FREE
#define SPECENUM_VALUE41NAME "Tech_Upkeep_Free"
#define SPECENUM_VALUE42 EFT_NO_UNHAPPY
#define SPECENUM_VALUE42NAME "No_Unhappy"
#define SPECENUM_VALUE43 EFT_VETERAN_BUILD
#define SPECENUM_VALUE43NAME "Veteran_Build"
#define SPECENUM_VALUE44 EFT_VETERAN_COMBAT
#define SPECENUM_VALUE44NAME "Veteran_Combat"
#define SPECENUM_VALUE45 EFT_HP_REGEN
#define SPECENUM_VALUE45NAME "HP_Regen"
#define SPECENUM_VALUE46 EFT_CITY_VISION_RADIUS_SQ
#define SPECENUM_VALUE46NAME "City_Vision_Radius_Sq"
#define SPECENUM_VALUE47 EFT_UNIT_VISION_RADIUS_SQ
#define SPECENUM_VALUE47NAME "Unit_Vision_Radius_Sq"
/* Interacts with UTYF_BADWALLATTACKER */
#define SPECENUM_VALUE48 EFT_DEFEND_BONUS
#define SPECENUM_VALUE48NAME "Defend_Bonus"
#define SPECENUM_VALUE49 EFT_TRADE_ROUTE_PCT
/* FIXME: -> "Trade_Route_Pct" */
#define SPECENUM_VALUE49NAME "Traderoute_Pct"
#define SPECENUM_VALUE50 EFT_GAIN_AI_LOVE
#define SPECENUM_VALUE50NAME "Gain_AI_Love"
#define SPECENUM_VALUE51 EFT_TURN_YEARS
#define SPECENUM_VALUE51NAME "Turn_Years"
#define SPECENUM_VALUE52 EFT_SLOW_DOWN_TIMELINE
#define SPECENUM_VALUE52NAME "Slow_Down_Timeline"
#define SPECENUM_VALUE53 EFT_CIVIL_WAR_CHANCE
#define SPECENUM_VALUE53NAME "Civil_War_Chance"
/* change of the migration score */
#define SPECENUM_VALUE54 EFT_MIGRATION_PCT
#define SPECENUM_VALUE54NAME "Migration_Pct"
/* +1 unhappy when more than this cities */
#define SPECENUM_VALUE55 EFT_EMPIRE_SIZE_BASE
#define SPECENUM_VALUE55NAME "Empire_Size_Base"
/* adds additional +1 unhappy steps to above */
#define SPECENUM_VALUE56 EFT_EMPIRE_SIZE_STEP
#define SPECENUM_VALUE56NAME "Empire_Size_Step"
#define SPECENUM_VALUE57 EFT_MAX_RATES
#define SPECENUM_VALUE57NAME "Max_Rates"
#define SPECENUM_VALUE58 EFT_MARTIAL_LAW_EACH
#define SPECENUM_VALUE58NAME "Martial_Law_Each"
#define SPECENUM_VALUE59 EFT_MARTIAL_LAW_MAX
#define SPECENUM_VALUE59NAME "Martial_Law_Max"
#define SPECENUM_VALUE60 EFT_RAPTURE_GROW
#define SPECENUM_VALUE60NAME "Rapture_Grow"
#define SPECENUM_VALUE61 EFT_REVOLUTION_UNHAPPINESS
#define SPECENUM_VALUE61NAME "Revolution_Unhappiness"
#define SPECENUM_VALUE62 EFT_HAS_SENATE
#define SPECENUM_VALUE62NAME "Has_Senate"
#define SPECENUM_VALUE63 EFT_INSPIRE_PARTISANS
#define SPECENUM_VALUE63NAME "Inspire_Partisans"
#define SPECENUM_VALUE64 EFT_HAPPINESS_TO_GOLD
#define SPECENUM_VALUE64NAME "Happiness_To_Gold"
/* stupid special case; we hate it */
#define SPECENUM_VALUE65 EFT_FANATICS
#define SPECENUM_VALUE65NAME "Fanatics"
#define SPECENUM_VALUE66 EFT_NO_DIPLOMACY
#define SPECENUM_VALUE66NAME "No_Diplomacy"
#define SPECENUM_VALUE67 EFT_TRADE_REVENUE_BONUS
#define SPECENUM_VALUE67NAME "Trade_Revenue_Bonus"
/* multiply unhappy upkeep by this effect */
#define SPECENUM_VALUE68 EFT_UNHAPPY_FACTOR
#define SPECENUM_VALUE68NAME "Unhappy_Factor"
/* multiply upkeep by this effect */
#define SPECENUM_VALUE69 EFT_UPKEEP_FACTOR
#define SPECENUM_VALUE69NAME "Upkeep_Factor"
/* this many units are free from upkeep */
#define SPECENUM_VALUE70 EFT_UNIT_UPKEEP_FREE_PER_CITY
#define SPECENUM_VALUE70NAME "Unit_Upkeep_Free_Per_City"
#define SPECENUM_VALUE71 EFT_OUTPUT_WASTE
#define SPECENUM_VALUE71NAME "Output_Waste"
#define SPECENUM_VALUE72 EFT_OUTPUT_WASTE_BY_DISTANCE
#define SPECENUM_VALUE72NAME "Output_Waste_By_Distance"
/* -1 penalty to tiles producing more than this */
#define SPECENUM_VALUE73 EFT_OUTPUT_PENALTY_TILE
#define SPECENUM_VALUE73NAME "Output_Penalty_Tile"
#define SPECENUM_VALUE74 EFT_OUTPUT_INC_TILE_CELEBRATE
#define SPECENUM_VALUE74NAME "Output_Inc_Tile_Celebrate"
/* all citizens after this are unhappy */
#define SPECENUM_VALUE75 EFT_CITY_UNHAPPY_SIZE
#define SPECENUM_VALUE75NAME "City_Unhappy_Size"
/* add to default squared city radius */
#define SPECENUM_VALUE76 EFT_CITY_RADIUS_SQ
#define SPECENUM_VALUE76NAME "City_Radius_Sq"
/* number of build slots for units */
#define SPECENUM_VALUE77 EFT_CITY_BUILD_SLOTS
#define SPECENUM_VALUE77NAME "City_Build_Slots"
#define SPECENUM_VALUE78 EFT_UPGRADE_PRICE_PCT
#define SPECENUM_VALUE78NAME "Upgrade_Price_Pct"
/* City should use walls gfx */
#define SPECENUM_VALUE79 EFT_VISIBLE_WALLS
#define SPECENUM_VALUE79NAME "Visible_Walls"
#define SPECENUM_VALUE80 EFT_TECH_COST_FACTOR
#define SPECENUM_VALUE80NAME "Tech_Cost_Factor"
/* [x%] gold upkeep instead of [1] shield upkeep for units */
#define SPECENUM_VALUE81 EFT_SHIELD2GOLD_FACTOR
#define SPECENUM_VALUE81NAME "Shield2Gold_Factor"
#define SPECENUM_VALUE82 EFT_TILE_WORKABLE
#define SPECENUM_VALUE82NAME "Tile_Workable"
/* The index for the city image of the given city style. */
#define SPECENUM_VALUE83 EFT_CITY_IMAGE
#define SPECENUM_VALUE83NAME "City_Image"
#define SPECENUM_VALUE84 EFT_IMPR_BUILD_COST_PCT
#define SPECENUM_VALUE84NAME "Building_Build_Cost_Pct"
#define SPECENUM_VALUE85 EFT_MAX_TRADE_ROUTES
#define SPECENUM_VALUE85NAME "Max_Trade_Routes"
#define SPECENUM_VALUE86 EFT_GOV_CENTER
#define SPECENUM_VALUE86NAME "Gov_Center"
#define SPECENUM_VALUE87 EFT_COMBAT_ROUNDS
#define SPECENUM_VALUE87NAME "Combat_Rounds"
#define SPECENUM_VALUE88 EFT_IMPR_BUY_COST_PCT
#define SPECENUM_VALUE88NAME "Building_Buy_Cost_Pct"
#define SPECENUM_VALUE89 EFT_UNIT_BUILD_COST_PCT
#define SPECENUM_VALUE89NAME "Unit_Build_Cost_Pct"
#define SPECENUM_VALUE90 EFT_UNIT_BUY_COST_PCT
#define SPECENUM_VALUE90NAME "Unit_Buy_Cost_Pct"
#define SPECENUM_VALUE91 EFT_NOT_TECH_SOURCE
#define SPECENUM_VALUE91NAME "Not_Tech_Source"
#define SPECENUM_VALUE92 EFT_ENEMY_CITIZEN_UNHAPPY_PCT
#define SPECENUM_VALUE92NAME "Enemy_Citizen_Unhappy_Pct"
#define SPECENUM_VALUE93 EFT_IRRIGATION_PCT
#define SPECENUM_VALUE93NAME "Irrigation_Pct"
#define SPECENUM_VALUE94 EFT_MINING_PCT
#define SPECENUM_VALUE94NAME "Mining_Pct"
#define SPECENUM_VALUE95 EFT_OUTPUT_TILE_PUNISH_PCT
#define SPECENUM_VALUE95NAME "Output_Tile_Punish_Pct"
#define SPECENUM_VALUE96 EFT_UNIT_BRIBE_COST_PCT
#define SPECENUM_VALUE96NAME "Unit_Bribe_Cost_Pct"
#define SPECENUM_VALUE97 EFT_VICTORY
#define SPECENUM_VALUE97NAME "Victory"
#define SPECENUM_VALUE98 EFT_PERFORMANCE
#define SPECENUM_VALUE98NAME "Performance"
#define SPECENUM_VALUE99 EFT_HISTORY
#define SPECENUM_VALUE99NAME "History"
#define SPECENUM_VALUE100 EFT_NATION_PERFORMANCE
#define SPECENUM_VALUE100NAME "National_Performance"
#define SPECENUM_VALUE101 EFT_NATION_HISTORY
#define SPECENUM_VALUE101NAME "National_History"
#define SPECENUM_VALUE102 EFT_TURN_FRAGMENTS
#define SPECENUM_VALUE102NAME "Turn_Fragments"
#define SPECENUM_VALUE103 EFT_MAX_STOLEN_GOLD_PM
#define SPECENUM_VALUE103NAME "Max_Stolen_Gold_Pm"
#define SPECENUM_VALUE104 EFT_THIEFS_SHARE_PM
#define SPECENUM_VALUE104NAME "Thiefs_Share_Pm"
#define SPECENUM_VALUE105 EFT_RETIRE_PCT
#define SPECENUM_VALUE105NAME "Retire_Pct"
#define SPECENUM_VALUE106 EFT_ILLEGAL_ACTION_MOVE_COST
#define SPECENUM_VALUE106NAME "Illegal_Action_Move_Cost"
#define SPECENUM_VALUE107 EFT_HAVE_CONTACTS
#define SPECENUM_VALUE107NAME "Have_Contacts"
#define SPECENUM_VALUE108 EFT_CASUS_BELLI_CAUGHT
#define SPECENUM_VALUE108NAME "Casus_Belli_Caught"
#define SPECENUM_VALUE109 EFT_CASUS_BELLI_SUCCESS
#define SPECENUM_VALUE109NAME "Casus_Belli_Success"
#define SPECENUM_VALUE110 EFT_ACTION_ODDS_PCT
#define SPECENUM_VALUE110NAME "Action_Odds_Pct"
#define SPECENUM_VALUE111 EFT_BORDER_VISION
#define SPECENUM_VALUE111NAME "Border_Vision"
#define SPECENUM_VALUE112 EFT_STEALINGS_IGNORE
#define SPECENUM_VALUE112NAME "Stealings_Ignore"
#define SPECENUM_VALUE113 EFT_OUTPUT_WASTE_BY_REL_DISTANCE
#define SPECENUM_VALUE113NAME "Output_Waste_By_Rel_Distance"
#define SPECENUM_VALUE114 EFT_SABOTEUR_RESISTANT
#define SPECENUM_VALUE114NAME "Building_Saboteur_Resistant"
#define SPECENUM_VALUE115 EFT_UNIT_SLOTS
#define SPECENUM_VALUE115NAME "Unit_Slots"
#define SPECENUM_VALUE116 EFT_ATTACK_BONUS
#define SPECENUM_VALUE116NAME "Attack_Bonus"
#define SPECENUM_VALUE117 EFT_CONQUEST_TECH_PCT
#define SPECENUM_VALUE117NAME "Conquest_Tech_Pct"
#define SPECENUM_VALUE118 EFT_ACTION_SUCCESS_MOVE_COST
#define SPECENUM_VALUE118NAME "Action_Success_Actor_Move_Cost"
#define SPECENUM_VALUE119 EFT_ACTION_SUCCESS_TARGET_MOVE_COST
#define SPECENUM_VALUE119NAME "Action_Success_Target_Move_Cost"
#define SPECENUM_VALUE120 EFT_INFRA_POINTS
#define SPECENUM_VALUE120NAME "Infra_Points"
#define SPECENUM_VALUE121 EFT_FORTIFY_DEFENSE_BONUS
#define SPECENUM_VALUE121NAME "Fortify_Defense_Bonus"
#define SPECENUM_VALUE122 EFT_MAPS_STOLEN_PCT
#define SPECENUM_VALUE122NAME "Maps_Stolen_Pct"
#define SPECENUM_VALUE123 EFT_UNIT_SHIELD_VALUE_PCT
#define SPECENUM_VALUE123NAME "Unit_Shield_Value_Pct"
#define SPECENUM_VALUE124 EFT_CASUS_BELLI_COMPLETE
#define SPECENUM_VALUE124NAME "Casus_Belli_Complete"
#define SPECENUM_VALUE125 EFT_ILLEGAL_ACTION_HP_COST
#define SPECENUM_VALUE125NAME "Illegal_Action_HP_Cost"
#define SPECENUM_VALUE126 EFT_POPCOST_FREE
#define SPECENUM_VALUE126NAME "Popcost_Free"
#define SPECENUM_VALUE127 EFT_HEAL_UNIT_PCT
#define SPECENUM_VALUE127NAME "Heal_Unit_Pct"
#define SPECENUM_VALUE128 EFT_NUKE_BLAST_RADIUS_1_SQ
#define SPECENUM_VALUE128NAME "Nuke_Blast_Radius_1_Sq"
#define SPECENUM_VALUE129 EFT_BORDER_STRENGTH_PCT
#define SPECENUM_VALUE129NAME "Border_Strength_Pct"
#define SPECENUM_VALUE130 EFT_ACTION_RESIST_PCT
#define SPECENUM_VALUE130NAME "Action_Resist_Pct"
#define SPECENUM_VALUE131 EFT_OUTPUT_BONUS_ABSOLUTE
#define SPECENUM_VALUE131NAME "Output_Bonus_Absolute"
#define SPECENUM_VALUE132 EFT_MIN_HP_PCT
#define SPECENUM_VALUE132NAME "Min_HP_Pct"
#define SPECENUM_VALUE133 EFT_HP_REGEN_2
#define SPECENUM_VALUE133NAME "HP_Regen_2"
#define SPECENUM_VALUE134 EFT_TECH_PARASITE_PCT_MAX
#define SPECENUM_VALUE134NAME "Tech_Parasite_Pct_Max"
/* Reduced illness due to buildings ... */
#define SPECENUM_VALUE135 EFT_HEALTH_PCT
#define SPECENUM_VALUE135NAME "Health_Pct"
#define SPECENUM_VALUE136 EFT_ACTIVITY_TIME
#define SPECENUM_VALUE136NAME "Activity_Time"
#define SPECENUM_VALUE137 EFT_SURPLUS_WASTE_PCT
#define SPECENUM_VALUE137NAME "Surplus_Waste_Pct"
#define SPECENUM_VALUE138 EFT_SURPLUS_WASTE_PCT_BY_REL_DISTANCE
#define SPECENUM_VALUE138NAME "Surplus_Waste_Pct_By_Rel_Distance"
#define SPECENUM_VALUE139 EFT_TECH_LEAKAGE
#define SPECENUM_VALUE139NAME "Tech_Leakage"
/* Ruleset specific effects for use from Lua scripts */
#define SPECENUM_VALUE140 EFT_USER_EFFECT_1
#define SPECENUM_VALUE140NAME "User_Effect_1"
#define SPECENUM_VALUE141 EFT_USER_EFFECT_2
#define SPECENUM_VALUE141NAME "User_Effect_2"
#define SPECENUM_VALUE142 EFT_USER_EFFECT_3
#define SPECENUM_VALUE142NAME "User_Effect_3"
#define SPECENUM_VALUE143 EFT_USER_EFFECT_4
#define SPECENUM_VALUE143NAME "User_Effect_4"
/* Keep this last */
#define SPECENUM_COUNT EFT_COUNT
#include "specenum_gen.h"
#include "effects_enums_gen.h"
#define EFT_USER_EFFECT_LAST EFT_USER_EFFECT_4
gen_headers/enums/Makefile.am
ENUMS_GEN = \
actions_enums_gen.h \
effects_enums_gen.h \
manual_enums_gen.h \
terrain_enums_gen.h
EXTRA_DIST = \
actions_enums.def \
effects_enums.def \
manual_enums.def \
terrain_enums.def \
$(ENUMS_GEN)
gen_headers/enums/effects_enums.def
# Specenum definitions for common/effects.h
# See gen_headers/generate_enums.py for syntax
/* Used in the network protocol. */
enum effect_type
prefix EFT_
count
values
TECH_PARASITE "Tech_Parasite"
AIRLIFT "Airlift"
ANY_GOVERNMENT "Any_Government"
CAPITAL_CITY "Capital_City"
ENABLE_NUKE "Enable_Nuke"
ENABLE_SPACE "Enable_Space"
SPECIALIST_OUTPUT "Specialist_Output"
OUTPUT_BONUS "Output_Bonus"
OUTPUT_BONUS_2 "Output_Bonus_2"
/* Add to each worked tile */
OUTPUT_ADD_TILE "Output_Add_Tile"
/* Add to each worked tile that already has output */
OUTPUT_INC_TILE "Output_Inc_Tile"
/* Increase tile output by given % */
OUTPUT_PER_TILE "Output_Per_Tile"
OUTPUT_WASTE_PCT "Output_Waste_Pct"
FORCE_CONTENT "Force_Content"
GIVE_IMM_TECH "Give_Imm_Tech"
GROWTH_FOOD "Growth_Food"
SHRINK_FOOD "Shrink_Food"
HAVE_EMBASSIES "Have_Embassies"
MAKE_CONTENT "Make_Content"
MAKE_CONTENT_MIL "Make_Content_Mil"
MAKE_CONTENT_MIL_PER "Make_Content_Mil_Per"
MAKE_HAPPY "Make_Happy"
NO_ANARCHY "No_Anarchy"
NUKE_PROOF "Nuke_Proof"
POLLU_POP_PCT "Pollu_Pop_Pct"
POLLU_POP_PCT_2 "Pollu_Pop_Pct_2"
POLLU_PROD_PCT "Pollu_Prod_Pct"
REVEAL_CITIES "Reveal_Cities"
REVEAL_MAP "Reveal_Map"
INCITE_COST_PCT "Incite_Cost_Pct"
SIZE_ADJ "Size_Adj"
SIZE_UNLIMIT "Size_Unlimit"
SS_STRUCTURAL "SS_Structural"
SS_COMPONENT "SS_Component"
SS_MODULE "SS_Module"
SPY_RESISTANT "Spy_Resistant"
MOVE_BONUS "Move_Bonus"
UNIT_NO_LOSE_POP "Unit_No_Lose_Pop"
UNIT_RECOVER "Unit_Recover"
UPGRADE_UNIT "Upgrade_Unit"
UPKEEP_FREE "Upkeep_Free"
TECH_UPKEEP_FREE "Tech_Upkeep_Free"
NO_UNHAPPY "No_Unhappy"
VETERAN_BUILD "Veteran_Build"
VETERAN_COMBAT "Veteran_Combat"
HP_REGEN "HP_Regen"
CITY_VISION_RADIUS_SQ "City_Vision_Radius_Sq"
UNIT_VISION_RADIUS_SQ "Unit_Vision_Radius_Sq"
DEFEND_BONUS "Defend_Bonus"
TRADE_ROUTE_PCT "Traderoute_Pct"
GAIN_AI_LOVE "Gain_AI_Love"
TURN_YEARS "Turn_Years"
SLOW_DOWN_TIMELINE "Slow_Down_Timeline"
CIVIL_WAR_CHANCE "Civil_War_Chance"
MIGRATION_PCT "Migration_Pct"
EMPIRE_SIZE_BASE "Empire_Size_Base"
EMPIRE_SIZE_STEP "Empire_Size_Step"
MAX_RATES "Max_Rates"
MARTIAL_LAW_EACH "Martial_Law_Each"
MARTIAL_LAW_MAX "Martial_Law_Max"
RAPTURE_GROW "Rapture_Grow"
REVOLUTION_UNHAPPINESS "Revolution_Unhappiness"
HAS_SENATE "Has_Senate"
INSPIRE_PARTISANS "Inspire_Partisans"
HAPPINESS_TO_GOLD "Happiness_To_Gold"
/* Stupid special case; we hate it */
FANATICS "Fanatics"
NO_DIPLOMACY "No_Diplomacy"
TRADE_REVENUE_BONUS "Trade_Revenue_Bonus"
/* Multiply unhappy upkeep by this effect */
UNHAPPY_FACTOR "Unhappy_Factor"
/* Multiply upkeep by this effect */
UPKEEP_FACTOR "Upkeep_Factor"
/* This many units are free from upkeep */
UNIT_UPKEEP_FREE_PER_CITY "Unit_Upkeep_Free_Per_City"
OUTPUT_WASTE "Output_Waste"
OUTPUT_WASTE_BY_DISTANCE "Output_Waste_By_Distance"
/* -1 penalty to tiles producing more than this */
OUTPUT_PENALTY_TILE "Output_Penalty_Tile"
OUTPUT_INC_TILE_CELEBRATE "Output_Inc_Tile_Celebrate"
/* All citizens after this are unhappy */
CITY_UNHAPPY_SIZE "City_Unhappy_Size"
/* Add to default squared city radius */
CITY_RADIUS_SQ "City_Radius_Sq"
/* Number of build slots for units */
CITY_BUILD_SLOTS "City_Build_Slots"
UPGRADE_PRICE_PCT "Upgrade_Price_Pct"
/* City should use walls gfx */
VISIBLE_WALLS "Visible_Walls"
TECH_COST_FACTOR "Tech_Cost_Factor"
/* [x%] gold upkeep instead of [1] shield upkeep for units */
SHIELD2GOLD_FACTOR "Shield2Gold_Factor"
TILE_WORKABLE "Tile_Workable"
/* The index for the city image of the given city style. */
CITY_IMAGE "City_Image"
IMPR_BUILD_COST_PCT "Building_Build_Cost_Pct"
MAX_TRADE_ROUTES "Max_Trade_Routes"
GOV_CENTER "Gov_Center"
COMBAT_ROUNDS "Combat_Rounds"
IMPR_BUY_COST_PCT "Building_Buy_Cost_Pct"
UNIT_BUILD_COST_PCT "Unit_Build_Cost_Pct"
UNIT_BUY_COST_PCT "Unit_Buy_Cost_Pct"
NOT_TECH_SOURCE "Not_Tech_Source"
ENEMY_CITIZEN_UNHAPPY_PCT "Enemy_Citizen_Unhappy_Pct"
IRRIGATION_PCT "Irrigation_Pct"
MINING_PCT "Mining_Pct"
OUTPUT_TILE_PUNISH_PCT "Output_Tile_Punish_Pct"
UNIT_BRIBE_COST_PCT "Unit_Bribe_Cost_Pct"
VICTORY "Victory"
PERFORMANCE "Performance"
HISTORY "History"
NATION_PERFORMANCE "National_Performance"
NATION_HISTORY "National_History"
TURN_FRAGMENTS "Turn_Fragments"
MAX_STOLEN_GOLD_PM "Max_Stolen_Gold_Pm"
THIEFS_SHARE_PM "Thiefs_Share_Pm"
RETIRE_PCT "Retire_Pct"
ILLEGAL_ACTION_MOVE_COST "Illegal_Action_Move_Cost"
HAVE_CONTACTS "Have_Contacts"
CASUS_BELLI_CAUGHT "Casus_Belli_Caught"
CASUS_BELLI_SUCCESS "Casus_Belli_Success"
ACTION_ODDS_PCT "Action_Odds_Pct"
BORDER_VISION "Border_Vision"
STEALINGS_IGNORE "Stealings_Ignore"
OUTPUT_WASTE_BY_REL_DISTANCE "Output_Waste_By_Rel_Distance"
SABOTEUR_RESISTANT "Building_Saboteur_Resistant"
UNIT_SLOTS "Unit_Slots"
ATTACK_BONUS "Attack_Bonus"
CONQUEST_TECH_PCT "Conquest_Tech_Pct"
ACTION_SUCCESS_MOVE_COST "Action_Success_Actor_Move_Cost"
ACTION_SUCCESS_TARGET_MOVE_COST "Action_Success_Target_Move_Cost"
INFRA_POINTS "Infra_Points"
FORTIFY_DEFENSE_BONUS "Fortify_Defense_Bonus"
MAPS_STOLEN_PCT "Maps_Stolen_Pct"
UNIT_SHIELD_VALUE_PCT "Unit_Shield_Value_Pct"
CASUS_BELLI_COMPLETE "Casus_Belli_Complete"
ILLEGAL_ACTION_HP_COST "Illegal_Action_HP_Cost"
POPCOST_FREE "Popcost_Free"
HEAL_UNIT_PCT "Heal_UNit_Pct"
NUKE_BLAST_RADIUS_1_SQ "Nuke_Blast_Radius_1_Sq"
BORDER_STRENGTH_PCT "Border_Strength_Pct"
ACTION_RESIST_PCT "Action_Resist_Pct"
OUTPUT_BONUS_ABSOLUTE "Output_Bonus_Absolute"
MIN_HP_PCT "Min_HP_Pct"
HP_REGEN_2 "HP_Regen_2"
TECH_PARASITE_PCT_MAX "Tech_Parasite_Pct_Max"
/* Reduced illness due to buildings ... */
HEALTH_PCT "Health_Pct"
ACTIVITY_TIME "Activity_Time"
SURPLUS_WASTE_PCT "Surplus_Waste_Pct"
SURPLUS_WASTE_PCT_BY_REL_DISTANCE "Surplus_Waste_Pct_By_Rel_Distance"
TECH_LEAKAGE "Tech_Leakage"
USER_EFFECT_1 "User_Effect_1"
USER_EFFECT_2 "User_Effect_2"
USER_EFFECT_3 "User_Effect_3"
USER_EFFECT_4 "User_Effect_4"
end
meson.build
enum_defs = {
'common': {
'actions_enums': ['actions_enums.def', 'actions_enums_gen.h'],
'effects_enums': ['effects_enums.def', 'effects_enums_gen.h'],
'terrain_enums': ['terrain_enums.def', 'terrain_enums_gen.h'],
},
'manual': {
    (1-1/1)