#########################################################
#
# Landless Character Adventures for The Old Gods DLC
#
#########################################################

# Original Written by Henrik Fahraeus
# Re-Written by Rylock

namespace = adventurerPlus

### CLAIMANT ADVENTURES

# A landless claimant considers an adventure to take their title
character_event = {
	id = adventurerPlus.100

	is_triggered_only = yes # on_yearly_pulse, random_events
	hide_window = yes

	has_dlc = "The Old Gods"
	max_age = 50
	only_capable = yes
	prisoner = no

	trigger = {
		num_of_claims >= 1
		is_adult = yes
		is_consort = no
		is_ruler = no

		NOT = {
			has_game_rule = {
				name = adventurers
				value = none
			}
		}

		trigger_if = {
			limit = {
				has_gender_equal_game_rule_trigger = no
				is_female = yes
			}

			liege = {
				OR = {
					has_law = status_of_women_4
					has_law = true_cognatic_succession

					trigger_if = {
						limit = {
							PREV = { is_feminist_trigger = yes }
						}

						is_feminist_trigger = yes
					}
				}
			}
		}

		# Must be competent and healthy
		health >= 4

		trigger_if = {
			limit = {
				NOT = { has_character_flag = event_adventurer }
			}

			OR = {
				diplomacy >= 7
				trait = ambitious
				trait = decadent
			}

			OR = {
				diplomacy >= 14
				martial >= 10
				prestige >= 500
				wealth >= 200
			}
		}

		# Has a claim that can be seized
		any_claim = { plus_valid_adv_target_title_trigger = yes }

		NOR = {
			trait = content
			trait = craven
			trait = depressed
			trait = imbecile
			trait = eunuch
			trait = horse
			trait = abdicated
			trait = nun
			trait = monk
			trait = desert_mother
			trait = desert_father
			trait = druid
			trait = bad_druid
			trait = retired_vestalis
			trait = vestalis
			has_character_modifier = planning_claimant_adventure
			has_character_flag = claimant_adventurer
			has_character_flag = was_claimant_adventurer
			has_character_flag = claim_being_pressed
			any_spouse = { is_ruler = yes }
			any_heir_title = { always = yes }

			any_liege = {
				OR = {
					holy_order = yes
					mercenary = yes
				}
			}
		}
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 5
			has_character_flag = flag_denied_title
		}

		mult_modifier = {
			factor = 5

			OR = {
				has_character_flag = demon_child_non_pagan
				trait = changeling
			}
		}

		mult_modifier = {
			factor = 2
			has_character_flag = justified_claimant
		}

		mult_modifier = {
			factor = 2
			trait = ambitious
		}

		mult_modifier = {
			factor = 2
			trait = decadent
		}

		mult_modifier = {
			factor = 2

			OR = {
				trait = lunatic
				trait = possessed
			}
		}

		mult_modifier = {
			factor = 1.33

			OR = {
				trait = genius
				trait = brilliant_strategist
			}
		}

		mult_modifier = {
			factor = 1.33
			trait = brave
		}

		mult_modifier = {
			factor = 1.33
			trait = proud
		}

		mult_modifier = {
			factor = 1.33
			trait = greedy
		}

		mult_modifier = {
			factor = 1.33
			trait = envious
		}

		mult_modifier = {
			factor = 1.33
			trait = wroth
		}

		mult_modifier = {
			factor = 1.33
			trait = sayyid
		}

		mult_modifier = {
			factor = 1.33
			wealth >= 300
		}

		mult_modifier = {
			factor = 1.33
			diplomacy >= 12
		}

		mult_modifier = {
			factor = 0.67
			trait = slothful
		}

		mult_modifier = {
			factor = 0.67
			trait = charitable
		}

		mult_modifier = {
			factor = 0.67
			trait = patient
		}

		mult_modifier = {
			factor = 0.5
			trait = kind
		}

		mult_modifier = {
			factor = 0.5
			trait = humble
		}

		mult_modifier = {
			factor = 0.5
			diplomacy < 7
		}

		mult_modifier = {
			factor = 0.5
			diplomacy < 5
		}

		mult_modifier = {
			factor = 0.5
			diplomacy < 3
		}

		mult_modifier = {
			factor = 0.02

			has_game_rule = {
				name = adventurers
				value = rare
			}
		}
	}

	immediate = {
		# Pick highest-tier adventurer target possible
		random_claim = {
			limit = {
				plus_valid_adv_target_title_trigger = yes
				higher_real_tier_than = BARON
			}

			preferred_limit = { real_tier = EMPEROR }
			preferred_limit = { real_tier = KING }
			preferred_limit = { real_tier = DUKE }

			save_event_target_as = target_adventurer_title
		}

		# Start the adventure
		event_target:target_adventurer_title = {
			log = "adventurerPlus.100: [Root.GetBestName] ([Root.GetID]) begins an adventure to take the [This.GetFullName] ([This.GetID]) from [This.Holder.GetBestName] ([This.Holder.GetID])"

			ROOT = {
				set_character_flag = was_claimant_adventurer
				set_character_flag = planning_claimant_adventure
				set_character_flag = adventurer_target_title_@PREV

				add_character_modifier = {
					name = planning_claimant_adventure
					years = 5
					hidden = yes
				}

				# Sell off estates
				sell_estates_effect = yes

				# Must drop out of hiding
				end_inaccessibility_effect = yes # Removes in hiding or in_seclusion
			}

			# Warn the target
			holder_scope = {
				reverse_opinion = {
					name = opinion_claimant_adventure_target
					who = ROOT
					years = 10
				}

				add_character_modifier = { # Do we really need two timers for this?
					name = adventurer_target_timer
					years = 5
					hidden = yes
				}

				character_event = { id = adventurerPlus.101 }
			}
		}

		# Begin the adventure
		liege = {
			capital_scope = {
				ROOT = { set_character_flag = adventurer_location_@PREV }
			}
		}

		event_target:target_adventurer_title = {
			holder_scope = { # safety in case the title doesn't have a defined capital
				save_event_target_as = adventurer_target

				capital_scope = {
					ROOT = {
						set_character_flag = adventurer_origin_@PREV

						create_title = {
							tier = DUKE
							landless = yes
							adventurer = yes
							culture = ROOT
							name = CLAIMANT_ADVENTURE
							holder = ROOT
							ruler = LORD
							ruler_female = LADY
							base_title = THIS
						}

						set_defacto_liege = ROOT
					}
				}
			}
		}

		# Move family and friends to their court
		any_close_relative = {
			limit = {
				is_ruler = no
				is_adult = yes
				prisoner = no
				is_incapable = no
				is_inaccessible_trigger = no

				opinion = {
					who = ROOT
					value >= 50
				}

				trigger_if = {
					limit = { is_close_relative = liege }
					opinion = {
						who = liege
						value < -25
					}
				}
				trigger_else = {
					opinion = {
						who = liege
						value < 0
					}
				}
			}

			any_child = {
				limit = {
					is_ruler = no
					is_adult = no
					prisoner = no
					at_location = PREV
				}

				move_character = ROOT
			}

			move_character = ROOT
		}

		any_friend = {
			limit = {
				is_ruler = no
				is_adult = yes
				prisoner = no
				is_incapable = no
				is_inaccessible_trigger = no

				opinion = {
					who = event_target:adventurer_target
					value < 25
				}
				opinion = {
					who = liege
					value < 50
				}
			}

			any_child = {
				limit = {
					is_ruler = no
					is_adult = no
					prisoner = no
					at_location = PREV
				}

				move_character = ROOT
			}

			move_character = ROOT
		}

		# Create some courtiers
		while = {
			count = 3

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

			new_character = {
				random_list = {
					1 = { }
					1 = { add_age = 1 }
					1 = { add_age = 2 }
					1 = { add_age = 3 }
					1 = { add_age = 4 }
					1 = { add_age = 5 }
				}
			}
		}

		# Begin approaching rulers
		character_event = {
			id = adventurerPlus.110
			days = 1
		}

		# Begin seeking support in target's realm
		character_event = {
			id = adventurerPlus.130
			days = 20
		}

		# See if I'm halfway done raising an army yet
		character_event = {
			id = adventurerPlus.133
			months = 6
		}

		# See if adventurer is ready to abandon their quest
		character_event = {
			id = adventurerPlus.140
			months = 1
		}

		# See if adventurer is ready to begin the war
		character_event = {
			id = adventurerPlus.146
			years = 1
		}
	}
}

# Targeted ruler receives word of the adventurer
character_event = {
	id = adventurerPlus.101
	desc = EVTDESC_adventurerPlus_101
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	option = {
		name = EVTOPTA_adventurerPlus_101

		opinion = {
			name = opinion_targeted_by_adventurer
			who = FROM
			years = 3
		}
	}
}

# Adventurer seeks a court to begin recruiting in
character_event = {
	id = adventurerPlus.110

	is_triggered_only = yes
	hide_window = yes

	has_character_flag = planning_claimant_adventure
	only_capable = yes
	prisoner = no

	trigger = {
		wealth < 1000
		plus_valid_adventurer_trigger = yes
		NOT = { has_character_flag = began_adventure }
	}

	fail_trigger_effect = {
		if = {
			limit = {
				has_character_flag = planning_claimant_adventure
				plus_valid_adventurer_trigger = yes
				wealth < 1000
				NOT = { has_character_flag = began_adventure }
			}

			# Try again later
			if = {
				limit = { wealth < 400 }
				repeat_event = { id = adventurerPlus.110 days = 30 }
			}
			else_if = {
				limit = { wealth >= 400 }
				repeat_event = { id = adventurerPlus.110 days = 60 }
			}
			else_if = {
				limit = { wealth >= 600 }
				repeat_event = { id = adventurerPlus.110 days = 120 }
			}
			else_if = {
				limit = { wealth >= 800 }
				repeat_event = { id = adventurerPlus.110 days = 240 }
			}
		}
	}

	immediate = {
		remove_do_not_disturb_effect = yes
		plus_find_adventurer_target_effect = yes
		plus_find_adventurer_origin_effect = yes
		plus_find_adventurer_location_effect = yes
		plus_find_adventurer_target_title_effect = yes

		random_playable_ruler = {
			limit = {
				num_of_count_titles >= 1

				capital_scope = {
					distance = {
						where = event_target:adventurer_origin
						value < 750
					}
				}

				trigger_if = {
					limit = {
						NOR = {
							religion = ROOT
							religion_group = muslim
							religion_group = pagan_group
						}
					}

					religion_group = ROOT
				}

				trigger_if = {
					limit = { independent = no }

					liege = {
						OR = {
							reverse_has_opinion_modifier = {
								name = let_adventurer_stay
								who = ROOT
							}

							reverse_has_opinion_modifier = {
								name = backed_adventurer
								who = ROOT
							}
						}
					}
				}

				NOR = {
					is_heresy_of = ROOT
					is_parent_religion = ROOT
					character = event_target:adventurer_target
					is_vassal_or_below_of = event_target:adventurer_target
					pays_tribute_to = event_target:adventurer_target
					any_tributary = { character = event_target:adventurer_target }
					reverse_has_opinion_modifier = { who = ROOT name = turned_adventurer_away }
					reverse_has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
					reverse_has_opinion_modifier = { who = ROOT name = backed_adventurer }
					reverse_has_opinion_modifier = { who = ROOT name = betrayed_adventurer }
				}

				trigger_if = {
					limit = {
						any_demesne_province = {
							NOT = { has_province_modifier = adventurer_recruited }
							owned_by = PREV
						}
					}

					always = yes
				}
				trigger_else = {
					any_vassal = {
						is_playable = yes
						num_of_count_titles >= 1

						trigger_if = {
							limit = {
								NOR = {
									religion = ROOT
									religion_group = muslim
									religion_group = pagan_group
								}
							}

							religion_group = ROOT
						}

						NOR = {
							is_heresy_of = ROOT
							is_parent_religion = ROOT
							character = event_target:adventurer_target
							is_vassal_or_below_of = event_target:adventurer_target
							pays_tribute_to = event_target:adventurer_target
							any_tributary = { character = event_target:adventurer_target }
							reverse_has_opinion_modifier = { who = ROOT name = turned_adventurer_away }
							reverse_has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
							reverse_has_opinion_modifier = { who = ROOT name = backed_adventurer }
							reverse_has_opinion_modifier = { who = ROOT name = betrayed_adventurer }
						}
					}
				}
			}

			# First ask from the top liege of their current location
			preferred_limit = {
				event_target:adventurer_location = {
					owner = {
						top_liege = { character = PREVPREVPREV }
					}
				}
			}

			# Then seek out rulers with common cause who don't like my target
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_likes_adventurer_target_trigger = no
				plus_closest_to_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_likes_adventurer_target_trigger = no
				plus_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_likes_adventurer_target_trigger = no
				plus_not_close_to_adventurer_trigger = yes
			}

			# Then seek out rulers with common cause and are not bad candidates
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_not_bad_candidate_trigger = yes
				plus_closest_to_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_not_bad_candidate_trigger = yes
				plus_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_not_bad_candidate_trigger = yes
				plus_not_close_to_adventurer_trigger = yes
			}

			# Then seek out rulers with common cause who don't like my target and who are further away
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_likes_adventurer_target_trigger = no
				plus_far_from_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_likes_adventurer_target_trigger = no
				plus_furthest_from_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_likes_adventurer_target_trigger = no
			}

			# Then seek out rulers with common cause and are not bad candidates and who are further away
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_not_bad_candidate_trigger = yes
				plus_far_from_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_not_bad_candidate_trigger = yes
				plus_furthest_from_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_common_cause_trigger = yes
				plus_not_bad_candidate_trigger = yes
			}

			# Then seek out rulers of my culture AND religion who are not bad candidates
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_not_bad_candidate_trigger = yes
				plus_closest_to_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_not_bad_candidate_trigger = yes
				plus_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_not_bad_candidate_trigger = yes
				plus_not_close_to_adventurer_trigger = yes
			}

			# Then seek out rulers of my culture AND religion
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_closest_to_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_not_close_to_adventurer_trigger = yes
			}

			# Then seek out rulers of my culture OR religion who are not bad candidates
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_not_bad_candidate_trigger = yes
				plus_closest_to_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_not_bad_candidate_trigger = yes
				plus_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_not_bad_candidate_trigger = yes
				plus_not_close_to_adventurer_trigger = yes
			}

			# Then seek out rulers of my culture OR religion
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_closest_to_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_not_close_to_adventurer_trigger = yes
			}

			# Then seek out rulers of my culture AND religion who are not bad candidates and who are further away
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_not_bad_candidate_trigger = yes
				plus_far_from_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_not_bad_candidate_trigger = yes
				plus_furthest_from_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_not_bad_candidate_trigger = yes
			}

			# Then seek out rulers of my culture AND religion who are further away
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_far_from_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
				plus_furthest_from_adventurer_trigger = yes
			}
			preferred_limit = {
				culture = ROOT
				religion = ROOT
			}

			# Then seek out rulers of my culture OR religion who are not bad candidates and who are further away
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_not_bad_candidate_trigger = yes
				plus_far_from_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_not_bad_candidate_trigger = yes
				plus_furthest_from_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_not_bad_candidate_trigger = yes
			}

			# Then seek out rulers of my culture OR religion who are further away
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_far_from_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
				plus_furthest_from_adventurer_trigger = yes
			}
			preferred_limit = {
				OR = {
					culture = ROOT
					religion = ROOT
				}
			}

			# Then seek out anyone valid
			preferred_limit = {
				plus_closest_to_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_not_close_to_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_far_from_adventurer_trigger = yes
			}
			preferred_limit = {
				plus_furthest_from_adventurer_trigger = yes
			}

			plus_travel_to_ruler_effect = yes
		}

		# Failing all that, wait a month
		if = {
			limit = { NOT = { has_character_modifier = do_not_disturb } }

			add_character_modifier = {
				name = do_not_disturb
				months = 1
				hidden = yes
			}

			repeat_event = {
				id = adventurerPlus.110
				months = 1
			}
		}
	}
}

# Adventurer arrives at a foreign court and asks for support
character_event = {
	id = adventurerPlus.115
	picture = GFX_evt_emissary
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_adventurerPlus_115
		trigger = { independent = yes }
	}
	desc = {
		text = EVTDESC_adventurerPlus_115_vassal
		trigger = { independent = no }
	}

	is_triggered_only = yes

	only_rulers = yes

	trigger = {
		FROM = {
			plus_valid_adventurer_trigger = yes

			NOR = {
				has_character_flag = began_adventure
				has_opinion_modifier = { who = ROOT name = backed_adventurer }
				has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
				has_opinion_modifier = { who = ROOT name = turned_adventurer_away }
				has_opinion_modifier = { who = ROOT name = betrayed_adventurer }
			}
		}
	}

	immediate = {
		FROM = { remove_do_not_disturb_effect = yes }
	}

	option = {
		name = EVTOPTA_adventurerPlus_115 # I will give him my full support

		trigger = { wealth >= 10 }

		log = "adventurerPlus.115: [From.GetBestName] ([From.GetID]) has received full support for [From.GetHerHis] adventure from [Root.GetBestName] ([Root.GetID])"
		plus_donate_to_adventurer_effect = yes
		custom_tooltip = { text = ADVENTURER_RECRUITS_FROM_MY_LANDS }

		reverse_opinion = {
			name = backed_adventurer
			who = FROM
			years = 20
		}

		reverse_opinion = {
			name = supported_adventurer_against_me
			who = event_target:adventurer_target
			years = 10
			multiplier = 2
		}

		hidden_effect = {
			# Inform targeted ruler
			if = {
				limit = {
					is_within_diplo_range = event_target:adventurer_target
					FROM = { NOT = { has_character_flag = not_interested_in_movement } }
				}

				event_target:adventurer_target = {
					character_event = {
						id = adventurerPlus.116
						days = 1
					}
				}
			}

			# Adventurer recruits in the demesne before moving on
			adventurerPlus_recruits_demesne = yes
		}

		ai_chance = {
			factor = 20

			trigger = {
				NOR = {
					is_friend = event_target:adventurer_target
					is_rival = FROM
				}

				opinion = {
					who = event_target:adventurer_target
					value < 50
				}

				opinion = {
					who = FROM
					value >= -50
				}
			}

			mult_modifier = {
				factor = 0.75
				war = yes
			}

			mult_modifier = {
				factor = 0.5
				FROM = { wealth >= 500 }
			}

			mult_modifier = {
				factor = 0.5
				FROM = { wealth >= 750 }
			}

			mult_modifier = {
				factor = 0.5
				FROM = { wealth >= 1000 }
			}

			mult_modifier = {
				factor = 5
				is_friend = FROM
			}

			mult_modifier = {
				factor = 5
				is_rival = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 1.5
				religion = FROM
				NOT = { religion = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 1.5
				culture = FROM
				NOT = { culture = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 2
				is_close_relative = FROM
				NOT = { is_close_relative = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 1.5

				OR = {
					dynasty = FROM
					is_allied_with = FROM
				}

				NOR = {
					is_close_relative = FROM
					dynasty = event_target:adventurer_target
					is_allied_with = event_target:adventurer_target
					has_non_aggression_pact_with = event_target:adventurer_target
				}
			}

			mult_modifier = {
				factor = 0.1
				has_character_modifier = ai_austerity
			}

			mult_modifier = {
				factor = 1.5
				trait = charitable
			}

			mult_modifier = {
				factor = 0.25
				is_allied_with = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 0.5
				NOT = { is_allied_with = event_target:adventurer_target }
				has_non_aggression_pact_with = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 0.5
				trait = greedy
			}

			mult_modifier = {
				factor = 0.5
				NOT = { religion = FROM }
			}

			mult_modifier = {
				factor = 0.5
				NOT = { culture_group = FROM }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = FROM value < -25 }
			}

			mult_modifier = {
				factor = 0.75
				opinion = { who = FROM value < 0 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = FROM value >= 25 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = FROM value >= 50 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = FROM value >= 75 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = event_target:adventurer_target value < -75 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = event_target:adventurer_target value < -50 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = event_target:adventurer_target value < -25 }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = event_target:adventurer_target value >= 25 }
			}

			mult_modifier = {
				factor = 0.5
				FROM = { diplomacy < 6 }
			}

			mult_modifier = {
				factor = 1.1
				FROM = { diplomacy >= 10 }
			}

			mult_modifier = {
				factor = 1.1
				FROM = { diplomacy >= 12 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 14 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 16 }
			}
		}
	}

	option = {
		name = EVTOPTB_adventurerPlus_115 # He may raise support in my lands

		log = "adventurerPlus.115: [From.GetBestName] ([From.GetID]) has been permitted to recruit for [From.GetHerHis] adventure from [Root.GetBestName] ([Root.GetID])"
		custom_tooltip = { text = ADVENTURER_RECRUITS_FROM_MY_LANDS }

		reverse_opinion = {
			name = let_adventurer_stay
			who = FROM
			years = 20
		}

		reverse_opinion = {
			name = supported_adventurer_against_me
			who = event_target:adventurer_target
			years = 10
		}

		hidden_effect = {
			# Inform targeted ruler
			if = {
				limit = {
					is_within_diplo_range = event_target:adventurer_target
					FROM = { NOT = { has_character_flag = not_interested_in_movement } }
				}

				event_target:adventurer_target = {
					character_event = {
						id = adventurerPlus.117
						days = 15
					}
				}
			}

			# Adventurer recruits in the demesne before moving on
			adventurerPlus_recruits_demesne = yes
		}

		ai_chance = {
			factor = 30

			trigger = {
				NOR = {
					is_friend = event_target:adventurer_target
					is_rival = FROM
				}

				opinion = {
					who = FROM
					value >= -50
				}

				opinion = {
					who = event_target:adventurer_target
					value < 50
				}
			}

			mult_modifier = {
				factor = 0.75
				war = yes
			}

			mult_modifier = {
				factor = 5
				is_friend = FROM
			}

			mult_modifier = {
				factor = 5
				is_rival = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 1.5

				religion = FROM
				NOT = { religion = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 1.5

				culture = FROM
				NOT = { culture = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 2

				is_close_relative = FROM
				NOT = { is_close_relative = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 1.5

				OR = {
					dynasty = FROM
					is_allied_with = FROM
				}

				NOR = {
					is_close_relative = FROM
					dynasty = event_target:adventurer_target
					is_allied_with = event_target:adventurer_target
					has_non_aggression_pact_with = event_target:adventurer_target
				}
			}

			mult_modifier = {
				factor = 0.25
				is_allied_with = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 0.5
				NOT = { is_allied_with = event_target:adventurer_target }
				has_non_aggression_pact_with = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 0.5
				NOT = { religion = FROM }
			}

			mult_modifier = {
				factor = 0.5
				NOT = { culture_group = FROM }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = FROM value < -25 }
			}

			mult_modifier = {
				factor = 0.75
				opinion = { who = FROM value < 0 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = FROM value >= 25 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = FROM value >= 50 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = FROM value >= 75 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = event_target:adventurer_target value < -75 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = event_target:adventurer_target value < -50 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = event_target:adventurer_target value < -25 }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = event_target:adventurer_target value >= 25 }
			}

			mult_modifier = {
				factor = 0.5
				FROM = { diplomacy < 6 }
			}

			mult_modifier = {
				factor = 1.1
				FROM = { diplomacy >= 10 }
			}

			mult_modifier = {
				factor = 1.1
				FROM = { diplomacy >= 12 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 14 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 16 }
			}
		}
	}

	option = {
		name = EVTOPTC_adventurerPlus_115 # He can do as he wishes, but not here

		log = "adventurerPlus.115: [From.GetBestName] ([From.GetID]) has been turned away by [Root.GetBestName] ([Root.GetID])"
		custom_tooltip = { text = ADVENTURER_MUST_MOVE_ON }

		reverse_opinion = {
			name = turned_adventurer_away
			who = FROM
			years = 20
		}

		FROM = {
			character_event = { id = adventurerPlus.110 }
		}

		ai_chance = {
			factor = 50

			mult_modifier = {
				factor = 2
				NOT = { religion = FROM }
			}

			mult_modifier = {
				factor = 1.5
				NOT = { culture = FROM }
			}

			mult_modifier = {
				factor = 1.5
				NOT = { culture_group = FROM }
			}
		}
	}

	option = {
		name = EVTOPTD_adventurerPlus_115 # Betray him for a ransom
		tooltip_info = intrigue

		trigger = {
			intrigue >= 8
			NOT = { trait = honest }
		}

		if = {
			limit = { trait = kind }
			random = {
				chance = 50
				remove_trait = kind
			}
		}
		if = {
			limit = { NOT = { trait = deceitful } }
			random = {
				chance = 50
				add_trait = deceitful

			}
		}

		reverse_opinion = {
			name = betrayed_adventurer
			who = FROM
			years = 100
		}

		random_list = {
			50 = {
				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value <= -1 }
				}

				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value <= -3 }
				}

				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value <= -5 }
				}

				mult_modifier = {
					factor = 1.5
					attribute_diff = { character = FROM attribute = intrigue value <= -7 }
				}

				mult_modifier = {
					factor = 1.5
					attribute_diff = { character = FROM attribute = intrigue value <= -9 }
				}

				mult_modifier = {
					factor = 2.0
					attribute_diff = { character = FROM attribute = intrigue value <= -11 }
				}

				prestige = -50

				custom_tooltip = {
					text = ADVENTURER_ESCAPES

					character_event = { id = adventurerPlus.120 }
					FROM = { character_event = { id = adventurerPlus.110 } } # Adventurer moves on
				}
			}

			50 = {
				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value >= 1 }
				}

				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value >= 3 }
				}

				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value >= 5 }
				}

				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value >= 7 }
				}

				mult_modifier = {
					factor = 1.2
					attribute_diff = { character = FROM attribute = intrigue value >= 9 }
				}

				reverse_imprison = FROM

				event_target:adventurer_target = {
					show_scope_change = no

					letter_event = {
						id = adventurerPlus.122
						tooltip = OFFER_ADVENTURER_FOR_RANSOM
						days = 3
					}
				}

				hidden_effect = {
					character_event = { id = adventurerPlus.121 }

					FROM = {
						add_character_modifier = {
							name = do_not_disturb
							duration = 3
							hidden = yes
						}
					}
				}
			}
		}

		ai_chance = {
			factor = 10

			trigger  = {
				OR = {
					trait = deceitful
					trait = ambitious
					trait = cruel
					is_allied_with = event_target:adventurer_target
				}

				NOR = {
					trait = kind
					has_truce = event_target:adventurer_target
					has_non_aggression_pact_with = event_target:adventurer_target
					war_with = event_target:adventurer_target
					is_rival = event_target:adventurer_target
					is_friend = FROM
				}
			}

			mult_modifier = {
				factor = 2
				NOT = { religion_group = FROM }
			}

			mult_modifier = {
				factor = 4
				trait = deceitful
			}

			mult_modifier = {
				factor = 2
				likes_better_than = { who = event_target:adventurer_target than = FROM }
			}

			mult_modifier = {
				factor = 0.5
				likes_better_than = { who = FROM than = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 1.5
				is_allied_with = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 1.5
				trait = cruel
			}

			mult_modifier = {
				factor = 3
				trait = greedy
			}

			mult_modifier = {
				factor = 1.25
				trait = arbitrary
			}

			mult_modifier = {
				factor = 1.25
				has_character_modifier = ai_austerity
			}

			mult_modifier = {
				factor = 1.25
				FROM = { diplomacy < 6 }
			}

			mult_modifier = {
				factor = 0.8
				FROM = { diplomacy >= 10 }
			}

			mult_modifier = {
				factor = 0.8
				FROM = { diplomacy >= 14 }
			}

			mult_modifier = {
				factor = 0.8
				FROM = { diplomacy >= 18 }
			}

			mult_modifier = {
				factor = 0.5
				is_close_relative = FROM
			}

			mult_modifier = {
				factor = 0.5
				trait = just
			}
		}
	}
}

# Targeted ruler hears that adventurer is being supported
character_event = {
	id = adventurerPlus.116
	desc = EVTDESC_adventurerPlus_116
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes
	show_from_from = yes

	ai = no

	trigger = {
		has_opinion_modifier = {
			name = opinion_targeted_by_adventurer
			who = FROMFROM
		}

		FROMFROM = { plus_valid_adventurer_trigger = yes }
		NOT = { has_character_flag = not_interested_in_movements }
	}

	option = {
		name = EVTOPTA_adventurerPlus_116
	}

	option = {
		name = EVTOPTB_adventurerPlus_116

		hidden_effect = {
			FROMFROM = { set_character_flag = not_interested_in_movements }
		}
	}
}

# Targeted ruler hears that adventurer is being allowed to recruit
character_event = {
	id = adventurerPlus.117
	desc = EVTDESC_adventurerPlus_117
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes
	show_from_from = yes

	ai = no

	trigger = {
		has_opinion_modifier = {
			name = opinion_targeted_by_adventurer
			who = FROMFROM
		}

		FROMFROM = { plus_valid_adventurer_trigger = yes }
		NOT = { has_character_flag = not_interested_in_movements }
	}

	option = {
		name = EVTOPTA_adventurerPlus_117
	}

	option = {
		name = EVTOPTB_adventurerPlus_116

		hidden_effect = {
			FROMFROM = { set_character_flag = not_interested_in_movements }
		}
	}
}

# Adventurer asks those in the realm for support
letter_event = {
	id = adventurerPlus.118
	desc = EVTDESC_adventurerPlus_118
	border = GFX_event_letter_frame_diplomacy

	is_triggered_only = yes
	show_from_from = yes

	trigger = {
		FROMFROM = { plus_valid_adventurer_trigger = yes }
	}

	option = {
		name = EVTOPTA_adventurerPlus_118 # Agree

		trigger = { wealth >= 10 }

		if = {
			limit = { wealth >= 300 }
			transfer_scaled_wealth = { to = FROMFROM value = 1 max = 150 min = 150 }
		}
		else_if = {
			limit = { wealth >= 200 }
			transfer_scaled_wealth = { to = FROMFROM value = 1 max = 100 min = 100 }
		}
		else_if = {
			limit = { wealth >= 160 }
			transfer_scaled_wealth = { to = FROMFROM value = 1 max = 80 min = 80 }
		}
		else_if = {
			limit = { wealth >= 120 }
			transfer_scaled_wealth = { to = FROMFROM value = 1 max = 60 min = 60 }
		}
		else_if = {
			limit = { wealth >= 80 }
			transfer_scaled_wealth = { to = FROMFROM value = 1 max = 40 min = 40 }
		}
		else_if = {
			limit = { wealth >= 40 }
			transfer_scaled_wealth = { to = FROMFROM value = 1 max = 20 min = 20 }
		}
		else_if = {
			limit = { wealth >= 1 }
			transfer_scaled_wealth = { to = FROMFROM value = 1 max = 10 min = 10 }
		}

		reverse_opinion = {
			name = backed_adventurer
			who = FROMFROM
			years = 20
		}

		ai_chance = {
			factor = 35

			trigger  = {
				NOR = {
					is_friend = event_target:adventurer_target
					is_rival = FROMFROM
				}

				opinion = {
					who = FROMFROM
					value >= -50
				}

				opinion = {
					who = event_target:adventurer_target
					value < 50
				}
			}

			mult_modifier = {
				factor = 0.5
				FROMFROM = { wealth >= 500 }
			}

			mult_modifier = {
				factor = 0.5
				FROMFROM = { wealth >= 750 }
			}

			mult_modifier = {
				factor = 0.5
				FROMFROM = { wealth >= 1000 }
			}

			mult_modifier = {
				factor = 0.75
				wealth < 25
			}

			mult_modifier = {
				factor = 5
				is_friend = FROMFROM
			}

			mult_modifier = {
				factor = 5
				is_rival = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 1.5

				religion = FROMFROM
				NOT = { religion = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 1.5

				culture = FROMFROM
				NOT = { culture = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 2

				is_close_relative = FROMFROM
				NOT = { is_close_relative = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 1.5

				OR = {
					dynasty = FROMFROM
					is_allied_with = FROMFROM
				}

				NOR = {
					is_close_relative = FROMFROM
					dynasty = event_target:adventurer_target
					is_allied_with = event_target:adventurer_target
					has_non_aggression_pact_with = event_target:adventurer_target
				}
			}

			mult_modifier = {
				factor = 0.1
				has_character_modifier = ai_austerity
			}

			mult_modifier = {
				factor = 1.5
				trait = charitable
			}

			mult_modifier = {
				factor = 0.25
				is_allied_with = event_target:adventurer_target
			}

			mult_modifier = {
				factor = 0.5

				has_non_aggression_pact_with = event_target:adventurer_target
				NOT = { is_allied_with = event_target:adventurer_target }
			}

			mult_modifier = {
				factor = 0.5
				trait = greedy
			}

			mult_modifier = {
				factor = 0.5
				NOT = { religion = FROMFROM }
			}

			mult_modifier = {
				factor = 0.8
				NOT = { culture = FROMFROM }
			}

			mult_modifier = {
				factor = 0.5
				NOT = { culture_group = FROMFROM }
			}

			mult_modifier = {
				factor = 0.75
				opinion = { who = FROMFROM value < 0 }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = FROMFROM value < -25 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = FROMFROM value >= 25 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = FROMFROM value >= 50 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = FROMFROM value >= 75 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = event_target:adventurer_target value < -25 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = event_target:adventurer_target value < -50 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = event_target:adventurer_target value < -75 }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = event_target:adventurer_target value >= 25 }
			}

			mult_modifier = {
				factor = 0.5
				FROMFROM = { diplomacy < 6 }
			}

			mult_modifier = {
				factor = 1.2
				FROMFROM = { diplomacy >= 10 }
			}

			mult_modifier = {
				factor = 1.2
				FROMFROM = { diplomacy >= 12 }
			}

			mult_modifier = {
				factor = 1.2
				FROMFROM = { diplomacy >= 14 }
			}

			mult_modifier = {
				factor = 1.2
				FROMFROM = { diplomacy >= 16 }
			}
		}
	}

	option = {
		name = EVTOPTB_adventurerPlus_118 # Refuse

		reverse_opinion = {
			name = refused_adventurer
			who = FROMFROM
			years = 20
		}

		ai_chance = { factor = 65 }
	}
}

# Adventurer recruits from a province in the realm
province_event = {
	id = adventurerPlus.119

	is_triggered_only = yes
	hide_window = yes

	trigger = {
		FROMFROM = { plus_valid_adventurer_trigger = yes }
	}

	immediate = {
		add_province_modifier = {
			name = adventurer_recruited
			duration = 900
		}

		if = {
			limit = {
				culture_group = FROMFROM
				religion = FROMFROM
			}

			random_list = {
				50 = {
					mult_modifier = {
						factor = 0.8

						FROMFROM = {
							diplomacy >= 10
							diplomacy < 15
						}
					}

					mult_modifier = {
						factor = 0.4
						FROMFROM = { diplomacy >= 15 }
					}

					# No bonus
				}

				40 = {
					mult_modifier = {
						factor = 0.75
						FROMFROM = { diplomacy >= 10 }
					}

					FROMFROM = { wealth = 10 }
				}

				10 = {
					mult_modifier = {
						factor = 2.0

						FROMFROM = {
							diplomacy >= 10
							diplomacy < 15
						}
					}

					mult_modifier = {
						factor = 3.0
						FROMFROM = { diplomacy >= 15 }
					}

					FROMFROM = { wealth = 20 }
				}

				10 = {
					trigger = {
						FROMFROM = { diplomacy >= 10 }
					}

					mult_modifier = {
						factor = 2.0
						FROMFROM = { diplomacy >= 15 }
					}

					FROMFROM = { wealth = 30 }
				}
			}
		}
		else_if = {
			limit = {
				OR = {
					culture_group = FROMFROM
					religion = FROMFROM
				}
			}

			random_list = {
				60 = {
					mult_modifier = {
						factor = 0.83

						FROMFROM = {
							diplomacy >= 10
							diplomacy < 15
						}
					}

					mult_modifier = {
						factor = 0.58
						FROMFROM = { diplomacy >= 15 }
					}

					# No bonus
				}

				30 = {
					mult_modifier = {
						factor = 0.66

						FROMFROM = {
							diplomacy >= 10
							diplomacy < 15
						}
					}

					mult_modifier = {
						factor = 1.17
						FROMFROM = { diplomacy >= 15 }
					}

					FROMFROM = { wealth = 10 }
				}

				10 = {
					mult_modifier = {
						factor = 2.0
						FROMFROM = { diplomacy >= 10 }
					}

					FROMFROM = { wealth = 20 }
				}

				10 = {
					trigger = {
						FROMFROM = { diplomacy >= 10 }
					}

					FROMFROM = { wealth = 30 }
				}
			}
		}
		else = {
			random_list = {
				80 = {
					mult_modifier = {
						factor = 0.75

						FROMFROM = {
							diplomacy >= 10
							diplomacy < 15
						}
					}

					mult_modifier = {
						factor = 0.56
						FROMFROM = { diplomacy >= 15 }
					}

					# No bonus
				}

				10 = {
					mult_modifier = {
						factor = 3.0

						FROMFROM = {
							diplomacy >= 10
							diplomacy < 15
						}
					}

					mult_modifier = {
						factor = 3.5
						FROMFROM = { diplomacy >= 15 }
					}

					FROMFROM = { wealth = 10 }
				}

				10 = {
					mult_modifier = {
						factor = 1.5
						FROMFROM = { diplomacy >= 15 }
					}

					FROMFROM = { wealth = 20 }
				}

				5 = {
					trigger = {
						FROMFROM = { diplomacy >= 15 }
					}

					FROMFROM = { wealth = 30 }
				}
			}
		}
	}
}

# Adventurer escapes the trap and flees the realm
character_event = {
	id = adventurerPlus.120
	desc = EVTDESC_adventurerPlus_120
	picture = GFX_evt_bandits

	is_triggered_only = yes
	show_from_from = yes

	ai = no

	option = {
		name = CURSES

		log = "adventurerPlus.120: [FromFrom.GetBestName] ([FromFrom.GetID]) narrowly escaped a trap set by [Root.GetBestName] ([Root.GetID])"
	}
}

# Adventurer is imprisoned and can now be offered for ransom
character_event = {
	id = adventurerPlus.121
	desc = EVTDESC_adventurerPlus_121
	picture = GFX_evt_bandits

	is_triggered_only = yes
	show_from_from = yes

	ai = no

	option = {
		name = EXCELLENT

		log = "adventurerPlus.121: [FromFrom.GetBestName] ([FromFrom.GetID]) has been betrayed by [Root.GetBestName] ([Root.GetID]) and imprisoned"
	}
}

# Adventurer offered to the targeted ruler for ransom
letter_event = {
	id = adventurerPlus.122
	desc = EVTDESC_adventurerPlus_122

	is_triggered_only = yes

	only_rulers = yes

	option = {
		name = EVTOPTA_adventurerPlus_122 # Pay the ransom

		log = "adventurerPlus.122: [FromFrom.GetBestName] ([FromFrom.GetID]) has been ransomed by [Root.GetBestName] ([Root.GetID]), ending the adventure"
		wealth = -50

		hidden_effect = {
			save_event_target_as = new_court_home
			FROM = { letter_event = { id = adventurerPlus.123 } }

			FROMFROM = {
				imprison = no
				plus_abandon_adventure_effect = yes

				reverse_opinion = {
					name = opinion_traitor
					who = ROOT
				}
			}
		}

		reverse_imprison = FROMFROM

		ai_chance = {
			factor = 75

			trigger = { wealth >= 50  }

			mult_modifier = {
				factor = 0.5
				has_character_modifier = ai_austerity
			}

			mult_modifier = {
				factor = 0.5
				trait = greedy
			}

			mult_modifier = {
				factor = 0.75
				FROMFROM = { wealth < 250 }
			}

			mult_modifier = {
				factor = 0.75
				FROMFROM = { wealth < 200 }
			}

			mult_modifier = {
				factor = 0.75
				FROMFROM = { wealth < 150 }
			}

			mult_modifier = {
				factor = 0.75
				FROMFROM = { wealth < 100 }
			}
		}
	}

	option = {
		name = EVTOPTB_adventurerPlus_122 # Refuse

		hidden_effect = {
			FROM = {
				letter_event = {
					id = adventurerPlus.124
					days = 3
				}
			}
		}

		ai_chance = {
			factor = 25

			mult_modifier = {
				factor = 2
				trait = greedy
			}
		}
	}
}

# Notification that the ransom has been paid
letter_event = {
	id = adventurerPlus.123
	desc = EVTDESC_adventurerPlus_123

	is_triggered_only = yes

	option = {
		name = EXCELLENT

		wealth = 50

		reverse_opinion = {
			name = opinion_grateful
			who = FROM
			years = 10
		}
	}
}

# Notification that the ransom has been refused
letter_event = {
	id = adventurerPlus.124
	desc = EVTDESC_adventurerPlus_124

	is_triggered_only = yes

	option = {
		name = EVTOPTA_adventurerPlus_124 # Let him go

		log = "adventurerPlus.124: [From.GetBestName] ([From.GetID]) refused to pay the ransom for [FromFromFrom.GetBestName] ([FromFromFrom.GetID]), and [FromFromFrom.GetSheHe] was released"

		FROMFROMFROM = {
			show_scope_change = no

			imprison = no
			character_event = { id = adventurerPlus.110 }
		}
	}

	option = {
		name = EVTOPTB_adventurerPlus_124 # Leave him where he is

		custom_tooltip = { text = ADVENTURER_STAYS_IN_PRISON }

		log = "adventurerPlus.124: [From.GetBestName] ([From.GetID]) refused to pay the ransom for [FromFromFrom.GetBestName] ([FromFromFrom.GetID])"
	}
}

# Adventurer seeks support in the targeted liege's realm
character_event = {
	id = adventurerPlus.130

	is_triggered_only = yes
	hide_window = yes

	has_character_flag = planning_claimant_adventure
	only_capable = yes
	prisoner = no

	trigger = {
		plus_valid_adventurer_trigger = yes
		wealth < 1000
		NOT = { has_character_flag = began_adventure }

		any_opinion_modifier_target = {
			has_opinion_modifier = {
				name = opinion_targeted_by_adventurer
				who = ROOT
			}

			independent = yes

			any_realm_character = {
				wealth >= 10
				is_within_diplo_range = ROOT
				is_adult = yes
				prisoner = no
				is_incapable = no

				OR = {
					dynasty = ROOT
					is_close_relative = ROOT
					any_spouse = { is_close_relative = ROOT }

					opinion = {
						who = ROOT
						value >= 40
					}

					opinion = {
						who = PREV
						value < -40
					}
				}

				NOR = {
					has_opinion_modifier = { who = ROOT name = opinion_targeted_by_adventurer }
					reverse_has_opinion_modifier = { who = ROOT name = turned_adventurer_away }
					reverse_has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
					reverse_has_opinion_modifier = { who = ROOT name = backed_adventurer }
					reverse_has_opinion_modifier = { who = ROOT name = betrayed_adventurer }
					reverse_has_opinion_modifier = { who = ROOT name = refused_adventurer }
				}
			}
		}
	}

	fail_trigger_effect = {
		# Try again later
		if = {
			limit = {
				has_character_flag = planning_claimant_adventure
				plus_valid_adventurer_trigger = yes
				wealth < 1000
				NOT = { has_character_flag = began_adventure }
			}

			if = {
				limit = { wealth < 100 }
				character_event = { id = adventurerPlus.130 days = 10 }
			}
			else_if = {
				limit = { wealth < 300 }
				character_event = { id = adventurerPlus.130 days = 20 }
			}
			else_if = {
				limit = { wealth >= 300 }
				character_event = { id = adventurerPlus.130 days = 30 }
			}
			else_if = {
				limit = { wealth >= 400 }
				character_event = { id = adventurerPlus.130 days = 45 }
			}
			else_if = {
				limit = { wealth >= 500 }
				character_event = { id = adventurerPlus.130 days = 90 }
			}
			else_if = {
				limit = { wealth >= 600 }
				character_event = { id = adventurerPlus.130 days = 180 }
			}
			else_if = {
				limit = { wealth >= 700 }
				character_event = { id = adventurerPlus.130 days = 360 }
			}
		}
	}

	immediate = {
		random_opinion_modifier_target = {
			limit = {
				has_opinion_modifier = {
					name = opinion_targeted_by_adventurer
					who = ROOT
				}

				independent = yes
			}

			random_realm_character = {
				limit = {
					wealth >= 10
					is_within_diplo_range = ROOT
					is_adult = yes
					prisoner = no
					is_incapable = no

					OR = {
						dynasty = ROOT
						is_close_relative = ROOT
						any_spouse = { is_close_relative = ROOT }

						opinion = {
							who = ROOT
							value >= 40
						}

						opinion = {
							who = PREV
							value < -40
						}
					}

					NOR = {
						has_opinion_modifier = { who = ROOT name = opinion_targeted_by_adventurer }
						reverse_has_opinion_modifier = { who = ROOT name = turned_adventurer_away }
						reverse_has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
						reverse_has_opinion_modifier = { who = ROOT name = backed_adventurer }
						reverse_has_opinion_modifier = { who = ROOT name = betrayed_adventurer }
						reverse_has_opinion_modifier = { who = ROOT name = refused_adventurer }
					}
				}

				letter_event = { id = adventurerPlus.131 }
			}
		}
	}
}

# Member of targeted ruler's realm receives plea for support
letter_event = {
	id = adventurerPlus.131
	desc = EVTDESC_adventurerPlus_131

	is_triggered_only = yes

	option = {
		name = EVTOPTA_adventurerPlus_131 # Agree

		plus_donate_to_adventurer_effect = yes

		reverse_opinion = {
			name = backed_adventurer
			who = FROM
			years = 20
		}

		hidden_effect = {
			if = {
				limit = { wealth >= 50 }

				top_liege = {
					random = {
						chance = 50

						mult_modifier = {
							factor = 0.5
							realm_intrigue < 20
						}

						mult_modifier = {
							factor = 1.5
							realm_intrigue >= 40
						}

						character_event = { id = adventurerPlus.132 }
					}
				}
			}
		}

		ai_chance = {
			factor = 35

			trigger = {
				NOR = {
					is_friend = top_liege
					is_rival = FROM
				}

				opinion = {
					who = FROM
					value >= -50
				}

				opinion = {
					who = top_liege
					value < 50
				}
			}

			mult_modifier = {
				factor = 5

				in_faction = faction_pretender
				supported_claimant = { character = FROM }
			}

			mult_modifier = {
				factor = 0.75
				wealth < 25
			}

			mult_modifier = {
				factor = 0.5
				FROM = { wealth >= 500 }
			}

			mult_modifier = {
				factor = 0.5
				FROM = { wealth >= 750 }
			}

			mult_modifier = {
				factor = 0.5
				FROM = { wealth >= 1000 }
			}

			mult_modifier = {
				factor = 5
				is_friend = FROM
			}

			mult_modifier = {
				factor = 5
				is_rival = top_liege
			}

			mult_modifier = {
				factor = 1.25

				religion = FROM
				NOT = { religion = top_liege }
			}

			mult_modifier = {
				factor = 1.25

				culture = FROM
				NOT = { culture = top_liege }
			}

			mult_modifier = {
				factor = 2

				is_close_relative = FROM
				NOT = { is_close_relative = top_liege }
			}

			mult_modifier = {
				factor = 1.5

				OR = {
					dynasty = FROM
					is_allied_with = FROM
				}

				NOR = {
					is_close_relative = FROM
					dynasty = top_liege
					is_allied_with = top_liege
					has_non_aggression_pact_with = top_liege
				}
			}

			mult_modifier = {
				factor = 0.1
				has_character_modifier = ai_austerity
			}

			mult_modifier = {
				factor = 1.5
				trait = charitable
			}

			mult_modifier = {
				factor = 0.5
				is_allied_with = top_liege
			}

			mult_modifier = {
				factor = 0.75

				has_non_aggression_pact_with = top_liege
				NOT = { is_allied_with = top_liege }
			}

			mult_modifier = {
				factor = 0.5
				trait = greedy
			}

			mult_modifier = {
				factor = 0.5
				NOT = { religion = FROM }
			}

			mult_modifier = {
				factor = 0.8
				NOT = { culture = FROM }
			}

			mult_modifier = {
				factor = 0.5
				NOT = { culture_group = FROM }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = FROM value < -25 }
			}

			mult_modifier = {
				factor = 0.75
				opinion = { who = FROM value < 0 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = FROM value >= 25 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = FROM value >= 50 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = FROM value >= 75 }
			}

			mult_modifier = {
				factor = 2
				opinion = { who = top_liege value < -75 }
			}

			mult_modifier = {
				factor = 1.5
				opinion = { who = top_liege value < -50 }
			}

			mult_modifier = {
				factor = 1.25
				opinion = { who = top_liege value < -25 }
			}

			mult_modifier = {
				factor = 0.5
				opinion = { who = top_liege value >= 25 }
			}

			mult_modifier = {
				factor = 0.5
				FROM = { diplomacy < 6 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 10 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 12 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 14 }
			}

			mult_modifier = {
				factor = 1.2
				FROM = { diplomacy >= 16 }
			}
		}
	}

	option = {
		name = EVTOPTB_adventurerPlus_131 # Refuse

		reverse_opinion = {
			name = refused_adventurer
			who = FROM
			years = 20
		}

		ai_chance = { factor = 65 }
	}

	after = {
		FROM = {
			# Try again later
			if = {
				limit = { wealth < 100 }
				character_event = { id = adventurerPlus.130 days = 10 }
			}
			else_if = {
				limit = { wealth < 300 }
				character_event = { id = adventurerPlus.130 days = 20 }
			}
			else_if = {
				limit = { wealth >= 300 }
				character_event = { id = adventurerPlus.130 days = 30 }
			}
			else_if = {
				limit = { wealth >= 400 }
				character_event = { id = adventurerPlus.130 days = 45 }
			}
			else_if = {
				limit = { wealth >= 500 }
				character_event = { id = adventurerPlus.130 days = 90 }
			}
			else_if = {
				limit = { wealth >= 600 }
				character_event = { id = adventurerPlus.130 days = 180 }
			}
			else_if = {
				limit = { wealth >= 700 }
				character_event = { id = adventurerPlus.130 days = 360 }
			}
		}
	}
}

# Targeted ruler hears that someone prominent in their realm is supporting the adventurer
character_event = {
	id = adventurerPlus.132
	desc = EVTDESC_adventurerPlus_132
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	option = {
		name = EVTOPTA_adventurerPlus_132

		opinion = {
			name = supported_adventurer_against_me
			who = FROM
			years = 10
			multiplier = 2
		}
	}
}

# Adventurer is at least half way to raising their army
character_event = {
	id = adventurerPlus.133

	is_triggered_only = yes
	hide_window = yes

	has_character_flag = planning_claimant_adventure
	only_capable = yes
	prisoner = no

	trigger = {
		plus_valid_adventurer_trigger = yes
		NOT = { has_character_flag = warned_adventurer_target }

		OR = {
			wealth >= 200

			AND = {
				wealth >= 100
				diplomacy >= 10
				martial >= 10

				OR = {
					diplomacy >= 16
					trait = genius
					trait = brilliant_strategist
				}
			}
		}
	}

	fail_trigger_effect = {
		if = {
			limit = {
				has_character_flag = planning_claimant_adventure
				plus_valid_adventurer_trigger = yes
				NOT = { has_character_flag = warned_adventurer_target }
			}

			# Try again next month
			repeat_event = {
				id = adventurerPlus.133
				months = 1
			}
		}
	}

	immediate = {
		set_character_flag = warned_adventurer_target

		random_opinion_modifier_target = {
			limit = {
				reverse_has_opinion_modifier = {
					name = opinion_claimant_adventure_target
					who = ROOT
				}
			}

			character_event = { id = adventurerPlus.134 }
		}
	}
}

# Notify targeted ruler that adventurer is halfway to raising an army
character_event = {
	id = adventurerPlus.134
	desc = EVTDESC_adventurerPlus_134
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_adventurerPlus_134
	}
}

# Adventurer is ready to abandon their quest
character_event = {
	id = adventurerPlus.140

	is_triggered_only = yes
	hide_window = yes

	has_character_flag = planning_claimant_adventure
	prisoner = no

	trigger = {
		NOT = { has_character_flag = began_adventure }

		OR = {
			any_demesne_title = { adventurer = no }
			is_incapable = yes

			NOT = {
				any_opinion_modifier_target = {
					is_alive = yes
					independent = yes
					demesne_size >= 1
					reverse_has_opinion_modifier = { who = ROOT name = opinion_claimant_adventure_target }
					has_opinion_modifier = { who = ROOT name = opinion_targeted_by_adventurer }
					any_demesne_title = { claimed_by = ROOT }
				}
			}
		}
	}

	fail_trigger_effect = {
		# Check again in a while
		if = {
			limit = {
				has_character_flag = planning_claimant_adventure
				prisoner = no
			}

			repeat_event = { id = adventurerPlus.140 months = 1 }
		}
	}

	immediate = {
		plus_find_adventurer_target_effect = yes
		plus_find_adventurer_location_effect = yes
		plus_find_friendly_court_effect = yes

		# If the adventurer has become incapable, tell the targeted ruler
		if = {
			limit = { is_incapable = yes }

			random_opinion_modifier_target = {
				limit = {
					reverse_has_opinion_modifier = {
						name = opinion_claimant_adventure_target
						who = ROOT
					}
				}

				log = "adventurerPlus.140: [Root.GetBestName] ([Root.GetID]) has abandoned [Root.GetHerHis] adventure against [This.GetBestName] ([This.GetID]) due to becoming incapable"
				character_event = { id = adventurerPlus.142 }
			}
		}

		# If the adventurer has become a ruler, tell the targeted ruler
		else_if = {
			limit = {
				any_demesne_title = { adventurer = no }
			}

			random_opinion_modifier_target = {
				limit = {
					reverse_has_opinion_modifier = {
						name = opinion_claimant_adventure_target
						who = ROOT
					}
				}

				log = "adventurerPlus.140: [Root.GetBestName] ([Root.GetID]) has abandoned [Root.GetHerHis] adventure against [This.GetBestName] ([This.GetID]) due to gaining a title"
				character_event = { id = adventurerPlus.143 }
			}
		}

		# If this is a timeout, tell the targeted ruler
		else = {

			random_opinion_modifier_target = {
				limit = {
					reverse_has_opinion_modifier = {
						name = opinion_claimant_adventure_target
						who = ROOT
					}
				}

				log = "adventurerPlus.140: [Root.GetBestName] ([Root.GetID]) has abandoned [Root.GetHerHis] adventure against [This.GetBestName] ([This.GetID]) due to a time out"
				character_event = { id = adventurerPlus.141 }
			}
		}

		# Remove all adventurer statuses
		log = "adventurerPlus.140: [Root.GetBestName] ([Root.GetID]) will retire to the court of [new_court_home.GetBestName] ([new_court_home.GetID])"
		plus_abandon_adventure_effect = yes
	}
}

# Notify ruler that adventurer has abandoned their quest after too long
character_event = {
	id = adventurerPlus.141
	desc = EVTDESC_adventurerPlus_141
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_adventurerPlus_141
	}
}

# Notify ruler that adventurer has abandoned their quest because they are incapable
character_event = {
	id = adventurerPlus.142
	desc = EVTDESC_adventurerPlus_142
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_adventurerPlus_142
	}
}

# Notify ruler that adventurer has abandoned their quest because they are now a ruler themselves
character_event = {
	id = adventurerPlus.143
	desc = EVTDESC_adventurerPlus_143
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_adventurerPlus_143
	}
}

# Adventurer dies while holding the title
character_event = {
	id = adventurerPlus.144

	is_triggered_only = yes
	hide_window = yes

	trigger = {
		any_demesne_title = { adventurer = yes }

		OR = {
			has_character_flag = claimant_adventurer
			has_character_modifier = planning_claimant_adventure
		}
	}

	immediate = {
		log = "adventurerPlus.144: [Root.GetBestName] ([Root.GetID]) has died, ending [Root.GetHerHis] adventure"

		# Deal with adventurer's wealth
		if = {
			limit = {
				current_heir = {
					OR = {
						is_child_of = ROOT
						is_married = ROOT
						dynasty = ROOT
					}
				}
			}

			transfer_scaled_wealth = {
				to = current_heir
				value = all
			}
		}
		else = {
			clear_wealth = yes
		}

		# Notify target
		plus_find_adventurer_target_effect = yes
		event_target:adventurer_target = {
			character_event = { id = adventurerPlus.145 }
		}

		# Remove all adventurer statuses
		plus_find_friendly_court_effect = yes
		plus_abandon_adventure_effect = yes
	}
}

# Notify ruler of adventurer's death
character_event = {
	id = adventurerPlus.145
	desc = EVTDESC_adventurerPlus_145
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_adventurerPlus_145
	}
}

# Adventurer is ready to begin the war
character_event = {
	id = adventurerPlus.146

	is_triggered_only = yes
	hide_window = yes

	has_character_flag = planning_claimant_adventure
	only_capable = yes
	prisoner = no

	trigger = {
		plus_valid_adventurer_trigger = yes
		is_maimed_trigger = no
		is_ill = no

		NOR = {
			trait = wounded
			has_character_flag = began_adventure
		}

		OR = {
			# Has enough wealth on their own
			wealth >= 400

			# Has half the wealth and is very capable
			AND = {
				wealth >= 200
				diplomacy >= 10
				martial >= 10

				OR = {
					diplomacy >= 16
					trait = genius
					trait = brilliant_strategist
				}
			}
		}
	}

	fail_trigger_effect = {
		if = {
			limit = {
				has_character_flag = planning_claimant_adventure
				plus_valid_adventurer_trigger = yes
			}

			# Check again in a while
			repeat_event = {
				id = adventurerPlus.146
				months = 1
			}
		}
	}

	immediate = {
		random_list = {
			5 = { # Not yet ready
				repeat_event = {
					id = adventurerPlus.146
					months = 1
				}
			}

			1 = { # Ready to go!
				mult_modifier = {
					factor = 2.0
					trait = patient
				}

				mult_modifier = {
					factor = 2.0
					trait = paranoid
				}

				mult_modifier = {
					factor = 0.75
					martial >= 10
				}

				mult_modifier = {
					factor = 0.75
					martial >= 12
				}

				mult_modifier = {
					factor = 0.75
					martial >= 14
				}

				mult_modifier = {
					factor = 0.75
					martial >= 16
				}

				mult_modifier = {
					factor = 0.75
					martial >= 18
				}

				mult_modifier = {
					factor = 0.75
					martial >= 20
				}

				mult_modifier = {
					factor = 1.5
					martial < 8
				}

				mult_modifier = {
					factor = 0.5
					trait = wroth
				}

				mult_modifier = {
					factor = 0.1

					OR = {
						trait = lunatic
						trait = possessed
					}
				}

				mult_modifier = {
					factor = 0.5
					had_character_flag = { flag = planning_claimant_adventure years >= 2 }
				}

				mult_modifier = {
					factor = 0.1
					had_character_flag = { flag = planning_claimant_adventure years >= 3 }
				}

				mult_modifier = {
					factor = 0.01
					had_character_flag = { flag = planning_claimant_adventure years >= 4 }
				}

				set_character_flag = began_adventure
				remove_do_not_disturb_effect = yes
				plus_find_adventurer_target_effect = yes
				plus_find_adventurer_target_title_effect = yes

				# Find a friendly court near the target realm, if possible
				random_playable_ruler = {
					limit = {
						is_landed = yes
						NOT = { same_realm = event_target:adventurer_target }

						OR = {
							reverse_has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
							reverse_has_opinion_modifier = { who = ROOT name = backed_adventurer }
						}

						capital_scope = {
							event_target:adventurer_target = {
								capital_scope = {
									distance = {
										where = PREVPREV
										value < 300
									}
								}
							}
						}
					}

					preferred_limit = {
						capital_scope = {
							event_target:adventurer_target = {
								capital_scope = {
									distance = {
										where = PREVPREV
										value < 150
									}
								}
							}
						}
					}

					ROOT = { set_character_flag = found_attack_court }
					capital_scope = { save_event_target_as = attack_court }
				}

				if = {
					limit = { NOT = { has_character_flag = found_attack_court } }

					plus_find_adventurer_location_effect = yes
					event_target:adventurer_location = { save_event_target_as = attack_court }
				}

				clr_character_flag = found_attack_court
				set_character_flag = claimant_adventurer

				### Now spawn the armies

				# Base troops
				random_list = {
					30 = {
						while = {
							count = 3

							spawn_unit = {
								province = event_target:attack_court
								home = event_target:attack_court
								owner = ROOT
								match_character = event_target:adventurer_target
								match_mult = 0.2
								match_min = 1000
								match_max = 15000
								attrition = 0.25
								earmark = claimant_adventure
								cannot_inherit = yes
							}
						}
					}

					40 = {
						while = {
							count = 3

							spawn_unit = {
								province = event_target:attack_court
								home = event_target:attack_court
								owner = ROOT
								match_character = event_target:adventurer_target
								match_mult = 0.175
								match_min = 1000
								match_max = 15000
								attrition = 0.25
								earmark = claimant_adventure
								cannot_inherit = yes
							}
						}
					}

					30 = {
						while = {
							count = 3

							spawn_unit = {
								province = event_target:attack_court
								home = event_target:attack_court
								owner = ROOT
								match_character = event_target:adventurer_target
								match_mult = 0.15
								match_min = 1000
								match_max = 15000
								attrition = 0.25
								earmark = claimant_adventure
								cannot_inherit = yes
							}
						}
					}
				}

				# Troops bought with wealth
				adventurerPlus_buy_troops_effect = yes

				# Diplomacy/leadership troops
				if = {
					limit = {
						diplomacy >= 10
						martial >= 10

						OR = {
							trait = genius
							trait = brilliant_strategist
						}
					}

					spawn_unit = {
						province = event_target:attack_court
						home = event_target:attack_court
						owner = THIS
						match_character = event_target:adventurer_target
						match_mult = 0.125
						match_min = 300
						match_max = 5000
						attrition = 0.25
						earmark = claimant_adventure
						merge = yes
						cannot_inherit = yes
					}
				}

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

					troops = {
						galleys = { 100 100 }
					}
				}

				event_target:adventurer_target_title = {
					if = {
						limit = { holder = event_target:adventurer_target }

						log = "adventurerPlus.146: [Root.GetBestName] ([Root.GetID]) starts claim adventure for the [This.GetFullName]"

						holder_scope = {
							reverse_war = {
								target = ROOT
								casus_belli = claim
								thirdparty_title = PREV
								infamy = 0
							}

							reverse_remove_opinion = {
								name = opinion_claimant_adventure_target
								who = ROOT
							}

							remove_opinion = {
								name = opinion_targeted_by_adventurer
								who = ROOT
							}
						}
					}
				}

				character_event = {
					id = adventurerPlus.147 # Double-check that we're at war
					days = 1
				}
			}
		}
	}
}

character_event = {
	id = adventurerPlus.147

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		if = {
			limit = { war = yes }

			add_trait = adventurer
			remove_character_modifier = planning_claimant_adventure
			clr_character_flag = planning_claimant_adventure
			clr_character_flag = warned_adventurer_target
			clr_character_flag = not_interested_in_movements

			character_event = {
				id = adventurerPlus.148 # Armies disbanded after five years of peace
				years = 5
			}
		}
		else = {
			log = "ERROR: [Root.GetBestName] ([Root.GetID]) had an invalid adventure war, and thus must have [Root.GetHerHis] adventurer status removed"

			# Remove all adventurer statuses
			clr_character_flag = claimant_adventurer
			plus_find_friendly_court_effect = yes
			plus_abandon_adventure_effect = yes
		}
	}
}

# Armies disbanded after five years of peace
character_event = {
	id = adventurerPlus.148
	desc = EVTDESC_adventurerPlus_148
	picture = GFX_evt_crusaders

	is_triggered_only = yes

	only_rulers = yes
	war = no

	trigger = {
		has_earmarked_regiments = claimant_adventure
	}

	immediate = {
		clr_character_flag = claimant_adventurer
	}

	option = {
		name = EVTOPTA_adventurerPlus_148

		disband_event_forces = claimant_adventure
	}
}

### DUCHY ADVENTURES

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

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

	has_dlc = "The Old Gods"
	has_global_flag = viking_age_started
	min_age = 16
	max_age = 50
	only_capable = yes
	prisoner = no

	trigger = {
		is_ruler = no
		health >= 4
		is_ill = no
		is_lowborn = no
		is_maimed_trigger = no
		is_weak_trigger = no

		trigger_if = {
			limit = { is_female = yes }

			OR = {
				has_gender_equal_game_rule_trigger = yes
				has_law = status_of_women_4
				has_law = true_cognatic_succession

				AND = {
					liege = { is_feminist_trigger = yes }
					is_feminist_trigger = yes
				}
			}
		}

		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
		}

		NOR = {
			has_game_rule = {
				name = adventurers
				value = none
			}

			trait = content
			trait = craven
			trait = humble
			trait = depressed
			trait = imbecile
			trait = wounded
			trait = incapable
			trait = celibate
			trait = blinded
			trait = eunuch
			trait = nun
			trait = monk
			has_character_modifier = planning_duchy_adventure
			any_spouse = { is_ruler = yes }
			any_heir_title = { always = yes }

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

			any_liege = {
				OR = {
					holy_order = yes
					mercenary = yes
				}
			}
		}

		OR = { # Only these for now
			culture_group = north_germanic
			culture_group = west_germanic
			culture_group = altaic
			culture = norman
			culture = french
			culture = breton
			culture = catalan
			AND = {
				culture = hungarian
				religion_group = pagan_group
			}
			has_character_flag = demon_child_non_pagan
			trait = changeling
		}

		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  }
				}
			}
		}
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 2
			trait = ambitious
		}

		mult_modifier = {
			factor = 2

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

		mult_modifier = {
			factor = 2
			has_character_flag = flag_denied_title
		}

		mult_modifier = {
			factor = 5
			has_character_flag = demon_child_non_pagan
		}

		mult_modifier = {
			factor = 5
			trait = changeling
		}

		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 = 1.18
			trait = impaler
		}

		mult_modifier = {
			factor = 1.18
			trait = greedy
		}

		mult_modifier = {
			factor = 1.18
			trait = envious
		}

		mult_modifier = {
			factor = 1.18
			trait = zealous
		}

		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 = 2
			year < 900
		}

		mult_modifier = {
			factor = 1.33

			year >= 900
			year < 1000
		}

		mult_modifier = {
			factor = 0.8
			year >= 1000
		}

		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 }
					}
				}
			}
		}

		mult_modifier = {
			factor = 0.02

			has_game_rule = {
				name = adventurers
				value = rare
			}
		}
	}

	immediate = {
		# Norse characters will try to target a realm in Britain, Normandy & Russias
		if = {
			limit = { culture = norse }

			random = {
				chance = 75

				random_province = {
					limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture_group = ROOT }
								realm_levies < 2000
							}
						}

						same_sea_zone_province_trigger = yes

						OR = {
							is_coastal = yes
							borders_major_river = yes
						}

						OR = {
							region = custom_livonia
							region = custom_novgorod
							region = custom_muscovy
							region = custom_ruthenia
							region = custom_england
							region = custom_scotland
							duchy = { title = d_normandy }
						}
					}

					# Norse characters will first target low-levy realms in Britain, Normandy & Russia
					preferred_limit = {
						owner = {
							top_liege = {
								realm_levies < 2000
							}
						}
					}

					# Norse characters will then target small realms in Britain, Normandy & Russia
					preferred_limit = {
						owner = {
							top_liege = {
								realm_size < 30
							}
						}
					}

					# Norse characters will then target any realms in Britain, Normandy & Russia
					save_event_target_as = adventure_target_province
				}
			}
		}

		if = {
			limit = { NOT = { event_target:adventure_target_province = { always = yes } } }

			if = {
				limit = { is_seafarer = yes }

				random_province = {
					limit = {
						OR = {
							is_coastal = yes
							borders_major_river = yes
						}

						same_sea_zone_province_trigger = yes
					}

					# Seafaring cultures will target low-levy coastal realms of a different culture group first
					preferred_limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture_group = ROOT }
								realm_levies < 2000
							}
						}
					}

					# Seafaring cultures will target smaller coastal realms of a different culture group first
					preferred_limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture_group = ROOT }
								realm_size < 30
							}
						}
					}

					# Seafaring cultures will target low-levy tribal realms of a different culture group next
					preferred_limit = {
						owner = {
							top_liege = {
								is_tribal = yes
								plus_duchy_target_trigger = yes
								NOT = { culture_group = ROOT }
								realm_levies < 2000
								prestige < 250
							}
						}
					}

					# Seafaring cultures will target low-levy coastal realms of a different culture next
					preferred_limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture = ROOT }
								realm_levies < 2000
							}
						}
					}

					# Seafaring cultures will target smaller coastal realms of a different culture next
					preferred_limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture = ROOT }
								realm_size < 30
							}
						}
					}

					# Seafaring cultures will target smaller tribal realms of a different culture next
					preferred_limit = {
						owner = {
							top_liege = {
								is_tribal = yes
								plus_duchy_target_trigger = yes
								NOT = { culture = ROOT }
								realm_size < 30
								prestige < 250
							}
						}
					}

					# Seafaring cultures will then target any realms of a different culture group
					preferred_limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture_group = ROOT }
							}
						}
					}

					# Seafaring cultures will then target any realms of a different culture
					preferred_limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture = ROOT }
							}
						}
					}

					save_event_target_as = adventure_target_province
				}
			}
			else = {
				random_province = {
					limit = {
						owner = {
							top_liege = {
								plus_duchy_target_trigger = yes
								NOT = { culture = ROOT }
							}
						}
					}

					# Others will first target low-levy realms of a different culture neighboring their liege
					preferred_limit = {
						owner = {
							top_liege = {
								realm_levies < 2000

								any_realm_province = {
									held_under_PREV = yes

									any_neighbor_province = {
										owner = { is_liege_of = ROOT }
									}
								}
							}
						}
					}

					# Others will then target smaller realms of a different culture neighboring their liege
					preferred_limit = {
						owner = {
							top_liege = {
								realm_size < 30

								any_realm_province = {
									held_under_PREV = yes

									any_neighbor_province = {
										owner = { is_liege_of = ROOT }
									}
								}
							}
						}
					}

					# Others will then target realms of a different culture neighboring their liege
					preferred_limit = {
						owner = {
							top_liege = {
								any_realm_province = {
									held_under_PREV = yes

									any_neighbor_province = {
										owner = { is_liege_of = ROOT }
									}
								}
							}
						}
					}

					# Others will then target low-levy realms of a different culture group neighboring their top liege's realm
					preferred_limit = {
						owner = {
							top_liege = {
								NOT = { culture_group = ROOT }
								realm_levies < 2000
							}
						}

						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					# Others will then target smaller realms of a different culture group neighboring their top liege's realm
					preferred_limit = {
						owner = {
							top_liege = {
								NOT = { culture_group = ROOT }
								realm_size < 30
							}
						}

						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					# Others will then target low-levy tribal realms of a different culture group neighboring their top liege's realm
					preferred_limit = {
						owner = {
							top_liege = {
								is_tribal = yes
								NOT = { culture_group = ROOT }
								realm_levies < 2000
								prestige < 250
							}
						}

						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					# Others will then target low-levy realms of a different culture neighboring their top liege's realm
					preferred_limit = {
						owner = {
							top_liege = {
								realm_levies < 2000
							}
						}

						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					# Others will then target smaller realms of a different culture neighboring their top liege's realm
					preferred_limit = {
						owner = {
							top_liege = {
								realm_size < 30
							}
						}

						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					# Others will then target smaller tribal realms of a different culture neighboring their top liege's realm
					preferred_limit = {
						owner = {
							top_liege = {
								is_tribal = yes
								realm_size < 30
								prestige < 250
							}
						}

						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					# Others will then target any realm of a different culture group neighboring their top liege's realm
					preferred_limit = {
						owner = {
							top_liege = {
								NOT = { culture_group = ROOT }
							}
						}

						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					# Others will then target any realm of a different culture neighboring their top liege's realm
					preferred_limit = {
						any_neighbor_province = {
							owner = { same_realm = ROOT }
						}
					}

					save_event_target_as = adventure_target_province
				}
			}
		}

		if = {
			limit = { event_target:adventure_target_province = { always = yes } }

			# Come out of hiding if necessary
			end_inaccessibility_effect = yes # Removes in hiding and in_seclusion

			add_character_modifier = {
				name = do_not_disturb
				years = 1
				hidden = yes
			}

			# Fire the event
			event_target:adventure_target_province = {
				owner = {
					top_liege = {
						ROOT = {
							opinion = {
								name = opinion_duchy_adventure_target
								who = PREV
								years = 3
							}

							add_character_modifier = {
								name = planning_duchy_adventure
								duration = 720
								hidden = yes
							}

							character_event = {
								id = adventurerPlus.162 # Fire the attack
								days = 720
							}
						}

						character_event = { id = adventurerPlus.161 } # Warn the target
					}
				}
			}
		}

		# Stop it here if nothing's found
		else = {
			log = "adventurerPlus.160: [Root.GetBestName] ([Root.GetID]) wanted to become a duchy adventurer, but found no suitable target"
		}
	}
}

character_event = {
	id = adventurerPlus.161
	desc = EVTDESC_adventurerPlus_161
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	immediate = {
		opinion = {
			who = FROM
			name = opinion_targeted_by_adventurer
			months = 24
		}
	}

	option = {
		name = EVTOPTA_adventurerPlus_161
	}
}

# An ambitious character with no inheritance starts an adventure for a foreign title
# (Temporary title created and a war declared)
character_event = {
	id = adventurerPlus.162

	is_triggered_only = yes
	hide_window = yes # Only fires for unplayable landless characters

	ai = yes
	prisoner = no
	only_capable = yes

	trigger = {
		is_ruler = no
		NOT = { any_heir_title = { always = yes } }
	}

	immediate = {
		event_target:adventure_target_province = {
			owner = {
				top_liege = {
					save_event_target_as = duchy_adventure_target
				}
			}

			duchy = {
				save_event_target_as = adventure_target_title
			}
		}

		# Check if the target is still longer applicable
		if = {
			limit = {
				event_target:duchy_adventure_target = {
					reverse_has_opinion_modifier = {
						name = opinion_duchy_adventure_target
						who = ROOT
					}

					NOR = {
						is_allied_with = ROOT
						has_non_aggression_pact_with = ROOT
						is_married = ROOT
					}
				}
			}

			remove_do_not_disturb_effect = yes

			# Target is good: start the war
			log = "adventurerPlus.162 [Root.GetBestName] ([Root.GetID]) has begun [Root.GetHerHis] duchy adventure against [duchy_adventure_target.GetBestName] ([duchy_adventure_target.GetID]) for the [adventure_target_province.Duchy.GetFullName] ([adventure_target_province.Duchy.GetID])"

			liege = {
				character_event = {
					id = adventurerPlus.163
					days = 1
				}

				capital_scope = {
					save_event_target_as = adventure_home_province
					duchy = { save_event_target_as = adventure_home_duchy }
				}
			}

			create_title = {
				tier = DUKE
				landless = yes
				temporary = yes
				adventurer = yes
				culture = ROOT
				name = CLAIMANT_ADVENTURE
				holder = ROOT
				ruler = LORD
				ruler_female = LADY
				base_title = event_target:adventure_home_duchy
			}

			set_defacto_liege = ROOT
			set_character_flag = duchy_adventurer
			clear_event_target = adventure_home_duchy

			# Base troops
			while = {
				count = 3

				spawn_unit = {
					province = event_target:adventure_home_province
					home = event_target:adventure_home_province
					owner = ROOT
					match_character = event_target:duchy_adventure_target
					match_mult = 0.125
					match_min = 1500
					match_max = 10000
					attrition = 0.25
					cannot_inherit = yes
				}
			}

			if = {
				limit = { year < 1000 }

				while = {
					count = 2

					random = {
						chance = 25

						spawn_unit = {
							province = event_target:adventure_home_province
							home = event_target:adventure_home_province
							owner = ROOT
							match_character = event_target:duchy_adventure_target
							match_mult = 0.125
							match_min = 500
							match_max = 1500
							attrition = 0.25
							cannot_inherit = yes
							merge = yes
						}
					}
				}
			}

			# Extra troops based on qualities
			if = {
				limit = { martial >= 12 }

				spawn_unit = {
					province = event_target:adventure_home_province
					home = event_target:adventure_home_province
					owner = ROOT
					match_character = event_target:duchy_adventure_target
					match_mult = 0.125
					match_min = 500
					match_max = 1500
					attrition = 0.25
					cannot_inherit = yes
					merge = yes
				}
			}

			if = {
				limit = { martial >= 16 }

				spawn_unit = {
					province = event_target:adventure_home_province
					home = event_target:adventure_home_province
					owner = ROOT
					match_character = event_target:duchy_adventure_target
					match_mult = 0.125
					match_min = 500
					match_max = 1500
					attrition = 0.25
					cannot_inherit = yes
					merge = yes
				}
			}

			if = {
				limit = { diplomacy >= 12 }

				spawn_unit = {
					province = event_target:adventure_home_province
					home = event_target:adventure_home_province
					owner = ROOT
					match_character = event_target:duchy_adventure_target
					match_mult = 0.125
					match_min = 500
					match_max = 1500
					attrition = 0.25
					cannot_inherit = yes
					merge = yes
				}
			}

			if = {
				limit = { trait = brave }

				spawn_unit = {
					province = event_target:adventure_home_province
					home = event_target:adventure_home_province
					owner = ROOT
					match_character = event_target:duchy_adventure_target
					match_mult = 0.125
					match_min = 500
					match_max = 1500
					attrition = 0.25
					cannot_inherit = yes
					merge = yes
				}
			}

			if = {
				limit = { is_strong_trigger = yes }

				spawn_unit = {
					province = event_target:adventure_home_province
					home = event_target:adventure_home_province
					owner = ROOT
					match_character = event_target:duchy_adventure_target
					match_mult = 0.125
					match_min = 500
					match_max = 1500
					attrition = 0.25
					cannot_inherit = yes
					merge = yes
				}
			}

			if = {
				limit = {
					prestige >= 500
					year < 1000
				}

				spawn_unit = {
					province = event_target:adventure_home_province
					home = event_target:adventure_home_province
					owner = ROOT
					match_character = event_target:duchy_adventure_target
					match_mult = 0.125
					match_min = 500
					match_max = 1500
					attrition = 0.25
					cannot_inherit = yes
					merge = yes
				}
			}

			unsafe_war = {
				target = event_target:duchy_adventure_target
				casus_belli = duchy_adventure
				thirdparty_title = event_target:adventure_target_title
				infamy = 0
			}

			remove_opinion = {
				name = opinion_duchy_adventure_target
				who = event_target:duchy_adventure_target
			}

			# Create some decent commander characters
			while = {
				count = 3

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

				new_character = {
					random_list = {
						1 = { }
						1 = { add_age = 1 }
						1 = { add_age = 2 }
						1 = { add_age = 3 }
						1 = { add_age = 4 }
						1 = { add_age = 5 }
					}
				}
			}

			if = {
				limit = {
					OR = {
						is_seafarer = yes
						event_target:adventure_home_province = { is_island = yes }
						event_target:adventure_target_province = { is_island = yes }
					}
				}

				# Create a fleet, just to be sure
				spawn_fleet = {
					province = closest # closest sea zone
					owner = ROOT
					disband_on_peace = yes
					troops = {
						galleys = { 200 200 }
					}
				}
			}
		}
		else = {
			any_opinion_modifier_target = {
				limit = {
					reverse_has_opinion_modifier = {
						name = opinion_duchy_adventure_target
						who = ROOT
					}
				}

				reverse_remove_opinion = {
					name = opinion_duchy_adventure_target
					who = ROOT
				}
			}

			log = "adventurerPlus.162 [Root.GetBestName] ([Root.GetID]) couldn't begin [Root.GetHerHis] duchy adventure and will try again"
			character_event = { id = adventurerPlus.160 } # Try to start another adventure
		}
	}
}

character_event = {
	id = adventurerPlus.163
	desc = EVTDESC_adventurerPlus_163
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	trigger = {
		FROM = { is_ruler = yes } # The DoW worked and the adventurer has a temporary title
	}

	immediate = {
		FROM = { add_trait = adventurer }

		any_liege = {
			character_event = {
				id = adventurerPlus.164
			}
		}
	}

	option = {
		name = EVTOPTA_adventurerPlus_163
	}
}

character_event = {
	id = adventurerPlus.164
	desc = EVTDESC_adventurerPlus_164
	picture = GFX_evt_crusaders
	border = GFX_event_normal_frame_war

	is_triggered_only = yes
	show_from_from = yes

	ai = no

	option = {
		name = EVTOPTA_adventurerPlus_163
	}
}

# Extra norse adventurers appear after the Viking Age begins
character_event = {
	id = adventurerPlus.165

	is_triggered_only = yes # on_yearly_pulse, random_events
	hide_window = yes

	only_playable = yes
	culture = norse
	religion = norse_pagan
	has_dlc = "The Old Gods"
	has_global_flag = viking_age_started
	ai = yes

	trigger = {
		capital_scope = {
			is_coastal = yes
			region = world_europe_north
		}

		trigger_if = {
			limit = { is_female = yes }

			OR = {
				has_law = status_of_women_4
				has_law = true_cognatic_succession
				is_feminist_trigger = yes
				has_gender_equal_game_rule_trigger = yes
			}
		}

		OR = {
			war = yes
			is_looting = yes
			year >= 950
		}

		trigger_if = {
			limit = { has_global_flag = extra_norse_adventurers }

			OR = {
				had_global_flag = {
					flag = extra_norse_adventurers
					years >= 10
				}

				AND = {
					year >= 950

					had_global_flag = {
						flag = extra_norse_adventurers
						years >= 5
					}
				}
			}
		}

		holy_order = no
		mercenary = no
		year < 1000

		NOR = {
			has_game_rule = {
				name = adventurers
				value = none
			}

			any_spouse = { is_ruler = yes }
			any_courtier = { has_character_modifier = planning_duchy_adventure }
		}
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 2
			independent = yes
		}

		mult_modifier = {
			factor = 0.5

			year >= 950

			capital_scope = {
				NOR = {
					region = custom_norway
					region = custom_denmark
				}
			}
		}

		mult_modifier = {
			factor = 0.2
			NOT = { has_global_flag = extra_norse_adventurers }
		}

		mult_modifier = {
			factor = 0.02

			has_game_rule = {
				name = adventurers
				value = rare
			}
		}
	}

	immediate = {
		set_global_flag = extra_norse_adventurers

		create_random_soldier = {
			random_traits = yes
			dynasty = none
			religion = ROOT
			culture = ROOT
			female = no
			age = 30
			health = 6
			add_trait = viking
			add_trait = skilled_tactician
			add_trait = ambitious

			attributes = {
				martial = 8
				diplomacy = 8
			}
		}

		new_character = {
			prestige = 250
			remove_trait = humble
			remove_trait = depressed
			remove_trait = imbecile
			remove_trait = weak
			remove_trait = frail
			remove_trait = blinded
			remove_trait = celibate
			remove_trait = craven

			random = {
				chance = 50
				remove_trait = skilled_tactician
				add_trait = brilliant_strategist
			}

			random = {
				chance = 50
				add_trait = brave
			}

			character_event = { id = adventurerPlus.160 } # Try to start an adventure
		}
	}
}