﻿namespace = fp1_scandinavian_adventurers

##################################################
# Scandinavian Adventurer Events
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################

scripted_trigger valid_scandinavian_laamp_adventurer = {
	is_available_ai_adult = yes
	has_government = landless_adventurer_government
	is_at_war = no
	has_raised_armies = no
	gold > 0
	exists = domicile.domicile_location
	culture = {
		NOT = { has_cultural_era_or_later = culture_era_early_medieval }
		has_cultural_pillar = heritage_north_germanic
	}
	is_healthy = yes
	has_any_debilitating_illness = no
	NOR = {
		has_character_flag = already_attempted_scandi_invasion
		has_character_modifier = histmod_save_for_planned_war
	}
	trigger_if = {
		limit = { exists = scope:adventurer_target }
		NOR = {
			has_truce = scope:adventurer_target.holder
			has_truce = scope:adventurer_target.holder.top_liege
		}
	}
	trigger_if = {
		limit = {
			NOT = { has_character_flag = prioritised_scandinavian_adventurer }
		}
		OR = {
			can_have_children = yes
			any_child = { is_alive = yes }
		}
		save_temporary_scope_as = potential
		can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:potential }
		NOT = {
			any_heir_title = {
				place_in_line_of_succession = {
					target = scope:potential
					value < 2
				}
			}
		}
	}
	trigger_if = {
		limit = { is_married = yes }
		trigger_if = {
			limit = { is_female = yes }
			matrilinear_marriage = yes
		}
		trigger_else = {
			patrilinear_marriage = yes
		}
	}
	trigger_else = {
		can_marry_common_trigger = yes
	}
	trigger_if = {
		limit = {
			exists = primary_spouse
			NOT = { has_character_flag = prioritised_scandinavian_adventurer }
		}
		primary_spouse = {
			is_ruler = no
			NOT = {
				any_heir_title = {
					place_in_line_of_succession = {
						target = scope:potential
						value < 2
					}
				}
			}
		}
	}
	trigger_if = {
		limit = {
			has_character_flag = is_rollo
			has_game_rule = rollo_always_invades
		}
		trigger_if = {
			limit = { has_game_rule = rollo_exists_vanilla }
			current_year >= 880
		}
		trigger_else = {
			current_year >= 900
		}
	}
}

scripted_trigger laamp_adventurer_can_declare_war_for = {
	save_temporary_scope_as = potential_laamp_adventurer
	NOR = {
		is_allied_to = $TARGET$.holder.top_liege
		has_truce = $TARGET$.holder.top_liege
		AND = {
			has_variable_list = subjugation_offer_under_consideration
			is_target_in_variable_list = {
				name = subjugation_offer_under_consideration
				target = $TARGET$.holder.top_liege
			}
		}
		AND = {
			exists = var:adventurer_invasion_supporter
			OR = {
				var:adventurer_invasion_supporter = $TARGET$.holder
				$TARGET$.holder = {
					any_liege_or_above = { this = scope:potential_laamp_adventurer.var:adventurer_invasion_supporter }
				}
			}
		}
		domicile.domicile_location.county.holder = {
			OR = {
				this = $TARGET$.holder
				any_liege_or_above = { this = $TARGET$.holder.top_liege }
			}
		}
	}
	domicile.domicile_location = {
		squared_distance = { target = $TARGET$.title_province value < 500000 }
	}
	$TARGET$.holder.top_liege = {
		NOT = { has_strong_hook = scope:potential_laamp_adventurer }
		trigger_if = {
			limit = { is_imprisoned = yes }
			NOT = { imprisoner = scope:potential_laamp_adventurer }
		}
	}
}

scripted_trigger significant_north_germanic_presence_trigger = {
	holder = {
		OR = {
			culture = { has_cultural_pillar = heritage_north_germanic }
			has_culture = culture:norman
			has_character_modifier = embraced_local_traditions_modifier
			dynasty ?= {
				OR = {
					this = dynasty:705 #Rurikid
					has_dynasty_modifier = settled_norse_dynasty_modifier
				}
			}
		}
		OR = {
			AND = {
				highest_held_title_tier >= tier_duchy
				any_held_title = {
					count >= 3
					title_tier = county
					title_province = { geographical_region = $SCANDI_ADV_TARGET_REGION$ }
				}
			}
			dynasty ?= {
				OR = {
					this = dynasty:705 #Rurikid
					has_dynasty_modifier = settled_norse_dynasty_modifier
				}
			}
		}
	}
}

scripted_trigger scattered_north_germanic_presence_trigger = {
	holder = {
		OR = {
			culture = { has_cultural_pillar = heritage_north_germanic }
			has_culture = culture:norman
			has_character_modifier = embraced_local_traditions_modifier
			dynasty ?= {
				OR = {
					this = dynasty:705 #Rurikid
					has_dynasty_modifier = settled_norse_dynasty_modifier
				}
			}
		}
	}
}

scripted_trigger is_bad_adventurer_target_county = {
	OR = {
		#Don't allow Normandy attack until close to proper timeframe
		AND = {
			NOT = { has_game_rule = no_forced_normandy_invasion }
			duchy = title:d_normandy
			current_year < 890
		}
		#Don't allow Normandy attack outside to invasion timeframe at all if Rollo will be available
		AND = {
			has_game_rule = rollo_always_invades
			duchy = title:d_normandy
			current_year < 900
			exists = global_var:rollo_adventurer
			global_var:rollo_adventurer = {
				is_alive = yes
				NOR = {
					is_landed = yes
					culture = { has_cultural_era_or_later = culture_era_early_medieval }
					has_character_flag = already_attempted_scandi_invasion
				}
			}
		}
		#Don't allow Northern Isles attack right away
		AND = {
			current_year < 880
			duchy = title:d_northern_isles
		}
	}
}

scripted_trigger is_bad_adventurer_target = {
	OR = {
		#Inappropriate culture
		culture = { has_cultural_pillar = heritage_north_germanic }
		culture = culture:norman
		#Stems from a settled norseman family
		has_character_modifier = embraced_local_traditions_modifier
		dynasty ?= {
			OR = {
				this = dynasty:705 #Rurikid
				has_dynasty_modifier = settled_norse_dynasty_modifier
			}
		}
		#Already being attacked
		any_character_war = {
			primary_defender = prev
			OR = {
				using_cb = fp1_scandi_adventurer_conquest
				using_cb = histmod_laamp_adventurer_duchy_invasion
				using_cb = fp1_rollo_adventurer_conquest
			}
		}
		#Has earned a reprieve
		has_character_modifier = fp1_reprieve_from_sa_modifier		
		#Filters out players unless they're large enough to take the hit
		AND = {
			is_ai = no
			sub_realm_size < 8
		}
	}
}

scripted_trigger valid_adventurer_target_trigger = {
	is_bad_adventurer_target_county = no
	holder = { is_bad_adventurer_target = no }
	holder.top_liege = { is_bad_adventurer_target = no }
}

scripted_trigger valid_western_scandinavian_county_trigger = {
	#Should be simple enough, but might want to make it more complex in future.
	OR = {
		AND = {
			culture = culture:norse
			culture:norse = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
		}
		AND = {
			culture = culture:norwegian
			culture:norwegian = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
		}
		AND = {
			culture = culture:danish
			culture:danish = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
		}
	}
}

scripted_trigger valid_eastern_scandinavian_county_trigger = {
	#Should be simple enough, but might want to make it more complex in future.
	OR = {
		AND = {
			culture = culture:norse
			culture:norse = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
		}
		AND = {
			culture = culture:swedish
			culture:swedish = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
		}
	}
}

scripted_trigger valid_scandinavian_county_for_embark_trigger = {
	is_coastal_county = yes
	holder = { fp1_is_norse = yes }
}

scripted_trigger rollo_could_be_available_trigger = {
	has_game_rule = rollo_always_invades
	exists = global_var:rollo_adventurer
	global_var:rollo_adventurer = {
		is_alive = yes
		culture = culture:norse
		NOT = { has_character_flag = already_attempted_scandi_invasion }
		OR = {
			is_ai = no
			valid_scandinavian_adventurer = yes
			has_government = landless_adventurer_government
		}
	}
}

scripted_trigger rollo_is_available_trigger = {
	has_game_rule = rollo_always_invades
	exists = global_var:rollo_adventurer
	global_var:rollo_adventurer = {
		is_alive = yes
		culture = culture:norse
		NOT = { has_character_flag = already_attempted_scandi_invasion }
		OR = {
			is_ai = no
			valid_scandinavian_adventurer = yes
			AND = {
				has_government = landless_adventurer_government
				valid_scandinavian_laamp_adventurer = yes
				laamp_adventurer_can_declare_war_for = { TARGET = title:c_rouen }
			}
		}
	}
}

scripted_effect pick_out_random_spawn_location_effect = {
	# Set a random spawn location.
	## Try to pick a good spot in Scandinavia.
	if = {
		limit = {
			any_county_in_region = {
				region = world_europe_north
				valid_scandinavian_county_for_embark_trigger = yes
			}
		}
		random_county_in_region = {
			region = world_europe_north
			limit = { valid_scandinavian_county_for_embark_trigger = yes }
			# Weight up according to development, so armies tend to spawn in places where more randos would congregate.
			weight = {
				modifier = {
					add = {
						value = development_level
						multiply = 10
					}
				}
				modifier = {
					factor = 2
					culture = scope:scandi_adventurer.culture
				}
			}
			save_temporary_scope_as = selected_county
			scope:scandi_adventurer = {
				set_variable = {
					name = random_location
					value = scope:selected_county.title_province
					days = 365
				}
			}
		}
	}
	## Otherwise, we used our backup of Lister, the last Scandinavian province left alive, three million miles into deep space.
	else = {
		set_variable = {
			name = random_location
			value = title:b_lister.title_province
			days = 365
		}
	}
}

scripted_effect scandinavian_adventurer_start_war_effect = {
	add_character_flag = already_attempted_scandi_invasion
	#Give the adventurer a dynamic title to tide them over.
	create_dynamic_title = {
		tier = duchy
		name = {
			first_valid = {
				triggered_desc = {
					trigger = {
						faith = { has_doctrine = doctrine_gender_male_dominated }
					}
					desc = VIKING_ARMY_MEN_NAME
				}
				triggered_desc = {
					trigger = {
						faith = { has_doctrine = doctrine_gender_female_dominated }
					}
					desc = VIKING_ARMY_WOMEN_NAME
				}
				triggered_desc = {
					trigger = {
						faith = { has_doctrine = doctrine_gender_equal }
					}
					desc = VIKING_ARMY_NEUTRAL_NAME
				}
				#Fallback, just in case.
				desc = VIKING_ARMY_NEUTRAL_NAME
			}
		}
		adj = VIKING_ARMY_adj
	}
	create_title_and_vassal_change = {
		type = created
		save_scope_as = change
		add_claim_on_loss = no
	}
	#We pick out the spawn point now because the adventurer's court will be moved there
	#Plus any hired troops/holy orders will automatically appear there
	#and we don't want them appearing all alone on the target province
	pick_out_random_spawn_location_effect = yes
	
	scope:new_title = {
		set_capital_county = scope:scandi_adventurer.var:random_location.county
		set_landless_title = yes
		set_destroy_on_gain_same_tier = yes
		set_no_automatic_claims = yes
		set_can_be_named_after_dynasty = no
		change_title_holder = {
			holder = scope:scandi_adventurer
			change = scope:change
		}
	}
	resolve_title_and_vassal_change = scope:change
	scope:new_title = {
		generate_coa = yes
		set_variable = {
			name = temporary_title
			value = yes
		}
	}
	#Declare the war.
	if = {
		limit = {
			NOR = {
				has_game_rule = no_forced_normandy_invasion
				has_game_rule = always_invades_no_special_rules
			}
			current_year >= 900
			current_year <= 925
			scope:scandi_adventurer = { culture = culture:norse }
			title:c_rouen = {
				this = scope:adventurer_target
				culture = culture:french
				holder = { is_ai = yes }
				holder.top_liege = { highest_held_title_tier > tier_duchy }
				NOT = { has_variable = had_rollo_invasion }
			}
		}
		title:c_rouen = { set_variable = { name = had_rollo_invasion value = yes } }
		scope:scandi_adventurer = {
			start_war = {
				casus_belli = fp1_rollo_adventurer_conquest
				target = scope:adventurer_target.holder.top_liege
				target_title = scope:adventurer_target.duchy
			}
			random_character_war = {
				limit = { using_cb = fp1_rollo_adventurer_conquest }
				save_scope_as = scandi_war
			}
		}
	}
	else = {
		scope:scandi_adventurer = {
			start_war = {
				casus_belli = fp1_scandi_adventurer_conquest
				target = scope:adventurer_target.holder.top_liege
				target_title = scope:adventurer_target.duchy
			}
			random_character_war = {
				limit = { using_cb = fp1_scandi_adventurer_conquest }
				save_scope_as = scandi_war
			}
		}
	}

	# Setup event troops.
	scope:scandi_adventurer = {
		# Add some commanders & possible family members
		histmod_spawn_court_effect = yes
		scandi_adventurer_family_check = yes
		
		# Work out how many event troops we should give the adventurer
		scandi_adventurer_army_spawn = {
			SCANDI_WAR = scope:scandi_war
			TARGET = scope:adventurer_target
			LAUNCH = scope:scandi_adventurer.var:random_location
		}
		# Suppress startup error false-positive
		if = {
			limit = { has_variable = random_location }
			# Do nothing.
		}
	}
	# Loan a little gold in case they're in debt/to keep them going.
	scope:scandi_adventurer = { add_gold = scandinavian_adventurer_efficacy_loan_value }
}

scripted_effect scandinavian_laamp_adventurer_start_war_effect = {
	scope:scandi_adventurer = {
		add_character_flag = already_attempted_scandi_invasion
		
		# First move the domicile to a jumping off point
		pick_out_random_spawn_location_effect = yes
		domicile = { move_domicile = scope:scandi_adventurer.var:random_location }
		
		start_war = {
			casus_belli = histmod_laamp_adventurer_duchy_invasion
			target = scope:adventurer_target.holder.top_liege
			target_title = scope:adventurer_target.duchy
		}
		random_character_war = {
			limit = { using_cb = histmod_laamp_adventurer_duchy_invasion }
			save_scope_as = scandi_war
		}
		
		# Add some more commanders
		histmod_spawn_court_effect = yes
		
		# Work out how many event troops we should give the adventurer
		scandi_adventurer_army_spawn = {
			SCANDI_WAR = scope:scandi_war
			TARGET = scope:adventurer_target
			LAUNCH = scope:scandi_adventurer.domicile.domicile_location
		}
	}
	if = {
		limit = {
			NOR = {
				has_game_rule = no_forced_normandy_invasion
				has_game_rule = always_invades_no_special_rules
			}
			current_year >= 900
			current_year <= 925
			scope:scandi_adventurer = { culture = culture:norse }
			title:c_rouen = {
				this = scope:adventurer_target
				culture = culture:french
				holder = { is_ai = yes }
				holder.top_liege = { highest_held_title_tier > tier_duchy }
				NOT = { has_variable = had_rollo_invasion }
			}
		}
		title:c_rouen = { set_variable = { name = had_rollo_invasion value = yes } }
	}
}

#	Pre-filter event, check to see if we should keep sending out adventurers.
fp1_scandinavian_adventurers.0001 = {
	scope = none
	hidden = yes

	trigger = {
		#DLC check.
		has_fp1_dlc_trigger = yes
		NOT = { has_game_rule = fp1_scandi_adventurers_off }
		OR = {
			culture:norse = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
			culture:norwegian = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
			culture:danish = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
			culture:swedish = {
				NOT = { has_cultural_era_or_later = culture_era_early_medieval }
			}
		}
	}

	immediate = {
		#We prefer to use actual characters, but if there aren't any, we try to generate a fallback.
		
		##First let's clear the list of those who don't need to be there
		every_in_global_list = {
			variable = western_scandinavian_adventurer_list
			limit = {
				NOT = { has_character_flag = prioritised_scandinavian_adventurer }
				OR = {
					is_alive = no
					is_ruler = yes
					culture = { has_cultural_era_or_later = culture_era_early_medieval }
					has_character_flag = already_attempted_scandi_invasion
				}
			}
			save_temporary_scope_as = remove_adventurer
			remove_list_global_variable = { name = western_scandinavian_adventurer_list target = scope:remove_adventurer }
		}
		every_in_global_list = {
			variable = eastern_scandinavian_adventurer_list
			limit = {
				NOT = { has_character_flag = prioritised_scandinavian_adventurer }
				OR = {
					is_alive = no
					NOT = { has_government = landless_adventurer_government }
					culture = { has_cultural_era_or_later = culture_era_early_medieval }
					has_character_flag = already_attempted_scandi_invasion
				}
			}
			save_temporary_scope_as = remove_adventurer
			remove_list_global_variable = { name = eastern_scandinavian_adventurer_list target = scope:remove_adventurer }
		}
		
		##Delete the Rollo global variable if he's dead
		if = {
			limit = {
				exists = global_var:rollo_adventurer
				NOT = { global_var:rollo_adventurer = { is_alive = yes } }
			}
			remove_global_variable = rollo_adventurer
		}
		
		##Then get some more Norse adventurers
		if = {
			limit = {
				has_ep3_dlc_trigger = yes
				global_variable_list_size = {
					name = laamps_tally
					value < seventyfive_percent_of_max_desired_laamps_value
				}
			}
			# put together a list of all the existing Norse potentials
			every_in_global_list = {
				variable = western_scandinavian_adventurer_list
				limit = {
					is_available_ai_adult = yes
					is_valid_for_laampdom = yes
					is_ruler = no
					trigger_if = {
						limit = { is_courtier = yes }
						liege = { is_ai = yes }
					}
				}
				add_to_temporary_list = potential_new_laamp
			}
			every_in_global_list = {
				variable = eastern_scandinavian_adventurer_list
				limit = {
					NOT = { is_in_list = potential_new_laamp }
					is_available_ai_adult = yes
					is_valid_for_laampdom = yes
					is_ruler = no
					trigger_if = {
						limit = { is_courtier = yes }
						liege = { is_ai = yes }
					}
				}
				add_to_temporary_list = potential_new_laamp
			}
			if = {
				limit = {
					list_size = { name = potential_new_laamp value > 0 }
				}
				# now pick out the one best suited to become a landless adventurer
				ordered_in_list = {
					list = potential_new_laamp
					order_by = {
						value = scandinavian_adventurer_priority_value
						if = {
							limit = { is_courtier = yes }
							multiply = 0.75
						}
					}
					save_temporary_scope_as = new_laamp
					if = {
						limit = { is_courtier = yes }
						create_landless_adventurer_title_effect = {
							REASON = flag:voluntary
							FLAVOR_CHAR = scope:new_laamp
						}
					}
					else = {
						create_landless_adventurer_title_effect = {
							REASON = flag:wanderer
							FLAVOR_CHAR = scope:new_laamp
						}
					}
				}
			}
		}
		
		##Populate Western list backup.
		if = {
			limit = {
				NOT = {
					any_in_global_list = {
						variable = western_scandinavian_adventurer_list
						count >= 1
						valid_scandinavian_adventurer = yes
					}
				}
				any_county_in_region = {
					region = dlc_fp1_region_western_scandinavia_pool
					valid_western_scandinavian_county_trigger = yes
				}
			}
			random_county_in_region = {
				region = dlc_fp1_region_western_scandinavia_pool
				limit = { valid_western_scandinavian_county_trigger = yes }
				save_scope_as = scandinavian_county
			}
			create_character = {
				location = scope:scandinavian_county.title_province
				template = histmod_western_warrior_character
				save_scope_as = backup_adventurer
				after_creation = {
					add_to_global_variable_list = {
						name = western_scandinavian_adventurer_list
						target = scope:backup_adventurer
					}
				}
			}
		}
		##Populate Eastern list backup.
		if = {
			limit = {
				NOT = {
					any_in_global_list = {
						variable = eastern_scandinavian_adventurer_list
						count >= 1
						valid_scandinavian_adventurer = yes
					}
				}
				any_county_in_region = {
					region = dlc_fp1_region_eastern_scandinavia_pool
					valid_eastern_scandinavian_county_trigger = yes
				}
			}
			random_county_in_region = {
				region = dlc_fp1_region_eastern_scandinavia_pool
				limit = { valid_eastern_scandinavian_county_trigger = yes }
				save_scope_as = scandinavian_county
			}
			create_character = {
				location = scope:scandinavian_county.title_province
				template = histmod_eastern_warrior_character
				save_scope_as = backup_adventurer
				after_creation = {
					add_to_global_variable_list = {
						name = eastern_scandinavian_adventurer_list
						target = scope:backup_adventurer
					}
				}
			}
		}
		
		#Launch the adventurer spawning events.
		trigger_event = {
			id = fp1_scandinavian_adventurers.0002
			days = { 0 365 }
		}
		trigger_event = {
			id = fp1_scandinavian_adventurers.0003
			days = { 0 365 }
		}
		
		#Trigger the next wave of events.
		if = {
			limit = { has_game_rule = fp1_scandi_adventurers_apocalyptic }
			trigger_event = {
				id = fp1_scandinavian_adventurers.0001
				days = { 300 420 }
			}
		}
		if = {
			limit = { has_game_rule = fp1_scandi_adventurers_frequent }
			trigger_event = {
				id = fp1_scandinavian_adventurers.0001
				days = { 1725 1910 }
			}
		}
		if = {
			limit = { has_game_rule = fp1_scandi_adventurers_occasional }
			trigger_event = {
				id = fp1_scandinavian_adventurers.0001
				days = { 3540 3725 }
			}
		}
		if = {
			limit = { has_game_rule = fp1_scandi_adventurers_rare }
			trigger_event = {
				id = fp1_scandinavian_adventurers.0001
				days = { 5350 5600 }
			}
		}
	}
}

#	General processing event, Western Europe.
fp1_scandinavian_adventurers.0002 = {
	scope = none
	hidden = yes

	trigger = {
		#At least one valid adventurer. Should always be the case, but just to be sure.
		any_in_global_list = {
			variable = western_scandinavian_adventurer_list
			count >= 1
			valid_scandinavian_adventurer = yes
		}
	}

	immediate = {
		##Check through the ordered western targets to see if a region needs a few more Norsemen.
		random_list = {
			###Iceland & the Northern Isles
			1000 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_iceland_isles
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_western_adventure_targets_iceland_isles }
						}
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_iceland_isles
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_iceland_isles
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_iceland_isles
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_western_adventure_targets_iceland_isles
					limit = {
						NOR = {
							holder = { is_in_list = western_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = western_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = western_scandi_targets_list
				}
				random_in_list = {
					list = western_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Western Scotland & the Isles
			500 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_scotland_isles
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_western_adventure_targets_scotland_isles }
						}
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_scotland_isles
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_scotland_isles
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_scotland_isles
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_western_adventure_targets_scotland_isles
					limit = {
						NOR = {
							holder = { is_in_list = western_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = western_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = western_scandi_targets_list
				}
				random_in_list = {
					list = western_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Ireland
			250 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_ireland
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_western_adventure_targets_ireland }
						}
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_ireland
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_ireland
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_ireland
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_western_adventure_targets_ireland
					limit = {
						NOR = {
							holder = { is_in_list = western_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = western_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = western_scandi_targets_list
				}
				random_in_list = {
					list = western_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Northern England
			250 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_northern_england
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_western_adventure_targets_northern_england }
						}
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_northern_england
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_northern_england
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_northern_england
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_western_adventure_targets_northern_england
					limit = {
						NOR = {
							holder = { is_in_list = western_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = western_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = western_scandi_targets_list
				}
				random_in_list = {
					list = western_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Northern France & Brittany
			100 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_northern_france_brittany
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_western_adventure_targets_northern_france_brittany }
						}
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_northern_france_brittany
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_northern_france_brittany
						valid_adventurer_target_trigger = yes
					}
					# do not attack here around when Rollo is expected to
					trigger_if = {
						limit = { rollo_could_be_available_trigger = yes }
						OR = {
							current_year < 890
							current_year > 925
						}
					}
				}
				modifier = {
					add = -50
					current_year < 893
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_northern_france_brittany
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_western_adventure_targets_northern_france_brittany
					limit = {
						NOR = {
							holder = { is_in_list = western_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = western_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = western_scandi_targets_list
				}
				random_in_list = {
					list = western_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Pomerania & Prussia
			50 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_pomerania_prussia
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_western_adventure_targets_pomerania_prussia }
						}
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_pomerania_prussia
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_pomerania_prussia
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_pomerania_prussia
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_western_adventure_targets_pomerania_prussia
					limit = {
						NOR = {
							holder = { is_in_list = western_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = western_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = western_scandi_targets_list
				}
				random_in_list = {
					list = western_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Frisia
			25 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_frisia
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_western_adventure_targets_frisia }
						}
						any_county_in_region = {
							region = dlc_fp1_region_western_adventure_targets_frisia
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_frisia
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_western_adventure_targets_frisia
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_western_adventure_targets_frisia
					limit = {
						NOR = {
							holder = { is_in_list = western_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = western_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = western_scandi_targets_list
				}
				random_in_list = {
					list = western_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
		}
		
		##SORT ACTORS
		##Grab the most eligible candidate from the western list.
		if = {
			limit = { exists = scope:adventurer_target }
			ordered_in_global_list = {
				variable = western_scandinavian_adventurer_list
				limit = { valid_scandinavian_adventurer = yes }
				order_by = { value = scandinavian_adventurer_priority_value }
				save_scope_as = scandi_adventurer
				add_character_modifier = scandinavian_adventurer_fp1_modifier
				add_trait = adventurer
			}
		}
		
		##See if the target should be diverted to Neustria instead
		if = {
			limit = {
				NOR = {
					has_game_rule = no_forced_normandy_invasion
					any_player = {
						has_character_flag = is_rollo
						has_government = landless_adventurer_government
					}
				}
				current_year >= 900
				current_year <= 925
				trigger_if = {
					limit = {
						has_game_rule = rollo_always_invades
						exists = global_var:rollo_adventurer
						rollo_could_be_available_trigger = yes
					}
					rollo_is_available_trigger = yes
				}
				trigger_else = {
					OR = {
						scope:scandi_adventurer ?= { culture = culture:norse }
						rollo_is_available_trigger = yes
					}
				}
				title:c_rouen = {
					valid_adventurer_target_trigger = yes
					culture = culture:french
					holder = { is_ai = yes }
					holder.top_liege = { highest_held_title_tier > tier_duchy }
					NOT = { has_variable = had_rollo_invasion }
				}
			}
			title:c_rouen = { save_scope_as = adventurer_target }
			if = {
				limit = { rollo_is_available_trigger = yes }
				scope:scandi_adventurer ?= {
					remove_character_modifier = scandinavian_adventurer_fp1_modifier
					remove_trait = adventurer
				}
				global_var:rollo_adventurer = {
					save_scope_as = scandi_adventurer
					add_character_modifier = scandinavian_adventurer_fp1_modifier
					if = {
						limit = { NOT = { has_government = landless_adventurer_government } }
						add_trait = adventurer
					}
				}
			}
		}
		##Otherwise, see if there's a laamp adventurer to take on the war
		else_if = {
			limit = {
				exists = scope:adventurer_target
				any_independent_ruler = {
					valid_scandinavian_laamp_adventurer = yes
					laamp_adventurer_can_declare_war_for = { TARGET = scope:adventurer_target }
				}
			}
			scope:scandi_adventurer ?= {
				remove_character_modifier = scandinavian_adventurer_fp1_modifier
				remove_trait = adventurer
			}
			every_independent_ruler = {
				limit = {
					valid_scandinavian_laamp_adventurer = yes
					laamp_adventurer_can_declare_war_for = { TARGET = scope:adventurer_target }
				}
				add_to_list = potential_laamp_adventurer_list
			}
			ordered_in_list = {
				list = potential_laamp_adventurer_list
				order_by = { value = scandinavian_adventurer_priority_value }
				save_scope_as = scandi_adventurer
				add_character_modifier = scandinavian_adventurer_fp1_modifier
			}
			every_in_list = {
				list = potential_laamp_adventurer_list
				this = { remove_from_list = potential_laamp_adventurer_list }
			}
		}
		
		#SORT WAR
		if = {
			limit = {
				exists = scope:adventurer_target
				exists = scope:scandi_adventurer
			}
			scope:scandi_adventurer = { trigger_event = fp1_scandinavian_adventurers.0005 }
		}
	}
}

#	General processing event, Eastern Europe.
fp1_scandinavian_adventurers.0003 = {
	scope = none
	hidden = yes

	trigger = {
		#At least one valid adventurer. Should always be the case, but just to be sure.
		any_in_global_list = {
			variable = eastern_scandinavian_adventurer_list
			count >= 1
			valid_scandinavian_adventurer = yes
		}
	}

	immediate = {
		##Check through the ordered eastern targets to see if a region needs a few more Norsemen.
		random_list = {
			###Novgorod
			1000 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_novgorod
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_eastern_adventure_targets_novgorod }
						}
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_novgorod
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_novgorod
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_novgorod
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_eastern_adventure_targets_novgorod
					limit = {
						NOR = {
							holder = { is_in_list = eastern_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = eastern_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = eastern_scandi_targets_list
				}
				random_in_list = {
					list = eastern_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###White Rus'
			500 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_white_rus
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_eastern_adventure_targets_white_rus }
						}
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_white_rus
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_white_rus
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_white_rus
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_eastern_adventure_targets_white_rus
					limit = {
						NOR = {
							holder = { is_in_list = eastern_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = eastern_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = eastern_scandi_targets_list
				}
				random_in_list = {
					list = eastern_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Vladimir
			250 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_vladimir
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_eastern_adventure_targets_vladimir }
						}
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_vladimir
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_vladimir
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_vladimir
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_eastern_adventure_targets_vladimir
					limit = {
						NOR = {
							holder = { is_in_list = eastern_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = eastern_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = eastern_scandi_targets_list
				}
				random_in_list = {
					list = eastern_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Ruthenia
			100 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_ruthenia
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_eastern_adventure_targets_ruthenia }
						}
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_ruthenia
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_ruthenia
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_ruthenia
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_eastern_adventure_targets_ruthenia
					limit = {
						NOR = {
							holder = { is_in_list = eastern_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = eastern_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = eastern_scandi_targets_list
				}
				random_in_list = {
					list = eastern_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Estonia
			100 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_estonia
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_eastern_adventure_targets_estonia }
						}
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_estonia
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_estonia
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_estonia
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_eastern_adventure_targets_estonia
					limit = {
						NOR = {
							holder = { is_in_list = eastern_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = eastern_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = eastern_scandi_targets_list
				}
				random_in_list = {
					list = eastern_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
			###Zaporizhia
			50 = {
				trigger = {
					NOR = {
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_zaporizhia
							significant_north_germanic_presence_trigger = { SCANDI_ADV_TARGET_REGION = dlc_fp1_region_eastern_adventure_targets_zaporizhia }
						}
						any_county_in_region = {
							region = dlc_fp1_region_eastern_adventure_targets_zaporizhia
							count >= 3
							scattered_north_germanic_presence_trigger = yes
						}
					}
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_zaporizhia
						valid_adventurer_target_trigger = yes
					}
				}
				modifier = {
					factor = 0.5
					any_county_in_region = {
						region = dlc_fp1_region_eastern_adventure_targets_zaporizhia
						holder = {
							is_ai = no
							sub_realm_size < 8
						}
					}
				}
				every_county_in_region = {
					region = dlc_fp1_region_eastern_adventure_targets_zaporizhia
					limit = {
						NOR = {
							holder = { is_in_list = eastern_scandi_targets_list }
							holder.top_liege.max_military_strength <= 5000
						}
						valid_adventurer_target_trigger = yes
					}
					alternative_limit = {
						NOT = { holder = { is_in_list = eastern_scandi_targets_list } }
						valid_adventurer_target_trigger = yes
					}
					add_to_list = eastern_scandi_targets_list
				}
				random_in_list = {
					list = eastern_scandi_targets_list
					weight = {
						modifier = { add = scandinavian_adventurer_target_title_priority_value }
						modifier = {
							factor = 0.5
							save_temporary_scope_as = potential_target
							any_player = { capital_county.duchy = scope:potential_target.duchy }
						}
					}
					save_scope_as = adventurer_target
				}
			}
		}
		
		#SORT ACTORS
		##Grab the most eligible candidate from the eastern list
		if = {
			limit = { exists = scope:adventurer_target }
			ordered_in_global_list = {
				variable = eastern_scandinavian_adventurer_list
				limit = { valid_scandinavian_adventurer = yes }
				order_by = { value = scandinavian_adventurer_priority_value }
				save_scope_as = scandi_adventurer
				add_character_modifier = scandinavian_adventurer_fp1_modifier
				add_trait = adventurer
			}
		}
		
		##See if there's a laamp adventurer to take on the war
		if = {
			limit = {
				exists = scope:adventurer_target
				any_independent_ruler = {
					valid_scandinavian_laamp_adventurer = yes
					laamp_adventurer_can_declare_war_for = { TARGET = scope:adventurer_target }
				}
			}
			scope:scandi_adventurer ?= {
				remove_character_modifier = scandinavian_adventurer_fp1_modifier
				remove_trait = adventurer
			}
			every_independent_ruler = {
				limit = {
					valid_scandinavian_laamp_adventurer = yes
					laamp_adventurer_can_declare_war_for = { TARGET = scope:adventurer_target }
				}
				add_to_list = potential_laamp_adventurer_list
			}
			ordered_in_list = {
				list = potential_laamp_adventurer_list
				order_by = { value = scandinavian_adventurer_priority_value }
				save_scope_as = scandi_adventurer
				add_character_modifier = scandinavian_adventurer_fp1_modifier
			}
			every_in_list = {
				list = potential_laamp_adventurer_list
				this = { remove_from_list = potential_laamp_adventurer_list }
			}
		}		
		
		#SORT WAR
		if = {
			limit = {
				exists = scope:adventurer_target
				exists = scope:scandi_adventurer
			}
			scope:scandi_adventurer = { trigger_event = fp1_scandinavian_adventurers.0005 }
		}
	}
}

#	Startup event, delaying the initial cycle.
fp1_scandinavian_adventurers.0004 = {
	scope = none
	hidden = yes

	immediate = {
		trigger_event = {
			id = fp1_scandinavian_adventurers.0001
			years = 5
		}
	}
}

#	Start the war (separate event to config scopes correctly).
fp1_scandinavian_adventurers.0005 = {
	hidden = yes

	immediate = {
		if = {
			limit = { has_government = landless_adventurer_government }
			scandinavian_laamp_adventurer_start_war_effect = yes
		}
		else = {
			scandinavian_adventurer_start_war_effect = yes
		}
	}
}

#	Drag in famous landless Norse characters if they haven't become landed after twenty years.
fp1_scandinavian_adventurers.0011 = {
	scope = none
	hidden = yes

	trigger = {
		# DLC check.
		has_fp1_dlc_trigger = yes
		# No point in later starts.
		game_start_date = 867.1.1
	}

	immediate = {
		trigger_event = {
			id = fp1_scandinavian_adventurers.0012
			years = 20
		}
	}
}

scripted_effect scandi_adventurers_grab_famous_character_effect = {
	$CHARACTER$ ?= {
		if = {
			limit = {
				# Still kickin'.
				is_physically_able_adult = yes
				# Shouldn't ever really be an issue, but y'never know.
				is_ai = yes
				# Hasn't got anything dynastic of note going on.
				is_ruler = no
				any_heir_title = { count = 0 }
				# And is free and clear to go.
				is_imprisoned = no
				OR = {
					is_married = no
					AND = {
						is_female = yes
						matrilinear_marriage = yes
					}
					AND = {
						is_male = yes
						patrilinear_marriage = yes
					}
				}
				# And is still North Germanic/not in either of the lists.
				culture = { has_cultural_pillar = heritage_north_germanic }
			}
			# Norse, Norwegians, & Danes go into the western adventurer list.
			if = {
				limit = {
					OR = {
						has_culture = culture:norse
						has_culture = culture:norwegian
						has_culture = culture:danish
					}
					NOT = {
						is_target_in_global_variable_list = { name = western_scandinavian_adventurer_list target = $CHARACTER$ }
					}
				}
				add_to_global_variable_list = {
					name = western_scandinavian_adventurer_list
					target = $CHARACTER$
				}
			}
			# Norse & Swedes go into the eastern adventurer list.
			if = {
				limit = {
					OR = {
						has_culture = culture:norse
						has_culture = culture:swedish
					}
					NOT = {
						is_target_in_global_variable_list = { name = eastern_scandinavian_adventurer_list target = $CHARACTER$ }
					}
				}
				add_to_global_variable_list = {
					name = eastern_scandinavian_adventurer_list
					target = $CHARACTER$
				}
			}
			# Either way, flag 'em for priority in the system.
			add_character_flag = prioritised_scandinavian_adventurer
		}
	}
}

fp1_scandinavian_adventurers.0012 = {
	hidden = yes
	scope = none

	trigger = {
		# DLC check.
		has_fp1_dlc_trigger = yes
		# No point in later starts.
		game_start_date = 867.1.1

		OR = {
			exists = character:242
			exists = character:163119
		}
	}

	immediate = {
		# Nab Ubbe
		if = {
			limit = { exists = character:163119 }
			scandi_adventurers_grab_famous_character_effect = { CHARACTER = character:163119 }
		}
		
		# Rollo (if exists as vanilla default)
		if = {
			limit = {
				exists = character:242
				has_game_rule = rollo_exists_vanilla
			}
			scandi_adventurers_grab_famous_character_effect = { CHARACTER = character:242 }
		}
	}
}

fp1_scandinavian_adventurers.0021 = {
	hidden = yes
	scope = none

	trigger = {
		# DLC check.
		has_fp1_dlc_trigger = yes
		# No point in later starts.
		game_start_date = 867.1.1
	}

	immediate = {
		# Haesteinn.
		character:6878 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Ivar the Boneless.
		character:163111 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Halfdan Whiteshirt.
		character:163112 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Sigurdr Snake-in-the-Eye.
		character:163110 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Bjorn Ironside.
		character:163108 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Rurik the Troublemaker.
		character:40605 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Dyre the Stranger.
		character:6811 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Harald Fairhair.
		character:144000 = { add_character_flag = prioritised_scandinavian_adventurer }
		# Audr the Deep-Minded.
		character:168609 = { add_character_flag = prioritised_scandinavian_adventurer }
	}
}

