﻿#####################################################################
# EFFECT LIST
#####################################################################
# !!! Remember to add all new effects with a short description here !!!

#add_next_building_tier_effect
#add_random_building_effect
#add_random_building_variable_effect

#####################################################################
# EFFECTS
#####################################################################

# Builds or upgrades the specified building, e.g. outposts
add_next_building_tier_effect = {
	if = {
		limit = {
			NOT = { has_building_or_higher = $BUILDING$_01 }
		}
		add_building = $BUILDING$_01
	}
	else_if = {
		limit = { has_building = $BUILDING$_01 }
		add_building = $BUILDING$_02
	}
	else_if = {
		limit = { has_building = $BUILDING$_02 }
		add_building = $BUILDING$_03
	}
	else_if = {
		limit = { has_building = $BUILDING$_03 }
		add_building = $BUILDING$_04
	}
	else_if = {
		limit = { has_building = $BUILDING$_04 }
		add_building = $BUILDING$_05
	}
	else_if = {
		limit = { has_building = $BUILDING$_05 }
		add_building = $BUILDING$_06
	}
	else_if = {
		limit = { has_building = $BUILDING$_06 }
		add_building = $BUILDING$_07
	}
	else_if = {
		limit = { has_building = $BUILDING$_07 }
		add_building = $BUILDING$_08
	}
}

#### Create Random Building - 2 Part Effect ####

# creates a random building in a holding, limited by innovations and holding level, and weighted to cheapest/lowest level, excludes tribal holdings/buildings, only for use in castle/church/city baronies

# ensure the event/script where this is used checks that a building can be built, based on innovations and holding level, as if noe can be built this effect will do absolutely nada

# 1, sets variable based on fitness of possible buildings
add_random_building_variable_effect = { # Province scope
	province_owner = { save_scope_as = build_owner }
	province_owner = { save_scope_as = holder } #Since building requirements reference scope:holder.
	random_list = { # Which building?
		# Generic/Terrain
		10 = { # outposts : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = outposts } # Generic eligiblity
				generic_recruitment_building_innovations_trigger = { BUILDING = outposts }
			}
			set_variable = {
				name = random_building_variable
				value = 0
				days = 365
			}
		}
		10 = { # logging_camps : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = logging_camps }
				generic_economic_building_innovation_trigger = { BUILDING = logging_camps }
			}
			set_variable = {
				name = random_building_variable
				value = 1
				days = 365
			}
		}
		10 = { # peat_quarries : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = peat_quarries }
				generic_economic_building_innovation_trigger = { BUILDING = peat_quarries }
			}
			set_variable = {
				name = random_building_variable
				value = 2
				days = 365
			}
		}
		10 = { # hill_forts : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = hill_forts }
				generic_fortification_building_innovations_trigger = { BUILDING = hill_forts }
			}
			set_variable = {
				name = random_building_variable
				value = 3
				days = 365
			}
		}
		10 = { # plantations : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = plantations }
				generic_economic_building_innovation_trigger = { BUILDING = plantations }
			}
			set_variable = {
				name = random_building_variable
				value = 4
				days = 365
			}
		}
		10 = { # quarries : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = quarries }
				generic_economic_building_innovation_trigger = { BUILDING = quarries }
			}
			set_variable = {
				name = random_building_variable
				value = 5
				days = 365
			}
		}
		10 = { # hunting_grounds : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = hunting_grounds }
				generic_economic_building_innovation_trigger = { BUILDING = hunting_grounds }
			}
			set_variable = {
				name = random_building_variable
				value = 6
				days = 365
			}
		}
		10 = { # military_camps : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = military_camps }
				generic_recruitment_building_innovations_trigger = { BUILDING = military_camps }
			}
			set_variable = {
				name = random_building_variable
				value = 7
				days = 365
			}
		}
		10 = { # horse_pastures : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = horse_pastures }
				generic_recruitment_building_innovations_trigger = { BUILDING = horse_pastures }
			}
			set_variable = {
				name = random_building_variable
				value = 8
				days = 365
			}
		}
		10 = { # hillside_grazing : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = hillside_grazing }
				generic_recruitment_building_innovations_trigger = { BUILDING = hillside_grazing }
			}
			set_variable = {
				name = random_building_variable
				value = 9
				days = 365
			}
		}
		10 = { # warrior_lodges : Cheap
			trigger = {
				add_random_building_trigger = { BUILDING = warrior_lodges }
				generic_recruitment_building_innovations_trigger = { BUILDING = warrior_lodges }
			}
			set_variable = {
				name = random_building_variable
				value = 10
				days = 365
			}
		}
		2 = { # pastures : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = pastures }
				generic_economic_building_innovation_trigger = { BUILDING = pastures }
			}
			set_variable = {
				name = random_building_variable
				value = 11
				days = 365
			}
		}
		2 = { # ramparts : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = ramparts }
				generic_fortification_building_innovations_trigger = { BUILDING = ramparts }
			}
			set_variable = {
				name = random_building_variable
				value = 12
				days = 365
			}
		}
		2 = { # curtain_walls : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = curtain_walls }
				generic_fortification_building_innovations_trigger = { BUILDING = curtain_walls }
			}
			set_variable = {
				name = random_building_variable
				value = 13
				days = 365
			}
		}
		2 = { # watchtowers : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = watchtowers }
				generic_fortification_building_innovations_trigger = { BUILDING = watchtowers }
			}
			set_variable = {
				name = random_building_variable
				value = 14
				days = 365
			}
		}
		2 = { # cereal_fields : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = cereal_fields }
				generic_economic_building_innovation_trigger = { BUILDING = cereal_fields }
			}
			set_variable = {
				name = random_building_variable
				value = 15
				days = 365
			}
		}
		2 = { # barracks : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = barracks }
				generic_recruitment_building_innovations_trigger = { BUILDING = barracks }
			}
			set_variable = {
				name = random_building_variable
				value = 16
				days = 365
			}
		}
		2 = { # camel_farms : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = camel_farms }
				generic_recruitment_building_innovations_trigger = { BUILDING = camel_farms }
			}
			set_variable = {
				name = random_building_variable
				value = 17
				days = 365
			}
		}
		2 = { # hill_farms : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = hill_farms }
				generic_economic_building_innovation_trigger = { BUILDING = hill_farms }
			}
			set_variable = {
				name = random_building_variable
				value = 18
				days = 365
			}
		}
		2 = { # elephant_pens : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = elephant_pens }
				generic_economic_building_innovation_trigger = { BUILDING = elephant_pens }
			}
			set_variable = {
				name = random_building_variable
				value = 19
				days = 365
			}
		}
		2 = { # common_tradeport : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = common_tradeport }
				# Innovation triggers
				trigger_if = {
					limit = { has_building_or_higher = common_tradeport_01 }
					scope:build_owner.culture = {
						OR = {
							has_innovation = innovation_crop_rotation
							has_cultural_parameter = next_level_trade_ports
						}
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = common_tradeport_02 }
					building_requirement_castle_city_church = { LEVEL = 02 }
					scope:build_owner.culture = {
						OR = {
							has_innovation = innovation_manorialism
							AND = {
								has_innovation = innovation_crop_rotation
								has_cultural_parameter = next_level_trade_ports
							}
						}
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = common_tradeport_04 }
					building_requirement_castle_city_church = { LEVEL = 03 }
					scope:build_owner.culture = {
						OR = {
							has_innovation = innovation_windmills
							AND = {
								has_innovation = innovation_manorialism
								has_cultural_parameter = next_level_trade_ports
							}
						}
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = common_tradeport_06 }
					building_requirement_castle_city_church = { LEVEL = 04 }
					scope:build_owner.culture = {
						OR = {
							has_innovation = innovation_cranes
							AND = {
								has_innovation = innovation_windmills
								has_cultural_parameter = next_level_trade_ports
							}
						}
					}
				}
			}
			set_variable = {
				name = random_building_variable
				value = 20
				days = 365
			}
		}
		2 = { # hospices : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = hospices }
				generic_economic_building_innovation_trigger = { BUILDING = hospices }
			}
			set_variable = {
				name = random_building_variable
				value = 21
				days = 365
			}
		}
		2 = { # qanats : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = qanats }
				building_requirement_castle_city_church = { LEVEL = 01 }
				trigger_if = {
					limit = {
						NOT = {
							has_building_or_higher = qanats_01
						}
					}
					scope:build_owner.culture = {
						has_cultural_parameter = unlocks_qanat_building
					}
				}
				trigger_if = {
					limit = {
						has_building_or_higher = qanats_02
					}
					building_requirement_castle_city_church = { LEVEL = 02 }
				}
				trigger_if = {
					limit = {
						has_building_or_higher = qanats_04
					}
					building_requirement_castle_city_church = { LEVEL = 03 }
				}
				trigger_if = {
					limit = {
						has_building_or_higher = qanats_06
					}
					building_requirement_castle_city_church = { LEVEL = 04 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 22
				days = 365
			}
		}
		2 = { # murex_farm : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = murex_farm }
				building_requirement_castle_city_church = { LEVEL = 01 }
				county = { NOT = { has_county_modifier = backwater_county_modifier } }
				trigger_if = {
					limit = {
						has_building_or_higher = murex_farm_02
					}
					building_requirement_castle_city_church = { LEVEL = 02 }
				}
				trigger_if = {
					limit = {
						has_building_or_higher = murex_farm_04
					}
					building_requirement_castle_city_church = { LEVEL = 03 }
				}
				trigger_if = {
					limit = {
						has_building_or_higher = murex_farm_06
					}
					building_requirement_castle_city_church = { LEVEL = 03 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 23
				days = 365
			}
		}
		2 = { # wind_furnace : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = wind_furnace }
				building_requirement_castle_city_church = { LEVEL = 01 }
				trigger_if = {
					limit = {
						has_building_or_higher = wind_furnace_01
					}
					scope:build_owner.culture = {
						has_innovation = innovation_barracks
					}
				}
				trigger_if = {
					limit = {
						has_building_or_higher = wind_furnace_02
					}
					building_requirement_castle_city_church = { LEVEL = 02 }
					scope:build_owner.culture = {
						has_innovation = innovation_burhs
					}
				}
				trigger_if = {
					limit = {
						has_building_or_higher = wind_furnace_04
					}
					building_requirement_castle_city_church = { LEVEL = 03 }
					scope:build_owner.culture = {
						has_innovation = innovation_castle_baileys
					}
				}
				trigger_if = {
					limit = {
						has_building_or_higher = wind_furnace_05
					}
					scope:build_owner.culture = {
						has_innovation = innovation_royal_armory
					}
				}
				trigger_if = {
					limit = {
						has_building_or_higher = wind_furnace_06
					}
					building_requirement_castle_city_church = { LEVEL = 04 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 24
				days = 365
			}
		}
		2 = { # stables : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = stables }
				generic_recruitment_building_innovations_trigger = { BUILDING = stables }
			}
			set_variable = {
				name = random_building_variable
				value = 25
				days = 365
			}
		}
		2 = { # smiths : Normal
			trigger = {
				add_random_building_trigger = { BUILDING = smiths }
				generic_recruitment_building_innovations_trigger = { BUILDING = smiths }
			}
			set_variable = {
				name = random_building_variable
				value = 26
				days = 365
			}
		}
		1 = { # orchards : Expensive
			trigger = {
				add_random_building_trigger = { BUILDING = orchards }
				generic_economic_building_innovation_trigger = { BUILDING = orchards }
			}
			set_variable = {
				name = random_building_variable
				value = 27
				days = 365
			}
		}
		1 = { # farm_estates : Expensive
			trigger = {
				add_random_building_trigger = { BUILDING = farm_estates }
				generic_economic_building_innovation_trigger = { BUILDING = farm_estates }
			}
			set_variable = {
				name = random_building_variable
				value = 28
				days = 365
			}
		}
		1 = { # regimental_grounds : Expensive
			trigger = {
				add_random_building_trigger = { BUILDING = regimental_grounds }
				generic_recruitment_building_innovations_trigger = { BUILDING = regimental_grounds }
			}
			set_variable = {
				name = random_building_variable
				value = 29
				days = 365
			}
		}
		1 = { # caravanserai : Expensive
			trigger = {
				is_county_capital = yes
				building_caravanserai_requirement_terrain = yes
				scope:build_owner.culture = {
					has_innovation = innovation_guilds
				}
				building_requirement_castle_city_church = { LEVEL = 01 }
				trigger_if = { # if all slots are full, this building type exists already
					limit = { free_building_slots = 0 }
					has_building_or_higher = caravanserai_01
				}
				trigger_if = {
					limit = { has_building_or_higher = caravanserai_01 }
					NOT = {
						has_lesser_building_trigger = { COMPARE = caravanserai }
					}
				}
				# City level triggers
				trigger_if = {
					limit = { has_building_or_higher = caravanserai_02 }
					building_requirement_castle_city_church = { LEVEL = 02 }
				}
				trigger_if = {
					limit = { has_building_or_higher = caravanserai_04 }
					building_requirement_castle_city_church = { LEVEL = 03 }
				}
				trigger_if = {
					limit = { has_building_or_higher = caravanserai_05 }
					scope:build_owner.culture = { has_innovation = innovation_cranes }
				}
				trigger_if = {
					limit = { has_building_or_higher = caravanserai_06 }
					building_requirement_castle_city_church = { LEVEL = 04 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 30
				days = 365
			}
		}
		1 = { # watermills : Expensive
			trigger = {
				is_county_capital = yes
				building_watermills_requirement_terrain = yes
				scope:build_owner.culture = {
					has_innovation = innovation_windmills
				}
				building_requirement_castle_city_church = { LEVEL = 01 }
				trigger_if = { # if all slots are full, this building type exists already
					limit = { free_building_slots = 0 }
					has_building_or_higher = watermills_01
				}
				trigger_if = {
					limit = { has_building_or_higher = watermills_01 }
					NOT = {
						has_lesser_building_trigger = { COMPARE = watermills }
					}
				}
				# City level triggers
				trigger_if = {
					limit = { has_building_or_higher = watermills_02 }
					building_requirement_castle_city_church = { LEVEL = 02 }
				}
				trigger_if = {
					limit = { has_building_or_higher = watermills_04 }
					building_requirement_castle_city_church = { LEVEL = 03 }
				}
				trigger_if = {
					limit = { has_building_or_higher = watermills_05 }
					scope:build_owner.culture = { has_innovation = innovation_cranes }
				}
				trigger_if = {
					limit = { has_building_or_higher = watermills_06 }
					building_requirement_castle_city_church = { LEVEL = 04 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 31
				days = 365
			}
		}
		1 = { # windmills : Expensive
			trigger = {
				is_county_capital = yes
				building_windmills_requirement_terrain = yes
				scope:build_owner.culture = {
					has_innovation = innovation_windmills
				}
				building_requirement_castle_city_church = { LEVEL = 01 }
				trigger_if = { # if all slots are full, this building type exists already
					limit = { free_building_slots = 0 }
					has_building_or_higher = windmills_01
				}
				trigger_if = {
					limit = { has_building_or_higher = windmills_01 }
					NOT = {
						has_lesser_building_trigger = { COMPARE = windmills }
					}
				}
				# City level triggers
				trigger_if = {
					limit = { has_building_or_higher = windmills_02 }
					building_requirement_castle_city_church = { LEVEL = 02 }
				}
				trigger_if = {
					limit = { has_building_or_higher = windmills_04 }
					building_requirement_castle_city_church = { LEVEL = 03 }
				}
				trigger_if = {
					limit = { has_building_or_higher = windmills_05 }
					scope:build_owner.culture = { has_innovation = innovation_cranes }
				}
				trigger_if = {
					limit = { has_building_or_higher = windmills_06 }
					building_requirement_castle_city_church = { LEVEL = 04 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 32
				days = 365
			}
		}
		1 = { # workshops : Expensive
			trigger = {
				add_random_building_trigger = { BUILDING = workshops }
				building_requirement_castle_city_church = { LEVEL = 01 }
				scope:build_owner.culture = {
					has_innovation = innovation_advanced_bowmaking
				}
				trigger_if = {
					limit = {
						has_building_or_higher = workshops_02
					}
					building_requirement_castle_city_church = { LEVEL = 02 }
				}
				trigger_if = {
					limit = {
						has_building_or_higher = workshops_04
					}
					building_requirement_castle_city_church = { LEVEL = 03 }
				}
				trigger_if = {
					limit = {
						has_building_or_higher = workshops_05
					}
					scope:build_owner.culture = {
						has_innovation = innovation_royal_armory
					}
				}
				trigger_if = {
					limit = {
						has_building_or_higher = workshops_06
					}
					building_requirement_castle_city_church = { LEVEL = 04 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 33
				days = 365
			}
		}
		# Holding Type Specific : Normal
		10 = { # monastic_schools : Normal
			trigger = {
				has_holding_type = church_holding
				trigger_if = { # if all slots are full, this building type exists already
					limit = { free_building_slots = 0 }
					has_building_or_higher = monastic_schools_01
				}
				trigger_if = {
					limit = { has_building_or_higher = monastic_schools_01 }
					NOT = {
						has_lesser_building_trigger = { COMPARE = monastic_schools }
					}
				}
				# Innovation triggers
				trigger_if = {
					limit = { has_building_or_higher = monastic_schools_01 }
					scope:build_owner.culture = { has_innovation = innovation_city_planning }
				}
				trigger_if = {
					limit = { has_building_or_higher = monastic_schools_02 }
					building_requirement_castle_city_church = { LEVEL = 02 }
					scope:build_owner.culture = { has_innovation = innovation_manorialism }
				}
				trigger_if = {
					limit = { has_building_or_higher = monastic_schools_04 }
					building_requirement_castle_city_church = { LEVEL = 03 }
					scope:build_owner.culture = { has_innovation = innovation_windmills }
				}
				trigger_if = {
					limit = { has_building_or_higher = monastic_schools_06 }
					building_requirement_castle_city_church = { LEVEL = 04 }
					scope:build_owner.culture = { has_innovation = innovation_cranes }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 34
				days = 365
			}
		}
		10 = { # guild_halls : Normal
			trigger = {
				has_holding_type = city_holding
				trigger_if = { # if all slots are full, this building type exists already
					limit = { free_building_slots = 0 }
					has_building_or_higher = guild_halls_01
				}
				trigger_if = {
					limit = { has_building_or_higher = guild_halls_01 }
					NOT = {
						has_lesser_building_trigger = { COMPARE = guild_halls }
					}
				}
				# Innovation triggers
				trigger_if = {
					limit = { has_building_or_higher = guild_halls_01 }
					scope:build_owner.culture = {
						OR = {
							has_innovation = innovation_crop_rotation
							has_cultural_parameter = next_level_guild_halls
						}
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = guild_halls_02 }
					OR = {
						AND = {
							building_requirement_castle_city_church = { LEVEL = 02 }
							scope:build_owner.culture = {
								has_innovation = innovation_manorialism
							}
						}
						scope:build_owner.culture = {
							has_cultural_parameter = next_level_guild_halls
							has_innovation = innovation_crop_rotation
						}
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = guild_halls_04 }
					OR = {
						AND = {
							building_requirement_castle_city_church = { LEVEL = 03 }
							scope:build_owner.culture = {
								has_innovation = innovation_guilds
							}
						}
						AND = {
							building_requirement_castle_city_church = { LEVEL = 02 }
							scope:build_owner.culture = {
								has_cultural_parameter = next_level_guild_halls
								has_innovation = innovation_manorialism
							}
						}
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = guild_halls_06 }
					OR = {
						AND = {
							building_requirement_castle_city_church = { LEVEL = 04 }
							scope:build_owner.culture = {
								has_innovation = innovation_cranes
							}
						}
						AND = {
							building_requirement_castle_city_church = { LEVEL = 03 }
							scope:build_owner.culture = {
								has_cultural_parameter = next_level_guild_halls
								has_innovation = innovation_guilds
							}
						}
					}
				}
			}
			set_variable = {
				name = random_building_variable
				value = 35
				days = 365
			}
		}
		10 = { # scriptorium : Normal
			trigger = {
				has_holding_type = church_holding
				scope:build_owner = {
					has_dlc_feature = legends
				}
				trigger_if = { # if all slots are full, this building type exists already
					limit = { free_building_slots = 0 }
					has_building_or_higher = scriptorium_01
				}
				trigger_if = {
					limit = { has_building_or_higher = scriptorium_01 }
					NOT = {
						has_lesser_building_trigger = { COMPARE = scriptorium }
					}
				}
				generic_economic_building_innovation_trigger = { BUILDING = scriptorium }
			}
			set_variable = {
				name = random_building_variable
				value = 36
				days = 365
			}
		}
		10 = { # megalith : Normal
			trigger = {
				has_holding_type = church_holding
				scope:build_owner.faith = {
					has_doctrine_parameter = can_build_megaliths
				}
				trigger_if = { # if all slots are full, this building type exists already
					limit = { free_building_slots = 0 }
					has_building_or_higher = megalith_01
				}
				trigger_if = {
					limit = { has_building_or_higher = megalith_01 }
					NOT = {
						has_lesser_building_trigger = { COMPARE = megalith }
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = megalith_02 }
					scope:build_owner.culture = {
						has_innovation = innovation_city_planning
					}
				}
				trigger_if = {
					limit = { has_building_or_higher = megalith_03 }
					building_requirement_castle_city_church = { LEVEL = 02 }
				}
			}
			set_variable = {
				name = random_building_variable
				value = 37
				days = 365
			}
		}
	}
}

# 2, builds based on variable
add_random_building_construct_effect = { # Province scope
	if = {
		limit = { has_variable = random_building_variable }
		switch = {
			trigger = var:random_building_variable
			0 = {
				add_next_building_tier_effect = { BUILDING = outposts }
			}
			1 = {
				add_next_building_tier_effect = { BUILDING = logging_camps }
			}
			2 = {
				add_next_building_tier_effect = { BUILDING = peat_quarries }
			}
			3 = {
				add_next_building_tier_effect = { BUILDING = hill_forts }
			}
			4 = {
				add_next_building_tier_effect = { BUILDING = plantations }
			}
			5 = {
				add_next_building_tier_effect = { BUILDING = quarries }
			}
			6 = {
				add_next_building_tier_effect = { BUILDING = hunting_grounds }
			}
			7 = {
				add_next_building_tier_effect = { BUILDING = military_camps }
			}
			8 = {
				add_next_building_tier_effect = { BUILDING = horse_pastures }
			}
			9 = {
				add_next_building_tier_effect = { BUILDING = hillside_grazing }
			}
			10 = {
				add_next_building_tier_effect = { BUILDING = warrior_lodges }
			}
			11 = {
				add_next_building_tier_effect = { BUILDING = pastures }
			}
			12 = {
				add_next_building_tier_effect = { BUILDING = ramparts }
			}
			13 = {
				add_next_building_tier_effect = { BUILDING = curtain_walls }
			}
			14 = {
				add_next_building_tier_effect = { BUILDING = watchtowers }
			}
			15 = {
				add_next_building_tier_effect = { BUILDING = cereal_fields }
			}
			16 = {
				add_next_building_tier_effect = { BUILDING = barracks }
			}
			17 = {
				add_next_building_tier_effect = { BUILDING = camel_farms }
			}
			18 = {
				add_next_building_tier_effect = { BUILDING = hill_farms }
			}
			19 = {
				add_next_building_tier_effect = { BUILDING = elephant_pens }
			}
			20 = {
				add_next_building_tier_effect = { BUILDING = common_tradeport }
			}
			21 = {
				add_next_building_tier_effect = { BUILDING = hospices }
			}
			22 = {
				add_next_building_tier_effect = { BUILDING = qanats }
			}
			23 = {
				add_next_building_tier_effect = { BUILDING = murex_farm }
			}
			24 = {
				add_next_building_tier_effect = { BUILDING = wind_furnace }
			}
			25 = {
				add_next_building_tier_effect = { BUILDING = stables }
			}
			26 = {
				add_next_building_tier_effect = { BUILDING = smiths }
			}
			27 = {
				add_next_building_tier_effect = { BUILDING = orchards }
			}
			28 = {
				add_next_building_tier_effect = { BUILDING = farm_estates }
			}
			29 = {
				add_next_building_tier_effect = { BUILDING = regimental_grounds }
			}
			30 = {
				add_next_building_tier_effect = { BUILDING = caravanserai }
			}
			31 = {
				add_next_building_tier_effect = { BUILDING = windmills }
			}
			32 = {
				add_next_building_tier_effect = { BUILDING = watermills }
			}
			33 = {
				add_next_building_tier_effect = { BUILDING = workshops }
			}
			34 = {
				add_next_building_tier_effect = { BUILDING = monastic_schools }
			}
			35 = {
				add_next_building_tier_effect = { BUILDING = guild_halls }
			}
			36 = {
				add_next_building_tier_effect = { BUILDING = scriptorium }
			}
			37 = {
				add_next_building_tier_effect = { BUILDING = megalith }
			}
		}
		remove_variable = random_building_variable
	}
}

# For stuff that has exactly _eight_ levels of upgrades.
destroy_or_downgrade_building_effect = {
	if = {
		limit = { has_building = $BUILDING$_08 }
		remove_building = $BUILDING$_08
		hidden_effect = { add_building = $BUILDING$_07 }
	}
	else_if = {
		limit = { has_building = $BUILDING$_07 }
		remove_building = $BUILDING$_07
		hidden_effect = { add_building = $BUILDING$_06 }
	}
	else_if = {
		limit = { has_building = $BUILDING$_06 }
		remove_building = $BUILDING$_06
		hidden_effect = { add_building = $BUILDING$_05 }
	}
	else_if = {
		limit = { has_building = $BUILDING$_05 }
		remove_building = $BUILDING$_05
		hidden_effect = { add_building = $BUILDING$_04 }
	}
	else_if = {
		limit = { has_building = $BUILDING$_04 }
		remove_building = $BUILDING$_04
		hidden_effect = { add_building = $BUILDING$_03 }
	}
	else_if = {
		limit = { has_building = $BUILDING$_03 }
		remove_building = $BUILDING$_03
		hidden_effect = { add_building = $BUILDING$_02 }
	}
	else_if = {
		limit = { has_building = $BUILDING$_02 }
		remove_building = $BUILDING$_02
		hidden_effect = { add_building = $BUILDING$_01 }
	}
	else = { remove_building = $BUILDING$_01 }
}

# For stuff that has exactly _three_ levels of upgrades.
destroy_or_downgrade_ducal_building_effect = {
	if = {
		limit = { has_building = $BUILDING$_03 }
		remove_building = $BUILDING$_03
		hidden_effect = { add_building = $BUILDING$_02 }
	}
	else_if = {
		limit = { has_building = $BUILDING$_02 }
		remove_building = $BUILDING$_02
		hidden_effect = { add_building = $BUILDING$_01 }
	}
	else = { remove_building = $BUILDING$_01 }
}

# For stuff that has exactly _two_ levels of upgrades.
destroy_or_downgrade_tribal_building_effect = {
	if = {
		limit = { has_building = $BUILDING$_02 }
		remove_building = $BUILDING$_02
		hidden_effect = { add_building = $BUILDING$_01 }
	}
	else = { remove_building = $BUILDING$_01 }
}

destroy_random_building_variable_effect = { # Province scope
	save_scope_as = raid_province
	if = {
		limit = { has_variable = destroyed_building_variable }
		remove_variable = destroyed_building_variable
	}
	random_list = { # Which building?
		# Generic/Terrain
		10 = { # outposts : Cheap
			trigger = { has_building_or_higher = outposts_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 0
				months = 1
			}
		}
		10 = { # logging_camps : Cheap
			trigger = { has_building_or_higher = logging_camps_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 1
				months = 1
			}
		}
		10 = { # peat_quarries : Cheap
			trigger = { has_building_or_higher = peat_quarries_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 2
				months = 1
			}
		}
		10 = { # hill_forts : Cheap
			trigger = { has_building_or_higher = hill_forts_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 3
				months = 1
			}
		}
		10 = { # plantations : Cheap
			trigger = { has_building_or_higher = plantations_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 4
				months = 1
			}
		}
		10 = { # quarries : Cheap
			trigger = { has_building_or_higher = quarries_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 5
				months = 1
			}
		}
		10 = { # hunting_grounds : Cheap
			trigger = { has_building_or_higher = hunting_grounds_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 6
				months = 1
			}
		}
		10 = { # military_camps : Cheap
			trigger = { has_building_or_higher = military_camps_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 7
				months = 1
			}
		}
		10 = { # horse_pastures : Cheap
			trigger = { has_building_or_higher = horse_pastures_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 8
				months = 1
			}
		}
		10 = { # hillside_grazing : Cheap
			trigger = { has_building_or_higher = hillside_grazing_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 9
				months = 1
			}
		}
		10 = { # warrior_lodges : Cheap
			trigger = { has_building_or_higher = warrior_lodges_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 10
				months = 1
			}
		}
		2 = { # pastures : Normal
			trigger = { has_building_or_higher = pastures_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 11
				months = 1
			}
		}
		2 = { # ramparts : Normal
			trigger = { has_building_or_higher = ramparts_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 12
				months = 1
			}
		}
		2 = { # curtain_walls : Normal
			trigger = { has_building_or_higher = curtain_walls_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 13
				months = 1
			}
		}
		2 = { # watchtowers : Normal
			trigger = { has_building_or_higher = watchtowers_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 14
				months = 1
			}
		}
		2 = { # cereal_fields : Normal
			trigger = { has_building_or_higher = cereal_fields_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 15
				months = 1
			}
		}
		2 = { # barracks : Normal
			trigger = { has_building_or_higher = barracks_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 16
				months = 1
			}
		}
		2 = { # camel_farms : Normal
			trigger = { has_building_or_higher = camel_farms_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 17
				months = 1
			}
		}
		2 = { # hill_farms : Normal
			trigger = { has_building_or_higher = hill_farms_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 18
				months = 1
			}
		}
		2 = { # elephant_pens : Normal
			trigger = { has_building_or_higher = elephant_pens_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 19
				months = 1
			}
		}
		2 = { # common_tradeport : Normal
			trigger = { has_building_or_higher = common_tradeport_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 20
				months = 1
			}
		}
		2 = { # hospices : Normal
			trigger = { has_building_or_higher = hospices_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 21
				months = 1
			}
		}
		2 = { # qanats : Normal
			trigger = { has_building_or_higher = qanats_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 22
				months = 1
			}
		}
		2 = { # murex_farm : Normal
			trigger = { has_building_or_higher = murex_farm_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 23
				months = 1
			}
		}
		2 = { # wind_furnace : Normal
			trigger = { has_building_or_higher = wind_furnace_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 24
				months = 1
			}
		}
		2 = { # stables : Normal
			trigger = { has_building_or_higher = stables_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 25
				months = 1
			}
		}
		2 = { # smiths : Normal
			trigger = { has_building_or_higher = smiths_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 26
				months = 1
			}
		}
		1 = { # orchards : Expensive
			trigger = { has_building_or_higher = orchards_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 27
				months = 1
			}
		}
		1 = { # farm_estates : Expensive
			trigger = { has_building_or_higher = farm_estates_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 28
				months = 1
			}
		}
		1 = { # regimental_grounds : Expensive
			trigger = { has_building_or_higher = regimental_grounds_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 29
				months = 1
			}
		}
		1 = { # caravanserai : Expensive
			trigger = { has_building_or_higher = caravanserai_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 30
				months = 1
			}
		}
		1 = { # watermills : Expensive
			trigger = { has_building_or_higher = watermills_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 31
				months = 1
			}
		}
		1 = { # windmills : Expensive
			trigger = { has_building_or_higher = windmills_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 32
				months = 1
			}
		}
		1 = { # workshops : Expensive
			trigger = { has_building_or_higher = workshops_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 33
				months = 1
			}
		}
		# Holding Type Specific : Normal
		10 = { # monastic_schools : Normal
			trigger = { has_building_or_higher = monastic_schools_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 21
				months = 1
			}
		}
		10 = { # guild_halls : Normal
			trigger = { has_building_or_higher = guild_halls_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 35
				months = 1
			}
		}
		10 = { # scriptorium : Normal
			trigger = { has_building_or_higher = scriptorium_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 36
				months = 1
			}
		}
		10 = { # megalith : Normal
			trigger = { has_building_or_higher = megalith_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 37
				months = 1
			}
		}
	}
}

destroy_random_building_effect = {
	if = {
		limit = { has_variable = destroyed_building_variable }
		switch = {
			trigger = var:destroyed_building_variable
			0 = { # outposts : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = outposts }
			}
			1 = { # logging_camps : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = logging_camps }
			}
			2 = { # peat_quarries : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = peat_quarries }
			}
			3 = { # hill_forts : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = hill_forts }
			}
			4 = { # plantations : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = plantations }
			}
			5 = { # quarries : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = quarries }
			}
			6 = { # hunting_grounds : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = hunting_grounds }
			}
			7 = { # military_camps : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = military_camps }
			}
			8 = { # horse_pastures : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = horse_pastures }
			}
			9 = { # hillside_grazing : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = hillside_grazing }
			}
			10 = { # warrior_lodges : Cheap
				destroy_or_downgrade_building_effect = { BUILDING = warrior_lodges }
			}
			11 = { # pastures : Normal
				destroy_or_downgrade_building_effect = { BUILDING = pastures }
			}
			12 = { # ramparts : Normal
				destroy_or_downgrade_building_effect = { BUILDING = ramparts }
			}
			13 = { # curtain_walls : Normal
				destroy_or_downgrade_building_effect = { BUILDING = curtain_walls }
			}
			14 = { # watchtowers : Normal
				destroy_or_downgrade_building_effect = { BUILDING = watchtowers }
			}
			15 = { # cereal_fields : Normal
				destroy_or_downgrade_building_effect = { BUILDING = cereal_fields }
			}
			16 = { # barracks : Normal
				destroy_or_downgrade_building_effect = { BUILDING = barracks }
			}
			17 = { # camel_farms : Normal
				destroy_or_downgrade_building_effect = { BUILDING = camel_farms }
			}
			18 = { # hill_farms : Normal
				destroy_or_downgrade_building_effect = { BUILDING = hill_farms }
			}
			19 = { # elephant_pens : Normal
				destroy_or_downgrade_building_effect = { BUILDING = elephant_pens }
			}
			20 = { # common_tradeport : Normal
				destroy_or_downgrade_building_effect = { BUILDING = common_tradeport }
			}
			21 = { # hospices : Normal
				destroy_or_downgrade_building_effect = { BUILDING = hospices }
			}
			22 = { # qanats : Normal
				destroy_or_downgrade_building_effect = { BUILDING = qanats }
			}
			23 = { # murex_farm : Normal
				destroy_or_downgrade_building_effect = { BUILDING = murex_farm }
			}
			24 = { # wind_furnace : Normal
				destroy_or_downgrade_building_effect = { BUILDING = wind_furnace }
			}
			25 = { # stables : Normal
				destroy_or_downgrade_building_effect = { BUILDING = stables }
			}
			26 = { # smiths : Normal
				destroy_or_downgrade_building_effect = { BUILDING = smiths }
			}
			27 = { # orchards : Expensive
				destroy_or_downgrade_building_effect = { BUILDING = orchards }
			}
			28 = { # farm_estates : Expensive
				destroy_or_downgrade_building_effect = { BUILDING = farm_estates }
			}
			29 = { # regimental_grounds : Expensive
				destroy_or_downgrade_building_effect = { BUILDING = regimental_grounds }
			}
			30 = { # caravanserai : Expensive
				destroy_or_downgrade_building_effect = { BUILDING = caravanserai }
			}
			31 = { # watermills : Expensive
				destroy_or_downgrade_building_effect = { BUILDING = watermills }
			}
			32 = { # windmills : Expensive
				destroy_or_downgrade_building_effect = { BUILDING = windmills }
			}
			33 = { # workshops : Expensive
				destroy_or_downgrade_building_effect = { BUILDING = workshops }
			}
			# Holding Type Specific : Normal
			34 = { # monastic_schools : Normal
				destroy_or_downgrade_building_effect = { BUILDING = monastic_schools }
			}
			35 = { # guild_halls : Normal
				destroy_or_downgrade_building_effect = { BUILDING = guild_halls }
			}
			36 = { # scriptorium : Normal
				destroy_or_downgrade_building_effect = { BUILDING = scriptorium }
			}
			37 = { # megalith : Normal
				destroy_or_downgrade_building_effect = { BUILDING = megalith }
			}
		}
		remove_variable = destroyed_building_variable
	}
}

destroy_or_downgrade_estate_building_2_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_02 }
		remove_domicile_building = $BUILDING$_02
		hidden_effect = { add_domicile_building = $BUILDING$_01 }
	}
	else = { remove_domicile_building = $BUILDING$_01 }
}

destroy_or_downgrade_estate_building_3_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_03 }
		remove_domicile_building = $BUILDING$_03
		hidden_effect = { add_domicile_building = $BUILDING$_02 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_02 }
		remove_domicile_building = $BUILDING$_02
		hidden_effect = { add_domicile_building = $BUILDING$_01 }
	}
	else = { remove_domicile_building = $BUILDING$_01 }
}

destroy_or_downgrade_estate_building_4_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_04 }
		remove_domicile_building = $BUILDING$_04
		hidden_effect = { add_domicile_building = $BUILDING$_03 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_03 }
		remove_domicile_building = $BUILDING$_03
		hidden_effect = { add_domicile_building = $BUILDING$_02 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_02 }
		remove_domicile_building = $BUILDING$_02
		hidden_effect = { add_domicile_building = $BUILDING$_01 }
	}
	else = { remove_domicile_building = $BUILDING$_01 }
}

destroy_or_downgrade_estate_building_5_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_05 }
		remove_domicile_building = $BUILDING$_05
		hidden_effect = { add_domicile_building = $BUILDING$_04 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_04 }
		remove_domicile_building = $BUILDING$_04
		hidden_effect = { add_domicile_building = $BUILDING$_03 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_03 }
		remove_domicile_building = $BUILDING$_03
		hidden_effect = { add_domicile_building = $BUILDING$_02 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_02 }
		remove_domicile_building = $BUILDING$_02
		hidden_effect = { add_domicile_building = $BUILDING$_01 }
	}
	else = { remove_domicile_building = $BUILDING$_01 }
}

destroy_or_downgrade_estate_building_6_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_06 }
		remove_domicile_building = $BUILDING$_06
		hidden_effect = { add_domicile_building = $BUILDING$_05 }
	}
	if = {
		limit = { has_domicile_building = $BUILDING$_05 }
		remove_domicile_building = $BUILDING$_05
		hidden_effect = { add_domicile_building = $BUILDING$_04 }
	}
	if = {
		limit = { has_domicile_building = $BUILDING$_04 }
		remove_domicile_building = $BUILDING$_04
		hidden_effect = { add_domicile_building = $BUILDING$_03 }
	}
	if = {
		limit = { has_domicile_building = $BUILDING$_03 }
		remove_domicile_building = $BUILDING$_03
		hidden_effect = { add_domicile_building = $BUILDING$_02 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_02 }
		remove_domicile_building = $BUILDING$_02
		hidden_effect = { add_domicile_building = $BUILDING$_01 }
	}
	else = { remove_domicile_building = $BUILDING$_01 }
}

destroy_or_downgrade_estate_building_2_4_replacement_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_04 }
		remove_domicile_building = $BUILDING$_04
		hidden_effect = { add_domicile_building = $BUILDING$_03 }
	}
	else = {
		remove_domicile_building = $BUILDING$_03
		hidden_effect = { add_domicile_building = $REPLACEMENT$_02 }
	}
}

destroy_or_downgrade_estate_building_2_6_replacement_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_06 }
		remove_domicile_building = $BUILDING$_06
		hidden_effect = { add_domicile_building = $BUILDING$_05 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_05 }
		remove_domicile_building = $BUILDING$_05
		hidden_effect = { add_domicile_building = $BUILDING$_04 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_04 }
		remove_domicile_building = $BUILDING$_04
		hidden_effect = { add_domicile_building = $BUILDING$_03 }
	}
	else = {
		remove_domicile_building = $BUILDING$_03
		hidden_effect = { add_domicile_building = $REPLACEMENT$_02 }
	}
}

destroy_or_downgrade_estate_building_3_6_replacement_effect = {
	if = {
		limit = { has_domicile_building = $BUILDING$_06 }
		remove_domicile_building = $BUILDING$_06
		hidden_effect = { add_domicile_building = $BUILDING$_05 }
	}
	else_if = {
		limit = { has_domicile_building = $BUILDING$_05 }
		remove_domicile_building = $BUILDING$_05
		hidden_effect = { add_domicile_building = $BUILDING$_04 }
	}
	else = {
		remove_domicile_building = $BUILDING$_04
		hidden_effect = { add_domicile_building = $REPLACEMENT$_03 }
	}
}

destroy_random_estate_building_variable_effect = { # Domicile scope
	save_scope_as = raid_domicile
	if = {
		limit = { has_variable = destroyed_building_variable }
		remove_variable = destroyed_building_variable
	}
	random_list = { # Which building?
		# Generic/Terrain
		10 = { # barracks : Normal
			trigger = { has_domicile_building_or_higher = barracks_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 0
				months = 1
			}
		}
		10 = { # watchtower : Normal
			trigger = { has_domicile_building_or_higher = watchtower_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 1
				months = 1
			}
		}
		10 = { # guardhouse : Normal
			trigger = { has_domicile_building_or_higher = guardhouse_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 2
				months = 1
			}
		}
		10 = { # garden : Normal
			trigger = { has_domicile_building_or_higher = garden_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 3
				months = 1
			}
		}
		10 = { # stable : Normal
			trigger = { has_domicile_building_or_higher = stable_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 4
				months = 1
			}
		}
		10 = { # workshop : Normal
			trigger = { has_domicile_building_or_higher = workshop_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 5
				months = 1
			}
		}
		10 = { # storage : Normal
			trigger = { has_domicile_building_or_higher = storage_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 6
				months = 1
			}
		}
		10 = { # market : Normal
			trigger = { has_domicile_building_or_higher = market_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 7
				months = 1
			}
		}
		10 = { # grazing_land : Normal
			trigger = { has_domicile_building_or_higher = grazing_land_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 8
				months = 1
			}
		}
		10 = { # grain_field : Normal
			trigger = { has_domicile_building_or_higher = grain_field_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 9
				months = 1
			}
		}
		10 = { # living_quarters : Normal
			trigger = { has_domicile_building_or_higher = living_quarters_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 10
				months = 1
			}
		}
		10 = { # vineyard : Normal
			trigger = { has_domicile_building_or_higher = vineyard_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 11
				months = 1
			}
		}
		10 = { # olive : Normal
			trigger = { has_domicile_building_or_higher = olive_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 12
				months = 1
			}
		}
		10 = { # temple : Normal
			trigger = { has_domicile_building_or_higher = temple_small_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 13
				months = 1
			}
		}
		10 = { # grand_solar : Normal
			trigger = { has_domicile_building_or_higher = grand_solar_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 14
				months = 1
			}
		}
		10 = { # cabinet_of_curiosities : Normal
			trigger = { has_domicile_building_or_higher = cabinet_of_curiosities_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 15
				months = 1
			}
		}
		10 = { # reception_hall : Normal
			trigger = { has_domicile_building_or_higher = reception_hall_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 16
				months = 1
			}
		}
		10 = { # prison : Normal
			trigger = { has_domicile_building_or_higher = prison_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 17
				months = 1
			}
		}
		10 = { # courtyard : Normal
			trigger = { has_domicile_building_or_higher = courtyard_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 18
				months = 1
			}
		}
		10 = { # wine_cellar : Normal
			trigger = { has_domicile_building_or_higher = wine_cellar_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 19
				months = 1
			}
		}
		10 = { # guest_room : Normal
			trigger = { has_domicile_building_or_higher = guest_room_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 20
				months = 1
			}
		}
		10 = { # bath : Normal
			trigger = { has_domicile_building_or_higher = bath_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 21
				months = 1
			}
		}
		10 = { # library : Normal
			trigger = { has_domicile_building_or_higher = library_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 22
				months = 1
			}
		}
		10 = { # servants_quarters : Normal
			trigger = { has_domicile_building_or_higher = servants_quarters_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 23
				months = 1
			}
		}
		10 = { # office : Normal
			trigger = { has_domicile_building_or_higher = office_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 24
				months = 1
			}
		}
		10 = { # trophy_room : Normal
			trigger = { has_domicile_building_or_higher = trophy_room_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 25
				months = 1
			}
		}
		10 = { # silk : Normal
			trigger = { has_domicile_building_or_higher = silk_01 }
			set_variable = {
				name = destroyed_building_variable
				value = 26
				months = 1
			}
		}
	}
}

destroy_random_estate_building_effect = {
	if = {
		limit = { has_variable = destroyed_building_variable }
		switch = {
			trigger = var:destroyed_building_variable
			0 = { # barracks : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = barracks }
			}
			1 = { # watchtower : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = watchtower }
			}
			2 = { # guardhouse : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = guardhouse }
			}
			3 = { # garden : Cheap
				if = {
					limit = { has_domicile_building_or_higher = garden_leisure_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = garden_leisure
						REPLACEMENT = garden
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = garden_fruit_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = garden_fruit
						REPLACEMENT = garden
					}
				}
				else = {
					destroy_or_downgrade_estate_building_3_effect = { BUILDING = garden }
				}
			}
			4 = { # stable : Cheap
				if = {
					limit = { has_domicile_building_or_higher = stable_grand_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = stable_grand
						REPLACEMENT = stable
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = stable_kennel_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = stable_kennel
						REPLACEMENT = stable
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = stable_chariot_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = stable_chariot
						REPLACEMENT = stable
					}
				}
				else = {
					destroy_or_downgrade_estate_building_3_effect = { BUILDING = stable }
				}
			}
			5 = { # workshop : Cheap
				if = {
					limit = { has_domicile_building_or_higher = workshop_carpenter_03 }
					destroy_or_downgrade_estate_building_2_6_replacement_effect = {
						BUILDING = workshop_carpenter
						REPLACEMENT = workshop
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = workshop_mason_03 }
					destroy_or_downgrade_estate_building_2_6_replacement_effect = {
						BUILDING = workshop_mason
						REPLACEMENT = workshop
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = workshop_textile_03 }
					destroy_or_downgrade_estate_building_2_6_replacement_effect = {
						BUILDING = workshop_textile
						REPLACEMENT = workshop
					}
				}
				else = {
					destroy_or_downgrade_estate_building_2_effect = { BUILDING = workshop }
				}
			}
			6 = { # storage : Cheap
				if = {
					limit = { has_domicile_building_or_higher = storage_warehouse_03 }
					destroy_or_downgrade_estate_building_2_4_replacement_effect = {
						BUILDING = storage_warehouse
						REPLACEMENT = storage
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = storage_granary_03 }
					destroy_or_downgrade_estate_building_2_4_replacement_effect = {
						BUILDING = storage_granary
						REPLACEMENT = storage
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = workshop_textile_03 }
					destroy_or_downgrade_estate_building_2_4_replacement_effect = {
						BUILDING = workshop_textile
						REPLACEMENT = storage
					}
				}
				else = {
					destroy_or_downgrade_estate_building_2_effect = { BUILDING = storage }
				}
			}
			7 = { # market : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = market }
			}
			8 = { # grazing_land : Cheap
				if = {
					limit = { has_domicile_building_or_higher = horse_pasture_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = horse_pasture
						REPLACEMENT = grazing_land
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = camel_pasture_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = camel_pasture
						REPLACEMENT = grazing_land
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = elephant_pasture_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = elephant_pasture
						REPLACEMENT = grazing_land
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = horse_pasture_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = horse_pasture
						REPLACEMENT = grazing_land
					}
				}
				else = {
					destroy_or_downgrade_estate_building_6_effect = { BUILDING = grazing_land }
				}
			}
			9 = { # grain_field : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = grain_field }
			}
			10 = { # living_quarters : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = living_quarters }
			}
			11 = { # vineyard : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = vineyard }
			}
			12 = { # olive : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = olive }
			}
			13 = { # temple : Cheap
				if = {
					limit = { has_domicile_building_or_higher = temple_crypt_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = temple_crypt
						REPLACEMENT = temple_small
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = temple_large_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = temple_large
						REPLACEMENT = temple_small
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = temple_monastery_04 }
					destroy_or_downgrade_estate_building_3_6_replacement_effect = {
						BUILDING = temple_monastery
						REPLACEMENT = temple_small
					}
				}
				else = {
					destroy_or_downgrade_estate_building_3_effect = { BUILDING = temple_small }
				}
			}
			14 = { # grand_solar : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = grand_solar }
			}
			15 = { # cabinet_of_curiosities : Cheap
				destroy_or_downgrade_estate_building_3_effect = { BUILDING = cabinet_of_curiosities }
			}
			16 = { # reception_hall : Cheap
				destroy_or_downgrade_estate_building_5_effect = { BUILDING = reception_hall }
			}
			17 = { # prison : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = prison }
			}
			18 = { # courtyard : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = courtyard }
			}
			19 = { # wine_cellar : Cheap
				destroy_or_downgrade_estate_building_3_effect = { BUILDING = wine_cellar }
			}
			20 = { # guest_room : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = guest_room }
			}
			21 = { # bath : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = bath }
			}
			22 = { # library : Cheap
				if = {
					limit = { has_domicile_building_or_higher = library_observatory_03 }
					destroy_or_downgrade_estate_building_2_4_replacement_effect = {
						BUILDING = library_observatory
						REPLACEMENT = library
					}
				}
				else_if = {
					limit = { has_domicile_building_or_higher = library_education_03 }
					destroy_or_downgrade_estate_building_2_4_replacement_effect = {
						BUILDING = library_education
						REPLACEMENT = library
					}
				}
				else = {
					destroy_or_downgrade_estate_building_2_effect = { BUILDING = library }
				}
			}
			23 = { # servants_quarters : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = servants_quarters }
			}
			24 = { # office : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = office }
			}
			25 = { # trophy_room : Cheap
				destroy_or_downgrade_estate_building_4_effect = { BUILDING = trophy_room }
			}
			26 = { # silk : Cheap
				destroy_or_downgrade_estate_building_6_effect = { BUILDING = silk }
			}
		}
		remove_variable = destroyed_building_variable
	}
}
