
eeu_effect_fill_state_array_effect = {
	hidden_effect = {
		
		clear_array = global.eeu_possible_capital_array
		add_to_array = { global.eeu_possible_capital_array = var:GER.capital }
		add_to_array = { global.eeu_possible_capital_array = var:FRA.capital }
		add_to_array = { global.eeu_possible_capital_array = var:BEL.capital }
		add_to_array = { global.eeu_possible_capital_array = var:LUX.capital }
		add_to_array = { global.eeu_possible_capital_array = var:SWE.capital }
		add_to_array = { global.eeu_possible_capital_array = var:ITA.capital }
		add_to_array = { global.eeu_possible_capital_array = var:SPR.capital }
		add_to_array = { global.eeu_possible_capital_array = var:POL.capital }
		add_to_array = { global.eeu_possible_capital_array = var:AUS.capital }
		add_to_array = { global.eeu_possible_capital_array = var:SWI.capital }


		clear_array = global.eeu_original_country_array
		clear_array = global.eeu_possible_country_array

		every_possible_country = {
			limit = {
				is_dynamic_country = no
				capital_scope = {
					is_on_continent = europe
				}
			}
			if = {
				limit = {
					exists = yes
				}
				set_variable = {
					eeu_original_capital = capital
				}
				add_to_array = { global.eeu_original_country_array = THIS }
			}
			add_to_array = { global.eeu_possible_country_array = THIS }
		}

		clear_array = global.eeu_array_offshore_countries
		add_to_array = { global.eeu_array_offshore_countries = DEN }
		add_to_array = { global.eeu_array_offshore_countries = NOR }
		add_to_array = { global.eeu_array_offshore_countries = ICE }
		add_to_array = { global.eeu_array_offshore_countries = ENG }
		add_to_array = { global.eeu_array_offshore_countries = UKR }
		

		set_variable = { global.eeu_controlled_state_count = 0 }
		clear_array = global.eeu_states_array
		clear_array = global.eeu_old_german_states_array
		clear_array = global.eeu_west_german_states_array
		clear_array = global.eeu_east_german_states_array
		clear_array = global.eeu_french_states_array
		clear_array = global.eeu_italian_states_array
		clear_array = global.eeu_benelux_states_array
		clear_array = global.eeu_nordic_states_array
		clear_array = global.eeu_norwegian_states_array
		clear_array = global.eeu_swedish_states_array
		clear_array = global.eeu_finnish_states_array
		clear_array = global.eeu_danish_states_array
		clear_array = global.eeu_british_states_array
		clear_array = global.eeu_iberian_states_array
		clear_array = global.eeu_balkan_states_array
		clear_array = global.eeu_danubian_states_array
		clear_array = global.eeu_baltic_states_array
		clear_array = global.eeu_polish_states_array
		clear_array = global.eeu_romania_bulgaria_states_array
		clear_array = global.eeu_turkish_states_array
		clear_array = global.eeu_soviet_states_array
		clear_array = global.eeu_ukraine_states_array

		every_state = {
			if = {
				limit = { 
					OR = {
						AND = {
							is_on_continent = europe 
							NOT = {
								AND = {
									is_core_of = SOV
									NOT = {
										is_core_of = UKR
										is_core_of = BLR
										is_core_of = CRI
									}
								}
							}
						}
						is_core_of = DEN #greenland
						AND = { #turkey
							is_controlled_by = TUR
							region = 129 # asia minor/anatolia
						}
					}
				}
				add_to_array = { global.eeu_states_array = THIS.id }

				if = {
					limit = { is_core_of = GER }
					add_to_array = { global.eeu_old_german_states_array = THIS.id }
					if = {
						limit = { is_core_of = WGR }
						add_to_array = { global.eeu_west_german_states_array = THIS.id }
					}
					else_if = {
						limit = { is_core_of = DDR }
						add_to_array = { global.eeu_east_german_states_array = THIS.id }
					}
				}
				if = { # these are regular ifs in case a refresh is triggered while one of these nations has already cored one below it
					limit = { is_core_of = FRA }
					add_to_array = { global.eeu_french_states_array = THIS.id }
				}
				else_if = {
					limit = { is_core_of = ITA }
					add_to_array = { global.eeu_italian_states_array = THIS.id }
				}
				else_if = {
					limit = { OR = { is_core_of = BEL is_core_of = HOL is_core_of = LUX } }
					add_to_array = { global.eeu_benelux_states_array = THIS.id }
				}
				else_if = {
					limit = { is_core_of = NOR }
					add_to_array = { global.eeu_norwegian_states_array = THIS.id }
					add_to_array = { global.eeu_nordic_states_array = THIS.id }
				}
				else_if = {
					limit = { is_core_of = SWE }
					add_to_array = { global.eeu_swedish_states_array = THIS.id }
					add_to_array = { global.eeu_nordic_states_array = THIS.id }
				}
				else_if = {
					limit = { 
						is_core_of = FIN 
						NOT = { is_core_of = SOV }
					}
					add_to_array = { global.eeu_finnish_states_array = THIS.id }
					add_to_array = { global.eeu_nordic_states_array = THIS.id }
				}
				else_if = {
					limit = { is_core_of = DEN }
					add_to_array = { global.eeu_danish_states_array = THIS.id }
				}
				else_if = {
					limit = { is_core_of = ENG }
					add_to_array = { global.eeu_british_states_array = THIS.id }
				}
				else_if = {
					limit = { 
						OR = { 
							is_core_of = SPR 
							is_core_of = POR 
							AND = { #gibraltar
								is_controlled_by = ENG
								is_claimed_by = SPR
							}
						}
					}
					add_to_array = { global.eeu_iberian_states_array = THIS.id }
				}
				else_if = {
					limit = {
						OR = {
							is_core_of = YUG
							is_core_of = ALB
							is_core_of = GRE
						}
					}
					add_to_array = { global.eeu_balkan_states_array = THIS.id }
				}
				else_if = {
					limit = {
						OR = {
							is_core_of = AUS
							is_core_of = HUN
							is_core_of = CZE
						}
					}
					add_to_array = { global.eeu_danubian_states_array = THIS.id }
				}
				else_if = {
					limit = {
						OR = {
							is_controlled_by = EST
							is_controlled_by = LAT
							is_controlled_by = LIT
						}
						OR = {
							is_core_of = EST
							is_core_of = LAT
							is_core_of = LIT
						}
					}
					add_to_array = { global.eeu_baltic_states_array = THIS.id }
				}
				else_if = {
					limit = {
						is_controlled_by = TUR
						region = 129 # asia minor/anatolia
					}
					add_to_array = { global.eeu_turkish_states_array = THIS.id }
				}
				else_if = {
					limit = {
						OR = {
							is_core_of = ROM
							is_core_of = BUL
						}
					}
					add_to_array = { global.eeu_romania_bulgaria_states_array = THIS.id }
				}
				else_if = {
					limit = {
						OR = {
							is_core_of = POL
						}
					}
					add_to_array = { global.eeu_polish_states_array = THIS.id }
				}
				else_if = {
					limit = {
						OR = {
							is_core_of = SOV
						}
						is_controlled_by = SOV
					}
					add_to_array = { global.eeu_soviet_states_array = THIS.id }
					if = {
						limit = {
							OR = {
								is_core_of = UKR
								is_core_of = CRI
							}
						}
						add_to_array = { global.eeu_ukraine_states_array = THIS.id }
					}
				}
			}
		}

		set_variable = { global.eeu_spirit_spread_cost = 30 }
		set_variable = { global.eeu_faction_invite_cost = 35 }
		set_variable = { global.eeu_puppet_cost = 100 }
		set_variable = { global.eeu_annex_cost = 75 }
		set_variable = { global.eeu_core_map_cost = 10 }
		set_variable = { global.eeu_core_country_cost = 100 }

		set_variable = { global.eeu_setup_done = 1 }

		log = "eeu setup: old german states: [?global.eeu_old_german_states_array^num]"
		log = "eeu setup: west german states: [?global.eeu_west_german_states_array^num]"
		log = "eeu setup: east german states: [?global.eeu_east_german_states_array^num]"
		log = "eeu setup: french states: [?global.eeu_french_states_array^num]"
		log = "eeu setup: italian states: [?global.eeu_italian_states_array^num]"
		log = "eeu setup: benelux states: [?global.eeu_benelux_states_array^num]"
		log = "eeu setup: norwegian states: [?global.eeu_norwegian_states_array^num]"
		log = "eeu setup: swedish states: [?global.eeu_swedish_states_array^num]"
		log = "eeu setup: finish states: [?global.eeu_finnish_states_array^num]"
		log = "eeu setup: british states: [?global.eeu_british_states_array^num]"
		log = "eeu setup: iberian states: [?global.eeu_iberian_states_array^num]"
		log = "eeu setup: balkan states: [?global.eeu_balkan_states_array^num]"
		log = "eeu setup: danubian states: [?global.eeu_danubian_states_array^num]"
		log = "eeu setup: turkish states: [?global.eeu_turkish_states_array^num]"
		log = "eeu setup: soviet states: [?global.eeu_soviet_states_array^num]"
	}
}

eeu_effect_calculate_ratio = { 
	hidden_effect = {
		set_variable = { eeu_owned_state_ratio = 0 }
		for_each_scope_loop = {
			array = controlled_states
			if = {
				limit = {
					is_in_array = {
						array = global.eeu_states_array
						value = THIS
					}
				}
				add_to_variable = { PREV.eeu_owned_state_ratio = 1 }
			}
		}
		# log = "eeu control for [THIS.GetName] is [?THIS.eeu_owned_state_ratio]/[?global.eeu_states_array^num]"

		divide_variable = { eeu_owned_state_ratio = global.eeu_states_array^num }
		set_temp_variable = {
			eeu_spy_slots_control_temp = 4
		}
		multiply_temp_variable = { eeu_spy_slots_control_temp = eeu_owned_state_ratio }
		add_to_temp_variable = { eeu_spy_slots_control_temp = 1 }
		set_variable = { eeu_spy_slots_control = eeu_spy_slots_control_temp }
	}
}


eeu_effect_fill_spirit_arrays = {
	hidden_effect = {
		clear_array = global.eeu_capital_states_array
		clear_array = global.eeu_active_country_array
		clear_array = global.eeu_spirit_array
		clear_array = global.eeu_spirit_1_array
		clear_array = global.eeu_spirit_2_array
		clear_array = global.eeu_spirit_3_array

		every_country = {
			limit = {
				OR = {
					capital_scope = {
						is_on_continent = europe
					}
					tag = TUR
					has_global_flag = eeu_flag_global_union
				}
				
				num_of_controlled_states > 0
				exists = yes
			}
			add_to_array = { global.eeu_active_country_array = THIS }
			capital_scope = {
				if = {
					limit = {
						NOT = { is_owned_by = ROOT }
					}
					add_to_array = { global.eeu_capital_states_array = THIS }
				}
			}

			if = {
				limit = { has_idea = eeu_join_spirit_1 }
				add_to_array = { global.eeu_spirit_array = THIS }
				add_to_array = { global.eeu_spirit_1_array = THIS }
			}
			else_if = {
				limit = { has_idea = eeu_join_spirit_2 }
				add_to_array = { global.eeu_spirit_array = THIS }
				add_to_array = { global.eeu_spirit_2_array = THIS }
			}
			else_if = {
				limit = { has_idea = eeu_join_spirit_3 }
				add_to_array = { global.eeu_spirit_array = THIS }
				add_to_array = { global.eeu_spirit_3_array = THIS }
			}
			else_if = {
				limit = { tag = var:global.eeu_tag }
				set_variable = { global.eeu_tag = THIS }
			}
		}
	}
}

eeu_effect_formation_reset = {
	hidden_effect = {
		log = "eeu: debug: reset formation"
		
		clr_global_flag = eeu_formation_in_progress
		clr_global_flag = eeu_formation_by_ai
		clear_array = global.eeu_form_annex_desire_array
		clear_array = global.eeu_form_puppet_array
		clear_array = global.eeu_form_undecided_array
		clear_array = global.eeu_form_reject_array
		clear_array = global.eeu_form_takeover_array
		set_variable = { global.eeu_form_player_deny_counter = 0 }
		force_update_map_mode = { mapmode = eeu_map_modes_formation }
	}
}