gain_random_agency_upgrade = {
	custom_effect_tooltip = free_agency_upgrade_tt

	hidden_effect = {
		if = {
			limit = {
				has_intelligence_agency = no
			}
			create_intelligence_agency = yes
		}
		else = {
			random_list = {
				10 = {
					modifier = {
						factor = 0
						has_done_agency_upgrade = upgrade_army_department
					}
					upgrade_intelligence_agency = upgrade_army_department
				}
				10 = {
					modifier = {
						factor = 0
						has_done_agency_upgrade = upgrade_naval_department
					}
					upgrade_intelligence_agency = upgrade_naval_department
				}
				10 = {
					modifier = {
						factor = 0
						has_done_agency_upgrade = upgrade_airforce_department
					}
					upgrade_intelligence_agency = upgrade_airforce_department
				}
				10 = {
					modifier = {
						factor = 0
						has_done_agency_upgrade = upgrade_economy_civilian
					}
					upgrade_intelligence_agency = upgrade_economy_civilian
				}
				12 = {
					modifier = {
						factor = 0
						AND = {
							has_done_agency_upgrade = upgrade_passive_defense
							has_done_agency_upgrade = upgrade_defense_harmed
							has_done_agency_upgrade = upgrade_defense_intel_extraction
							has_done_agency_upgrade = upgrade_defense_critical_success
							has_done_agency_upgrade = upgrade_security_department
						}
					}
					upgrade_counter_intel = yes
				}
				12 = {
					modifier = {
						factor = 0
						has_done_agency_upgrade = upgrade_form_operations
					}
					upgrade_intelligence_agency = upgrade_form_operations
				}
				8 = {
					modifier = {
						factor = 0
						has_done_agency_upgrade = upgrade_expand_operations
					}
					upgrade_intelligence_agency = upgrade_expand_operations
				}
				6 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_agency_second_upgrade
							NOT = { has_done_agency_upgrade = upgrade_expand_operations }
						}
					}
					upgrade_intelligence_agency = upgrade_agency_second_upgrade
				}
				3 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_agency_third_upgrade
							NOT = { has_done_agency_upgrade = upgrade_agency_second_upgrade }
						}
					}
					upgrade_intelligence_agency = upgrade_agency_third_upgrade
				}
				8 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_form_department
							NOT = { has_tech = mechanical_computing }
						}
					}
					upgrade_intelligence_agency = upgrade_form_department
				}
				6 = {
					modifier = {
						factor = 0
						AND = {
							has_done_agency_upgrade = upgrade_form_department
							has_done_agency_upgrade = upgrade_decryption_boost
							has_done_agency_upgrade = upgrade_decryption_boost_2
						}
					}
					upgrade_operation_decryption = yes
				}
				6 = {
					modifier = {
						factor = 0
						AND = {
							has_done_agency_upgrade = upgrade_operation_strengthen_resistance
							has_done_agency_upgrade = upgrade_operation_strengthen_resistance_effect
							has_done_agency_upgrade = upgrade_operation_strengthen_resistance_uses
						}
					}
					upgrade_operation_resistance = yes
				}
				6 = {
					modifier = {
						factor = 0
						AND = {
							has_done_agency_upgrade = upgrade_operation_strengthen_society
							has_done_agency_upgrade = upgrade_operation_strengthen_society_effect
							has_done_agency_upgrade = upgrade_operation_strengthen_society_uses
						}
					}
					upgrade_occupied_civs = yes
				}
				6 = {
					modifier = {
						factor = 0
						AND = {
							has_done_agency_upgrade = upgrade_agency_second_upgrade
							has_done_agency_upgrade = upgrade_agency_third_upgrade
						}
					}
					upgrade_operation_biggness = yes
				}
				4 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_operation_infiltrate
							NOT = { has_done_agency_upgrade = upgrade_form_operations }
						}
					}
					upgrade_intelligence_agency = upgrade_operation_infiltrate
				}
				4 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_operation_steal_tech
							NOT = { has_done_agency_upgrade = upgrade_form_operations }
						}
					}
					upgrade_intelligence_agency = upgrade_operation_steal_tech
				}
				4 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_operation_sabotage
							NOT = { has_done_agency_upgrade = upgrade_form_operations }
						}
					}
					upgrade_intelligence_agency = upgrade_operation_sabotage
				}
				4 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_underground_contacts
							NOT = { has_done_agency_upgrade = upgrade_expand_operations }
						}
					}
					upgrade_intelligence_agency = upgrade_underground_contacts
				}
				4 = {
					modifier = {
						factor = 0
						OR = {
							has_done_agency_upgrade = upgrade_training_centers
							NOT = { has_done_agency_upgrade = upgrade_expand_operations }
						}
					}
					upgrade_intelligence_agency = upgrade_training_centers
				}
			}
		}
	}
}
