eeu_annex_effect = {
	custom_effect_tooltip = eeu_annex_effect_tt
	hidden_effect = {
		var:global.eeu_tag = {
			var:global.eeu_annex_target = {
				if = {
					limit = { NOT = { has_global_flag = eeu_flag_annex_disable_tech_transfer } }
					log = "eeu: annex: doing tech transfer"
					for_each_loop = {
						array = researched_techs
						value = v
						var:global.eeu_tag = {
							set_technology = {
								popup = no
								var:v = 1
							}
						}
					}
				}
				else = {
					log = "eeu: annex: NO tech transfer"
				}
				log = "eeu: annex: transfering navy"
				transfer_navy = {
					target = PREV
				}
				log = "eeu: annex: transfering characters"
				set_temp_variable = {
					char_count = 0
				}
				every_character = {
					eeu_effect_transfer_character = yes
				}
				log = "eeu: annex: transfering operatives"
				every_operative = {
					var:global.eeu_tag = {
						turn_operative = PREV
					}
					log = "eeu: annex: turning '[PREV.GetAdjective]'' operative '[THIS.GetName]'"
				}
				log = "eeu: annex: adding cores"
				every_core_state = {
					var:global.eeu_tag = {
						add_state_core = PREV
					}
				}
				for_each_loop = {
					array = subjects
					value = v
					log = "eeu: annex: transfering '[PREV.GetAdjective]' puppet '[?v.GetName]'"
	
					var:global.eeu_tag = {
						puppet = var:v
					}
				}
			}

			log = "eeu: annex: changing tag"
			change_tag_from = var:global.eeu_annex_target
		}

		var:global.eeu_annex_target = {
			log = "eeu: annex: removing bops"
			eeu_effect_remove_other_bops = yes
			log = "eeu: annex: annexing"
			var:global.eeu_tag = {
				annex_country = {
					target = PREV
					transfer_troops = yes
				}
			}
		}
	}
}

eeu_raise_join_spirit = {
	if = {
		limit = { has_idea = eeu_join_spirit_1 }
		swap_ideas = { 
			remove_idea = eeu_join_spirit_1 
			add_idea = eeu_join_spirit_2 
		}
	}
	else_if = {
		limit = { has_idea = eeu_join_spirit_2 }
		swap_ideas = { 
			remove_idea = eeu_join_spirit_2
			add_idea = eeu_join_spirit_3
		}
	}
	else_if = {
		limit = { NOT = { has_idea = eeu_torch_spirit } }
		add_ideas = { eeu_join_spirit_1 }
	}
}

eeu_lower_join_spirit = {
	if = {
		limit = { has_idea = eeu_join_spirit_1 }
		remove_ideas = eeu_join_spirit_1
	}
	else_if = {
		limit = { has_idea = eeu_join_spirit_2 }
		swap_ideas = { 
			remove_idea = eeu_join_spirit_2
			add_idea = eeu_join_spirit_1
		}
	}
	else_if = {
		limit = { has_idea = eeu_join_spirit_3 }
		swap_ideas = { 
			remove_idea = eeu_join_spirit_3
			add_idea = eeu_join_spirit_2
		}
	}
}

eeu_start_civil_war = {
	start_civil_war = {
		ideology = var:highest_party_ideology
		size = var:highest_party_popularity
		var:global.eeu_tag = {
			add_to_faction = PREV
		}
	}
}

eeu_become_prospect = {
	custom_effect_tooltip = eeu_become_prospect_tt
	hidden_effect = {
		var:global.eeu_tag = {
			if = {
				limit = {
					has_dlc = "Together for Victory"
				}
				set_autonomy = {
					target = PREV
					freedom_level = 0.2
					autonomy_state = eeu_autonomy_prospect
				}
			}
			else = {
				puppet = PREV
			}
		}
	}
}

eeu_effect_add_tech_sharing = {
	if = {
		limit = {
			OR = {
				has_dlc = "Together for Victory"
				has_dlc = "Death or Dishonor"
			}
			var:global.eeu_tag = {
				has_dynamic_modifier = {
					modifier = eeu_research_modifier
				}
			}
		}
		add_to_tech_sharing_group = eeu_technology_sharing_group
	}
}

eeu_form_core_effect = { # TODO this O(N^2) but doesnt need to be
	custom_effect_tooltip = eeu_form_core_effect_tt
	every_controlled_state = {
		limit = { 
			is_in_array = { global.eeu_states_array = THIS.id } 
			compliance > 50
		}
		add_core_of = ROOT
		ROOT = {
			set_state_owner = THIS.id
		}
	}
}