## Alsace-Lorraine Integration Mechanic
GER_Elsass_Update_Pop_Percentages = {
	set_variable = { GER_elsass_french_pop_percentage = GER_elsass_french_pop }
	divide_variable = { GER_elsass_french_pop_percentage = 28.state_population }
	set_variable = { GER_elsass_german_pop_percentage = GER_elsass_german_pop }
	divide_variable = { GER_elsass_german_pop_percentage = 28.state_population }
	set_variable = { GER_elsass_jewish_pop_percentage = GER_elsass_jewish_pop }
	divide_variable = { GER_elsass_jewish_pop_percentage = 28.state_population }

	set_variable = { 28.state_culture_array_num^0 = GER_elsass_german_pop_percentage }
	set_variable = { 28.state_culture_array_num^1 = GER_elsass_french_pop_percentage }
	set_variable = { 28.state_culture_array_num^2 = GER_elsass_jewish_pop_percentage }
}

GER_Elsass_Clear_All_Opinions = {
	FRA = {
		remove_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_1 }
		remove_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_2 }
		remove_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_3 }
		remove_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_4 }
	}
}

GER_Elsass_Acceptance_Effect = {
	custom_effect_tooltip = GER_Elsass_Acceptance_Effect_tt
	add_to_variable = { GER_Elsass_Acceptance = GER_Elsass_Acceptance_temp }
	clamp_variable = { var = GER_Elsass_Acceptance min = 0 max = 100 }
	GER_Elsass_Acceptance_Calc = yes
	add_to_variable = { GER_Elsass_Refresh_Variable = 1 }
}

GER_Elsass_Germanization_Speed_Effect = {
	custom_effect_tooltip = GER_Elsass_Germanization_Speed_Effect_tt
	add_to_variable = { GER_Elsass_Germanization_Speed = GER_Elsass_Germanization_Speed_temp }
	add_to_variable = { GER_Elsass_Refresh_Variable = 1 }
}

GER_Elsass_pp_gain_Effect = {
	custom_effect_tooltip = GER_Elsass_pp_gain_Effect_tt
	add_to_variable = { GER_elsass_pp_gain = GER_elsass_pp_gain_temp }
	add_to_variable = { GER_Elsass_Refresh_Variable = 1 }
}

GER_Elsass_French_Population_Effect = {
	custom_effect_tooltip = GER_Elsass_French_Population_Effect_tt
	add_to_variable = { GER_elsass_french_pop = GER_elsass_french_pop_temp }
	round_variable = GER_elsass_french_pop
	GER_Elsass_Update_Pop_Percentages = yes
	add_to_variable = { GER_Elsass_Refresh_Variable = 1 }
}

GER_Elsass_German_Population_Effect = {
	custom_effect_tooltip = GER_Elsass_German_Population_Effect_tt
	add_to_variable = { GER_elsass_german_pop = GER_elsass_german_pop_temp }
	round_variable = GER_elsass_german_pop
	GER_Elsass_Update_Pop_Percentages = yes
	add_to_variable = { GER_Elsass_Refresh_Variable = 1 }
}

GER_Elsass_resource_Effect = {
	custom_effect_tooltip = GER_Elsass_resource_Effect_tt
	add_to_variable = { GER_elsass_resource = GER_elsass_resource_temp }
	add_to_variable = { GER_Elsass_Refresh_Variable = 1 }
}

GER_Elsass_Acceptance_Calc = {

	hidden_effect = { GER_Elsass_Clear_All_Opinions = yes }
	
	# Tier 5: Acceptance > 74 (Fully Integrated)
	if = {
		limit = { check_variable = { GER_Elsass_Acceptance > 74 } }
		set_variable = { GER_elsass_stability_a = 0 }
		set_variable = { GER_elsass_pp_gain_a = 0 }
		set_variable = { GER_elsass_building_speed_a = 0 }
		set_variable = { GER_elsass_resource_a = 0 }
		set_variable = { GER_Elsass_Germanization_Speed_a = 0 }
		# No opinion modifier needed - fully integrated
	}
	# Tier 4: Acceptance 50-74 (Accepting)
	else_if = {
		limit = { check_variable = { GER_Elsass_Acceptance > 49 } }
		set_variable = { GER_elsass_stability_a = -0.02 }
		set_variable = { GER_elsass_pp_gain_a = -0.05 }
		set_variable = { GER_elsass_building_speed_a = -0.05 }
		set_variable = { GER_elsass_resource_a = -0.05 }
		set_variable = { GER_Elsass_Germanization_Speed_a = -0.1 }
		hidden_effect = {
			reverse_add_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_1 }
		}
	}
	# Tier 3: Acceptance 25-49 (Reluctant)
	else_if = {
		limit = { check_variable = { GER_Elsass_Acceptance > 24 } }
		set_variable = { GER_elsass_stability_a = -0.05 }
		set_variable = { GER_elsass_pp_gain_a = -0.1 }
		set_variable = { GER_elsass_building_speed_a = -0.1 }
		set_variable = { GER_elsass_resource_a = -0.1 }
		set_variable = { GER_Elsass_Germanization_Speed_a = -0.25 }
		hidden_effect = {
			reverse_add_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_2 }
		}
	}
	# Tier 2: Acceptance 10-24 (Resistant)
	else_if = {
		limit = { check_variable = { GER_Elsass_Acceptance > 9 } }
		set_variable = { GER_elsass_stability_a = -0.08 }
		set_variable = { GER_elsass_pp_gain_a = -0.15 }
		set_variable = { GER_elsass_building_speed_a = -0.15 }
		set_variable = { GER_elsass_resource_a = -0.15 }
		set_variable = { GER_Elsass_Germanization_Speed_a = -0.35 }
		hidden_effect = {
			reverse_add_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_3 }
		}
	}
	# Tier 1: Acceptance 0-9 (Hostile)
	else = {
		set_variable = { GER_elsass_stability_a = -0.1 }
		set_variable = { GER_elsass_pp_gain_a = -0.2 }
		set_variable = { GER_elsass_building_speed_a = -0.25 }
		set_variable = { GER_elsass_resource_a = -0.25 }
		set_variable = { GER_Elsass_Germanization_Speed_a = -0.5 }
		hidden_effect = {
			reverse_add_opinion_modifier = { target = GER modifier = GER_Elsass_Opinion_4 }
		}
	}

	set_variable = { GER_elsass_stability_f = GER_elsass_stability_a }
	set_variable = { GER_elsass_pp_gain_f = GER_elsass_pp_gain_a }
	set_variable = { GER_elsass_building_speed_f = GER_elsass_building_speed_a }
	set_variable = { GER_elsass_resource_f = GER_elsass_resource_a }
	set_variable = { GER_Elsass_Germanization_Speed_f = GER_Elsass_Germanization_Speed_a }

	subtract_from_variable = { GER_elsass_stability_f = GER_elsass_stability_l }
	subtract_from_variable = { GER_elsass_pp_gain_f = GER_elsass_pp_gain_l }
	subtract_from_variable = { GER_elsass_building_speed_f = GER_elsass_building_speed_l }
	subtract_from_variable = { GER_elsass_resource_f = GER_elsass_resource_l }
	subtract_from_variable = { GER_Elsass_Germanization_Speed_f = GER_Elsass_Germanization_Speed_l }

	add_to_variable = { GER_elsass_stability = GER_elsass_stability_f }
	add_to_variable = { GER_elsass_pp_gain = GER_elsass_pp_gain_f }
	add_to_variable = { GER_elsass_building_speed = GER_elsass_building_speed_f }
	add_to_variable = { GER_elsass_resource = GER_elsass_resource_f }
	add_to_variable = { GER_Elsass_Germanization_Speed = GER_Elsass_Germanization_Speed_f }

	set_variable = { GER_elsass_stability_l = GER_elsass_stability_a }
	set_variable = { GER_elsass_pp_gain_l = GER_elsass_pp_gain_a }
	set_variable = { GER_elsass_building_speed_l = GER_elsass_building_speed_a }
	set_variable = { GER_elsass_resource_l = GER_elsass_resource_a }
	set_variable = { GER_Elsass_Germanization_Speed_l = GER_Elsass_Germanization_Speed_a }

	force_update_dynamic_modifier = yes
	add_to_variable = { GER_Elsass_Refresh_Variable = 1 }
}
