; 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="Civ2 effects data for Freeciv21 (incomplete)"
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"

; Barbarian effects

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

[effect_barbarian_waste]
type    = "Output_Waste_Pct"
value	= 100
reqs	=
    { "type", "name", "range"
      "NationGroup", "Barbarian", "Player"
      "OutputType", "Shield", "Local"
    }

; 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"
    }

[effect_unhappysize]
type    = "City_Unhappy_Size"
value   = 4

[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_gov_tile_bonus_6]
type    = "Output_Inc_Tile_Celebrate"
value   = 1
reqs  =
    { "type",       "name",      "range"
      "Gov", "Fundamentalism", "Player"
      "OutputType", "Trade", "Local"
    }

[effect_corruption_anarchy0]
type    = "Output_Waste"
value   = 37
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   = 30
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   = 25
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   = 18
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_corruption_fundamentalism0]
type    = "Output_Waste"
value   = 2
reqs    =
    { "type", "name", "range"
      "Gov", "Fundamentalism", "Player"
      "OutputType", "Trade", "Local"
    }

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

[effect_waste_anarchy0]
type    = "Output_Waste"
value   = 37
reqs    =
    { "type", "name", "range"
      "Gov", "Anarchy", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_anarchy1]
type    = "Output_Waste_By_Distance"
value   = 100
reqs    =
    { "type", "name", "range"
      "Gov", "Anarchy", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_despotism0]
type    = "Output_Waste"
value   = 30
reqs    =
    { "type", "name", "range"
      "Gov", "Despotism", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_despotism1]
type    = "Output_Waste_By_Distance"
value   = 200
reqs    =
    { "type", "name", "range"
      "Gov", "Despotism", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_monarchy0]
type    = "Output_Waste"
value   = 25
reqs    =
    { "type", "name", "range"
      "Gov", "Monarchy", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_monarchy1]
type    = "Output_Waste_By_Distance"
value   = 100
reqs    =
    { "type", "name", "range"
      "Gov", "Monarchy", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_communism0]
type    = "Output_Waste"
value   = 3
reqs    =
    { "type", "name", "range"
      "Gov", "Communism", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_republic0]
type    = "Output_Waste"
value   = 6
reqs    =
    { "type", "name", "range"
      "Gov", "Republic", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_republic1]
type    = "Output_Waste_By_Distance"
value   = 100
reqs    =
    { "type", "name", "range"
      "Gov", "Republic", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_fundamentalism0]
type    = "Output_Waste"
value   = 2
reqs    =
    { "type", "name", "range"
      "Gov", "Fundamentalism", "Player"
      "OutputType", "Shield", "Local"
    }

[effect_waste_fundamentalism1]
type    = "Output_Waste_By_Distance"
value   = 100
reqs    =
    { "type", "name", "range"
      "Gov", "Fundamentalism", "Player"
      "OutputType", "Shield", "Local"
    }

; Specialist output bonuses

[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"
    }

[effect_bomb_limit_base]
type    = "Bombard_Limit_Pct"
value   = 1

; /* <-- avoid gettext warnings
; Basic HP regen.  Not for helis, as they have hp_loss_pct=10
; All unit-types' hitpoints are divisible by 10, so no need to worry about rounding
; */ <-- avoid gettext warnings

[effect_hp_regen_base]
type    = "HP_Regen"
value   = 10
reqs    =
    { "type", "name", "range", "present"
      "UnitClass", "Helicopter", "Local", FALSE
    }

; When hardcoded, effect_hp_regen_base was applied after the HP_Regen_Min
[effect_hp_regen_min_base]
type    = "HP_Regen_Min"
value   = 10
reqs    =
    { "type", "name", "range", "present"
      "UnitClass", "Helicopter", "Local", FALSE
    }

; Units in cities regenerate at least 1/3 of their HP regardless
[effect_hp_regen_min_city]
type    = "HP_Regen_Min"
value   = 33
reqs    =
    { "type", "name", "range"
      "CityTile", "Center", "Local"
    }

; Fortress HP regen
[effect_fortress_hp_regen]
type    = "HP_Regen"
value   = 25
reqs    =
    { "type", "name", "range"
      "Extra", "Fortress", "Tile"
      "UnitClass", "Land", "Local"
    }

[effect_fortified_hp_regen]
type    = "HP_Regen"
value   = 10
reqs    =
    { "type", "name", "range"
      "Activity", "Fortified", "Local"
    }

; When hardcoded, effect_fortified_hp_regen was applied after the HP_Regen_Min
[effect_fortified_hp_regen_min]
type    = "HP_Regen_Min"
value   = 10
reqs    =
    { "type", "name", "range"
      "Activity", "Fortified", "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_trade_routes]
type    = "Max_Trade_Routes"
value   = 3

[effect_conquest_tech]
type    = "Conquest_Tech_Pct"
value   = 100

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

[effect_base_unit_upkeep]
type    = "Upkeep_Factor"
value   = 1

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

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

[effect_fundamentalism_free_fanatics]
type  = "Fanatics"
value = 1
reqs  =
    { "type", "name", "range"
      "Gov", "Fundamentalism", "Player"
    }

[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_upkeep_free_units_monarchy]
type    = "Unit_Upkeep_Free_Per_City"
value   = 3
reqs    =
    { "type", "name", "range"
      "Gov", "Monarchy", "Player"
      "OutputType", "Shield", "Local"
    }

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

[effect_upkeep_free_units_fundamentalism]
type    = "Unit_Upkeep_Free_Per_City"
value   = 8
reqs    =
    { "type", "name", "range"
      "Gov", "Fundamentalism", "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   = 14
reqs	=
    { "type",       "name",      "range"
      "Gov", "Communism", "Player"
    }

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

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

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

[effect_empire_size_step_0]
type    = "Empire_Size_Step"
value   = 6
reqs    =
    { "type",       "name",      "range"
      "Gov", "Anarchy", "Player"
    }

[effect_empire_size_step_1]
type    = "Empire_Size_Step"
value   = 6
reqs    =
    { "type",       "name",      "range"
      "Gov", "Despotism", "Player"
    }

[effect_empire_size_step_2]
type    = "Empire_Size_Step"
value   = 9
reqs    =
    { "type",       "name",      "range"
      "Gov", "Monarchy", "Player"
    }

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

[effect_empire_size_step_4]
type    = "Empire_Size_Step"
value   = 12
reqs    =
    { "type",       "name",      "range"
      "Gov", "Republic",  "Player"
    }

[effect_empire_size_step_5]
type    = "Empire_Size_Step"
value   = 12
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy", "Player"
    }

[effect_empire_size_step_6]
type    = "Empire_Size_Step"
value   = 12
reqs    =
    { "type",       "name",      "range"
      "Gov", "Fundamentalism", "Player"
    }

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

[effect_max_rates_1]
type    = "Max_Rates"
value   = 60
reqs    =
    { "type",       "name",      "range"
      "Gov", "Despotism", "Player"
    }

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

[effect_max_rates_3]
type    = "Max_Rates"
value   = 80
reqs    =
    { "type",       "name",      "range"
      "Gov", "Communism", "Player"
    }

[effect_max_rates_4]
type    = "Max_Rates"
value   = 80
reqs    =
    { "type",       "name",      "range"
      "Gov", "Republic",  "Player"
    }

[effect_max_rates_5]
type    = "Max_Rates"
value   = 100
reqs    =
    { "type",       "name",      "range"
      "Gov", "Democracy", "Player"
    }

[effect_max_rates_6]
type    = "Max_Rates"
value   = 80
reqs    =
    { "type",       "name",      "range"
      "Gov", "Fundamentalism", "Player"
    }

[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   = 2
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   = 3
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_communism_0]
type    = "Veteran_Build"
value   = 1
reqs    =
    { "type",       "name",      "range"
      "Gov", "Communism", "Player"
      "UnitFlag", "Diplomat", "Local"
    }

[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"
    }

[effect_partisans_communism]
type    = "Inspire_Partisans"
value   = 1
reqs    =
    { "type", "name", "range", "present"
      "Gov", "Communism", "Player", TRUE
      "Tech", "Communism", "Player", TRUE
      "Tech", "Gunpowder", "Player", TRUE
      "Tech", "Guerilla Warfare", "World", TRUE
      "NationGroup", "Barbarian", "Player", FALSE
    }

[effect_partisans_democracy]
type    = "Inspire_Partisans"
value   = 1
reqs    =
    { "type", "name", "range", "present"
      "Gov", "Democracy", "Player", TRUE
      "Tech", "Communism", "Player", TRUE
      "Tech", "Gunpowder", "Player", TRUE
      "Tech", "Guerilla Warfare", "World", TRUE
      "NationGroup", "Barbarian", "Player", FALSE
    }

[effect_fundamentalism]
type    = "Output_Bonus_2"
value   = -50
reqs    =
    { "type", "name", "range"
      "Gov", "Fundamentalism", "Player"
      "OutputType", "science", "local"
    }

; Nuclear power gives +1 moves to sea units
[effect_nuclear_powered_boats]
type    = "Move_Bonus"
value	= 1
reqs	=
    { "type", "name", "range"
      "Tech", "Nuclear Power", "Player"
      "UnitClass", "Sea", "Local"
    }

[effect_airport]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Airport", "City", TRUE
      "UnitClass", "Air", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
    }

[effect_airport_0a]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Airport", "City", TRUE
      "UnitClass", "Helicopter", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
    }

[effect_airport_0b]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Airport", "City", TRUE
      "UnitClass", "Missile", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
    }

[effect_airport_1]
type    = "HP_Regen"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "Airport", "City"
      "UnitClass", "Air", "Local"
    }

[effect_airport_1a]
type    = "HP_Regen"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "Airport", "City"
      "UnitClass", "Helicopter", "Local"
    }

[effect_airport_2]
type    = "Airlift"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Airport", "City"
    }

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

[effect_aqueduct]
type    = "Size_Adj"
value	= 4
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
      "UnitClass", "Land", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
      "Building", "Barracks II", "City", FALSE
      "Building", "Barracks III", "City", FALSE
    }

[effect_barracks_1]
type    = "HP_Regen"
value	= 100
reqs	=
    { "type", "name", "range", "present"
      "Building", "Barracks", "City", TRUE
      "UnitClass", "Land", "Local", 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
      "UnitClass", "Land", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
      "Building", "Barracks III", "City", FALSE
    }

[effect_barracks_ii_1]
type    = "HP_Regen"
value	= 100
reqs	=
    { "type", "name", "range", "present"
      "Building", "Barracks II", "City", TRUE
      "UnitClass", "Land", "Local", TRUE
      "Building", "Barracks III", "City", FALSE
    }

[effect_barracks_iii]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Barracks III", "City", TRUE
      "UnitClass", "Land", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
    }

[effect_barracks_iii_1]
type    = "HP_Regen"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "Barracks III", "City"
      "UnitClass", "Land", "Local"
    }

[effect_cathedral]
type    = "Make_Content"
value	= 3
reqs	=
    { "type", "name", "range", "present"
      "Building", "Cathedral", "City", TRUE
      "Building", "Michelangelo's Chapel", "Player", FALSE
    }

[effect_cathedral_1]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Tech", "Theology", "Player", TRUE
      "Building", "Cathedral", "City", TRUE
      "Building", "Michelangelo's Chapel", "Player", FALSE
    }

[effect_cathedral_2]
type    = "Make_Content"
value	= -1
reqs	=
    { "type", "name", "range", "present"
      "Tech", "Communism", "Player", TRUE
      "Building", "Cathedral", "City", TRUE
      "Building", "Michelangelo's Chapel", "Player", FALSE
    }

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

[effect_city_walls_0]
type    = "Defend_Bonus"
value	= 200
reqs	=
    { "type", "name", "range", "present"
      "Building", "City Walls", "City", TRUE
      "UnitClass", "Helicopter", "Local", TRUE
      "Building", "Great Wall", "Player", FALSE
    }

[effect_city_walls_1]
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_coastal_defense]
type    = "Defend_Bonus"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "Coastal Defense", "City"
      "UnitClass", "Sea", "Local"
    }

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

[effect_colosseum_1]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Tech", "Electricity", "Player"
      "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_courthouse_1]
type    = "Output_Waste_Pct"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Courthouse", "City", TRUE
      "OutputType", "shield", "local", TRUE
      "Building", "Palace", "City", FALSE
    }

[effect_courthouse_2]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Gov", "Democracy", "Player"
      "Building", "Courthouse", "City"
    }

[effect_courthouse_3]
type    = "Incite_Cost_Pct"
value	= 300
reqs	=
    { "type", "name", "range", "present"
      "Building", "Courthouse", "City", TRUE
      "MaxUnitsOnTile", "0", "Local", FALSE
    }

[effect_incite_cost_empty_courthouse]
type = "Incite_Cost_Pct"
value = 100
reqs	=
    { "type", "name", "range", "present"
      "MaxUnitsOnTile", "0", "Local", TRUE
      "Building", "Courthouse", "City", TRUE
    }

[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", "present"
      "MaxUnitsOnTile", "0", "Local", TRUE
      "Building", "Courthouse", "City", FALSE
    }

[effect_factory]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Factory", "City"
      "OutputType", "shield", "local"
    }

[effect_granary]
type    = "Growth_Food"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Granary", "City", TRUE
      "Building", "Pyramids", "Player", FALSE
    }

[effect_harbour]
type    = "Output_Add_Tile"
value	= 1
reqs	=
    { "type", "name", "range"
      "TerrainClass", "Oceanic", "Local"
      "Building", "Harbour", "City"
      "OutputType", "food", "local"
    }

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

[effect_hydro_plant_1]
type    = "Output_Bonus"
value	= 25
reqs	=
    { "type", "name", "range", "present"
      "Building", "Mfg. Plant", "City", TRUE
      "Building", "Hydro Plant", "City", TRUE
      "OutputType", "shield", "local", TRUE
      "Building", "Hoover Dam", "Player", FALSE
      "Building", "Nuclear Plant", "City", FALSE
      "Building", "Solar Plant", "City", FALSE
    }

[effect_hydro_plant_2]
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
      "Building", "Solar 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	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Mfg. Plant", "City"
      "OutputType", "shield", "local"
    }

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

[effect_nuclear_plant_1]
type    = "Output_Bonus"
value	= 25
reqs	=
    { "type", "name", "range", "present"
      "Building", "Mfg. Plant", "City", TRUE
      "Building", "Nuclear Plant", "City", TRUE
      "OutputType", "shield", "local", TRUE
      "Building", "Hoover Dam", "Player", FALSE
      "Building", "Solar Plant", "City", FALSE
    }

[effect_nuclear_plant_2]
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
      "Building", "Solar Plant", "City", FALSE
    }

[effect_offshore_platform]
type    = "Output_Add_Tile"
value	= 1
reqs	=
    { "type", "name", "range"
      "TerrainClass", "Oceanic", "Local"
      "Building", "Offshore Platform", "City"
      "OutputType", "shield", "local"
    }

[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_police_station]
type    = "Make_Content_Mil"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Gov", "Republic", "Player", TRUE
      "Building", "Police Station", "City", TRUE
      "Building", "Women's Suffrage", "Player", FALSE
    }

[effect_police_station_1]
type    = "Make_Content_Mil"
value	= 2
reqs	=
    { "type", "name", "range", "present"
      "Gov", "Democracy", "Player", TRUE
      "Building", "Police Station", "City", TRUE
      "Building", "Women's Suffrage", "Player", FALSE
    }

[effect_port_facility]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Port Facility", "City", TRUE
      "UnitClass", "Sea", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
    }

[effect_port_facility_1]
type    = "HP_Regen"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "Port Facility", "City"
      "UnitClass", "Sea", "Local"
    }

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

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

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

[effect_research_lab]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "Building", "Library", "City", TRUE
      "Building", "Research Lab", "City", TRUE
      "OutputType", "science", "local", TRUE
      "Building", "SETI Program", "Player", FALSE
    }

[effect_sam_battery]
type    = "Defend_Bonus"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "SAM Battery", "City"
      "UnitClass", "Air", "Local"
    }

[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_sdi_defense_1]
type    = "Defend_Bonus"
value	= 100
reqs	=
    { "type", "name", "range"
      "Building", "SDI Defense", "City"
      "UnitClass", "Missile", "Local"
    }

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

[effect_solar_plant]
type    = "Output_Bonus"
value	= 25
reqs	=
    { "type", "name", "range"
      "Building", "Factory", "City"
      "Building", "Solar Plant", "City"
      "OutputType", "Shield", "Local"
    }

[effect_solar_plant_1]
type    = "Output_Bonus"
value	= 25
reqs	=
    { "type", "name", "range"
      "Building", "Mfg. Plant", "City"
      "Building", "Solar Plant", "City"
      "OutputType", "Shield", "Local"
    }

[effect_solar_plant_2]
type    = "Pollu_Prod_Pct"
value	= -100
reqs	=
    { "type", "name", "range"
      "Building", "Solar Plant", "City"
    }

[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_stock_exchange]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Bank", "City"
      "Building", "Stock Exchange", "City"
      "OutputType", "gold", "local"
    }

[effect_stock_exchange_1]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Bank", "City"
      "Building", "Stock Exchange", "City"
      "OutputType", "luxury", "local"
    }

[effect_super_highways]
type    = "Output_Per_Tile"
value	= 50
reqs	=
    { "type", "name", "range"
      "Extra", "Road", "Local"
      "Building", "Super Highways", "City"
      "OutputType", "trade", "local"
    }

[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_supermarket]
type    = "Output_Per_Tile"
value	= 50
reqs	=
    { "type", "name", "range"
      "Extra", "Farmland", "Local"
      "Building", "Supermarket", "City"
      "OutputType", "Food", "Local"
    }

[effect_supermarket_center]
type    = "Output_Per_Tile"
value	= 50
reqs	=
    { "type", "name", "range", "present"
      "CityTile", "Center", "Local", TRUE
      "Extra", "Farmland", "Local", FALSE
      "TerrainAlter", "CanIrrigate", "Local", TRUE
      "Building", "Supermarket", "City", TRUE
      "OutputType", "Food", "Local", TRUE
      "Extra", "Mine", "Local", FALSE
    }

[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_Map"
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_asmiths_trading_co]
type    = "Upkeep_Free"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "A.Smith's Trading Co.", "Player"
    }

[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", "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_eiffel_tower]
type    = "Gain_AI_Love"
value	= 40
reqs	=
    { "type", "name", "range"
      "Building", "Eiffel Tower", "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
      "UnitClass", "Land", "Local", TRUE
      "CityTile", "Center", "Local", TRUE
      "UnitType", "Howitzer", "Local", FALSE
    }

[effect_great_wall_0]
type    = "Defend_Bonus"
value	= 200
reqs	=
    { "type", "name", "range"
      "Building", "Great Wall", "Player"
      "UnitClass", "Helicopter", "Local"
      "CityTile", "Center", "Local"
    }

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

[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", "present"
      "Building", "Hanging Gardens", "Player", TRUE
      "Building", "Hanging Gardens", "City", FALSE
    }

[effect_hanging_gardens_1]
type    = "Make_Happy"
value	= 3
reqs	=
    { "type", "name", "range"
      "Building", "Hanging Gardens", "City"
    }

[effect_hoover_dam]
type    = "Output_Bonus"
value	= 25
reqs	=
    { "type", "name", "range", "present"
      "Building", "Factory", "City", TRUE
      "Building", "Hoover Dam", "Player", TRUE
      "OutputType", "Shield", "Local", TRUE
      "Building", "Solar Plant", "City", FALSE
    }

[effect_hoover_dam_1]
type    = "Output_Bonus"
value	= 25
reqs	=
    { "type", "name", "range", "present"
      "Building", "Mfg. Plant", "City", TRUE
      "Building", "Hoover Dam", "Player", TRUE
      "OutputType", "Shield", "Local", TRUE
      "Building", "Solar Plant", "City", FALSE
    }

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

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

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

[effect_king_richards_crusade]
type    = "Output_Add_Tile"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "King Richard's Crusade", "City"
      "OutputType", "shield", "local"
    }

[effect_leonardos_workshop]
type    = "Upgrade_Unit"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Leonardo's Workshop", "Player"
    }

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

[effect_lighthouse_2]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Lighthouse", "Player", TRUE
      "UnitClass", "Sea", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
      "Building", "Port Facility", "City", FALSE
    }

[effect_magellans_expedition]
type    = "Move_Bonus"
value	= 2
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_marco_polos_contact]
type    = "Have_Contacts"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Marco Polo's Embassy", "Player"
    }

[effect_marco_polos_embassy]
type    = "Have_Embassies"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Marco Polo's Embassy", "Player"
    }

[effect_michelangelos_chapel]
type    = "Make_Content"
value	= 3
reqs	=
    { "type", "name", "range"
      "Building", "Michelangelo's Chapel", "Player"
    }

[effect_michelangelos_chapel_1]
type    = "Make_Content"
value	= 1
reqs	=
    { "type", "name", "range"
      "Tech", "Theology", "Player"
      "Building", "Michelangelo's Chapel", "Player"
    }

[effect_michelangelos_chapel_2]
type    = "Make_Content"
value	= -1
reqs	=
    { "type", "name", "range"
      "Tech", "Communism", "Player"
      "Building", "Michelangelo's Chapel", "Player"
    }

[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    = "Growth_Food"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Pyramids", "Player"
    }

[effect_seti_program]
type    = "Output_Bonus"
value	= 50
reqs	=
    { "type", "name", "range"
      "Building", "Library", "City"
      "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_statue_of_liberty]
type    = "Any_Government"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Statue of Liberty", "Player"
    }

[effect_statue_of_liberty_1]
type    = "No_Anarchy"
value	= 1
reqs	=
    { "type", "name", "range"
      "Building", "Statue of Liberty", "Player"
    }

[effect_sun_tzus_war_academy]
type    = "Veteran_Build"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Building", "Sun Tzu's War Academy", "Player", TRUE
      "UnitClass", "Land", "Local", TRUE
      "UnitFlag", "NonMil", "Local", FALSE
      "UnitFlag", "NoVeteran", "Local", FALSE
      "Building", "Barracks", "City", FALSE
      "Building", "Barracks II", "City", FALSE
      "Building", "Barracks III", "City", FALSE
    }

[effect_sun_tzus_war_academy_1]
type    = "Veteran_Combat"
value	= 100
reqs	=
    { "type", "name", "range", "present"
      "Building", "Sun Tzu's War Academy", "Player", TRUE
      "UnitClass", "Land", "Local", TRUE
      "UnitFlag", "Diplomat", "Local", FALSE
    }

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

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

[effect_womens_suffrage_1]
type    = "Make_Content_Mil"
value	= 2
reqs	=
    { "type", "name", "range"
      "Gov", "Democracy", "Player"
      "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_tithes_fundamentalism]
type    = "Happiness_To_Gold"
value   = 1
reqs    =
    { "type", "name", "range"
      "Gov", "Fundamentalism", "Player"
    }

; This calendar is based on civ2 "King" level
[effect_calendar_base]
type    = "Turn_Years"
value   = 50

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

; 25 - 5 = 20
[effect_calendar_2]
type    = "Turn_Years"
value   = -5
reqs    =
    { "type", "name", "range"
      "MinYear", "0", "World"
    }

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

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

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

; 2 - 1 = 1
[effect_calendar_6]
type    = "Turn_Years"
value   = -1
reqs    =
    { "type", "name", "range"
      "MinYear", "1900", "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_pollution]
type	= "Output_Tile_Punish_Pct"
value	= 50
reqs	=
    { "type", "name", "range"
      "Extra", "Pollution", "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
    }

; Allow everyone to declar war on the terrorist nation
[effect_incident_plant_nuke_caught]
type	= "Casus_Belli_Caught"
value	= 1000
reqs	=
    { "type", "name", "range", "present"
      "Action", "Suitcase Nuke Escape", "Local", TRUE
      "Gov", "Fundamentalism", "Player", FALSE
    }

; TODO: Find the exact probability
[effect_suitcase_plant_nuke_unlikely]
type   = "Action_Odds_Pct"
value   = -75
reqs   =
    { "type", "name", "range"
      "Action", "Suitcase Nuke Escape", "Local"
    }

[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_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_esc]
type	= "Casus_Belli_Caught"
value	= 1
reqs	=
    { "type",    "name",                       "range", "present"
      "Action",  "Steal Tech Escape Expected", "Local", TRUE
      "DiplRel", "War",                        "Local", FALSE
    }

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

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

[effect_incident_success_tgt_steal_tech]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type",    "name",                                "range", "present"
      "Action",  "Targeted Steal Tech Escape Expected", "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_sabotage_unit]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Sabotage Unit Escape", "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_incite_esc]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Incite City Escape", "Local", TRUE
      "DiplRel", "War", "Local", FALSE
    }

[effect_incident_success_poison]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Poison City Escape", "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_sabotage_city_esc]
type	= "Casus_Belli_Success"
value	= 1
reqs	=
    { "type", "name", "range", "present"
      "Action", "Sabotage City Escape", "Local", TRUE
      "DiplRel", "War", "Local", FALSE
    }

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

[effect_tgt_sabotage_city_half_chance]
type	= "Action_Odds_Pct"
value	= -50
reqs	=
    { "type", "name", "range", "present"
      "Action", "Targeted Sabotage City Escape", "Local", TRUE
    }

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

[effect_sabotage_city_production_city_half_chance]
type	= "Action_Odds_Pct"
value	= -50
reqs	=
    { "type", "name", "range", "present"
      "Action", "Sabotage City Production Escape", "Local", TRUE
    }

[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 II 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. It didn't take all
; remaining move fragments when disembarking. 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_action_success_move_cost_embassy]
type    = "Action_Success_Actor_Move_Cost"
value   = 1
reqs    =
    { "type", "name", "range", "present"
      "Action", "Establish Embassy", "Local", TRUE
    }

[effect_action_success_move_cost_investigate]
type    = "Action_Success_Actor_Move_Cost"
value   = 1
reqs    =
    { "type", "name", "range", "present"
      "Action", "Investigate City", "Local", TRUE
    }

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

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

*include "default/nation_intelligence_effects.ruleset"
