; Modifying this file:
; You should not modify this file except to make bugfixes or
; for other "maintenance".  If you want to make custom changes,
; you should create a new datadir subdirectory and copy this file
; into that directory, and then modify that copy.  Then use the
; command "rulesetdir <mysubdir>" in the server to have Freeciv21
; use your new customized file.

; Note that the Freeciv21 AI may not cope well with anything more
; than minor changes.

[datafile]
description="Civ1 effects data for Freeciv21 (approximate)"
options="+Freeciv-ruleset-Devel-2017.Jan.02 +HP_Regen_Min +Bombard_Limit_Pct +Vision_Layer +Nation_Intelligence"
format_version=20

; /* <-- avoid gettext warnings
;
; Effects
;
; type                    = What the effect does. Values of multiple active effects
;                           of the same type get summed for the total.
;                           See README.effects for list of possible types
; value                   = Value added for the effect type when this effect is active,
;                           i.e., all requirements are fulfilled
; multiplier              = Name of the policy that gives a multiplier for effect's value
; reqs                    = Requirements for the effect to be active.
;                           See README.effects for help on requirements
;
; */ <-- avoid gettext warnings

; Cheating AI effects are in separate file
*include "default/ai_effects.ruleset"

[effect_unhappysize]
type    = "City_Unhappy_Size"
value   = 4

; Specialist output bonuses

[effect_gov_tile_bonus_0]
type    = "Output_Penalty_Tile"
value   = 2
reqs  =
    { "type",       "name",      "range"
      "Gov", "Anarchy", "Player"
    }

[effect_gov_tile_bonus_1]
type    = "Output_Penalty_Tile"
value   = 2
reqs  =
    { "type",       "name",      "range"
      "Gov", "Despotism", "Player"
    }

[effect_gov_tile_bonus_2]
type    = "Output_Inc_Tile_Celebrate"
value   = 1
reqs  =
    { "type",       "name",      "range"
      "OutputType", "Trade", "Local"
      "Gov", "Monarchy", "Player"
    }

[effect_gov_tile_bonus_3]
type    = "Output_Inc_Tile_Celebrate"
value   = 1
reqs  =
    { "type",       "name",      "range"
      "OutputType", "Trade", "Local"
      "Gov", "Communism", "Player"
    }

[effect_gov_tile_bonus_4]
type    = "Output_Inc_Tile"
value   = 1
reqs  =
    { "type",       "name",      "range"
      "Gov", "Republic", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_gov_tile_bonus_5]
type    = "Output_Inc_Tile"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_anarchy0]
type    = "Output_Waste"
value   = 25
reqs    =
    { "type", "name", "range"
      "Gov", "Anarchy", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_anarchy1]
type    = "Output_Waste_By_Distance"
value   = 200
reqs    =
    { "type", "name", "range"
      "Gov", "Anarchy", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_despotism0]
type    = "Output_Waste"
value   = 37
reqs    =
    { "type", "name", "range"
      "Gov", "Despotism", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_despotism1]
type    = "Output_Waste_By_Distance"
value   = 400
reqs    =
    { "type", "name", "range"
      "Gov", "Despotism", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_monarchy0]
type    = "Output_Waste"
value   = 15
reqs    =
    { "type", "name", "range"
      "Gov", "Monarchy", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_monarchy1]
type    = "Output_Waste_By_Distance"
value   = 200
reqs    =
    { "type", "name", "range"
      "Gov", "Monarchy", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_communism0]
type    = "Output_Waste"
value   = 20
reqs    =
    { "type", "name", "range"
      "Gov", "Communism", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_republic0]
type    = "Output_Waste"
value   = 15
reqs    =
    { "type", "name", "range"
      "Gov", "Republic", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_republic1]
type    = "Output_Waste_By_Distance"
value   = 200
reqs    =
    { "type", "name", "range"
      "Gov", "Republic", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_elvis]
type    = "Specialist_Output"
value   = 2
reqs    =
    { "type", "name", "range"
      "Specialist", "elvis", "Local"
      "OutputType", "luxury", "Local"
    }

[effect_scientist]
type    = "Specialist_Output"
value   = 2
reqs    =
    { "type", "name", "range"
      "Specialist", "scientist", "Local"
      "OutputType", "science", "Local"
    }

[effect_taxman]
type    = "Specialist_Output"
value   = 2
reqs    =
    { "type", "name", "range"
      "Specialist", "taxman", "Local"
      "OutputType", "gold", "Local"
    }

; Barbarian effects

[effect_barb1]
type    = "No_Diplomacy"
value   = 1
reqs    =
    { "type",   "name", "range"
      "NationGroup", "Barbarian", "Player"
    }

; Barbarian disappearance

[effect_barb_disappear]
type    = "Retire_Pct"
value   = 10
reqs    =
    { "type", "name", "range", "present"
      "NationGroup", "Barbarian", "Player", TRUE
      "Age", "5", "Local", TRUE
      "CityTile", "Center", "Local", FALSE
    }

; Lone Leader might escape on coast (33% chance)
; Complement of the two effects should be 0.9 * 0.66 = 0.594
; (100 - 59) - 10 = 31
[effect_leader_escape]
type    = "Retire_Pct"
value   = 31
reqs    =
    { "type", "name", "range"
      "UnitType", "Barbarian Leader", "Local"
      "Age", "5", "Local"
      "TerrainClass", "Oceanic", "Adjacent"
      "MaxUnitsOnTile", "1", "Local"
    }

; Base vision range - radius of vision is sqrt(5) = 2.24
[effect_city_vision]
type    = "City_Vision_Radius_Sq"
value   = 5
reqs    =
    { "type", "name", "range"
      "VisionLayer", "Main", "Local"
    }

; Stealth or Subsurface can only be seen when adjacent
[effect_city_vision_layers]
type    = "City_Vision_Radius_Sq"
value   = 2
reqs    =
    { "type", "name", "range", "present"
      "VisionLayer", "Main", "Local", FALSE
    }

[effect_bomb_limit_base]
type    = "Bombard_Limit_Pct"
value   = 1

[effect_trade_routes]
type    = "Max_Trade_Routes"
value   = 3

[effect_conquest_tech]
type    = "Conquest_Tech_Pct"
value   = 100

[effect_max_rates]
type    = "Max_Rates"
value   = 100

[effect_base_unit_upkeep]
type    = "Upkeep_Factor"
value   = 1

[effect_republic_unit_upkeep]
type    = "Upkeep_Factor"
value   = 1
reqs    =
    { "type", "name", "range"
      "Gov", "Republic", "Player"
      "OutputType", "Food", "Local"
    }

[effect_democracy_unit_upkeep]
type    = "Upkeep_Factor"
value   = 1
reqs    =
    { "type", "name", "range"
      "Gov", "Democracy", "Player"
      "OutputType", "Food", "Local"
    }

[effect_republic_unit_unhappiness]
type    = "Unhappy_Factor"
value   = 1
reqs    =
    { "type", "name", "range"
      "Gov", "Republic", "Player"
    }

[effect_democracy_unit_unhappiness]
type    = "Unhappy_Factor"
value   = 2
reqs    =
    { "type", "name", "range"
      "Gov", "Democracy", "Player"
    }

[effect_upkeep_free_units_anarchy]
type    = "Unit_Upkeep_Free_Per_City"
value   = 3
reqs    =
    { "type", "name", "range"
      "Gov", "Anarchy", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_upkeep_free_units_despotism]
type    = "Unit_Upkeep_Free_Per_City"
value   = 3
reqs    =
    { "type", "name", "range"
      "Gov", "Despotism", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_civil_war_0]
type    = "Civil_War_Chance"
value   = 90
reqs    =
    { "type",       "name",      "range"
      "Gov", "Anarchy",   "Player"
    }

[effect_civil_war_1]
type    = "Civil_War_Chance"
value   = 80
reqs    =
    { "type",       "name",      "range"
      "Gov", "Despotism", "Player"
    }

[effect_civil_war_2]
type    = "Civil_War_Chance"
value   = 70
reqs    =
    { "type",       "name",      "range"
      "Gov", "Monarchy",  "Player"
    }

[effect_civil_war_3]
type    = "Civil_War_Chance"
value   = 50
reqs    =
    { "type",       "name",      "range"
      "Gov", "Communism", "Player"
    }

[effect_civil_war_4]
type    = "Civil_War_Chance"
value   = 40
reqs    =
    { "type",       "name",      "range"
      "Gov", "Republic",  "Player"
    }

[effect_civil_war_5]
type    = "Civil_War_Chance"
value   = 30
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy", "Player"
    }

[effect_empire_size_base_0]
type    = "Empire_Size_Base"
value   = 9
reqs    =
    { "type",       "name",      "range"
      "Gov", "Anarchy",   "Player"
    }

[effect_empire_size_base_1]
type    = "Empire_Size_Base"
value   = 10
reqs    =
    { "type",       "name",      "range"
      "Gov", "Despotism", "Player"
    }

[effect_empire_size_base_2]
type    = "Empire_Size_Base"
value   = 11
reqs    =
    { "type",       "name",      "range"
      "Gov", "Monarchy",  "Player"
    }

[effect_empire_size_base_3]
type    = "Empire_Size_Base"
value   = 12
reqs    =
    { "type",       "name",      "range"
      "Gov", "Communism", "Player"
    }

[effect_empire_size_base_4]
type    = "Empire_Size_Base"
value   = 13
reqs    =
    { "type",       "name",      "range"
      "Gov", "Republic",  "Player"
    }

[effect_empire_size_base_5]
type    = "Empire_Size_Base"
value   = 14
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy",  "Player"
    }

; FIXME: How this should work in Civ1?
;        This just makes it playable.
[effect_empire_size_step]
type    = "Empire_Size_Step"
value   = 10

[effect_martial_law_each_0]
type    = "Martial_Law_Each"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Anarchy",   "Player"
    }

[effect_martial_law_each_1]
type    = "Martial_Law_Each"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Despotism", "Player"
    }

[effect_martial_law_each_2]
type    = "Martial_Law_Each"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Monarchy",  "Player"
    }

[effect_martial_law_each_3]
type    = "Martial_Law_Each"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Communism", "Player"
    }

[effect_martial_law_max_0]
type    = "Martial_Law_Max"
value   = 100
reqs    =
    { "type",       "name",      "range"
      "Gov", "Anarchy",   "Player"
    }

[effect_martial_law_max_1]
type    = "Martial_Law_Max"
value   = 100
reqs    =
    { "type",       "name",      "range"
      "Gov", "Despotism", "Player"
    }

[effect_martial_law_max_2]
type    = "Martial_Law_Max"
value   = 3
reqs    =

    { "type",       "name",      "range"
      "Gov", "Monarchy",  "Player"
    }

[effect_martial_law_max_3]
type    = "Martial_Law_Max"
value   = 100
reqs    =
    { "type",       "name",      "range"
      "Gov", "Communism", "Player"
    }

[effect_rapture_grow_0]
type    = "Rapture_Grow"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Republic",  "Player"
    }

[effect_rapture_grow_1]
type    = "Rapture_Grow"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy", "Player"
    }

[effect_revolution_0]
type    = "Revolution_Unhappiness"
value   = 2
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy", "Player"
    }

[effect_senate_0]
type    = "Has_Senate"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Republic",  "Player"
    }

[effect_senate_1]
type    = "Has_Senate"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy", "Player"
    }

; Base max city size of 10
[effect_aqueduct_size]
type    = "Size_Adj"
value   = 10

[effect_aqueduct]
type    = "Size_Unlimit"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Aqueduct", "City"
    }

[effect_bank]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Marketplace", "City"
      "Building", "Bank", "City"
      "OutputType", "Gold", "Local"
    }

[effect_bank_1]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Marketplace", "City"
      "Building", "Bank", "City"
      "OutputType", "Luxury", "Local"
    }

[effect_barracks]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Barracks", "City", TRUE
      "Building", "Barracks II", "City", FALSE
      "Building", "Barracks III", "City", FALSE
    }

[effect_barracks_ii]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Barracks II", "City", TRUE
      "Building", "Barracks III", "City", FALSE
    }

[effect_barracks_iii]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Barracks III", "City"
    }

[effect_cathedral]
type    = "Make_Content"
value	= 4
reqs	=
    { "type", "name", "range"
      "Building", "Cathedral", "City"
    }

[effect_city_walls]
type    = "Defend_Bonus"
value	= 200
reqs	=
    { "type",     "name",       "range",  "present"
      "Building", "City Walls", "City",   TRUE
      "UnitType", "Artillery",  "Local",  FALSE
      "UnitType", "Bomber",     "Local",  FALSE
      "Building", "Great Wall", "Player", FALSE
    }

[effect_city_walls_2]
type    = "Unit_No_Lose_Pop"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "City Walls", "City"
    }

[effect_city_walls_visible]
type    = "Visible_Walls"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "City Walls", "City"
    }

[effect_colosseum]
type    = "Make_Content"
value	= 3
reqs	=
    { "type", "name", "range"
      "Building", "Colosseum", "City"
    }

[effect_courthouse]
type    = "Output_Waste_Pct"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Courthouse", "City", TRUE
      "OutputType", "Trade", "Local", TRUE
      "Building", "Palace", "City", FALSE
    }

[effect_factory]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Factory", "City", TRUE
      "OutputType", "Shield", "Local", TRUE
      "Building", "Mfg. Plant", "City", FALSE
    }

[effect_granary]
type    = "Growth_Food"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Granary", "City"
    }

[effect_hydro_plant]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Hydro Plant", "City", TRUE
      "OutputType", "shield", "local", TRUE
      "Building", "Hoover Dam", "Player", FALSE
      "Building", "Nuclear Plant", "City", FALSE
    }

[effect_hydro_plant_1]
type    = "Pollu_Prod_Pct"
value	= -50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Hydro Plant", "City", TRUE
      "Building", "Recycling Center", "City", FALSE
      "Building", "Hoover Dam", "Player", FALSE
      "Building", "Nuclear Plant", "City", FALSE
    }

[effect_library]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Library", "City"
      "OutputType", "science", "local"
    }

[effect_marketplace]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Marketplace", "City"
      "OutputType", "gold", "local"
    }

[effect_marketplace_1]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Marketplace", "City"
      "OutputType", "luxury", "local"
    }

; No population pollution until certain techs researched
[effect_pollu_pop_base]
type    = "Pollu_Pop_Pct_2"
value	= -100

[effect_pollu_pop_automobile]
type    = "Pollu_Pop_Pct_2"
value	= 25
reqs    =
    { "type", "name", "range"
      "Tech", "Automobile", "Player"
    }

[effect_pollu_pop_industrialization]
type    = "Pollu_Pop_Pct_2"
value	= 25
reqs    =
    { "type", "name", "range"
      "Tech", "Industrialization", "Player"
    }

[effect_pollu_pop_mass_production]
type    = "Pollu_Pop_Pct_2"
value	= 25
reqs    =
    { "type", "name", "range"
      "Tech", "Mass Production", "Player"
    }

[effect_pollu_pop_plastics]
type    = "Pollu_Pop_Pct_2"
value	= 25
reqs    =
    { "type", "name", "range"
      "Tech", "Plastics", "Player"
    }

[effect_mass_transit]
type    = "Pollu_Pop_Pct"
value	= -100
reqs	=
    { "type", "name", "range"
      "Building", "Mass Transit", "City"
    }

[effect_mfg_plant]
type    = "Output_Bonus"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "Mfg. Plant", "City"
      "OutputType", "shield", "local"
    }

[effect_nuclear_plant]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Nuclear Plant", "City", TRUE
      "OutputType", "shield", "local", TRUE
      "Building", "Hoover Dam", "Player", FALSE
    }

[effect_nuclear_plant_1]
type    = "Pollu_Prod_Pct"
value	= -50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Nuclear Plant", "City", TRUE
      "Building", "Recycling Center", "City", FALSE
      "Building", "Hoover Dam", "Player", FALSE
    }

[effect_palace]
type    = "Output_Waste_Pct"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Palace", "City"
      "OutputType", "trade", "local"
    }

[effect_palace_1]
type    = "Output_Waste_Pct"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Palace", "City"
      "OutputType", "shield", "local"
    }

[effect_palace_2]
type    = "Spy_Resistant"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Palace", "City"
    }

[effect_palace_2_sabotage]
type    = "Building_Saboteur_Resistant"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Palace", "City"
    }

[effect_palace_3]
type    = "Capital_City"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Palace", "City"
    }

[effect_palace_gov_center]
type    = "Gov_Center"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Palace", "City"
    }

[effect_power_plant]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Power Plant", "City", TRUE
      "OutputType", "shield", "local", TRUE
      "Building", "Hoover Dam", "Player", FALSE
      "Building", "Nuclear Plant", "City", FALSE
      "Building", "Hydro Plant", "City", FALSE
    }

[effect_recycling_center]
type    = "Pollu_Prod_Pct"
value	= -66
reqs	=
    { "type", "name", "range"
      "Building", "Recycling Center", "City"
    }

[effect_sdi_defense]
type    = "Nuke_Proof"
value   = 100
reqs    =
    { "type", "name", "range", "present"
      "Building", "SDI Defense", "City", TRUE
      "DiplRel", "Foreign", "Local", TRUE
      "DiplRel", "Team", "Local", FALSE
    }

[effect_space_component]
type    = "SS_Component"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Space Component", "City"
    }

[effect_space_module]
type    = "SS_Module"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Space Module", "City"
    }

[effect_space_structural]
type    = "SS_Structural"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Space Structural", "City"
    }

[effect_temple]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Temple", "City"
    }

[effect_temple_1]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Tech", "Mysticism", "Player"
      "Building", "Temple", "City"
    }

[effect_university]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Library", "City"
      "Building", "University", "City"
      "OutputType", "science", "local"
    }

[effect_apollo_program]
type    = "Reveal_Cities"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Apollo Program", "Player"
    }

[effect_apollo_program_1]
type    = "Enable_Space"
value	= 1
reqs	=
    { "type", "name", "range", "survives"
      "Building", "Apollo Program", "World", TRUE
    }

[effect_colossus]
type    = "Output_Inc_Tile"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Colossus", "City"
      "OutputType", "trade", "local"
    }

[effect_copernicus_observatory]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Library", "City"
      "Building", "Copernicus' Observatory", "City"
      "OutputType", "science", "local"
    }

[effect_copernicus_observatory_1]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "University", "City"
      "Building", "Copernicus' Observatory", "City"
      "OutputType", "science", "local"
    }

[effect_copernicus_observatory_2]
type    = "Output_Bonus"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "Copernicus' Observatory", "City"
      "OutputType", "science", "local"
    }

[effect_cure_for_cancer]
type    = "Force_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Cure For Cancer", "Player"
    }

[effect_darwins_voyage]
type    = "Give_Imm_Tech"
value	= 2
reqs	=
    { "type", "name", "range"
      "Building", "Darwin's Voyage", "Player"
    }

[effect_great_library]
type    = "Tech_Parasite"
value	= 2
reqs	=
    { "type", "name", "range"
      "Building", "Great Library", "Player"
    }

[effect_great_wall]
type    = "Defend_Bonus"
value	= 200
reqs	=
    { "type",     "name",       "range", "present"
      "Building", "Great Wall", "Player", TRUE
      "CityTile", "Center",     "Local",  TRUE
      "UnitType", "Artillery",  "Local",  FALSE
      "UnitType", "Bomber",     "Local",  FALSE
    }

[effect_great_wall_protect_pop]
type    = "Unit_No_Lose_Pop"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Great Wall", "City"
    }

[effect_great_wall_visible]
type    = "Visible_Walls"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Great Wall", "Player"
    }

[effect_hanging_gardens]
type    = "Make_Happy"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Hanging Gardens", "Player"
    }

[effect_hoover_dam]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Hoover Dam", "Continent"
      "OutputType", "shield", "local"
    }

[effect_hoover_dam_1]
type    = "Pollu_Prod_Pct"
value	= -50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Hoover Dam", "Continent", TRUE
      "Building", "Recycling Center", "City", FALSE
    }

[effect_isaac_newtons_college]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Library", "City"
      "Building", "Isaac Newton's College", "City"
      "OutputType", "science", "local"
    }

[effect_isaac_newtons_college_1]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "University", "City"
      "Building", "Isaac Newton's College", "Player"
      "OutputType", "science", "local"
    }

[effect_js_bachs_cathedral]
type    = "Force_Content"
value	= 2
reqs	=
    { "type", "name", "range"
      "Building", "J.S. Bach's Cathedral", "Continent"
    }

[effect_lighthouse]
type    = "Move_Bonus"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Lighthouse", "Player"
      "UnitClass", "Sea", "Local"
    }

[effect_magellans_expedition]
type    = "Move_Bonus"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Magellan's Expedition", "Player"
      "UnitClass", "Sea", "Local"
    }

[effect_manhattan_project]
type    = "Enable_Nuke"
value	= 1
reqs	=
    { "type", "name", "range", "survives"
      "Building", "Manhattan Project", "World", TRUE
    }

[effect_michelangelos_chapel]
type    = "Make_Content"
value	= 4
reqs	=
    { "type", "name", "range"
      "Building", "Cathedral", "City"
      "Building", "Michelangelo's Chapel", "City"
    }

[effect_oracle]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Temple", "City"
      "Building", "Oracle", "Player"
    }

[effect_oracle_mysticism]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Temple", "City"
      "Building", "Oracle", "Player"
      "Tech", "Mysticism", "Player"
    }

[effect_pyramids]
type    = "Any_Government"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Pyramids", "Player"
    }

[effect_pyramids_1]
type    = "No_Anarchy"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Pyramids", "Player"
    }

[effect_seti_program]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "SETI Program", "Player"
      "OutputType", "science", "local"
    }

[effect_shakespeares_theatre]
type    = "No_Unhappy"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Shakespeare's Theatre", "City"
    }

[effect_united_nations]
type    = "Any_Government"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "United Nations", "Player"
    }

[effect_united_nations_1]
type    = "No_Anarchy"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "United Nations", "Player"
    }

[effect_womens_suffrage]
type    = "Make_Content_Mil_Per"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Women's Suffrage", "Player"
    }

[effect_flight_trade_revenue_reduce]
type    = "Trade_Revenue_Bonus"
value   = -585
reqs    =
    { "type", "name", "range"
      "Tech", "Flight", "Player"
    }

[effect_railroad_trade_revenue_reduce]
type    = "Trade_Revenue_Bonus"
value   = -585
reqs    =
    { "type", "name", "range"
      "Tech", "Railroad", "Player"
    }

[effect_enter_marketplace_bonus_reduction]
type	= "Trade_Revenue_Bonus"
value	= -1585
reqs	=
    { "type", "name", "range"
      "Action", "Enter Marketplace", "Local"
    }

; Fudge factor to more closely approximate Civ2 behavior. (Civ2 is
; really very different -- this just fakes it a little better)
[effect_bonus_fudge_factor]
type	= "Trade_Revenue_Bonus"
value	= 1585

[effect_calendar_base]
type    = "Turn_Years"
value   = 20

; 20 - 10 = 10
[effect_calendar_1]
type    = "Turn_Years"
value   = -10
reqs    =
    { "type", "name", "range"
      "MinYear", "1000", "World"
    }

; 10 - 5 = 5
[effect_calendar_2]
type    = "Turn_Years"
value   = -5
reqs    =
    { "type", "name", "range"
      "MinYear", "1500", "World"
    }

; 5 - 3 = 2
[effect_calendar_3]
type    = "Turn_Years"
value   = -3
reqs    =
    { "type", "name", "range"
      "MinYear", "1750", "World"
    }

; 2 - 1 = 1
[effect_calendar_4]
type    = "Turn_Years"
value   = -1
reqs    =
    { "type", "name", "range"
      "MinYear", "1850", "World"
    }

[effect_tech_cost_base]
type    = "Tech_Cost_Factor"
value   = 1

[effect_tech_cost_double]
type    = "Tech_Cost_Factor"
value   = 1
reqs    =
    { "type", "name", "range"
      "MinYear", "1", "World"
    }

; Cities can always work tiles
[effect_tile_workable]
type    = "Tile_Workable"
value   = 1

; each city has at least one slot to build units
[effect_city_build_slots_basic]
type    = "City_Build_Slots"
value   = 1

[effect_city_image_1]
type    = "City_Image"
value   = 1
reqs    =
    { "type", "name", "range"
      "MinSize", "4", "City"
    }

[effect_city_image_2]
type    = "City_Image"
value   = 1
reqs    =
    { "type", "name", "range"
      "MinSize", "8", "City"
    }

[effect_city_image_3]
type    = "City_Image"
value   = 1
reqs    =
    { "type", "name", "range"
      "MinSize", "12", "City"
    }

[effect_city_image_4]
type    = "City_Image"
value   = 1
reqs    =
    { "type", "name", "range"
      "MinSize", "16", "City"
    }

[effect_mine]
type    = "Mining_Pct"
value   = 100
reqs    =
    { "type", "name", "range"
      "Extra", "Mine", "Local"
    }

[effect_irrigation]
type    = "Irrigation_Pct"
value   = 100
reqs    =
    { "type", "name", "range"
      "Extra", "Irrigation", "Local"
    }

[effect_irrigation_center]
type    = "Irrigation_Pct"
value	= 100
reqs	=
    { "type", "name", "range", "present"
      "CityTile", "Center", "Local", TRUE
      "Extra", "Irrigation", "Local", FALSE
      "TerrainAlter", "CanIrrigate", "Local", TRUE
      "Extra", "Mine", "Local", FALSE
    }

[effect_pollution]
type	= "Output_Tile_Punish_Pct"
value	= 50
reqs	=
    { "type", "name", "range"
      "Extra", "Pollution", "Local"
    }

[effect_diplomat_defense_fortress]
type    = "Spy_Resistant"
value   = 25
reqs    =
    { "type",  "name",     "range"
      "Extra", "Fortress", "Local"
    }

[effect_fortified]
type    = "Fortify_Defense_Bonus"
value   = 50
reqs    =
    { "type", "name", "range"
      "Activity", "Fortified", "Local"
    }

[effect_city_fortified]
type    = "Fortify_Defense_Bonus"
value   = 50
reqs    =
    { "type",          "name",         "range", "present"
      "CityTile",      "Center",       "Local", TRUE
      "Activity",      "Fortified",    "Local", FALSE
      "UnitClassFlag", "CanFortify",   "Local", TRUE
      "UnitFlag",      "Cant_Fortify", "Local", FALSE
    }

[effect_incite_cost_empty]
type = "Incite_Cost_Pct"
value = -50
reqs    =
    { "type", "name", "range"
      "MaxUnitsOnTile", "0", "Local"
    }

[effect_unit_bribe_cost_settlers]
type	= "Unit_Bribe_Cost_Pct"
value	= -50
reqs	=
    { "type", "name", "range"
      "UnitFlag", "Cities", "Local"
    }

[effect_illegal_action_move_cost_base]
type	= "Illegal_Action_Move_Cost"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Found City", "Local", FALSE
      "Action", "Join City", "Local", FALSE
      "Action", "Transport Board", "Local", FALSE
      "Action", "Transport Alight", "Local", FALSE
      "Action", "Transport Disembark", "Local", FALSE
      "Action", "Transport Disembark 2", "Local", FALSE
    }

[effect_incident_success_steal_tech]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Steal Tech", "Local", TRUE
      "DiplRel", "War", "Local", FALSE
    }

[effect_incident_caught_steal_tech]
type	= "Casus_Belli_Caught"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Steal Tech", "Local", TRUE
      "DiplRel", "War", "Local", FALSE
    }

[effect_incident_success_bribe_unit]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Bribe Unit", "Local", TRUE
      "DiplRel", "War", "Local", FALSE
    }

[effect_incident_success_incite]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Incite City", "Local", TRUE
      "DiplRel", "War", "Local", FALSE
    }

[effect_incident_success_sabotage_city]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Sabotage City", "Local", TRUE
      "DiplRel", "War", "Local", FALSE
    }

[effect_incident_success_explode_nuke]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Explode Nuclear", "Local", TRUE
    }

[effect_incident_success_explode_nuke_city]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Nuke City", "Local", TRUE
    }

[effect_incident_success_explode_nuke_units]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Nuke Units", "Local", TRUE
    }

; Double (+100%) buy cost for Great Wonders
[effect_great_wonder_buy_cost]
type    = "Building_Buy_Cost_Pct"
value   = 100
reqs    =
    { "type", "name", "range"
      "BuildingGenus", "GreatWonder", "Local"
    }

; /* <-- avoid gettext warnings
; Civilization I took all remaining move fragments when a land unit
; disembarked from a ship. It didn't take all remaining more fragments when
; the same land unit alighted a ship in the city it was in.
; Correct this rule if I'm wrong.
; */ <-- avoid gettext warnings

[effect_action_success_move_cost_disembark]
type    = "Action_Success_Actor_Move_Cost"
value   = 65535
reqs    =
    { "type", "name", "range", "present"
      "Action", "Transport Disembark", "Local", TRUE
    }

; /* <-- avoid gettext warnings
; Civilization 1 took all remaining move fragments when a land unit
; embarked to a ship. It didn't take all remaining more fragments when the
; same land unit boarded a ship in the city it was in.
; Correct this rule if I'm wrong.
; TODO: was transferring from a transport to a transport on an adjacent tile
; legal? What was it's move cost?
; */ <-- avoid gettext warnings

[effect_action_success_move_cost_embark]
type    = "Action_Success_Actor_Move_Cost"
value   = 65535
reqs    =
    { "type", "name", "range", "present"
      "Action", "Transport Embark", "Local", TRUE
    }

[effect_unit_shield_value_recycle]
type    = "Unit_Shield_Value_Pct"
value   = -50
reqs    =
    { "type",   "name",         "range", "present"
      "Action", "Recycle Unit", "Local", TRUE
    }

*include "default/nation_intelligence_effects.ruleset"
