﻿
building_windmills_requirement_terrain = {
	OR = {
		county = {
			OR = {
				has_county_modifier = geo_modifier_po_valley
				has_county_modifier = geo_modifier_tuscany
				has_county_modifier = geo_modifier_sicily
				has_county_modifier = geo_modifier_italian_farmlands
				has_county_modifier = geo_modifier_low_countries
				has_county_modifier = geo_modifier_silesia	
				has_county_modifier = geo_modifier_rome_shade
			}
		}
		county ?= {
			any_county_province = {
				OR = {
					terrain = farmlands
					terrain = plains
					terrain = hills
					is_coastal = yes
				}
			}
		}
	}
}

building_watermills_requirement_terrain = {
	OR = {
		county = {
			OR = {
				has_county_modifier = geo_modifier_lower_nile
				has_county_modifier = geo_modifier_upper_nile
				has_county_modifier = geo_modifier_po_valley
				has_county_modifier = geo_modifier_ganges_valley
				has_county_modifier = geo_modifier_indus_valley
				has_county_modifier = geo_modifier_low_countries
				has_county_modifier = geo_modifier_silesia
				has_county_modifier = geo_modifier_rheinland
				has_county_modifier = geo_modifier_vistula
				has_county_modifier = geo_modifier_danube
				has_county_modifier = geo_modifier_tigris_euphrates
			}
		}	
		county ?= {
			any_county_province = {
				OR = {
					terrain = mountains
					terrain = wetlands
					terrain = forest
					terrain = taiga
					terrain = jungle
					terrain = terraced_hills
					is_riverside_province = yes
				}
			}
		}
		county = {
			has_county_modifier = mod_grand_canal_modifier
		}
	}
}

building_caravanserai_requirement_terrain = {
	OR = {
		county = {
			OR = {
				has_county_modifier = geo_modifier_trade_convergence_1
				has_county_modifier = geo_modifier_trade_convergence_2
				has_county_modifier = geo_modifier_trade_convergence_3
				has_county_modifier = geo_modifier_natural_harbours_1
				has_county_modifier = geo_modifier_natural_harbours_2
				has_county_modifier = geo_modifier_natural_harbours_3
			}
		}
		county ?= {
			any_county_province = {
				OR = {
					terrain = drylands
					terrain = desert
					terrain = oasis
					terrain = floodplains
					terrain = steppe
					terrain = desert_mountains
					AND = {
						geographical_region = world_europe_west_iberia
						has_global_variable = fp2_struggle_conciliation_ending
					}
				}
			}
		}
	}
}

building_common_tradeport_requirement_terrain = {
	OR = {
		county = {
			OR = {
				has_county_modifier = geo_modifier_natural_harbours_1
				has_county_modifier = geo_modifier_natural_harbours_2
				has_county_modifier = geo_modifier_natural_harbours_3
			}
		}	
		is_coastal = yes
		is_riverside_province = yes	
	}
}
building_farm_estates_requirement_terrain = {
	OR = {
		terrain = farmlands
		county = { 
			has_county_modifier = geo_modifier_sicily
		}
	}
}

building_cereal_fields_requirement_terrain = {
	OR = {
		terrain = farmlands
		terrain = plains
		terrain = drylands
		AND = {
			terrain = floodplains
			NOR = {
				geographical_region = graphical_east_asia
				geographical_region = custom_viet_lands
			}
		}
		county = {
			OR = {
				has_county_modifier = fertile_desert_mountains_modifier
				has_county_modifier = dodekapolis_modifier
			}
		}

		has_building_or_higher = qanats_05
		
		county = {
			OR = {
				has_county_modifier = geo_modifier_italian_farmlands
				has_county_modifier = geo_modifier_tuscany
				has_county_modifier = geo_modifier_rhone
				has_county_modifier = geo_modifier_champagne
				has_county_modifier = geo_modifier_north_france
				has_county_modifier = geo_modifier_loire
				has_county_modifier = geo_modifier_burgundy
				has_county_modifier = geo_modifier_navarre
				has_county_modifier = geo_modifier_tigris_euphrates
				has_county_modifier = geo_modifier_andalusia
				has_county_modifier = geo_modifier_aragon
				has_county_modifier = geo_modifier_rome_shade
				has_county_modifier = geo_modifier_lower_nile
				has_county_modifier = geo_modifier_upper_nile
				has_county_modifier = geo_modifier_ganges_valley
				has_county_modifier = geo_modifier_indus_valley					
			}
		}
	}
}

building_orchards_requirement_terrain = {
	OR = {
		terrain = floodplains
		terrain = oasis
		has_building_or_higher = qanats_05
		AND = {
			culture = {
				has_cultural_parameter = vegetarian_fruit_orchard_allowed
			}
		}
		county = {
			OR = {
				has_county_modifier = geo_modifier_lower_nile
				has_county_modifier = geo_modifier_upper_nile
				has_county_modifier = geo_modifier_tuscany
				has_county_modifier = geo_modifier_sicily
				has_county_modifier = geo_modifier_tigris_euphrates
				has_county_modifier = geo_modifier_rome_shade
				has_county_modifier = geo_modifier_genoa
			}
		}		
	}
}

building_logging_camps_requirement_terrain = {
	OR = {
		terrain = taiga
		terrain = forest
		terrain = jungle
		county = {
			OR = {
				has_county_modifier = geo_modifier_rus_forests
				has_county_modifier = geo_modifier_burgundy
				has_county_modifier = geo_modifier_galicia
			}
		}		
	}
}

building_regimental_grounds_requirement_terrain = {
	OR = {
		terrain = floodplains
		terrain = farmlands
		county ?= {
			any_county_province = {
				OR = {
					has_county_modifier = geo_modifier_trade_convergence_2
					has_county_modifier = geo_modifier_trade_convergence_3
					has_county_modifier = geo_modifier_natural_harbours_1
					has_county_modifier = geo_modifier_natural_harbours_2
					has_county_modifier = geo_modifier_natural_harbours_3
					has_county_modifier = geo_modifier_north_france
				}
			}
		}
	}
}

building_hunting_grounds_requirement_terrain = {
	OR = {
		terrain = plains
		terrain = drylands
		terrain = steppe
		terrain = hills
		terrain = taiga
		terrain = forest
		terrain = jungle
		terrain = wetlands
		county = {
			has_county_modifier = geo_modifier_champagne
		}		
	}
}
#building_murex_farm_requirement_terrain = {
#	is_county_capital = yes
#	OR = {
#		is_coastal = yes
#		county ?= {
#			any_county_province = {
#				OR = {
#					geographical_region = world_aragon
#					geographical_region = world_andalusia
#					geographical_region = world_tuscany
#					geographical_region = world_po_valley
#					geographical_region = world_venice
#					geographical_region = world_genoa
#					geographical_region = world_low_countries
#					#geographical_region = world_natural_harbours_3
#					#geographical_region = world_trade_convergence_3
#				}
#			}
#		}		
#	}
#	OR = {
#		geographical_region = mediteranean_coast
#		county ?= {
#			any_county_province = {
#				OR = {
#					geographical_region = world_aragon
#					geographical_region = world_andalusia
#					geographical_region = world_tuscany
#					geographical_region = world_po_valley
#					geographical_region = world_venice
#					geographical_region = world_genoa
#					geographical_region = world_low_countries
#					#geographical_region = world_natural_harbours_3
#					#geographical_region = world_trade_convergence_3
#				}
#			}
#		}
#	}
#	NOR = {
#		this.barony = title:b_salmydessus
#		this.barony = title:b_chelai
#	}
#}
building_pastures_requirement_terrain = {
	OR = {
		terrain = farmlands
		terrain = plains
		terrain = steppe
		terrain = desert
		terrain = drylands
		terrain = oasis
		terrain = mountains
		terrain = desert_mountains
		terrain = hills
		terrain = floodplains
		AND = {
			terrain = jungle
			NOT = { geographical_region = world_innovation_elephants }
		}
		county = {
			OR = {
				has_county_modifier = geo_modifier_castille
				has_county_modifier = geo_modifier_navarre
			}
		}
	}
}

building_quarries_requirement_terrain = {
	OR = {
		terrain = mountains
		terrain = desert_mountains
		culture = { has_cultural_parameter = can_build_quarries_everywhere }
		county = {
			OR = {
				has_county_modifier = geo_modifier_navarre
				has_county_modifier = geo_modifier_silesia
			}
		}
	}
}

building_peat_quarries_requirement_terrain = {
	OR = {
		terrain = wetlands
		county ?= {
			has_county_modifier = geo_modifier_low_countries
		}	
	}
}


building_paddy_fields_requirement_terrain = {
	OR = {
		terrain = terraced_hills
		AND = {
			terrain = floodplains
			OR = {
				geographical_region = graphical_east_asia
				geographical_region = custom_viet_lands
			}
		}
		AND = {
			terrain = wetlands
			county.culture = { has_cultural_parameter = champa_rice_wet_land_paddies }
		}
		AND = {
			OR = {
				terrain = hills
				terrain = jungle
			}
			county.culture = { has_cultural_parameter = rice_cultivators_can_construct_paddy_fields_in_hills_and_jungle }
		}
		county = {
			OR = {
				has_county_modifier = geo_modifier_po_valley
				has_county_modifier = geo_modifier_tigris_euphrates
				has_county_modifier = geo_modifier_lower_nile
				has_county_modifier = geo_modifier_upper_nile
				has_county_modifier = geo_modifier_ganges_valley
				has_county_modifier = geo_modifier_indus_valley
				
				has_county_modifier = geo_modifier_sicily
			}
		}	
		county = {
			has_county_modifier = mod_grand_canal_modifier
		}		
	}
}
#building_qanats_requirement_terrain = {
# 	county ?= {
#		culture = { has_cultural_parameter = unlocks_qanat_building }
#		county_has_province_with_terrain = {
#			terrain = hills
#			terrain = mountains
#			terrain = desert_mountains
#			terrain = desert
#			terrain = drylands
#		}
#	}
#}

building_breweries_requirement = {
	OR = {
		AND = {
			has_building_or_higher = temple_$NUMBER$
			OR = {
				faith = faith:catholic
				faith = { has_doctrine_parameter = allows_brewery }
			}
		}
		AND = {
			has_building_or_higher = city_$NUMBER$
			culture = { has_cultural_parameter = allows_brewery }
		}
		county = {
			OR = {
				has_county_modifier = geo_modifier_south_france
				has_county_modifier = geo_modifier_rhone
				has_county_modifier = geo_modifier_burgundy
				has_county_modifier = geo_modifier_champagne
				has_county_modifier = geo_modifier_loire
				has_county_modifier = geo_modifier_aragon
				has_county_modifier = geo_modifier_andalusia
			}
		}		
	}
}

building_waterworks_requirement_terrain = {
	is_county_capital = yes
	NOR = {
		terrain = mountains
		terrain = desert_mountains
	}
	OR = {
		scope:holder.culture = { has_cultural_parameter = unlocks_waterworks_buildings }
		county = {
			OR = {
				has_county_modifier = geo_modifier_lower_nile
				has_county_modifier = geo_modifier_upper_nile
				has_county_modifier = geo_modifier_tigris_euphrates
			}
		}
		county = {
			has_county_modifier = mod_grand_canal_modifier
		}		
	}
}

