set_bureaucracy_cap = {
    # Admin/Bureaucracy
	if = {
		limit = {
			holder_scope = { 
				OR = {
					has_law = centralization_1
					has_law = centralization_2
					has_law = centralization_3
					has_law = centralization_4
					has_law = centralization_5
				}
			}	
			is_capital = yes
			PREV = { is_capital = yes }
			holder_scope = {
				higher_tier_than = COUNT
			}
		}
		
		holder_scope = {
			trigger_switch  = { 
				on_trigger = has_law
				centralization_1 = { PREV = { set_variable = { which = admin_cap value = 0.1 } } }
				centralization_2 = { PREV = { set_variable = { which = admin_cap value = 0.4 } } }
				centralization_3 = { PREV = { set_variable = { which = admin_cap value = 0.9 } } }
				centralization_4 = { PREV = { set_variable = { which = admin_cap value = 1.6 } } }
				centralization_5 = { PREV = { set_variable = { which = admin_cap value = 2.5 } } }
			}
		}
		
		location = { trigger_switch = {
			on_trigger = TECH_LEGALISM
			8 = { PREV = { set_variable = { which = admin_productivity value = 3 } } }
			7 = { PREV = { set_variable = { which = admin_productivity value = 2.75 } } }
			6 = { PREV = { set_variable = { which = admin_productivity value = 2.5 } } }
			5 = { PREV = { set_variable = { which = admin_productivity value = 2.25 } } }
			4 = { PREV = { set_variable = { which = admin_productivity value = 2 } } }
			3 = { PREV = { set_variable = { which = admin_productivity value = 1.75 } } }
			2 = { PREV = { set_variable = { which = admin_productivity value = 1.5 } } }
			1 = { PREV = { set_variable = { which = admin_productivity value = 1.25 } } }
			fallback = { PREV = { set_variable = { which = admin_productivity value = 1 } } }
		} }
			
		
		# Production Scaling Factor ( will be used for burghers labour division later
		set_variable = { which = local_admin_carryprod which = admin_cap }
		multiply_variable = { which = local_admin_carryprod value = 100 } # set price for admin
		multiply_variable = { which = local_admin_carryprod which = admin_productivity }
		change_variable = { which = local_tot_prod_d which = local_admin_carryprod }
    }
    else_if = {
		limit = {
			is_capital = yes
			PREV = { is_capital = yes }
			holder_scope = {
				higher_tier_than = COUNT
			}
		}
		set_variable = { which = admin_cap value = 0 }
		set_variable = { which = admin_prod value = 0 }
		holder_scope = { primary_title = { 
				add_law = {
					law = bureaucracy_0
					cooldown = no
					opinion_effect = no
				}
        } }
	}   
    else = {
		set_variable = { which = admin_cap value = 0 }
		set_variable = { which = admin_prod value = 0 }
	}
}

set_bureaucracy_prod = {
	if = {
		limit = {
			check_variable = { which = admin_cap value > 0 }
		}
        
        set_variable = { which = local_prod_d which = local_tot_prod_d }
		divide_variable = { which = local_prod_d which = admin_productivity }
		divide_variable = { which = local_prod_d value = 100 } # default price for admin
		change_variable = { which = local_prod_d which = mod_burghers_population }
		set_variable = { which = local_admin_prod_tmp which = admin_cap }
		divide_variable = { which = local_admin_prod_tmp which = local_prod_d }
		
		set_variable = { which = local_reso which = local_admin_prod_tmp } # Burghers
		multiply_variable = { which = local_reso which = mod_burghers_population }
		set_variable = { which = admin_prod which = local_reso }
		multiply_variable = { which = admin_prod which = admin_productivity }
		
		multiply_variable = { which = local_reso value = 100 }
		change_variable = { which = burghers_wealth which = local_reso }
		change_variable = { which = burghers_income which = local_reso }
		set_variable = { which = admin_cost which = local_reso }
		
		save_event_target_as = capital_holding_bureaucracy
		holder_scope = { 
			primary_title = { 
				if = {
					limit = { has_law = ze_administration_laws_2 }
					save_persistent_event_target = { name = capital_of_title scope = event_target:capital_holding_bureaucracy } 
				}
			}
			character_event = { id = population_bureau.3 } 
		}
		
		if = {
		    limit = { check_variable = { which = admin_prod value = 10 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_10
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 8.1 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_9
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 6.4 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_8
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 4.9 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_7
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 3.6 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_6
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 2.5 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_5
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 1.6 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_4
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}else_if = {
		    limit = { check_variable = { which = admin_prod value = 0.9 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_3
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 0.4 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_2
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 0.1 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_1
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else = {
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_0
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
	}
}

set_bureaucracy = {
	# Admin/Bureaucracy
	if = {
		limit = {
			holder_scope = { 
				OR = {
					has_law = centralization_1
					has_law = centralization_2
					has_law = centralization_3
					has_law = centralization_4
					has_law = centralization_5
				}
			}	
			is_capital = yes
			PREV = { is_capital = yes }
			holder_scope = {
				higher_tier_than = COUNT
			}
		}
		
		holder_scope = {
			trigger_switch  = { 
				on_trigger = has_law
				centralization_1 = { PREV = { set_variable = { which = admin_cap value = 0.1 } } }
				centralization_2 = { PREV = { set_variable = { which = admin_cap value = 0.4 } } }
				centralization_3 = { PREV = { set_variable = { which = admin_cap value = 0.9 } } }
				centralization_4 = { PREV = { set_variable = { which = admin_cap value = 1.6 } } }
				centralization_5 = { PREV = { set_variable = { which = admin_cap value = 2.5 } } }
			}
		}
		
		location = { trigger_switch = {
			on_trigger = TECH_LEGALISM
			8 = { PREV = { set_variable = { which = admin_productivity value = 3 } } }
			7 = { PREV = { set_variable = { which = admin_productivity value = 2.75 } } }
			6 = { PREV = { set_variable = { which = admin_productivity value = 2.5 } } }
			5 = { PREV = { set_variable = { which = admin_productivity value = 2.25 } } }
			4 = { PREV = { set_variable = { which = admin_productivity value = 2 } } }
			3 = { PREV = { set_variable = { which = admin_productivity value = 1.75 } } }
			2 = { PREV = { set_variable = { which = admin_productivity value = 1.5 } } }
			1 = { PREV = { set_variable = { which = admin_productivity value = 1.25 } } }
			fallback = { PREV = { set_variable = { which = admin_productivity value = 1 } } }
		} }
			
		
		# Production Scaling Factor ( will be used for burghers labour division later
		set_variable = { which = local_admin_carryprod which = admin_cap }
		multiply_variable = { which = local_admin_carryprod value = 100 } # set price for admin
		multiply_variable = { which = local_admin_carryprod which = admin_productivity }
		change_variable = { which = local_tot_prod_d which = local_admin_carryprod }
		
		set_variable = { which = local_prod_d which = local_tot_prod_d }
		divide_variable = { which = local_prod_d which = admin_productivity }
		divide_variable = { which = local_prod_d value = 100 } # default price for admin
		change_variable = { which = local_prod_d which = mod_burghers_population }
		set_variable = { which = local_admin_prod_tmp which = admin_cap }
		divide_variable = { which = local_admin_prod_tmp which = local_prod_d }
		
		set_variable = { which = local_reso which = local_admin_prod_tmp } # Burghers
		multiply_variable = { which = local_reso which = mod_burghers_population }
		set_variable = { which = admin_prod which = local_reso }
		multiply_variable = { which = admin_prod which = admin_productivity }
		
		multiply_variable = { which = local_reso value = 100 }
		change_variable = { which = burghers_wealth which = local_reso }
		change_variable = { which = burghers_income which = local_reso }
		set_variable = { which = admin_cost which = local_reso }
		
		save_event_target_as = capital_holding_bureaucracy
		holder_scope = { 
			primary_title = { 
				if = {
					limit = { has_law = ze_administration_laws_2 }
					save_persistent_event_target = { name = capital_of_title scope = event_target:capital_holding_bureaucracy } 
				}
			}
			character_event = { id = population_bureau.3 } 
		}
		
		if = {
		    limit = { check_variable = { which = admin_prod value = 10 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_10
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 8.1 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_9
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 6.4 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_8
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 4.9 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_7
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 3.6 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_6
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 2.5 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_5
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 1.6 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_4
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}else_if = {
		    limit = { check_variable = { which = admin_prod value = 0.9 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_3
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 0.4 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_2
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else_if = {
		    limit = { check_variable = { which = admin_prod value = 0.1 } }
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_1
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
		else = {
			holder_scope = { primary_title = { 
			        add_law = {
                        law = bureaucracy_0
                        cooldown = no
                        opinion_effect = no
					}
            } }
		}
	}
	else_if = {
		limit = {
			is_capital = yes
			PREV = { is_capital = yes }
			holder_scope = {
				higher_tier_than = COUNT
			}
		}
		set_variable = { which = admin_cap value = 0 }
		set_variable = { which = admin_prod value = 0 }
		holder_scope = { primary_title = { 
				add_law = {
					law = bureaucracy_0
					cooldown = no
					opinion_effect = no
				}
        } }
	}
	else = {
		set_variable = { which = admin_cap value = 0 }
		set_variable = { which = admin_prod value = 0 }
	}
}