NORDIC_create_nordic_array = {
	clear_array = NORDIC_scandinavia_array
	every_country = {
		limit = {
			NORDIC_is_nordic = yes 
		}
		add_to_array = {
			array = PREV.NORDIC_array 	
		}
	}
	for_each_scope_loop = {
		array = NORDIC_array
		log = "[THIS.GetName] is part of Scandinavia"
	}
}

###################################################################################################
###################################################################################################
###################################################################################################

      ##  #######  #### ##    ## ########       ##  
      ## ##     ##  ##  ###   ##    ##         ##   
      ## ##     ##  ##  ####  ##    ##        ##    
      ## ##     ##  ##  ## ## ##    ##       ##     
##    ## ##     ##  ##  ##  ####    ##      ##      
##    ## ##     ##  ##  ##   ###    ##     ##       
 ######   #######  #### ##    ##    ##    ##        

   ###    ##       ##       ####    ###    ##    ##  ######  ########
  ## ##   ##       ##        ##    ## ##   ###   ## ##    ## ##      
 ##   ##  ##       ##        ##   ##   ##  ####  ## ##       ##      
##     ## ##       ##        ##  ##     ## ## ## ## ##       ######  
######### ##       ##        ##  ######### ##  #### ##       ##      	
##     ## ##       ##        ##  ##     ## ##   ### ##    ## ##      
##     ## ######## ######## #### ##     ## ##    ##  ######  ########

###################################################################################################
###################################################################################################
###################################################################################################

NORDIC_create_nordic_alliance = {
	set_variable = {global.nordic_faction_creator = ROOT }
	if = {
		limit = { # Nordic Council 
			#NORDIC_has_started_democratic_focus_tree = yes
			NORDIC_is_democratic = yes 
		}
		set_global_flag = NORDIC_democratic_alliance_formed
		set_country_flag = NORDIC_council_leader 
		if = {
			limit = { NORDIC_rename_faction = yes }
			set_faction_name = NORDIC_alliance_democratic
		}
		
		
		set_variable = { NORDIC_democratic_alliance_leader_dmod_research = 0 }
		set_variable = { NORDIC_democratic_alliance_leader_dmod_training_time = 0 }
		set_variable = { NORDIC_democratic_alliance_leader_dmod_prod_eff_start = 0 }
		set_variable = { NORDIC_democratic_alliance_leader_dmod_war_support = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_research = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_training_time = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_prod_eff_start = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_war_support = 0 }

		add_dynamic_modifier = { modifier = NORDIC_democratic_alliance_leader_dmod }
		every_other_country = {
			limit = {
				NORDIC_has_started_democratic_focus_tree = yes
				is_in_faction_with = ROOT 
				is_subject = no
			}
			NORDIC_add_to_nordic_alliance = yes 
		}
	}
	else_if = {
		limit = {
			#NORDIC_has_started_communist_focus_tree = yes 
			NORDIC_is_communist = yes 
		}
		set_global_flag = NORDIC_communist_alliance_formed 
		set_country_flag = NORDIC_union_leader
		set_faction_name = NORDIC_alliance_communist
		
		set_variable = { NORDIC_communist_alliance_leader_dmod_max_eff = 0 }
		set_variable = { NORDIC_communist_alliance_leader_dmod_max_planning = 0 }
		set_variable = { NORDIC_communist_alliance_leader_dmod_research = 0 }
		set_variable = { NORDIC_communist_alliance_leader_dmod_resource_penalty = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_max_eff = 0 }
		set_variable = { NORDIC_communist_alliance_member_dmod_max_planning = 0 }
		set_variable = { NORDIC_communist_alliance_member_dmod_research = 0 }
		set_variable = { NORDIC_communist_alliance_member_dmod_resource_penalty = 0 }

		add_dynamic_modifier = { modifier = NORDIC_communist_alliance_leader_dmod }

		every_other_country = {
			limit = {
				NORDIC_is_communist = yes
				is_in_faction_with = ROOT 
				is_subject = no 
			}
			NORDIC_add_to_nordic_alliance = yes 
		}
	}
	else = {
		set_global_flag = NORDIC_monarchist_alliance_formed
		set_country_flag = NORDIC_league_leader  
		set_faction_name = NORDIC_alliance_monarchist

		add_dynamic_modifier = { modifier = NORDIC_monarchist_alliance_leader_dmod }

		set_variable = { NORDIC_monarchist_alliance_leader_dmod_prod_eff_gain = 0 }
		set_variable = { NORDIC_monarchist_alliance_leader_dmod_construction = 0 }
		set_variable = { NORDIC_monarchist_alliance_leader_dmod_max_org = 0 }
		set_variable = { NORDIC_monarchist_alliance_leader_dmod_drift_defense = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_prod_eff_gain = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_construction = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_max_org = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_drift_defense = 0 }

		every_other_country = {
			limit = {
				OR = {
					NORDIC_has_started_monarchist_focus_tree = yes 
					NORDIC_is_fascist = yes 					
				}
				is_in_faction_with = ROOT 
				is_subject = no
			}
			NORDIC_add_to_nordic_alliance = yes 
		}
	}  
	set_variable = { global.NORDIC_alliance_leader = ROOT } # Setting the alliance leader regardless of ideology 
}

NORDIC_add_to_nordic_alliance = {  
	if = {
		limit = {
			NOT = { has_completed_focus = NORDIC_form_joint_alliance }
		}
		complete_national_focus = NORDIC_form_joint_alliance
	}
	if = {
		limit = {
			has_global_flag = NORDIC_democratic_alliance_formed
		}

		set_variable = { NORDIC_democratic_alliance_leader_dmod_research = 0 }
		set_variable = { NORDIC_democratic_alliance_leader_dmod_training_time = 0 }
		set_variable = { NORDIC_democratic_alliance_leader_dmod_prod_eff_start = 0 }
		set_variable = { NORDIC_democratic_alliance_leader_dmod_war_support = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_research = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_training_time = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_prod_eff_start = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_war_support = 0 }

		add_dynamic_modifier = { modifier = NORDIC_democratic_alliance_member_dmod }

	}
	else_if = {
		limit = {
			has_global_flag = NORDIC_communist_alliance_formed
		}		

		set_variable = { NORDIC_communist_alliance_leader_dmod_max_eff = 0 }
		set_variable = { NORDIC_communist_alliance_leader_dmod_max_planning = 0 }
		set_variable = { NORDIC_communist_alliance_leader_dmod_research = 0 }
		set_variable = { NORDIC_communist_alliance_leader_dmod_resource_penalty = 0 }
		set_variable = { NORDIC_democratic_alliance_member_dmod_max_eff = 0 }
		set_variable = { NORDIC_communist_alliance_member_dmod_max_planning = 0 }
		set_variable = { NORDIC_communist_alliance_member_dmod_research = 0 }
		set_variable = { NORDIC_communist_alliance_member_dmod_resource_penalty = 0 }

		add_dynamic_modifier = { modifier = NORDIC_communist_alliance_member_dmod }
	}
	else_if = {
		limit = {
			has_global_flag = NORDIC_monarchist_alliance_formed
		}		

		set_variable = { NORDIC_monarchist_alliance_leader_dmod_prod_eff_gain = 0 }
		set_variable = { NORDIC_monarchist_alliance_leader_dmod_construction = 0 }
		set_variable = { NORDIC_monarchist_alliance_leader_dmod_max_org = 0 }
		set_variable = { NORDIC_monarchist_alliance_leader_dmod_drift_defense = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_prod_eff_gain = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_construction = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_max_org = 0 }
		set_variable = { NORDIC_monarchist_alliance_member_dmod_drift_defense = 0 }

		add_dynamic_modifier = { modifier = NORDIC_monarchist_alliance_member_dmod }
	}
}

trotsky_tracker = { #Scripted effect to check where Trotsky is 
	if = {
		limit = {
			has_variable = 	GLOBAL.trotskys_whereabouts
		}
		clear_variable = GLOBAL.trotskys_whereabouts
	}
	if = {
		limit = {
			MEX = {
				has_character = MEX_leon_trotsky
			}
			OR = {
				has_global_flag = flag_mexico_invited_trotsky_to_government 
				has_global_flag = trotsky_exile_mexico	
			}
			NOT = { has_global_flag = flag_trotsky_dead }
		}
		set_variable = { GLOBAL.trotskys_whereabouts = MEX }
	}
	if = {
		limit = {
			SOV = {
				has_character = SOV_lev_trotsky 
				SOV_lev_trotsky = {
					NOT = { has_character_flag = SOV_exiled_flag }	
				}
				NOt = {
					has_global_flag = flag_mexico_invited_trotsky_to_government 
					has_global_flag = trotsky_exile_mexico	
					has_global_flag = flag_trotsky_dead
				}
			}
		}
		if = {
			limit = {
				NOT = { has_variable = 	GLOBAL.trotskys_whereabouts } 
			}
			set_variable = { GLOBAL.trotskys_whereabouts = SOV }		
		}
		else = {
			log = "Mr president a second trotsky has hit the queen"
		}
	}
	log = "Trotsky is in [?GLOBAL.trotskys_whereabouts.GetName]"
}

NORDIC_airforce_member_to_originator = { # Effect for upgrading the Airforce Member Dynamic Modifier to the Originator one (only after thye production ideas are added) 
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_airforces_member_dmod }
		}
		custom_effect_tooltip = NORDIC_becomes_airforce_leader_tooltip
		hidden_effect = {
			remove_dynamic_modifier = { modifier = NORDIC_airforces_member_dmod }
			add_dynamic_modifier = { modifier = NORDIC_airforces_originator_dmod }
			swap_ideas = {
				remove_idea = NORDIC_hidden_airforces_member_dmod
				add_idea = NORDIC_hidden_airforces_originator_dmod
			}
			swap_ideas = {
				remove_idea = NORDIC_hidden_airforces_naval_member_dmod
				add_idea = NORDIC_hidden_airforces_naval_originator_dmod
			}	
		}
	}
}

NORDIC_airforce_originator_to_member = { # Effect for downgrading the Airforce Originator Dynamic Modifier to the Member one (only after thye production ideas are added)
		if = {
			limit = {
				has_dynamic_modifier = { modifier = NORDIC_airforces_originator_dmod }
			}
			custom_effect_tooltip = NORDIC_becomes_airforce_member_tooltip
			hidden_effect = {
				remove_dynamic_modifier = { modifier = NORDIC_airforces_originator_dmod }
				add_dynamic_modifier = { modifier = NORDIC_airforces_member_dmod }
				swap_ideas = {
					remove_idea = NORDIC_hidden_airforces_originator_dmod
					add_idea = NORDIC_hidden_airforces_member_dmod
				}
				swap_ideas = {
					remove_idea = NORDIC_hidden_airforces_naval_originator_dmod
					add_idea = NORDIC_hidden_airforces_naval_member_dmod
				}
			}
		}
}

NORDIC_navy_member_to_originator = { # Effect for upgrading the Naval Member Dynamic Modifier to the Originator one  
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_navy_member_dmod }
		}
		custom_effect_tooltip = NORDIC_becomes_navy_leader_tooltip
		hidden_effect = {
			remove_dynamic_modifier = { modifier = NORDIC_navy_member_dmod }
			add_dynamic_modifier = { modifier = NORDIC_navy_originator_dmod }	
		}
	}
}

NORDIC_navy_originator_to_member = { # Effect for downgrading the Navy Originator Dynamic Modifier to the Member one 
		if = {
			limit = {
				has_dynamic_modifier = { modifier = NORDIC_navy_originator_dmod }
			}
			custom_effect_tooltip = NORDIC_becomes_navy_member_tooltip
			hidden_effect = {
				remove_dynamic_modifier = { modifier = NORDIC_navy_originator_dmod }
				add_dynamic_modifier = { modifier = NORDIC_navy_member_dmod }
			}
		}
}

NORDIC_mil_industry_member_to_originator = { # Effect for upgrading the Military Industry Member Dynamic Modifier to the Originator one  
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_mil_industry_member_dmod }
		}
		custom_effect_tooltip = NORDIC_becomes_military_industry_leader_tooltip
		hidden_effect = {
			remove_dynamic_modifier = { modifier = NORDIC_mil_industry_member_dmod }
			add_dynamic_modifier = { modifier = NORDIC_mil_industry_originator_dmod }	
		}
	}
}

NORDIC_mil_industry_originator_to_member = { # Effect for downgrading the Military Industry Originator Dynamic Modifier to the Member one 
		if = {
			limit = {
				has_dynamic_modifier = { modifier = NORDIC_mil_industry_originator_dmod }
			}
			custom_effect_tooltip = NORDIC_becomes_military_industry_member_tooltip
			hidden_effect = {
				remove_dynamic_modifier = { modifier = NORDIC_mil_industry_originator_dmod }
				add_dynamic_modifier = { modifier = NORDIC_mil_industry_member_dmod }
			}
		}
}

NORDIC_remove_all_mods = {
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_democratic_alliance_leader_dmod }
		}
		remove_dynamic_modifier = {	modifier = NORDIC_democratic_alliance_leader_dmod }
	}
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_democratic_alliance_member_dmod }
		}
		remove_dynamic_modifier = {	modifier = NORDIC_democratic_alliance_member_dmod }
	}
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_communist_alliance_leader_dmod }
		}
		remove_dynamic_modifier = {	modifier = NORDIC_communist_alliance_leader_dmod }
	}
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_communist_alliance_member_dmod }
		}
		remove_dynamic_modifier = {	modifier = NORDIC_communist_alliance_member_dmod }
	}
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_monarchist_alliance_leader_dmod }
		}
		remove_dynamic_modifier = {	modifier = NORDIC_monarchist_alliance_leader_dmod	}
	}
	if = {
		limit = {
			has_dynamic_modifier = { modifier = NORDIC_monarchist_alliance_member_dmod }
		}
		remove_dynamic_modifier = {	modifier = NORDIC_monarchist_alliance_member_dmod	}
	}
}
###################################################################################################
###################################################################################################
###################################################################################################

##    ##  #######  ########  ########  ####  ######     
###   ## ##     ## ##     ## ##     ##  ##  ##    ##    
####  ## ##     ## ##     ## ##     ##  ##  ##          
## ## ## ##     ## ########  ##     ##  ##  ##          
##  #### ##     ## ##   ##   ##     ##  ##  ##          
##   ### ##     ## ##    ##  ##     ##  ##  ##    ##    
##    ##  #######  ##     ## ########  ####  ######     


 ######   #######   #######  ########  ######## ########     ###    ######## ####  #######  ##    ## 
##    ## ##     ## ##     ## ##     ## ##       ##     ##   ## ##      ##     ##  ##     ## ###   ## 
##       ##     ## ##     ## ##     ## ##       ##     ##  ##   ##     ##     ##  ##     ## ####  ## 
##       ##     ## ##     ## ########  ######   ########  ##     ##    ##     ##  ##     ## ## ## ## 
##       ##     ## ##     ## ##        ##       ##   ##   #########    ##     ##  ##     ## ##  #### 
##    ## ##     ## ##     ## ##        ##       ##    ##  ##     ##    ##     ##  ##     ## ##   ### 
 ######   #######   #######  ##        ######## ##     ## ##     ##    ##    ####  #######  ##    ## 

###################################################################################################
###################################################################################################
###################################################################################################

NORDIC_cooperation_initial_setup = {
	set_variable = { GLOBAL.NORDIC_war_threshold = 3 } # The maximium War Participation level before the country is dragged into the nordic war.  		
	set_variable = { GLOBAL.NORDIC_conflict_scale = 0 } #This is the variable to measure the scale of War in the nordics  
	set_variable = { GLOBAL.NORDIC_conflict_scale_max = 100 }
	set_variable = { GLOBAL.NORDIC_conflict_scale_base_increase = 5 }

	# Thresholds for Conflict SCale  
	set_variable = { GLOBAL.NORDIC_conflict_scale_border_war_th = 0 }
	set_variable = { GLOBAL.NORDIC_conflict_scale_regional_war_th = 40 }
	set_variable = { GLOBAL.NORDIC_conflict_scale_total_war_th = 90 }

	# Percentage Chances for increasing the participation based on Conflict Scale 
	set_variable = { GLOBAL.NORDIC_risk_percentage_border_war = 25 }
	set_variable = { GLOBAL.NORDIC_risk_percentage_regional_war = 55 }
	set_variable = { GLOBAL.NORDIC_risk_percentage_total_war = 90 }
	set_variable = { GLOBAL.NORDIC_current_risk = 25 }	 
	NORDIC_update_conflict_risk = yes 
}

NORDIC_update_conflict_risk = {
	if = { # Checking the current level of War Conflict
		limit = {
			NORDIC_conflict_scale_is_total_war = yes 
		}
		set_variable = { GLOBAL.NORDIC_current_risk = GLOBAL.NORDIC_risk_percentage_total_war }
	}
	else_if = {
		limit = {
			NORDIC_conflict_scale_is_regional_war = yes 
		}
		set_variable = { GLOBAL.NORDIC_current_risk = GLOBAL.NORDIC_risk_percentage_regional_war }
	}
	else_if = {
		limit = {
			NORDIC_conflict_scale_is_border_war = yes 
		}
		set_variable = { GLOBAL.NORDIC_current_risk = GLOBAL.NORDIC_risk_percentage_border_war }
	}
	else = {
		log = "Something went wrong with the Conflict Risk stuff"
	}
}

NORDIC_increase_war_participation = { # Increases the country's War Participation in Nordic wars, or starts the mission if it wasn't already.  
	if = {
		limit = {
			NOT = { has_variable = NORDIC_war_participation_level }
		}
		set_variable = { NORDIC_war_participation_level = 0 }
	}
	else = {
		add_to_variable = { NORDIC_war_participation_level = 1 }
		custom_effect_tooltip = NORDIC_war_participation_increase_TT
	}
	if = {
		limit = {
			check_variable = {
				NORDIC_war_participation_level > NORDIC_war_threshold
			}
		}
		NORDIC_full_war_participation = yes 
	}
}

NORDIC_decrease_war_participation = {
	if = {
		limit = {
			check_variable = { NORDIC_war_participation_level > 0 }
		}
		add_to_variable = { NORDIC_war_participation_level = -1 }
	}
}

NORDIC_war_started = { # To be called in the on_war_relation_added on_action so all the variables needed for the Nordic collaboration war are setup
	FROM = { 
		NORDIC_add_to_war_array = yes
		set_variable = { NORDIC_attacker = ROOT }
		every_other_country = {
			limit = {
				NORDIC_is_nordic = yes 
				NOT = {
					is_in_faction_with = FROM  
				}
				NOT = { has_variable = NORDIC_war_participation_level }
			}
			NORDIC_increase_war_participation = yes 
		}
	}
}

NORDIC_add_to_war_array = {
	add_to_array = {
		array = GLOBAL.NORDIC_at_defensive_war
		value = THIS
	}
}

NORDIC_remove_first_attacked = {
	set_temp_variable = { 
		NORDIC_temp_first_in_array = GLOBAL.NORDIC_at_defensive_war^0
	}
	 var:GLOBAL.NORDIC_at_defensive_war^0 = {
		log = "[?THIS.GetName] was removed from the Array" 
	}
	remove_from_array = {
		array = GLOBAL.NORDIC_at_defensive_war
		index = 0
	}
}

NORDIC_full_war_participation = { #Triggers once a Nordic is too involved as a third party in a nordic war. 
	set_variable = { NORDIC_country_to_defend = GLOBAL.NORDIC_at_defensive_war^0 }
	var:NORDIC_country_to_defend = {
		set_variable = { PREV.NORDIC_attacking_country = NORDIC_attacker }
	}
	log = "sending event to [?NORDIC_attacking_country.GetName]"
	var:NORDIC_attacking_country = {
		country_event = {
			id = AAT_nordic_cooperation.1
			hours = 4
		}
	}
}

NORDIC_increase_conflict_scale = { # This increases the scale of the conflict 
	add_to_variable = {
		GLOBAL.NORDIC_conflict_scale = GLOBAL.NORDIC_conflict_scale_base_increase
		tooltip = NORDIC_conflict_scale_increase_tooltip
	}
	clamp_variable = {
		var = GLOBAL.NORDIC_conflict_scale
		min = 0
		max = GLOBAL.NORDIC_conflict_scale_max
	}
}

NORDIC_roll_for_participation_increase = { # This rolls a die with a chance to increase participation based on the current risk
	random = {
		chance = GLOBAL.NORDIC_current_risk
		NORDIC_increase_war_participation = yes 
	}
}

NORDIC_basic_nordic_cooperation_effects = { # This combines the effect to increase the conflict scale and to roll the die for increasing participation. All wartime cooperation decisions should have this
	NORDIC_increase_conflict_scale = yes
	NORDIC_roll_for_participation_increase = yes  
}

