﻿##################
# Purchase Land
# by Joe Parkin
##################

purchase_land_interaction = {
	category = interaction_category_laamp
	interface_priority = 30
	icon = purchase_land_interaction

	desc = purchase_land_interaction_desc
	target_type = title
	target_filter = recipient_de_jure_titles

	cooldown_against_recipient = { years = 10 }

	notification_text = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:recipient = { top_liege != this }
					scope:target = {
						trigger_if = {
							limit = { tier = tier_duchy }
							scope:recipient.highest_held_title_tier = tier_duchy
						}
						trigger_else = { scope:recipient.highest_held_title_tier = tier_county }
					}
				}
				desc = PURCHASE_LAND_PROPOSAL_FELLOW_VASSAL
			}
			triggered_desc = {
				trigger = {
					scope:target = {
						trigger_if = {
							limit = { tier = tier_duchy }
							scope:recipient.highest_held_title_tier >= tier_kingdom
						}
						trigger_else = { scope:recipient.highest_held_title_tier >= tier_duchy }
					}
				}
				desc = PURCHASE_LAND_PROPOSAL_LIEGE
			}
			desc = PURCHASE_LAND_PROPOSAL
		}
	}

	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 60
	ai_min_reply_days = 4
	ai_max_reply_days = 9

	send_options_exclusive = no

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority }
		}
		scope:recipient = {
			is_landed = yes
			# Need to own the land/cannot directly buy a governorship (procure estate first)
			NOR = { 
				government_has_flag = government_is_administrative
				government_has_flag = government_is_japan_administrative
				government_has_flag = government_is_japan_feudal
				government_has_flag = government_is_celestial
				government_has_flag = government_is_meritocratic
			} 
		}
		scope:recipient != scope:actor
	}

	has_valid_target = {
		custom_tooltip = { #prevent unwanted trigger tooltip
			text = blank_line
			scope:target ?= {
				is_title_created = yes
				holder = {
					is_ai = yes
					this = scope:recipient
				}
				OR = { #flatten the selection
					tier = tier_duchy
					tier = tier_county
				}
				NOR = {
					this = scope:recipient.capital_county
					this = scope:recipient.capital_county.duchy
				}
			}
		}
	}

	send_option = {
		flag = offer_gold
		localization = purchase_land_interaction_offer_gold
		current_description = purchase_land_interaction_offer_gold_desc
	}

	send_option = {
		flag = hook
		is_valid = {
			scope:actor = {
				has_usable_hook = scope:recipient
			}
		}
		localization = GENERIC_SPEND_A_HOOK
	}

	send_option = {
		flag = offer_hook
		is_valid = {
			NOT = {
				scope:recipient = {
					has_usable_hook = scope:actor
				}
			}
		}
		localization = purchase_land_interaction_offer_hook
		current_description = purchase_land_interaction_offer_hook_desc
	}

	send_option = {
		flag = vassal_obligation
		is_shown = {
			scope:recipient = {
				government_has_flag = government_is_feudal
			}
		}
		localization = purchase_land_interaction_offer_obligations
		current_description = purchase_land_interaction_offer_obligations_desc
	}

	can_be_picked_title = {
		custom_tooltip = {
			text = purchase_land_tier_tt
			scope:target = {
				tier >= tier_county
				tier <= tier_duchy
			}
		}
		custom_tooltip = {
			text = purchase_land_capital_tt
			scope:target != scope:recipient.capital_county
		}
		custom_tooltip = {
			text = purchase_land_primary_tt
			scope:target != scope:recipient.primary_title
		}
		custom_tooltip = {
			text = purchase_land_duchy_tt
			scope:target = {
				trigger_if = {
					limit = { tier = tier_duchy }
					scope:actor = {
						prestige_level >= 3
					}
				}
			}
		}
		trigger_if = {
			limit = { exists = scope:target.holder }
			scope:target.holder = scope:recipient
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = { top_liege = this }
		scope:actor = {
			prestige_level >= 2
		}
		scope:actor = {
			NOT = {
				has_trait = gallowsbait
			}
		}
		scope:actor = {
			NOT = {
				has_trait = gallivanter
			}
		}
		scope:recipient = { is_at_war = no }
		trigger_if = { # Can't purchase Baronies
			limit = {
				scope:target ?= { tier = tier_barony }
			}
			custom_description = {
				text = purchase_land_barony_tt
				always = no
			}
		}
		trigger_if = { # Can't purchase Kingdoms or Empires
			limit = {
				scope:target ?= { tier >= tier_kingdom }
			}
			custom_description = {
				text = purchase_land_kingdom_tt
				always = no
			}
		}
		trigger_if = { # Can't purchase HoF titles
			limit = {
				scope:target ?= { is_head_of_faith = yes }
			}
			custom_description = {
				text = purchase_land_religious_tt
				always = no
			}
		}
		trigger_if = { # Can't purchase nf titles
			limit = {
				scope:target ?= { is_noble_family_title = yes }
			}
			custom_description = {
				text = purchase_land_noble_family_tt
				always = no
			}
		}
		trigger_if = { # Can't purchase laamp titles
			limit = {
				scope:target ?= { has_variable = adventurer_creation_reason }
			}
			custom_description = {
				text = purchase_land_landless_adventurer_tt
				always = no
			}
		}
		trigger_if = {
			limit = {
				scope:recipient = {
					any_held_county = { count < 2 }
				}
			}
			custom_description = {
				text = purchase_land_minimum_county_tt
				object = scope:recipient
				always = no
			}
		}
		scope:recipient = {
			NOT = { has_strong_hook = scope:actor }
		}
		#Has to be used instead of diplo range checks in laamp to landed interactions
		ep3_laamp_diplo_range_trigger = {
			TARGET = scope:recipient
			LAAMP = scope:actor
		}
		# Adventurers can't join wars in places they're exiled from.
		custom_tooltip = {
			text = the_wake_1
			NOT = {
				is_laamp_exiled_from_province_trigger = {
					PROVINCE = scope:recipient.capital_province
					LAAMP = scope:actor
				}
			}
		}
	}

	cost = {
		gold = {
			if = {
				limit = { scope:target.tier = tier_county }
				add = purchase_land_county_cost_value
			}
			else = {
				add = purchase_land_duchy_cost_value
				scope:target = {
					every_de_jure_county = {
						limit = { ep3_purchase_land_valid_county_trigger = yes }
						add = purchase_land_county_cost_value
					}
				}
			}
			if = {
				limit = { scope:offer_gold = yes }
				multiply = 2
			}
		}
	}

	on_accept = {
		scope:actor = { save_scope_as = adventurer }
		scope:target = {
			add_to_list = purchased_titles
			if = {
				limit = { tier = tier_duchy }
				every_de_jure_county = {
					limit = { ep3_purchase_land_valid_county_trigger = yes }
					add_to_list = purchased_titles
				}
			}
		}
		ordered_in_list = {
			list = purchased_titles
			order_by = tier
			save_scope_as = new_primary_title
		}
		save_scope_value_as = {
			name = purchase_land_cost
			value = {
				every_in_list = {
					list = purchased_titles
					if = {
						limit = { tier = tier_county }
						add = purchase_land_county_cost_value
					}
					else_if = {
						limit = { tier = tier_duchy }
						add = purchase_land_duchy_cost_value
					}
				}
				if = {
					limit = {
						scope:actor = { has_variable = ep3_grace_to_the_family_var }
					}
					multiply = 0.5
				}
				if = {
					limit = {
						scope:offer_gold = yes
					}
					multiply = 2
				}
			}
		}
		save_scope_value_as = {
			name = purchase_land_legitimacy_cost
			value = {
				value = 0
				if = {
					limit = {
						scope:target.holder != scope:recipient
					}
					every_in_list = {
						list = purchased_titles
						if = {
							limit = { tier = tier_county }
							add = minor_legitimacy_loss
						}
						else = { add = medium_legitimacy_loss }
					}
				}	
			}
		}
		show_as_tooltip = { purchase_land_interaction_shortened_effect = yes }
		if = {
			limit = { always = scope:hook }
			scope:actor = { use_hook = scope:recipient }
		}
		scope:actor = { trigger_event = ep3_laamps.0100 }
	}

	on_decline = {
		scope:actor = {
			save_scope_as = adventurer
			trigger_event = ep3_laamps.0102
		}
	}

	ai_targets = {
		ai_recipients = domicile_location_top_ruler
		ai_recipients = contacts
	}

	ai_targets = {
		ai_recipients = domicile_location_neighboring_top_realm_vassals
		ai_recipients = domicile_location_top_realm_vassals
		ai_recipients = domicile_location_neighboring_top_rulers
		max = 20
	}
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 60
		kingdom = 0
		empire = 0
		hegemony = 0
	}

	ai_accept = {
		base = 0 # Try to make it 0 for most interactions

		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 1
			desc = AI_OPINION_REASON
		}
		modifier = { # Num of counties/duchy
			add = {
				value = 0
				scope:target = {
					if = {
						limit = { tier = tier_county }
						add = -30
					}
					else = {
						add = -60
						every_de_jure_county = {
							limit = { ep3_purchase_land_valid_county_trigger = yes }
							add = -30
						}
					}
				}
			}
			desc = PURCHASE_LAND_NUM_TITLES_REASON
		}
		modifier = { # Too close to capital
			add = -50
			desc = PURCHASE_LAND_DE_JURE_DUCHY_REASON
			scope:target.duchy = scope:recipient.capital_county.duchy
		}
		modifier = { # Province value
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = scope:target.development_level
					scope:target = {
						every_county_province = { add = num_buildings }
					}
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = { ep3_purchase_land_valid_county_trigger = yes }
							add = development_level
							every_county_province = { add = num_buildings }
						}
					}
				}
				multiply = -2
			}
			#add = 1
			desc = PURCHASE_LAND_VALUE_REASON
		}
		modifier = { # Land is foreign
			add = 10
			desc = PURCHASE_LAND_FOREIGN_COUNTY_CULTURE_REASON
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = 10
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_purchase_land_valid_county_trigger = yes
								culture != scope:recipient.culture
							}
							add = 10
						}
					}
				}
				max = 30
			}
			desc = PURCHASE_LAND_FOREIGN_CULTURE_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.culture != scope:recipient.culture
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_purchase_land_valid_county_trigger = yes
						culture != scope:recipient.culture
					}
				}
			}
		}
		modifier = { # Different faith
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = 10
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_purchase_land_valid_county_trigger = yes
								faith != scope:recipient.faith
							}
							add = 10
						}
					}
				}
				max = 30
			}
			desc = PURCHASE_LAND_DIFFERENT_FAITH_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.faith != scope:recipient.faith
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_purchase_land_valid_county_trigger = yes
						faith != scope:recipient.faith
					}
				}
			}
		}
		modifier = { # My culture's lands
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = -40
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_purchase_land_valid_county_trigger = yes
								culture != scope:recipient.culture
							}
							add = -40
						}
					}
				}
				if = {
					limit = { scope:acceptance != 0 }
					divide = scope:acceptance
				}
				multiply = 2
				min = -200
			}
			desc = PURCHASE_LAND_MY_CULTURE_REASON
			scope:actor.culture != scope:recipient.culture
			trigger_if = {
				limit = {
					scope:target.tier = tier_county
				}
				scope:target.culture = scope:recipient.culture
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_purchase_land_valid_county_trigger = yes
						culture = scope:recipient.culture
					}
				}
			}
			scope:recipient.culture = {
				save_temporary_scope_value_as = {
					name = acceptance
					value = {
						value = "cultural_acceptance(scope:actor.culture)"
						divide = 25
						ceiling = yes
					}
				}
			}
		}
		modifier = { # My faith's lands
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = -40
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_purchase_land_valid_county_trigger = yes
								faith != scope:recipient.faith
							}
							add = -40
						}
					}
				}
				if = {
					limit = { scope:hostility != 0 }
					multiply = scope:hostility
				}
				multiply = 2
				min = -200
			}
			desc = PURCHASE_LAND_MY_FAITH_REASON
			scope:actor.faith != scope:recipient.faith	
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.faith = scope:recipient.faith
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_purchase_land_valid_county_trigger = yes
						faith = scope:recipient.faith
					}
				}
			}
			scope:recipient.faith = {
				save_temporary_scope_value_as = {
					name = hostility
					value = "faith_hostility_level(scope:actor.faith)"
				}
			}
		}
		modifier = { # Too close
			add = {
				value = 0
				add = scope:distance
				divide = scope:recipient.highest_held_title_tier
				if = {
					limit = { scope:distance <= squared_distance_medium }
					multiply = -0.01
				}
				else = { multiply = 0.0005 }
				min = -25
				max = 50
			}
			desc = PURCHASE_LAND_DISTANCE_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target = { save_temporary_scope_as = distance_target }
			}
			trigger_else = {
				scope:target.title_capital_county = { save_temporary_scope_as = distance_target }
			}
			scope:recipient.capital_county = {
				save_temporary_scope_value_as = {
					name = distance
					value = "squared_distance(scope:distance_target)"
				}
			}
		}
		opinion_modifier = { # Opinion Factor of title holder
			trigger = {
				NOT = {
					scope:target.holder ?= scope:recipient
				}
			}
			who = scope:recipient
			opinion_target = scope:target.holder
			multiplier = -1
			desc = AI_OPINION_REASON
		}
		modifier = {
			add = {
				value = scope:actor.prestige_level
				multiply = 20
			}
			scope:actor.prestige_level >= 4
			desc = PURCHASE_LAND_PRESTIGE_LEVEL_REASON
		}
		modifier = {
			add = 40
			trigger = {
				scope:actor.culture != scope:recipient.culture
				OR = {
					AND = {
						scope:target.tier = tier_county
						scope:target.culture = scope:recipient.culture
					}		
					scope:target = {
						any_de_jure_county = {
							ep3_purchase_land_valid_county_trigger = yes
							culture = scope:recipient.culture
						}
					}
				}
			}
			scope:actor.primary_spouse ?= {
				culture = scope:recipient.culture
				dynasty ?= {
					dynasty_prestige_level >= 2
				}
			}
			desc = PURCHASE_LAND_MARRIED_TO_CULTURE_NOBLE_REASON
		}
		modifier = {
			add = 40
			trigger = {
				scope:actor.faith != scope:recipient.faith
			}
			scope:actor.primary_spouse ?= {
				faith = scope:recipient.faith
				dynasty ?= {
					dynasty_prestige_level >= 2
				}
			}
			desc = PURCHASE_LAND_MARRIED_TO_FAITH_NOBLE_REASON
		}
		modifier = {
			add = 80
			scope:actor.primary_spouse ?= {
				house ?= scope:recipient.house
			}
			desc = PURCHASE_LAND_MARRIED_TO_HOUSE_REASON
		}
		modifier = {
			add = 20
			trigger = {
				OR = {
					AND = {
						scope:target.tier = tier_county
						scope:target.culture = scope:recipient.culture
					}		
					scope:target = {
						any_de_jure_county = {
							ep3_purchase_land_valid_county_trigger = yes
							culture = scope:recipient.culture
						}
					}
				}
			}
			scope:actor = {
				knows_language_of_culture = scope:recipient.culture
				culture != scope:recipient.culture
			}
			desc = PURCHASE_LAND_SPEAKS_LANGUAGE_REASON
		}
		modifier = {
			add = -40
			scope:actor = {
				NOT = {
					knows_language_of_culture = scope:recipient.culture
					culture = scope:recipient.culture
				}
			}
			desc = PURCHASE_LAND_DOES_NOT_SPEAK_LANGUAGE_REASON
		}
		modifier = {
			add = {
				value = 40
				multiply = scope:recipient.debt_level
			}
			trigger = {
				scope:recipient = {
					OR = {
						debt_level > 0
						treasury_debt_level > 0
					}
				}
			}
			desc = PURCHASE_LAND_IS_IN_DEBT_REASON
		}
		modifier = {
			add = 60
			scope:actor = {
				has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient }
			}
			desc = PURCHASE_LAND_RELATIONSHIP_REASON
		}
		modifier = {
			add = 80
			scope:offer_gold = yes
			desc = PURCHASE_LAND_DOUBLE_GOLD_REASON
		}
		modifier = {
			add = 160
			scope:hook = yes
			desc = YOU_HAVE_HOOK_REASON
		}
		modifier = {
			add = 60
			scope:offer_hook = yes
			desc = PURCHASE_LAND_OFFER_HOOK_REASON
		}
		modifier = {
			add = 80
			scope:vassal_obligation = yes
			desc = PURCHASE_LAND_OBLIGATIONS_REASON
		}	
	}

	ai_will_do = {
		base = -25
		ai_value_modifier = {
			ai_boldness = -0.5
			ai_energy = -0.5
			ai_greed = 0.5
		}
		modifier = {
			gold < 1000
			factor = 0
		}
		modifier = {
			gold > 2000
			add = 50
		}
	}
}

##################
# Request Invasion Sponsorship
# by Joe Parkin
##################

request_laamp_invasion_sponsorship_interaction = {
	common_interaction = no
	category = interaction_category_laamp
	interface_priority = 20
	cooldown_against_recipient = { years = 5 }

	greeting = positive
	notification_text = REQUEST_LAAMP_INVASION_SPONSORSHIP_PROPOSAL

	answer_accept_key = REQUEST_LAAMP_INVASION_SPONSORSHIP_ACCEPT
	answer_reject_key = REQUEST_LAAMP_INVASION_SPONSORSHIP_REJECT

	icon = request_invasion_sponsorship_interaction
	desc = request_laamp_invasion_sponsorship_interaction_desc

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
		scope:recipient = { is_landed = yes }
		scope:recipient != scope:actor
		NOT = { scope:actor = { has_realm_law = camp_purpose_legitimists } }
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			top_liege = this
			custom_tooltip = {
				text = request_laamp_invasion_sponsorship_existing_supporter_tt
				NOT = { exists = var:adventurer_invasion_supporter }
			}
		}
		scope:recipient = {
			top_liege = this
			highest_held_title_tier >= tier_kingdom
			custom_tooltip = {
				text = request_laamp_invasion_sponsorship_existing_supportee_tt
				NOT = { exists = var:adventurer_invasion_supportee }
			}
		}
		#Has to be used instead of diplo range checks in laamp to landed interactions
		ep3_laamp_diplo_range_trigger = {
			TARGET = scope:recipient
			LAAMP = scope:actor
		}
		#You need to be at least Illustrious
		scope:actor = {
			prestige_level >= 3
		}
	}

	populate_recipient_list = {
		every_independent_ruler = {
			limit = {
				highest_held_title_tier >= tier_kingdom
				is_landed = yes
				in_diplomatic_range = scope:actor
				in_diplomatic_range = scope:recipient
				NOR = {
					is_at_war_with = scope:actor
					is_at_war_with = scope:recipient
					is_allied_to = scope:actor
					is_allied_to = scope:recipient
					has_truce = scope:actor
					has_truce = scope:recipient
					this = scope:actor
					this = scope:recipient
				}
			}
			add_to_list = characters
		}
	}
	
	send_options_exclusive = no

	send_option = {
		flag = request_soldiers
		localization = request_laamp_invasion_sponsorship_option_request_soldiers
		current_description = request_laamp_invasion_sponsorship_option_request_soldiers_desc
		starts_enabled = { always = yes }
	}

	send_option = {
		flag = join_war
		localization = request_laamp_invasion_sponsorship_option_join_war
		current_description = request_laamp_invasion_sponsorship_option_join_war_desc
		is_valid = {
			scope:secondary_recipient ?= {
				NOR = {
					is_at_war_with = scope:recipient
					is_allied_to = scope:recipient
					has_truce = scope:recipient
				}
			}
		}
	}

	send_option = {
		flag = offer_gold
		localization = request_laamp_invasion_sponsorship_option_offer_gold
		current_description = request_laamp_invasion_sponsorship_option_offer_gold_desc
		is_shown = { exists = scope:recipient }
		is_valid = { scope:actor.gold >= scope:recipient.request_laamp_invasion_sponsorship_gold_cost }
	}

	send_option = {
		flag = hook
		is_valid = {
			scope:actor = {
				has_usable_hook = scope:recipient
			}
		}
		localization = GENERIC_SPEND_A_HOOK
	}

	cost = {
		prestige = {
			value = massive_prestige_value
			if = {
				limit = { scope:join_war = yes }
				add = major_prestige_value
			}
		}
		gold = {
			if = {
				limit = { scope:offer_gold = yes }
				value = scope:recipient.request_laamp_invasion_sponsorship_gold_cost
			}
		}
	}

	can_send = {
		custom_tooltip = {
			text = request_laamp_invasion_sponsorship_minimum_request_tt
			OR = {
				scope:join_war = yes
				scope:request_soldiers = yes
			}
		}	
	}

	on_accept = {
		scope:actor = { save_scope_as = adventurer }
		scope:recipient ?= {
			if = {
				limit = {
					scope:request_soldiers = yes
					scope:join_war = yes
				}
				custom_tooltip = adventurer_invasion_supporter_tt
			}
			else_if = {
				limit = { scope:request_soldiers = yes }
				custom_tooltip = adventurer_invasion_supporter_soldiers_tt
			}
			else_if = {
				limit = { scope:join_war = yes }
				custom_tooltip = adventurer_invasion_supporter_join_tt
			}
			else = { custom_tooltip = request_laamp_invasion_sponsorship_minimum_request_tt }
			hidden_effect = {
				set_variable = {
					name = adventurer_invasion_supportee
					value = scope:actor
					years = 5
				}
				set_variable = {
					name = adventurer_invasion_target
					value = scope:secondary_recipient
					years = 5
				}
				if = {
					limit = { scope:join_war = yes }
					set_variable = {
						name = adventurer_invasion_join_war
						value = scope:actor
						years = 5
					}
				}
				if = {
					limit = { scope:request_soldiers = yes }
					set_variable = {
						name = adventurer_invasion_request_soldiers
						value = scope:actor
						years = 5
					}
				}
			}
		}
		scope:actor = {
			if = {
				limit = { scope:offer_gold = yes }
				show_as_tooltip = {
					pay_short_term_gold = {
						gold = scope:recipient.request_laamp_invasion_sponsorship_gold_cost
						target = scope:recipient
					}
				}
			}
			if = {
				limit = { scope:hook = yes }
				use_hook = scope:recipient
			}

			custom_tooltip = {
				text = adventurer_invasion_supporter_victory_tt
				set_variable = {
					name = adventurer_invasion_supporter
					value = scope:recipient
					years = 5
				}
				set_variable = {
					name = adventurer_invasion_target
					value = scope:secondary_recipient
					years = 5
				}
			}
			trigger_event = ep3_laamps.0200
		}
	}

	on_decline = {
		scope:actor = { trigger_event = ep3_laamps.0201 }
	}

	use_diplomatic_range = yes

	ai_accept = {
		base = -25

		# Relationships: actor -> recipient / We avoid more relationship checks for balance reasons (and because important decisions tend to care little for relationships)
		modifier = { # Rivalry modifier.
			desc = offer_vassalization_interaction_aibehavior_rival_tt
			scope:recipient = {
				has_relation_rival = scope:actor
				NOT = { has_relation_nemesis = scope:actor }
			}
			add = -10
		}
		modifier = { # Nemesis modifier.
			desc = offer_vassalization_interaction_aibehavior_nemesis_tt
			scope:recipient = { has_relation_nemesis = scope:actor }
			add = -100
		}
		modifier = { # Same Dynasty modifier.
			desc = offer_vassalization_interaction_aibehavior_dynasty_tt
			scope:recipient.dynasty = scope:actor.dynasty
			add = 10
		}

		# Compare Opinion modifier
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
		}
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:secondary_recipient
			multiplier = -0.5
		}

		# Relative power (taken from PT interaction)
		modifier = { # A lot less levies than scope:secondary_recipient
			add = -50
			scope:recipient.max_military_strength <= scope:secondary_recipient.purchase_truce_interaction_recipient_far_weaker_value
			scope:join_war = yes
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_MUCH_WEAKER_REASON
		}
		modifier = { # Few less levies than scope:secondary_recipient
			add = -25
			scope:recipient.max_military_strength > scope:secondary_recipient.purchase_truce_interaction_recipient_far_weaker_value
			scope:recipient.max_military_strength <= scope:secondary_recipient.purchase_truce_interaction_recipient_somewhat_weaker_value
			scope:join_war = yes
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_SOMEWHAT_WEAKER_REASON
		}
		modifier = { # Roughly equal levies with scope:secondary_recipient
			add = -10
			scope:recipient.max_military_strength > scope:secondary_recipient.purchase_truce_interaction_recipient_somewhat_weaker_value
			scope:recipient.max_military_strength <= scope:secondary_recipient.purchase_truce_interaction_recipient_somewhat_stronger_value
			scope:join_war = yes
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_ROUGHLY_EQUAL_REASON
		}

		# AI who are in debt will take whatever windfalls they can.
		modifier = {
			add = {
				value = scope:recipient.debt_level
				add = 1 # Our first level is 0, so we add one to always get a positive number.
				multiply = 10
			}
			scope:offer_gold = yes
			scope:recipient.debt_level > 0
			desc = PT_AI_IS_IN_DEBT
		}

		# Pacifist AI don't like raiding
		modifier = {
			add = -25
			scope:recipient.faith = { has_doctrine_parameter = pacifist_opinion_active }
			desc = PT_AI_IS_PACIFIST_FAITH
		}
		modifier = {
			add = -25
			scope:recipient.culture = { has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith }
			desc = PT_AI_IS_PACIFIST_CULTURE
		}

		# Small realm
		modifier = {
			add = -50
			scope:recipient.realm_size < minor_realm_size
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_SMALL_REALM_REASON
		}
		# Own war
		modifier = {
			add = -50
			scope:recipient = { is_at_war = yes }
			scope:join_war = yes
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_OWN_WAR_REASON
		}

		modifier = { # Distance
			add = {
				value = 0
				add = scope:distance
				if = {
					limit = { scope:distance >= squared_distance_medium }
					add = scope:distance
					multiply = -0.00001
				}
				min = -100
			}
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_DISTANCE_REASON
			scope:recipient = {
				NOT = {
					any_neighboring_top_liege_realm_owner = { this = scope:secondary_recipient }
				}
			}
			scope:recipient.capital_county = {
				save_temporary_scope_value_as = {
					name = distance
					value = "squared_distance(scope:secondary_recipient.capital_county)"
				}
			}
		}

		modifier = {
			add = -30
			scope:recipient.faith = scope:secondary_recipient.faith
			desc = I_AM_ATTACKING_A_CORELIGIONIST
		}
		modifier = {
			add = -10
			scope:actor.faith != scope:recipient.faith
			desc = DIFFERENT_FAITH
		}
		modifier = {
			add = -200
			scope:recipient.primary_heir ?= scope:secondary_recipient
			desc = WONT_FIGHT_HEIR_REASON
		}
		modifier = {
			add = -200
			scope:recipient = { is_consort_of = scope:secondary_recipient }
			desc = WONT_FIGHT_SPOUSE_REASON
		}
		modifier = {
			add = -100
			scope:recipient = {
				has_relation_friend = scope:secondary_recipient
				NOT = { has_relation_best_friend = scope:secondary_recipient }
			}
			desc = WONT_FIGHT_FRIEND_REASON
		}
		modifier = {
			add = -200
			scope:recipient = { has_relation_best_friend = scope:secondary_recipient }
			desc = WONT_FIGHT_BEST_FRIEND_REASON
		}
		modifier = {
			add = -100
			scope:recipient = {
				has_relation_lover = scope:secondary_recipient
				NOT = { has_relation_soulmate = scope:secondary_recipient }
			}
			desc = WONT_FIGHT_LOVER_REASON
		}
		modifier = {
			add = -200
			scope:recipient = { has_relation_soulmate = scope:secondary_recipient }
			desc = WONT_FIGHT_SOULMATE_REASON
		}
		modifier = {
			add = -200
			scope:recipient = { is_allied_to = scope:secondary_recipient }
			desc = WAR_WITH_ALLY_REASON
		}

		modifier = {
			add = 50
			scope:hook = yes
			desc = YOU_HAVE_HOOK_REASON
		}

		# Offered proportional gold
		modifier = {
			add = -25
			scope:request_soldiers = yes
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_REQUEST_SOLDIERS_REASON
		}
		modifier = {
			add = -50
			scope:join_war = yes
			desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_JOIN_WAR_REASON
		}
		modifier = {
			add = 35
			scope:offer_gold = yes
			desc = GOLD_REASON
		}

		# AI value mod
		ai_value_modifier = {
			ai_greed = 0.5
			ai_boldness = 0.25
			min = 0
			max = 25
		}
	}
	can_send_despite_rejection = no
}

##################
# Negotiate Settlement
# by Joe Parkin
##################

negotiate_settlement_interaction = {
	common_interaction = yes
	category = interaction_category_diplomacy
	icon = negotiate_settlement_interaction

	desc = negotiate_settlement_interaction_desc
	target_type = title
	target_filter = actor_domain_titles

	cooldown_against_recipient = { years = 5 }

	notification_text = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:actor = { top_liege != this }
					scope:target = {
						trigger_if = {
							limit = { tier = tier_duchy }
							scope:actor.highest_held_title_tier = tier_duchy
						}
						trigger_else = { scope:actor.highest_held_title_tier = tier_county }
					}
				}
				desc = NEGOTIATE_SETTLEMENT_PROPOSAL_FELLOW_VASSAL
			}
			triggered_desc = {
				trigger = {
					scope:target = {
						trigger_if = {
							limit = { tier = tier_duchy }
							scope:actor.highest_held_title_tier >= tier_kingdom
						}
						trigger_else = { scope:actor.highest_held_title_tier >= tier_duchy }
					}
				}
				desc = NEGOTIATE_SETTLEMENT_PROPOSAL_LIEGE
			}
			desc = NEGOTIATE_SETTLEMENT_PROPOSAL
		}
	}

	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 60
	ai_min_reply_days = 4
	ai_max_reply_days = 9

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = { is_landed = yes }
		scope:recipient = {
			OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority }
		}
		scope:recipient != scope:actor
	}

	can_be_picked_title = {
		custom_tooltip = {
			text = purchase_land_tier_tt
			scope:target = {
				tier >= tier_county
				tier <= tier_duchy
			}
		}
		custom_tooltip = {
			text = purchase_land_capital_tt
			NOR = {
				scope:target = scope:actor.capital_county
				scope:target = scope:actor.capital_county.duchy
			}
		}
		custom_tooltip = {
			text = purchase_land_primary_tt
			scope:target != scope:actor.primary_title
		}
		custom_tooltip = {
			text = negotiate_settlement_title_cant_receive_reason_higher_tier_without_county
			scope:target = {
				tier = tier_duchy
				any_de_jure_county = {
					ep3_negotiate_settlement_valid_county_trigger = yes
				}	
			}
		}
		trigger_if = {
			limit = {
				scope:actor = { is_ai = yes }
				scope:recipient = { is_ai = yes }
				scope:target.tier < tier_duchy
			}
			scope:recipient = {
				OR = {
					current_military_strength < 1000 # You can do better
					global_variable_list_size = {
						name = laamps_tally
						value >= too_many_laamps_value
					}
				}
				OR = {
					AND = {
						has_character_modifier = ep3_lust_for_land_modifier
						ai_greed >= 25
						ai_boldness >= 25
						ai_rationality <= -25
					}
					AND = {
						has_trait = greedy
						ai_rationality <= -50
					}
					global_variable_list_size = {
						name = laamps_tally
						value >= too_many_laamps_value
					}
				}
			}
		}
	}

	has_valid_target_showing_failures_only = {
		trigger_if = { # Can't purchase HoF titles
			limit = {
				scope:target ?= { is_head_of_faith = yes }
			}
			custom_description = {
				text = negotiate_settlement_religious_tt
				always = no
			}
		}
		trigger_if = { # Can't purchase nf titles
			limit = {
				scope:target ?= { is_noble_family_title = yes }
			}
			custom_description = {
				text = negotiate_settlement_noble_family_tt
				always = no
			}
		}
		trigger_if = { # Can't purchase laamp titles
			limit = {
				scope:target ?= { has_variable = adventurer_creation_reason }
			}
			custom_description = {
				text = negotiate_settlement_landless_adventurer_tt
				always = no
			}
		}
		trigger_if = {
			limit = {
				scope:actor = { government_has_flag = government_is_administrative }
			}
			scope:target.tier = tier_duchy
		}
		trigger_else = {
			scope:target = {
				tier >= tier_county
				tier <= tier_duchy
			}
		}
	}

	is_valid_showing_failures_only = {
		scope:recipient = {
			custom_tooltip = {
				text = negotiate_settlement_target_tt
				OR = {
					any_character_war = {
						is_attacker = scope:recipient
						primary_defender = scope:actor
						save_temporary_scope_as = war_temp
					}
					AND = {
						exists = scope:recipient.capital_province
						scope:recipient.capital_province.county.holder.top_liege = scope:actor.top_liege
					}
				}
			}
		}
		# Can only settle if not at risk of losing land, outside of war of adventurer
		custom_tooltip = {
			text = negotiate_settlement_defensive_wars_tt
			scope:actor = {
				NOT = {
					any_character_war = {
						any_war_defender = { this = scope:actor }
						NOT = {
							any_war_attacker = { this = scope:recipient }
						}
					}
				}
			}
		}
		NOT = {
			scope:actor = { has_relation_nemesis = scope:recipient }
		}
		trigger_if = { # Can't purchase Baronies
			limit = {
				scope:target ?= { tier = tier_barony }
			}
			custom_description = {
				text = negotiate_settlement_barony_tt
				always = no
			}
		}
		trigger_if = { # Can't purchase Kingdoms or Empires
			limit = {
				scope:target ?= { tier >= tier_kingdom }
			}
			custom_description = {
				text = negotiate_settlement_kingdom_tt
				always = no
			}
		}
		trigger_if = {
			limit = {
				scope:actor = {
					any_held_county = { count < 2 }
				}
			}
			custom_description = {
				text = negotiate_settlement_minimum_county_tt
				always = no
			}
		}
		scope:recipient = {
			NOT = { has_strong_hook = scope:actor }
		}
		# Adventurers can't be negotiated back into places they're exiled from.
		trigger_if = {
			limit = {
				scope:actor = { top_liege != this }
			}
			custom_tooltip = {
				text = the_wake_1
				NOT = {
					is_laamp_exiled_from_province_trigger = {
						PROVINCE = scope:actor.capital_province
						LAAMP = scope:recipient
					}
				}
			}
		}
		# Story blockers.
		## Hereward cannot be exiled by active participants in the Harrying of the North.
		disable_interaction_for_hereward_trigger = yes
		## Hasan cannot be exiled by anyone during his story.
		disable_interaction_for_hasan_trigger = yes
	}

	on_send = {
		debug_log = "NEGOTIATE_SETTLEMENT"
		debug_log_scopes = yes
	}

	on_accept = {
		scope:actor = { save_scope_as = adventurer }
		scope:target = {
			add_to_list = offered_titles
			if = {
				limit = { tier = tier_duchy }
				every_de_jure_county = {
					limit = { ep3_negotiate_settlement_valid_county_trigger = yes }
					add_to_list = offered_titles
				}
			}
		}
		ordered_in_list = {
			list = offered_titles
			save_scope_as = new_primary_title
		}
		save_scope_value_as = {
			name = negotiate_settlement_legitimacy_cost
			value = {
				value = 0
				every_in_list = {
					list = offered_titles
					if = {
						limit = { tier = tier_county }
						add = -25
					}
					else = { add = -50 }
				}
				multiply = scope:actor.highest_held_title_tier
			}
		}
		show_as_tooltip = { negotiate_settlement_interaction_effect = yes }
		scope:actor = { trigger_event = ep3_laamps.0300 }
	}

	on_decline = {
		scope:actor = {
			trigger_event = ep3_laamps.0302
		}
	}

	ai_targets = {
		ai_recipients = scripted_relations
		ai_recipients = spouses
		max = 5
	}
	ai_targets = {
		ai_recipients = top_realm_domicile_owners
		ai_recipients = nearby_domicile_owners
		max = 5
	}
	ai_targets = {
		ai_recipients = war_enemies
		max = 10
	}

	# Must be fairly common as it can happen during war
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 3
		kingdom = 3
		empire = 3
		hegemony = 3
	}

	ai_potential = {
		OR = {
			top_liege = this
			highest_held_title_tier >= tier_kingdom
		}
		OR = {
			is_at_war = yes
			has_trait = craven
			has_trait = generous
		}
		NOT = {
			government_has_flag = government_is_nomadic
		}
	}

	ai_accept = {
		base = 0 # Try to make it 0 for most interactions

		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}
		ai_value_modifier = {
			ai_boldness = -0.25
			ai_energy = -0.25
			ai_greed = 0.25
		}
		modifier = { # Claims
			add = {
				value = 0
				if = {
					limit = {
						scope:recipient = { has_claim_on = scope:target }
					}
					add = 25
				}
				if = {
					limit = { scope:target.tier = tier_duchy }
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_negotiate_settlement_valid_county_trigger = yes
								save_temporary_scope_as = claim_temp
								scope:recipient = { has_claim_on = scope:claim_temp }
							}
							add = 25
						}
					}
				}
			}
			desc = NEGOTIATE_SETTLEMENT_CLAIM_REASON
			OR = {
				scope:recipient = { has_claim_on = scope:target }
				trigger_if = {
					limit = { scope:target.tier = tier_duchy }
					scope:target = {
						any_de_jure_county = {
							ep3_negotiate_settlement_valid_county_trigger = yes
							save_temporary_scope_as = county_temp
							scope:recipient = { has_claim_on = scope:county_temp }
						}
					}
				}
				trigger_else = { always = no }
			}
		}
		modifier = {
			add = -300
			scope:recipient = { has_realm_law = camp_purpose_legitimists }
			desc = NEGOTIATE_SETTLEMENT_LEGITIMIST_REASON
		}
		modifier = { # Tier lower than war claim
			add = {
				value = 0
				scope:recipient = {
					every_character_war = {
						limit = {
							primary_attacker = scope:recipient
							primary_defender = scope:actor
							casus_belli = {
								any_target_title = { tier > scope:target.tier }
							}
						}
						casus_belli = {
							every_target_title = {
								limit = { tier > scope:target.tier }
								add = -25
							}
						}
					}
				}
			}
			desc = NEGOTIATE_SETTLEMENT_LOWER_THAN_WAR_TARGET_REASON
			scope:recipient = {
				any_character_war = {
					primary_attacker = scope:recipient
					primary_defender = scope:actor
					casus_belli = {
						any_target_title = { tier > scope:target.tier }
					}
				}
			}
		}
		modifier = { # War Targets
			add = {
				value = 0
				scope:recipient = {
					every_character_war = {
						limit = {
							primary_attacker = scope:recipient
							casus_belli = {
								any_target_title = {
									OR = {
										this = scope:target
										de_jure_liege = scope:target
									}
								}
							}
						}
						casus_belli = {
							every_target_title = {
								limit = {
									OR = {
										this = scope:target
										de_jure_liege = scope:target
									}
								}
								add = 25
							}
						}
					}
				}
			}
			desc = NEGOTIATE_SETTLEMENT_WAR_TARGET_REASON
			scope:recipient = {
				any_character_war = {
					primary_attacker = scope:recipient
					casus_belli = {
						any_target_title = {
							OR = {
								this = scope:target
								de_jure_liege = scope:target
							}
						}
					}
				}
			}
		}
		modifier = { # Num of counties/duchy
			add = {
				value = 0
				scope:target = {
					if = {
						limit = { tier = tier_county }
						add = 25
					}
					else = {
						add = 50
						every_de_jure_county = {
							limit = { ep3_negotiate_settlement_valid_county_trigger = yes }
							add = 25
						}
					}
				}
			}
			desc = NEGOTIATE_SETTLEMENT_NUM_TITLES_REASON
		}
		modifier = { # Province value
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = scope:target.development_level
					scope:target = {
						every_county_province = { add = num_buildings }
					}
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = { ep3_negotiate_settlement_valid_county_trigger = yes }
							add = development_level
							every_county_province = { add = num_buildings }
						}
					}
				}
			}
			#add = 1
			desc = NEGOTIATE_SETTLEMENT_VALUE_REASON
		}
		modifier = { # Land is foreign
			add = -10
			desc = NEGOTIATE_SETTLEMENT_FOREIGN_COUNTY_CULTURE_REASON
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = -10
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_negotiate_settlement_valid_county_trigger = yes
								culture != scope:recipient.culture
							}
							add = -10
						}
					}
				}
				min = -30
			}
			desc = NEGOTIATE_SETTLEMENT_FOREIGN_CULTURE_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.culture != scope:recipient.culture
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_negotiate_settlement_valid_county_trigger = yes
						culture != scope:recipient.culture
					}
				}
			}
		}
		modifier = { # Different faith
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = -10
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_negotiate_settlement_valid_county_trigger = yes
								faith != scope:recipient.faith
							}
							add = -10
						}
					}
				}
				min = -30
			}
			desc = NEGOTIATE_SETTLEMENT_DIFFERENT_FAITH_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.faith != scope:recipient.faith
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_negotiate_settlement_valid_county_trigger = yes
						faith != scope:recipient.faith
					}
				}
			}
		}
		modifier = { # Losing/winning as attacker
			add = {
				value = 0
				scope:recipient = {
					ordered_character_war = {
						limit = {
							OR = {
								primary_attacker = scope:actor
								primary_defender = scope:actor
							}
							OR = {
								primary_attacker = scope:recipient
								primary_defender = scope:recipient
							}
						}
						order_by = war_days
						if = {
							limit = {
								primary_attacker = scope:actor
								primary_defender = scope:recipient
							}
							add = defender_war_score
						}
						else = { add = attacker_war_score }
					}
				}
				divide = 4
			}
			desc = NEGOTIATE_SETTLEMENT_LOSING_WAR_REASON
			scope:recipient = {
				any_character_war = {
					OR = {
						primary_attacker = scope:actor
						primary_defender = scope:actor
					}
					OR = {
						primary_attacker = scope:recipient
						primary_defender = scope:recipient
					}
					trigger_if = {
						limit = {
							primary_attacker = scope:actor
							primary_defender = scope:recipient
						}
						defender_war_score >= 25
					}
					trigger_else = { attacker_war_score >= 25 }
				}
			}
		}
		modifier = { # Losing/winning as defender
			add = {
				value = 0
				scope:recipient = {
					ordered_character_war = {
						limit = {
							OR = {
								primary_attacker = scope:actor
								primary_defender = scope:actor
							}
							OR = {
								primary_attacker = scope:recipient
								primary_defender = scope:recipient
							}
						}
						order_by = war_days
						if = {
							limit = {
								primary_attacker = scope:actor
								primary_defender = scope:recipient
							}
							add = attacker_war_score
						}
						else = { add = defender_war_score }
					}
				}
				divide = 4
			}
			desc = NEGOTIATE_SETTLEMENT_LOSING_WAR_REASON
			scope:recipient = {
				any_character_war = {
					OR = {
						primary_attacker = scope:actor
						primary_defender = scope:actor
					}
					OR = {
						primary_attacker = scope:recipient
						primary_defender = scope:recipient
					}
					trigger_if = {
						limit = {
							primary_attacker = scope:actor
							primary_defender = scope:recipient
						}
						attacker_war_score >= 25
					}
					trigger_else = { defender_war_score >= 25 }
				}
			}
		}
		modifier = { # Number of troops at peace,
			add = {
				add = current_military_strength
				multiply = -0.02
			}
			desc = laamp_has_soldiers_negotiate_settlement_tt
		}
		modifier = {
			add = -50000
			scope:actor = { is_ai = yes }
			NOT = {
				scope:target.tier >= tier_duchy
			}
			scope:recipient = {
				NOR = {
					current_military_strength < 1000 # You can do better
					global_variable_list_size = {
						name = laamps_tally
						value >= too_many_laamps_value
					}
				}
				NOR = {
					AND = {
						has_character_modifier = ep3_lust_for_land_modifier
						ai_greed >= 25
						ai_boldness >= 25
						ai_rationality <= -25
					}
					AND = {
						has_trait = greedy
						ai_rationality <= -50
					}
					global_variable_list_size = {
						name = laamps_tally
						value >= too_many_laamps_value
					}
				}
			}
		}
	}

	ai_will_do = {
		base = -25
		modifier = {
			add = 25
			scope:actor.domain_size > scope:actor.domain_limit
		}
		opinion_modifier = {
			who = scope:actor
			opinion_target = scope:recipient
			multiplier = 0.25
		}
		ai_value_modifier = {
			ai_boldness = -0.25
			ai_energy = -0.25
			ai_greed = -0.25
		}
		modifier = { # Tier lower than war claim
			add = {
				value = 0
				scope:recipient = {
					every_character_war = {
						limit = {
							primary_attacker = scope:recipient
							primary_defender = scope:actor
							casus_belli = {
								any_target_title = { tier > scope:target.tier }
							}
							attacker_war_score >= 50
						}
						add = 150
					}
				}
			}
			desc = NEGOTIATE_SETTLEMENT_SAVE_TITLE_REASON
			scope:recipient = {
				any_character_war = {
					primary_attacker = scope:recipient
					primary_defender = scope:actor
					casus_belli = {
						any_target_title = { tier > scope:target.tier }
					}
					attacker_war_score >= 50
				}
			}
		}
		modifier = {
			scope:recipient = {
				has_government = landless_adventurer_government
				has_realm_law = camp_purpose_legitimists
				any_claim = {
					OR = {
						holder ?= {
							OR = {
								this = scope:actor
								target_is_liege_or_above = scope:actor
							}
						}
						target_is_de_jure_liege_or_above = scope:actor.primary_title
					}
				}
			}
			desc = NEGOTIATE_SETTLEMENT_DE_JURE_LEGITIMIST_REASON
			add = -150
		}
		modifier = { # Defending against a LAAMP
			any_character_war = {
				primary_defender = scope:actor
				any_war_attacker = {
					scope:recipient ?= this
					has_government = landless_adventurer_government
					NOT = { has_realm_law = camp_purpose_legitimists }
					# Attacking laamp's troops at least 10% of defender's total troops
					current_military_strength > war_defender_total_strength_tenth_value
				}
				OR = {
					attacker_war_score >= 25
					# Attackers outnumber defenders at least 2:1
					war_attacker_total_current_strength_halved_value >= war_defender_total_current_strength_value
				}
			}
			desc = NEGOTIATE_SETTLEMENT_DEFENDING_REASON
			add = {
				value = 0
				every_character_war = {
					limit = {
						primary_defender = scope:actor
						any_war_attacker = {
							scope:recipient ?= this
							has_government = landless_adventurer_government
							NOT = { has_realm_law = camp_purpose_legitimists }
							# Attacking laamp's troops at least 10% of defender's total troops
							current_military_strength > war_defender_total_strength_tenth_value
						}
					}
					add = {
						value = 25
						add = {
							value = attacker_war_score
							subtract = 25
							min = 0
						}
						if = {
							limit = {
								exists = primary_attacker
								scope:recipient ?= primary_attacker
							}
							multiply = 2
						}
						# Difference in strength of attackers and defenders
						multiply = war_attacker_total_current_strength_divided_by_defender_value
					}
				}
			}
		}
		modifier = { # Attacking a LAAMP
			any_character_war = {
				primary_attacker = scope:actor
				any_war_defender = {
					scope:recipient ?= this
					has_government = landless_adventurer_government
					# Defending laamp's troops at least 10% of attacker's total troops
					current_military_strength > war_attacker_total_strength_tenth_value
				}
				OR = {
					defender_war_score >= 25
					# Defenders outnumber attackers at least 2:1
					war_defender_total_current_strength_halved_value >= war_attacker_total_current_strength_value
				}
			}
			desc = NEGOTIATE_SETTLEMENT_ATTACKING_REASON
			add = {
				value = 0
				every_character_war = {
					limit = {
						primary_attacker = scope:actor
						any_war_defender = {
							scope:recipient ?= this
							has_government = landless_adventurer_government
							# Defending laamp's troops at least 10% of attacker's total troops
							current_military_strength > war_attacker_total_strength_tenth_value
						}
					}
					add = {
						value = 25
						add = {
							value = defender_war_score
							subtract = 25
							min = 0
						}
						# Difference in strength of defenders and attackers
						multiply = war_defender_total_current_strength_divided_by_attacker_value
					}
				}
			}
		}
		modifier = { # Potential war target of a LAAMP
			scope:recipient ?= {
				ep3_adventurer_might_attack_target_trigger = { TARGET = scope:actor }
				trigger_if = {
					limit = {
						NOT = { is_at_war_with = scope:actor }
					}
					ep3_laamp_diplo_range_trigger = {
						TARGET = scope:actor
						LAAMP = scope:recipient
					}
				}
			}
			desc = NEGOTIATE_SETTLEMENT_POTENTIAL_WAR_TARGET_REASON
			add = {
				value = 25
				multiply = recipient_strength_divided_by_actors_value
				# Scale of threat
				scope:recipient = {
					if = {
						limit = {
							can_declare_war = {
								casus_belli = ep3_laamp_adventurer_duchy_invasion
								defender = scope:actor
							}
						}
						multiply = 1.25
					}
					if = {
						limit = {
							can_declare_war = {
								casus_belli = ep3_laamp_adventurer_kingdom_invasion
								defender = scope:actor
							}
						}
						multiply = 1.5
					}
					if = {
						limit = {
							can_declare_war = {
								casus_belli = ep3_laamp_adventurer_empire_invasion
								defender = scope:actor
							}
						}
						multiply = 2
					}
				}
				scope:actor = {
					# Worried about ongoing wars
					if = {
						limit = {
							any_character_war = {
								primary_defender = scope:actor
								# Only care if attackers are really a threat
								war_attacker_total_current_strength_value > war_defender_total_current_strength_halved_value
							}
						}
						multiply = 2
					}
					# Already at war
					if = {
						limit = { is_at_war_with = scope:recipient }
						multiply = 0.5
					}
				}
			}
		}
		modifier = { # Potential faction claimant
			exists = scope:recipient
			scope:actor = {
				any_targeting_faction = {
					special_character ?= scope:recipient
					faction_power >= faction_power_threshold
				}
			}
			desc = NEGOTIATE_SETTLEMENT_CLAIMANT_REASON
			add = {
				value = 0
				every_targeting_faction = {
					limit = {
						special_character ?= scope:recipient
						faction_power >= faction_power_threshold
					}
					add = 25
				}
			}
		}
		modifier = { # Give claims to laamps
			scope:target ?= {
				any_claimant = { scope:recipient ?= this }
			}
			desc = NEGOTIATE_SETTLEMENT_CLAIM_REASON
			add = {
				value = 25
				if = {
					limit = {
						scope:target.tier = tier_county
					}
					subtract = scope:target.development_level
				}
				if = {
					limit = {
						scope:target.tier > tier_county
					}
					subtract = scope:target.title_capital_county.development_level
				}
			}
		}
		# Essentially the inverse of Purchase Land
		modifier = { # Land is foreign
			add = 10
			desc = NEGOTIATE_SETTLEMENT_FOREIGN_COUNTY_CULTURE_REASON
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = 10
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_negotiate_settlement_valid_county_trigger = yes
								culture != scope:recipient.culture
							}
							add = 10
						}
					}
				}
				max = 30
			}
			desc = NEGOTIATE_SETTLEMENT_FOREIGN_CULTURE_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.culture != scope:actor.culture
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_negotiate_settlement_valid_county_trigger = yes
						culture != scope:actor.culture
					}
				}
			}
		}
		modifier = { # Different faith
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = 10
				}
				else = {
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_negotiate_settlement_valid_county_trigger = yes
								faith != scope:actor.faith
							}
							add = 10
						}
					}
				}
				max = 30
			}
			desc = NEGOTIATE_SETTLEMENT_DIFFERENT_FAITH_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.faith != scope:actor.faith
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_negotiate_settlement_valid_county_trigger = yes
						faith != scope:actor.faith
					}
				}
			}
		}
		modifier = { # My culture's lands
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = -15
				}
				else = {
					add = -15
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_negotiate_settlement_valid_county_trigger = yes
								faith != scope:actor.faith
							}
							add = -15
						}
					}
				}
				if = {
					limit = { scope:acceptance != 0 }
					divide = scope:acceptance
				}
				min = -50
			}
			desc = NEGOTIATE_SETTLEMENT_MY_CULTURE_REASON
			scope:actor.culture != scope:recipient.culture
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.culture = scope:actor.culture
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_negotiate_settlement_valid_county_trigger = yes
						culture = scope:actor.culture
					}
				}
			}
			scope:actor.culture = {
				save_temporary_scope_value_as = {
					name = acceptance
					value = {
						value = "cultural_acceptance(scope:recipient.culture)"
						divide = 25
						ceiling = yes
					}
				}
			}
		}
		modifier = { # My faith's lands
			add = {
				value = 0
				if = {
					limit = { scope:target.tier = tier_county }
					add = -15
				}
				else = {
					add = -15
					scope:target = {
						every_de_jure_county = {
							limit = {
								ep3_negotiate_settlement_valid_county_trigger = yes
								faith != scope:actor.faith
							}
							add = -15
						}
					}
				}
				if = {
					limit = { scope:hostility != 0 }
					multiply = scope:hostility
				}
				min = -50
			}
			desc = NEGOTIATE_SETTLEMENT_MY_FAITH_REASON
			scope:actor.faith != scope:recipient.faith
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target.faith = scope:actor.faith
			}
			trigger_else = {
				scope:target = {
					any_de_jure_county = {
						ep3_negotiate_settlement_valid_county_trigger = yes
						faith = scope:actor.faith
					}
				}
			}
			scope:actor.faith = {
				save_temporary_scope_value_as = {
					name = hostility
					value = "faith_hostility_level(scope:recipient.faith)"
				}
			}
		}
		modifier = { # Too close
			add = {
				value = 0
				add = scope:distance
				divide = scope:actor.highest_held_title_tier
				if = {
					limit = { scope:distance <= squared_distance_medium }
					multiply = -0.01
				}
				else = { multiply = 0.0005 }
				min = -25
				max = 50
			}
			desc = NEGOTIATE_LAND_DISTANCE_REASON
			trigger_if = {
				limit = { scope:target.tier = tier_county }
				scope:target = { save_temporary_scope_as = distance_target }
			}
			trigger_else = {
				scope:target.title_capital_county = { save_temporary_scope_as = distance_target }
			}
			scope:actor.capital_county = {
				save_temporary_scope_value_as = {
					name = distance
					value = "squared_distance(scope:distance_target)"
				}
			}
		}
	}
}

##################
# Trade Oath
# by Joe Parkin
##################

trade_oath_interaction = {
	icon = hook_icon
	category = interaction_category_laamp
	interface_priority = 10

	desc = trade_oath_interaction_desc

	is_shown = {
		scope:actor = {
			domicile ?= { has_domicile_parameter = camp_unlock_trade_oath_interaction }
			NOT = { has_strong_hook = scope:recipient }
		}
		scope:recipient = {
			is_courtier_of = scope:actor
			NOR = {
				has_hook = scope:actor
				is_close_family_of = scope:actor
				is_spouse_of = scope:actor
			}
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_at_war = no
			is_imprisoned = no
		}
		scope:recipient.location = scope:actor.location
	}

	cost = { prestige = 250 }

	on_accept = {
		show_as_tooltip = {
			scope:actor = {
				add_hook = {
					type = loyalty_hook
					target = scope:recipient
				}
			}		
			scope:recipient = {
				add_hook = {
					type = follower_oath_hook
					target = scope:actor
				}
			}
		}
		scope:actor = { trigger_event = ep3_laamps.1011 }
	}

	ai_accept = {
		base = -75

		opinion_modifier = { opinion_target = scope:actor }

		# Traits.
		## Loyal
		modifier = {
			add = 30
			has_trait = loyal
		}
		## Disloyal
		modifier = {
			add = -30
			has_trait = disloyal
		}
		## Arbitrary
		modifier = {
			add = -20
			has_trait = arbitrary
		}
		## Just
		modifier = {
			add = 20
			has_trait = just
		}
		## Fickle
		modifier = {
			add = -10
			has_trait = fickle
		}
		## Stubborn
		modifier = {
			add = 20
			has_trait = stubborn
		}
		## Deceitful
		modifier = {
			add = -5
			has_trait = deceitful
		}
		## Honest
		modifier = {
			add = 5
			has_trait = honest
		}
	}
	ai_potential = {
		has_realm_law = camp_purpose_legitimists
	}
	# Always do it if you get the chance.
	ai_will_do = { base = 1000 }

	ai_targets = { ai_recipients = courtiers }
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 12
		kingdom = 0
		empire = 0
		hegemony = 0
	}
	auto_accept = yes
}

##################
# Pawn Gear
# by Joe Parkin
##################

pawn_gear_interaction = {
	icon = artisan_inspiration
	category = interaction_category_laamp
	interface_priority = 10
	common_interaction = yes
	desc = pawn_gear_interaction_desc

	target_type = artifact
	target_filter = actor_artifacts

	is_shown = {
		scope:actor = {
			domicile ?= { has_domicile_parameter = camp_unlocks_pawn_gear_interaction }
			this = scope:recipient
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_at_war = no
			is_imprisoned = no
			has_any_artifact = yes
			trigger_if = {
				limit = { is_ai = no }
				custom_description = {
					text = "any_unequipped_artifact_tt"
					any_character_artifact = { is_equipped = no }
				}
			}
		}
	}

	can_be_picked_artifact = {
		trigger_if = {
			limit = {
				scope:actor = { is_ai = no }
			}
			scope:target = { is_equipped = no }
		}
		scope:actor = {
			any_character_artifact = { this = scope:target }
		}
	}

	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_good
				title = pawn_gear_interaction_notification
				left_icon = scope:actor
				add_short_term_gold = artifact_wealth_quality_average_value
				destroy_artifact = scope:target
			}
		}
	}

	auto_accept = yes
}

##################
# Complete the Contract
# by Arkadiusz Majewski
# Needed for the action_can_complete_task_contract and to be able to end contracts if you cancelled the initial travel planner
##################

complete_task_contract_interaction = {
	category = interaction_category_laamp
	interface_priority = 120
	common_interaction = yes
	icon = icon_contract_escort
	use_diplomatic_range = no

	popup_on_receive = yes
	pause_on_receive = yes

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			any_character_active_contract = {
				OR = {
					ep3_transport_contract_trigger = yes
					has_task_contract_type = laamp_help_increase_control_contract
				}
				OR = {
					task_contract_employer ?= scope:recipient
					task_contract_destination.province_owner ?= scope:recipient
					task_contract_target ?= scope:recipient
					var:task_contract_object ?= scope:recipient
				}
			}
		}
	}
	
	is_valid_showing_failures_only = {
	}

	is_highlighted = {
		always = yes
	}

	send_option = {
		flag = without_domicile
	}

	send_option = {
		flag = with_domicile
	}

	on_accept = {
		scope:actor = {
			random_character_active_contract = {
				limit = {
					OR = {
						ep3_transport_contract_trigger = yes
						has_task_contract_type = laamp_help_increase_control_contract
					}
					#check for any contract that has the recipient as any relevant character to it (employer, target, target destination owner, escortee)
					OR = {
						task_contract_employer ?= scope:recipient
						task_contract_destination.province_owner ?= scope:recipient
						task_contract_target ?= scope:recipient
						var:task_contract_object ?= scope:recipient
					}
				}
				save_scope_as = task_contract
			}
			#set all the scopes
			if = {
				limit = {
					exists = scope:task_contract.var:task_contract_employer
				}
				scope:task_contract.var:task_contract_employer ?= {
					save_scope_as = task_contract_employer
				}
			}
			if = {
				limit = {
					scope:task_contract = {
						has_task_contract_type = laamp_help_increase_control_contract
					}
				}
				scope:task_contract.var:task_contract_councillor_liege ?= {
					save_scope_as = task_contract_councillor_liege
				}
			}
			if = {
				limit = {
					exists = scope:task_contract.var:task_contract_destination
				}
				scope:task_contract.var:task_contract_destination = {
					save_scope_as = task_contract_destination
				}
			}
			if = {
				limit = {
					exists = scope:task_contract.var:task_contract_target
				}
				scope:task_contract.var:task_contract_target ?= {
					save_scope_as = task_contract_target
				}
			}
			if = {
				limit = {
					exists = scope:task_contract.var:task_contract_object
				}
				scope:task_contract.var:task_contract_object = {
					save_scope_as = task_contract_object
				}
			}
			if = {
				limit = {
					exists = scope:task_contract.var:escorted_artifact
				}
				scope:task_contract.var:escorted_artifact = {
					save_scope_as = escorted_artifact
				}
			}
			if = {
				limit = {
					exists = scope:task_contract.var:escorted_gold
				}
				scope:task_contract.var:escorted_gold = {
					save_scope_as = escorted_gold
				}
			}
			if = {
				limit = {
					exists = scope:task_contract.var:escorted_story
				}
				scope:task_contract.var:escorted_story = {
					save_scope_as = escorted_story
				}
			}
			#show a nice tooltip with which contract, who you are taking and where are you going info
			scope:task_contract = {
				switch = {
					trigger = has_task_contract_type
					laamp_transport_vip = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_vip }
					}
					laamp_transport_ward = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_ward }
					}
					laamp_transport_explorer = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_explorer }
					}
					laamp_transport_artifact = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_artifact }
					}
					laamp_transport_gold = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_gold }
					}
					laamp_transport_animal = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_animal }
					}
					laamp_construction_contract = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_construction }
					}
					laamp_help_increase_control_contract = {
						scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_increase_control }
					}
				}
			}
			#trigger the travel planner
			switch = {
				trigger = yes
				scope:with_domicile = {
					start_travel_plan = {
						destination = scope:task_contract_destination
						travel_with_domicile = yes
						return_trip = no
						on_arrival_destinations = all
					}
					custom_tooltip = ep3_contract_event.0001.with_domicile.tt
				}
				scope:without_domicile = {
					start_travel_plan = {
						destination = scope:task_contract_destination
						on_arrival_destinations = all
					}
				}
			}
		}
	}

	auto_accept = yes
}

##################
# Make a Request
# by Arkadiusz Majewski
# As a LAAMP you can ask characters on your contact list for something 
##################

contact_list_request_interaction = { # make a request, make_a_request
	category = interaction_category_laamp
	interface_priority = 110
	icon = icon_scheme_befriend
	desc = contact_list_request_interaction_desc
	common_interaction = yes

	popup_on_receive = yes
	pause_on_receive = yes

	ai_min_reply_days = 0
	ai_max_reply_days = 0

	cooldown_against_recipient = { months = 8 }

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
		scope:actor != scope:recipient
	}
	is_valid_showing_failures_only = {
		scope:recipient = {
			is_adult = yes
			is_imprisoned = no
			NOR = {
				is_at_war_with = scope:actor
				has_relation_rival = scope:actor
				has_relation_nemesis = scope:actor
				has_opinion_modifier = {
					target = scope:actor
					modifier = released_from_prison
				}
				has_opinion_modifier = {
					target = scope:actor
					modifier = eviction_ignored_opinion
				}
				house_has_feud_relation_with_trigger = { TARGET = scope:actor }
			}
		}
		scope:actor = {
			NOT = { has_truce = scope:recipient }
		}
		scope:recipient = {
			trigger_if = {
				limit = {
					NOR = {
						is_contact_of = scope:actor
						is_close_or_extended_family_of = scope:actor
						is_consort_of = scope:actor
						AND = {
							OR = {
								capital_province ?= scope:actor.domicile.domicile_location
								any_held_title = {
									title_tier = county
									any_county_province = {
										this = scope:actor.domicile.domicile_location
									}
								}
							}
							scope:actor = { has_perk = embassies_perk }
						}
					}
				}
				is_contact_of = scope:actor
			}
		}
		scope:recipient = {
			custom_tooltip = {
				text = RULER_DESIGNER_ACHIEVEMENTS_NOT_AVAILABLE
				OR = {
					is_landed = yes
					gold > 20
					AND = {
						is_landed_or_landless_administrative = yes
						scope:actor.maa_regiments_count < scope:actor.maa_regiments_max_count
					}
					AND = {
						#Recipient can marry the actor
						can_marry_character_trigger = { CHARACTER = scope:actor }
						#To account for a person marrying their concubines
						trigger_if = {
							limit = {
								is_concubine = yes
							}
							is_concubine_of = scope:actor
							can_marry_character_trigger = { CHARACTER = scope:actor }
						}
					}
				}
			}
		}
	}
	is_highlighted = {
		scope:actor = {
			is_character_interaction_potentially_accepted = {
				recipient = scope:recipient
				interaction = contact_list_request_interaction
			}
		}
	}
	can_send = {
		#Has to be used instead of diplo range checks in laamp to landed interactions
		ep3_laamp_diplo_range_trigger = {
			TARGET = scope:recipient
			LAAMP = scope:actor
		}
	}
	#request provisions
	send_option = {
		flag = request_provisions
		is_valid = {
			scope:recipient = {
				is_landed = yes
			}
		}
	}
	#request gold
	send_option = {
		flag = request_gold
		is_valid = {
			custom_tooltip = {
				scope:recipient.gold > 20
				text = contact_list_request_interaction.request_gold_recipient_not_enough_gold
			}
		}
	}
	#request men-at-arms regiment
	send_option = {
		flag = request_maa
		is_valid = {
			scope:recipient = {
				is_landed_or_landless_administrative = yes
			}
			custom_tooltip = {
				scope:actor.maa_regiments_count < scope:actor.maa_regiments_max_count
				text = contact_list_request_interaction.request_maa_actor_too_many_regiments
			}
		}
	}
	#request a knight
	send_option = {
		flag = request_knights
		is_shown = {
			scope:recipient = { is_ai = yes }
		}
		is_valid = {
			custom_tooltip = {
				scope:recipient = {
					any_knight = {
						is_landed = no
						count > 1
					}
				}
				text = contact_list_request_interaction.request_knights_recipient_not_enough_knights
			}
		}
	}
	#request to arrange a marriage
	send_option = {
		flag = request_marriage
		is_valid = {
			#There is an available marriage, copied from 00_marriage_interactions is_valid_showing_failures_only
			custom_description = {
				text = "basic_can_marry_check_recipient"
				subject = scope:actor
				object = scope:recipient
				scope:recipient = {
					OR = {
						AND = {
							#Recipient can marry the actor
							can_marry_character_trigger = { CHARACTER = scope:actor }
							#To account for a person marrying their concubines
							trigger_if = {
								limit = {
									is_concubine = yes
								}
								is_concubine_of = scope:actor
								can_marry_character_trigger = { CHARACTER = scope:actor }
							}
						}
						AND = {
							is_ruler = yes #(Following are only for rulers)
							OR = {
								any_child = {
									matchmaker = scope:actor
									OR = {
										#Any of recipient's children can marry
										AND = {
											can_marry_trigger = yes
											#To account for a person marrying their concubines
											trigger_if = {
												limit = {
													is_concubine = yes
												}
												is_concubine_of = scope:actor
											}
										}
										#Any of recipient's children are ready to marry their betrothed
										AND = {
											ready_to_marry_betrothed_trigger = yes
											betrothed.matchmaker = scope:actor
										}
									}
								}
								any_courtier = {
									OR = {
										#Any of recipient's courtiers can marry
										AND = {
											can_marry_trigger = yes
											#To account for a person marrying their concubines
											trigger_if = {
												limit = {
													is_concubine = yes
												}
												is_concubine_of = scope:actor
											}
										}
										#Any of recipient's courtiers are ready to marry their betrothed
										AND = {
											ready_to_marry_betrothed_trigger = yes
											betrothed.matchmaker = scope:actor
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	#request new contract
	send_option = {
		flag = request_contract
		is_shown = {
			scope:recipient = { is_ai = yes }
		}
		is_valid = {
			custom_tooltip = {
				text = contact_list_request_interaction.create_contracts.already_has_contract
				scope:actor = {
					any_character_task_contract = {
						count = all
						task_contract_employer != scope:recipient
					}
					is_ai = no
				}
			}
			custom_description = {
				text = contact_list_request_interaction_create_contracts
				object = scope:recipient
				scope:actor = {
					OR = {
						can_create_task_contract = {
							type_name = laamp_raid_contract
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_join_war_contract
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_steal_artifact_contract
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_construction_contract
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_treasure_hunting_contract
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_transport_vip
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_transport_artifact
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_transport_gold
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_transport_ward
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_transport_explorer
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_transport_animal
							employer = scope:recipient
						}
						can_create_task_contract = {
							type_name = laamp_join_faction_contract
							employer = scope:recipient
						}
					}
				}
			}
		}
	}
	#request feast
	send_option = {
		flag = request_feast
		is_shown = {
			scope:actor = {
				has_perk = inspiring_rule_perk
			}
			scope:recipient = {
				is_landed_or_landless_administrative = yes
				capital_province ?= {
					squared_distance = {
						target = scope:actor.capital_province
						value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION
					}
				}
			}
			scope:recipient = { is_ai = yes }
		}
		is_valid = {
			scope:recipient = {
				highest_held_title_tier > tier_barony
				is_at_war = no
				is_available_adult = yes
			}
			scope:actor = {
				custom_tooltip = {
					text = ACTIVITY_SUMMARY_COOLDOWN_HEADER
					NOT = { has_character_flag = laamp_recently_requested_feast }
				}
			}
		}
	}
	#request tournament
	send_option = {
		flag = request_tournament
		is_shown = {
			has_ep2_dlc_trigger = yes
			scope:actor = {
				has_perk = stalwart_leader_perk
			}
			scope:recipient = {
				is_landed = yes
				NOT = { has_variable = conqueror }
				capital_province ?= {
					squared_distance = {
						target = scope:actor.capital_province
						value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION
					}
				}
			}
			scope:recipient = { is_ai = yes }
		}
		is_valid = {
			scope:recipient = {
				highest_held_title_tier > tier_barony
				is_at_war = no
				is_available_adult = yes
			}
			scope:actor = {
				custom_tooltip = {
					text = contact_list_request_interaction.request_tournament_cooldown
					NOT = { has_character_flag = laamp_recently_requested_tourney }
				}
			}
		}
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	cost = {
		prestige = {
			add = 100
			# Upgrade for tier.
			multiply = {
				value = scope:recipient.highest_held_title_tier
				# Discount barons.
				add = -1
			}
			# Upgrade for the more egregious requests.
			## Marriage.
			if = {
				limit = { scope:request_marriage = yes }
				multiply = 1.5
			}
			## Activities.
			### Tournament.
			if = {
				limit = { scope:request_tournament = yes }
				multiply = 2
			}
			### Feast.
			if = {
				limit = { scope:request_feast = yes }
				multiply = 1.25
			}
			min = 100
		}
	}

	on_accept = {
		scope:actor = {
			switch = {
				trigger = yes
				scope:request_tournament ?= {
					scope:recipient = {
						add_opinion = {
							modifier = laamp_used_contact_opinion_special
							target = scope:actor
							opinion = -50
						}
						custom_tooltip = contact_list_request_interaction.request_tournament
					}
					hidden_effect = {
						scope:recipient = {
							add_character_flag = {
								flag = tournament_ai_override
							}
							ai_attempt_to_host_activity = activity_tournament
						}
						scope:actor = {
							add_character_flag = {
								flag = laamp_recently_requested_tourney
								days = 3650
							}
						}
					}
				}
				scope:request_feast ?= {
					scope:actor = { custom_tooltip = contact_list_request_interaction.request_feast_honor }
					scope:recipient = {
						add_opinion = {
							modifier = laamp_used_contact_opinion
							target = scope:actor
							opinion = -30
						}
						custom_tooltip = contact_list_request_interaction.request_feast
					}
					hidden_effect = {
						scope:recipient = {
							add_character_flag = {
								flag = feast_ai_override
							}
							ai_attempt_to_host_activity = activity_feast
						}
						scope:actor = {
							add_character_flag = {
								flag = laamp_recently_requested_feast
								days = 1875
							}
						}
					}
				}
				scope:request_provisions ?= {
					save_scope_value_as = {
						name = provisions_to_add_value
						value = {
							if = {
								limit = { scope:recipient.highest_held_title_tier >= tier_empire }
								add = monumental_provisions_gain
							}
							else_if = {
								limit = { scope:recipient.highest_held_title_tier >= tier_kingdom }
								add = massive_provisions_gain
							}
							else_if = {
								limit = { scope:recipient.highest_held_title_tier >= tier_duchy }
								add = major_provisions_gain
							}
							else_if = {
								limit = { scope:recipient.highest_held_title_tier >= tier_county }
								add = medium_provisions_gain
							}
							else = { add = minor_provisions_gain }
						}
					}
					if = {
						limit = {
							scope:actor.domicile.max_provisions < {
								value = {
									value = scope:provisions_to_add_value
									add = scope:actor.domicile.provisions
								}
							}
						}
						save_scope_value_as = {
							name = gained_provisions_value
							value = {
								value = scope:actor.domicile.max_provisions
								subtract = scope:actor.domicile.provisions
							}
						}
						save_scope_value_as = {
							name = provisions_overflow_value
							value = {
								value = scope:provisions_to_add_value
								subtract = scope:gained_provisions_value
							}
						}
						save_scope_value_as = {
							name = provisions_transformed_to_gold_value
							value = {
								value = scope:provisions_overflow_value
								multiply = 0.05
							}
						}
					}
					else = {
						save_scope_value_as = {
							name = gained_provisions_value
							value = scope:provisions_to_add_value
						}
					}
					send_interface_toast = {
						type = event_toast_effect_good
						title = contact_list_request_interaction.request_provisions_tt
						left_icon = scope:actor
						right_icon = scope:recipient
						scope:recipient = {
							add_opinion = {
								modifier = laamp_used_contact_opinion_special
								target = scope:actor
								opinion = -20
							}
							if = {
								limit = {
									exists = capital_county
								}
								hidden_effect = {
									capital_county = {
										add_county_modifier = {
											modifier = ep3_gave_out_provisions
											years = 3
										}
										#save it for loc in custom tooltip
										save_scope_as = capital_county
									}
								}
								custom_tooltip = contact_list_request_interaction.capital_county_modifier
							}
						}
						scope:actor = {
							custom_tooltip = contact_list_request_interaction.gained_provisions_value
							hidden_effect = {
								domicile = {
									change_provisions = scope:gained_provisions_value
								}
							}
							if = {
								limit = {
									exists = scope:provisions_transformed_to_gold_value
								}
								custom_tooltip = {
									text = overflowing_provisions_to_gold.tt
									add_gold = scope:provisions_transformed_to_gold_value
								}
							}
						}
					}
				}
				scope:request_gold ?= {
					save_scope_value_as = {
						name = requested_gold_value
						value = {
							value = scope:recipient.gold
							divide = 4
							multiply = {
								value = scope:recipient.ai_greed
								divide = -300
								add = 1
							}
							if = {
								limit = {
									scope:recipient = {
										has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:actor }
									}
								}
								multiply = 1.5
							}
							else_if = {
								limit = {
									scope:recipient = {
										has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:actor }
									}
								}
								multiply = 1.25
							}
							max = {
								scope:recipient.culture = {
									if = {
										limit = {
											has_cultural_era_or_later = culture_era_late_medieval
										}
										value = 250
									}
									else_if = {
										limit = {
											has_cultural_era_or_later = culture_era_high_medieval
										}
										value = 200
									}
									else_if = {
										limit = {
											has_cultural_era_or_later = culture_era_early_medieval
										}
										value = 150
									}
									else_if = {
										limit = {
											has_cultural_era_or_later = culture_era_tribal
										}
										value = 100
									}
									else = {
										value = 50
									}
								}
							}
							floor = yes
							min = 5
						}
					}
					send_interface_toast = {
						type = event_toast_effect_good
						title = contact_list_request_interaction.request_gold_tt
						left_icon = scope:actor
						right_icon = scope:recipient
						scope:actor = {
							show_as_tooltip = {
								add_gold = scope:requested_gold_value
							}
						}
						scope:recipient = {
							pay_short_term_gold = {
								target = scope:actor
								gold = scope:requested_gold_value
							}
							add_opinion = {
								modifier = laamp_used_contact_opinion
								target = scope:actor
								opinion = -40
							}
						}
					}
				}
				scope:request_maa ?= {
					custom_tooltip = contact_list_request_interaction.request_maa
					hidden_effect = {
						ep3_pick_random_maa_regiment_effect = {
							OWNER = scope:recipient
							INCLUDE_BASIC_MAA = no
							INCLUDE_SIEGE_MAA = no
						}
						send_interface_toast = {
							type = event_toast_effect_good
							title = contact_list_request_interaction.request_maa_tt
							left_icon = scope:actor
							right_icon = scope:recipient
							ep3_create_random_maa_regiment_effect = {
								OWNER = scope:actor
								SIZE = 1
							}
						}
					}
					scope:recipient = {
						add_opinion = {
							modifier = laamp_used_contact_opinion
							target = scope:actor
							opinion = -40
						}
					}
				}
				scope:request_knights ?= {
					scope:actor = {
						custom_tooltip = contact_list_request_interaction.request_knights
						trigger_event = ep3_interactions_events.0101
					}
					scope:recipient = {
						add_opinion = {
							modifier = laamp_used_contact_opinion
							target = scope:actor
							opinion = -30
						}
					}
				}
				scope:request_marriage ?= {
					scope:actor = {
						custom_tooltip = contact_list_request_interaction.request_marriage
						custom_tooltip = contact_list_request_interaction.request_marriage.marriagable_women
						custom_tooltip = contact_list_request_interaction.request_marriage.marriagable_men
						custom_tooltip = contact_list_request_interaction.request_marriage.warning
						if = {
							limit = { is_ai = no }
							open_interaction_window = {
								interaction = arrange_marriage_interaction
								actor = scope:actor
								recipient = scope:recipient
							}
						}
						add_to_variable_list = {
							name = contact_list_marriage
							target = scope:recipient
						}
					}
					scope:recipient = {
						add_opinion = {
							modifier = laamp_used_contact_opinion
							target = scope:actor
							opinion = -50
						}
					}
				}
				scope:request_contract ?= {
					scope:actor = {
						custom_tooltip = contact_list_request_interaction.request_contract
						hidden_effect = {
							random_list = {
								#laamp_raid_contract
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_raid_contract
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_mercenaries
									}
									create_task_contract = {
										task_contract_type = laamp_raid_contract
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_raid_contract
										value = yes
									}
								}
								#laamp_join_war_contract
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_join_war_contract
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_mercenaries
									}
									create_task_contract = {
										task_contract_type = laamp_join_war_contract
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_join_war_contract
										value = yes
									}
								}
								#laamp_steal_artifact_contract
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_steal_artifact_contract
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_brigands
									}
									create_task_contract = {
										task_contract_type = laamp_steal_artifact_contract
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_steal_artifact_contract
										value = yes
									}
								}
								#laamp_construction_contract
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_construction_contract
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_scholars
									}
									create_task_contract = {
										task_contract_type = laamp_construction_contract
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_construction_contract
										value = yes
									}
								}
								#laamp_treasure_hunting_contract
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_treasure_hunting_contract
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										OR = {
											has_realm_law = camp_purpose_brigands
											has_realm_law = camp_purpose_explorers
										}
									}
									create_task_contract = {
										task_contract_type = laamp_treasure_hunting_contract
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_treasure_hunting_contract
										value = yes
									}
								}
								#laamp_transport_vip
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_transport_vip
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_explorers
									}
									create_task_contract = {
										task_contract_type = laamp_transport_vip
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_transport_vip
										value = yes
									}
								}
								#laamp_transport_artifact
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_transport_artifact
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										OR = {
											has_realm_law = camp_purpose_brigands
											has_realm_law = camp_purpose_explorers
										}
									}
									create_task_contract = {
										task_contract_type = laamp_transport_artifact
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_transport_artifact
										value = yes
									}
								}
								#laamp_transport_gold
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_transport_gold
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										OR = {
											has_realm_law = camp_purpose_brigands
											has_realm_law = camp_purpose_explorers
										}
									}
									create_task_contract = {
										task_contract_type = laamp_transport_gold
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_transport_gold
										value = yes
									}
								}
								#laamp_transport_ward
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_transport_ward
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_explorers
									}
									create_task_contract = {
										task_contract_type = laamp_transport_ward
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_transport_ward
										value = yes
									}
								}
								#laamp_transport_explorer
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_transport_explorer
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_explorers
									}
									create_task_contract = {
										task_contract_type = laamp_transport_explorer
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_transport_explorer
										value = yes
									}
								}
								#laamp_transport_animal
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_transport_animal
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_explorers
									}
									create_task_contract = {
										task_contract_type = laamp_transport_animal
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_transport_animal
										value = yes
									}
								}
								#laamp_join_faction_contract
								1 = {
									trigger = {
										can_create_task_contract = {
											type_name = laamp_join_faction_contract
											employer = scope:recipient
										}
									}
									modifier = {
										add = 10
										has_realm_law = camp_purpose_mercenaries
									}
									create_task_contract = {
										task_contract_type = laamp_join_faction_contract
										location = scope:recipient.capital_province
										task_contract_employer = scope:recipient
										task_contract_tier = scope:recipient.task_contract_tier_value
										save_scope_as = new_contract
									}
									save_scope_value_as = {
										name = create_laamp_join_faction_contract
										value = yes
									}
								}
							}
							scope:new_contract = {
								open_view_data = {
									view = task_contract
									player = scope:actor
								}
							}
						}
					}
					scope:recipient = {
						add_opinion = {
							modifier = laamp_used_contact_opinion
							target = scope:actor
							opinion = -5
						}
						show_as_tooltip = {
							custom_description_no_bullet = { text = contact_list_request_interaction_possible_outcomes }
							if = {
								limit = {
									scope:create_laamp_raid_contract ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_raid_contract
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_join_war_contract ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_join_war_contract
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_construction_contract ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_construction_contract
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_steal_artifact_contract ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_steal_artifact_contract
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_treasure_hunting_contract ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_treasure_hunting_contract
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_transport_vip ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_transport_vip
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_transport_artifact ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_transport_artifact
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_transport_gold ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_transport_gold
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_transport_ward ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_transport_ward
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_transport_explorer ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_transport_explorer
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_transport_animal ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_transport_animal
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
							if = {
								limit = {
									scope:create_laamp_join_faction_contract ?= yes
								}
								create_task_contract = {
									task_contract_type = laamp_join_faction_contract
									location = scope:recipient.location
									task_contract_employer = scope:recipient
									task_contract_tier = scope:recipient.task_contract_tier_value
								}
							}
						}
					}
				}
			}
			if = {
				limit = {
					has_usable_hook = scope:recipient
					scope:recipient = { is_ai = yes }
				}
				use_hook = scope:recipient
				custom_tooltip = contact_list_request_interaction.tt.hook_auto_used
			}
		}
		scope:recipient = {
			add_prestige = {
				value = scope:actor.prestige_level
				multiply = 100
			}
		}
	}

	can_send_despite_rejection = no
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 3
		kingdom = 0
		empire = 0
		hegemony = 0
	}
	ai_targets = { ai_recipients = contacts }
	ai_targets = { ai_recipients = hooked_characters }
	auto_accept = {
		scope:actor = { has_usable_hook = scope:recipient }
		scope:recipient = { is_ai = yes }
	}
	ai_potential = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
	ai_accept = {
		base = 0

		modifier = {
			add = -50
			scope:recipient = {
				NOR = {
					is_contact_of = scope:actor
					is_close_or_extended_family_of = scope:actor
					is_consort_of = scope:actor
				}
			}
			desc = contact_list_request_interaction.no_contact
		}

		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}

		modifier = {
			add = -50
			scope:recipient = {
				has_opinion_modifier = {
					modifier = laamp_used_contact_opinion
					target = scope:actor
				}
			}
			desc = contact_list_request_interaction.repeated_request
		}

		ai_value_modifier = {
			ai_compassion = -0.5
			ai_greed = -0.5
			min = -50
			max = 50
		}

		modifier = {
			add = 30
			desc = contact_list_request_interaction.request_gold.contract
			scope:request_contract ?= yes
		}

		modifier = {
			add = -30
			desc = contact_list_request_interaction.request_gold.poor_recipient
			scope:request_gold ?= yes
			scope:recipient = {
				gold < major_gold_value
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.request_gold.stewardship
			OR = {
				scope:request_provisions ?= yes
				scope:request_gold ?= yes
			}
			scope:recipient = {
				has_trait = education_stewardship
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.request_gold.martial
			OR = {
				scope:request_maa ?= yes
				scope:request_knights ?= yes
			}
			scope:recipient = {
				has_trait = education_martial
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.request.defensive_negotiations_perk
			OR = {
				scope:request_maa ?= yes
				scope:request_knights ?= yes
			}
			scope:actor = {
				has_perk = defensive_negotiations_perk
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.relevant_focus
			scope:request_marriage ?= yes
			scope:recipient = {
				OR = {
					has_focus = diplomacy_family_focus
					has_focus = intrigue_temptation_focus
					has_focus = martial_chivalry_focus
				}
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.relevant_focus
			OR = {
				scope:request_maa ?= yes
				scope:request_knights ?= yes
			}
			scope:recipient = {
				OR = {
					has_focus = martial_strategy_focus
					has_focus = martial_chivalry_focus
					has_focus = martial_authority_focus
				}
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.request_knights.plenty
			scope:request_knights ?= yes
			scope:recipient = {
				number_of_knights > 6
			}
		}

		modifier = {
			add = -25
			desc = contact_list_request_interaction.request_knights.little
			scope:request_knights ?= yes
			scope:recipient = {
				number_of_knights <= 6
			}
		}

		modifier = {
			add = -25
			desc = contact_list_request_interaction.powerful
			scope:request_maa ?= yes
			scope:actor = {
				max_military_strength >= 400
				max_military_strength < 800
			}
		}

		modifier = {
			add = -50
			desc = contact_list_request_interaction.very_powerful
			scope:request_maa ?= yes
			scope:actor.max_military_strength >= 800
		}

		modifier = {
			add = -30
			desc = contact_list_request_interaction.stronger_than_me
			scope:request_maa ?= yes
			scope:actor.max_military_strength > scope:recipient.max_military_strength
		}

		modifier = {
			add = -25
			desc = contact_list_request_interaction.traveler
			scope:request_provisions ?= yes
			scope:recipient = {
				has_trait = lifestyle_traveler
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.adventurer
			scope:recipient = {
				has_trait = adventurer
			}
		}

		modifier = {
			add = 25
			desc = contact_list_request_interaction.adventurer_follower
			scope:recipient = {
				has_trait = adventurer_follower
			}
		}

		modifier = {
			add = 20
			desc = contact_list_request_interaction.flexible_truces_perk
			scope:actor = {
				has_perk = flexible_truces_perk
			}
		}

		# Your level of prestige.
		## Impotent
		modifier = {
			add = -10
			desc = AI_OPINION_PRESTIGE_LEVEL_DISGRACED
			scope:actor.prestige_level = 0
		}
		## Influential
		### Would be zero, so it wouldn't appear.
		## Persuasive
		modifier = {
			add = 5
			desc = AI_OPINION_PRESTIGE_LEVEL_DISTINGUISHED
			scope:actor.prestige_level = 2
			scope:actor = {
				NOT = {
					has_perk = true_ruler_perk
				}
			}
		}
		## Controlling
		modifier = {
			add = 10
			desc = AI_OPINION_PRESTIGE_LEVEL_ILLUSTRIOUS
			scope:actor.prestige_level = 3
			scope:actor = {
				NOT = {
					has_perk = true_ruler_perk
				}
			}
		}
		## Authoritative
		modifier = {
			add = 20
			desc = AI_OPINION_PRESTIGE_LEVEL_EXALTED
			scope:actor.prestige_level = 4
			scope:actor = {
				NOT = {
					has_perk = true_ruler_perk
				}
			}
		}
		## Imperious
		modifier = {
			add = 30
			desc = AI_OPINION_PRESTIGE_LEVEL_LEGENDARY
			scope:actor.prestige_level = 5
			scope:actor = {
				NOT = {
					has_perk = true_ruler_perk
				}
			}
		}
		
		## Persuasive
		modifier = {
			add = 6
			desc = AI_OPINION_PRESTIGE_LEVEL_DISTINGUISHED
			scope:actor.prestige_level = 2
			scope:actor = { has_perk = true_ruler_perk }
		}
		## Controlling
		modifier = {
			add = 12
			desc = AI_OPINION_PRESTIGE_LEVEL_ILLUSTRIOUS
			scope:actor.prestige_level = 3
			scope:actor = { has_perk = true_ruler_perk }
		}
		## Authoritative
		modifier = {
			add = 24
			desc = AI_OPINION_PRESTIGE_LEVEL_EXALTED
			scope:actor.prestige_level = 4
			scope:actor = { has_perk = true_ruler_perk }
		}
		## Imperious
		modifier = {
			add = 36
			desc = AI_OPINION_PRESTIGE_LEVEL_LEGENDARY
			scope:actor.prestige_level = 5
			scope:actor = { has_perk = true_ruler_perk }
		}
	}

	ai_will_do = {
		base = 50

		# Set up the AI so that they actually know how to use the send_options.
		## Troops, if they don't have gold.
		modifier = {
			add = 50
			scope:recipient.gold < 50
			scope:request_maa = yes
		}
		## Gold is always good.
		modifier = {
			add = 50
			scope:recipient.gold >= 30
			scope:request_gold = yes
		}
		## Feasts are especially attractive for some adventurers.
		modifier = {
			add = 50
			scope:request_feast = yes
			OR = {
				prestige <= 500
				has_trait = arrogant
				has_trait = gluttonous
				has_trait = gregarious
				has_trait = drunkard
			}
		}
		## Provisions are fine, but nothing special for the AI.
		modifier = {
			add = 5
			scope:request_provisions = yes
			scope:actor.domicile.provisions < scope:actor.domicile.max_provisions
		}
		## Don't go crazy with tournaments
		modifier = {
			factor = 0
			scope:request_tournament = yes
		}
		modifier = {
			factor = 0
			NOR = {
				scope:request_provisions = yes
				scope:request_gold = yes
				scope:request_maa = yes
				scope:request_knights = yes
				scope:request_marriage = yes
				scope:request_contract = yes
				scope:request_feast = yes
				scope:request_tournament = yes
			}
		}
	}
}

##################
# Seize Realm Scheme
# by Joe Parkin
##################

seize_realm_interaction = {
	icon = icon_scheme_seizure
	category = interaction_category_laamp
	interface_priority = 10

	ignores_pending_interaction_block = yes

	scheme = seize_realm

	send_name = START_SCHEME

	is_shown = {
		scope:recipient != scope:actor
		scope:actor = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
		scope:recipient = {
			is_landed = yes
			highest_held_title_tier >= tier_county
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			can_start_scheme = {
				type = seize_realm
				target_character = scope:recipient
			}
		}
		NOT = {
			scope:recipient = { has_strong_hook = scope:actor }
		}
		#Has to be used instead of diplo range checks in laamp to landed interactions
		ep3_laamp_diplo_range_trigger = {
			TARGET = scope:recipient
			LAAMP = scope:actor
		}
	}

	desc = {
		triggered_desc = {
			trigger = {
				scope:actor = {
					can_start_scheme = {
						type = seize_realm
						target_character = scope:recipient
					}
				}
			}
			desc = scheme_interaction_tt_seize_realm_approved
		}
	}

	# Scheme Starter Packages
	options_heading = schemes.t.agent_packages
	send_options_exclusive = yes
	## Balanced agents.
	send_option = {
		flag = agent_focus_balance
		current_description = seize_realm_interaction.tt.agent_focus_balance
	}
	## Focused on Success Chance.
	send_option = {
		flag = agent_focus_success
		current_description = seize_realm_interaction.tt.agent_focus_success
	}
	## Focused on Speed.
	send_option = {
		flag = agent_focus_speed
		current_description = seize_realm_interaction.tt.agent_focus_speed
	}
	## Focused on Secrecy.
	send_option = {
		flag = agent_focus_secrecy
		current_description = seize_realm_interaction.tt.agent_focus_secrecy
	}

	on_accept = {
		scope:actor = {
			stress_impact = {
				compassionate = major_stress_impact_gain
				honest = medium_stress_impact_gain
				just = medium_stress_impact_gain
			}
		}
		scope:actor = {
			send_interface_toast = {
				title = start_seize_realm_interaction_notification

				left_icon = scope:actor					
				right_icon = scope:recipient

				# Success.
				if = {
					limit = { scope:agent_focus_success ?= yes }
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = seize_realm
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						# Success.
						AGENT_1 = agent_muscle
						AGENT_2 = agent_muscle
						AGENT_3 = agent_diplomat
						# Speed.
						AGENT_4 = agent_infiltrator
						# Secrecy.
						AGENT_5 = agent_lookout
					}
				}
				# Speed.
				else_if = {
					limit = { scope:agent_focus_speed ?= yes }
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = seize_realm
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						# Speed.
						AGENT_1 = agent_infiltrator
						AGENT_2 = agent_footpad
						AGENT_3 = agent_planner
						# Success.
						AGENT_4 = agent_muscle
						# Secrecy.
						AGENT_5 = agent_lookout
					}
				}
				# Secrecy.
				else_if = {
					limit = { scope:agent_focus_secrecy ?= yes }
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = seize_realm
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						# Secrecy.
						AGENT_1 = agent_lookout
						AGENT_2 = agent_decoy
						AGENT_3 = agent_decoy
						# Success.
						AGENT_4 = agent_muscle
						# Speed.
						AGENT_5 = agent_infiltrator
					}
				}
				# Balanced.
				else = {
					begin_scheme_with_agents_effect = {
						SCHEME_TYPE = seize_realm
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:recipient
						# Success.
						AGENT_1 = agent_muscle
						AGENT_2 = agent_muscle
						# Speed.
						AGENT_3 = agent_infiltrator
						AGENT_4 = agent_planner
						# Secrecy.
						AGENT_5 = agent_lookout
					}
				}

				show_as_tooltip = {
					stress_impact = {
						honest = medium_stress_impact_gain
						just = medium_stress_impact_gain
					}
				}
			}
		}
		custom_tooltip = seize_realm_warning
	}
	
	auto_accept = yes
}

##################
# Reinforce Soldiers
# by Joe Parkin
##################

reinforce_soldiers_interaction = {
	icon = owner_in_debt
	category = interaction_category_laamp
	interface_priority = 10
	common_interaction = yes
	desc = reinforce_soldiers_interaction_desc
	cooldown = { months = 6 }

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			government_allows = conditional_maa_refill
			NOT = { government_has_flag = government_is_nomadic }
		}
		scope:recipient = scope:actor
	}

	is_valid_showing_failures_only = {
		custom_tooltip = {
			text = reinforce_soldiers_any_regiment_tt
			scope:actor.maa_regiments_count >= 1
		}
		custom_tooltip = {
			text = reinforce_soldiers_unfull_regiment_tt
			scope:actor = {
				any_maa_regiment = { maa_regiments_valid_for_cheap_reinforcement_trigger = yes }
			}
		}
		custom_tooltip = {
			text = SUPPLY_LOSS_AT_SEA
			scope:actor = { any_laamp_portion_at_sea_trigger = no }
		}
	}

	send_options_exclusive = yes

	send_option = {
		flag = skill
		localization = reinforce_soldiers_option_skill
		current_description = reinforce_soldiers_option_skill_desc
	}

	send_option = {
		flag = prestige
		localization = reinforce_soldiers_option_prestige
		current_description = reinforce_soldiers_option_prestige_desc
	}

	send_option = {
		flag = piety
		localization = reinforce_soldiers_option_piety
		current_description = reinforce_soldiers_option_piety_desc
		is_valid = {
			custom_tooltip = {
				text = reinforce_soldiers_option_piety_tt
				scope:actor.domicile.domicile_location.county ?= {
					OR = {
						holder ?= { government_has_flag = government_is_theocracy }
						any_county_province = {
							barony = {
								is_under_holy_order_lease = yes
								lessee.faith = scope:actor.faith
							}
						}
					}
				}
			}
		}
	}

	send_option = {
		flag = dread
		localization = reinforce_soldiers_option_dread
		current_description = reinforce_soldiers_option_dread_desc
		is_valid = {
			custom_tooltip = {
				text = reinforce_soldiers_option_dread_tt
				OR = {
					scope:actor.dread >= reinforce_soldiers_dread_cost_value
					scope:actor = {
						has_character_modifier = ep3_friend_to_old_soldiers_modifier
					}
				}
			}
		}
	}

	on_accept = {
		scope:actor = {
			switch = {
				trigger = yes
				scope:prestige = {
					if = {
						limit = {
							is_ai = no
						}
						add_prestige = {
							value = {
								value = -75
								if = {
									limit = {
										scope:actor.domicile.domicile_location.county.holder ?= { government_has_flag = government_is_tribal }
									}
									add = 25
								}
								multiply = reinforce_soldiers_reinforcable_regiments_value
							}
						}
					}
					reinforce_soldiers_regiment_effect = yes
				}
				scope:piety = {
					add_piety = {
						value = {
							value = minor_piety_loss
							multiply = reinforce_soldiers_reinforcable_regiments_value
						}
					}
					reinforce_soldiers_regiment_effect = yes
				}
				scope:skill = {
					duel = {
						skills = { diplomacy prowess }
						value = high_skill_rating
						10 = {
							compare_modifier = {
								value = scope:duel_value
								multiplier = 3.5
								min = 2
							}
							desc = reinforce_soldiers_skill_success
							send_interface_toast = {
								type = event_toast_effect_good
								title = reinforce_soldiers_skill_success
								reinforce_soldiers_regiment_effect = yes
							}
						}
						10 = {
							compare_modifier = {
								value = scope:duel_value
								multiplier = -3.5
								min = 2
							}
							desc = reinforce_soldiers_skill_failure
							send_interface_toast = {
								type = event_toast_effect_bad
								title = reinforce_soldiers_skill_failure
								if = {
									limit = {
										is_ai = no
									}
									add_prestige = -100
								}
							}
						}
					}
				}
				scope:dread = {
					random_list = {
						1 = {
							modifier = {
								add = {
									value = scope:actor.dread
									multiply = 2
								}
							}
							desc = reinforce_soldiers_skill_success
							send_interface_toast = {
								type = event_toast_effect_good
								title = reinforce_soldiers_skill_success
								reinforce_soldiers_regiment_effect = yes
							}
						}
						100 = {
							min = 25
							modifier = {
								add = {
									value = 0
									subtract = scope:actor.dread
								}
							}
							desc = reinforce_soldiers_skill_failure
							send_interface_toast = {
								type = event_toast_effect_bad
								title = reinforce_soldiers_skill_failure
								if = {
									limit = {
										is_ai = no
									}
									add_prestige = minor_prestige_loss
								}
							}
						}
					}
					add_dread = {
						value = reinforce_soldiers_dread_cost_value
						multiply = -1
					}
				}
			}
		}
	}

	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 6
		kingdom = 0
		empire = 0
		hegemony = 0
	}
	ai_targets = {
		ai_recipients = self
	}
	ai_potential = {
		government_allows = conditional_maa_refill
		any_maa_regiment = { maa_current_troops_count < maa_max_troops_count }
	}

	ai_will_do = {
		base = 100

		modifier = {
			scope:dread = yes
			add = 5
		}

		modifier = {
			scope:prestige = yes
			add = 3
		}

		modifier = {
			scope:piety = yes
			add = 2
		}

		modifier = {
			scope:skill = yes
			add = 1
		}
	}
}

##################
# Hire LAAMP as mercenaries
# by Arkadiusz Majewski
# As a landed ruler hire a LAAMP to join your war
##################

hire_laamp_mercenaries_interaction = {
	category = interaction_category_diplomacy
	icon = alliance
	desc = hire_laamp_mercenaries_interaction_desc

	greeting = positive
	notification_text = hire_laamp_mercenaries_interaction_notification
	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 60
	ai_min_reply_days = 0
	ai_max_reply_days = 0

	cooldown_against_recipient = { years = 3 }
	can_send_despite_rejection = yes
	ai_accept_negotiation = yes
	send_options_exclusive = no
	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:recipient = {
			has_government = landless_adventurer_government
		}
		scope:actor != scope:recipient
		scope:actor = {
			trigger_if = { # Avoid calling Adventurers without armies
				limit = {
					is_ai = yes
				}
				scope:recipient.current_military_strength >= 100
			}
		}
	}
	is_valid_showing_failures_only = {
		scope:recipient = {
			is_travelling = no
			is_at_war = no
			is_imprisoned = no
		}
		scope:actor = {
			custom_tooltip = {
				text = MERCENARY_COMPANY_COST_BANKRUPTCY
				debt_level <= 1
			}
			is_at_war = yes
			custom_tooltip = {
				text = I_MUST_BE_THE_WAR_LEADER		
				any_character_war = {
					is_war_leader = scope:actor
				}
			}
			NOT = {
				is_at_war_with = scope:recipient
			}
		}
		scope:actor = {
			NOT = {
				any_war_ally = {
					count >= 3
					has_government = landless_adventurer_government
				}
			}
		}
		scope:actor = {
			OR = {
				is_ai = no
				any_character_war = {
					count = all
					OR = {
						AND = {
							primary_attacker = scope:actor
							defender_war_score <= 95
						}
						AND = {
							primary_defender = scope:actor
							attacker_war_score <= 95
						}
					}
				}
			}
		}
		# Adventurers can't join wars in places they're exiled from.
		trigger_if = {
			limit = {
				scope:actor = { top_liege != this }
			}
			custom_tooltip = {
				text = the_wake_1
				NOT = {
					is_laamp_exiled_from_province_trigger = {
						PROVINCE = scope:actor.capital_province
						LAAMP = scope:recipient
					}
				}
			}
		}
	}

	auto_accept = {
		custom_description = {
			text = "spending_hook"
			subject = scope:actor
			object = scope:recipient
			scope:hook = yes
			scope:actor = { has_strong_hook = scope:recipient }
		}
	}

	on_accept = {
		scope:actor = {
			every_character_war = {
				add_to_list = actor_wars
			}
		}
		every_in_list = {
			list = actor_wars
			limit = {
				primary_defender = scope:actor
			}
			add_to_list = join_as_defender
			remove_from_list = actor_wars
		}
		every_in_list = {
			list = actor_wars
			limit = {
				primary_attacker = scope:actor
			}
			add_to_list = join_as_attacker
			remove_from_list = actor_wars
		}
		
		every_in_list = {
			list = join_as_attacker
			add_attacker = scope:recipient
		}
		every_in_list = {
			list = join_as_defender
			add_defender = scope:recipient
		}
		#list all wars that scope:recipient can't join
		every_in_list = {
			list = actor_wars
			custom = hire_laamp_mercenaries_interaction.not_primary_side
			# I swear it was the only way to make the tooltip look nice
			every_in_list = {
				list = actor_wars
				save_temporary_scope_as = war
				custom_tooltip = hire_laamp_mercenaries_interaction.war
			}
		}
		scope:actor = {
			pay_short_term_gold = {
				target = scope:recipient
				gold = ep3_hire_laamp_mercs_cost_value
			}
			add_to_variable_list = {
				name = hired_mercenaries
				target = scope:recipient
			}
			custom_tooltip = hire_laamp_mercenaries_interaction.contribution_pay
			if = {
				limit = {
					has_title = title:h_china
					situation:dynastic_cycle ?= {
						situation_top_has_catalyst = catalyst_hegemon_hired_mercenary
					}
				}
				trigger_situation_catalyst = {
					catalyst = catalyst_hegemon_hired_mercenary
					character = scope:actor
				}
			}
		}
		scope:recipient = {
			add_character_flag = joined_as_mercenary
		}
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:actor
			TARGET = scope:recipient
			VALUE = medium_unity_gain
			DESC = clan_unity_alliance.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
		debug_log = "Landed ruler hired a LAAMP to join wars"
		debug_log_scopes = yes
		#for debug purposes:
		#if = {
		#	limit = { NOT = { exists = global_var:hire_laamp_as_mercs_accepted } }
		#	set_global_variable = {
		#		name = hire_laamp_as_mercs_accepted
		#		value = 0
		#	}
		#}
		#else = {
		#	change_global_variable = {
		#		name = hire_laamp_as_mercs_accepted
		#		add = 1
		#	}
		#}
	}

	on_decline = {
		scope:recipient = {
			trigger_event = ep3_interactions_events.0111
			custom_tooltip = hire_laamp_mercenaries_interaction.negotiation_offer
		}
		#for debug purposes:
		#if = {
		#	limit = { NOT = { exists = global_var:hire_laamp_as_mercs_rejected } }
		#	set_global_variable = {
		#		name = hire_laamp_as_mercs_rejected
		#		value = 0
		#	}
		#}
		#else = {
		#	change_global_variable = {
		#		name = hire_laamp_as_mercs_rejected
		#		add = 1
		#	}
		#}
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:actor
			TARGET = scope:recipient
			VALUE = minor_unity_loss
			DESC = clan_unity_alliance_refusal.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
	}

	# Use hook
	send_option = {
		is_valid = {
			scope:actor = {
				has_usable_hook = scope:recipient
			}
		}
		flag = hook
		localization = SCHEME_HOOK
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	ai_frequency_by_tier = {
		barony = 0
		county = 12
		duchy = 12
		kingdom = 6
		empire = 6
		hegemony = 6
	}
	ai_targets = {
		ai_recipients = nearby_domicile_owners
	}
	ai_potential = {
		any_character_war = {
			is_war_leader = prev
		}
		war_chest_gold >= quarter_ai_war_chest_gold_maximum
	}
	ai_accept = {
		base = -20

		modifier = {  # merc laamp wants to join
			add = 50
			scope:recipient = {
				has_realm_law = camp_purpose_mercenaries
			}
			desc = camp_purpose_mercenaries_reason
		}

		modifier = {  # don't join many losing wars
			save_temporary_scope_value_as = {
				name = attacker_war
				value = 2
			}
			scope:actor = {
				any_character_war = {
					primary_attacker = scope:actor
					attacker_war_score < 0
					save_temporary_scope_value_as = {
						name = attacker_war
						value = {
							value = scope:attacker_war
							multiply = attacker_war_score
						}
					}
				}
			}
			add = scope:attacker_war
			desc = attacker_losisng_too_much_reason
		}
		modifier = {  # don't join many losing wars
			add = scope:defender_war
			save_temporary_scope_value_as = {
				name = defender_war
				value = 2
			}
			scope:actor = {
				any_character_war = {
					primary_defender = scope:actor
					defender_war_score < 0
					save_temporary_scope_value_as = {
						name = defender_war
						value = {
							value = scope:defender_war
							multiply = defender_war_score
						}
					}
				}
			}
			desc = defender_losisng_too_much_reason
		}

		modifier = {  # Refuse call against Heir
			add = -1000
			exists = scope:recipient.player_heir
			scope:actor = {
				any_character_war = {
					OR = {
						primary_defender = scope:recipient.player_heir
						primary_attacker = scope:recipient.player_heir
					}
				}
			}
			desc = WONT_FIGHT_HEIR_REASON
		}

		modifier = {  # Refuse call against Spouse
			add = -1000
			scope:actor = {
				any_character_war = {
					OR = {
						primary_defender = {
							is_spouse_of = scope:recipient
						}
						primary_attacker =  {
							is_spouse_of = scope:recipient
						}
					}
				}
			}
			desc = WONT_FIGHT_SPOUSE_REASON
		}

		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			desc = AI_OPINION_REASON
		}

		modifier = {  # Tends to join if low on cash
			add = 50
			scope:recipient = {
				short_term_gold <= minor_gold_value
			}
			desc = NEEDS_CASH
		}

		modifier = {  # Tends to join defensive wars
			add = 50
			scope:actor = {
				any_character_war = {
					primary_defender = scope:actor
				}
			}
			desc = DEFENSIVE_WAR_REASON
		}
		
		modifier = { # Same language
			add = 5
			desc = speaks_same_language_interaction_reason
			scope:actor = {
				knows_language_of_culture = scope:recipient.culture
			}
		}

		compare_modifier = { # Likes fighting infidels
			trigger = {
				scope:recipient.faith = scope:actor.faith
				scope:actor = {
					any_character_war = {
						trigger_if = {
							limit = {
								primary_defender = scope:actor
							}
							primary_attacker = {
								faith = {
									faith_hostility_level = {
										target = scope:actor.faith
										value >= religious_cb_enabled_hostility_level
									}
								}
							}
						}
						trigger_else_if = {
							limit = {
								primary_attacker = scope:actor
							}
							primary_defender = {
								faith = {
									faith_hostility_level = {
										target = scope:actor.faith
										value >= religious_cb_enabled_hostility_level
									}
								}
							}	
						}
						trigger_else = {
							always = no
						}
					}
				}
			}
			target = scope:recipient
			value = ai_zeal
			desc = "ZEAL_AGAINST_INFIDELS"
			min = 0
			multiplier = 0.5
		}

		modifier = {  # Reluctant to attack another ally
			add = -50
			scope:actor = {
				any_character_war = {
					primary_defender != scope:actor
					primary_defender = {
						is_allied_to = scope:recipient
					}
				}
			}
			desc = ATTACK_ON_ALLY_REASON
		}

		modifier = {  # Reluctant to defend against another ally
			add = -25
			scope:actor = {
				any_character_war = {
					primary_attacker != scope:actor
					primary_attacker = {
						is_allied_to = scope:recipient
					}
				}
			}
			desc = WAR_WITH_ALLY_REASON
		}

		modifier = {  # Reluctant to join wars against religious brethren.
			add = -50
			scope:recipient.faith != scope:actor.faith
			scope:actor = {
				any_character_war = {
					OR = {
						using_cb = minor_religious_war
						using_cb = religious_war
						using_cb = major_religious_war
						using_cb = undirected_great_holy_war
						using_cb = directed_great_holy_war
						OR = {
							AND = {
								primary_attacker != scope:actor
								primary_attacker.faith = scope:recipient.faith
							}
							AND = {
								primary_defender != scope:actor
								primary_defender.faith = scope:recipient.faith
							}
						}
					}
				}
			}
			desc = WONT_ATTACK_RELIGIOUS_BRETHREN_REASON
		}

		modifier = { # Reluctant to join against Friends
			add = -50
			scope:actor = {
				any_character_war = {
					OR = {
						AND = {
							primary_attacker != scope:actor
							primary_attacker = {
								has_relation_friend = scope:recipient
							}
						}
						AND = {
							primary_defender != scope:actor
							primary_defender = {
								has_relation_friend = scope:recipient
							}
						}
					}
				}
			}
		}

		modifier = { # Reluctant to join against Best Friends
			add = -100
			scope:actor = {
				any_character_war = {
					OR = {
						AND = {
							primary_attacker != scope:actor
							primary_attacker = {
								has_relation_best_friend = scope:recipient
							}
						}
						AND = {
							primary_defender != scope:actor
							primary_defender = {
								has_relation_best_friend = scope:recipient
							}
						}
					}
				}
			}
		}
		modifier = { # Reluctant to join against Lovers
			add = -100
			scope:actor = {
				any_character_war = {
					OR = {
						AND = {
							primary_attacker != scope:actor
							primary_attacker = {
								has_relation_lover = scope:recipient
							}
						}
						AND = {
							primary_defender != scope:actor
							primary_defender = {
								has_relation_lover = scope:recipient
							}
						}
					}
				}
			}
		}
		modifier = { # Reluctant to join against Soul mate
			add = -200
			scope:actor = {
				any_character_war = {
					OR = {
						AND = {
							primary_attacker != scope:actor
							primary_attacker = {
								has_relation_soulmate = scope:recipient
							}
						}
						AND = {
							primary_defender != scope:actor
							primary_defender = {
								has_relation_soulmate = scope:recipient
							}
						}
					}
				}
			}
		}
		modifier = {  # Refuse call for hostages' safety
			any_home_court_hostage = {
				warden = {
					OR = {
						is_at_war_with = scope:actor
						any_ally = { is_at_war_with = scope:actor }
					}
				}
			}
			add = {
				value = 0
				every_home_court_hostage = {
					limit = {
						warden = {
							OR = {
								is_at_war_with = scope:actor
								any_ally = { is_at_war_with = scope:actor }
							}
						}
					}
					subtract = call_to_arms_hostage_value
				}
				multiply = 0.25
			}
			desc = HOSTAGE_ENEMY_CALL_TO_ARMS_REASON
		}

		fp3_struggle_resist_allied_wars_modifier = yes
	}

	ai_will_do = {
		base = 50

		#don't do it if hired army wouldn't have an impact
		modifier = {
			scope:actor = {
				any_character_war = {
					count = all
					OR = {
						AND = {
							primary_attacker = scope:actor
							primary_defender.current_military_strength > {
								value = scope:recipient.current_military_strength
								add = scope:actor.current_military_strength
								multiply = 1.5
							}
						} 
						AND = {
							primary_defender = scope:actor
							primary_attacker.current_military_strength > {
								value = scope:recipient.current_military_strength
								add = scope:actor.current_military_strength
								multiply = 1.5
							}
						}
					}
				}
			}
			add = -100
		}

		#don't do it if you are stronger than the enemy
		modifier = {
			scope:actor = {
				any_character_war = {
					count = all
					OR = {
						AND = {
							primary_attacker = scope:actor
							primary_defender.current_military_strength < scope:actor.current_military_strength
						}
						AND = {
							primary_defender = scope:actor
							primary_attacker.current_military_strength < scope:actor.current_military_strength
						}
					}
				}
			}
			add = -200
		}

		#more likely to ask if on contact list
		modifier = {
			scope:actor = {
				is_contact_of = scope:recipient
			}
			add = 100
		}

		#merc laamp wants to join, so why not asking them more?
		modifier = { 
			scope:recipient = {
				has_realm_law = camp_purpose_mercenaries
			}
			add = 50
		}

		#more likely to ask if losing
		modifier = {
			scope:actor = {
				any_character_war = {
					OR = {
						AND = {
							primary_attacker = scope:actor
							defender_war_score > 25
						}
						AND = {
							primary_defender = scope:actor
							attacker_war_score > 25
						}
					}
				}
			}
			add = 20
		}

		#don't do it if they betrayed you already in any of your ongoing wars
		modifier = {
			scope:actor = {
				any_character_war = {
					OR = {
						is_target_in_variable_list = {
							name = already_switched_side
							target = scope:recipient	
						}
						is_target_in_variable_list = {
							name = left_voluntarily
							target = scope:recipient	
						}
					}
				}
			}
			add = -1000
		}

		#don't do it if you cannot afford it
		modifier = {
			scope:actor = {
				war_chest_gold < ep3_hire_laamp_mercs_cost_value
			}
			add = -50
		}
		modifier = {
			scope:actor = {
				gold < ep3_hire_laamp_mercs_cost_value
			}
			add = -1000
		}
	}
}

##################
# Refill MaA
##################

refill_maa_interaction = {
	icon = icon_soldier_survivor
	category = interaction_category_laamp
	interface_priority = 20
	common_interaction = yes
	desc = refill_maa_interaction_desc
	cooldown = { months = 6 }

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			government_allows = conditional_maa_refill
			NOT = { government_has_flag = government_is_nomadic }
		}
		scope:recipient = scope:actor
	}

	is_valid_showing_failures_only = {
		custom_tooltip = {
			text = reinforce_soldiers_any_regiment_tt
			scope:actor.maa_regiments_count >= 1
		}
		custom_tooltip = {
			text = reinforce_soldiers_unfull_regiment_tt
			scope:actor = {
				any_maa_regiment = { maa_regiments_valid_to_refill_trigger = yes }
			}
		}
		custom_tooltip = {
			text = SUPPLY_LOSS_AT_SEA
			scope:actor = { any_laamp_portion_at_sea_trigger = no }
		}
		custom_tooltip = {
			text = PROCURE_ESTATE_AT_WAR_TT
			scope:actor = {
				NOT = {
					any_army = {
						location.county.holder = {
							OR = {
								is_at_war_with = scope:actor
								any_liege_or_above = { is_at_war_with = scope:actor }
							}
						}
					}
				}
			}
		}
	}

	send_options_exclusive = yes

	send_option = {
		flag = provisions
		localization = reinforce_soldiers_option_provisions
		current_description = reinforce_soldiers_option_provisions_desc
		is_valid = {
			scope:actor.domicile.provisions >= 5
		}
	}

	send_option = {
		flag = gold
		localization = reinforce_soldiers_option_gold
		current_description = reinforce_soldiers_option_gold_desc
		is_valid = {
			scope:actor.gold >= 5
			custom_tooltip = {
				text = reinforce_soldiers_option_gold_tt
				NOT = {
					scope:actor.domicile.domicile_location.county.holder ?= { government_has_flag = government_is_tribal }
				}
			}
		}
	}

	on_accept = {
		scope:actor = {
			switch = {
				trigger = yes
				scope:gold = {
					if = {
						limit = { gold > replenishable_troops_payed_gold_tt_value }
						custom_tooltip = refill_maa_gold_full_tt
					}
					else = { custom_tooltip = refill_maa_gold_tt }
					custom_tooltip = refill_maa_gold_cost_tt
					refill_maa_with_gold_effect = yes
				}
				scope:provisions = {
					if = {
						limit = { domicile.provisions > replenishable_troops_payed_provisions_tt_value }
						custom_tooltip = refill_maa_provisions_full_tt
					}
					else = { custom_tooltip = refill_maa_provisions_tt }
					custom_tooltip = refill_maa_provision_cost_tt
					refill_maa_with_provisions_effect = yes
				}
			}
			if = {
				limit = {
					is_ai = yes
					NOR = {
						scope:gold = yes
						scope:provisions = yes
					}
				}
				refill_maa_with_provisions_effect = yes
			}
		}
	}
	
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 1
		kingdom = 0
		empire = 0
		hegemony = 0
	}
	ai_targets = {
		ai_recipients = self
	}
	ai_potential = {
		government_allows = conditional_maa_refill
		any_maa_regiment = { maa_current_troops_count < maa_max_troops_count }
	}

	ai_will_do = {
		base = 100
		modifier = {
			factor = 0
			scope:gold = yes
			gold <= 500
		}
	}
}

##################
# Evict Adventurer
# by Joe Parkin
##################

evict_adventurer_interaction = {
	common_interaction = yes
	category = interaction_category_diplomacy
	cooldown_against_recipient = { years = 5 }
	greeting = positive
	icon = icon_evict_adventurer
	desc = evict_adventurer_interaction_desc

	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 60
	ai_min_reply_days = 4
	ai_max_reply_days = 9

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = { is_landed = yes }
		scope:recipient != scope:actor
		scope:recipient = {
			OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority }
			is_landed = no
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_at_war = no
			NOR = {
				is_spouse_of = scope:recipient
				has_relation_friend = scope:recipient
				has_relation_lover = scope:recipient
			}
		}
		scope:recipient = {
			# Adventurer must be in the subrealm
			domicile.domicile_location.county.holder ?= {
				OR = {
					this = scope:actor
					any_liege_or_above = { this ?= scope:actor }
				}
			}
		}
		# AI should not against hired adventurers
		trigger_if = {
			limit = {
				scope:actor = { is_ai = yes }
			}
			scope:actor = {
				opinion = {
					target = scope:recipient
					value < 25
				}
			}
			NOT = {
				scope:recipient = {
					any_character_active_contract = { task_contract_employer = scope:actor }
				}
			}
		}
		scope:recipient = {
			NOT = { has_strong_hook = scope:actor }
		}
		# Story blockers.
		## Hereward cannot be exiled by active participants in the Harrying of the North.
		disable_interaction_for_hereward_trigger = yes
		## Hasan cannot be exiled by anyone during his story.
		disable_interaction_for_hasan_trigger = yes
	}

	on_send = {
		scope:recipient = {
			send_interface_toast = {
				type = diplo_contract_scheme_invalidated_message
				title = evict_adventurer_interaction.tt.contracts_invalidated.t
				right_icon = scope:actor
				custom_tooltip = {
					text = evict_adventurer_interaction.tt.contracts_invalidated
					every_character_task_contract = {
						limit = {
							task_contract_location.county.holder = {
								OR = {
									this = scope:actor
									any_liege_or_above = { this = scope:actor }
								}
							}
						}
						invalidate_contract = yes
					}
					# We also need to invalidate your active contract, if you've got one, since you need to be travelling.
					every_character_active_contract = { invalidate_contract = yes }
				}
			}
		}
	}

	on_accept = {
		scope:actor = { save_scope_as = expeller }
		scope:recipient = {
			save_scope_as = adventurer
			add_opinion = {
				target = scope:actor
				modifier = demanded_eviction_opinion
			}
			custom_tooltip = evict_adventurer_contracts_tt
		}
		scope:actor = {
			custom_description_no_bullet = {
				text = evict_adventurer_consequences_tt
				object = scope:recipient
				subject = scope:actor
			}
			custom_tooltip = evict_adventurer_casus_belli_tt
			show_as_tooltip = {
				add_opinion = {
					target = scope:recipient
					modifier = eviction_ignored_opinion
				}
			}
		}
		scope:recipient = {
			set_variable = {
				name = adventurer_expeller
				value = scope:actor
				months = 4
			}
			trigger_event = {
				id = ep3_interactions_events.0500
				days = 1 
			}
			trigger_event = {
				id = ep3_interactions_events.0501
				months = 3
			}
		}
	}

	on_decline = {
		scope:recipient = {
			start_war = {
				cb = ep3_laamp_apprehend_adventurer_cb
				target = scope:actor
			}
		}
	}

	auto_accept = yes

	ai_frequency_by_tier = {
		barony = 0
		county = 12
		duchy = 6
		kingdom = 6
		empire = 6
		hegemony = 6
	}
	ai_targets = {
		ai_recipients = sub_realm_domicile_owners
		max = 10
	}
	ai_potential = {
		is_at_war = no
		is_imprisoned = no
		NOT = { has_trait = incapable }
	}
	ai_will_do = {
		base = -25
		opinion_modifier = {
			who = scope:actor
			opinion_target = scope:recipient
			multiplier = -0.5
		}
		# Independent rulers or kings and over will happily exile claimants.
		modifier = {
			add = 250
			OR = {
				top_liege = this
				highest_held_title_tier >= tier_kingdom
			}
			scope:recipient = {
				any_claim = {
					tier >= scope:actor.highest_held_title_tier
					holder ?= scope:actor
				}
			}
		}
		modifier = {
			add = 10
			has_opinion_modifier = {
				modifier = failed_task_contract_opinion
				target = scope:recipient
			}
		}
		modifier = {
			add = 30
			has_opinion_modifier = {
				modifier = left_war_early
				target = scope:recipient
			}
		}
		modifier = {
			add = 100
			has_opinion_modifier = {
				modifier = switched_sides_in_war
				target = scope:recipient
			}
		}
		modifier = {
			add = {
				if = {
					limit = {
						OR = {
							has_opinion_modifier = {
								modifier = gallowsbait_scum_opinion
								target = scope:recipient
								value >= 100
							}
							has_opinion_modifier = {
								modifier = succeeded_criminal_contract_against_me_opinion
								target = scope:recipient
								value >= 100
							}
						}
					}
					add = 200
				}
				else_if = {
					limit = {
						OR = {
							has_opinion_modifier = {
								modifier = gallowsbait_scum_opinion
								target = scope:recipient
								value >= 80
							}
							has_opinion_modifier = {
								modifier = succeeded_criminal_contract_against_me_opinion
								target = scope:recipient
								value >= 80
							}
						}
					}
					add = 150
				}
				else_if = {
					limit = {
						OR = {
							has_opinion_modifier = {
								modifier = gallowsbait_scum_opinion
								target = scope:recipient
								value >= 60
							}
							has_opinion_modifier = {
								modifier = succeeded_criminal_contract_against_me_opinion
								target = scope:recipient
								value >= 60
							}
						}
					}
					add = 100
				}
				else_if = {
					limit = {
						OR = {
							has_opinion_modifier = {
								modifier = gallowsbait_scum_opinion
								target = scope:recipient
								value >= 40
							}
							has_opinion_modifier = {
								modifier = succeeded_criminal_contract_against_me_opinion
								target = scope:recipient
								value >= 40
							}
						}
					}
					add = 75
				}
				else_if = {
					limit = {
						OR = {
							has_opinion_modifier = {
								modifier = gallowsbait_scum_opinion
								target = scope:recipient
								value >= 20
							}
							has_opinion_modifier = {
								modifier = succeeded_criminal_contract_against_me_opinion
								target = scope:recipient
								value >= 20
							}
						}
					}
					add = 50
				}
				else_if = {
					limit = {
						OR = {
							has_opinion_modifier = {
								modifier = gallowsbait_scum_opinion
								target = scope:recipient
								value >= 0
							}
							has_opinion_modifier = {
								modifier = succeeded_criminal_contract_against_me_opinion
								target = scope:recipient
								value >= 0
							}
						}
					}
					add = 25
				}
			}
			OR = {
				has_opinion_modifier = {
					modifier = gallowsbait_scum_opinion
					target = scope:recipient
				}
				has_opinion_modifier = {
					modifier = succeeded_criminal_contract_against_me_opinion
					target = scope:recipient
				}
			}
		}
		# Factors must got at the bottom.
		## Don't evict people we can't beat up.
		modifier = {
			factor = 0
			scope:actor.current_military_strength < scope:recipient.military_strength_75_percent_value
		}
		## Don't evict anyone currently doing a job for us.
		modifier = {
			factor = 0
			scope:recipient = {
				any_character_task_contract = { task_contract_employer = scope:actor }
			}
		}
		## We _only_ evict if we actually dislike someone.
		first_valid = {
			# People close to us are more willing to put up with our bullshit.
			modifier = {
				factor = 0
				has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient }
				opinion = {
					target = scope:recipient
					value > -30
				}
			}
			modifier = {
				factor = 0
				opinion = {
					target = scope:recipient
					value > 0
				}
			}
		}
	}
}

#Become landless admin from laamp
procure_estate_interaction = {
	category = interaction_category_laamp
	icon = powerful_family_shield

	desc = procure_estate_interaction_desc

	cooldown_against_recipient = { years = 10 }

	notification_text = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:hook = yes
				}
				desc = PROCURE_ESTATE_HOOK
			}
			triggered_desc = {
				trigger = {
					scope:gold_option = yes
				}
				desc = PROCURE_ESTATE_GOLD
			}
			triggered_desc = {
				trigger = {
					scope:piety_option = yes
				}
				desc = PROCURE_ESTATE_PIETY
			}
			desc = PROCURE_ESTATE_PRESTIGE
		}
		desc = PROCURE_ESTATE_PROPOSAL_OUTRO
	}

	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 100
	ai_min_reply_days = 4
	ai_max_reply_days = 9

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
		scope:recipient = {
			is_landed = yes
			government_allows = noble_families
		}
		scope:recipient != scope:actor
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			top_liege = this
			prestige_level >= 2
			# Only house heads can have Noble Family titles
			custom_tooltip = {
				text = NOT_IS_HOUSE_HEAD
				house.house_head ?= {
					OR = {
						this = scope:actor
						is_ruler = no
					}
				}
			}
		}
		trigger_if = { # Only a Duke or higher can treat you right
			limit = {
				scope:recipient = {
					highest_held_title_tier < tier_duchy
				}
			}
			custom_description = {
				text = procure_estate_low_rank_tt
				always = no
			}
		}
		trigger_if = { # Not going to give you a title if you're at war
			limit = {
				scope:actor = {
					is_at_war_with = scope:recipient
				}
			}
			custom_description = {
				text = procure_estate_at_war_tt
				always = no
			}
		}
		scope:recipient = {
			NOT = { has_strong_hook = scope:actor }
		}
		#Has to be used instead of diplo range checks in laamp to landed interactions
		ep3_laamp_diplo_range_trigger = {
			TARGET = scope:recipient
			LAAMP = scope:actor
		}
		scope:recipient = { is_contact_of = scope:actor }

		# Adventurers can't join wars in places they're exiled from.
		custom_tooltip = {
			text = the_wake_1
			NOT = {
				is_laamp_exiled_from_province_trigger = {
					PROVINCE = scope:recipient.capital_province
					LAAMP = scope:actor
				}
			}
		}
	}

	auto_accept = {
		custom_description = {
			text = "spending_hook"
			subject = scope:actor
			object = scope:recipient
			scope:hook = yes
		}
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	send_option = {
		is_valid = {
			scope:actor = {
				has_usable_hook = scope:recipient
			}
		}
		flag = hook
		localization = SCHEME_HOOK
	}
	send_option = {
		flag = prestige_option
		localization = laamp_to_ladmin_prestige_option_desc
	}
	send_option = {
		flag = gold_option
		localization = laamp_to_ladmin_gold_option_desc
	}
	send_option = {
		flag = piety_option
		localization = laamp_to_ladmin_piety_option_desc
	}

	cost = {
		gold = {
			add = {
				value = procure_estate_interaction_cost_base_gold
				desc = BASE
			}
			if = {
				limit = { scope:gold_option = yes }
				add = {
					value = procure_estate_interaction_cost_base_gold
					desc = laamp_to_ladmin_gold_option_desc
				}
			}
		}
		prestige = {
			if = {
				limit = {
					NOR = {
						scope:gold_option = yes
						scope:piety_option = yes
						scope:hook = yes
					}
				}
				# Base cost
				add = {
					value = procure_estate_interaction_cost_base_prestige
					desc = BASE
				}
				# Gender modifiers
				if = {
					limit = {
						scope:recipient ?= {
							top_liege = { has_realm_law = male_preference_law }
						}
						scope:actor = {
							is_female = yes
						}
					}
					add = { # Increase the base cost
						value = {
							value = procure_estate_interaction_cost_base_prestige
							multiply = 0.25
						}
						desc = male_preference_law
					}
				}
				if = {
					limit = {
						scope:recipient ?= {
							top_liege = { has_realm_law = female_preference_law }
						}
						scope:actor = {
							is_male = yes
						}
					}
					add = { # Increase the base cost
						value = {
							value = procure_estate_interaction_cost_base_prestige
							multiply = 0.25
						}
						desc = female_preference_law
					}
				}
				#Brigands need to pay more to be legitimized
				if = {
					limit = {
						scope:actor = {
							has_realm_law = camp_purpose_brigands
						}
					}
					add = { # Increase the base cost
						value = {
							value = major_prestige_value
						}
						desc = camp_purpose_brigands
					}
				}
			}
		}
		piety = {
			if = {
				limit = {
					scope:piety_option = yes
				}

				# Base cost
				add = {
					value = procure_estate_interaction_cost_base_piety
					desc = BASE
				}

				# Gender modifiers
				if = {
					limit = {
						scope:recipient ?= {
							top_liege = { has_realm_law = male_preference_law }
						}
						scope:actor = {
							is_female = yes
						}
					}
					add = { # Increase the base cost
						value = {
							value = procure_estate_interaction_cost_base_piety
							multiply = 0.25
						}
						desc = male_preference_law
					}
				}
				if = {
					limit = {
						scope:recipient ?= {
							top_liege = { has_realm_law = female_preference_law }
						}
						scope:actor = {
							is_male = yes
						}
					}
					add = { # Increase the base cost
						value = {
							value = procure_estate_interaction_cost_base_piety
							multiply = 0.25
						}
						desc = female_preference_law
					}
				}
				#Brigands need to pay more to be legitimized
				if = {
					limit = {
						scope:actor = {
							has_realm_law = camp_purpose_brigands
						}
					}
					add = { # Increase the base cost
						value = {
							value = procure_estate_interaction_cost_base_piety
						}
						desc = camp_purpose_brigands
					}
				}
			}
		}
	}

	is_highlighted = {
		always = yes
	}

	on_accept = {
		scope:actor = {
			save_scope_as = adventurer
			procure_estate_interaction_effect = yes
			create_character_memory = {
				type = procured_estate_memory
				participants = { benefactor = scope:recipient }
			}
			if = {
				limit = {
					is_ai = no
				}
				add_achievement_global_variable_effect = {
					VARIABLE = started_from_the_bottom_now_were_ere_procure
					VALUE = yes
				}
			}
		}
		scope:actor = { trigger_event = ep3_interactions_events.0610 }
	}

	on_decline = {
		scope:actor = {
			save_scope_as = adventurer
			trigger_event = ep3_interactions_events.0611
		}
	}

	ai_targets = {
		ai_recipients = contacts
	}
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 60
		kingdom = 0
		empire = 0
		hegemony = 0
	}

	ai_accept = {
		base = 0 # Try to make it 0 for most interactions

		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}
		#DIFFERENT FAITH FROM STATE FAITH (if recipient is state faith)
		modifier = {
			add = -20
			desc = PROCURE_ESTATE_STATE_FAITH_REASON
			exists = scope:recipient.top_liege.primary_title.state_faith
			scope:actor.faith = {
				this != scope:recipient.top_liege.primary_title.state_faith
			}
			scope:recipient.faith = {
				this = scope:recipient.top_liege.primary_title.state_faith
			}
			NOT = {
				scope:piety_option = yes
			}
		}
		#Hey you're actually a local in my capital
		modifier = {
			add = 10
			desc = PROCURE_ESTATE_SAME_CULTURE_AS_CAPITAL_REASON
			scope:recipient.capital_county.culture = {
				this = scope:actor.culture
			}
		}
		#Your dynasty is worthless
		modifier = {
			add = -10
			scope:actor.dynasty = {
				dynasty_prestige_level < 2
			}
			desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON
		}
		#Your dynasty is pretty great actually
		modifier = {
			add = 10
			scope:actor.dynasty = {
				dynasty_prestige_level >= 4
				dynasty_prestige_level < 7
			}
			desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON
		}
		#Your dynasty is pretty great actually
		modifier = {
			add = 20
			scope:actor.dynasty = {
				dynasty_prestige_level >= 7
				dynasty_prestige_level < 10
			}
			desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON
		}
		#Your dynasty is pretty great actually
		modifier = {
			add = 30
			scope:actor.dynasty = { dynasty_prestige_level >= 10 }
			desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON
		}
		#We are not related
		modifier = {
			add = -15
			desc = PROCURE_ESTATE_SHARED_RELATIVES_REASON
			NOR = {
				scope:actor.house ?= {
					any_house_member = {
						is_close_or_extended_family_of = scope:recipient
					}
				}
				scope:actor = {
					any_close_or_extended_family_member = {
						is_close_or_extended_family_of = scope:recipient
					}
				}
				scope:recipient.house ?= {
					any_house_member = {
						is_close_or_extended_family_of = scope:actor
					}
				}
				scope:recipient = {
					any_spouse = {
						is_close_or_extended_family_of = scope:actor
					}
				}
				scope:actor = {
					any_spouse = {
						is_close_or_extended_family_of = scope:recipient
					}
				}
				scope:actor.dynasty = {
					this = scope:recipient.dynasty
				}
			}
		}
		#You are criminal scum
		modifier = {
			add = -50
			desc = PROCURE_ESTATE_BRIGANDS_REASON
			scope:actor = {
				has_realm_law = camp_purpose_brigands
			}
		}
		#You are an upright legitimist
		modifier = {
			add = 25
			desc = PROCURE_ESTATE_LEGITIMISTS_REASON
			scope:actor = {
				has_realm_law = camp_purpose_legitimists
			}
		}
		#You have a criminal background
		modifier = {
			add = -10
			desc = PROCURE_ESTATE_GALLOWSBAIT_REASON
			scope:actor = {
				has_trait = gallowsbait
			}
		}
		#You have a criminal background
		modifier = {
			add = -5
			desc = PROCURE_ESTATE_GALLOWSBAIT_REASON
			scope:actor = {
				has_trait = gallowsbait
				NOR = {
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value < 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value < 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value < 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value < 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value < 40
					}
				}
			}
		}
		modifier = {
			add = -20
			desc = PROCURE_ESTATE_GALLOWSBAIT_REASON
			scope:actor = {
				has_trait = gallowsbait
				OR = {
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= 40
					}
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= 40
					}
				}
				NOR = {
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value < 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value < 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value < 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value < 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value < 80
					}
				}
			}
		}
		modifier = {
			add = -50
			desc = PROCURE_ESTATE_GALLOWSBAIT_REASON
			scope:actor = {
				has_trait = gallowsbait
				OR = {
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= 80
					}
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= 80
					}
				}
			}
		}
		#You have an interesting claim within my realm
		modifier = {
			add = 5
			desc = PROCURE_ESTATE_CLAIMS_REASON
			scope:actor = {
				any_claim = {
					save_temporary_scope_as = laamp_claim_temp
					scope:recipient.top_liege.primary_title = {
						is_de_jure_liege_or_above_target = scope:laamp_claim_temp
					}
					NOT = {
						holder ?= scope:recipient
					}
				}
			}
		}
		#You are a challenger for the empire and I want you indebted to me
		modifier = {
			add = 20
			desc = PROCURE_ESTATE_IMPERIAL_CLAIMS_REASON
			scope:actor = {
				any_claim = {
					save_temporary_scope_as = laamp_claim_temp
					this = scope:recipient.top_liege.primary_title
					NOT = {
						holder ?= scope:recipient
					}
					scope:recipient = {
						NOR = {
							has_any_good_relationship_with_character_trigger = { CHARACTER = scope:recipient.top_liege }
							opinion = {
								target = scope:recipient.top_liege
								value >= -20
							}
							is_allied_to = scope:recipient.top_liege
						}
					}
				}
			}
		}
		#You have a scary claim on one of my titles!
		modifier = {
			add = -50
			desc = PROCURE_ESTATE_RIVAL_CLAIMANT_REASON
			scope:actor = {
				any_claim = {
					holder ?= scope:recipient
				}
			}
		}
		#Needs gold
		modifier = {
			add = 10
			scope:recipient = {
				gold <= minor_gold_value
			}
			NOT = {
				scope:gold_option = yes
			}
			desc = PROCURE_ESTATE_NEEDS_GOLD_REASON
		}
		#Needs gold and offering gold
		modifier = {
			add = 20
			scope:recipient = {
				gold <= minor_gold_value
			}
			scope:gold_option = yes
			desc = PROCURE_ESTATE_NEEDS_GOLD_REASON
		}
		#Needs piety
		modifier = {
			add = 20
			scope:recipient = {
				piety_level <= 0
			}
			scope:piety_option = yes
			desc = PROCURE_ESTATE_NEEDS_PIETY_REASON
		}

		#Needs prestige
		modifier = {
			add = 20
			scope:recipient = {
				prestige_level <= 0
			}
			scope:prestige_option = yes
			desc = PROCURE_ESTATE_NEEDS_PRESTIGE_REASON
		}
	}

	ai_will_do = {
		base = -25
		ai_value_modifier = {
			ai_boldness = -0.5
			ai_energy = -0.5
			ai_greed = 0.5
			ai_rationality = 0.5
		}
		modifier = {
			gold < 100
			factor = 0
		}
		modifier = {
			gold > 100
			OR = {
				prestige >= massive_prestige_value
				piety >= massive_piety_value
				gold >= massive_gold_value
			}
			add = 50
		}
		modifier = {
			has_hook = scope:recipient
			add = 200
		}
	}
}

request_laamp_legitimist_support = {
	interface_priority = 50
	common_interaction = yes
	category = interaction_category_laamp
	cooldown_against_recipient = { years = 5 }

	greeting = positive

	icon = request_invasion_sponsorship_interaction
	desc = request_laamp_legitimist_support_interaction_desc

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority }
			has_realm_law = camp_purpose_legitimists
		}
		scope:recipient = { 
			is_landed = yes
			is_ai = yes
			primary_title.tier >= tier_kingdom
		}
		scope:recipient != scope:actor
	}
	
	is_valid_showing_failures_only = {
		NOR = { #so legitimist AI can get lucky. It looks ugly but formats the tooltip correctly
			NOT = {
				ep3_laamp_diplo_range_trigger = {
					TARGET = scope:recipient
					LAAMP = scope:actor
				}
			}
			scope:actor = {
				is_available_ai_adult = yes
			}			
		}
			
		
		custom_tooltip = {
			text = request_laamp_legitimist_have_claim_on_target
			scope:actor = {
				NOT = {
					any_claim = {
						OR = {
							holder = {
								this = scope:recipient
							}
							holder.top_liege = {
								this = scope:recipient
							}
						}
					}
				}
			}
		}

		custom_tooltip = {
			text = request_laamp_legitimist_support_already_supporting
			scope:recipient = {
				NOT = {
					has_character_flag = legitimist_supporter
				}
			}
		}
		scope:recipient = {
			is_at_war = no
			is_available_ai_adult = yes
		}

		# Adventurers can't join wars in places they're exiled from.
		custom_tooltip = {
			text = the_wake_1
			NOT = {
				is_laamp_exiled_from_province_trigger = {
					PROVINCE = scope:recipient.capital_province
					LAAMP = scope:actor
				}
			}
		}
	}

	send_options_exclusive = no

	cost = {
		prestige = {
			value = massive_prestige_value
			if = {
				limit = {
					scope:actor.dynasty = scope:recipient.dynasty
				}
				divide = 2
			}
			if = {
				limit = { #so legitimist AI can get lucky
					scope:actor = { is_ai = yes }
				}
				divide = 6
			}
		}
	}

	on_accept = {
		scope:actor = {
			create_task_contract = {
				task_contract_type = laamp_legitimist_support_contract
				task_contract_tier = 3
				location = scope:recipient.capital_province
				task_contract_employer = scope:recipient
				save_temporary_scope_as = legitimist_contract
			}
			custom_tooltip = laamp_legitimist_support_contract_success
			if = {
				limit = {
					is_ai = yes
				}
				accept_task_contract = scope:legitimist_contract
			}
		}
	}

	on_decline = {

	}

	use_diplomatic_range = yes

	ai_accept = {
		base = -60
		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 1
			desc = AI_OPINION_REASON
		}
		modifier = {
			add = 40
			scope:actor = {
				any_claim = {
					tier >= tier_kingdom
					holder = {
						save_temporary_scope_as = claim_holder
					}
				}
				prestige_level > scope:claim_holder.prestige_level
			}
			desc = AI_REASON_LEGITIMIST_HIGHER_PRESTIGE
		}
		modifier = {
			add = 60
			scope:actor = {
				has_hook = scope:recipient
			}
			desc = YOU_HAVE_HOOK_REASON
		}
		modifier = {
			add = 10
			scope:actor.dynasty = scope:recipient.dynasty
			desc = BF_AI_SAME_DYNASTY_REASON
		}
		modifier = {
			add = 20
			scope:actor.house = scope:recipient.house
			desc = IS_SAME_HOUSE_REASON
		}
		modifier = {
			add = 20
			scope:recipient = { has_trait = ambitious }
			desc = RECIPIENT_IS_AMBITIOUS
		}
		modifier = {
			add = 10
			scope:recipient = { has_trait = just }
			desc = RECIPIENT_IS_JUST
		}
		modifier = {
			add = 10
			scope:recipient = { has_trait = greedy }
			desc = RECIPIENT_IS_GREEDY
		}
		modifier = {
			add = 40 #so legitimist AI can get lucky
			scope:actor = { is_ai = yes }
		}
	}

	can_send_despite_rejection = no
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 60
		kingdom = 0
		empire = 0
		hegemony = 0
	}
	ai_targets = {
		ai_recipients = domicile_location_neighboring_top_rulers
		ai_recipients = contacts
	}
	ai_potential = {
		is_at_war = no
		ai_greed <= 25
	}
	ai_will_do = {
		base = 100 #no downside to ai trying this
	}
}

#travel around the map to look for new contracts
relocate_camp_to_interaction = {
	category = interaction_category_laamp
	interface_priority = 100
	common_interaction = yes
	use_diplomatic_range = no
	ignores_pending_interaction_block = yes
	icon = icon_contract_escort
	desc = relocate_camp_to_interaction_desc
	is_shown = {
		scope:recipient != scope:actor
		scope:actor = {
			has_government = landless_adventurer_government
		}
		scope:recipient = { exists = capital_province } #just to make sure proper scopes will be set up
	}

	is_valid_showing_failures_only = {
		custom_tooltip = {
			text = relocate_camp_to_interaction.here
			scope:actor.domicile.domicile_location != scope:recipient.capital_province
		}
		scope:actor = {
			is_travelling = no
			is_in_army = no
			is_imprisoned = no
		}
		# Adventurers can't join wars in places they're exiled from.
		custom_tooltip = {
			text = the_wake_1
			NOT = {
				is_laamp_exiled_from_province_trigger = {
					PROVINCE = scope:recipient.capital_province
					LAAMP = scope:actor
				}
			}
		}
	}

	on_accept = {
		scope:recipient.capital_province = {
			save_scope_as = relocation_destination
		}
		scope:actor = {
			show_as_tooltip = {
				domicile = {
					move_domicile = scope:relocation_destination
				}
			}
			start_travel_plan = {
				destination = scope:relocation_destination
				on_start_on_action = on_travel_relocation_start
				on_arrival_on_action = on_travel_relocation_end
				on_arrival_destinations = last
				return_trip = no # One way
				travel_with_domicile = yes
			}
		}
	}

	auto_accept = yes
}

#
task_contract_train_knight_interaction = {
	category = interaction_category_laamp
	interface_priority = 120
	common_interaction = yes
	icon = icon_combat

	popup_on_receive = yes
	pause_on_receive = yes

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			any_character_active_contract = {
				task_contract_type = laamp_help_train_commanders_contract
				OR = {
					task_contract_employer ?= scope:recipient
					task_contract_target ?= scope:recipient
					any_in_list = {
						variable = knights_to_train
						is_alive = yes
						is_knight = yes
						this = scope:recipient
					}
				}
			}
		}
	}
	
	is_valid_showing_failures_only = {
	}

	redirect = {
		scope:actor = {
			random_character_active_contract = {
				task_contract_type = laamp_help_train_commanders_contract
				limit = {
					OR = {
						task_contract_employer ?= scope:recipient
						task_contract_target ?= scope:recipient
						any_in_list = {
							variable = knights_to_train
							is_alive = yes
							is_knight = yes
							this = scope:recipient
						}
					}
				}
				save_scope_as = task_contract
			}
		}
		if = {
			limit = {
				scope:task_contract ?= {
					any_in_list = {
						variable = knights_to_train
						is_alive = yes
						is_knight = yes
						this = scope:recipient						
					}
				}
			}
			scope:recipient = {
				save_scope_as = secondary_recipient
			}
			scope:secondary_recipient.liege = {
				save_scope_as = recipient
			}
		}
		if = {
			limit = {
				scope:task_contract.task_contract_employer ?= scope:recipient
				scope:task_contract.task_contract_employer.liege ?= scope:task_contract.task_contract_target
			}

		}
	}

	populate_recipient_list = {
		scope:actor = {
			random_character_active_contract = {
				task_contract_type = laamp_help_train_commanders_contract
				limit = {
					OR = {
						task_contract_employer ?= scope:recipient
						task_contract_target ?= scope:recipient
						any_in_list = {
							variable = knights_to_train
							is_alive = yes
							is_knight = yes
							this = scope:recipient
						}
					}
				}
				every_in_list = {
					variable = knights_to_train
					limit = {
						is_alive = yes
						is_knight = yes
					}
					add_to_list = characters
				}
			}
		}
	}

	is_highlighted = {
		always = yes
	}

	on_accept = {
		scope:actor = {
			random_character_active_contract = {
				task_contract_type = laamp_help_train_commanders_contract
				limit = {
					OR = {
						task_contract_employer ?= scope:recipient
						task_contract_target ?= scope:recipient
						any_in_list = {
							variable = knights_to_train
							is_alive = yes
							is_knight = yes
							this = scope:recipient
						}
					}
				}
				save_scope_as = task_contract
			}
		}
		scope:secondary_recipient = {
			save_scope_as = knight
			custom_tooltip = task_contract_train_knight_interaction.tt
		}
		scope:actor = {
			trigger_event = ep3_contract_event.0091
		}
	}

	auto_accept = yes

	ai_accept = {
		base = 100
	}

	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 12
		kingdom = 0
		empire = 0
		hegemony = 0
	}
	ai_targets = {
		ai_recipients = neighboring_rulers
		ai_recipients = liege
		ai_recipients = contacts
	}
	ai_potential = {
		is_at_war = no
	}
	ai_will_do = {
		base = 100 #no downside to ai trying this
	}
}

#landless adventurer are allowed to change allegiances mid-war
laamp_war_change_sides_interaction = {
	category = interaction_category_laamp
	icon = alliance
	desc = laamp_war_change_sides_interaction_desc
	common_interaction = yes
	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 120
	ai_min_reply_days = 0
	ai_max_reply_days = 0

	cooldown_against_recipient = { years = 3 }
	send_options_exclusive = yes

	is_shown = {
		scope:actor = {
			is_at_war = yes
			has_government = landless_adventurer_government
		}
		scope:recipient = {
			this != scope:actor
			any_war_ally = { this = scope:actor }
			any_character_war = {
				#can't switch/leave wars you lead
				NOT = { is_war_leader = scope:actor }
				#can't switch/leave Great Holy Wars
				NOR = {
					using_cb = undirected_great_holy_war
					using_cb = directed_great_holy_war
				}
				any_war_participant = {
					this = scope:recipient
				}
			}
		}
	}

	is_valid_showing_failures_only = {
		scope:recipient = {
			trigger_if = {
				limit = {
					any_character_war = {
						has_variable_list = already_switched_side
					}
				}
				custom_tooltip = {
					text = laamp_war_change_sides_interaction.already_switched_side
					is_target_in_variable_list = {
						name = already_switched_side
						target = scope:actor	
					}
				}
			}
		}
	}

	populate_recipient_list = {
		scope:recipient = {
			every_character_war = {
				limit = {
					OR = {
						primary_attacker = scope:recipient
						primary_defender = scope:recipient
					}
					#can't switch/leave wars you lead
					NOT = { is_war_leader = scope:actor }
					#can't switch/leave Great Holy Wars
					NOR = {
						using_cb = undirected_great_holy_war
						using_cb = directed_great_holy_war
					}
					any_war_participant = {
						this = scope:recipient
					}
				}
				if = {
					limit = { primary_attacker = scope:recipient }
					primary_defender = { add_to_list = characters }
				}
				else = {
					primary_attacker = { add_to_list = characters }
				}
			}
		}
	}

	on_accept = {
		scope:recipient = {
			save_scope_as = betrayed_leader
		}
		scope:secondary_recipient = {
			save_scope_as = new_leader
		}
		scope:actor = {
			#ROOT is  a 4th crusader and should not be one anymore
			frankokratia_remove__war_leader_var_effect = yes
			#ROOT is not a 4th crusader and should be one
			if = {
				limit = {
					any_character_war = {
						using_cb = crusading_claim_cb
						any_war_participant = {
							this = scope:recipient
						}
						any_war_participant = {
							any_owned_story = {
								type = frankokratia_story
								NOT = {
									any_in_list = {
										variable = frankokratia_leaders
										this = scope:actor
									}
								}
							}
						}
						any_war_defender = {
							this = scope:actor
						}
					}
				}
				random_character_war = {
					limit = {
						any_war_participant = {
							any_owned_story = {
								type = frankokratia_story
								NOT = {
									any_in_list = {
										variable = frankokratia_leaders
										this = scope:actor
									}
								}
							}
						}
						any_war_defender = {
							this = scope:actor
						}
					}
					random_war_participant = {
						limit = {
							any_owned_story = {
								type = frankokratia_story
								NOT = {
									any_in_list = {
										variable = frankokratia_leaders
										this = scope:actor
									}
								}
							}
						}
						random_owned_story = {
							type = frankokratia_story
							limit = {
								NOT = {
									any_in_list = {
										variable = frankokratia_leaders
										this = scope:actor
									}
								}
							}
							add_to_variable_list = {
								name = frankokratia_leaders
								target = scope:actor
							}
						}
					}
				}
			}
			random_character_war = {
				limit = {
					OR = {
						primary_attacker = scope:recipient
						primary_defender = scope:recipient
					}
					OR = {
						primary_attacker = scope:secondary_recipient
						primary_defender = scope:secondary_recipient
					}
				}
				save_scope_as = war
			}
			if = {
				limit = {
					scope:war = {
						using_non_ghw_holy_war_cb_trigger = yes
					}
					scope:recipient.faith = scope:actor.faith
				}
				add_piety_level = -1
			}
			every_character_active_contract = {
				limit = {
					var:task_contract_war = scope:war
				}
				complete_task_contract = failure_standard
			}
			# Clear Offer Assistance.
			if = {
				limit = {
					has_variable = owed_contract_assistance_war
					scope:recipient = { is_participant_in_war = scope:actor.var:owed_contract_assistance_war }
				}
				remove_variable = owed_contract_assistance_war
				remove_variable = owed_contract_assistance_contribution
				remove_variable = owed_contract_assistance_gold
			}
		}
		scope:war = {
			hidden_effect = {
				remove_participant = scope:actor
			}
			if = {
				limit = {
					is_defender = scope:secondary_recipient
				}
				add_defender = scope:actor
			}
			else = {
				add_attacker = scope:actor
			}
		}
		scope:actor = {
			every_character_war = {
				limit = {
					OR = {
						primary_attacker = scope:recipient
						primary_defender = scope:recipient
					}
					this != scope:war
				}
				remove_participant = scope:actor
			}
		}
		scope:actor = {
			# We deliberately charge you here to let you go into prestige debt; you shouldn't be blocked from switching sides due to a lack of prestige if you're willing to tank the loss.
			add_prestige = {
				value = -250
				multiply = {
					value = scope:recipient.highest_held_title_tier
					add = -1
				}
			}
			if = {
				limit = { scope:recipient.highest_held_title_tier >= tier_kingdom }
				add_prestige_level = -1
			}
			if = {
				limit = {
					NOT = { has_contact = scope:secondary_recipient }
				}
				add_contact = scope:secondary_recipient
			}
			# Break the alliance
			if = {
				limit = { is_allied_to = scope:recipient }
				break_alliance = scope:recipient
			}
			# And don't forget stress!
			stress_impact = {
				base = major_stress_impact_gain
				disloyal = medium_stress_impact_loss
				ambitious = minor_stress_impact_loss
				arrogant = minor_stress_impact_loss
				callous = miniscule_stress_impact_loss
				arbitrary = miniscule_stress_impact_loss
				just = minor_stress_impact_gain
				humble = medium_stress_impact_gain
				content = medium_stress_impact_gain
				loyal = major_stress_impact_gain
			}
		}
		scope:recipient = {
			if = {
				limit = {
					can_set_relation_potential_rival_trigger = { CHARACTER = scope:actor }
				}
				set_relation_potential_rival = scope:actor
			}
			add_opinion = {
				modifier = switched_sides_in_war
				target = scope:actor
			}
		}
		scope:secondary_recipient = {
			add_opinion = {
				modifier = switched_to_my_side
				target = scope:actor
			}
			if = {
				limit = { is_ai = yes }
				pay_short_term_gold = {
					target = scope:actor
					gold = major_gold_value
				}
			}
		}
		scope:recipient = {
			every_character_war = {
				limit = {
					OR = {
						primary_attacker = scope:recipient
						primary_defender = scope:recipient
					}
					#can't switch/leave wars you lead
					NOT = { is_war_leader = scope:actor }
					#can't switch/leave Great Holy Wars
					NOR = {
						using_cb = undirected_great_holy_war
						using_cb = directed_great_holy_war
					}
					any_war_participant = {
						this = scope:recipient
					}
					NOR = {
						primary_attacker = scope:secondary_recipient
						primary_defender = scope:secondary_recipient
					}
				}
				if = {
					limit = { primary_attacker = scope:recipient }
					primary_defender = {
						add_opinion = {
							modifier = left_war_early
							opinion = 40
							target = scope:actor
						}
					}
				}
				else = {
					primary_attacker = {
						add_opinion = {
							modifier = left_war_early
							opinion = 20
							target = scope:actor
						}
					}
				}
			}
		}
		scope:war = {
			add_to_variable_list = {
				name = already_switched_side
				target = scope:actor
			}
		}
	}

	auto_accept = yes

	ai_potential = {
		is_at_war = yes
	}

	ai_targets = {
		ai_recipients = war_allies
	}
	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 24
		kingdom = 0
		empire = 0
		hegemony = 0
	}

	ai_will_do = {
		base = -25
		#you have to be dishonorable and greedy to do this
		ai_value_modifier = {
			ai_honor = -0.1
			ai_greed = 0.1
		}
		##check if the recipient is the war leader and do it
		#if they are infamous
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			scope:recipient = {
				prestige_level < 0
			}
			add = 5
		}
		#if they are impious
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			scope:recipient = {
				piety_level < 0
			}
			add = 5
		}
		#if they are a criminal
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			has_any_criminal_trait_in_faith_trigger = {
				CHARACTER = scope:recipient
				FAITH = scope:actor.faith
			}
			add = 5
		}
		#if they wronged you or your family
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			scope:actor = {
				has_any_major_revenge_opinion_against_character_trigger = {
					CHARACTER = scope:recipient
				}
			}
			add = 5
		}
		#if they have good relation with the other side
		modifier = {
			any_character_war = {
				OR = {
					AND = {
						primary_defender = scope:recipient
						primary_attacker = {
							has_any_good_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
					AND = {
						primary_attacker = scope:recipient
						primary_defender = {
							has_any_good_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
				}
			}
			add = 5
		}
		#don't do it
		# if the other side has bad relation with you
		modifier = {
			any_character_war = {
				OR = {
					AND = {
						primary_defender = scope:recipient
						primary_attacker = {
							has_any_bad_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
					AND = {
						primary_attacker = scope:recipient
						primary_defender = {
							has_any_bad_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
				}
			}
			add = -1000
		}
		# you are winning
		modifier = {
			any_character_war = {
				OR = {
					AND = {
						primary_defender = scope:recipient
						defender_war_score >= 0
					}
					AND = {
						primary_attacker = scope:recipient
						attacker_war_score >= 0
					} 
				}
			}
			add = -1000
		}
		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = -0.1
			desc = AI_OPINION_REASON
		}
	}
}

#landless adventurer are allowed to leave the war outright
laamp_leave_war_interaction = {
	category = interaction_category_laamp
	icon = alliance
	desc = laamp_leave_war_interaction_desc
	common_interaction = yes
	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 120
	ai_min_reply_days = 0
	ai_max_reply_days = 0

	cooldown_against_recipient = { years = 3 }
	send_options_exclusive = yes

	is_shown = {
		scope:actor = {
			is_at_war = yes
			has_government = landless_adventurer_government
		}
		scope:recipient = {
			this != scope:actor
			any_war_ally = { this = scope:actor }
			any_character_war = {
				is_participant = scope:recipient
				#can't leave wars you lead
				NOT = { is_war_leader = scope:actor }
			}
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			any_character_war = {
				is_participant = scope:recipient
				#can't leave wars you lead
				NOT = { is_war_leader = scope:actor }
				#can't leave Great Holy Wars
				NOR = {
					using_cb = undirected_great_holy_war
					using_cb = directed_great_holy_war
				}
			}
		}
		scope:recipient = {
			trigger_if = {
				limit = {
					any_character_war = {
						has_variable_list = already_switched_side
					}
				}
				custom_tooltip = {
					text = laamp_war_change_sides_interaction.already_switched_side
					is_target_in_variable_list = {
						name = already_switched_side
						target = scope:actor	
					}
				}
			}
		}
	}

	on_accept = {
		scope:recipient = {
			save_scope_as = betrayed_leader
		}
		scope:secondary_recipient = {
			save_scope_as = new_leader
		}
		scope:actor = {
			#ROOT is  a 4th crusader and should not be one anymore
			frankokratia_remove__war_leader_var_effect = yes
			every_character_war = {
				limit = {
					OR = {
						primary_attacker = scope:recipient
						primary_defender = scope:recipient
					}
					#can't switch/leave wars you lead
					NOT = { is_war_leader = scope:actor }
					#can't switch/leave Great Holy Wars
					NOR = {
						using_cb = undirected_great_holy_war
						using_cb = directed_great_holy_war
					}
					any_war_participant = {
						this = scope:recipient
					}
				}
				remove_participant = scope:actor
				if = {
					limit = { primary_defender = scope:recipient }
					primary_attacker = {
						add_opinion = {
							modifier = left_war_early
							opinion = 30
							target = scope:actor
						}
					}
				}
				else = {
					primary_defender = {
						add_opinion = {
							modifier = left_war_early
							opinion = 30
							target = scope:actor
						}
					}
				}
				add_to_variable_list = {
					name = left_voluntarily
					target = scope:actor
				}
			}
			if = {
				limit = {
					scope:war = {
						using_non_ghw_holy_war_cb_trigger = yes
					}
				}
				add_piety_level = -1
			}
			save_scope_value_as = {
				name = task_contract_reward
				value = flag:failure_standard
			}
			save_scope_value_as = {
				name = task_contract_tier
				value = scope:task_contract.task_contract_tier
			}
			every_character_active_contract = {
				limit = { var:task_contract_war = scope:war }
				task_contract_employer = { save_scope_as = task_contract_employer }
				invalidate_contract = yes
			}
			if = {
				limit = {
					NOT = {
						exists = scope:task_contract_employer
					}
				}
				scope:recipient = {
					save_scope_as = task_contract_employer
				}
			}
			trigger_event = ep3_contract_event.0013
			# We deliberately charge you here to let you go into prestige debt; you shouldn't be blocked from switching sides due to a lack of prestige if you're willing to tank the loss.
			add_prestige = {
				value = -200
				multiply = {
					value = scope:recipient.highest_held_title_tier
					add = -1
				}
			}
			if = {
				limit = { scope:recipient.highest_held_title_tier >= tier_kingdom }
				add_prestige_level = -1
			}
			# Break the alliance
			if = {
				limit = { is_allied_to = scope:recipient }
				break_alliance = scope:recipient
			}
			# And don't forget stress!
			stress_impact = {
				base = major_stress_impact_gain
				disloyal = medium_stress_impact_loss
				ambitious = minor_stress_impact_loss
				arrogant = minor_stress_impact_loss
				callous = miniscule_stress_impact_loss
				arbitrary = miniscule_stress_impact_loss
				just = minor_stress_impact_gain
				humble = medium_stress_impact_gain
				content = medium_stress_impact_gain
				loyal = major_stress_impact_gain
			}
			# Clear Offer Assistance.
			if = {
				limit = {
					has_variable = owed_contract_assistance_war
					scope:recipient = { is_participant_in_war = scope:actor.var:owed_contract_assistance_war }
				}
				remove_variable = owed_contract_assistance_war
				remove_variable = owed_contract_assistance_contribution
				remove_variable = owed_contract_assistance_gold
			}
		}
		scope:recipient = {
			if = {
				limit = {
					can_set_relation_potential_rival_trigger = { CHARACTER = scope:actor }
				}
				set_relation_potential_rival = scope:actor
			}
			add_opinion = {
				modifier = left_war_early
				target = scope:actor
			}
		}
	}

	auto_accept = yes

	ai_potential = {
		is_at_war = yes
	}

	ai_targets = {
		ai_recipients = war_allies
	}

	ai_frequency_by_tier = {
		barony = 0
		county = 0
		duchy = 24
		kingdom = 0
		empire = 0
		hegemony = 0
	}

	ai_will_do = {
		base = -25
		#you have to be dishonorable and lazy to do this
		ai_value_modifier = {
			ai_honor = -0.1
			ai_energy = -0.1
		}
		##check if the recipient is the war leader and do it
		#if they are infamous
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			scope:recipient = {
				prestige_level < 0
			}
			add = 5
		}
		#if they are impious
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			scope:recipient = {
				piety_level < 0
			}
			add = 5
		}
		#if they are a criminal
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			has_any_criminal_trait_in_faith_trigger = {
				CHARACTER = scope:recipient
				FAITH = scope:actor.faith
			}
			add = 5
		}
		#if they wronged you or your family
		modifier = {
			any_character_war = {
				is_war_leader = scope:recipient
			}
			scope:actor = {
				has_any_major_revenge_opinion_against_character_trigger = {
					CHARACTER = scope:recipient
				}
			}
			add = 5
		}
		#if they have good relation with the other side
		modifier = {
			any_character_war = {
				OR = {
					AND = {
						primary_defender = scope:recipient
						primary_attacker = {
							has_any_good_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
					AND = {
						primary_attacker = scope:recipient
						primary_defender = {
							has_any_good_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
				}
			}
			add = 5
		}
		#don't do it
		# if the other side has bad relation with you
		modifier = {
			any_character_war = {
				OR = {
					AND = {
						primary_defender = scope:recipient
						primary_attacker = {
							has_any_bad_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
					AND = {
						primary_attacker = scope:recipient
						primary_defender = {
							has_any_bad_relationship_with_character_trigger = {
								CHARACTER = scope:actor
							}
						}
					}
				}
			}
			add = -1000
		}
		# you are winning
		modifier = {
			any_character_war = {
				OR = {
					AND = {
						primary_defender = scope:recipient
						defender_war_score >= 0
					}
					AND = {
						primary_attacker = scope:recipient
						attacker_war_score >= 0
					} 
				}
			}
			add = -1000
		}
		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = -0.1
			desc = AI_OPINION_REASON
		}
	}
}
