###########################################
#                                         #
# Horse Lords Raiding Adventurers 		  #
#                                         #
# ID HL.100-HL.199      	              #
#                                         #
###########################################

# Written by Joel Hansson

namespace = HL

# An ambitious character with no inheritance begins to plan an adventure for a foreign title
character_event = {
	id = HL.100

	is_triggered_only = yes # on_yearly_pulse, random_events, hl_adventurers
	hide_window = yes # Only fires for unplayable landless characters

	only_men = yes
	has_global_flag = viking_age_started
	min_age = 16
	max_age = 50
	only_capable = yes
	has_dlc = "Horse Lords"
	prisoner = no

	trigger = {
		is_allowed_to_loot = yes
		is_lowborn = no
		is_ruler = no
		health >= 4

		OR = {
			religion_openly_norse_or_reformed_trigger = yes

			trigger_if = {
				limit = { culture_group = altaic }

				any_liege = {
					is_nomadic = yes
				}
			}
		}

		any_close_relative = {
			OR = {
				is_parent_of = ROOT
				is_grandparent_of = ROOT
			}

			higher_real_tier_than = BARON
		}


		OR = {
			martial >= 8
			trait = ambitious
			trait = possessed
		}

		calc_true_if = {
			amount >= 2

			martial >= 12
			martial >= 16
			diplomacy >= 8
			trait = brave
			is_strong_trigger = yes
			trait = viking
			prestige >= 500
		}

		OR = {
			AND = {
				martial >= 12

				calc_true_if = {
					amount >= 2

					martial >= 16
					diplomacy >= 12
					trait = brave
					trait = ambitious
					trait = viking
				}
			}

			father_even_if_dead = {
				OR = {
					higher_real_tier_than = BARON
					father_even_if_dead = { higher_real_tier_than = BARON }
					mother_even_if_dead = { higher_real_tier_than = BARON }
				}
			}

			mother_even_if_dead = {
				OR = {
					higher_real_tier_than = BARON
					father_even_if_dead = { higher_real_tier_than = BARON }
					mother_even_if_dead = { higher_real_tier_than = BARON }
				}
			}
		}

		NOR = {
			trait = content
			trait = craven
			trait = humble
			trait = depressed
			trait = imbecile
			trait = wounded
			trait = incapable
			trait = celibate
			trait = blinded
			trait = eunuch
			trait = nun
			trait = monk
			is_weak_trigger = yes
			is_maimed_trigger = yes
			any_liege = { holy_order = yes }
			any_liege = { mercenary = yes }
			any_spouse = { is_ruler = yes }
			any_heir_title = { always = yes }
		}

		# Handled by event adventurerPlus.100
		NOT = { any_claim = { plus_valid_adv_target_title_trigger = yes } }
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 2
			trait = ambitious
		}

		mult_modifier = {
			factor = 5
			has_character_flag = flag_denied_title
		}

		mult_modifier = {
			factor = 5
			has_character_flag = demon_child_non_pagan
		}

		mult_modifier = {
			factor = 1.33
			diplomacy >= 12
		}

		mult_modifier = {
			factor = 1.33
			martial >= 12
		}

		mult_modifier = {
			factor = 1.33
			combat_rating >= 30
		}

		mult_modifier = {
			factor = 1.33
			trait = brave
		}

		mult_modifier = {
			factor = 1.18
			trait = proud
		}

		mult_modifier = {
			factor = 0.33
			trait = slothful
		}

		mult_modifier = {
			factor = 0.33
			trait = humble
		}

		mult_modifier = {
			factor = 0.33
			trait = kind
		}

		mult_modifier = {
			factor = 0.33
			any_liege = { ai = no }
		}

		mult_modifier = {
			factor = 0.02

			has_game_rule = {
				name = adventurers
				value = rare
			}
		}

#		mult_modifier = {
#			factor = 0.33
#			top_liege = { real_tier = EMPEROR }
#		}

		# CK2Plus
		mult_modifier = {
			factor = 2
			has_character_flag = potential_adventurer
		}

		mult_modifier = {
			factor = 1.2
			trait = impaler
		}

		mult_modifier = {
			factor = 1.2
			trait = greedy
		}

		mult_modifier = {
			factor = 1.2
			trait = envious
		}

		mult_modifier = {
			factor = 1.2
			trait = zealous
		}

		mult_modifier = {
			factor = 5
			trait = changeling
		}

		mult_modifier = {
			factor = 2

			trigger_if = {
				limit = { culture = norman }
				year < 1250
			}
			trigger_else = {
				culture_group = north_germanic
				year < 1066
			}
		}

		mult_modifier = {
			factor = 0.5

			NOR = {
				father_even_if_dead = {
					OR = {
						higher_real_tier_than = BARON
						father_even_if_dead = { higher_real_tier_than = BARON }
						mother_even_if_dead = { higher_real_tier_than = BARON }
					}
				}

				mother_even_if_dead = {
					OR = {
						higher_real_tier_than = BARON
						father_even_if_dead = { higher_real_tier_than = BARON }
						mother_even_if_dead = { higher_real_tier_than = BARON }
					}
				}
			}
		}
	}

	immediate = {
		end_inaccessibility_effect = yes # removes in hiding or in_seclusion

		if = {
			limit = {
				martial < 16
				NOT = { trait = viking }
			}

			random = {
				chance = 25

				mult_modifier = {
					factor = 1.5
					year >= 950
				}

				mult_modifier = {
					factor = 2
					martial < 12
				}

				character_event = { id = adventurerPlus.160 } # Duchy adventurer
				break = yes
			}
		}

		add_trait = adventurer
		log = "[Root.GetTitledName] of the [Root.Liege.PrimaryTitle.GetFullName] has become a raiding adventurer"

		liege = {
			save_event_target_as = previous_liege

			character_event = {
				id = HL.101
				days = 1
			}

			capital_scope = {
				save_event_target_as = target_province
				county = { save_event_target_as = home_title }

				ROOT = {
					set_defacto_liege = THIS

					create_title = {
						tier = DUKE
						landless = yes
						adventurer = yes
						culture = ROOT
						name = CLAIMANT_ADVENTURE
						holder = ROOT
						base_title = event_target:home_title
					}

					clear_event_target = home_title
					set_character_flag = raiding_adventurer

					change_variable = {
						which = global_raiding_adventurer_spawn_by_courtier_MTTH
						value = 1
					}

					if = {
						limit = {
							event_target:previous_liege = {
								is_nomadic = yes
							}
						}

						character_event = { id = HL.105 } # Create troops steppe
					}
					else = {
						character_event = { id = HL.102 } # Create troops vikings
					}

					create_random_soldier = {
						random_traits = yes
						dynasty = none
						religion = ROOT
						culture = ROOT
						female = no
						age = 30
					}

					create_random_soldier = {
						random_traits = yes
						dynasty = none
						religion = ROOT
						culture = ROOT
						female = no
						age = 25
					}

					create_random_soldier = {
						random_traits = yes
						dynasty = none
						religion = ROOT
						culture = ROOT
						female = no
						age = 25
					}

					if = {
						limit = { is_seafarer = yes }

						# Create a fleet, just to be sure
						spawn_fleet = {
							province = closest # closest sea zone
							owner = ROOT
							cannot_inherit = yes

							troops = {
								galleys = { 110 110 }
							}
						}
					}
				}
			}
		}

		character_event = {
			id = HL.110 # Ping to see if he's ready to settle, repeating every 3 years.
			years = 3
		}
	}
}

character_event = {
	id = HL.101
	desc = EVTDESC_HL_101
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes
	show_from_from = yes

	ai = no

	option = {
		name = EVTOPTA_TOG_1203
	}
}

# Create viking troops
character_event = {
	id = HL.102

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		random_list = {
			30 = {
				mult_modifier = {
					factor = 1.4
					year < 850
				}

				mult_modifier = {
					factor = 1.4
					year < 950
				}

				mult_modifier = {
					factor = 1.2
					year < 1050
				}

				mult_modifier = {
					factor = 0.6
					year >= 1150
				}

				while = {
					count = 3
					character_event = { id = HL.103 }
				}
			}

			30 = {
				mult_modifier = {
					factor = 0.7
					year >= 1100
				}

				while = {
					count = 6
					character_event = { id = HL.103 }
				}
			}

			30 = {
				mult_modifier = {
					factor = 0.7
					year < 900
				}

				mult_modifier = {
					factor = 0.7
					year < 950
				}

				mult_modifier = {
					factor = 0.7
					year < 1000
				}

				mult_modifier = {
					factor = 0.7
					year < 1050
				}

				mult_modifier = {
					factor = 0.7
					martial < 12
				}

				mult_modifier = {
					factor = 0.7
					martial < 14
				}

				while = {
					count = 9
					character_event = { id = HL.103 }
				}
			}

			30 = {
				trigger = {
					year >= 1150
				}

				mult_modifier = {
					factor = 0.7
					year < 1180
				}

				mult_modifier = {
					factor = 0.7
					year < 1200
				}

				mult_modifier = {
					factor = 0.7
					martial < 15
				}

				mult_modifier = {
					factor = 0.7
					martial < 20
				}

				while = {
					count = 12
					character_event = { id = HL.103 }
				}
			}
		}
	}
}

character_event = {
	id = HL.103

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		random_list = {
			30 = { # 250 troops
				mult_modifier = {
					factor = 1.3
					martial < 2
				}

				mult_modifier = {
					factor = 1.3
					martial < 4
				}

				mult_modifier = {
					factor = 1.3
					martial < 6
				}

				mult_modifier = {
					factor = 0.7
					martial >= 15
				}

				mult_modifier = {
					factor = 0.7
					martial >= 18
				}

				mult_modifier = {
					factor = 0.7
					martial >= 21
				}

				mult_modifier = {
					factor = 0.7
					martial >= 24
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						archers = { 70 70 }
						light_infantry = { 170 170 }
						heavy_infantry = { 10 10 }
					}
				}
			}

			30 = { # 380 troops (actually 320)
				mult_modifier = {
					factor = 1.3
					martial < 4
				}

				mult_modifier = {
					factor = 1.3
					martial < 6
				}

				mult_modifier = {
					factor = 1.3
					martial < 8
				}

				mult_modifier = {
					factor = 0.7
					martial >= 17
				}

				mult_modifier = {
					factor = 0.7
					martial >= 20
				}

				mult_modifier = {
					factor = 0.7
					martial >= 23
				}

				mult_modifier = {
					factor = 0.7
					martial >= 26
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						archers = { 90 90 }
						light_infantry = { 215 215 }
						heavy_infantry = { 15 15 }
					}
				}
			}

			30 = { # 420 troops (actually 340)
				mult_modifier = {
					factor = 1.3
					martial < 9
				}

				mult_modifier = {
					factor = 1.3
					martial < 12
				}

				mult_modifier = {
					factor = 1.3
					martial < 15
				}

				mult_modifier = {
					factor = 0.7
					martial >= 20
				}

				mult_modifier = {
					factor = 0.7
					martial >= 24
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						archers = { 100 100 }
						light_infantry = { 225 225 }
						heavy_infantry = { 15 15 }
					}
				}
			}

			30 = { # 490 troops
				mult_modifier = {
					factor = 1.3
					martial >= 24
				}

				mult_modifier = {
					factor = 1.3
					martial >= 28
				}

				mult_modifier = {
					factor = 0.5
					martial < 10
				}

				mult_modifier = {
					factor = 0.5
					martial < 15
				}

				mult_modifier = {
					factor = 0.7
					martial < 20
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						archers = { 140 140 }
						light_infantry = { 330 330 }
						heavy_infantry = { 20 20 }
					}
				}
			}

			30 = { # 570 troops
				mult_modifier = {
					factor = 0.7
					martial < 14
				}

				mult_modifier = {
					factor = 0.7
					martial < 20
				}

				mult_modifier = {
					factor = 0.7
					martial < 26
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						archers = { 170 170 }
						light_infantry = { 360 360 }
						heavy_infantry = { 40 40 }
					}
				}
			}
		}
	}
}

# Create steppe troops
character_event = {
	id = HL.105

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		random_list = {
			30 = {
				mult_modifier = {
					factor = 1.4
					year < 850
				}

				mult_modifier = {
					factor = 1.4
					year < 950
				}

				mult_modifier = {
					factor = 1.2
					year < 1050
				}

				mult_modifier = {
					factor = 0.6
					year >= 1150
				}

				while = {
					count = 3
					character_event = { id = HL.106 }
				}
			}

			30 = {
				mult_modifier = {
					factor = 0.7
					year >= 1100
				}

				while = {
					count = 6
					character_event = { id = HL.106 }
				}
			}

			30 = {
				mult_modifier = {
					factor = 0.7
					year < 900
				}

				mult_modifier = {
					factor = 0.7
					year < 950
				}

				mult_modifier = {
					factor = 0.7
					year < 1000
				}

				mult_modifier = {
					factor = 0.7
					year < 1050
				}

				mult_modifier = {
					factor = 0.7
					martial < 12
				}

				mult_modifier = {
					factor = 0.7
					martial < 14
				}

				while = {
					count = 9
					character_event = { id = HL.106 }
				}
			}

			30 = {
				trigger = {
					year >= 1150
				}

				mult_modifier = {
					factor = 0.7
					year < 1180
				}

				mult_modifier = {
					factor = 0.7
					year < 1200
				}

				mult_modifier = {
					factor = 0.7
					martial < 15
				}

				mult_modifier = {
					factor = 0.7
					martial < 20
				}

				while = {
					count = 12
					character_event = { id = HL.106 }
				}
			}
		}
	}
}

character_event = {
	id = HL.106

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		random_list = {
			30 = { # 180 troops
				mult_modifier = {
					factor = 1.3
					martial < 2
				}

				mult_modifier = {
					factor = 1.3
					martial < 4
				}

				mult_modifier = {
					factor = 1.3
					martial < 6
				}

				mult_modifier = {
					factor = 0.7
					martial >= 15
				}

				mult_modifier = {
					factor = 0.7
					martial >= 18
				}

				mult_modifier = {
					factor = 0.7
					martial >= 21
				}

				mult_modifier = {
					factor = 0.7
					martial >= 24
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						light_cavalry = { 100 100 }
						horse_archers = { 80 80 }
					}
				}
			}

			30 = { # 280 troops
				mult_modifier = {
					factor = 1.3
					martial < 4
				}

				mult_modifier = {
					factor = 1.3
					martial < 6
				}

				mult_modifier = {
					factor = 1.3
					martial < 8
				}

				mult_modifier = {
					factor = 0.7
					martial >= 17
				}

				mult_modifier = {
					factor = 0.7
					martial >= 20
				}

				mult_modifier = {
					factor = 0.7
					martial >= 23
				}

				mult_modifier = {
					factor = 0.7
					martial >= 26
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						light_cavalry = { 150 150 }
						horse_archers = { 130 130 }
					}
				}
			}

			30 = { # 315 troops
				mult_modifier = {
					factor = 1.3
					martial < 9
				}

				mult_modifier = {
					factor = 1.3
					martial < 12
				}

				mult_modifier = {
					factor = 1.3
					martial < 15
				}

				mult_modifier = {
					factor = 0.7
					martial >= 20
				}

				mult_modifier = {
					factor = 0.7
					martial >= 24
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						light_cavalry = { 165 165 }
						horse_archers = { 150 150 }
					}
				}
			}

			30 = { # 365 troops
				mult_modifier = {
					factor = 1.3
					martial >= 24
				}

				mult_modifier = {
					factor = 1.3
					martial >= 28
				}

				mult_modifier = {
					factor = 0.5
					martial < 10
				}

				mult_modifier = {
					factor = 0.5
					martial < 15
				}

				mult_modifier = {
					factor = 0.7
					martial < 20
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						light_cavalry = { 190 190 }
						horse_archers = { 175 175 }
					}
				}
			}

			30 = { # 420 troops
				mult_modifier = {
					factor = 0.7
					martial < 14
				}

				mult_modifier = {
					factor = 0.7
					martial < 20
				}

				mult_modifier = {
					factor = 0.7
					martial < 26
				}

				spawn_unit = {
					province = event_target:target_province
					home = event_target:target_province
					owner = ROOT
					attrition = 0
				#	disband_on_peace = yes
					reinforces = yes
					is_looter = yes
					can_toggle_looting = no
					cannot_inherit = yes
					merge = yes

					troops = {
						light_cavalry = { 220 220 }
						horse_archers = { 200 200 }
					}
				}
			}
		}
	}
}

character_event = {
	id = HL.110

	is_triggered_only = yes
	hide_window = yes

	has_character_flag = raiding_adventurer

	trigger = {
		primary_title = {
			temporary = yes
		}
	}

	immediate = {
#		log = "Ping event for raiding adventurer: [Root.GetBestName]."

		if = {
			limit = { # If this is true, prepare to settle.
				OR = {
					wealth >= 300

					had_character_flag = {
						flag = raiding_adventurer
						years >= 5
					}
				}

				any_independent_ruler = {
					has_opinion_modifier = {
						name = opinion_looted
						who = ROOT
					}

					demesne_size >= 1

					realm_levy_diff = {
						who = ROOT
						value < 3000
					}

					NOR = {
						has_character_flag = negotiating_with_adventurer

						any_realm_province = {
							has_province_modifier = settled_adventurer
							held_under_PREV = yes
						}
					}

					trigger_if = {
						limit = { higher_real_tier_than = DUKE }

						OR = {
							any_demesne_province = {
								is_capital = no
								num_of_settlements >= 1
								NOT = { has_province_modifier = nomad_agitation }
								owned_by = PREV
							}

							any_vassal = {
								any_demesne_province = {
									is_capital = no
									num_of_settlements >= 1
									NOT = { has_province_modifier = nomad_agitation }
									owned_by = PREV
								}
							}
						}
					}
					trigger_else = {
						trigger_if = {
							limit = {
								ROOT = { is_seafarer = yes }
							}

							any_realm_province = {
								is_coastal = yes
								held_under_PREV = yes
							}
						}
						trigger_else = {
							any_realm_province = {
								held_under_PREV = yes

								any_neighbor_province = {
									owner = {
										NOT = { same_realm = PREVPREVPREV } # random_independent_ruler
									}
								}
							}
						}
					}
				}
			}

			random_list = {
				50 = {
					mult_modifier = {
						factor = 2
						trait = cruel
					}

					mult_modifier = {
						factor = 2
						trait = ambitious
					}

					log = "[Root.GetBestName] prepares to settle."
					character_event = { id = HL.111 }
				}

				20 = {
					trigger = { has_character_flag = flag_denied_title }

					mult_modifier = {
						factor = 2
						trait = ambitious
					}

					mult_modifier = {
						factor = 3

						trait = ambitious
						trait = arbitrary
					}

					mult_modifier = {
						factor = 2
						trait = envious
					}

					log = "[Root.GetBestName] returns home in a state of war."
					character_event = { id = HL.113 }
				}

				50 = {
					trigger = {
						had_character_flag = {
							flag = raiding_adventurer
							years < 30
						}
					}

					mult_modifier = {
						factor = 0.5

						had_character_flag = {
							flag = raiding_adventurer
							years >= 7
						}
					}

					mult_modifier = {
						factor = 0.5

						had_character_flag = {
							flag = raiding_adventurer
							years >= 9
						}
					}

					mult_modifier = {
						factor = 0.5

						had_character_flag = {
							flag = raiding_adventurer
							years >= 11
						}
					}

					repeat_event = {
						id = HL.110 # continue raiding
						years = 1
					}
				}
			}
		}
		# Check for stagnant raider
		else_if = {
			limit = {
				had_character_flag = {
					flag = raiding_adventurer
					years >= 30
				}
			}

			character_event = { id = HL.198 } # Last try war declaration
		}
		else = {
			# Else continue raiding.
			log = "[Root.GetBestName] continues raiding."

			repeat_event = {
				id = HL.110
				years = 1
			}
		}
	}
}

# Raider is prepared to settle
character_event = {
	id = HL.111

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		random_independent_ruler = {
			limit = {
				has_opinion_modifier = {
					name = opinion_looted
					who = ROOT
				}

				demesne_size >= 1

				realm_levy_diff = {
					who = ROOT
					value < 3000
				}

				NOR = {
					has_character_flag = negotiating_with_adventurer

					any_realm_province = {
						has_province_modifier = settled_adventurer
						held_under_PREV = yes
					}
				}

				trigger_if = {
					limit = { higher_real_tier_than = DUKE }

					OR = {
						any_demesne_province = {
							is_capital = no
							num_of_settlements >= 1
							NOT = { has_province_modifier = nomad_agitation }
							owned_by = PREV
						}

						any_vassal = {
							any_demesne_province = {
								is_capital = no
								num_of_settlements >= 1
								NOT = { has_province_modifier = nomad_agitation }
								owned_by = PREV
							}
						}
					}
				}
				trigger_else = {
					trigger_if = {
						limit = {
							ROOT = { is_seafarer = yes }
						}

						any_realm_province = {
							is_coastal = yes
							held_under_PREV = yes
						}
					}
					trigger_else = {
						any_realm_province = {
							held_under_PREV = yes

							any_neighbor_province = {
								owner = {
									NOT = { same_realm = PREVPREVPREV } # random_independent_ruler
								}
							}
						}
					}
				}
			}

			if = {
				limit = { higher_real_tier_than = DUKE }

				# Adventurer negotiation complex
				set_character_flag = negotiating_with_adventurer
				character_event = { id = adv.001 }

				# Checks if they should go back to raiding
				ROOT = {
					character_event = {
						id = HL.200
						days = 65
					}
				}
			}
			else = {
				ROOT = { clr_character_flag = raiding_adventurer }

				if = {
					limit = {
						ROOT = { is_seafarer = yes }
					}

					random_realm_province = {
						limit = {
							is_coastal = yes
							held_under_PREV = yes
						}

						# TODO: Add alt start checks for these historical directions?
						preferred_limit = {
							OR = {
								region = custom_livonia
								region = custom_novgorod
								region = custom_muscovy
								region = custom_ruthenia
								duchy = { title = d_normandy }
							}
						}

						duchy = {
							save_event_target_as = target_duchy
						}
					}
				}
				else = {
					random_realm_province = {
						limit = {
							any_neighbor_province = {
								owner = {
									NOT = { same_realm = PREVPREVPREV }
								}
							}

							held_under_PREV = yes
						}

						duchy = {
							save_event_target_as = target_duchy
						}
					}
				}

				ROOT = {
					unsafe_war = {
						target = PREV
						casus_belli = duchy_adventure
						thirdparty_title = event_target:target_duchy
					}
				}

				# First safety check
				if = {
					limit = {
						NOT = { war_with = ROOT }
					}

					random_realm_province = {
						limit = { held_under_PREV = yes }

						duchy = {
							save_event_target_as = target_duchy
						}
					}

					ROOT = {
						unsafe_war = {
							target = PREV
							casus_belli = duchy_adventure
							thirdparty_title = event_target:target_duchy
						}
					}
				}

				# Second safety check
				else = {
					character_event = { id = HL.112 }

					ROOT = {
						any_army = {
							set_can_toggle_looting = yes
							set_looting = no
						}
					}

					break = yes
				}
			}
		}

		# If still not at war, kill it with fire
		clr_character_flag = raiding_adventurer
		log = "[SERIOUS] [Root.GetTitledFirstName] failed to find a target after trying to end his raiding adventure."
		character_event = { id = HL.199 } # Clean-up
	}
}

character_event = {
	id = HL.112
	desc = EVTDESC_HL_112
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_HL_112
	}
}

# Raider returns home in a state of war
character_event = {
	id = HL.113

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		any_army = {
			set_can_toggle_looting = yes
			set_looting = no
		}

		clr_character_flag = raiding_adventurer

		event_target:target_province = {
			owner = {
				top_liege = {
					character_event = { id = HL.112 }

					if = {
						limit = {
							ROOT = { is_seafarer = yes }
						}

						random_realm_province = {
							limit = {
								is_coastal = yes
								held_under_PREV = yes
							}

							duchy = {
								save_event_target_as = target_duchy
							}
						}
					}
					else = {
						random_realm_province = {
							limit = { held_under_PREV = yes }

							preferred_limit = {
								any_neighbor_province = {
									NOT = { owner = { same_realm = PREVPREVPREV } }
								}
							}

							duchy = {
								save_event_target_as = target_duchy
							}
						}
					}

					ROOT = {
						war = {
							target = PREV
							casus_belli = duchy_adventure
							thirdparty_title = event_target:target_duchy
						}
					}
				}
			}
		}

		if = {
			limit = { war = no }

			log = "[SERIOUS] [Root.GetTitledFirstName] failed to find a target after trying to end his raiding adventure."
			character_event = { id = HL.199 }
		}
	}
}

letter_event = {
	id = HL.121
	desc = EVTDESC_HL_121

	is_triggered_only = yes # raiding_adventurer_buy_title, HL_title_decisions.txt

	immediate = {
		# For relation localisation
		FROMFROM = {
			save_event_target_as = event_target_1
		}
	}

	option = {
		name = EVTOPTA_HL_121

		wealth = 150

		event_target:target_title = {
			show_scope_change = no

			grant_title = FROMFROM
		}

		hidden_effect = {
			FROMFROM = {
				wealth = -150
			}

			if = {
				limit = { higher_real_tier_than = COUNT }
				set_defacto_vassal = FROMFROM
			}
		}
	}

	option = {
		name = ANSWER_NO

		add_character_modifier = {
			name = raider_buy_land_timer
			years = 10
			hidden = yes
		}

		ai_chance = { factor = 0 }
	}
}

# Landless nomad clean-up
character_event = {
	id = HL.130

	is_triggered_only = yes # on_unlanded
	hide_window = yes

	trigger = {
		is_nomadic = yes
		is_alive = yes
		is_dying = no
		prisoner = no
		is_incapable = no
		has_game_started = yes
	}

	immediate = {
		log = "HL.130 fired for [Root.GetBestName]"
		log = "[Root.GetBestName] is located in [Root.Location.GetName]"

		clan_title = {
			capital_scope = {
				log = "[Root.GetBestName]'s capital is in [This.GetName]"
				save_event_target_as = last_province

				holder_scope = {
					top_liege = {
						reverse_opinion = {
							name = opinion_driven_from_my_lands
							who = ROOT
							years = 100
						}

						reverse_opinion = {
							name = forbidden_raid_target
							who = ROOT
							years = 100
						}
					}
				}
			}
		}

		if = {
			limit = { independent = yes }

			if = {
				limit = {
					any_vassal = {
						clan = yes
					}
				}

				random_vassal = {
					limit = { clan = yes }

					primary_title = {
						gain_title = PREVPREV
					}
				}
			}
			else = {
				any_vassal = {
					set_defacto_liege = THIS
				}
			}
		}
		else = {
			liege = {
				ROOT = {
					any_vassal = {
						set_defacto_liege = PREVPREV
					}
				}
			}
		}

		set_defacto_liege = THIS

		clan_title = {
			set_title_adventurer = {
				title = THIS
				status = yes
			}

			set_title_landless = {
				title = THIS
				status = yes
			}

			set_defacto_liege = THIS
		}

		set_character_flag = raiding_adventurer

		change_variable = {
			which = global_raiding_adventurer_spawn_by_displacement
			value = 1
		}

		any_army = {
			set_can_toggle_looting = yes
			set_looting = yes
			set_can_toggle_looting = no
		}

		# Guarantee some manpower
		if = {
			limit = { unused_manpower < 250  }
			manpower = 250
		}
		# Turn available manpower into raiding troops
		else = {
			while = {
				limit = { unused_manpower >= 250 }

				log = "HL.130 spawned troops for [Root.GetBestName]"
				manpower = -250

				spawn_unit = {
					owner = ROOT
					province = event_target:last_province
					home = event_target:last_province
					attrition = 1.0
					is_looter = yes
					can_toggle_looting = no
					reinforces = yes
					merge = yes

					troops = {
						light_cavalry = { 200 200 }
						horse_archers = { 50 50 }
					}
				}
			}
		}

		character_event = {
			id = HL.110 # Ping to see if he's ready to settle, repeating every 3 years.
			years = 3
		}
	}
}

# On-action landless nomad gains title
character_event = {
	id = HL.140

	is_triggered_only = yes # on_new_holder(_inheritance/usurpation)
	hide_window = yes

	has_character_flag = raiding_adventurer

	trigger = {
		FROM = { adventurer = no }
	}

	immediate = {
		log = "[Root.GetBestName] has received event HL.140 while having government [Root.Government.GetName]"
		clr_character_flag = raiding_adventurer

		any_army = {
			set_can_toggle_looting = yes
			set_looting = no
		}
	}
}

# On-action battle lost Check raiding adventurer defeat
character_event = {
	id = HL.180

	is_triggered_only = yes # on_battle_lost_owner
	hide_window = yes

	only_rulers = yes
	has_character_flag = raiding_adventurer
	war = no

	trigger = {
		has_regiments = no
	}

	immediate = {
		character_event = { id = HL.199 } # Clean-up
	}
}

# On-action imprisoned pre-war
character_event = {
	id = HL.190

	is_triggered_only = yes # on_become_imprisoned_any_reason
	hide_window = yes

	has_character_flag = raiding_adventurer
	war = no

	immediate = {
		log = "[Root.GetTitledFirstName] got imprisoned while being a raiding adventurer."
		character_event = { id = HL.199 } # Clean-up
	}
}

# On-action ai end raid
character_event = {
	id = HL.191

	is_triggered_only = yes # on_ai_end_raid
	hide_window = yes

	has_character_flag = raiding_adventurer
	war = no

	immediate = {
		log = "[Root.GetTitledFirstName] stopped raiding while being a raiding adventurer."
		character_event = { id = HL.199 } # Clean-up
	}
}

# Last try war declaration
character_event = {
	id = HL.198

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		random_independent_ruler = {
			limit = {
				has_opinion_modifier = {
					name = opinion_looted
					who = ROOT
				}

				demesne_size >= 1

				realm_levy_diff = {
					who = ROOT
					value < 3000
				}

				NOR = {
					has_character_flag = negotiating_with_adventurer

					any_realm_province = {
						has_province_modifier = settled_adventurer
						held_under_PREV = yes
					}
				}

				trigger_if = {
					limit = { higher_real_tier_than = DUKE }

					OR = {
						any_demesne_province = {
							is_capital = no
							num_of_settlements >= 1
							NOT = { has_province_modifier = nomad_agitation }
							owned_by = PREV
						}

						any_vassal = {
							any_demesne_province = {
								is_capital = no
								num_of_settlements >= 1
								NOT = { has_province_modifier = nomad_agitation }
								owned_by = PREV
							}
						}
					}
				}
				trigger_else = {
					trigger_if = {
						limit = {
							ROOT = { is_seafarer = yes }
						}

						any_realm_province = {
							is_coastal = yes
							held_under_PREV = yes
						}
					}
					trigger_else = {
						any_realm_province = {
							held_under_PREV = yes

							any_neighbor_province = {
								owner = {
									NOT = { same_realm = PREVPREVPREV } # random_independent_ruler
								}
							}
						}
					}
				}
			}

			if = {
				limit = { higher_real_tier_than = DUKE }

				# Adventurer negotiation complex
				set_character_flag = negotiating_with_adventurer
				character_event = { id = adv.001 }

				change_variable = {
					which = global_adventurer_negotiations
					value = 1
				}

				ROOT = {
					export_to_variable = {
						which = logging_adventurer_wealth
						value = wealth
					}

					log = "[This.GetBestName] starts to negotiate with [Prev.GetBestName]."
					log = "[This.GetBestName] currently has [This.logging_adventurer_wealth.GetValue] ducats."
				}
			}
			else = {
				ROOT = {
					clr_character_flag = raiding_adventurer
				}

				if = {
					limit = {
						ROOT = { is_seafarer = yes }
					}

					random_realm_province = {
						limit = {
							is_coastal = yes
							held_under_PREV = yes
						}

						# TODO: Add alt start checks for these historical directions?
						preferred_limit = {
							OR = {
								region = custom_livonia
								region = custom_novgorod
								region = custom_muscovy
								region = custom_ruthenia
								duchy = { title = d_normandy }
							}
						}

						duchy = {
							save_event_target_as = target_duchy
						}
					}
				}
				else = {
					random_realm_province = {
						limit = {
							any_neighbor_province = {
								owner = {
									NOT = { same_realm = PREVPREVPREV }
								}
							}

							held_under_PREV = yes
						}

						duchy = {
							save_event_target_as = target_duchy
						}
					}
				}

				ROOT = {
					unsafe_war = {
						target = PREV
						casus_belli = duchy_adventure
						thirdparty_title = event_target:target_duchy
					}
				}

				# First safety check
				if = {
					limit = {
						NOT = { war_with = ROOT }
					}

					random_realm_province = {
						limit = { held_under_PREV = yes }

						duchy = {
							save_event_target_as = target_duchy
						}
					}

					ROOT = {
						unsafe_war = {
							target = PREV
							casus_belli = duchy_adventure
							thirdparty_title = event_target:target_duchy
						}
					}
				}

				# Second safety check
				if = {
					limit = { war_with = ROOT }

					character_event = { id = HL.112 }

					ROOT = {
						any_army = {
							set_can_toggle_looting = yes
							set_looting = no
						}
					}

					break = yes
				}
			}
		}

		# If still not at war, kill it with fire
		clr_character_flag = raiding_adventurer
		log = "[SERIOUS] [Root.GetTitledFirstName] failed to find a target after trying to end his raiding adventure."
		character_event = { id = HL.199 } # Clean-up
	}
}

# Clean-up
character_event = {
	id = HL.199

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		log = "Cleaning up adventurer: [Root.GetTitledFirstName]."
		clr_character_flag = raiding_adventurer
		disband_event_forces = yes

		if = {
			limit = { is_landed = no }

			any_courtier = {
				banish = yes
			}

			clan_title = {
				activate_title = {
					title = THIS
					status = no
				}

				unsafe_destroy_landed_title = THIS
			}
		}

		primary_title = {
			if = {
				limit = {
					trigger_if = {
						limit = { adventurer = yes }
						real_tier = DUKE
					}
					trigger_else = {
						real_tier = EMPEROR
					}
				}

				activate_title = {
					title = THIS
					status = no
				}

				destroy_landed_title = THIS
			}
		}

		if = {
			limit = {
				primary_title = {
					temporary = yes

					trigger_if = {
						limit = { real_tier = DUKE }
						adventurer = yes
					}
					trigger_else = {
						real_tier = EMPEROR
					}
				}
			}

			any_courtier = {
				banish = yes
			}

			primary_title = {
				activate_title = {
					title = THIS
					status = no
				}

				unsafe_destroy_landed_title = THIS
			}
		}

		if = {
			limit = {
				prisoner = no
				is_ruler = no
			}

			if = {
				limit = {
					father = {
						is_alive = yes
					}
				}

				father = {
					if = {
						limit = { is_ruler = yes }
						set_defacto_liege = ROOT
					}
					else = {
						liege = {
							set_defacto_vassal = ROOT
						}
					}
				}
			}
		}

		if = {
			limit = { at_location = 0 }
			banish = yes
		}
	}
}

# Should adventurer continue to raid?
character_event = {
	id = HL.200

	is_triggered_only = yes
	hide_window = yes

	# If not at war and still holding an adventurer title...
	trigger = {
		war = no

		primary_title = {
			temporary = yes
			adventurer = yes
		}
	}

	#...go forth and adventure!
	immediate = {
		character_event = { id = HL.110 }
	}
}