# PLAYER ONLY - AI uses the two separate interactions below this ( Promote/Harm Candidacy)
influence_candidacy_interaction = {
	icon = support_candidacy
	category = interaction_category_succession
	common_interaction = yes
	interface_priority = 100
	desc = influence_candidacy_interaction_desc

	target_type = title
	target_filter = recipient_de_jure_titles

	custom_character_sort = { governor_efficiency candidate_score }

	populate_recipient_list = {
		scope:actor = {
			house ?= {
				every_house_member = {
					limit = {
						is_independent_ruler = no
						government_allows = administrative
						top_liege = scope:actor.top_liege
						any_valid_title_to_grant_trigger = {
							CANDIDATE = this
							TOP_LIEGE = scope:actor.top_liege
						}
					}
					add_to_list = characters
				}
			}
			if = {
				limit = { primary_title.tier >= tier_kingdom }
				every_courtier_or_guest = {
					limit = {
						is_independent_ruler = no
						government_allows = administrative
						top_liege = scope:actor.top_liege
						any_valid_title_to_grant_trigger = {
							CANDIDATE = this
							TOP_LIEGE = scope:actor.top_liege
						}
					}
					add_to_list = characters
				}
			}
		}
	}

	can_be_picked_title = {
		trigger_if = {
			limit = { exists = scope:secondary_recipient }
			is_appointment_valid_trigger = {
				TITLE = scope:target
				CANDIDATE = scope:secondary_recipient
				TOP_LIEGE = scope:recipient
			}
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target = {
			tier >= tier_duchy
			exists = holder
			is_noble_family_title = no
			holder = {
				top_liege = scope:recipient
				OR = {
					has_realm_law = acclamation_succession_law
					has_realm_law = appointment_succession_law
				}
			}
		}
	}

	is_shown = {
		scope:actor = {
			is_ai = no
			government_allows = administrative
		}
		trigger_if = {
			limit = { exists = scope:secondary_recipient }
			scope:secondary_recipient = {
				is_independent_ruler = no
				government_allows = administrative
				top_liege = scope:actor.top_liege
			}
		}
	}

	is_valid_showing_failures_only = {
	}

	can_send = {
		trigger_if = {
			limit = {
				OR = {
					scope:as_much_as_needed_influence_option = yes
					scope:major_influence_option = yes
					scope:medium_influence_option = yes
				}
			}
			scope:actor = {
				custom_tooltip = {
					text = support_candidacy_cap_reached_tt
					succession_appointment_score_invested = {
						title = scope:target
						candidate = scope:secondary_recipient
						value < scope:actor.appointment_investment_cap
					}
				}
			}

			# Check if the target is available or if they have decided to not compete for the throne
			trigger_if = {
				limit = {
					exists = scope:target
					scope:target.tier = scope:recipient.highest_held_title_tier
				}
				scope:secondary_recipient = {
					custom_tooltip = {
						text = admin_renounce_throne_desc
						NOR = {
							has_character_modifier = ep3_admin_renounce_throne_personal
							house ?= { has_house_modifier = ep3_admin_renounce_throne_house }
						}
					}
				}
			}
		}
	}

	redirect = {
		scope:recipient = {
			if = {
				limit = {
					NOT = { this = scope:actor.top_liege }
				}
				save_scope_as = secondary_recipient
				scope:actor.top_liege = {
					save_scope_as = recipient
				}
			}
		}
	}

	auto_accept = yes

	send_option = {
		flag = as_much_as_needed_influence_option
		localization = "as_much_as_needed_influence_option_desc"
		is_valid = {
			trigger_if = {
				limit = {
					exists = scope:target
					exists = scope:secondary_recipient
				}
				custom_tooltip = {
					text = already_first_in_line_influence_option_desc
					NOT = { scope:target.current_heir = scope:secondary_recipient }
				}
			}
		}
	}
	send_option = {
		flag = major_influence_option
		localization = "major_influence_option_desc"
	}
	send_option = {
		flag = medium_influence_option
		localization = "medium_influence_option_desc"
		starts_enabled = { always = yes }
	}
	send_option = {
		flag = medium_influence_loss_option
		localization = "medium_influence_loss_option_desc"
	}
	send_option = {
		flag = major_influence_loss_option
		localization = "major_influence_loss_option_desc"
	}

	cost = {
		influence = {
			# Base cost
			switch = {
				trigger = yes
				scope:as_much_as_needed_influence_option = {
					add = {
						if = {
							limit = { exists = scope:secondary_recipient }
							value = {
								add = {
									value = "scope:target.current_heir.appointment_candidate_score(scope:target)"
									multiply = 1.1
								}
								subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)"
								multiply = 5
								min = 20 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir
							}
						}
						else = { value = 20 } # Show the default cost if there is no candidate selected yet
						desc = BASE
					}
				}
				scope:major_influence_option = {
					add = {
						value = appointment_major_influence_cost
						desc = BASE
					}
				}
				scope:medium_influence_option = {
					add = {
						value = appointment_medium_influence_cost
						desc = BASE
					}
				}
				scope:medium_influence_loss_option = {
					add = {
						value = appointment_medium_influence_cost
						desc = BASE
					}
				}
				scope:major_influence_loss_option = {
					add = {
						value = appointment_major_influence_cost
						desc = BASE
					}
				}
			}

			save_temporary_value_as = calculated_base_cost

			# Gender modifiers
			if = {
				limit = {
					scope:secondary_recipient ?= {
						top_liege = { has_realm_law = male_preference_law }
						is_female = yes
					}
				}
				if = {
					limit = {
						OR = {
							scope:medium_influence_loss_option = yes
							scope:major_influence_loss_option = yes
						}
					}
					add = {
						value = scope:calculated_base_cost
						multiply = -0.5
						desc = male_preference_law
					}
				}
				else = {
					add = { # Double the (base) cost
						value = scope:calculated_base_cost
						desc = male_preference_law
					}
				}
			}
			else_if = {
				limit = {
					scope:secondary_recipient ?= {
						top_liege = { has_realm_law = female_preference_law }
						is_female = no
					}
				}
				if = {
					limit = {
						OR = {
							scope:medium_influence_loss_option = yes
							scope:major_influence_loss_option = yes
						}
					}
					add = {
						value = scope:calculated_base_cost
						multiply = -0.5
						desc = female_preference_law
					}
				}
				else = {
					add = { # Double the (base) cost
						value = scope:calculated_base_cost
						desc = female_preference_law
					}
				}
			}


			# Local bonuses
			if = {
				limit = {
					scope:actor = {
						domicile ?= {
							domicile_location.county = {
								scope:target ?= { is_de_jure_liege_or_above_target = prev }
							}
						}
					}
					scope:target ?= { tier < tier_empire }
				}
				add = {
					value = scope:calculated_base_cost
					multiply = {
						value = -0.25
						if = {
							limit = { # Increase the bonus if you have the "office" estate upgrade
								scope:actor = {
									domicile ?= { has_domicile_parameter = estate_local_theme_cost_reduction }
								}
							}
							add = estate_local_theme_cost_reduction_value
						}
					}
					desc = estate_location_in_area
				}
			}

			# Bureaucracy Legacy Perk Discount
			if = {
				limit = {
					scope:actor.dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_2 }
				}
				add = {
					value = scope:calculated_base_cost
					multiply = -0.1
					desc = "[GetDynastyPerk('ep3_administrative_legacy_2').GetName]"
				}
			}

			# A dominant family gets to spend less influence
			if = {
				limit = {
					scope:actor.house ?= { is_dominant_family = yes }
				}
				add = {
					value = scope:calculated_base_cost
					multiply = -0.5
					desc = "[dominant_family|E]"
				}
			}
		}
	}

	localization_values = {
		AS_MUCH_AS_NEEDED_INFLUENCE_OPTION = scope:actor.appointment_score_max_tt_value
		MAJOR_INFLUENCE_OPTION = scope:actor.appointment_score_major_tt_value
		MEDIUM_INFLUENCE_OPTION = scope:actor.appointment_score_medium_tt_value
		MEDIUM_INFLUENCE_LOSS_OPTION = scope:actor.appointment_score_medium_loss_tt_value
		MAJOR_INFLUENCE_LOSS_OPTION = scope:actor.appointment_score_major_loss_tt_value
	}

	on_accept = {
		switch = {
			trigger = yes
			scope:as_much_as_needed_influence_option = {
				# Save the score value
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = 0
						if = {
							limit = { exists = scope:target }
							add = {
								value = "scope:target.current_heir.appointment_candidate_score(scope:target)"
								multiply = 1.1
							}
							subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)"
						}
						min = 4 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				if = {
					limit = {
						scope:support_candidate_score >= 100
					}
					save_scope_value_as = {
						name = opinion_change_value
						value = 25
					}
				}
				else_if = {
					limit = {
						scope:support_candidate_score >= 80
					}
					save_scope_value_as = {
						name = opinion_change_value
						value = 20
					}
				}
				else_if = {
					limit = {
						scope:support_candidate_score >= 60
					}
					save_scope_value_as = {
						name = opinion_change_value
						value = 15
					}
				}
				else_if = {
					limit = {
						scope:support_candidate_score >= 40
					}
					save_scope_value_as = {
						name = opinion_change_value
						value = 10
					}
				}
				else_if = {
					limit = {
						scope:support_candidate_score >= 20
					}
					save_scope_value_as = {
						name = opinion_change_value
						value = 5
					}
				}
				else_if = {
					limit = {
						scope:support_candidate_score >= 10
					}
					save_scope_value_as = {
						name = opinion_change_value
						value = 3
					}
				}
				else = {
					save_scope_value_as = {
						name = opinion_change_value
						value = 1
					}
				}
			}
			scope:major_influence_option = {
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = appointment_score_major_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = 10
				}
			}
			scope:medium_influence_option = {
				# Save the score value
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = appointment_score_medium_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = 5
				}
			}
			scope:medium_influence_loss_option = {
				# Save the score value
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = appointment_score_medium_loss_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = -10
				}
			}
			scope:major_influence_loss_option = {
				# Save the score value
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = appointment_score_major_loss_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = -20
				}
			}
		}

		# Update the score for the corresponding title
		scope:target = {
			change_appointment_investment = {
				target = scope:secondary_recipient
				investor = scope:actor
				value = scope:support_candidate_score
			}
			if = {
				limit = { appointment_interactions_recipient_is_suitable_co_emperor_trigger = yes }
				diarch_promoted_as_administrative_candidate_get_best_tooltip_effect = yes
			}
		}

		if = {
			limit = {
				OR = {
					scope:as_much_as_needed_influence_option = yes
					scope:major_influence_option = yes
					scope:medium_influence_option = yes
				}
			}
			# Notify the supported character (unless they are the actor)
			scope:secondary_recipient ?= {
				if = {
					limit = {
						NOT = { this = scope:actor }
					}
					hidden_effect = {
						send_interface_message = {
							type = msg_candidacy_improved
							title = supported_candidacy_toast
							left_icon = scope:actor
							right_icon = scope:target
							show_as_tooltip = {
								scope:target = {
									change_appointment_investment = {
										target = scope:secondary_recipient
										investor = scope:actor
										value = scope:support_candidate_score
									}
								}
							}
						}
					}
				}
				if = {
					limit = {
						NOT = { house ?= scope:actor.house }
					}
					add_opinion = {
						modifier = supported_candidacy_opinion
						target = scope:actor
						opinion = scope:opinion_change_value
					}
					custom_tooltip = support_candidacy_success_reward_tt
				}
			}
		}
		else = {
			# Notify the harmed character (unless they are the actor)
			scope:secondary_recipient ?= {
				if = {
					limit = { this != scope:actor }
					hidden_effect = {
						send_interface_message = {
							type = msg_candidacy_harmed
							title = harmed_candidacy_toast
							left_icon = scope:actor
							right_icon = scope:target
							show_as_tooltip = {
								scope:target = {
									change_appointment_investment = {
										target = scope:secondary_recipient
										investor = scope:actor
										value = scope:support_candidate_score
									}
								}
							}
						}
					}
					add_opinion = {
						modifier = harmed_candidacy_opinion
						target = scope:actor
						opinion = scope:opinion_change_value
					}
				}
			}
		}
	}
}

# AI ONLY - Interaction is referenced in code, please don't rename it used by AI from code
support_candidacy_interaction = {
	icon = support_candidacy
	common_interaction = yes
	hidden = yes

	desc = support_candidacy_interaction_desc

	target_type = title
	target_filter = recipient_de_jure_titles

	can_be_picked_title = {
		is_appointment_valid_trigger = {
			TITLE = scope:target
			CANDIDATE = scope:secondary_recipient
			TOP_LIEGE = scope:recipient
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target = {
			tier >= tier_duchy
			exists = holder
			is_noble_family_title = no
			holder = {
				top_liege = scope:recipient
				has_realm_law_flag = appointment_type_succession
			}
		}
	}

	is_shown = {
		scope:actor = {
			is_ai = yes
			government_allows = administrative
		}
		scope:secondary_recipient = {
			is_independent_ruler = no
			government_allows = administrative
			top_liege = scope:actor.top_liege
		}
	}

	is_valid_showing_failures_only = {
		any_valid_title_to_grant_trigger = {
			CANDIDATE = scope:secondary_recipient
			TOP_LIEGE = scope:recipient
		}
		scope:actor = {
			NOT = { is_at_war_with = scope:recipient }
		}
	}

	can_send = {
		is_appointment_valid_trigger = {
			TITLE = scope:target
			CANDIDATE = scope:secondary_recipient
			TOP_LIEGE = scope:recipient
		}
	}

	redirect = {
		scope:recipient = {
			save_scope_as = secondary_recipient
		}
		scope:actor.top_liege = {
			save_scope_as = recipient
		}
	}

	auto_accept = yes

	send_option = {
		flag = as_much_as_needed_influence_option
		localization = as_much_as_needed_influence_option_desc
	}
	send_option = {
		flag = major_influence_option
		localization = major_influence_option_desc
	}
	send_option = {
		flag = medium_influence_option
		localization = medium_influence_option_desc
		starts_enabled = { always = yes }
	}

	cost = {
		influence = {
			# Base cost
			switch = {
				trigger = yes
				scope:as_much_as_needed_influence_option = {
					add = {
						value = {
							add = {
								value = "scope:target.current_heir.appointment_candidate_score(scope:target)"
								multiply = 1.1
							}
							subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)"
							multiply = 5
							min = 20 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir
						}
						desc = BASE
					}
				}
				scope:major_influence_option = {
					add = {
						value = appointment_major_influence_cost
						desc = BASE
					}
				}
				scope:medium_influence_option = {
					add = {
						value = appointment_medium_influence_cost
						desc = BASE
					}
				}
			}

			save_temporary_value_as = calculated_base_cost

			# Gender modifiers
			if = {
				limit = {
					scope:secondary_recipient ?= {
						top_liege = { has_realm_law = male_preference_law }
						is_female = yes
					}
				}
				add = { # Double the (base) cost
					value = scope:calculated_base_cost
					desc = male_preference_law
				}
			}
			else_if = {
				limit = {
					scope:secondary_recipient ?= {
						top_liege = { has_realm_law = female_preference_law }
						is_female = no
					}
				}
				add = { # Double the (base) cost
					value = scope:calculated_base_cost
					desc = female_preference_law
				}
			}


			# Local bonuses
			if = {
				limit = {
					scope:actor = {
						domicile ?= {
							domicile_location.county = {
								scope:target ?= { is_de_jure_liege_or_above_target = prev }
							}
						}
					}
					scope:target ?= { tier < tier_empire }
				}
				add = {
					value = scope:calculated_base_cost
					multiply = {
						value = -0.25
						if = {
							limit = { # Increase the bonus if you have the "office" estate upgrade
								scope:actor = {
									domicile ?= { has_domicile_parameter = estate_local_theme_cost_reduction }
								}
							}
							add = estate_local_theme_cost_reduction_value
						}
					}
					desc = estate_location_in_area
				}
			}

			# Bureaucracy Legacy Perk Discount
			if = {
				limit = {
					scope:actor.dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_2 }
				}
				add = {
					value = scope:calculated_base_cost
					multiply = -0.1
					desc = "[GetDynastyPerk('ep3_administrative_legacy_2').GetName]"
				}
			}
		}
	}

	on_accept = {
		switch = {
			trigger = yes
			scope:as_much_as_needed_influence_option = {
				# Save the score value
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = 0
						if = {
							limit = { exists = scope:target }
							add = {
								value = "scope:target.current_heir.appointment_candidate_score(scope:target)"
								multiply = 1.1
							}
							subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)"
						}
						min = 4 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = 20
				}
			}
			scope:major_influence_option = {
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = appointment_score_major_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = 10
				}
			}
			scope:medium_influence_option = {
				# Save the score value
				save_scope_value_as = {
					name = support_candidate_score
					value = {
						value = appointment_score_medium_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = 5
				}
			}
		}

		# Update the score for the corresponding title
		scope:target = {
			change_appointment_investment = {
				target = scope:secondary_recipient
				investor = scope:actor
				value = scope:support_candidate_score
			}
			if = {
				limit = { appointment_interactions_recipient_is_suitable_co_emperor_trigger = yes }
				diarch_promoted_as_administrative_candidate_get_best_tooltip_effect = yes
			}
		}


		# Notify the supported character (unless they are the actor)
		scope:secondary_recipient = {
			if = {
				limit = {
					NOT = { this = scope:actor }
				}
				hidden_effect = {
					send_interface_message = {
						type = msg_candidacy_improved
						title = supported_candidacy_toast
						left_icon = scope:actor
						right_icon = scope:target
						show_as_tooltip = {
							scope:target = {
								change_appointment_investment = {
									target = scope:secondary_recipient
									investor = scope:actor
									value = scope:support_candidate_score
								}
							}
						}
					}
				}
			}
		}
		if = {
			limit = {
				scope:secondary_recipient = {
					NOT = {
						house ?= scope:actor.house
					}
				}
			}
			scope:secondary_recipient = {
				add_opinion = {
					modifier = supported_candidacy_opinion
					target = scope:actor
					opinion = scope:opinion_change_value
				}
			}
		}

		scope:secondary_recipient = {
			custom_tooltip = support_candidacy_success_reward_tt
		}
	}

	# AI
	# Interaction is used by AI in code, don't change the frequency
	ai_frequency = 0

	ai_will_do = {
		base = 5

		# No one promoting... ripe for the taking
		modifier = {
			scope:target = {
				holder = {
					has_realm_law_flag = appointment_type_succession
				}
				NOT = {
					any_title_heir = {
						"appointment_candidate_accumulated_score(scope:target)" > 0
					}
				}
				NOT = {
					current_heir = {
						exists = house
						exists = scope:actor.house
						house = scope:actor.house
					}
				}
			}
			add = 150
		}

		# Spending more influence in one go is better
		modifier = {
			scope:major_influence_option = yes
			factor = 1.1
		}

		# Promote characters we like
		modifier = {
			scope:actor = {
				opinion = {
					target = scope:secondary_recipient
					value >= medium_positive_opinion
				}
			}
			factor = 1.5
		}
		modifier = {
			scope:secondary_recipient = {
				is_close_family_of = scope:actor
			}
			factor = 3
		}
		modifier = {
			scope:secondary_recipient = {
				is_extended_family_of = scope:actor
			}
			factor = 1.5
		}
		modifier = {
			scope:actor = {
				has_relation_friend = scope:secondary_recipient
			}
			factor = 2
		}
		modifier = {
			scope:actor = {
				has_relation_best_friend = scope:secondary_recipient
			}
			factor = 10
		}

		# For the imperial title, we want to promote ourselves
		modifier = {
			scope:target.tier >= tier_empire
			scope:actor = scope:secondary_recipient
			factor = 5
		}

		# Prefer unlanded relatives
		modifier = {
			scope:target.tier < tier_empire
			scope:secondary_recipient = {
				is_ruler = no
			}
			factor = 2
		}

		# Prefer titles that are somewhat close to the capital
		modifier = {
			exists = scope:recipient.capital_province # Make sure the top liege has a capital
			scope:target = {
				title_capital_county = {
					squared_distance = {
						target = scope:recipient.capital_province
						value <= 130000
					}
				}
			}
			factor = 1.1
		}

		# Try to avoid promoting the same candidate for multiple titles if they are winning a title already
		modifier = {
			scope:secondary_recipient = {
				any_heir_title = {
					is_noble_family_title = no
					holder = {
						government_allows = administrative
					}
				}
			}
			factor = 0
		}

		# Promote only one house member for each title
		modifier = {
			scope:target = {
				holder = {
					has_realm_law_flag = appointment_type_succession
				}
				any_title_heir = {
					exists = house
					exists = scope:actor.house
					house = scope:actor.house
					"appointment_candidate_accumulated_score(scope:target)" > 0
				}
			}
			scope:secondary_recipient = {
				exists = house
				exists = scope:actor.house
				house = scope:actor.house
				"appointment_candidate_accumulated_score(scope:target)" <= 0
			}
			factor = 0
		}

		# Don't promote rivals
		modifier = {
			scope:actor = {
				has_relation_rival = scope:secondary_recipient
			}
			factor = 0
		}

		# Don't promote a candidate if your house is first in line
		modifier = {
			scope:target = {
				any_title_heir = {
					exists = house
					exists = scope:actor.house
					house = scope:actor.house
					scope:target = {
						place_in_line_of_succession = {
							target = prev
							value = 1
						}
					}
				}
			}
			factor = 0
		}

		# Don't promote your candidate if they are first in line
		modifier = {
			scope:target = {
				any_title_heir = {
					this = scope:secondary_recipient
					scope:target = {
						place_in_line_of_succession = {
							target = prev
							value = 1
						}
					}
				}
			}
			factor = 0
		}

		# Don't promote lowborn or characters of a different house
		modifier = {
			NOT = { exists = scope:secondary_recipient.house }
			factor = 0
		}
		modifier = {
			exists = scope:secondary_recipient.house
			exists = scope:actor.house
			NOT = { scope:actor.house = scope:secondary_recipient.house }
			factor = 0
		}

		modifier = { # For now
			scope:actor.top_liege = { has_realm_law = male_preference_law }
			scope:secondary_recipient = { is_female = yes }
			factor = 0
		}
		modifier = { # For now
			scope:actor.top_liege = { has_realm_law = female_preference_law }
			scope:secondary_recipient = { is_male = yes }
			factor = 0
		}

		# Don't outcompete someone you like
		modifier = {
			scope:target = {
				any_title_heir = {
					scope:target  = {
						place_in_line_of_succession = {
							target = prev
							value <= 3
						}
					}
					scope:actor = { has_any_good_relationship_with_character_trigger = { CHARACTER = prev } }
				}
			}
			factor = 0
		}

		# Don't support someone who has renounced their aspirations for the throne
		modifier = {
			scope:secondary_recipient = {
				OR = {
					has_character_modifier = ep3_admin_renounce_throne_personal
					house ?= { has_house_modifier = ep3_admin_renounce_throne_house }
				}
			}
			scope:target.tier = scope:recipient.highest_held_title_tier
			factor = 0
		}
	}
}

# AI ONLY - Smear campaign against a character to reduce score
harm_candidacy_interaction = {
	icon = harm_candidacy
	common_interaction = yes
	hidden = yes

	desc = harm_candidacy_interaction_desc

	target_type = title
	target_filter = secondary_recipient_de_jure_titles

	can_be_picked_title = {
		is_candidate_for_title_trigger = {
			TITLE = scope:target
			CANDIDATE = scope:secondary_recipient
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target = {
			tier >= tier_duchy
			exists = holder
			holder = {
				top_liege = scope:recipient
				has_realm_law_flag = appointment_type_succession
			}
		}
	}

	is_shown = {
		scope:actor = {
			government_allows = administrative
		}
		scope:secondary_recipient = {
			is_independent_ruler = no
			government_allows = administrative
			top_liege = scope:actor.top_liege
		}
	}

	is_valid_showing_failures_only = {
		any_valid_title_to_grant_trigger = {
			CANDIDATE = scope:secondary_recipient
			TOP_LIEGE = scope:recipient
		}
	}

	can_send = {
		is_candidate_for_title_trigger = {
			TITLE = scope:target
			CANDIDATE = scope:secondary_recipient
		}
	}

	redirect = {
		scope:recipient = { save_scope_as = secondary_recipient }
		scope:actor.top_liege = { save_scope_as = recipient }
	}

	auto_accept = yes

	send_option = {
		flag = minor_influence_option
		localization = minor_influence_option_desc
		starts_enabled = { always = yes }
	}
	send_option = {
		flag = medium_influence_option
		localization = medium_influence_option_desc
	}
	send_option = {
		flag = major_influence_option
		localization = major_influence_option_desc
	}

	cost = {
		influence = {
			# Base cost
			switch = {
				trigger = yes
				scope:minor_influence_option = {
					add = {
						value = appointment_minor_influence_cost
						desc = BASE
					}
				}
				scope:medium_influence_option = {
					add = {
						value = appointment_medium_influence_cost
						desc = BASE
					}
				}
				scope:major_influence_option = {
					add = {
						value = appointment_major_influence_cost
						desc = BASE
					}
				}
			}

			save_temporary_value_as = calculated_base_cost

			# Gender modifiers
			if = {
				limit = {
					scope:secondary_recipient ?= {
						top_liege = { has_realm_law = male_preference_law }
						is_female = yes
					}
				}
				add = {
					value = scope:calculated_base_cost
					multiply = -0.5
					desc = male_preference_law
				}
			}
			else_if = {
				limit = {
					scope:secondary_recipient ?= {
						top_liege = { has_realm_law = female_preference_law }
						is_female = no
					}
				}
				add = {
					value = scope:calculated_base_cost
					multiply = -0.5
					desc = female_preference_law
				}
			}


			# Local bonuses
			if = {
				limit = {
					scope:actor = {
						domicile ?= {
							domicile_location.county = {
								scope:target ?= { is_de_jure_liege_or_above_target = prev }
							}
						}
					}
					scope:target ?= { tier < tier_empire }
				}
				add = {
					value = scope:calculated_base_cost
					multiply = {
						value = -0.25
						if = {
							limit = { # Increase the bonus if you have the "office" estate upgrade
								scope:actor = {
									domicile ?= { has_domicile_parameter = estate_local_theme_cost_reduction }
								}
							}
							add = estate_local_theme_cost_reduction_value
						}
					}
					desc = estate_location_in_area
				}
			}

			# Bureaucracy Legacy Perk Discount
			if = {
				limit = {
					scope:actor.dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_2 }
				}
				add = {
					value = scope:calculated_base_cost
					multiply = -0.1
					desc = "[GetDynastyPerk('ep3_administrative_legacy_2').GetName]"
				}
			}
		}
	}

	on_accept = {
		switch = {
			trigger = yes
			scope:minor_influence_option = {
				# Save the score value
				save_scope_value_as = {
					name = harm_candidate_score
					value = {
						value = appointment_score_minor_loss_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = -5
				}
			}
			scope:medium_influence_option = {
				# Save the score value
				save_scope_value_as = {
					name = harm_candidate_score
					value = {
						value = appointment_score_medium_loss_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = -15
				}
			}
			scope:major_influence_option = {
				save_scope_value_as = {
					name = harm_candidate_score
					value = {
						value = appointment_score_major_loss_value
						multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
					}
				}
				save_scope_value_as = {
					name = opinion_change_value
					value = -30
				}
			}
		}

		# Update the score for the corresponding title
		scope:target = {
			change_appointment_investment = {
				target = scope:secondary_recipient
				investor = scope:actor
				value = scope:harm_candidate_score
			}
		}

		# Handle opinion change and chance for a rivalry
		if = {
			limit = {
				scope:secondary_recipient = { this != scope:actor }
			}
			scope:secondary_recipient = {
				add_opinion = {
					modifier = harmed_candidacy_opinion
					target = scope:actor
					opinion = scope:opinion_change_value
				}
				hidden_effect = {
					send_interface_message = {
						type = msg_candidacy_harmed
						title = harmed_candidacy_toast
						left_icon = scope:actor
						right_icon = scope:target
						show_as_tooltip = {
							scope:target = {
								change_appointment_investment = {
									target = scope:secondary_recipient
									investor = scope:actor
									value = scope:harm_candidate_score
								}
							}
						}
					}
				}
			}
			scope:actor = {
				send_interface_toast = {
					type = event_toast_effect_bad
					title = harm_candidate_rival_progress_toast
					left_icon = scope:secondary_recipient
					scope:secondary_recipient = {
						progress_towards_rival_effect = {
							REASON = rival_harmed_candidacy
							CHARACTER = scope:actor
							OPINION = 0
						}
					}
				}
			}
		}
	}

	ai_targets = {
		ai_recipients = scripted_relations
		max = 10
	}

	ai_frequency = 24

	ai_potential = {
		influence > major_influence_value
		government_allows = administrative
		ai_honor <= 25
	}

	ai_will_do = {
		base = 0
		modifier = {
			scope:actor = {
				has_relation_rival = scope:secondary_recipient
			}
			add = 100
		}
		modifier = {
			scope:actor = {
				has_relation_nemesis = scope:secondary_recipient
			}
			add = 150
		}
		modifier = {
			scope:actor = {
				opinion = {
					target = scope:secondary_recipient
					value < medium_positive_opinion
				}
			}
			add = 20
		}
		modifier = {
			scope:secondary_recipient = {
				is_close_family_of = scope:actor
			}
			add = -50
		}
		modifier = {
			scope:secondary_recipient = {
				is_extended_family_of = scope:actor
			}
			add = -25
		}
		modifier = {
			scope:actor = {
				OR = {
					has_trait = ambitious
					has_trait = callous
					has_trait = fickle
				}
			}
			add = 40
		}
		modifier = {
			scope:actor = {
				has_usable_hook = scope:secondary_recipient
			}
			add = -10
		}
		modifier = {
			scope:actor = {
				OR = {
					has_relation_friend = scope:secondary_recipient
					has_relation_lover = scope:secondary_recipient
				}
			}
			factor = 0
		}
	}
}

# Request support from another character
request_appointment_support = {
	category = interaction_category_succession
	common_interaction = no
	interface_priority = 175
	filter_tags = { admin_house_head }
	
	custom_character_sort = { governor_efficiency candidate_score }

	desc = request_appointment_support_desc

	target_type = title
	target_filter = actor_top_liege_de_jure_titles

	populate_recipient_list = {
		scope:actor = {
			every_succession_appointment_invested_candidate = {
				limit = {
					this != scope:recipient
					is_alive = yes
					government_allows = administrative
					# Check that they are still valid to be appointed
					any_valid_title_to_grant_trigger = {
						CANDIDATE = this
						TOP_LIEGE = scope:actor.top_liege
					}
				}
				add_to_list = characters
			}
			# We limit how many recipients to check for the AI for performance, player gets the unabridged list
			if = {
				limit = {
					is_ai = no
				}
				house = {
					every_house_member = {
						limit = {
							this != scope:recipient
							government_allows = administrative
							any_valid_title_to_grant_trigger = {
								CANDIDATE = this
								TOP_LIEGE = scope:actor.top_liege
							}
						}
						add_to_list = characters
					}
				}
			}
		}
	}

	can_be_picked_title = {
		trigger_if = {
			limit = { exists = scope:secondary_recipient }
			is_appointment_valid_trigger = {
				TITLE = scope:target
				CANDIDATE = scope:secondary_recipient
				TOP_LIEGE = scope:actor.top_liege
			}
			trigger_if = {
				limit = {
					scope:actor = { is_ai = yes }
					scope:secondary_recipient = { has_succession_appointment_investors = scope:target }
				}
				scope:target = {
					any_succession_appointment_investors = {
						candidate = scope:secondary_recipient
						this = scope:actor
					}
				}
			}
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target = {
			tier >= tier_duchy
			exists = holder
			holder = {
				top_liege = scope:actor.top_liege
				has_realm_law_flag = appointment_type_succession
			}
		}
		scope:actor = {
			trigger_if = {
				limit = { is_ai = yes }
				any_succession_appointment_invested_title = {
					this = scope:target
				}
			}
		}
	}

	is_shown = {
		scope:actor = { government_allows = administrative }
		scope:recipient = {
			this != scope:actor
			government_allows = administrative
			top_liege = scope:actor.top_liege
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			house = {
				any_house_member = {
					government_allows = administrative
					any_valid_title_to_grant_trigger = {
						CANDIDATE = this
						TOP_LIEGE = scope:actor.top_liege
					}
					count >= 1
				}
			}
			is_in_civil_war = no
		}
		scope:recipient = {
			influence >= appointment_minor_influence_cost
			is_in_civil_war = no
		}
	}

	can_send = {
		trigger_if = {
			limit = { scope:hook = no }
			scope:actor = {
				gold >= medium_gold_value
			}
		}
		custom_tooltip = {
			text = appointment_cannot_support_themself
			NOT = { scope:recipient = scope:secondary_recipient }
		}
	}

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

	send_options_exclusive = no

	on_accept = {
		scope:actor = {
			if = {
				limit = {
					scope:hook = yes
					has_hook = scope:recipient
				}
				use_hook = scope:recipient
			}
		}
		if = {
			limit = {
				scope:hook = no
			}
			scope:actor = {
				pay_short_term_gold = {
					target = scope:recipient
					gold = medium_gold_value
				}
			}
		}
		if = {
			limit = { # Players gets to accept/decline a specific suggestion
				scope:recipient = { is_ai = no }
			}
			scope:recipient ={
				change_influence = {
					value = appointment_medium_influence_cost
					multiply = -1
				}
			}
			scope:target = {
				change_appointment_investment = {
					target = scope:secondary_recipient
					investor = scope:recipient
					value = appointment_score_medium_value
				}
			}
			scope:actor = {
				add_opinion = {
					target = scope:recipient
					modifier = thankful_opinion
					opinion = 30
				}
				trigger_event = ep3_interactions_events.0201
			}
		}
		else = { # The AI randomizes the amount of support
			scope:recipient = { custom_tooltip = request_appointment_support_tt }
			hidden_effect = {
				random_list = {
					60 = {
						scope:actor = {
							save_scope_value_as = {
								name = request_support_score
								value = appointment_score_minor_value
							}
							send_interface_message = {
								type = msg_candidacy_improved
								title = supported_candidacy_toast
								left_icon = scope:secondary_recipient
								right_icon = scope:target
								custom_tooltip = request_appointment_support_toast_tt
								scope:target = {
									change_appointment_investment = {
										target = scope:secondary_recipient
										investor = scope:recipient
										value = scope:request_support_score
									}
								}
							}
						}
						scope:recipient = {
							change_influence = {
								value = appointment_minor_influence_cost
								multiply = -1
							}
						}
					}
					30 = {
						scope:actor = {
							save_scope_value_as = {
								name = request_support_score
								value = appointment_score_medium_value
							}
							send_interface_message = {
								type = msg_candidacy_improved
								title = supported_candidacy_toast
								left_icon = scope:secondary_recipient
								right_icon = scope:target
								custom_tooltip = request_appointment_support_toast_tt
								scope:target = {
									change_appointment_investment = {
										target = scope:secondary_recipient
										investor = scope:recipient
										value = scope:request_support_score
									}
								}
							}
						}
						scope:recipient = {
							change_influence = {
								value = appointment_medium_influence_cost
								multiply = -1
							}
						}
						opinion_modifier = {
							who = scope:recipient
							opinion_target = scope:actor
							multiplier = 0.2
							min = 0
						}
						modifier = {
							factor = 1.5
							scope:recipient = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor } }
						}
						modifier = {
							factor = 2
							scope:recipient = { has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:actor } }
						}
						modifier = {
							factor = 0
							scope:recipient = { influence < appointment_medium_influence_cost }
						}
					}
					10 = {
						scope:actor = {
							save_scope_value_as = {
								name = request_support_score
								value = appointment_score_major_value
							}
							send_interface_message = {
								type = msg_candidacy_improved
								title = supported_candidacy_toast
								left_icon = scope:secondary_recipient
								right_icon = scope:target
								custom_tooltip = request_appointment_support_toast_tt
								scope:target = {
									change_appointment_investment = {
										target = scope:secondary_recipient
										investor = scope:recipient
										value = scope:request_support_score
									}
								}
							}
						}
						scope:recipient = {
							change_influence = {
								value = appointment_major_influence_cost
								multiply = -1
							}
						}
						opinion_modifier = {
							who = scope:recipient
							opinion_target = scope:actor
							multiplier = 0.3
							min = 0
						}
						modifier = {
							factor = 1.5
							scope:recipient = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor } }
						}
						modifier = {
							factor = 2
							scope:recipient = { has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:actor } }
						}
						modifier = {
							factor = 0
							scope:recipient = { influence < appointment_major_influence_cost }
						}
					}
				}
			}
			scope:actor = { trigger_event = ep3_interactions_events.0201 }
		}
	}

	on_decline = {
		scope:actor = {
			add_opinion = {
				target = scope:recipient
				modifier = disappointed_opinion
				opinion = -10
			}
			trigger_event = ep3_interactions_events.0202
		}
	}

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

	ai_accept = {
		base = -40

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

		# Admin
		modifier = {
			influence >= {
				value = monumental_influence_value
				multiply = 3
			}
			add = 20
			desc = plenty_of_influence_reason
		}
		modifier = {
			influence >= massive_influence_value
			influence < {
				value = monumental_influence_value
				multiply = 3
			}
			add = 10
			desc = has_influence_reason
		}
		modifier = {
			influence < major_influence_value
			add = -100
			desc = not_enough_influence_reason
		}
		modifier = { # Don't support actor if recipient holds the title (they should want to secure it for their own family first)
			exists = scope:target
			scope:target.holder = scope:recipient
			exists = scope:recipient.house
			exists = scope:secondary_recipient
			NOT = { scope:secondary_recipient.house ?= scope:recipient.house }
			add = -25
			desc = requesting_my_title_reason
		}
		modifier = { # Don't support actor if there is a close family member within the top 3 candidates
			scope:target ?= {
				any_title_heir = {
					scope:target ?= {
						place_in_line_of_succession = {
							target = prev
							value <= 3
						}
					}
					is_close_family_of = scope:recipient
				}
			}
			exists = scope:secondary_recipient
			NOT = { # Unless secondary_recipient is, in fact, one of these
				scope:secondary_recipient = {
					scope:target ?= {
						place_in_line_of_succession = {
							target = prev
							value <= 3
						}
					}
					is_close_family_of = scope:recipient
				}
			}
			add = -100
			desc = close_family_in_line_of_succession
		}
		modifier = { # More reluctant to lend support towards titles held by top liege
			exists = scope:target
			scope:target.holder = {
				is_independent_ruler = yes
				NOT = { this = scope:actor } # Assuming the top liege isn't the one doing the requesting
			}
			add = -25
			desc = targeting_top_liege_title
		}
		modifier = { # If you are from a powerful family, and they are not, they are more likely to accept
			scope:actor.house ?= {
				is_powerful_family = yes
			}
			scope:recipient.house ?= {
				is_powerful_family = no
				is_dominant_family = no
			}
			add = 15
			desc = your_house_is_powerful_reason
		}
		modifier = { # If you are from a dominant family, and they are not, they are more likely to accept
			scope:actor.house ?= {
				is_dominant_family = yes
			}
			scope:recipient.house ?= {
				is_dominant_family = no
			}
			add = 25
			desc = your_house_is_dominant_reason
		}
		modifier = { # If they are from a powerful family, and you are not, they are more likely to refuse
			scope:recipient.house ?= {
				is_powerful_family = yes
			}
			scope:actor.house ?= {
				is_powerful_family = no
				is_dominant_family = no
			}
			add = -15
			desc = their_house_is_powerful_reason
		}
		modifier = { # If they are from a dominant family, and you are not, they are more likely to refuse
			scope:recipient.house ?= {
				is_dominant_family = yes
			}
			scope:actor.house ?= {
				is_dominant_family = no
			}
			add = -25
			desc = their_house_is_dominant_reason
		}
		modifier = { # Difference in influence level
			NOT = { scope:actor.influence_level = scope:recipient.influence_level }
			add = {
				add = {
					add = 10
					multiply = scope:actor.influence_level
				}
				subtract = {
					add = 10
					multiply = scope:recipient.influence_level
				}
			}
			desc = difference_in_influence_level_reason
		}

		# Relations to actor
		modifier = {
			scope:actor = {
				has_relation_rival = scope:recipient
			}
			add = -100
			desc = AI_YOUR_RIVAL
		}
		modifier = {
			scope:actor = {
				has_relation_nemesis = scope:recipient
			}
			add = -150
			desc = offer_vassalization_interaction_aibehavior_nemesis_tt # Reused loc
		}
		modifier = {
			scope:recipient = {
				is_close_family_of = scope:actor
			}
			add = 50
			desc = CLOSE_FAMILY_REASON
		}
		modifier = {
			scope:recipient = {
				is_extended_family_of = scope:actor
			}
			add = 25
			desc = EXTENDED_FAMILY_REASON
		}
		modifier = {
			exists = scope:actor.house
			scope:recipient = {
				NOR = {
					is_close_family_of = scope:actor
					is_extended_family_of = scope:actor
				}
				exists = house
				house = scope:actor.house
			}
			add = 5
			desc = YOU_ARE_MY_HOUSE_MEMBER
		}
		modifier = {
			scope:actor = {
				has_relation_friend = scope:recipient
				NOT = { has_relation_best_friend = scope:recipient }
			}
			add = 15
			desc = WE_ARE_FRIENDS
		}
		modifier = {
			scope:actor = {
				has_relation_best_friend = scope:recipient
			}
			add = 30
			desc = WE_ARE_BEST_FRIENDS
		}

		# Relations to secondary_recipient (the character you want them to support)
		modifier = {
			scope:recipient = {
				has_relation_rival = scope:secondary_recipient
				NOT = { has_relation_nemesis = scope:secondary_recipient }
			}
			add = -50
			desc = RIVAL_TO_ME_REASON
		}
		modifier = {
			scope:recipient = {
				has_relation_nemesis = scope:secondary_recipient
			}
			add = -100
			desc = NEMESIS_TO_ME_REASON
		}

		# Relations to current title holder
		modifier = {
			exists = scope:target
			scope:recipient = {
				has_relation_rival = scope:target.holder
				NOT = { has_relation_nemesis = scope:target.holder }
				liege = scope:target.holder
				liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support
			}
			add = 25
			desc = AI_THEIR_RIVAL
		}
		modifier = {
			exists = scope:target
			scope:recipient = {
				has_relation_nemesis = scope:target.holder
				liege = scope:target.holder
				liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support
			}
			add = 50
			desc = AI_THEIR_RIVAL
		}
		modifier = {
			exists = scope:target
			scope:recipient = {
				has_relation_friend = scope:target.holder
				NOT = { has_relation_best_friend = scope:target.holder }
				liege = scope:target.holder
				liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support
			}
			add = -50
			desc = AI_THEIR_FRIEND
		}
		modifier = {
			exists = scope:target
			scope:recipient = {
				has_relation_best_friend = scope:target.holder
				liege = scope:target.holder
				liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support
			}
			add = -100
			desc = AI_THEIR_FRIEND
		}
		modifier = {
			exists = scope:target
			scope:recipient = {
				has_relation_lover = scope:target.holder
				liege = scope:target.holder
				liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support
			}
			add = -30
			desc = AI_THEIR_LOVER
		}
		modifier = {
			exists = scope:target
			scope:recipient = {
				OR = {
					is_close_family_of = scope:target.holder
					is_extended_family_of = scope:target.holder
				}
				opinion = { target = scope:target.holder value > -25 }
				liege = scope:target.holder
				liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support
			}
			add = -20
			desc = AI_THEIR_RELATIVE
		}

		# Traits
		modifier = {
			scope:recipient = { # Ambitious characters doesn't want to spend their influence on anyone not from their house
				has_trait = ambitious
				exists = house
			}
			scope:secondary_recipient ?= {
				exists = house
				NOT = { house = scope:recipient.house }
			}
			add = -50
			desc = INTERACTION_AMBITIOUS
		}
		modifier = {
			scope:recipient = {
				has_trait = callous
			}
			add = -20
			desc = INTERACTION_CALLOUS
		}
		modifier = {
			scope:recipient = {
				has_trait = fickle
			}
			add = -30
			desc = INTERACTION_FICKLE
		}
		modifier = {
			scope:recipient = {
				has_trait = paranoid
			}
			add = -25
			desc = INTERACTION_PARANOID
		}
		modifier = {
			scope:recipient = {
				has_trait = trusting
			}
			add = 10
			desc = INTERACTION_TRUSTING
		}
		modifier = {
			scope:recipient = {
				has_trait = arbitrary
			}
			add = -15
			desc = INTERACTION_ARBITRARY
		}
		modifier = { # Cravens dare not help you
			scope:recipient = {
				has_trait = craven
			}
			scope:actor.house ?= {
				is_dominant_family = no
			}
			add = -20
			desc = INTERACTION_CRAVEN
		}
		modifier = { # Cravens dare not refuse a dominant family
			scope:recipient = {
				has_trait = craven
			}
			scope:actor.house ?= {
				is_dominant_family = yes
			}
			add = 20
			desc = INTERACTION_CRAVEN
		}
	}

	ai_potential = {
		government_allows = administrative
		house ?= {
			OR = {
				is_powerful_family = yes
				is_dominant_family = yes
			}
		}
	}

	ai_frequency = 48

	ai_targets = {
		ai_recipients = peer_vassals
		max = 8
	}

	ai_targets = {
		ai_recipients = hooked_characters
		max = 2
	}
}

# Demand that a vassal switches to admin
# Note: Do not rename or delete this interaction as its directly referred to in code
demand_admin_interaction = {
	category = interaction_category_vassal
	icon = demand_admin_interaction

	ai_maybe = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	can_send_despite_rejection = yes
	ai_accept_negotiation = yes
	popup_on_receive = yes
	common_interaction = no

	#according to telemetry, practically never used
	interface_priority = 0

	ai_targets = {
		ai_recipients = vassals
	}
	ai_target_quick_trigger = {
		adult = yes
	}
	ai_frequency = 12

	desc = demand_admin_interaction_desc

	is_shown = {
		scope:actor = { government_allows = administrative }
		scope:recipient = {
			target_is_liege_or_above = scope:actor
			is_ai = yes
			is_ruler = yes
			NOT = { government_allows = administrative }
		}
		trigger_if = {
			limit = {
				scope:actor = {
					is_ai = yes
				}
			}
			scope:recipient = {
				highest_held_title_tier >= tier_county
			}
		}
	}

	cooldown_against_recipient = { years = 10 }

	is_valid_showing_failures_only = {
		scope:recipient = { is_busy_in_events_localised = yes }
		scope:recipient = { NOT = { has_strong_hook = scope:actor } }
		scope:recipient = { is_at_war = no }
		scope:actor = { is_at_war = no }
		custom_tooltip = {
			text = cannot_take_overt_hostile_actions_against_diarch.tt
			NOT = { scope:recipient ?= scope:actor.diarch }
		}
		custom_tooltip = {
			text = demand_admin_tribal
			NOT = {
				scope:recipient = { government_has_flag = government_is_tribal }
			}
		}
		custom_tooltip = {
			text = head_of_faith_unable_to_change_government_desc
			NOT = {
				scope:recipient = { faith.religious_head ?= this }
			}
		}
	}

	# Offer hereditary boost
	send_option = {
		is_valid = {
			custom_tooltip = {
				text = demand_admin_hereditary_tt
				scope:recipient.house ?= {
					any_house_member = { count > 1 }
				}
			}
			custom_tooltip = {
				text = demand_admin_hereditary_exists_tt
				NOT = { exists = scope:recipient.primary_title.var:petition_house_rights }
			}
		}
		flag = hereditary
		localization = demand_admin_hereditary
	}
	#Spend influence
	send_option = {
		flag = influence
		is_valid = {
			scope:actor.influence >= massive_influence_value
		}
		localization = SPEND_INFLUENCE
	}
	#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"

	send_options_exclusive = no

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

	on_send = {
		scope:recipient = {
			primary_title = { save_scope_as = demanded_administration }
			trigger_event = {
				id = ep3_interactions_events.0005
				days = 5
			}
		}
	}

	on_accept = {
		show_as_tooltip = {
			change_to_administrative_interaction_effect = yes
		}
	}

	on_decline = {
		scope:recipient = { custom_tooltip = demand_admin_interaction_vassal_refuses }
	}

	ai_potential = {
		government_allows = administrative
		is_adult = yes
	}

	ai_will_do = {
		base = 100
		modifier = {
			factor = 0
			scope:recipient = { highest_held_title_tier >= tier_county }
			gold >= 300
		}
		modifier = {
			factor = 0
			scope:recipient = { highest_held_title_tier >= tier_duchy }
			gold >= 600
		}
		modifier = {
			factor = 0
			scope:recipient = { highest_held_title_tier >= tier_kingdom }
			gold >= 2000
		}
	}

	ai_accept = {
		base = 0
		demand_admin_acceptance_modifier = yes
	}
}

#Contest the appointment of another character to a title you have a claim on
contest_appointment_interaction = {
	category = interaction_category_vassal
	filter_tags = { admin_governor }
	common_interaction = yes
	highlighted_reason = HIGHLIGHTED_CAN_CONTEST_APPOINTMENT
	notification_text = contest_appointment_interaction_desc_tt
	intermediary_notification_text = contest_appointment_interaction_liege_desc
	intermediary_breakdown_yes = ANSWER_TRILATERAL_CONTEST_LIEGE_YES
	intermediary_breakdown_no = ANSWER_TRILATERAL_CONTEST_LIEGE_NO
	intermediary_breakdown_maybe = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_MAYBE
	intermediary_answer_accept_key = REPLY_ANSWER_ACCEPT
	intermediary_answer_reject_key = REPLY_ANSWER_REJECT
	pre_answer_yes_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_YES
	pre_answer_no_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_NO
	pre_answer_maybe_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_MAYBE
	#icon = TODO_CD_EP3: TIT-55514

	redirect = {
		scope:actor.top_liege = { save_scope_as = intermediary }
	}

	desc = contest_appointment_interaction_desc

	target_type = title
	target_filter = recipient_domain_titles
	ai_maybe = yes
	ai_intermediary_maybe = yes
	can_send_despite_rejection = yes
	popup_on_receive = yes
	pause_on_receive = yes

	interface_priority = 60
	ai_min_reply_days = 4
	ai_max_reply_days = 9

	prompt = CONTEST_TITLE_SELECT_TITLE

	is_shown = {
		# The obvious.
		NOR = {
			scope:actor = scope:recipient
			scope:actor = scope:intermediary
			scope:recipient = scope:intermediary
		}
		# Admin Govt
		#You don't have another appointment
		scope:actor = { is_landless_administrative = yes }
		scope:recipient = { government_allows = administrative }
		scope:intermediary ?= { government_allows = administrative }
		# Make sure scope:recipient is suitable.
		scope:recipient = {
			# We only target vassals of the liege
			top_liege = scope:actor.top_liege
			# who have a contestable title
			highest_held_title_tier > tier_county
			any_held_title = {
				tier >= tier_duchy
				scope:actor = {
					has_claim_on = prev
				}
				title_revocation_standard_can_pick_title_trigger = yes
			}
		}
	}

	is_valid_showing_failures_only = {
		trigger_if = { # Stop AI sending this too often
			limit = {
				scope:actor = { is_ai = yes }
			}
			NOT = {
				scope:intermediary ?= { has_character_flag = contest_appointment_liege_cooldown }
			}
		}
		trigger_if = {
			limit = {
				scope:recipient = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles }
			}
			custom_description = {
				text = liege_vassal_contract_forbids_revocation
				object = scope:recipient
				scope:recipient = {
					NOT = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles }
				}
			}
		}
		scope:intermediary = {
			influence >= medium_influence_value
		}
	}

	cooldown_against_recipient = { years = 10 }

	can_send = {
		scope:actor = {
			custom_description = {
				text = "character_interactions_hostile_actions_disabled_delay"
				NOT = { has_character_flag = flag_hostile_actions_disabled_delay }
			}
		}
		trigger_if = {
			limit = {
				exists = scope:target
			}
			is_appointment_valid_trigger = {
				TITLE = scope:target
				CANDIDATE = scope:actor
				TOP_LIEGE = scope:intermediary
			}
		}
	}

	is_highlighted = {
		scope:recipient = {
			any_held_title = {
				scope:actor = {
					has_claim_on = prev
				}
				title_revocation_standard_can_pick_title_trigger = yes
			}
		}
	}

	can_be_picked_title = {
		scope:target = {
			title_revocation_standard_can_pick_title_trigger = yes
			# Plus, must have scope:actor as a claimant.
			custom_description = {
				text = "you_must_have_a_claim_on_the_title"
				tier >= tier_duchy
				scope:actor = { has_claim_on = scope:target }
			}
		}
	}

	cost = {
		influence = {
			value = major_influence_value
			if = {
				limit = { scope:influence_bribe = yes }
				add = 100
			}
		}
	}

	# Hooks can be used to force this through.
	send_options_exclusive = no
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:intermediary }
		}
		flag = hook_liege
		localization = SCHEME_HOOK
	}
	should_use_extra_icon = {
		scope:actor = {
			OR = {
				has_usable_hook = scope:intermediary
				has_usable_hook = scope:recipient
			}
		}
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	on_send = {
		scope:actor = {
			add_character_flag = {
				flag = flag_hostile_actions_disabled_delay
				days = 10
			}
		}
		scope:intermediary ?= { # Stop AI sending this too often
			add_character_flag = {
				flag = contest_appointment_liege_cooldown
				years = 1
			}
		}
	}
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
		}
		flag = hook
		localization = SCHEME_HOOK
	}
	# Spend influence to convince your liege
	send_option = {
		flag = influence_bribe
		localization = influence_value_bribe_desc
		is_valid = {
			scope:actor = { influence >= major_influence_value }
		}
	}

	on_auto_accept = {
		scope:recipient = { trigger_event = ep3_interactions_events.0010 }
		scope:actor = {
			# Tell them that the revocation went through fine.
			trigger_event = ep3_interactions_events.0011
		}
		scope:actor = {
			# Scope:actor can be hostile again.
			clear_hostile_actions_lock_flag_effect = yes
		}
		create_title_and_vassal_change = {
			type = revoked
			save_scope_as = change
			add_claim_on_loss = yes
		}
		scope:target = {
			change_title_holder_include_vassals = {
				holder = scope:actor
				change = scope:change
			}
		}
		resolve_title_and_vassal_change = scope:change
	}

	on_accept = {
		scope:recipient = { trigger_event = ep3_interactions_events.0010 }
		scope:actor = {
			# Tell them that the revocation went through fine.
			trigger_event = ep3_interactions_events.0011
		}
		scope:intermediary = {
			change_influence = medium_influence_loss
			if = {
				limit = {
					scope:influence_bribe = yes
				}
				change_influence = major_influence_gain
			}
		}
		scope:actor = {
			# Scope:actor can be hostile again.
			clear_hostile_actions_lock_flag_effect = yes
		}
		scope:recipient = {
			every_held_title = {
				limit = {
					is_noble_family_title = no
					tier >= tier_county
					any_this_title_or_de_jure_above = {
						this = scope:target
					}
				}
				add_to_list = transfer_titles
			}
		}
		create_title_and_vassal_change = {
			type = revoked
			save_scope_as = change
			add_claim_on_loss = yes
		}
		every_in_list = {
			list = transfer_titles
			change_title_holder_include_vassals = {
				holder = scope:actor
				change = scope:change
			}
		}
		resolve_title_and_vassal_change = scope:change
	}

	on_intermediary_decline = {
		scope:actor = {
			# Inform scope:actor that their liege has vetoed them.
			trigger_event = ep3_interactions_events.0012
			# Scope:actor can be hostile again.
			clear_hostile_actions_lock_flag_effect = yes
		}
		# Inform scope:recipient that scope:intermediary has their back.
		scope:recipient = {
			send_interface_toast = {
				type = event_toast_effect_bad
				title = liege_blocked_contest_title
				left_icon = scope:actor
				right_icon = scope:intermediary
				custom_tooltip = liege_blocked_contest_title.inform_recipient
			}
		}
		scope:intermediary = {
			if = {
				limit = {
					scope:influence_bribe = yes
				}
				change_influence = major_influence_gain
			}
		}
		# Flick out some opinions.
		diarch_revoke_title_interaction_intermediary_fail_opinions_effect = yes
	}

	on_decline = {
		scope:intermediary = {
			# Tell them that the revocation was refused
			trigger_event = ep3_interactions_events.0013
			# And give a crime reason
			if = {
				limit = { is_ai = no }
				custom_tooltip = ADD_OPINION_EFFECT_I_HAVE_IMPRISONMENT_REASON_UNUSABLE
				hidden_effect = {
					add_opinion = {
						target = scope:recipient
						modifier = treasonous_revoke_refusal
					}
				}
			}
			## AI use the standard opinion flow.
			else = {
				add_opinion = {
					target = scope:recipient
					modifier = treasonous_revoke_refusal
				}
			}
		}
		scope:actor = {
			# Notify
			trigger_event = ep3_interactions_events.0014
			# Scope:actor can be hostile again.
			clear_hostile_actions_lock_flag_effect = yes
		}
		## Scope:recipient is annoyed with scope:actor and the other way around.
		scope:recipient = {
			add_opinion = {
				target = scope:actor
				modifier = revoked_title
			}
		}
		scope:actor = {
			add_opinion = {
				target = scope:recipient
				modifier = treasonous_revoke_refusal
			}
		}
	}

	auto_accept = {
		scope:recipient = {
			calc_true_if = {
				amount >= 2
				custom_description = {
					text = "prisoner_revocation"
					is_imprisoned_by = scope:actor
				}
				custom_description = {
					text = "spending_hook"
					subject = scope:actor
					object = scope:recipient
					scope:hook = yes
					OR = {
						# Strong hooks generally.
						scope:actor = { has_strong_hook = scope:recipient }
						# Weak hooks in inter-AI interactions count as strong hooks.
						AND = {
							scope:actor = { is_ai = yes }
							scope:recipient = { is_ai = yes }
						}
					}
				}
				custom_description = {
					text = "foreign_prison_revocation"
					subject = scope:actor
					object = scope:recipient
					scope:recipient = {
						is_imprisoned = yes
						NOT = { is_imprisoned_by = scope:actor }
					}
				}
			}
		}
	}

	ai_intermediary_accept = {
		base = 0
		modifier = {
			add = -50
			desc = BASE_RELUCTANCE
		}
		# Hook
		modifier = {
			add = 40
			desc = SCHEME_WEAK_HOOK_USED
			scope:hook_liege = yes
		}
		# Bribe
		modifier = {
			desc = INFLUENCE_REASON
			scope:influence_bribe = yes
			add = {
				value = 20
				multiply = scope:actor.influence_level
				min = 5
			}
		}
		# Opinion Factor
		opinion_modifier = {
			who = scope:intermediary
			opinion_target = scope:actor
			multiplier = 1
			desc = AI_OPINION_REASON
		}
		opinion_modifier = {
			who = scope:intermediary
			opinion_target = scope:recipient
			multiplier = -1
			desc = AI_OPINION_REASON
		}
		# You would be a better public official (or not)!
		modifier = {
			desc = AI_STEWARDSHIP_REASON
			add = {
				value = scope:actor.stewardship
				subtract = scope:recipient.stewardship
				multiply = 2
			}
		}
		# How good is the respective character's Governor Efficiency?
		modifier = {
			scope:actor = { is_ai = no }
			desc = AI_GOVERNOR_EFFICIENCY
			add = {
				value = 0
				add = {
					value = scope:actor.governor_efficiency
					subtract = 1
					multiply = 100
				}
			}
		}
		modifier = {
			scope:actor = { is_ai = no }
			desc = RECIPIENT_GOVERNOR_EFFICIENCY
			add = {
				value = 0
				add = {
					value = scope:recipient.governor_efficiency
					subtract = 1
					multiply = -100
				}
			}
		}
		# Dread
		## Intimidation
		modifier = {
			add = {
				value = 0
				subtract = intimidated_halved_reason_value
			}
			desc = YOU_INTIMIDATED_REASON
			scope:actor = {
				has_dread_level_towards = {
					target = scope:intermediary
					level = 1
				}
			}
		}
		## Cowing
		modifier = {
			add = {
				value = 0
				subtract = cowed_halved_reason_value
			}
			desc = YOU_COWED_REASON
			scope:actor = {
				has_dread_level_towards = {
					target = scope:intermediary
					level = 2
				}
			}
		}
		# Legalistic tradition
		modifier = {
			add = legalistic_vassal_punishment_acceptance
			desc = tradition_legalistic_name
			scope:actor = {
				has_revoke_title_reason = scope:recipient
				culture = { has_cultural_parameter = vassals_more_likely_accept_punishments }
			}
		}
	}

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

		# Weak Hook
		modifier = {
			add = 40
			desc = SCHEME_WEAK_HOOK_USED
			scope:hook = yes
		}
		# Opinion Factor
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}
		# Refusal is Treason
		## It's always treason, but worth pointing it out.
		modifier = {
			add = 20
			desc = AI_REFUSAL_IS_TREASON
		}
		# I am a King!
		modifier = {
			add = -20
			desc = offer_vassalization_interaction_aibehavior_amkingtier_tt
			scope:recipient = { highest_held_title_tier = tier_kingdom }
		}
		# Dread
		## Intimidation
		modifier = {
			add = intimidated_halved_reason_value
			desc = INTIMIDATED_REASON
			scope:recipient = {
				has_dread_level_towards = {
					target = scope:actor
					level = 1
				}
			}
		}
		## Cowing
		modifier = {
			add = cowed_halved_reason_value
			desc = COWED_REASON
			scope:recipient = {
				has_dread_level_towards = {
					target = scope:actor
					level = 2
				}
			}
		}
		## Intimidation
		modifier = {
			add = intimidated_halved_reason_value
			desc = INTIMIDATED_REASON
			scope:recipient = {
				has_dread_level_towards = {
					target = scope:intermediary
					level = 1
				}
			}
		}
		## Cowing
		modifier = {
			add = cowed_halved_reason_value
			desc = COWED_REASON
			scope:recipient = {
				has_dread_level_towards = {
					target = scope:intermediary
					level = 2
				}
			}
		}
		# Difference in influence level
		modifier = {
			scope:actor.influence_level != scope:recipient.influence_level
			add = {
				value = scope:actor.influence_level
				subtract = scope:recipient.influence_level
				multiply = 20
			}
			desc = difference_in_influence_level_reason
		}
		# Legalistic tradition
		modifier = {
			add = legalistic_vassal_punishment_acceptance
			desc = tradition_legalistic_name
			scope:actor = {
				has_revoke_title_reason = scope:recipient
				culture = { has_cultural_parameter = vassals_more_likely_accept_punishments }
			}
		}
		# Factor for personality.
		ai_value_modifier = {
			who = scope:recipient
			# Greed is always a factor.
			ai_greed = {
				if = {
					limit = {
						scope:recipient = {
							NOT = { ai_greed = 0 }
						}
					}
					value = -0.75
				}
			}
			# If AI is honourable and the law compels them to obey the liege, AI will be more likely to obey.
			ai_honor = {
				if = {
					limit = {
						scope:recipient = { ai_honor > 0 }
					}
					value = 0.5
				}
			}
		}
	}

	# AI
	ai_targets = {
		ai_recipients = peer_vassals
		max = 10
	}

	ai_frequency = 12

	ai_potential = {
		is_landless_administrative = yes
		liege = { has_realm_law_flag = title_revocation_allowed }
	}

	ai_will_do = {
		base = 100
		ai_value_modifier = {
			ai_greed = 0.5
			ai_boldness = 1
		}
		## Opinion.
		opinion_modifier = {
			opinion_target = scope:recipient
			multiplier = 0.25
		}
		## Traits.
		### +++ Ambitious.
		modifier = {
			add = 100
			has_trait = ambitious
		}
		### +++ Greedy.
		modifier = {
			add = 50
			has_trait = greedy
		}
		### +++ Vengeful (under certain criteria).
		modifier = {
			add = 100
			has_trait = vengeful
			has_opinion_modifier = {
				modifier = revoked_title
				target = scope:recipient
			}
		}
		### --- Content.
		modifier = {
			add = -50
			has_trait = content
		}
		# hooked AI.
		modifier = {
			add = 50
			is_landed = no
			has_hook = scope:recipient
			scope:recipient = { is_ai = yes }
		}
		### + Do pick on people we hate.
		modifier = {
			factor = 1.5
			should_prioritise_hostile_action_against_due_to_personal_relations_trigger = {
				ACTOR = scope:actor
				RECIPIENT = scope:recipient
			}
		}
		### - Try not to pick on allies of our liege.
		modifier = {
			factor = 0.25
			should_avoid_hostile_action_against_due_to_liege_relations_trigger = {
				ACTOR = scope:actor
				RECIPIENT = scope:recipient
			}
		}
		### x0 Don't pick on our friends or allies.
		modifier = {
			factor = 0
			should_avoid_hostile_action_against_due_to_personal_relations_trigger = {
				ACTOR = scope:actor
				RECIPIENT = scope:recipient
			}
		}
		### x0 Don't go into influence debt!
		modifier = {
			factor = 0
			influence <= 0
		}
	}
}

# Request a council position from your liege in exchange for influence
request_council_interaction = {
	category = interaction_category_vassal
	interface_priority = 119 #listed right after force_onto_council
	icon = council

	desc = request_council_interaction_desc

	filter_tags = { admin_liege }

	special_interaction = request_council_position
	interface = council_task_interaction
	ai_maybe = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	can_send_despite_rejection = yes
	popup_on_receive = yes
	send_name = "SEND_REQUEST_COUNCIL"

	greeting = positive
	notification_text = REQUEST_COUNCIL_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	on_decline_summary = request_council_decline_summary

	ai_targets = {
		ai_recipients = liege
	}
	ai_target_quick_trigger = {
		adult = yes
	}
	ai_frequency = 36

	cooldown_against_recipient = { years = 25 }

	cost = {
		influence = admin_council_cost_value
	}

	is_shown = {
		NOT = { scope:recipient = scope:actor }
		scope:actor = {
			liege ?= scope:recipient
		}
		#Admin only
		scope:actor = { government_allows = administrative }
		scope:recipient = { government_allows = administrative }
		trigger_if = {
			limit = {
				exists = scope:target.councillor
			}
			scope:target = { can_fire_position = yes }
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
			NOT = {
				is_at_war_with = scope:recipient
			}
			NOT = {
				is_councillor = yes
			}
			NAND = {
				has_council_position = councillor_court_chaplain
				faith = {
					OR = {
						has_doctrine = doctrine_clerical_succession_temporal_fixed_appointment
						has_doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
					}
				}
			}
		}
	}

	has_valid_target_showing_failures_only = {
		trigger_if = {
			limit = {
				exists = scope:target.councillor
			}
			scope:target.councillor = {
				NOT = {
					is_blocked_from_being_fired_from_council_trigger = {
						COURT_OWNER = scope:recipient
					}
				}
			}
		}
	}

	on_accept = {
		scope:target = {
			save_scope_as = council_task
		}
		scope:actor = {
			block_firing_councillor_effect = { COURT_OWNER = scope:recipient }
			custom_tooltip = force_onto_council.recipient.tt.duration
			#And notify exactly which councillor type they've become.
			hidden_effect = {
				send_interface_toast = {
					type = event_toast_effect_good
					title = force_onto_council.actor.tt
					left_icon = scope:recipient
					custom_tooltip = force_onto_council.actor.tt.duration
					show_as_tooltip = {
						change_influence = admin_council_loss_value
					}
				}
			}
			stress_impact = { content = minor_stress_impact_gain }
		}
		scope:recipient = {
			assign_council_task = {
				target = scope:actor
				council_task = scope:council_task
			}
			change_influence = massive_influence_gain
			custom_tooltip = force_onto_council.desc.tt
			#And notify exactly which councillor type they've become.
			hidden_effect = {
				send_interface_toast = {
					type = event_toast_effect_neutral
					title = force_onto_council.recipient.tt
					left_icon = scope:actor
					custom_tooltip = force_onto_council.recipient.tt.duration
					show_as_tooltip = { change_influence = massive_influence_gain }
				}
			}
		}
	}

	on_decline = {
		scope:actor = {
			add_opinion = {
				target = scope:recipient
				modifier = disappointed_opinion
				opinion = -25
			}
			trigger_event = ep3_interactions_events.0020
		}
		scope:recipient = {
			if = { # If the liege is a player, put on a longer global cooldown to reduce potential spam
				limit = { is_ai = no }
				add_character_flag = {
					flag = refused_council_request
					years = 15
				}
			}
		}
	}

	ai_set_target = {
		scope:actor = {
			random_list = {
				10 = {
					trigger = {
						exists = scope:recipient.council_task:councillor_chancellor
						can_be_chancellor_trigger = { COURT_OWNER = scope:recipient }
					}
					modifier = {
						factor = diplomacy
					}
					modifier = {
						trigger = { highest_skill = diplomacy }
						factor = 10
					}
					scope:recipient.council_task:councillor_chancellor = {
						save_scope_as = target
					}
				}
				10 = {
					trigger = {
						exists = scope:recipient.council_task:councillor_steward
						can_be_steward_trigger = { COURT_OWNER = scope:recipient }
					}
					modifier = {
						factor = stewardship
					}
					modifier = {
						trigger = { highest_skill = stewardship }
						factor = 10
					}
					scope:recipient.council_task:councillor_steward = {
						save_scope_as = target
					}
				}
				10 = {
					trigger = {
						exists = scope:recipient.council_task:councillor_marshal
						can_be_marshal_trigger = { COURT_OWNER = scope:recipient }
					}
					modifier = {
						factor = martial
					}
					modifier = {
						trigger = { highest_skill = martial }
						factor = 10
					}
					scope:recipient.council_task:councillor_marshal = {
						save_scope_as = target
					}
				}
				10 = {
					trigger = {
						exists = scope:recipient.council_task:councillor_spymaster
						can_be_spymaster_trigger = { COURT_OWNER = scope:recipient }
					}
					modifier = {
						factor = intrigue
					}
					modifier = {
						trigger = { highest_skill = intrigue }
						factor = 10
					}
					scope:recipient.council_task:councillor_spymaster = {
						save_scope_as = target
					}
				}
				10 = {
					trigger = {
						exists = scope:recipient.council_task:councillor_court_chaplain
						can_be_court_chaplain_trigger = { COURT_OWNER = scope:recipient }
					}
					modifier = {
						factor = learning
					}
					modifier = {
						trigger = { highest_skill = learning }
						factor = 10
					}
					scope:recipient.council_task:councillor_court_chaplain = {
						save_scope_as = target
					}
				}
			}
		}
	}

	ai_potential = {
		is_independent_ruler = no
		is_councillor = no
		liege ?= {
			NOT = { has_character_flag = refused_council_request }
			is_at_war = no
		}
	}

	ai_will_do = {
		base = 0

		# Increase chance if greed and/or boldness is high enough
		modifier = {
			add = 20
			ai_greed >= medium_positive_ai_value
			ai_boldness >= medium_positive_ai_value
		}
		modifier = {
			factor = 1.5
			ai_greed >= very_high_positive_ai_value
		}
		modifier = {
			factor = 1.5
			ai_boldness >= very_high_positive_ai_value
		}

		# Don't do it towards a good relation, unless very greedy
		modifier = {
			factor = 0
			scope:actor = {
				ai_greed <= very_high_positive_ai_value
				OR = {
					has_relation_friend = scope:recipient
					has_relation_lover = scope:recipient
					has_relation_best_friend = scope:recipient
					has_relation_soulmate = scope:recipient
				}
			}
		}

		# No need if they are a councillor already
		modifier = {
			factor = 0
			is_councillor = yes
		}
	}

	ai_accept = {
		base = 0
		modifier = {
			add = -50
			desc = BASE_RELUCTANCE
		}
		opinion_modifier = { # Opinion of you
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.8
			desc = AI_OPINION_REASON
		}
		opinion_modifier = { # Opinion of the current councillor
			who = scope:recipient
			opinion_target = scope:target.councillor
			multiplier = -0.8
			desc = AI_OPINION_REASON
		}
		ai_value_modifier = {
			ai_energy = 0.25 		#It's a change
			ai_greed = 0.4 			#Free influence is free influence
			ai_honor = -0.4 		#Some might see it as a bribe
		}
		#Relations
		modifier = {
			scope:actor = {
				has_relation_rival = scope:recipient
			}
			add = -50
			desc = AI_YOUR_RIVAL
		}
		modifier = {
			scope:actor = {
				has_relation_friend = scope:recipient
			}
			add = 25
			desc = AI_YOUR_FRIEND
		}
		#You are better at the job
		modifier = {
			scope:target = council_task:councillor_chancellor
			scope:actor.diplomacy > scope:target.councillor.diplomacy
			desc = AI_BETTER_AT_THE_JOB
			add = {
				value = scope:actor.diplomacy
				subtract = scope:target.councillor.diplomacy
				multiply = 10
			}
		}
		modifier = {
			scope:target = council_task:councillor_marshal
			scope:actor.martial > scope:target.councillor.martial
			desc = AI_BETTER_AT_THE_JOB
			add = {
				value = scope:actor.martial
				subtract = scope:target.councillor.martial
				multiply = 10
			}
		}
		modifier = {
			scope:target = council_task:councillor_steward
			scope:actor.stewardship > scope:target.councillor.stewardship
			desc = AI_BETTER_AT_THE_JOB
			add = {
				value = scope:actor.stewardship
				subtract = scope:target.councillor.stewardship
				multiply = 10
			}
		}
		modifier = {
			scope:target = council_task:councillor_spymaster
			scope:actor.intrigue > scope:target.councillor.intrigue
			desc = AI_BETTER_AT_THE_JOB
			add = {
				value = scope:actor.intrigue
				subtract = scope:target.councillor.intrigue
				multiply = 10
			}
		}
		modifier = {
			scope:target = council_task:councillor_court_chaplain
			scope:actor.learning > scope:target.councillor.learning
			desc = AI_BETTER_AT_THE_JOB
			add = {
				value = scope:actor.learning
				subtract = scope:target.councillor.learning
				multiply = 10
			}
		}
		#You are significantly WORSE at the job (we start reducing AI acceptance when it is more than 10 below current councillor's skill)
		modifier = {
			scope:target = council_task:councillor_chancellor
			scope:actor.diplomacy < { value = scope:target.councillor.diplomacy subtract = 10 }
			desc = AI_WORSE_AT_THE_JOB
			add = {
				value = scope:actor.diplomacy
				subtract = scope:target.councillor.diplomacy
				add = 10
				multiply = 2
			}
		}
		modifier = {
			scope:target = council_task:councillor_marshal
			scope:actor.martial < { value = scope:target.councillor.martial subtract = 10 }
			desc = AI_WORSE_AT_THE_JOB
			add = {
				value = scope:actor.martial
				subtract = scope:target.councillor.martial
				add = 10
				multiply = 2
			}
		}
		modifier = {
			scope:target = council_task:councillor_steward
			scope:actor.stewardship < { value = scope:target.councillor.stewardship subtract = 10 }
			desc = AI_WORSE_AT_THE_JOB
			add = {
				value = scope:actor.stewardship
				subtract = scope:target.councillor.stewardship
				add = 10
				multiply = 2
			}
		}
		modifier = {
			scope:target = council_task:councillor_spymaster
			scope:actor.intrigue < scope:target.councillor.intrigue
			desc = AI_WORSE_AT_THE_JOB
			add = {
				value = scope:actor.intrigue
				subtract = scope:target.councillor.intrigue
				add = 10
				multiply = 2
			}
		}
		modifier = {
			scope:target = council_task:councillor_court_chaplain
			scope:actor.learning < scope:target.councillor.learning
			desc = AI_WORSE_AT_THE_JOB
			add = {
				value = scope:actor.learning
				subtract = scope:target.councillor.learning
				add = 10
				multiply = 2
			}
		}
		#You are more powerful
		modifier = {
			scope:actor = { is_powerful_vassal = yes }
			scope:target.councillor = { is_powerful_vassal = no }
			desc = AI_POWERFUL_VASSAL
			add = 75
		}
		modifier = {
			scope:actor.house ?= { is_powerful_family = yes }
			scope:target.councillor.house ?= { is_powerful_family = no }
			desc = AI_POWERFUL_FAMILY
			add = 100
		}
		#You are more influential
		modifier = {
			NOT = { scope:actor.influence_level = scope:target.councillor.influence_level }
			add = {
				value = scope:actor.influence_level
				subtract = scope:target.councillor.influence_level
				multiply = 10
			}
			desc = AI_DIFFERENCE_INFLUENCE
		}
	}
}

# Transfer a single county (not belonging to a theme) to an already existing governor
transfer_county_interaction = {
	icon = icon_transfer_county
	category = interaction_category_vassal
	filter_tags = { admin_governor }
	common_interaction = no
	interface_priority = 4

	desc = transfer_county_interaction_desc

	target_type = title
	target_filter = actor_domain_titles
	interface_priority = 60

	# actor character giving the title
	# recipient character receiving the title

	is_shown = {
		NOT = { scope:actor = scope:recipient }
		scope:recipient = {
			target_is_liege_or_above = scope:actor
			highest_held_title_tier >= tier_duchy
			government_allows = administrative
		}
		scope:actor = {
			government_allows = administrative
			is_independent_ruler = yes
			highest_held_title_tier >= tier_empire
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = { is_at_war = no }
		scope:recipient = {
			is_adult = yes
			is_at_war = no
			bp2_valid_for_standard_interactions_trigger = yes
			is_busy_in_events_localised = yes
		}
		custom_tooltip = {
			text = have_no_valid_county_to_assign_trigger
			scope:actor = {
				any_held_title = {
					count >= 1
					tier = tier_county
					NOT = {
						this = scope:actor.primary_title.title_capital_county
					}
					duchy ?= {
						NOT = { this = scope:actor.primary_title.title_capital_county.duchy }
					}
				}
			}
		}
	}

	can_be_picked_title = {
		scope:target = {
			is_leased_out = no
			tier = tier_county
			custom_tooltip = {
				NOT = { this = scope:actor.primary_title.title_capital_county }
				text = not_can_be_picked_capital
			}
			custom_tooltip = {
				duchy ?= {
					NOT = { this = scope:actor.primary_title.title_capital_county.duchy }
				}
				text = not_can_be_picked_capital_duchy
			}
		}

		custom_description = {
			text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch
			subject = scope:actor.diarch
			NAND = {
				# Only applies if we have an active diarchy.
				scope:actor = { has_active_diarchy = yes }
				# Now, prevent us from giving away our diarch's land to invalidate them...
				scope:target = {
					any_dejure_vassal_title_holder = { this = scope:actor.diarch }
					# ... _unless_ we're giving it _to_ the diarch.
					NOT = { scope:recipient = scope:actor.diarch }
					# Plus we only care if the title is below our tier.
					tier < scope:actor.highest_held_title_tier
				}
			}
		}

		custom_description = {
			text = grant_titles_interaction_title_being_wagered
			NOT = {
				scope:target = { has_variable = wagered_county }
			}
		}
	}

	auto_accept = yes

	on_auto_accept = {
		scope:recipient = {
			trigger_event = char_interaction.0111
		}
	}

	on_accept = {
		hidden_effect = {
			scope:recipient = {
				add_opinion = {
					target = scope:actor
					modifier = received_title_county
				}
			}
			scope:target = { add_to_temporary_list = titles_to_grant }
		}
		#Promised a vassal this title they had a claim on (vassal.2901)
		if = {
			limit = {
				scope:actor = {
					exists = var:was_promised_title
					var:was_promised_title = scope:recipient
				}
			}
			if = {
				limit = {
					scope:recipient = {
						exists = var:promised_title
					}
					scope:landed_title = scope:recipient.var:promised_title
				}
				scope:actor = {
					trigger_event = {
						id = vassal.2910
						days = { 7 14 }
					}
				}
			}
		}

		# The accumulated discontent reduction of the recipient
		scope:recipient = {
			if = {
				limit = {
					is_a_faction_member = yes
				}
				add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc
				custom_tooltip = grant_title_modifier_stack_discontent
			}
		}

		custom_tooltip = grant_title_modifier_stack_counties

		# Jealousy check
		if = {
			limit = {
				any_in_list = {
					list = titles_to_grant
					any_claimant = { grant_title_rivalry_trigger = yes }
				}
			}
			hidden_effect = {
				random = {
					chance = 25
					ordered_in_list = {
						list = titles_to_grant
						limit = {
							any_claimant = { grant_title_rivalry_trigger = yes }
						}
						order_by = tier
						save_scope_as = claim_title
						ordered_claimant = {
							limit = { grant_title_rivalry_trigger = yes }
							order_by = primary_title.tier
							save_scope_as = claim_vassal
							if = {
								limit = {
									scope:recipient = { is_lowborn = yes }
								}
								scope:recipient = { save_scope_as = lowborn_scope }
							}
							else_if = {
								limit = {
									scope:recipient = { has_claim_on = scope:claim_title }
								}
								scope:recipient = { save_scope_as = claimant_scope }
							}
							scope:actor = {
								trigger_event = {
									id = bp1_yearly.8070
									days = 5
								}
							}
						}
					}
				}
			}
		}

		scope:actor = {
			# Maintenance for runestones
			if = {
				limit = {
					# Use expanded version if we have FP1.
					has_fp1_dlc_trigger = yes
					fp1_remove_stele_new_holder_trigger = {
						TITLE = scope:target
						PREVIOUS_HOLDER = scope:actor
						NEW_HOLDER = scope:recipient
					}
				}
				# Actually removed in fp1_other_decisions.0113
				custom_tooltip = runestone_grant_title_warning
			}
			else_if = {
				limit = {
					scope:target = {
						exists = var:ancestor_to_bury
						has_county_modifier = county_raised_runestone_modifier
					}
					NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty
				}
				# Actually removed in religious_decision.0312
				custom_tooltip = runestone_grant_title_warning
			}

			if = {
				limit = {
					exists = scope:actor.dynasty
					scope:actor.dynasty = {
						has_dynasty_perk = ep1_culture_legacy_3
					}
					scope:recipient = {
						is_playable_character = no
						NOT = {
							culture = scope:actor.culture
						}
						any_in_list = {
							list = target_titles
							OR = {
								tier = tier_county
								tier = tier_barony
							}
							culture = scope:recipient.culture
						}
					}
				}
				scope:actor = {
					if = {
						limit = {
							can_add_hook = {
								target = scope:recipient
								type = favor_hook
							}
						}
						add_hook = {
							type = favor_hook
							target = scope:recipient
						}
					}
				}
			}

			#Feedback for actor
			hidden_effect = {
				scope:target = {
					save_scope_as = loc_title
				}
				scope:actor = {
					send_interface_toast = {
						type = event_toast_effect_good
						title = transfer_county_interaction_notification

						left_icon = scope:actor
						right_icon = scope:recipient

						custom_tooltip = grant_titles_interaction_notification_effect_2
						if = {
							limit = {
								exists = dynasty
								is_diff_faith_or_culture_trigger = {
									CHAR = scope:recipient
									STATUS = involved
								}
								any_character_struggle = {
									involvement = involved
									has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige
								}
							}
							dynasty = {
								add_dynasty_prestige = minor_dynasty_prestige_gain
							}
						}
					}
				}
			}
		}

		hidden_effect = {
			# Struggle Catalyst
			if = {
				limit = {
					scope:actor = {
						is_diff_faith_or_culture_trigger = {
							CHAR = scope:recipient
							STATUS = involved
						}
						any_character_struggle = {
							involvement = involved
							activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
								CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal
								CHAR = scope:recipient
							}
						}
					}
				}
				scope:actor = {
					every_character_struggle = {
						involvement = involved
						limit = {
							activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
								CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal
								CHAR = scope:recipient
							}
						}
						activate_struggle_catalyst = {
							catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal
							character = scope:actor
						}
					}
				}
			}
		}
		# The actual transfer
		create_title_and_vassal_change = {
			type = granted
			save_scope_as = title_change_vassal
		}
		every_in_list = {
			list = titles_to_grant
			change_title_holder = {
				holder = scope:recipient
				change = scope:title_change_vassal
				take_baronies = no
			}
		}
		resolve_title_and_vassal_change = scope:title_change_vassal
	}
	# AI
	ai_targets = {
		ai_recipients = vassals
	}
	ai_frequency = 24
	ai_will_do = {
		base = 100

		modifier = {
			scope:recipient.house ?= scope:actor.house
			add = 10
		}
		modifier = {
			scope:recipient = {
				is_close_family_of = scope:actor
			}
			add = 10
		}
		modifier = {
			scope:target = {
				any_neighboring_county = {
					holder = {
						this = scope:recipient
					}
				}
			}
			add = 200
		}
	}
}

# Demand that a family member be made a eunuch
castrate_child_interaction = {
	category = interaction_category_friendly
	icon = eunuch
	common_interaction = yes
	interface_priority = 60
	ai_maybe = yes
	ai_min_reply_days = 1
	ai_max_reply_days = 1
	can_send_despite_rejection = yes
	ai_accept_negotiation = yes
	popup_on_receive = yes

	pre_answer_maybe_key = ANSWER_MIGHT_SUCCEED
	pre_answer_no_key = ANSWER_CANT_SUCCEED
	pre_answer_yes_key = ANSWER_WILL_SUCCEED
	pre_answer_maybe_breakdown_key = ANSWER_SUM_CHANCE

	ai_targets = {
		ai_recipients = family
		max = 5
	}
	ai_frequency = 36

	desc = castrate_child_interaction_desc

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			culture = {
				has_cultural_parameter = family_castration
			}
			NAND = {
				is_ai = yes
				any_close_family_member = {
					is_ai = no
				}
			}
		}
		scope:recipient = {
			is_ai = yes
			is_female = no
			is_adult = no
			is_close_family_of = scope:actor
			is_eunuch_trigger = no
		}
	}

	cooldown_against_recipient = { years = 1 }

	is_valid_showing_failures_only = {
		scope:actor = {
			employs_court_position = court_physician_court_position
		}
		scope:recipient = {
			custom_tooltip = {
				text = COURTIER_OR_GUEST
				OR = {
					is_courtier_of = scope:actor
					is_pool_guest_of = scope:actor
					is_foreign_court_guest_of = scope:actor
				}
			}
			is_ruler = no
			is_available = yes
			is_betrothed = no
			NOT = { is_primary_heir_of = scope:actor }
		}
	}

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

	is_highlighted = {
		#This interaction should only be suggested on potential rivals for the imperial throne, bastards, and for landless house heads

		OR = {
			#bastards
			AND = {
				scope:actor = {
					any_close_family_member = {
						is_male = yes
						house ?= scope:actor.house
						is_eunuch_trigger = no
						NOR = {
							has_trait = celibate
							has_trait = devoted
							has_trait = order_member
							has_trait = bastard
						}
						OR = {
							#Is an old adult with a kid
							AND = {
								age >= 40
								any_child = {
									is_male = yes
								}
							}
							#Is a young adult or child
							age < 40
						}
					}
				}
				scope:recipient = {
					has_trait = bastard
				}
			}
			#You are poor and uninfluential OR Emperor
			AND = {
				scope:actor = {
					ep3_castration_interest_trigger = yes
					ep3_castration_male_family_trigger = yes
				}
				#Target is a good one
				scope:recipient = {
					NOT = { is_heir_of = scope:actor }
					ep3_ideal_castration_candidate_trigger = yes
					OR = {
						#target is 3rd child or lower
						any_sibling = {
							count >= 2
							AND = {
								is_male = yes
								age > scope:recipient.age
							}
						}
						#target is sibling
						NOT = { is_child_of = scope:actor }
					}
				}
			}
		}
	}

	on_accept = {
		scope:recipient = {
			if = {
				limit = {
					age < 12
				}
				add_character_flag = accepted_castration_child
			}
			else = {
				add_character_flag = accepted_castration_youth
			}
		}
		show_as_tooltip = {
			scope:actor = { change_influence = minor_influence_gain }
			#Effects on child target
			if = {
				limit = {
					scope:recipient = {
						age < 12
					}
				}
				scope:recipient = {
					ep3_child_castration_effect = yes
					add_stress = medium_stress_gain
					custom_tooltip = castration_better_before_maturity
				}
				#Notification that it is better than doing it after 12 years of age
			}
			#effects on teenaged target
			else = {
				scope:recipient = {
					ep3_youth_castration_effect = yes
					add_stress = major_stress_gain
				}
			}
		}
		#Immediate interaction effects
		if = {
			limit = {
				exists = scope:hook
				scope:hook = yes
				scope:actor = { has_usable_hook = scope:recipient }
			}
			scope:actor = {
				use_hook = scope:recipient
			}
		}
		scope:actor = {
			if = {
				limit = {
					scope:recipient = {
						age > 6
					}
				}
				stress_impact = {
					compassionate = medium_stress_impact_gain
					content = minor_stress_impact_gain
					generous = medium_stress_impact_gain
				}
			}
			trigger_event = ep3_interactions_events.0030
		}
	}

	on_decline = {
		show_as_tooltip = {
			#For child targets
			if = {
				limit = {
					scope:recipient = {
						age < 12
					}
				}
				scope:actor = { change_influence = minor_influence_gain }
				scope:recipient = {
					ep3_child_castration_effect = yes
					add_opinion = {
						modifier = castration_opinion
						target = scope:actor
						opinion = -50
					}
					add_stress = major_stress_gain
					custom_tooltip = castration_better_before_maturity
				}
			}
			#For teenaged victims
			else = {
				scope:actor = {
					remove_courtier_or_guest = scope:recipient
					if = {
						limit = {
							has_hook = scope:recipient
						}
						remove_hook  =  { target = scope:recipient }
					}
					scope:recipient = {
						set_relation_rival = {
							target = scope:actor
							reason = rival_attempted_castration
						}
						add_stress = medium_stress_gain

					}
				}
			}
		}
		if = {
			limit = {
				scope:hook = yes
				scope:actor = { has_usable_hook = scope:recipient }
			}
			scope:actor = {
				use_hook = scope:recipient
			}
		}
		scope:actor = {
			if = {
				limit = {
					scope:recipient = {
						age > 6
					}
				}
				stress_impact = {
					compassionate = medium_stress_impact_gain
					content = minor_stress_impact_gain
					generous = medium_stress_impact_gain
				}
			}
		}
		if = {
			limit = {
				scope:recipient = {
					age < 12
				}
			}
			scope:recipient = {
				add_character_flag = resents_castration
			}
			scope:actor = {
				trigger_event = ep3_interactions_events.0030
			}
		}
		else = {
			scope:actor = {
				trigger_event = ep3_interactions_events.0031
			}
		}
	}

	ai_potential = {
		is_adult = yes
	}

	# Use hook
	send_option = {
		is_valid = {
			scope:actor = {
				has_usable_hook = scope:recipient
			}
			NOT = {
				scope:recipient = { is_imprisoned_by = scope:actor }
			}
		}
		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"

	send_options_exclusive = no

	ai_will_do = {
		base = 0
		modifier = {
			scope:actor = {
				has_trait = compassionate
			}
			add = -50
		}
		modifier = {
			scope:actor = {
				has_trait = generous
			}
			add = -25
		}
		modifier = {
			scope:actor = {
				has_trait = content
			}
			add = -25
		}
		modifier = {
			scope:recipient = {
				has_trait = bastard
			}
			add = 100
		}
		modifier = {
			scope:actor = {
				ep3_castration_interest_trigger = yes
			}
			scope:recipient = {
				#target is 4 child or lower
				AND = {
					ep3_ideal_castration_candidate_trigger = yes
					NOT = { is_heir_of = scope:actor }
					#Not oldest child
					any_sibling = {
						count >= 3
						is_male = yes
						age > scope:recipient.age
					}
				}
			}

			add = 20
		}
		modifier = {
			scope:actor = {
				ep3_castration_interest_trigger = yes
			}
			scope:recipient = {
				#target is sibling
				AND = {
					ep3_ideal_castration_candidate_trigger = yes
					NOT = { is_heir_of = scope:actor }
					#Not oldest child
					NOT = { is_child_of = scope:actor }
				}
			}
			add = 20
		}
		modifier = {
			scope:actor = {
				has_trait = paranoid
			}
			factor = 2
		}
		modifier = {
			scope:actor = {
				has_trait = sadistic
			}
			factor = 2
		}
		modifier = {
			scope:actor = {
				opinion = {
					target = scope:recipient
					value <= -50
				}
			}
			factor = 1.5
		}
		modifier = {
			scope:recipient = {
				age > 6
			}
			factor = 0.5
		}
		modifier = {
			scope:recipient = {
				age >= 12
			}
			factor = 0.5
		}
		modifier = {
			scope:actor = {
				age <= 4
			}
			factor = 2
		}
		modifier = {
			OR = {
				scope:actor = {
					ep3_castration_male_family_trigger = no
				}
				scope:recipient = {
					is_primary_heir_of = scope:actor
				}
				scope:recipient = {
					AND = {
						is_child_of = scope:actor
						any_sibling = {
							count = 0
							is_male = yes
							age >= scope:recipient.age
							house ?= scope:recipient.house
						}
					}
				}
			}
			factor = 0
		}
	}

	ai_accept = {
		base = 0
		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}
		ai_value_modifier = {
			ai_rationality = 0.25	#It's just the way things are
			ai_energy = -0.25 		#I have big dreams!
			ai_boldness = -0.25		#I don't want to be reduced
			ai_honor = 0.12 	#It is wrong to defy you
			ai_sociability = 0.12 #I see the advantages
		}
		# Weak Hook
		modifier = {
			trigger = {
				always = scope:hook
			}
			add = 50
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			scope:recipient = {
				age <= 2
			}
			desc = SCHEME_AGE_2_OR_LESS
			add = 50
		}
		modifier = {
			scope:recipient = {
				age <= 6
			}
			desc = SCHEME_AGE_6_OR_LESS
			add = 20
		}
		modifier = {
			scope:recipient = {
				age >= 10
			}
			desc = SCHEME_AGE_10_OR_MORE
			add = -20
		}
		modifier = {
			scope:recipient = {
				age >= 14
			}
			desc = SCHEME_AGE_14_OR_MORE
			add = -40
		}
		# They are afraid of you
		modifier = {
			scope:recipient = {
				age >= 12
				has_dread_level_towards = {
					target = scope:actor
					level = 1
				}
			}
			desc = SCHEME_TOO_SCARED_TO_RUN
			add = 30
		}
		modifier = {
			scope:recipient = {
				age >= 12
				has_dread_level_towards = {
					target = scope:actor
					level = 2
				}
			}
			desc = SCHEME_TOO_TERRIFIED_TO_RUN
			add = 60
		}
		modifier = {
			scope:actor = {
				highest_held_title_tier >= tier_empire
			}
			desc = SCHEME_EMPIRE_TIER
			add = 30
		}
		#You are too good a governor for them to slip away
		modifier = {
			scope:recipient = {
				age >= 12
			}
			scope:actor = {
				is_governor = yes
				governor_efficiency >= 1.25
			}
			desc = SCHEME_GOVERNOR_EFFICIENCY_DISSUADES_FLEEING
			add = 20
		}
	}
}

### Offer eunuch
# actor = offerer
# recipient = receiver
# secondary_actor = eunuch
offer_eunuch_interaction = {
	category = interaction_category_friendly
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	popup_on_receive = yes
	pause_on_receive = yes
	icon = eunuch
	interface_priority = 29 #after Gift Artifact

	populate_recipient_list= {
		scope:actor = {
			every_courtier = {
				limit = {
					is_eunuch_trigger = yes
				}
				add_to_list = characters
			}
		}
	}

	desc = offer_eunuch_interaction_desc

	prompt = OFFER_EUNUCH_SELECT_EUNUCH_TO_TRANSFER

	notification_text = OFFER_EUNUCH_PROPOSAL

	cooldown_against_recipient = { years = 1 }

	is_shown = {
		# Only admin gov care about this
		scope:actor = { government_allows = administrative }
		scope:recipient = { government_allows = administrative }
		# Only if you actually have any eunuchs in your court
		scope:actor = {
			any_courtier = {
				is_eunuch_trigger = yes
			}
		}
		# Cannot exchange eunuchs with self
		NOT = { scope:recipient = scope:actor }
		# Only significant rulers
		scope:actor.highest_held_title_tier > tier_barony
		# Target has to be a ruler and have a court
		scope:recipient = { is_ruler = yes }
		# Target has to be a direct vassal of the Emperor
		scope:recipient.top_liege = scope:recipient.liege
	}

	is_valid_showing_failures_only = {
		# Must be available
		scope:recipient = { is_busy_in_events_localised = yes }
		trigger_if = {
			limit = { exists = scope:secondary_recipient }
			scope:secondary_recipient = { is_busy_in_events_localised = yes }
		}
		NOT = {
			# Must be at peace
			scope:recipient = { is_at_war_with = scope:actor }
		}
		# Stop AI spamming eunuch offers
		trigger_if = {
			limit = {
				scope:actor = { is_ai = yes }
				exists = scope:secondary_recipient
			}
			NOT = {
				scope:secondary_recipient = { has_character_flag = ai_should_not_offer_eunuch }
			}
		}
	}

	can_be_picked = {
		# We don't want baby eunuchs, we want eunuchs who can actually do something
		is_adult = yes
	}

	can_send = {
		scope:recipient = {
			trigger_if = {
				limit = { is_ai = no }
				NOT = {
					scope:secondary_recipient = { has_character_flag = ai_should_not_offer_eunuch }
				}
			}
		}
	}

	is_highlighted = { # We highlight this interaction so it's easier to notice, since we don't show it in the main list
		scope:actor = {
			any_courtier = {
				is_eunuch_trigger = yes
			}
		}
	}

	cost = {}

	on_send = {
		scope:secondary_recipient = {
			add_character_flag = {
				flag = under_offer_as_eunuch_flag
				months = 1
			}
			court_position_generator_effect = {
				VAR = target
				EMPLOYER = scope:recipient
			}
		}
		if = {
			limit = {
				scope:recipient = { is_ai = no }
			}
			hidden_effect = {
				scope:secondary_recipient = {
					add_character_flag = {
						flag = ai_should_not_offer_eunuch
						years = 3
					}
				}
			}
		}
	}

	on_accept = {
		# Save scopes for clarity
		scope:actor = { save_scope_as = eunuch_sender }
		scope:secondary_recipient = { save_scope_as = eunuch }
		scope:recipient = { save_scope_as = eunuch_taker }
		scope:actor = { trigger_event = char_interaction.0350 }
		show_as_tooltip = {
			ep3_give_eunuch_effect = {
				EUNUCH = scope:secondary_recipient
				TAKER = scope:recipient
				GIVER = scope:actor
			}
			custom_tooltip = eunuch_will_be_given_a_position_tt
		}
	}

	on_decline = {
		scope:actor = {
			trigger_event = char_interaction.0351
		}
		scope:secondary_recipient = { remove_character_flag = under_offer_as_eunuch_flag }
	}

	auto_accept = {
		trigger_if = {
			limit = {
				scope:hook ?= yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
			custom_description = {
				text = "spending_hook"
				subject = scope:actor
				object = scope:recipient
				scope:hook ?= yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
		}
		trigger_else = { always = no }
	}

	can_be_blocked = {
		custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook.
			text = "spending_hook"
			subject = scope:recipient
			object = scope:actor
			scope:recipient = { has_hook = scope:actor }
			NAND = {
				scope:hook = yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
		}
	}

	on_blocked_effect = {
		scope:recipient = {
			remove_hook = { target = scope:actor }
		}
	}

	#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"

	send_options_exclusive = no

	# AI
	ai_accept = {
		base = -50
		######### OPINION OF LIEGE
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}
		######### OPINION OF EUNUCH
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:secondary_recipient
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}
		######## EUNUCH AGE
		modifier = {
			add = {
				value = 50
				subtract = scope:secondary_recipient.age
			}
			desc = AI_REASON_EUNUCH_AGE
		}
		######## EUNUCH SKILLS
		modifier = {
			add = {
				add = scope:secondary_recipient.diplomacy
				add = scope:secondary_recipient.intrigue
				add = scope:secondary_recipient.stewardship
				add = scope:secondary_recipient.martial
				add = scope:secondary_recipient.learning
			}
			desc = AI_REASON_EUNUCH_SKILLS
		}
		######## EUNUCH SKILLS
		modifier = {
			scope:secondary_recipient = {
				has_trait = beardless_eunuch
			}
			add = 25
			desc = AI_REASON_BEARDLESS_EUNUCH
		}
	}

	ai_targets = {
		ai_recipients = liege
	}

	ai_frequency = 36

	ai_potential = { highest_held_title_tier >= tier_county }

	ai_will_do = {
		base = 0
		modifier = {
			add = scope:actor.ai_boldness
			add = {
				subtract = scope:actor.ai_compassion
			}
		}
		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
			desc = AI_OPINION_REASON
		}
		opinion_modifier = { # Opinion Factor
			who = scope:actor
			opinion_target = scope:secondary_recipient
			multiplier = -0.5
			desc = AI_OPINION_REASON
		}
		modifier = { # The AI will only use a Hook if they couldn't otherwise do this
			scope:hook = yes
			add = -1
		}
		# Cultural traditions
		modifier = {
			scope:actor.culture = { has_cultural_tradition = tradition_equitable }
			add = 25
		}
		modifier = {
			scope:actor.culture = { has_cultural_tradition = tradition_esteemed_hospitality }
			add = 25
		}
		modifier = {
			scope:actor = {
				culture = { has_cultural_tradition = tradition_loyal_soldiers }
			}
			add = 25
			desc = HOSTAGE_CULTURAL_TRADITION_REASON
		}
	}
}

# Add artifact to Cabinet of Curiosities
cabinet_of_curiosities_interaction = {
	category = interaction_category_friendly
	common_interaction = yes
	interface_priority = 60
	desc = cabinet_of_curiosities_interaction_desc
	icon = artisan_inspiration

	target_type = artifact
	target_filter = actor_artifacts

	can_be_picked_artifact = {
		scope:actor = {
			any_artifact = {
				this = scope:target
			}
			#block the artifact from the laamp escort contract
			NOT = {
				any_scheme = {
					var:escorted_artifact ?= scope:target
				}
			}
		}
	}

	is_shown = {
		scope:recipient = scope:actor
		scope:actor = {
			domicile ?= {
				has_domicile_building_or_higher = cabinet_of_curiosities_01
			}
		}
	}

	is_valid_showing_failures_only = {
		# needs to have an artifact to give away
		scope:actor = {
			has_any_artifact = yes
			is_imprisoned = no
		}
	}

	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = cabinet_of_curiosities_interaction_notification
				left_icon = scope:actor
				right_icon = scope:target

				custom_tooltip = artifact_added_to_domicile_tt

				# Determine Bonus
				if = {
					limit = {
						scope:target = { is_unique = yes }
					}
					house = {
						if = {
							limit = {
								has_variable = ep3_legacy_domicile_artifact_counter_unique
							}
							change_variable = {
								name = ep3_legacy_domicile_artifact_counter_unique
								add = 1
							}
						}
						else = {
							set_variable = {
								name = ep3_legacy_domicile_artifact_counter_unique
								value = 1
							}
						}
					}
				}
				scope:target = {
					if = {
						limit = { rarity = common }
						scope:actor.house = {
							if = {
								limit = {
									has_variable = ep3_legacy_domicile_artifact_counter_common
								}
								change_variable = {
									name = ep3_legacy_domicile_artifact_counter_common
									add = 1
								}
							}
							else = {
								set_variable = {
									name = ep3_legacy_domicile_artifact_counter_common
									value = 1
								}
							}
						}
					}
					else_if = {
						limit = { rarity = masterwork }
						scope:actor.house = {
							if = {
								limit = {
									has_variable = ep3_legacy_domicile_artifact_counter_masterwork
								}
								change_variable = {
									name = ep3_legacy_domicile_artifact_counter_masterwork
									add = 1
								}
							}
							else = {
								set_variable = {
									name = ep3_legacy_domicile_artifact_counter_masterwork
									value = 1
								}
							}
						}
					}
					else_if = {
						limit = { rarity = famed }
						scope:actor.house = {
							if = {
								limit = {
									has_variable = ep3_legacy_domicile_artifact_counter_famed
								}
								change_variable = {
									name = ep3_legacy_domicile_artifact_counter_famed
									add = 1
								}
							}
							else = {
								set_variable = {
									name = ep3_legacy_domicile_artifact_counter_famed
									value = 1
								}
							}
						}
					}
					else_if = {
						limit = { rarity = illustrious }
						scope:actor.house = {
							if = {
								limit = {
									has_variable = ep3_legacy_domicile_artifact_counter_illustrious
								}
								change_variable = {
									name = ep3_legacy_domicile_artifact_counter_illustrious
									add = 1
								}
							}
							else = {
								set_variable = {
									name = ep3_legacy_domicile_artifact_counter_illustrious
									value = 1
								}
							}
						}
					}
				}
			}

			custom_tooltip = add_artifact_to_domicile_warning
			hidden_effect = {
				destroy_artifact = scope:target
				house = {
					if = {
						limit = {
							has_variable = ep3_legacy_domicile_artifact_counter
						}
						change_variable = {
							name = ep3_legacy_domicile_artifact_counter
							add = 1
						}
					}
					else = {
						set_variable = {
							name = ep3_legacy_domicile_artifact_counter
							value = 1
						}
					}
				}
			}
		}
	}

	auto_accept = yes

	# AI
	ai_targets = {
		ai_recipients = self
	}

	ai_frequency = 84

	ai_potential = {
		has_any_unequipped_artifact = yes
		any_character_artifact = {
			count >= 5
			is_equipped = no
		}
	}

	ai_will_do = {
		base = 30
	}
}

# Send an acknowledgment and reward for a governor's good performance
acknowledge_governor_interaction = {
	category = interaction_category_vassal
	filter_tags = { admin_governor }
	
	icon = icon_acknowledge_governor
	common_interaction = no
	interface_priority = 21 #right before mentor in governance
	popup_on_receive = yes

	ai_targets = {
		ai_recipients = vassals
		max = 10
	}
	ai_frequency = 36

	desc = acknowledge_governor_interaction_desc

	is_shown = {
		NOT = { scope:actor = scope:recipient }
		scope:recipient = {
			target_is_liege_or_above = scope:actor
			highest_held_title_tier >= tier_duchy
			government_allows = administrative
		}
		scope:actor = {
			government_allows = administrative
			is_independent_ruler = yes
			highest_held_title_tier >= tier_empire
		}
	}

	cooldown_against_recipient = { years = 10 }

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
			NOT = {
				is_at_war_with = scope:recipient
			}
		}
		scope:recipient = {
			has_trait = governor
			has_trait_xp = {
				trait = governor
				value >= 80
			}
		}
	}

	auto_accept = yes

	cost = {
		influence = major_influence_value
	}

	on_accept = {
		scope:actor = { save_scope_as = emperor }
		scope:recipient = {
			trigger_event = {
				id = ep3_interactions_events.0040
				days = 1
			}
		}
		custom_tooltip = acknowledge_governor_interaction_tt
		show_as_tooltip = {
			scope:actor = {
				add_hook = {
					target = scope:recipient
					type = loyalty_hook
					years = 5
				}
			}
			if = {
				limit = {
					scope:recipient = { is_ai = yes }
				}
				scope:recipient = {
					add_opinion = {
						target = scope:actor
						modifier = feeling_appreciated_opinion
						opinion = 30
					}
				}
			}
		}
	}

	ai_potential = {
		government_allows = administrative
		highest_held_title_tier >= tier_empire
	}

	ai_will_do = {
		base = 10
		modifier = {
			scope:recipient.house ?= scope:actor.house
			add = 10
		}
		modifier = {
			scope:recipient = {
				is_close_family_of = scope:actor
			}
			add = 20
		}
		modifier = {
			scope:recipient = {
				is_extended_family_of = scope:actor
			}
			add = 10
		}
		modifier = {
			scope:actor = {
				has_relation_friend = scope:recipient
			}
			add = 10
		}
		modifier = {
			scope:actor = {
				has_relation_best_friend = scope:recipient
			}
			add = 20
		}
		modifier = {
			scope:actor = {
				has_relation_rival = scope:recipient
			}
			add = -30
		}
		opinion_modifier = { # Opinion Factor
			who = scope:actor
			opinion_target = scope:recipient
			multiplier = 0.5
		}
		modifier = {
			scope:recipient = {
				has_trait_xp = {
					trait = governor
					value >= 90
				}
			}
			factor = 1.5
		}
		modifier = {
			scope:recipient = {
				has_trait_xp = {
					trait = governor
					value >= 100
				}
			}
			factor = 2
		}
		modifier = {
			scope:actor = {
				has_strong_hook = scope:recipient
			}
			factor = 0.1
		}
	}
}

# Affect Governor's performance
boost_efficiency_interaction = {
	category = interaction_category_vassal
	filter_tags = { admin_governor }
	icon = icon_boost_efficiency
	interface_priority = 19
	popup_on_receive = yes

	ai_targets = {
		ai_recipients = peer_vassals
		max = 15
	}
	ai_targets = {
		ai_recipients = vassals
		max = 15
	}
	ai_frequency = 36

	desc = boost_efficiency_interaction_desc

	is_shown = {
		scope:actor = { government_allows = administrative }
		scope:recipient = {
			government_allows = administrative
			NOT = { this = scope:actor }
			is_governor = yes
			top_liege = scope:actor.top_liege
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
			NOT = { is_at_war_with = scope:recipient }
		}
		custom_tooltip = {
			text = boost_efficiency_interaction_too_high_tt
			scope:recipient.governor_efficiency_presented <= boost_efficiency_maximum_value
		}
		custom_tooltip = {
			text = efficiency_interaction_cooldown_tt
			scope:recipient = {
				NOR = {
					is_target_in_variable_list = {
						name = efficiency_boosters
						target = scope:actor
					}
					is_target_in_variable_list = {
						name = efficiency_damagers
						target = scope:actor
					}
				}
			}
		}
	}

	can_send = {
		custom_tooltip = {
			text = boost_efficiency_interaction_too_high_tt
			scope:recipient.governor_efficiency_presented <= boost_efficiency_maximum_value
		}
		custom_tooltip = {
			text = efficiency_interaction_cooldown_tt
			scope:recipient = {
				NOR = {
					is_target_in_variable_list = {
						name = efficiency_boosters
						target = scope:actor
					}
					is_target_in_variable_list = {
						name = efficiency_damagers
						target = scope:actor
					}
				}
			}
		}
	}

	cost = {
		influence = {
			value = minor_influence_value
			if = {
				limit = { scope:influence_boost = yes }
				add = scope:recipient.medium_influence_value
			}
		}
		gold = {
			value = 0
			if = {
				limit = { scope:gold_boost = yes }
				add = scope:recipient.medium_gold_value
			}
		}
	}

	send_option = {
		is_valid = { scope:actor.influence >= scope:recipient.medium_influence_gain }
		localization = influence_boost_desc
		flag = influence_boost
	}
	send_option = {
		is_valid = { scope:actor.gold >= scope:recipient.medium_gold_value }
		localization = gold_boost_desc
		flag = gold_boost
	}
	send_option = {
		localization = diplomacy_boost_desc
		flag = diplomacy_boost
	}
	send_option = {
		localization = stewardship_boost_desc
		flag = stewardship_boost
	}
	send_option = {
		localization = intrigue_boost_desc
		flag = intrigue_boost
	}
	send_options_exclusive = yes

	on_send = {
		scope:recipient = {
			add_to_variable_list = {
				name = efficiency_boosters
				target = scope:actor
				years = 2
			}
		}
	}

	auto_accept = yes

	on_accept = {
		switch = {
			trigger = yes
			scope:diplomacy_boost = {
				boost_governor_efficiency_duel_effect = { SKILL = diplomacy }
			}
			scope:stewardship_boost = {
				boost_governor_efficiency_duel_effect = { SKILL = stewardship }
			}
			scope:intrigue_boost = {
				boost_governor_efficiency_duel_effect = { SKILL = intrigue }
			}
			fallback = { boost_governor_efficiency_success_effect = yes } # Non-duel options always succeed
		}
	}

	ai_potential = {
		government_allows = administrative
		top_liege = {
			any_vassal = {
				is_governor = yes
				NOT = { this = root }
			}
		}
	}

	ai_will_do = {
		base = -10
		modifier = { # Boost house members
			scope:recipient.house ?= scope:actor.house
			add = 10
		}
		modifier = { # Boost family
			scope:recipient = { is_close_family_of = scope:actor }
			add = 10
		}
		modifier = { # Boost friends
			scope:actor = { has_relation_friend = scope:recipient }
			add = 10
		}
		modifier = { # Avoid boosting rivals
			scope:actor = { has_relation_rival = scope:recipient }
			add = -25
		}
		modifier = { # Avoid making potential house gains harder
			scope:recipient = {
				any_held_title = {
					tier >= tier_duchy
					current_heir.house = scope:actor.house
					scope:actor.house != scope:recipient.house
				}
			}
			add = -10
		}
		modifier = { # AI copy players they like
			scope:recipient = {
				any_in_list = {
					variable = efficiency_boosters
					is_ai = no
					NOT = { has_relation_rival = scope:actor }
					OR = {
						has_relation_friend = scope:actor
						AND = {
							exists = house
							scope:actor.house ?= house
						}
						is_close_family_of = scope:actor
					}
				}
			}
			add = 15
		}
		opinion_modifier = { # Opinion Factor - boost for characters they like
			who = scope:actor
			opinion_target = scope:recipient
			multiplier = 0.25
		}
	}
}

# Affect Governor's performance
damage_efficiency_interaction = {
	category = interaction_category_vassal
	filter_tags = { admin_governor }
	
	icon = icon_damage_efficiency
	interface_priority = 18 #right after bolster governance
	popup_on_receive = yes

	ai_targets = {
		ai_recipients = peer_vassals
		max = 15
	}
	ai_targets = {
		ai_recipients = vassals
		max = 15
	}
	ai_frequency = 36

	desc = damage_efficiency_interaction_desc

	is_shown = {
		scope:actor = { government_allows = administrative }
		scope:recipient = {
			is_governor = yes
			NOT = { this = scope:actor }
			top_liege = scope:actor.top_liege
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
			NOT = { is_at_war_with = scope:recipient }
		}
		custom_tooltip = {
			text = damage_efficiency_interaction_too_low_tt
			scope:recipient.governor_efficiency_presented >= damage_efficiency_minimum_value
		}
		custom_tooltip = {
			text = efficiency_interaction_cooldown_tt
			scope:recipient = {
				NOR = {
					is_target_in_variable_list = {
						name = efficiency_boosters
						target = scope:actor
					}
					is_target_in_variable_list = {
						name = efficiency_damagers
						target = scope:actor
					}
				}
			}
		}
	}

	can_send = {
		custom_tooltip = {
			text = damage_efficiency_interaction_too_low_tt
			scope:recipient.governor_efficiency_presented >= damage_efficiency_minimum_value
		}
		custom_tooltip = {
			text = efficiency_interaction_cooldown_tt
			scope:recipient = {
				NOR = {
					is_target_in_variable_list = {
						name = efficiency_boosters
						target = scope:actor
					}
					is_target_in_variable_list = {
						name = efficiency_damagers
						target = scope:actor
					}
				}
			}
		}
	}

	cost = {
		influence = {
			value = minor_influence_gain
			if = {
				limit = { scope:influence_damage = yes }
				add = scope:recipient.medium_influence_gain
			}
		}
		gold = {
			value = 0
			if = {
				limit = { scope:gold_damage = yes }
				add = scope:recipient.medium_gold_value
			}
		}
	}

	send_option = {
		is_valid = { scope:actor.influence >= scope:recipient.medium_influence_gain }
		localization = influence_damage_desc
		flag = influence_damage
	}
	send_option = {
		is_valid = { scope:actor.gold >= scope:recipient.medium_gold_value }
		localization = gold_damage_desc
		flag = gold_damage
	}
	send_option = {
		localization = diplomacy_damage_desc
		flag = diplomacy_damage
	}
	send_option = {
		localization = stewardship_damage_desc
		flag = stewardship_damage
	}
	send_option = {
		localization = intrigue_damage_desc
		flag = intrigue_damage
	}
	send_options_exclusive = yes

	on_send = {
		scope:recipient = {
			add_to_variable_list = {
				name = efficiency_damagers
				target = scope:actor
				years = 2
			}
		}
	}

	auto_accept = yes

	on_accept = {
		switch = {
			trigger = yes
			scope:diplomacy_damage = {
				damage_governor_efficiency_duel_effect = { SKILL = diplomacy }
			}
			scope:stewardship_damage = {
				damage_governor_efficiency_duel_effect = { SKILL = stewardship }
			}
			scope:intrigue_damage = {
				damage_governor_efficiency_duel_effect = { SKILL = intrigue }
			}
			fallback = { damage_governor_efficiency_success_effect = yes } # Non-duel options always succeed
		}
	}

	ai_potential = {
		government_allows = administrative
		top_liege = {
			any_vassal = {
				is_governor = yes
				NOT = { this = root }
			}
		}
	}

	ai_will_do = {
		base = -10
		modifier = { # Don't damage house members
			scope:recipient.house ?= scope:actor.house
			add = -10
		}
		modifier = { # Don't damage close family
			scope:recipient = { is_close_family_of = scope:actor }
			add = -10
		}
		modifier = { # Don't damage friends
			scope:actor = { has_relation_friend = scope:recipient }
			add = -10
		}
		modifier = { # Damage rivals
			scope:actor = { has_relation_rival = scope:recipient }
			add = 15
		}
		modifier = { # Damage when house stands to gain
			scope:recipient = {
				any_held_title = {
					tier >= tier_duchy
					current_heir.house = scope:actor.house
					scope:actor.house != scope:recipient.house
				}
			}
			add = 10
		}
		modifier = { # AI copy players they like
			scope:recipient = {
				any_in_list = {
					variable = efficiency_damagers
					is_ai = no
					NOT = { has_relation_rival = scope:actor }
					OR = {
						has_relation_friend = scope:actor
						AND = {
							exists = house
							scope:actor.house ?= house
						}
						is_close_family_of = scope:actor
					}
				}
			}
			add = 15
		}
		opinion_modifier = { # Opinion Factor - boost for characters they dislike
			who = scope:actor
			opinion_target = scope:recipient
			multiplier = -0.25
		}
	}
}

# Emperor fires Governor - AKA Depose Governor/depose_governor
governor_removal_interaction = {
	category = interaction_category_succession
	filter_tags = { admin_governor }
	icon = icon_governor_removal
	common_interaction = no
	desc = governor_removal_interaction_desc
	greeting = negative
	notification_text = GOVERNOR_REMOVAL_NOTIFICATION_TEXT
	popup_on_receive = yes
	pause_on_receive = yes
	cooldown_against_recipient = { years = 5 }

	auto_accept = yes

	is_shown = {
		scope:actor = {
			is_independent_ruler = yes
			government_allows = administrative
		}
		scope:recipient = {
			NOT = { this = scope:actor }
			is_governor = yes
			is_vassal_of = scope:actor
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			NOT = { is_at_war_with = scope:recipient }
			any_vassal = {
				is_governor = yes
				NOT = { this = scope:actor }
			}
		}
	}

	is_highlighted = {
		scope:recipient ?= {
			any_held_title = {
				current_heir ?= {
					OR = {
						scope:actor ?= this
						is_close_family_of = scope:actor
					}
				}
			}
		}
	}

	highlighted_reason = HIGHLIGHTED_GOVERNOR_REMOVAL_HEIR

	can_send = {
		scope:recipient != scope:actor
		custom_tooltip = {
			text = demand_governor_removal_dominant_family_tt
			scope:recipient.house ?= { is_dominant_family = no }
		}
	}

	cost = {
		influence = {
			value = 0
			if = {
				limit = { exists = scope:recipient }
				scope:recipient ?= {
					if = {
						limit = {
							any_held_title = {
								tier = tier_kingdom
								is_landless_type_title = no
								is_noble_family_title = no
							}
						}
						add = {
							every_held_title = {
								limit = {
									tier = tier_kingdom
									is_landless_type_title = no
									is_noble_family_title = no
								}
								add = {
									value = scope:recipient.massive_influence_value
									multiply = 3
								}
							}
							desc = GOVERNOR_RESIGNATION_KINGDOM_COST
						}
					}
					else_if = {
						limit = {
							any_held_title = {
								tier = tier_duchy
								is_landless_type_title = no
								is_noble_family_title = no
							}
						}
						add = {
							every_held_title = {
								limit = {
									tier = tier_duchy
									is_landless_type_title = no
									is_noble_family_title = no
								}
								add = scope:recipient.massive_influence_value
							}
							desc = GOVERNOR_RESIGNATION_DUCHY_COST
						}
					}
					if = {
						limit = { house ?= { is_powerful_family = yes } }
						add = {
							value = scope:recipient.massive_influence_value
							desc = GOVERNOR_RESIGNATION_POWERFUL_COST
						}
					}
					else_if = {
						limit = { house ?= { is_dominant_family = yes } }
						add = {
							value = scope:recipient.monumental_influence_value
							desc = GOVERNOR_RESIGNATION_DOMINANT_COST
						}
					}
					if = {
						limit = {
							scope:actor = { is_ai = no } # This cost is only for players due to performance reasons
						}
						if = {
							limit = {
								scope:recipient.governor_efficiency != 1
							}
							add = {
								value = -100
								add = {
									value = scope:recipient.governor_efficiency
									multiply = 100
								}
								desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST
							}
						}
					}
					if = {
						limit = {
							influence_level != 1
						}
						add = {
							value = {
								value = influence_level
								subtract = 1
							}
							multiply = 50
							desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST
						}
					}
				}
				scope:actor = {
					if = {
						limit = { has_revoke_title_reason = scope:recipient }
						multiply = {
							value = 0.5
							desc = temporal_condemnation_got_revoke_reason # Reused loc
						}
					}
				}
			}
		}
	}

	on_accept = {
		scope:recipient = {
			if = {
				limit = {
					exists = house
					house = {
						OR = {
							is_powerful_family = yes
							is_dominant_family = yes
						}
					}
					can_set_relation_rival_trigger = { CHARACTER = scope:actor }
				}
				progress_towards_rival_effect = {
					REASON = rival_deposed_governor
					CHARACTER = scope:actor
					OPINION = 0
				}
			}
			add_opinion = {
				target = scope:actor
				modifier = demanded_my_resignation_opinion
			}
			custom_tooltip = demanded_my_resignation_house_tt
			hidden_effect = {
				house ?= {
					if = {
						limit = {
							NOT = { this = scope:actor.house }
						}
						every_house_member = {
							custom = custom.every_house_member_secondary_recipient
							limit = {
								is_ai = yes
								NOT = { this = scope:recipient }
							}
							if = {
								limit = {
									house = {
										OR = {
											is_powerful_family = yes
											is_dominant_family = yes
										}
									}
								}
								add_opinion = {
									target = scope:actor
									modifier = demanded_my_house_members_resignation_opinion
									opinion = -20
								}
							}
							else = {
								add_opinion = {
									target = scope:actor
									modifier = demanded_my_house_members_resignation_opinion
									opinion = -15
								}
							}
						}
					}
				}
			}
			if = {
				limit = {
					any_held_title = {
						is_noble_family_title = no
						exists = current_heir
						current_heir = {
							NOR = {
								this = scope:actor
								AND = {
									exists = scope:recipient.house
									house ?= scope:recipient.house
								}
								has_relation_friend = scope:recipient
								has_relation_best_friend = scope:recipient
								is_allied_to = scope:recipient
								has_relation_soulmate = scope:recipient
								is_spouse_of = scope:recipient
								is_close_family_of = scope:recipient
							}
							opinion = {
								target = scope:recipient
								value <= 40
							}
						}
					}
				}
				every_held_title = {
					limit = {
						is_noble_family_title = no
						exists = current_heir
						current_heir = {
							NOR = {
								this = scope:actor
								AND = {
									exists = scope:recipient.house
									house ?= scope:recipient.house
								}
								has_relation_friend = scope:recipient
								has_relation_best_friend = scope:recipient
								is_allied_to = scope:recipient
								has_relation_soulmate = scope:recipient
								is_spouse_of = scope:recipient
								is_close_family_of = scope:recipient
							}
							opinion = {
								target = scope:recipient
								value <= 40
							}
						}
					}
					current_heir = {
						add_to_list = deposed_title_heirs
					}
				}
				every_in_list = {
					list = deposed_title_heirs
					add_opinion = {
						target = scope:actor
						modifier = deposed_predecessor_opinion
					}
				}
			}
			trigger_event = ep3_interactions_events.0630
			show_as_tooltip = {
				governor_resignation_title_transfer_effect = yes
			}
		}
	}

	on_decline = {
		scope:recipient = {
			add_opinion = {
				target = scope:actor
				modifier = demanded_my_resignation_opinion
			}
		}
		scope:actor = {
			send_interface_toast = {
				title = demand_governor_resignation_declined_toast
				type = event_toast_effect_bad
				left_icon = scope:recipient
				revocation_tyranny_effect = { VASSAL = scope:recipient }
				title_revocation_stress_effect = { VASSAL = scope:recipient }
			}
		}
		war_for_revoke_effect = {
			LIEGE = scope:actor
			REBEL = scope:recipient
		}
		scope:actor = {
			if = {
				limit = { has_realm_law_flag = vassal_refusal_is_treason }
				add_opinion = {
					target = scope:recipient
					modifier = treasonous_revoke_refusal
				}
			}
		}
	}

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

	send_options_exclusive = no

	can_be_blocked = {
		custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook.
			text = "spending_hook"
			subject = scope:recipient
			object = scope:actor
			scope:recipient = { has_hook = scope:actor }
			NAND = {
				scope:hook = yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
		}
	}

	on_blocked_effect = {
		scope:recipient = {
			remove_hook = { target = scope:actor }
		}
	}

	# AI
	ai_targets = {
		ai_recipients = vassals
	}

	ai_frequency = 6
	ai_potential = {
		influence > massive_influence_value
		is_at_war = no # Don't spend influence when at war in case troops are needed
	}

	ai_will_do = {
		base = -10
		modifier = {
			scope:actor.house = scope:recipient.house
			add = -50
		}
		modifier = {
			scope:actor = { has_relation_rival = scope:recipient }
			add = 30
		}
		modifier = { # Get rid of bad governors, but there is no point if the heir is worse
			scope:recipient = {
				governor_efficiency <= 0.7
				governor_efficiency < scope:recipient.primary_heir.governor_efficiency
			}
			add = 10
		}
		modifier = {
			scope:recipient = {
				is_a_faction_member = yes
			}
			add = 20
		}
		modifier = {
			scope:recipient = {
				governor_efficiency >= 1.25
			}
			add = -10
		}
		modifier = {
			scope:recipient = {
				has_trait = loyal
			}
			add = -10
		}
		modifier = {
			scope:recipient = {
				has_trait = disloyal
			}
			add = 5
		}
		modifier = {
			scope:recipient = {
				is_allied_to = scope:actor
			}
			add = -100
		}
		modifier = {
			scope:recipient = {
				any_held_title = {
					current_heir ?= {
						house = scope:actor.house
						NOT = { this = scope:actor }
					}
				}
			}
			add = 10
		}
		opinion_modifier = { # Opinion Factor
			who = scope:actor
			opinion_target = scope:recipient
			multiplier = -0.25
		}
	}
}

# Demand Emperor fires Governor - AKA Compel Resignation/compel_resignation
force_governor_removal_interaction = {
	category = interaction_category_succession
	filter_tags = { admin_governor }
	icon = icon_force_governor_removal
	desc = force_governor_removal_interaction_desc
	interface_priority = 134 # right after Force Retirement
	common_interaction = no

	greeting = positive
	notification_text = DEMAND_GOVERNOR_REMOVAL_NOTIFICATION_TEXT
	can_send_despite_rejection = yes
	popup_on_receive = yes
	pause_on_receive = yes

	cooldown = { years = 5 }

	ai_maybe = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9

	is_shown = {
		scope:actor = {
			is_independent_ruler = no
			exists = top_liege
			top_liege = { government_allows = administrative }
		}
		scope:secondary_recipient ?= { is_governor = yes }
		OR = {
			scope:secondary_recipient ?= { is_vassal_of = scope:recipient }
			scope:secondary_recipient ?= scope:recipient
		}
		scope:secondary_recipient != scope:actor
		scope:secondary_recipient != scope:recipient
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			NOR = {
				is_at_war_with = scope:recipient
				is_at_war_with = scope:secondary_recipient
			}
			top_liege = {
				any_vassal = {
					is_governor = yes
					NOT = { this = scope:actor }
				}
			}
		}
		scope:secondary_recipient = {
			NOT = { is_at_war_with = scope:recipient }
		}
	}

	is_highlighted = {
		scope:secondary_recipient ?= {
			any_held_title = {
				current_heir ?= {
					OR = {
						scope:actor ?= this
						house ?= scope:actor.house
					}
				}
			}
		}
	}

	highlighted_reason = HIGHLIGHTED_DEMAND_GOVERNOR_REMOVAL_HEIR

	can_send = {
		scope:secondary_recipient != scope:actor
		custom_tooltip = {
			text = demand_governor_removal_dominant_family_tt
			scope:secondary_recipient.house ?= { is_dominant_family = no }
		}
		scope:actor = {
			NAND = {
				is_ai = yes
				scope:recipient = { has_character_flag = force_governor_resignation_ai_cooldown }
			}
		}
	}

	can_be_picked = {
		house ?= { is_dominant_family = no }
		any_held_title = {
			is_landless_type_title = no
			is_noble_family_title = no
		}
		exists = house
		is_governor = yes
		NOR = {
			this = scope:actor
			this = scope:recipient
		}
	}

	redirect = {
		if = {
			limit = { scope:recipient != scope:actor.top_liege }
			scope:recipient = { save_scope_as = secondary_recipient }
		}
		scope:actor.top_liege ?= {
			save_scope_as = recipient
		}
	}

	populate_recipient_list = {
		scope:actor.top_liege = {
			every_vassal = {
				limit = {
					exists = house
					is_governor = yes
					NOR = {
						this = scope:actor
						this = scope:recipient
					}
				}
				add_to_list = characters
			}
		}
	}

	cost = {
		influence = {
			value = 0
			if = {
				limit = { exists = scope:secondary_recipient }
				scope:secondary_recipient ?= {
					if = {
						limit = {
							any_held_title = {
								tier = tier_duchy
								is_landless_type_title = no
								is_noble_family_title = no
							}
						}
						add = {
							value = 0
							every_held_title = {
								limit = {
									tier = tier_duchy
									is_landless_type_title = no
									is_noble_family_title = no
								}
								add = scope:secondary_recipient.massive_influence_value
							}
							desc = DEMAND_GOVERNOR_RESIGNATION_DUCHY_COST
						}
					}
					if = {
						limit = {
							any_held_title = {
								tier = tier_kingdom
								is_landless_type_title = no
								is_noble_family_title = no
							}
						}
						add = {
							value = 0
							every_held_title = {
								limit = {
									tier = tier_kingdom
									is_landless_type_title = no
									is_noble_family_title = no
								}
								add = {
									value = scope:secondary_recipient.massive_influence_value
									multiply = 2
								}
							}
							desc = DEMAND_GOVERNOR_RESIGNATION_KINGDOM_COST
						}
					}
					if = {
						limit = { house ?= { is_powerful_family = yes } }
						add = {
							value = scope:secondary_recipient.massive_influence_value
							desc = DEMAND_GOVERNOR_RESIGNATION_POWERFUL_COST
						}
					}
					else_if = {
						limit = { house ?= { is_dominant_family = yes } }
						add = {
							value = scope:secondary_recipient.monumental_influence_value
							desc = DEMAND_GOVERNOR_RESIGNATION_DOMINANT_COST
						}
					}
					else_if = {
						limit = { scope:secondary_recipient.governor_efficiency > 1 }
						add = {
							value = -100
							add = {
								value = scope:secondary_recipient.governor_efficiency
								multiply = 100
							}
							desc = DEMAND_GOVERNOR_RESIGNATION_EFFICIENCY_COST
						}
					}
					if = {
						limit = {
							influence_level != 1
						}
						add = {
							value = {
								value = influence_level
								subtract = 1
							}
							multiply = 50
							desc = DEMAND_GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST
						}
					}
				}
			}
		}
	}

	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_good
				title = force_governor_resignation_accepted_toast
				left_icon = scope:secondary_recipient
				right_icon = scope:recipient
				if = {
					limit = { scope:criminal_secret_recipient = yes}
					scope:actor = {
						random_known_secret = {
							limit = {
								secret_owner = scope:recipient
								is_criminal_for = scope:recipient
								can_be_exposed_by = scope:actor
							}
							disable_exposure_by = scope:actor
						}
					}
				}
				if = {
					limit = { scope:criminal_secret_secondary_recipient = yes }
					scope:actor = {
						random_known_secret = {
							limit = {
								secret_owner = scope:secondary_recipient
								is_criminal_for = scope:secondary_recipient
								can_be_exposed_by = scope:actor
								NOT = { is_known_by = scope:recipient }
							}
							reveal_to = scope:recipient
							disable_exposure_by = scope:actor
						}
					}
				}
				scope:secondary_recipient ?= {
					if = {
						limit = { is_ai = yes }
						add_opinion = {
							target = scope:actor
							modifier = forced_my_resignation_opinion
						}
					}
					progress_towards_rival_effect = {
						REASON = rival_forced_my_resignation_reason
						CHARACTER = scope:actor
						OPINION = default_rival_opinion
					}
					house ?= {
						if = {
							limit = {
								this != scope:actor.house
							}
							every_house_member = {
								custom = custom.every_house_member_secondary_recipient
								limit = {
									is_ai = yes
									this != scope:secondary_recipient
								}
								add_opinion = {
									target = scope:actor
									modifier = forced_my_house_members_resignation_opinion
								}
							}
						}
					}
					governor_resignation_title_transfer_effect = yes
				}
			}
			if = {
				limit = { scope:influence = yes }
				change_influence = massive_influence_loss
			}
		}
	}

	on_decline = {
		scope:secondary_recipient ?= {
			if = {
				limit = { is_ai = yes }
				add_opinion = {
					target = scope:actor
					modifier = attempted_force_my_resignation_opinion
				}
				add_opinion = {
					target = scope:recipient
					modifier = blocked_my_resignation_opinion
				}
			}
			custom_tooltip = demanded_my_resignation_blocked_house_tt
			hidden_effect = {
				scope:actor = {
					send_interface_toast = {
						type = event_toast_effect_bad
						title = force_governor_resignation_vetoed_toast
						left_icon = scope:secondary_recipient
						right_icon = scope:recipient
						scope:secondary_recipient = {
							send_interface_toast = {
								type = event_toast_effect_good
								title = force_governor_resignation_vetoed_toast
								left_icon = scope:actor
								right_icon = scope:recipient
								scope:recipient = { change_influence = medium_influence_loss }
								house ?= {
									every_house_member = {
										custom = custom.every_house_member_secondary_recipient
										limit = {
											is_ai = yes
											NOR = {
												this = scope:secondary_recipient
												this = scope:actor
												this = scope:recipient
											}
										}
										if = {
											limit = {
												NOT = { scope:actor.house ?= scope:secondary_recipient.house }
											}
											add_opinion = {
												target = scope:actor
												modifier = attempted_force_my_house_members_resignation_opinion
											}
										}
										if = {
											limit = {
												NOT = { scope:recipient.house ?= scope:secondary_recipient.house }
											}
											add_opinion = {
												target = scope:recipient
												modifier = blocked_my_house_members_resignation_opinion
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_bad
				title = force_governor_resignation_declined_toast
				left_icon = scope:secondary_recipient
				right_icon = scope:recipient
				scope:recipient = {
					title_revocation_stress_effect = { VASSAL = scope:secondary_recipient }

					if = {
						limit = { has_realm_law_flag = vassal_refusal_is_treason }
						add_opinion = {
							target = scope:secondary_recipient
							modifier = treasonous_revoke_refusal
						}
					}
					if = {
						limit = { scope:criminal_secret_recipient = yes}
						scope:actor = {
							random_known_secret = {
								limit = {
									secret_owner = scope:recipient
									is_criminal_for = scope:recipient
									can_be_exposed_by = scope:actor
								}
								expose_secret = scope:actor
							}
						}
					}
				}
			}
		}
	}

	on_send = {
		scope:actor.top_liege = {
			add_character_flag = {
				flag = force_governor_resignation_ai_cooldown
				months = 6
			}
		}
	}

	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
		}
		flag = hook
		localization = GENERIC_SPEND_A_HOOK
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"
	send_option = {
		flag = influence
		is_valid = {
			scope:actor.influence >= massive_influence_value
		}
		localization = SPEND_INFLUENCE
	}
	send_option = {
		flag = criminal_secret_recipient
		is_shown = {
			scope:recipient = {
				any_secret = {
					is_criminal_for = scope:recipient
					is_known_by = scope:actor
					can_be_exposed_by = scope:actor
				}
			}
		}
		localization = LEVERAGE_CRIMINAL_SECRET_RECIPIENT
	}
	send_option = {
		flag = criminal_secret_secondary_recipient
		is_shown = {
			scope:secondary_recipient = {
				any_secret = {
					is_criminal_for = scope:secondary_recipient
					is_known_by = scope:actor
					can_be_exposed_by = scope:actor
					NOT = { is_known_by = scope:recipient }
				}
			}
		}
		localization = LEVERAGE_CRIMINAL_SECRET_SECONDARY_RECIPIENT
	}

	send_options_exclusive = no

	can_be_blocked = {
		custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook.
			text = "spending_hook"
			subject = scope:recipient
			object = scope:actor
			scope:recipient = { has_hook = scope:actor }
			NAND = {
				scope:hook = yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
		}
	}

	on_blocked_effect = {
		scope:recipient = {
			remove_hook = { target = scope:actor }
		}
	}

	# AI
	ai_targets = {
		ai_recipients = peer_vassals
		max = 10
	}
	ai_targets = {
		ai_recipients = liege
	}

	ai_frequency = 60
	ai_potential = {
		influence > massive_influence_value
		is_independent_ruler = no
		government_allows = administrative
	}
	ai_accept = {
		base = -50
		# SEND OPTIONS
		modifier = {
			scope:hook = yes
			add = 30
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			desc = INFLUENCE_REASON
			scope:influence = yes
			add = {
				value = 20
				multiply = scope:actor.influence_level
				min = 5
			}
		}
		modifier = {
			desc = RECIPIENT_SECRET
			scope:criminal_secret_recipient = yes
			add = 50
		}
		modifier = {
			desc = SECONDARY_RECIPIENT_SECRET
			scope:criminal_secret_secondary_recipient = yes
			add = 50
		}

		modifier = {
			add = {
				value = -100
				add = {
					value = scope:secondary_recipient.governor_efficiency
					multiply = 100
				}
				multiply = -1
				round = yes
			}
			desc = SECONDARY_RECIPIENT_GOVERNOR_EFFICIENCY
		}
		modifier = {
			scope:secondary_recipient.dynasty = scope:recipient.dynasty
			scope:secondary_recipient.house != scope:recipient.house
			NOT = {
				scope:secondary_recipient = { is_close_family_of = scope:recipient }
			}
			add = -30
			desc = THEY_ARE_MY_HOUSE_MEMBER
		}
		modifier = {
			scope:secondary_recipient.house = scope:recipient.house
			NOT = {
				scope:secondary_recipient = { is_close_family_of = scope:recipient }
			}
			add = -50
			desc = THEY_ARE_MY_HOUSE_MEMBER
		}
		modifier = {
			scope:secondary_recipient = { is_close_family_of = scope:recipient }
			add = -70
			desc = THEY_ARE_MY_CLOSE_FAMILY
		}
		modifier = {
			scope:secondary_recipient = { is_councillor = yes }
			add = -15
			desc = THEY_ARE_MY_COUNCILLOR
		}
		modifier = {
			scope:recipient = { is_spouse_of = scope:secondary_recipient }
			add = -25
			desc = THEY_ARE_MY_SPOUSE
		}
		modifier = {
			scope:recipient = { has_relation_friend = scope:secondary_recipient }
			add = -30
			desc = THEY_ARE_MY_FRIEND
		}
		modifier = {
			scope:recipient = { has_relation_rival = scope:secondary_recipient }
			add = 25
			desc = THEY_ARE_MY_RIVAL
		}
		modifier = {
			scope:secondary_recipient.house = {
				is_powerful_family = yes
				NOR = {
					this = scope:actor.house
					this = scope:intermediary.house
				}
			}
			add = -20
			desc = TARGET_FAMILY_IS_POWERFUL
		}
		modifier = {
			scope:actor.house = {
				is_powerful_family = yes
				NOR = {
					this = scope:actor.house
					this = scope:intermediary.house
				}
			}
			add = 20
			desc = YOUR_FAMILY_IS_POWERFUL
		}
		modifier = {
			scope:actor.house = {
				is_dominant_family = yes
				NOT = { this = scope:recipient.house }
			}
			add = 30
			desc = YOUR_FAMILY_IS_DOMINANT
		}
		modifier = {
			scope:secondary_recipient.house = {
				is_dominant_family = yes
				this != scope:recipient.house
			}
			add = -30
			desc = TARGET_FAMILY_IS_DOMINANT
		}
		modifier = {
			scope:secondary_recipient = {
				house != scope:recipient.house
				any_held_title = {
					current_heir ?= {
						is_close_family_of = scope:recipient
						NOT = { this = scope:recipient }
					}
				}
			}
			add = 30
			desc = THEIR_HOUSE_MEMBER_STANDS_TO_INHERIT
		}
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:secondary_recipient
			multiplier = -0.5
		}
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
		}
	}
	auto_accept = {
		trigger_if = {
			limit = {
				scope:hook ?= yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
			custom_description = {
				text = "spending_hook"
				subject = scope:actor
				object = scope:recipient
				scope:hook ?= yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
		}
		trigger_else = { always = no }
	}

	ai_will_do = {
		base = -10
		modifier = {
			scope:actor.house = scope:recipient.house
			add = -50
		}
		modifier = {
			scope:actor = { has_relation_rival = scope:secondary_recipient }
			add = 10
		}
		modifier = {
			scope:secondary_recipient = {
				any_held_title = { current_heir.house ?= scope:actor.house }
			}
			add = 10
		}
		modifier = {
			scope:actor = {
				OR = {
					has_relation_friend = scope:secondary_recipient
					has_relation_lover = scope:secondary_recipient
					is_spouse_of = scope:secondary_recipient
					is_close_family_of = scope:secondary_recipient
				}
			}
			add = -50
		}
	}
}

# Force Step Down
force_step_down_interaction = {
	icon = icon_force_to_step_down
	common_interaction = no
	interface_priority = 135
	category = interaction_category_succession

	filter_tags = { admin_governor }


	cooldown_against_recipient = { years = 5 }

	target_type = title
	target_filter = recipient_domain_titles
	can_be_picked_title = {
		scope:target = {
			tier = tier_duchy
			is_noble_family_title = no
		}
	}
	has_valid_target_showing_failures_only = {
		scope:target = {
			tier = tier_duchy
			is_noble_family_title = no
		}
	}

	ai_target_quick_trigger = { adult = yes }
	ai_targets = {
		ai_recipients = vassals
		ai_recipients = peer_vassals
		max = 10
	}

	ai_maybe = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	can_send_despite_rejection = yes
	popup_on_receive = yes

	greeting = negative
	notification_text = FORCE_STEP_DOWN_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	ai_frequency = 180

	is_shown = {
		scope:actor = {
			government_allows = administrative
			is_independent_ruler = no
			this != scope:recipient
		}
		scope:recipient = {
			government_allows = administrative
			is_governor = yes
		}
	}

	is_highlighted = {
		scope:recipient ?= {
			any_held_title = {
				current_heir ?= {
					OR = {
						scope:actor ?= this
						house ?= scope:actor.house
					}
				}
			}
		}
	}

	highlighted_reason = HIGHLIGHTED_FORCE_STEP_DOWN_HEIR

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
			is_imprisoned = no
			is_in_civil_war = no
		}
		scope:recipient = {
			is_in_civil_war = no
		}
	}

	desc = scheme_interaction_tt_force_step_down_approved

	send_options_exclusive = no
	send_option = {
		flag = hook
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
			NOT = {
				scope:recipient = { has_hook = scope:actor }
			}
		}
		localization = GENERIC_SPEND_A_HOOK
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"
	send_option = {
		flag = influence
		is_valid = {
			scope:actor.influence >= massive_influence_value
		}
		localization = SPEND_INFLUENCE
	}
	send_option = {
		flag = gold
		is_valid = {
			scope:actor.gold >= scope:actor.massive_gold_value
		}
		localization = GENERIC_SPEND_GOLD
	}
	send_option = {
		flag = criminal_secret_recipient
		is_shown = {
			scope:recipient = {
				any_secret = {
					is_criminal_for = scope:recipient
					is_known_by = scope:actor
					can_be_exposed_by = scope:actor
				}
			}
		}
		localization = LEVERAGE_CRIMINAL_SECRET_RECIPIENT
	}

	on_accept = {
		scope:actor = {
			# Save the number of held governorships
			scope:recipient = {
				save_scope_value_as = {
					name = recipient_number_of_governorships
					value = {
						value = 0
						every_held_title = {
							limit = {
								tier >= tier_duchy
								is_noble_family_title = no
							}
							add = 1
						}
					}
				}
			}

			if = {
				limit = { scope:hook = yes }
				use_hook = scope:recipient
			}
			if = {
				limit = { scope:influence = yes }
				change_influence = {
					value = massive_influence_loss
					multiply = 2
					multiply = scope:recipient_number_of_governorships
				}
			}
			if = {
				limit = { scope:gold = yes }
				pay_short_term_gold = {
					target = scope:recipient
					gold = {
						value = massive_gold_value
						multiply = scope:recipient_number_of_governorships
					}
				}
			}
			if = {
				limit = { scope:criminal_secret_recipient = yes}
				scope:actor = {
					random_known_secret = {
						limit = {
							secret_owner = scope:recipient
							is_criminal_for = scope:recipient
							can_be_exposed_by = scope:actor
						}
						disable_exposure_by = scope:actor
					}
				}
			}
			send_interface_toast = {
				type = event_toast_effect_good
				title = force_governor_resignation_accepted_toast
				left_icon = scope:target
				right_icon = scope:recipient
				scope:recipient = {
					custom_tooltip = loses_target_title_tt
					if = {
						limit = { is_ai = yes }
						add_opinion = {
							target = scope:actor
							modifier = forced_my_resignation_opinion
						}
					}
					if = {
						limit = { can_set_relation_rival_trigger = { CHARACTER = scope:actor } }
						set_relation_rival = {
							target = scope:actor
							reason = rival_forced_my_resignation_reason
						}
					}
					house ?= {
						if = {
							limit = {
								this != scope:actor.house
							}
							every_house_member = {
								custom = custom.every_house_member_recipient
								limit = {
									is_ai = yes
									this != scope:secondary_recipient
								}
								add_opinion = {
									target = scope:actor
									modifier = forced_my_house_members_resignation_opinion
								}
							}
						}
					}
					
					force_step_down_landed_titles = yes
				}
			}
		}
	}

	on_decline = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_bad
				title = force_governor_resignation_declined_toast
				left_icon = scope:target
				right_icon = scope:recipient

				change_influence = major_influence_loss
				add_prestige = medium_prestige_loss
				scope:recipient = {
					add_opinion = {
						target = scope:actor
						modifier = attempted_force_step_down_opinion
					}
					if = {
						limit = { can_set_relation_rival_trigger = { CHARACTER = scope:actor } }
						set_relation_rival = {
							target = scope:actor
							reason = rival_attempted_to_force_my_resignation_reason
						}
					}
				}
				if = {
					limit = { scope:criminal_secret_recipient = yes}
					scope:actor = {
						random_known_secret = {
							limit = {
								secret_owner = scope:recipient
								is_criminal_for = scope:recipient
								can_be_exposed_by = scope:actor
							}
							expose_secret = scope:actor
						}
					}
				}
			}
		}
	}

	auto_accept = {
		trigger_if = {
			limit = {
				scope:hook ?= yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
			custom_description = {
				text = "spending_hook"
				subject = scope:actor
				object = scope:recipient
				scope:hook ?= yes
				scope:actor = { has_strong_hook = scope:recipient }
			}
		}
		trigger_else = { always = no }
	}

	ai_accept = {
		base = 0

		# SEND OPTIONS
		modifier = {
			scope:hook = yes
			add = 30
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			desc = INFLUENCE_REASON
			scope:influence = yes
			add = {
				value = 20
				multiply = scope:actor.influence_level
				min = 5
			}
		}
		modifier = {
			desc = GOLD_REASON
			scope:gold = yes
			add = 30
		}
		modifier = {
			desc = RECIPIENT_SECRET
			scope:criminal_secret_recipient = yes
			add = 50
		}

		# TRAITS
		modifier = {
			scope:recipient = { has_trait = craven }
			add = 10
			desc = INTERACTION_CRAVEN
		}
		modifier = {
			scope:recipient = { has_trait = trusting }
			add = 5
			desc = INTERACTION_TRUSTING
		}
		modifier = {
			scope:recipient = { has_trait = generous }
			add = 5
			desc = INTERACTION_GENEROUS
		}
		modifier = {
			scope:recipient = { has_trait = lazy }
			add = 10
			desc = INTERACTION_LAZY
		}
		modifier = {
			scope:recipient = { has_trait = paranoid }
			add = -20
			desc = INTERACTION_PARANOID
		}
		modifier = {
			scope:recipient = { has_trait = patient }
			add = -5
			desc = INTERACTION_PATIENT
		}
		modifier = {
			scope:recipient = { has_trait = brave }
			add = -10
			desc = INTERACTION_BRAVE
		}
		modifier = {
			scope:recipient = { has_trait = greedy }
			add = -10
			desc = INTERACTION_GREEDY
		}
		modifier = {
			scope:recipient = { has_trait = ambitious }
			add = -20
			desc = INTERACTION_AMBITIOUS
		}

		# INTRIGUE COMPARISON
		modifier = {
			add = {
				value = scope:actor.intrigue
				multiply = 2
			}
			desc = INTERACTION_ACTOR_INTRIGUE
		}
		modifier = {
			add = {
				value = scope:recipient.intrigue
				multiply = -2
			}
			desc = INTERACTION_RECIPIENT_INTRIGUE
		}
	}

	ai_potential = {
		NOT = {
			any_scheme = {
				is_scheme_category = political
			}
		}
		government_allows = administrative
		is_independent_ruler = no
		highest_held_title_tier >= tier_duchy
	}

	ai_will_do = {
		base = -200

		opinion_modifier = {
			who = scope:actor
			opinion_target = scope:recipient
			multiplier = -1
		}

		modifier = { # AI should really only use this if they have a house member in line for the title
			house = {
				any_house_member = {
					scope:recipient.primary_title = {
						place_in_line_of_succession = {
							target = prev
							value <= 3
						}
					}
				}
			}
			add = 100
		}

		#Personality
		modifier = {
			has_trait = vengeful
			add = 10
		}

		modifier = {
			has_trait = deceitful
			add = 10
		}

		modifier = {
			has_trait = honest
			add = -10
		}

		# House & Family
		modifier = {
			is_close_family_of = scope:recipient
			add = -500
		}
		modifier = {
			house = scope:recipient.house
			add = -500
		}

		#Feuds
		modifier = {
			house.house_head ?= {
				any_owned_story = {
					story_type = story_cycle_house_feud
					has_variable = house_feud_house
					var:house_feud_house = scope:recipient.house
				}
			}
			add = 75
		}

		# Relationships
		modifier = {
			add = 25
			has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient }
		}

		modifier = {
			add = 50
			has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient }
		}

		modifier = {
			add = 100
			has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient }
		}

		modifier = {
			add = -50
			has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient }
		}

		modifier = {
			add = -100
			has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient }
		}

		modifier = {
			factor = 0
			has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient }
		}
	}
}

# Request a governorship from your liege
request_governorship_interaction = {
	category = interaction_category_vassal
	icon = icon_request_governorship
	desc = request_governorship_interaction_desc
	common_interaction = yes

	filter_tags = { admin_liege }

	ai_maybe = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	can_send_despite_rejection = yes
	popup_on_receive = yes

	greeting = positive
	notification_text = REQUEST_GOVERNORSHIP_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	ai_targets = { ai_recipients = liege }
	ai_target_quick_trigger = { adult = yes }
	ai_frequency = 36

	cooldown_against_recipient = { years = 10 }

	redirect = {
		scope:recipient = { save_scope_as = secondary_recipient }
	}

	cost = {
		influence = {
			add = {
				add = {
					value = scope:actor.monumental_influence_value
					multiply = 2
				}
				desc = BASE
			}
			# Province Size
			add = {
				value = 0
				if = {
					limit = { exists = scope:target }
					scope:target = {
						every_de_jure_county = { add = 10 }
					}
				}
				multiply = 2
				desc = province_size_desc
			}
			# Being a Powerful or Dominant Family reduces the cost significantly
			scope:actor.house = {
				if = {
					limit = { is_dominant_family = yes }
					multiply = {
						value = 0.25
						desc = is_dominant_family_desc
					}
				}
				else_if = {
					limit = { is_powerful_family = yes }
					multiply = {
						value = 0.5
						desc = is_powerful_family_desc
					}
				}
			}
			# Only asking for candidate score
			scope:target = {
				if = {
					limit = {
						exists = holder
						NOT = { holder = scope:recipient }
					}
					multiply = {
						value = 0.5
						desc = candidacy_request_desc
					}
				}
			}
		}
	}

	is_shown = {
		scope:recipient != scope:actor
		scope:recipient = scope:actor.top_liege
		scope:actor = {
			government_allows = administrative
			is_governor = no
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
			is_landed = no
			NOT = { is_at_war_with = scope:recipient }
		}
	}

	target_type = title
	target_filter = secondary_recipient_de_jure_titles

	can_be_picked_title = {
		scope:target = {
			custom_tooltip = {
				text = request_governorship_interaction_tier_tt
				OR = {
					tier = tier_duchy
					tier = tier_kingdom
				}
			}
			trigger_if = {
				limit = { is_title_created = no }
				custom_tooltip = {
					text = request_governorship_interaction_created_tt
					any_de_jure_county = { holder = scope:recipient }
				}
			}
			trigger_else = {
				custom_tooltip = {
					text = request_governorship_interaction_holder_tt
					holder.top_liege = scope:actor.top_liege
				}
			}
			custom_tooltip = {
				text = request_governorship_interaction_liege_duchy_tt
				NOT = {
					any_de_jure_county = { this = scope:recipient.capital_county }
				}
			}
			trigger_if = {
				limit = { scope:target.holder ?= scope:recipient }
				custom_tooltip = {
					text = request_governorship_interaction_county_tt
					any_de_jure_county = { holder = scope:recipient }
				}
			}
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target.tier = tier_duchy
		trigger_if = {
			limit = { exists = scope:target.holder }
			scope:target.holder ?= { government_allows = administrative }
		}
	}

	can_send = {
		scope:actor = {
			is_landed = no
		}
	}

	on_send = {
		save_scope_value_as = {
			name = influence_cost
			value = {
				add = {
					add = {
						value = scope:actor.monumental_influence_value
						multiply = 2
					}
					desc = BASE
				}
				# Province Size
				add = {
					value = 0
					if = {
						limit = { exists = scope:target }
						scope:target = {
							every_de_jure_county = { add = 10 }
						}
					}
					multiply = 2
					desc = province_size_desc
				}
				# Being a Powerful or Dominant Family reduces the cost significantly
				scope:actor.house = {
					if = {
						limit = { is_dominant_family = yes }
						multiply = {
							value = 0.25
							desc = is_dominant_family_desc
						}
					}
					else_if = {
						limit = { is_powerful_family = yes }
						multiply = {
							value = 0.5
							desc = is_powerful_family_desc
						}
					}
				}
				# Only asking for candidate score
				scope:target = {
					if = {
						limit = {
							exists = holder
							NOT = { holder = scope:recipient }
						}
						multiply = {
							value = 0.5
							desc = candidacy_request_desc
						}
					}
				}
			}
		}
	}

	on_accept = {
		scope:recipient = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = request_governorship_interaction_toast_liege
				left_icon = scope:actor
				right_icon = scope:target
				change_influence = massive_influence_gain
				scope:actor = {
					# Grant title if held by Liege or uncreated but de jure land is held
					if = {
						limit = {
							scope:target = {
								OR = {
									is_title_created = no
									holder ?= scope:recipient
								}
							}
						}
						send_interface_toast = {
							type = event_toast_effect_good
							title = request_governorship_interaction_toast_granted
							left_icon = scope:target
							right_icon = scope:recipient
							# Create Title if necessary
							hidden_effect = {
								scope:target ?= {
									if = {
										limit = { is_title_created = no }
										create_title_and_vassal_change = {
											type = created
											save_scope_as = creation_change
										}
										change_title_holder = {
											holder = scope:recipient
											change = scope:creation_change
										}
										resolve_title_and_vassal_change = scope:creation_change
									}
								}
							}
							# Move Titles
							create_title_and_vassal_change = {
								type = appointment
								save_scope_as = grant_change
							}
							scope:target = {
								# Transfer counties
								hidden_effect = {
									every_de_jure_county = {
										limit = { holder = scope:recipient }
										change_title_holder = {
											holder = scope:actor
											change = scope:grant_change
										}
									}
								}
								# Transfer governorship
								change_title_holder_include_vassals = {
									holder = scope:actor
									change = scope:grant_change
								}
							}
							resolve_title_and_vassal_change = scope:grant_change
						}
					}
					# Grant Appointment score if already has a Governor
					else = {
						send_interface_toast = {
							type = event_toast_effect_good
							title = request_governorship_interaction_toast_candidacy
							left_icon = scope:target
							right_icon = scope:recipient
							scope:target ?= {
								change_appointment_investment = {
									target = scope:actor
									investor = scope:recipient
									value = appointment_major_influence_cost
								}
							}
						}
						scope:target = {
							ordered_title_heir = {
								limit = {
									NOR = {
										house ?= scope:actor.house
										house ?= scope:recipient.house
									}
								}
								order_by = "appointment_candidate_score(scope:target)"
								check_range_bounds = no
								max = 3
								if = {
									limit = {
										is_house_head = no
										exists = house.house_head
										NOR = {
											house.house_head = scope:actor
											house.house_head = scope:recipient
										}
									}
									house.house_head = {
										if = {
											limit = {
												NOT = { is_in_list = governorship_house_head_opinion }
											}
											add_to_list = governorship_house_head_opinion
										}
									}
								}
								else = { add_to_list = governorship_direct_opinion }
							}
						}
						every_in_list = {
							list = governorship_house_head_opinion
							add_opinion = {
								target = scope:actor
								modifier = requested_house_heired_governorship
							}
						}
						every_in_list = {
							list = governorship_direct_opinion
							add_opinion = {
								target = scope:actor
								modifier = requested_heired_governorship
							}
						}
					}
				}
			}
		}
	}

	on_decline = {
		scope:actor = {
			if = {
				limit = { is_ai = yes }
				add_opinion = {
					target = scope:recipient
					modifier = disappointed_opinion
					opinion = -15
				}
			}
			trigger_event = ep3_interactions_events.0021
		}
	}

	ai_potential = {
		is_governor = no
	}

	ai_will_do = {
		base = 0
		# Increase chance if greed and/or boldness is high enough
		modifier = {
			add = 20
			ai_greed >= medium_positive_ai_value
			ai_boldness >= medium_positive_ai_value
		}
		modifier = {
			add = 15
			ai_greed >= high_positive_ai_value
		}
		modifier = {
			add = 15
			ai_boldness >= high_positive_ai_value
		}
	}

	ai_accept = {
		base = -15
		opinion_modifier = { # Opinion of you
			who = scope:recipient
			opinion_target = scope:actor
			desc = AI_LIEGE_OPINION_REASON
		}
		modifier = {
			exists = scope:target.current_heir
			NOR = {
				scope:target.current_heir = scope:recipient
				scope:target.current_heir = scope:actor
				trigger_if = {
					limit = { exists = scope:target.current_heir.house.house_head }
					scope:target.current_heir != scope:target.current_heir.house.house_head
				}
			}
			add = {
				value = "scope:recipient.opinion(scope:target.current_heir)"
				divide = 2
				round = yes
			}
			desc = AI_LIEGE_OPINION_HEIR_REASON
		}
		modifier = {
			exists = scope:target.current_heir
			scope:target.current_heir.house.house_head ?= scope:target.current_heir
			NOR = {
				scope:target.current_heir = scope:recipient
				scope:target.current_heir = scope:actor
			}
			add = {
				value = "scope:recipient.opinion(scope:target.current_heir)"
				divide = 2
				round = yes
			}
			desc = AI_LIEGE_OPINION_HEIR_REASON
		}
		modifier = {
			exists = scope:target.current_heir.house.house_head
			NOR = {
				scope:target.current_heir.house.house_head = scope:target.current_heir
				scope:target.current_heir.house.house_head = scope:recipient
				scope:target.current_heir.house.house_head = scope:actor
			}
			add = {
				value = "scope:recipient.opinion(scope:target.current_heir.house.house_head)"
				round = yes
			}
			desc = AI_LIEGE_OPINION_HEIR_HOUSE_HEAD_REASON
		}
		ai_value_modifier = {
			ai_energy = 0.1 		#It's a change
			ai_greed = 0.2 			#Free influence is free influence
			ai_honor = -0.2 		#Some might see it as a bribe
		}
		# Your Efficiency
		modifier = {
			add = {
				value = {
					value = scope:actor.governor_efficiency
					multiply = 25
				}
				round = yes
			}
			desc = AI_GOVERNOR_EFFICIENCY
		}
		# Heir Governor Efficiency
		modifier = {
			exists = scope:target.current_heir
			NOR = {
				scope:target.current_heir = scope:recipient
				scope:target.current_heir = scope:actor
			}
			add = {
				value = {
					value = scope:target.current_heir.governor_efficiency
					multiply = -50
				}
				round = yes
			}
			desc = AI_GOVERNOR_EFFICIENCY_HEIR
		}
		# Your family is dominant
		modifier = {
			scope:actor.house = { is_dominant_family = yes }
			desc = AI_DOMINANT_FAMILY
			add = 50
		}
		# Your family is powerful
		modifier = {
			scope:actor.house = { is_powerful_family = yes }
			desc = AI_POWERFUL_FAMILY
			add = 25
		}
		# Heir family is dominant
		modifier = {
			scope:target.current_heir.house ?= { is_dominant_family = yes }
			desc = AI_HEIR_DOMINANT_FAMILY
			add = -50
		}
		# Heir family is powerful
		modifier = {
			scope:target.current_heir.house ?= { is_powerful_family = yes }
			desc = AI_HEIR_POWERFUL_FAMILY
			add = -25
		}
		# House of Emperor
		modifier = {
			scope:actor.house != scope:recipient.house
			scope:target.current_heir.house ?= scope:recipient.house
			desc = AI_HEIR_IS_MY_HOUSE
			add = -50
		}
		# You are more influential than heir
		modifier = {
			exists = scope:target.current_heir
			scope:actor.influence_level != scope:target.current_heir.influence_level
			add = {
				value = scope:actor.influence_level
				subtract = scope:target.current_heir.influence_level
				multiply = 2
			}
			desc = AI_DIFFERENCE_INFLUENCE
		}
		# Size of Province
		modifier = {
			exists = scope:target
			add = {
				value = 0
				scope:target = {
					every_de_jure_county = { add = -1 }
				}
				multiply = 2
			}
			desc = AI_THEME_SIZE
		}
		# Kingdoms are harder to request
		modifier = {
			scope:target ?= { tier = tier_kingdom }
			add = -50
			desc = AI_THEME_IS_KINGDOM
		}
		# Province is close to the capital duchy
		modifier = {
			add = -10
			scope:target.tier <= tier_duchy
			trigger_if = {
				limit = { scope:target.tier = tier_duchy }
				scope:target = { save_temporary_scope_as = duchy }
			}
			trigger_else = {
				scope:target.duchy = { save_temporary_scope_as = duchy }
			}
			scope:duchy = {
				OR = {
					this = scope:recipient.capital_county.duchy
					any_title_to_title_neighboring_and_across_water_duchy = { this = scope:recipient.capital_county.duchy }
				}
			}
			desc = AI_THEME_CLOSE_TO_CAPITAL
		}
		# Province is far from the capital
		modifier = {
			add = 10
			trigger_if = {
				limit = { scope:target.tier = tier_kingdom }
				scope:target = { save_temporary_scope_as = kingdom }
			}
			trigger_else = {
				scope:target.kingdom = { save_temporary_scope_as = kingdom }
			}
			scope:kingdom = {
				NOR = {
					this = scope:recipient.capital_county.kingdom
					any_title_to_title_neighboring_and_across_water_kingdom = { this = scope:recipient.capital_county.kingdom }
				}
			}
			desc = AI_THEME_FAR_FROM_CAPITAL
		}
	}
}

# Adopt character to Noble Family
noble_family_adoption_interaction = {
	icon = icon_dynasty
	category = interaction_category_friendly
	interface_priority = 25

	desc = noble_family_adoption_interaction_desc
	use_diplomatic_range = yes

	ai_min_reply_days = 4
	ai_max_reply_days = 9
	ai_maybe = yes

	cooldown_against_recipient = { years = 5 }

	is_shown = {
		NOT = { scope:actor = scope:recipient }
		scope:actor = {
			culture = { has_cultural_parameter = allows_noble_family_adoption }
			house.house_head ?= {
				any_held_title = { is_noble_family_title = yes }
			}
		}
		scope:recipient = {
			# Don't get imprisoned and so on
			is_available = yes
			NOR = {
				# They don't already belong to your house
				house ?= scope:actor.house
				# Don't adopt your own grandkids
				any_ancestor = { this = scope:actor }
			}
		}
		scope:actor = {
			is_house_head = yes
		}
	}

	is_valid = {}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
		}
		can_recruit_character_to_court_trigger = {
			RECRUITER = scope:actor
			RECRUITEE = scope:recipient
		}
		scope:recipient = {
			age >= 10
			trigger_if = {
				limit = { exists = house.house_head }
				custom_tooltip = {
					text = adopt_interaction_noble_family_is_not_house_head_tt
					NOT = { scope:recipient.house.house_head = scope:recipient }
				}
			}
			is_ruler = no
		}
		
	}

	send_option = {
		is_valid = { scope:actor.gold >= scope:actor.minor_gold_value }
		flag = gold
		localization = GENERIC_SPEND_GOLD
	}
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
			NOT = {
				scope:recipient = { has_hook = scope:actor }
			}
		}
		flag = hook
		localization = GENERIC_SPEND_A_HOOK
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	send_options_exclusive = no

	on_accept = {
		show_as_tooltip = {
			noble_family_adoption_effect = {
				ADOPTEE = scope:recipient
				ADOPTER = scope:actor
			}
		}
		hidden_effect = {
			scope:actor = { trigger_event = ep3_interactions_events.0400 }
		}
	}

	on_decline = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_bad
				title = noble_family_adoption_effect_toast
				left_icon = scope:recipient
				right_icon = scope:actor.house
				scope:recipient = {
					send_interface_toast = {
						type = event_toast_effect_bad
						title = noble_family_adoption_effect_toast
						left_icon = scope:recipient
						right_icon = scope:actor.house
						if = {
							limit = { scope:actor = { is_ai = yes } }
							reverse_add_opinion = {
								modifier = angry_opinion
								opinion = -20
								target = scope:actor
							}
						}
						if = {
							limit = { is_ai = yes }
							add_opinion = {
								modifier = respect_opinion
								opinion = -10
								target = scope:actor
							}
						}
					}
				}
			}
		}
	}

	cost = {
		prestige = {
			value = {
				add = medium_prestige_value
				if = {
					limit = {
						scope:actor = {
							OR = {
								culture = { has_cultural_parameter = free_adoption }
								has_game_rule = adoption_always_allowed
								# Replace with Influence for Admin noble families
								house.house_head ?= {
									any_held_title = { is_noble_family_title = yes }
								}
							}
						}
					}
					multiply = 0
				}
			}
		}
		piety = {
			value = {
				add = medium_piety_value
				if = {
					limit = {
						scope:actor = {
							OR = {
								culture = { has_cultural_parameter = free_adoption }
								has_game_rule = adoption_always_allowed
							}
						}
					}
					multiply = 0
				}
				# No piety cost for adopting a righteous-faith child
				if = {
					limit = {
						scope:actor.faith = {
							faith_hostility_level = {
								target = scope:recipient.faith
								value < faith_astray_level
							}
						}
					}
					multiply = 0
				}
				else_if = {
					limit = {
						scope:actor.faith = {
							faith_hostility_level = {
								target = scope:recipient.faith
								value > faith_astray_level
							}
						}
					}
					add = minor_piety_value
				}
				else_if = {
					limit = {
						scope:actor.faith = {
							faith_hostility_level = {
								target = scope:recipient.faith
								value > faith_hostile_level
							}
						}
					}
					add = medium_piety_value
				}
			}
		}
		influence = {
			value = {
				value = 0
				# Influence cost for Admin noble families
				if = {
					limit = {
						scope:actor.house.house_head ?= {
							any_held_title = { is_noble_family_title = yes }
						}
					}
					add = massive_influence_gain
				}
				if = {
					limit = {
						scope:actor = {
							OR = {
								culture = { has_cultural_parameter = free_adoption }
								has_game_rule = adoption_always_allowed
							}
						}
					}
					multiply = 0
				}
			}
		}
	}

	ai_potential = {
		is_house_head = yes
		house ?= {
			any_house_member = {
				count <= 5
				is_alive = yes
			}
		}
	}

	ai_targets = {
		ai_recipients = courtiers
		ai_recipients = guests
		# Friends, wards, etc.
		ai_recipients = scripted_relations
		max = 20
	}

	ai_accept = {
		base = 0
		modifier = {
			exists = house
			any_parent = {
				is_alive = yes
				house = scope:recipient.house
			}
			add = -15
			desc = MY_PARENT_HOUSE
		}
		modifier = {
			exists = house.house_head
			is_close_family_of = house.house_head
			add = -15
			desc = CLOSE_FAMILY_OF_HOUSE_HEAD
		}
		modifier = {
			scope:hook = yes
			add = 40
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			scope:gold = yes
			add = 25
			desc = SCHEME_WITH_GIFT_SIGNIFICANT
		}
		modifier = { # I have a house
			add = -15
			desc = I_ALREADY_HAVE_A_HOUSE
			exists = house.house_head
		}
		modifier = { # My house is powerful
			add = -10
			desc = MY_HOUSE_IS_POWERFUL
			house ?= { is_powerful_family = yes }
		}
		modifier = { # My house is dominant
			add = -25
			desc = MY_HOUSE_IS_DOMINANT
			house ?= { is_dominant_family = yes }
		}
		modifier = {
			scope:actor.house = { is_powerful_family = yes }
			add = 10
			desc = YOUR_FAMILY_IS_POWERFUL
		}
		modifier = {
			scope:actor.house = { is_dominant_family = yes }
			add = 25
			desc = YOUR_FAMILY_IS_DOMINANT
		}
		opinion_modifier = {
			opinion_target = scope:actor
			multiplier = 0.5
		}
		modifier = { # I hate my house head
			add = 15
			desc = I_HATE_MY_HOUSE_HEAD
			exists = house.house_head
			is_house_head = no
			opinion = {
				value <= medium_negative_opinion
				target = house.house_head
			}
		}
		modifier = { # I like my house head
			add = -15
			desc = I_LIKE_MY_HOUSE_HEAD
			exists = house.house_head
			is_house_head = no
			opinion = {
				value >= medium_positive_opinion
				target = house.house_head
			}
		}
		modifier = { # You're my friend :)
			add = 10
			desc = youre_my_friend_tt
			has_relation_friend = scope:actor
		}
		modifier = { # You're my guardian
			add = 10
			desc = youre_my_guardian_tt
			has_relation_guardian = scope:actor
		}
		modifier = { # I have no house
			add = 10
			desc = I_WANT_A_HOUSE
			NOT = { exists = house }
		}
		modifier = { # I am a noble!
			add = -15
			desc = i_am_noble_tt
			has_no_particular_noble_roots_trigger = no
		}
		modifier = { # Yo, you're offering me a place in a landed house? Sick.
			add = 10
			desc = ambition_tt
			has_trait = ambitious
			has_no_particular_noble_roots_trigger = yes
		}
		modifier = {
			scope:actor = {
				exists = house
			}
			scope:recipient = {
				exists = house
			}
			exists = scope:actor.house.house_head.top_liege
			house.house_head.top_liege ?= scope:actor.house.house_head.top_liege
			add = {
				value = scope:actor.house.house_power_score
				subtract = scope:recipient.house.house_power_score
			}
			desc = RELATIVE_FAMILY_RATING
		}
		modifier = {
			exists = scope:actor.house
			exists = house
			scope:recipient.dynasty.dynasty_prestige_level != scope:actor.dynasty.dynasty_prestige_level
			add = {
				value = scope:actor.dynasty.dynasty_prestige_level
				subtract = scope:recipient.dynasty.dynasty_prestige_level
				multiply = 10
			}
			desc = RELATIVE_FAMILY_RENOWN
		}
		modifier = {
			exists = house
			house = {
				any_house_member = {
					count < 5
					is_alive = yes
				}
			}
			scope:actor.house ?= {
				any_house_member = {
					count >= 5
					is_alive = yes
				}
			}
			add = 10
			desc = MY_HOUSE_IS_SMALL
		}
		modifier = {
			faith = {
				faith_hostility_level = {
					target = scope:actor.faith
					value >= faith_astray_level
				}
			}
			add = {
				value = "faith.faith_hostility_level(scope:actor.faith)"
				multiply = -10
			}
			desc = FAITH_HOSTILITY_LEVEL
		}
		modifier = {
			exists = scope:actor.top_liege.primary_title.state_faith
			faith = {
				faith_hostility_level = {
					target = scope:actor.top_liege.primary_title.state_faith
					value >= faith_astray_level
				}
			}
			add = {
				value = "faith.faith_hostility_level(scope:actor.top_liege.primary_title.state_faith)"
				multiply = -5
			}
			desc = FAITH_HOSTILITY_LEVEL_STATE_FAITH
		}
		modifier = {
			culture != scope:actor.culture
			"scope:recipient.culture.cultural_acceptance(scope:actor.culture)" < 50
			add = {
				value = 50
				subtract = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)"
				multiply = -0.25
				round = yes
			}
			desc = CULTURAL_ACCEPTANCE
		}
		modifier = {
			culture != scope:actor.culture
			"scope:recipient.culture.cultural_acceptance(scope:actor.culture)" >= 50
			add = {
				value = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)"
				subtract = 50
				multiply = 0.25
				round = yes
			}
			desc = CULTURAL_ACCEPTANCE
		}
		modifier = {
			NOT = {
				culture  = { has_cultural_parameter = allows_noble_family_adoption }
			}
			add = -10
			desc = NOBLE_FAMILY_ADOPTION_NOT_CULTURAL
		}
		modifier = {
			exists = house
			age >= 31
			add = {
				value = age
				subtract = 30
				multiply = -1
			}
			desc = THEIR_AGE_REASON
		}
	}

	ai_frequency = 120

	ai_will_do = {
		base = 50
		modifier = { # My house needs more members
			add = 100
			scope:actor.house = {
				any_house_member = {
					count < 3
					save_temporary_scope_as = house_member_temp
					NOT = {
						scope:actor.top_liege.faith = { has_dominant_ruling_gender = scope:house_member_temp }
					}
				}
			}
		}
		opinion_modifier = { # Opinion
			opinion_target = scope:recipient
			multiplier = 0.5
		}
		modifier = { # My rival
			add = -25
			scope:actor = { has_relation_rival = scope:recipient }
		}
		modifier = { # My friend
			add = 25
			scope:actor = { has_relation_friend = scope:recipient }
		}
		modifier = { # My ward
			add = 25
			scope:actor = { has_relation_guardian = scope:recipient }
		}
		modifier = { # I care about bloodlines and dynasties and whatnot
			add = -25
			scope:actor = {
				OR = {
					has_trait = arrogant
					has_trait = callous
				}
			}
		}
		modifier = { # I will not adopt filthy filthy heretics
			factor = 0
			ai_zeal >= medium_positive_ai_value
			faith = {
				faith_hostility_level = {
					target = scope:recipient.faith
					value >= faith_astray_level
				}
			}
		}
	}
}

# Request title troops from an allied fellow vassal
#
# Referenced in code
request_ally_title_troops_interaction = {
	desc = request_ally_title_troops_interaction_desc
	hidden = yes

	ai_maybe = yes
	ai_min_reply_days = 1
	ai_max_reply_days = 3
	popup_on_receive = yes

	greeting = positive
	notification_text = REQUEST_TITLE_TROOPS_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	ai_targets = { ai_recipients = peer_vassals }
	ai_target_quick_trigger = { adult = yes }
	ai_frequency = 36

	cooldown_against_recipient = { years = 1 }

	target_type = title
	target_filter = recipient_domain_titles

	redirect = {
	}

	cost = {
		influence = {
			value = 0
			if = {
				limit = { exists = scope:target }
				add = scope:target.admin_title_troop_command_cost_value
			}
		}
	}

	is_shown = {
		scope:actor = {
			government_allows = administrative
			is_independent_ruler = no
			is_governor = yes
		}
		scope:recipient = {
			government_allows = administrative
			NOT = {
				this = scope:actor
				this = scope:actor.top_liege
			}
			top_liege = scope:actor.top_liege
		}
	}

	is_valid_showing_failures_only = {
		custom_tooltip = {
			text = admin_troops_have_no_troops_desc
			scope:recipient = {
				any_maa_regiment = {
					is_title_maa_regiment = yes
					regiment_owning_title = { holder = scope:recipient }
				}
			}
		}
		custom_tooltip = {
			text = admin_troops_can_request_from_governor_desc
			scope:actor = {
				OR = {
					is_allied_to = scope:recipient
					has_hook = scope:recipient
					is_liege_or_above_of = scope:recipient
					AND = {
						culture ?= { has_cultural_parameter = frontier_themes_borrow_neighbor_troops }
						vassal_contract_has_flag = admin_theme_frontier
						any_character_to_title_neighboring_duchy = {
							holder ?= {
								this = scope:recipient
								NOT = { vassal_contract_has_flag = admin_theme_frontier }
							}
						}
					}
					AND = {
						has_perk = friendly_counsel_perk
						has_relation_friend = scope:recipient
					}
					AND = {
						has_perk = mortal_adoration_perk
						has_relation_lover = scope:recipient
					}
				}
			}
		}

		scope:actor = {
			NOT = { is_at_war_with = scope:recipient }
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target = {
			tier >= tier_duchy
			is_noble_family_title = no
		}
	}

	can_send = {
		custom_tooltip = {
			text = admin_troops_target_title_has_maa_desc
			scope:target = {
				any_owned_title_maa_regiment = { exists = this }
			}
		}
		trigger_if = {
			limit = {
				scope:target = {
					any_owned_title_maa_regiment = { exists = this }
				}
			}
			custom_tooltip = {
				text = admin_troops_target_title_controls_maa_desc #admin_troops_target_title_has_maa_desc
				scope:target = {
					any_owned_title_maa_regiment = { regiment_controlling_title = scope:target }
				}
			}
		}
	}

	on_send = {
	}

	on_accept = {
		scope:recipient = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = request_governorship_interaction_toast_liege
				left_icon = scope:actor
				right_icon = scope:target
				scope:target = {
					transfer_owned_maa_control = scope:actor.primary_title

					# Set up a timer to allow the owner to take back the troops when duration runs out
					set_variable = {
						name = title_troops_lent_out
						years = admin_troops_reclaim_cost_cooldown_value
					}
				}
			}
		}
		scope:actor = {
			hidden_effect = {
				send_interface_message = {
					type = msg_admin_provincial_army_request_accepted
					title = msg_admin_provincial_army_request_accepted.title
					left_icon = scope:recipient
					right_icon = scope:target
					show_as_tooltip = {
						scope:target = {
							transfer_owned_maa_control = scope:actor.primary_title
						}
					}
				}
			}
		}
	}

	on_decline = {
		scope:actor = {
			if = {
				limit = { is_ai = yes }
				add_opinion = {
					target = scope:recipient
					modifier = disappointed_opinion
					opinion = -15
				}
			}
			hidden_effect = {
				send_interface_message = {
					type = msg_admin_provincial_army_request_denied
					title = msg_admin_provincial_army_request_denied.title
					desc = msg_admin_provincial_army_request_denied.desc
					left_icon = scope:recipient
					right_icon = scope:target
				}
			}
		}
	}

	ai_potential = {
		is_governor = yes
	}

	ai_will_do = {
		base = 0 # AI uses this interaction from code
	}

	ai_accept = {
		base = 100

		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			desc = AI_SIMPLE_OPINION_REASON
		}
		modifier = { # Target is less likely to accept if at war
			scope:recipient = {
				is_at_war = yes
			}
			scope:target = {
				holder = scope:recipient
			}
			add = -200
			desc = TARGET_IS_AT_WAR_REASON
		}
	}
}

request_emperor_title_troops_interaction = {
	interface_priority = 60
	common_interaction = yes
	desc = request_emperor_title_troops_interaction_desc
	hidden = yes

	ai_maybe = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	popup_on_receive = yes

	greeting = positive
	notification_text = REQUEST_TITLE_TROOPS_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	ai_targets = { ai_recipients = liege }
	ai_target_quick_trigger = { adult = yes }
	ai_frequency = 24

	cooldown_against_recipient = { years = 1 }

	target_type = title
	target_filter = recipient_de_jure_titles

	redirect = {
		scope:actor.top_liege = { save_scope_as = recipient }
	}

	cost = {
		influence = {
			value = 0
			if = {
				limit = { exists = scope:target }
				add = scope:target.admin_title_troop_command_cost_value
			}
		}
	}

	is_shown = {
		scope:actor = {
			government_allows = administrative
			is_independent_ruler = no
			is_governor = yes
		}
		scope:recipient = {
			government_allows = administrative
			this = scope:actor.liege
		}
	}

	is_valid_showing_failures_only = {
		custom_tooltip = {
			text = admin_troops_not_available_desc
			scope:recipient = {
				OR = {
					any_vassal = {
						any_maa_regiment = {
							is_title_maa_regiment = yes
						}
						any_held_title = {
							any_owned_title_maa_regiment = { regiment_owning_title = prev }
						}
					}
					any_maa_regiment = {
						is_title_maa_regiment = yes
						regiment_owning_title = { holder = scope:recipient }
					}
				}
			}
		}

		scope:actor = {
			is_at_war_with_liege = no
		}

		trigger_if = {
			limit = {
				scope:actor = { is_ai = yes }
			}
			NOT = {
				scope:recipient = { has_variable = admin_request_troop_cooldown }
			}
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target = {
			tier >= tier_duchy
			is_noble_family_title = no
			exists = holder
			holder.top_liege = scope:recipient
			NOT = { holder = scope:actor }
			any_title_maa_regiment = {
				exists = this
			}
		}
		scope:recipient = {
			primary_title ?= {
				NOT = { this = scope:target }
			}
		}
	}

	can_send = {
		custom_tooltip = {
			text = admin_troops_target_title_controls_maa_desc
			scope:target = {
				any_owned_title_maa_regiment = { regiment_controlling_title = scope:target }
			}
		}
	}

	on_send = {
	}

	# Hook
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
			NOT = {
				scope:recipient = { has_hook = scope:actor }
			}
		}
		flag = hook
		localization = GENERIC_SPEND_A_HOOK
	}
	# Dominant Family
	send_option = {
		is_shown = {
			scope:actor = {
				house ?= { is_dominant_family = yes }
			}
		}
		flag = dominant_family
		localization = OPTION_DOMINANT_FAMILY
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	send_options_exclusive = no

	on_accept = {
		if = {
			limit = {
				scope:hook = yes
				scope:actor = { has_usable_hook = scope:recipient }
			}
			scope:actor = {
				use_hook = scope:recipient
			}
		}
		if = {
			limit = { scope:dominant_family = yes }
			scope:actor = {
				change_influence = medium_influence_loss
			}
		}
		scope:actor = {
			if = {
				limit = {
					is_ai = yes
				}
				add_opinion = {
					target = scope:recipient
					modifier = grateful_opinion
					opinion = 10
				}
			}
			hidden_effect = {
				send_interface_message = {
					type = msg_admin_provincial_army_request_accepted
					title = msg_admin_provincial_army_request_accepted.title
					left_icon = scope:recipient
					right_icon = scope:target
					show_as_tooltip = {
						scope:target = {
							transfer_owned_maa_control = scope:actor.primary_title
						}
					}
				}
			}
		}
		scope:recipient = {
			if = {
				limit = {
					is_ai = yes
				}
				custom_tooltip = request_emperor_title_troops_approve_desc
			}

			# Set up AI cooldown to prevent spam
			if = {
				limit = {
					NOT = { has_variable = admin_request_troop_cooldown }
				}
				set_variable = {
					name = admin_request_troop_cooldown
					years = 2
				}
			}
		}
		scope:target = {
			transfer_owned_maa_control = scope:actor.primary_title

			# Set up a timer to allow the owner to take back the troops when duration runs out
			set_variable = {
				name = title_troops_lent_out
				years = admin_troops_reclaim_cost_cooldown_value
			}
		}
	}

	on_decline = {
		scope:actor = {
			if = {
				limit = { is_ai = yes }
				add_opinion = {
					target = scope:recipient
					modifier = disappointed_opinion
					opinion = -20
				}
			}
			hidden_effect = {
				send_interface_message = {
					type = msg_admin_provincial_army_request_denied
					title = msg_admin_provincial_army_request_denied.title
					desc = msg_admin_provincial_army_request_denied.desc
					left_icon = scope:recipient
					right_icon = scope:target
				}
			}
		}
		scope:recipient = {
			if = {
				limit = {
					is_ai = yes
				}
				custom_tooltip = request_emperor_title_troops_deny_desc
			}
			if = {
				limit = { scope:dominant_family = yes }
				change_influence = medium_influence_loss
			}

			# Set up AI cooldown to prevent spam
			if = {
				limit = {
					NOT = { has_variable = admin_request_troop_cooldown }
				}
				set_variable = { # If declined, we make the cooldown a bit longer to prevent the AI from asking again too soon
					name = admin_request_troop_cooldown
					years = 5
				}
			}
			else = { # Just in case - If we have a cooldown already, refresh it
				remove_variable = admin_request_troop_cooldown
				set_variable = {
					name = admin_request_troop_cooldown
					years = 5
				}
			}
		}
	}

	ai_potential = {
		is_governor = yes # Only governors may ask for troops
		NOT = { # Don't ask for more troops if you have borrowed some already
			any_maa_regiment = {
				is_title_maa_regiment = yes
				regiment_owning_title = { holder = root }
			}
		}
	}

	ai_will_do = {
		base = 0

		# Some governors are more likely to ask than others
		modifier = {
			add = 50
			scope:actor = {
				vassal_contract_has_flag = admin_theme_frontier
			}
		}
		modifier = {
			add = 25
			scope:actor = {
				vassal_contract_has_flag = admin_theme_naval
			}
		}
		ai_value_modifier = {
			who = scope:actor
			ai_greed = 0.25
			ai_boldness = 0.5
		}
		modifier = {
			add = 20
			is_at_war = yes
		}

		# Don't ask for the liege's troops if you can help it
		modifier = {
			add = -10
			scope:target ?= {
				holder = scope:recipient
			}
		}
		modifier = {
			add = -30
			scope:recipient = { primary_title = scope:target }
		}

		# Don't bother the liege if they are at war
		modifier = {
			add = -100
			scope:recipient = { is_at_war = yes }
		}

		# Consider which title we would like to request troops from
		modifier = { # Don't ask for troops owned by your own house if we can help it
			add = -20
			scope:target = { holder.house ?= root.house }
		}
		modifier = { # Larger armies are more enticing, so ask for troops from a military theme
			add = 10
			scope:target.holder = { vassal_contract_has_flag = admin_theme_military }
		}
		modifier = { # Smaller armies are not as exciting, so don't ask for troops from a civilian theme
			add = -5
			scope:target.holder = { vassal_contract_has_flag = admin_theme_civilian }
		}
		modifier = { # Don't request troops that may join your wars
			add = 10
			scope:target.holder = {
				NOT = { is_allied_to = root }
			}
		}

		# Some governors never asks for troops
		modifier = {
			factor = 0
			scope:actor = {
				OR = {
					vassal_contract_has_flag = admin_theme_balanced
					vassal_contract_has_flag = admin_theme_civilian
				}
			}
		}
	}

	ai_accept = {
		base = -20

		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			desc = AI_SIMPLE_OPINION_REASON
		}
		modifier = {
			add = -20
			scope:recipient = {
				has_trait = paranoid
			}
			desc = INTERACTION_PARANOID
		}
		modifier = {
			add = 10
			scope:recipient = {
				has_trait = trusting
			}
			desc = INTERACTION_TRUSTING
		}
		modifier = {
			scope:hook = yes
			add = 50
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			scope:dominant_family = yes
			add = 100
			desc = your_house_is_dominant_reason
		}
		modifier = {
			scope:actor = {
				is_at_war = no
			}
			add = -20
			desc = IS_NOT_AT_WAR_REASON
		}
		modifier = {
			scope:actor = {
				vassal_contract_has_flag = admin_theme_military
			}
			add = 20
			desc = IS_A_MILITARY_THEME
		}
		modifier = {
			scope:actor = {
				vassal_contract_has_flag = admin_theme_frontier
			}
			add = 30
			desc = IS_A_FRONTIER_THEME
		}
		modifier = {
			scope:actor = {
				vassal_contract_has_flag = admin_theme_naval
			}
			add = 25
			desc = IS_A_NAVAL_THEME
		}
		modifier = {
			scope:recipient = {
				is_at_war = no
			}
			scope:target = {
				holder = scope:recipient
			}
			add = -50
			desc = TARGETS_OWN_TROOPS_REASON
		}
		modifier = { # Asking for the liege's troops when he is at war
			scope:recipient = {
				is_at_war = yes
			}
			scope:target = {
				holder = scope:recipient
			}
			add = -200
			desc = TARGET_IS_AT_WAR_REASON
		}
		modifier = { # Asking for a governor's troops when they are at war
			scope:target = {
				holder = { is_at_war = yes }
				NOT = { holder = scope:recipient }
			}
			add = -50
			desc = TARGET_IS_AT_WAR_REASON
		}
		modifier = {
			scope:actor = {
				any_held_title = {
					any_controlled_title_maa_regiment = {
						regiment_owning_title = {
							NOT = { holder = scope:actor }
						}
					}
				}
			}
			add = {
				value = 0
				scope:actor = {
					every_held_title = {
						every_controlled_title_maa_regiment = {
							limit = {
								regiment_owning_title = {
									NOT = { holder = scope:actor }
								}
							}
							add = {
								value = maa_size
								multiply = -10
							}
						}
					}
				}
			}
			desc = CONTROLS_EXTRA_TROOPS_REASON
		}
	}
}

request_title_troops_back_interaction = {
	desc = request_title_troops_back_interaction_desc

	hidden = yes
	popup_on_receive = yes

	greeting = positive
	notification_text = REQUEST_TITLE_TROOPS_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	ai_targets = { ai_recipients = liege }
	ai_target_quick_trigger = { adult = yes }
	ai_frequency = 24

	cooldown_against_recipient = { years = 1 }

	target_type = title
	target_filter = actor_de_jure_titles

	redirect = {
	}

	cost = {
		influence = {
			value = {
				add = {
					value = define:NAdministrative|BASE_REASSIGN_COST
				}
				desc = BASE
			}
			if = {
				limit = {
					exists = scope:target
					scope:target = {
						NOT = { has_variable = title_troops_lent_out }
						any_owned_title_maa_regiment = {
							regiment_controlling_title = {
								NOT  = { holder = scope:actor.top_liege }
							}
						}
					}
				}
				subtract = {
					value = {
						value = define:NAdministrative|BASE_REASSIGN_COST
						multiply = 0.8
					}
					desc = admin_troops_borrowed_years_desc
				}
			}
		}
	}

	is_shown = {
		scope:actor = {
			government_allows = administrative
			is_independent_ruler = no
			is_ai = no # The AI should not request their troops back ahead of time
		}
		scope:recipient = {
			government_allows = administrative
			this = scope:actor
		}
	}

	is_valid_showing_failures_only = {
		scope:recipient = {
			custom_tooltip = {
				text = admin_troops_already_at_home_desc
				any_held_title = {
					any_owned_title_maa_regiment = {
						regiment_controlling_title = {
							NOT = { holder = scope:actor }
						}
					}
				}
			}
		}
	}

	has_valid_target_showing_failures_only = {
		scope:target = {
			any_owned_title_maa_regiment = {
				regiment_controlling_title = {
					NOT = { this = scope:target }
				}
			}
		}
	}

	can_send = {
		custom_tooltip = {
			text = admin_troops_controlled_by_liege_desc
			scope:target = {
				any_owned_title_maa_regiment = {
					regiment_controlling_title = {
						NOT = { holder = scope:actor.top_liege }
					}
				}
			}
		}
	}

	on_send = {
	}

	auto_accept = yes

	on_accept = {
		scope:target = {
			custom_tooltip = {
				text = admin_troops_transfer_troops_back_desc
				every_owned_title_maa_regiment = {
					limit = {
						regiment_controlling_title = {
							NOT = { this = scope:target }
						}
					}
					transfer_title_maa = regiment_owning_title
				}
			}

			# Clear cost timer if present
			if = {
				limit = {
					has_variable = title_troops_lent_out
				}
				remove_variable = title_troops_lent_out
			}
		}
	}

	on_decline = {
	}

	ai_potential = {
		always = no
	}

	ai_will_do = {
		base = 0
	}

	ai_accept = {
		base = 100
	}
}

# Request Raid Estate Remit
request_raid_remit_interaction = {
	icon = icon_request_raid_remit
	category = interaction_category_hostile
	filter_tags = { admin_liege }
	interface_priority = 90

	desc = request_raid_remit_interaction_desc
	use_diplomatic_range = yes

	ai_min_reply_days = 4
	ai_max_reply_days = 9

	cooldown_against_recipient = { years = 5 }

	is_shown = {
		scope:actor = {
			is_independent_ruler = no
			government_allows = administrative
		}
		scope:secondary_recipient ?= {
			NOT = { house = scope:recipient.house }
			top_liege = scope:actor.top_liege
			NOT = { house = scope:actor.house }
			government_allows = administrative
			any_held_title = { is_noble_family_title = yes }
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			is_adult = yes
			custom_tooltip = {
				text = raid_estate_noble_family_tt
				any_held_title = { is_noble_family_title = yes }
				house.house_head ?= this
			}
			custom_tooltip = {
				text = raid_estate_already_remit_tt
				NOT = { exists = var:raid_estate_permission }
			}
		}
		scope:recipient.house.house_head ?= {
			custom_tooltip = {
				text = raid_estate_noble_family_target_tt
				any_held_title = { is_noble_family_title = yes }
			}
			custom_tooltip = {
				text = raid_estate_estate_tt
				domicile ?= { is_domicile_type = estate }
			}
		}
		scope:actor = {
			NOT = { is_at_war_with = scope:recipient }
		}
	}

	populate_recipient_list = {
		scope:actor.top_liege = {
			every_noble_family = {
				limit = {
					NOR = {
						holder = scope:actor
						holder = scope:actor.top_liege
					}
				}
				holder = { add_to_list = characters }
			}
		}
	}

	redirect = {
		scope:recipient.house.house_head ?= { save_scope_as = secondary_recipient }
		scope:actor.top_liege = { save_scope_as = recipient }
	}

	send_option = {
		is_valid = { scope:actor.gold >= scope:actor.minor_gold_value }
		flag = gold
		localization = GENERIC_SPEND_GOLD
	}
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
			NOT = {
				scope:recipient = { has_hook = scope:actor }
			}
		}
		flag = hook
		localization = GENERIC_SPEND_A_HOOK
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	send_options_exclusive = no

	on_accept = {
		if = {
			limit = { scope:gold = yes }
			scope:actor = {
				pay_short_term_gold = {
					target = scope:recipient
					gold = scope:actor.minor_gold_value
				}
			}
		}
		scope:recipient = { custom_tooltip = request_raid_remit_interaction_effect_tt }
		custom_tooltip = request_raid_remit_interaction_duration_tt
		hidden_effect = {
			scope:actor = { trigger_event = ep3_interactions_events.0421 }
		}
	}

	on_decline = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_bad
				title = request_raid_remit_effect_toast
				left_icon = scope:recipient
				right_icon = scope:actor
				scope:recipient = {
					send_interface_toast = {
						type = event_toast_effect_bad
						title = request_raid_remit_effect_toast
						left_icon = scope:recipient
						right_icon = scope:actor
						if = {
							limit = { scope:actor = { is_ai = yes } }
							reverse_add_opinion = {
								modifier = angry_opinion
								opinion = -20
								target = scope:actor
							}
						}
						if = {
							limit = { is_ai = yes }
							add_opinion = {
								modifier = respect_opinion
								opinion = -10
								target = scope:actor
							}
						}
					}
				}
			}
		}
	}

	cost = {
		influence = {
			add = scope:actor.massive_influence_value
			# Being a Powerful or Dominant Family reduces the cost significantly
			scope:actor.house = {
				if = {
					limit = { is_dominant_family = yes }
					add = {
						value = massive_influence_value
						multiply = -0.75
						desc = is_dominant_family_desc
					}
				}
				else_if = {
					limit = { is_powerful_family = yes }
					add = {
						value = massive_influence_value
						multiply = -0.5
						desc = is_powerful_family_desc
					}
				}
			}
		}
	}

	ai_potential = {
		is_house_head = yes
		house ?= {
			any_house_member = {
				count <= 5
				is_alive = yes
			}
		}
	}

	ai_targets = {
		ai_recipients = peer_vassals
		ai_recipients = scripted_relations
		max = 10
	}

	ai_accept = {
		base = -30
		modifier = {
			scope:hook = yes
			add = 40
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			scope:gold = yes
			add = 25
			desc = SCHEME_WITH_GIFT_SIGNIFICANT
		}
		modifier = { # Target house is powerful
			add = -10
			desc = MY_HOUSE_IS_POWERFUL
			scope:secondary_recipient.house ?= { is_powerful_family = yes }
		}
		modifier = { # Target house is dominant
			add = -25
			desc = MY_HOUSE_IS_DOMINANT
			scope:secondary_recipient.house ?= { is_dominant_family = yes }
		}
		modifier = {
			scope:actor.house = { is_powerful_family = yes }
			add = 10
			desc = YOUR_FAMILY_IS_POWERFUL
		}
		modifier = {
			scope:actor.house = { is_dominant_family = yes }
			add = 25
			desc = YOUR_FAMILY_IS_DOMINANT
		}
		modifier = {
			scope:recipient.primary_spouse ?= { house ?= scope:secondary_recipient.house }
			add = -10
			desc = MY_SPOUSES_HOUSE
		}
		modifier = {
			any_child = { house = scope:secondary_recipient.house }
			add = -10
			desc = MY_CHILDS_HOUSE
		}
		modifier = {
			is_close_family_of = scope:secondary_recipient
			add = -10
			desc = TARGET_IS_MY_CLOSE_FAMILY
		}
		opinion_modifier = {
			opinion_target = scope:actor
			multiplier = 0.5
		}
		opinion_modifier = {
			opinion_target = scope:secondary_recipient
			multiplier = -0.5
		}
		modifier = {
			has_relation_rival = scope:secondary_recipient
			add = 10
			desc = THEY_ARE_MY_RIVAL
		}
		modifier = {
			add = -10
			desc = THEY_ARE_MY_FRIEND
			scope:secondary_recipient = { has_relation_friend = scope:recipient }
		}
		modifier = { # You're my friend :)
			add = 10
			desc = youre_my_friend_tt
			has_relation_friend = scope:actor
		}
		modifier = { # You're my rival >:(
			add = -10
			desc = ai_opinion.reason.relation.rival
			has_relation_rival = scope:actor
		}
		modifier = { # You're my guardian
			add = 10
			desc = youre_my_guardian_tt
			has_relation_guardian = scope:actor
		}
		ai_value_modifier = {
			ai_boldness = -0.2
			ai_honor = -0.2
		}
	}

	ai_frequency = 120

	ai_will_do = {
		base = -25
		opinion_modifier = { # Opinion
			opinion_target = scope:recipient
			multiplier = -0.5
		}
		modifier = { # My rival
			add = 25
			scope:actor = { has_relation_rival = scope:recipient }
		}
		modifier = { # My friend
			add = -25
			scope:actor = { has_relation_friend = scope:recipient }
		}
		modifier = {
			existing_feud_against_target_trigger = { TARGET = scope:recipient }
			add = 15
		}
	}
}

# Request to become co-emperor
request_co_emperor_interaction = {
	category = interaction_category_vassal
	icon = icon_declare_me_co_emperor

	desc = request_co_emperor_interaction_desc
	notification_text = DECLARE_ME_CO_EMPEROR_PROPOSAL

	interface_priority = 5
	ai_min_reply_days = 4
	ai_max_reply_days = 9

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	# AI
	ai_targets = { ai_recipients = liege }
	ai_frequency = 60
	ai_target_quick_trigger = { adult = yes }

	cooldown_against_recipient = { years = 10 }

	redirect = {
		scope:recipient = { save_scope_as = secondary_recipient }
	}

	cost = {
		influence = {
			add = {
				add = {
					value = scope:actor.monumental_influence_value
					multiply = 2
				}
				desc = BASE
			}
			# Being a Powerful or Dominant Family reduces the cost significantly
			scope:actor.house = {
				if = {
					limit = { is_dominant_family = yes }
					multiply = {
						value = 0.25
						desc = is_dominant_family_desc
					}
				}
				else_if = {
					limit = { is_powerful_family = yes }
					multiply = {
						value = 0.5
						desc = is_powerful_family_desc
					}
				}
			}
			if = {
				limit = { scope:influence = yes }
				add = {
					add = scope:actor.request_co_emperor_interaction_influence_cost_value
					desc = SPEND_INFLUENCE
				}
			}
		}

		gold = {
			if = {
				limit = { scope:gold = yes }
				add = {
					add = scope:recipient.request_co_emperor_interaction_gold_cost_value
					desc = SCHEME_AGENT_GOLD
				}
			}
		}
	}

	is_shown = {
		scope:actor = {
			government_allows = administrative
			is_independent_ruler = no
		}
		scope:recipient = {
			this = scope:actor.top_liege
			may_appoint_co_emperors_trigger = yes
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			valid_co_emperor_candidate_trigger = { LIEGE = scope:recipient }
			NOT = { is_at_war_with = scope:recipient }
		}
		scope:recipient = {
			is_at_war = no
			has_active_diarchy = no
			trigger_if = {
				limit = { exists = designated_diarch }
				time_after_diarch_designated = { years >= 10 }
			}
		}
	}

	send_options_exclusive = no
	#Spend influence
	send_option = {
		flag = influence
		is_valid = { scope:actor.influence >= request_co_emperor_interaction_influence_cost_value }
		localization = SPEND_INFLUENCE
	}
	#Promise gold.
	send_option = {
		flag = gold
		is_valid = { scope:actor.gold >= scope:recipient.request_co_emperor_interaction_gold_cost_value }
		localization = SCHEME_AGENT_GOLD
	}
	#Use hook
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
		}
		flag = hook
		localization = GENERIC_SPEND_A_HOOK
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_good
				title = declare_me_co_emperor_interaction.tt.success
				left_icon = scope:recipient
				scope:recipient = {
					custom_tooltip = {
						text = declare_me_co_emperor_interaction.tt.effect
						start_diarchy = co_emperorship
						set_diarch = scope:actor
					}
					if = {
						limit = {
							scope:actor = {
								is_child_of = scope:recipient
							}
						}

						designated_heir ?= {
							if = {
								limit = { this != scope:actor }
								custom_tooltip = appoint_co_emperor_interaction.tt.overwrite_designated_heir
								# Nab them for use further on.
								save_scope_as = old_heir
							}
						}
						hidden_effect = { set_designated_heir = scope:actor }
					}
				}
			}
			if = {
				limit = {
					scope:hook = yes
					has_usable_hook = scope:recipient
				}
				# Use the hook up.
				use_hook = scope:recipient
				reverse_add_opinion = {
					target = scope:recipient
					modifier = suspicion_opinion
					opinion = -20
				}
			}
			if = {
				limit = { scope:gold = yes }
				show_as_tooltip = {
					pay_short_term_gold = {
						target = scope:recipient
						gold = scope:recipient.request_co_emperor_interaction_gold_cost_value
					}
				}
				hidden_effect = {
					scope:recipient = { add_gold = request_co_emperor_interaction_gold_cost_value }
				}
			}
		}
		if = {
			limit = { scope:influence = yes }
			scope:recipient = { change_influence = scope:actor.request_co_emperor_interaction_influence_cost_value }
		}
		# And remember who appointed them on scope:recipient.
		scope:actor = {
			set_variable = {
				name = co_emp_appointer
				value = scope:recipient
			}
		}

		# Your designated heir is _very_ pissed.
		if = {
			limit = {
				exists = scope:old_heir
			}
			diarch_overwrites_old_designated_heir_apply_opinions_effect = {
				LIEGE = scope:recipient
				CO_RULER = scope:actor
			}
		}
	}

	on_decline = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_bad
				title = declare_me_co_emperor_interaction.tt.failure
				left_icon = scope:recipient
				if = {
					limit = { is_ai = yes }
					add_opinion = {
						target = scope:recipient
						modifier = insult_opinion
						opinion = -40
					}
				}
				change_strife_opinion = medium_strife_gain
			}
		}
	}

	ai_potential = {
		NOR = {
			has_trait = humble
			has_trait = content
		}
	}

	ai_will_do = {
		# Most AI think this is audacious.
		base = 0

		# Weight for personality.
		## Both modifier.
		ai_value_modifier = {
			# Bold, energetic characters fancy the gig.
			ai_boldness = 0.5
			ai_energy = 0.5
		}
		## And traits!
		### These are balanced differently to the other interactions, so it's deliberate that they're not using the @values here.
		### +++ Ambitious.
		modifier = {
			add = 15
			has_trait = ambitious
		}
		### ++ Arrogant.
		modifier = {
			add = 10
			has_trait = arrogant
		}
		### + Diligent.
		modifier = {
			add = 5
			has_trait = diligent
		}
		### + Loyal.
		modifier = {
			add = 5
			has_trait = loyal
		}
		### - Humble.
		modifier = {
			add = -5
			has_trait = humble
		}
		### --- Content.
		modifier = {
			add = -15
			has_trait = content
		}
		### --- Lazy.
		modifier = {
			add = -15
			has_trait = lazy
		}
		# Weight by proximity to the ruler: close family, spouses, etc.
		modifier = {
			add = 25
			OR = {
				any_close_or_extended_family_member = { this = scope:recipient }
				any_spouse = { this = scope:recipient }
			}
		}
		# Councillors have ambitions.
		modifier = {
			add = 25
			is_councillor = yes
		}
		# Weight for opinion of current regent.
		modifier = {
			add = {
				scope:recipient = {
					# Designated diarchs.
					if = {
						limit = {
							designated_diarch ?= {
								save_temporary_scope_as = diarch_successor_temp
								scope:actor = {
									save_temporary_opinion_value_as = {
										name = actor_opinion_temp
										target = scope:diarch_successor_temp
									}
								}
							}
						}
						add = scope:actor_opinion_temp
						# Invert to get the true total.
						multiply = -1
					}
					# Expected diarchs.
					else_if = {
						limit = {
							diarchy_successor ?= {
								save_temporary_scope_as = diarch_successor_temp
								scope:actor = {
									save_temporary_opinion_value_as = {
										name = actor_opinion_temp
										target = scope:diarch_successor_temp
									}
								}
							}
						}
						add = scope:actor_opinion_temp
						# Invert to get the true total.
						multiply = -1
					}
				}
			}
			always = yes
		}
		# The AI will only use a Hook if they couldn't otherwise do this
		modifier = {
			scope:hook = yes
			add = -1
		}
		# Dominant family have ambitions.
		modifier = {
			add = 25
			is_house_head = yes
			house ?= { is_dominant_family = yes }
		}
		# Pretenders.
		modifier = {
			add = 25
			NOT = { is_close_family_of = scope:recipient }
			has_claim_on = scope:recipient.primary_title
		}
		# Designated Heir
		modifier = {
			add = 25
			scope:recipient.designated_heir ?= this
		}
		# Flag management.
		## Hook used
		modifier = {
			add = 1
			scope:hook = yes
		}
		## Influence traded.
		modifier = {
			add = 3
			scope:influence = yes
		}
		## Gold traded.
		modifier = {
			add = 2
			scope:gold = yes
		}
	}

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

	ai_accept = {
		# Try to make it 0 for most interactions
		base = -150
		# Opinion of scope:actor.
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 0.5
		}
		# Personality.
		ai_value_modifier = {
			# Meek characters are more likely to accept this.
			ai_boldness = -0.5
			# Characters with low energy just want to avoid all this planning.
			ai_energy = -0.25
		}
		# Familial closeness.
		## Close family get a decent boost.
		modifier = {
			add = 30
			desc = declare_me_regent_interaction.tt.actor_is.close_family
			is_close_family_of = scope:actor
			# Make sure this isn't cancelled out by the incumbent sharing the relation.
			diarchy_successor = {
				NOT = { is_close_family_of = scope:recipient }
			}
		}
		## Extended family get a minor boost.
		modifier = {
			add = 20
			desc = declare_me_regent_interaction.tt.actor_is.extended_family
			is_extended_family_of = scope:actor
			# Make sure this isn't cancelled out by the incumbent sharing the relation.
			diarchy_successor = {
				NOT = { is_extended_family_of = scope:recipient }
			}
		}
		## House members get a slight boost.
		modifier = {
			add = 10
			desc = declare_me_regent_interaction.tt.actor_is.house_member
			house = scope:actor.house
			NOT = { is_close_or_extended_family_of = scope:actor }
			# Make sure this isn't cancelled out by the incumbent sharing the relation.
			diarchy_successor = {
				NOT = {
					house = scope:recipient.house
				}
			}
		}
		## Dominant family
		modifier = {
			scope:actor.house = {
				is_dominant_family = yes
				NOT = { this = scope:recipient.house }
			}
			add = 10
			desc = YOUR_FAMILY_IS_DOMINANT
		}
		## Powerful family
		modifier = {
			scope:actor.house = {
				is_powerful_family = yes
				is_dominant_family = no
				NOT = { this = scope:recipient.house }
			}
			add = 5
			desc = YOUR_FAMILY_IS_POWERFUL
		}
		## Powerful family
		modifier = {
			scope:recipient.designated_heir ?= scope:actor
			add = 25
			desc = YOU_ARE_MY_DESIGNATED_HEIR
		}
		# Relationships.
		## Positive.
		modifier = {
			add = 25
			desc = declare_me_regent_interaction.tt.actor_is.positive_relationship
			has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor }
			# We don't factor for this in the designated/expected diarch 'cause the matrix of overlap'd be hellish.
		}
		## Negative.
		modifier = {
			add = -25
			desc = declare_me_regent_interaction.tt.actor_is.negative_relationship
			has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:actor }
			# We don't factor for this in the designated/expected diarch 'cause the matrix of overlap'd be hellish.
		}
		# Succession score is a direct factor.
		modifier = {
			add = {
				value = "scope:actor.appointment_candidate_score(scope:recipient.primary_title)"
				divide = 4
				min = 0
				max = 100
			}
			desc = declare_me_regent_interaction.tt.actor_is.succession_score
		}
		# Send options.
		## Hook used
		modifier = {
			add = 50
			desc = SCHEME_WEAK_HOOK_USED
			scope:hook = yes
		}
		## Influence traded.
		modifier = {
			add = 50
			desc = INFLUENCE_REASON
			scope:influence = yes
		}
		## Gold traded.
		modifier = {
			add = 50
			desc = GOLD_REASON
			scope:gold = yes
		}
	}
}

# Request a character to fight a war on your behalf - AKA Summon to War/summon_to_war
frontier_influence_war_interaction = {
	category = interaction_category_diplomacy
	interface_priority = 80
	icon = icon_coax_to_war
	desc = frontier_influence_war_interaction_desc

	filter_tags = { admin_governor }

	is_highlighted = {
		scope:recipient = {
			is_at_war = no
			is_adult = yes
			custom_tooltip = {
				text = admin_theme_type_trigger
				OR = {
					vassal_contract_has_flag = admin_theme_frontier
					vassal_contract_has_flag = admin_theme_naval
				}
			}
		}
	}

	target_type = title
	target_filter = secondary_recipient_de_jure_titles
	can_be_picked_title = {
		scope:target = {
			is_title_created = yes
			tier = tier_duchy
		}
	}

	populate_recipient_list = {
		scope:recipient = {
			if = {
				limit = { vassal_contract_has_flag = admin_theme_frontier }
				every_character_to_title_neighboring_duchy = {
					limit = {
						holder ?= { top_liege != scope:actor.top_liege }
					}
					holder ?= { add_to_list = characters }
				}
			}
			else_if = {
				limit = { vassal_contract_has_flag = admin_theme_naval }
				every_character_to_title_neighboring_and_across_water_duchy = {
					limit = {
						holder ?= { top_liege != scope:actor.top_liege }
					}
					holder ?= { add_to_list = characters }
				}
			}
		}
	}

	redirect = {
		scope:recipient = {
			if = {
				limit = { vassal_contract_has_flag = admin_theme_frontier }
				random_character_to_title_neighboring_duchy = {
					limit = {
						exists = holder
						holder = { top_liege != scope:actor.top_liege }
					}
					holder = { save_scope_as = secondary_recipient }
				}
			}
			else_if = {
				limit = { vassal_contract_has_flag = admin_theme_naval }
				random_character_to_title_neighboring_and_across_water_duchy = {
					limit = {
						exists = holder
						holder = { top_liege != scope:actor.top_liege }
					}
					holder = { save_scope_as = secondary_recipient }
				}
			}
		}
	}

	has_valid_target = {
		scope:target = {
			is_title_created = yes
			tier = tier_duchy
			holder.top_liege != scope:actor
		}
	}

	ai_min_reply_days = 3
	ai_max_reply_days = 9
	popup_on_receive = yes
	ai_maybe = yes
	can_send_despite_rejection = yes

	greeting = positive
	notification_text = REQUEST_DUCHY_INFLUENCE_WAR_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	cooldown_against_recipient = { years = 10 }

	is_shown = {
		scope:actor = {
			is_independent_ruler = yes
			government_allows = administrative
			NOT = { government_has_flag = government_is_landless_adventurer }
		}
		scope:recipient = {
			government_allows = administrative
			NOT = { government_has_flag = government_is_landless_adventurer }
			custom_tooltip = {
				text = admin_theme_type_trigger
				OR = {
					vassal_contract_has_flag = admin_theme_frontier
					vassal_contract_has_flag = admin_theme_naval
				}
			}
			top_liege = scope:actor.top_liege
		}
	}

	is_valid_showing_failures_only = {
		scope:actor != scope:recipient
		scope:recipient = {
			is_at_war = no
			is_adult = yes
			custom_tooltip = {
				text = admin_theme_type_trigger
				OR = {
					vassal_contract_has_flag = admin_theme_frontier
					vassal_contract_has_flag = admin_theme_naval
				}
			}

			custom_tooltip = {
				text = admin_vassal_war_no_target_desc
				trigger_if = {
					limit = { vassal_contract_has_flag = admin_theme_frontier }
					any_character_to_title_neighboring_duchy = {
						exists = holder
						holder = { top_liege != scope:actor.top_liege }
					}
				}
				trigger_if= {
					limit = { vassal_contract_has_flag = admin_theme_naval }
					any_character_to_title_neighboring_and_across_water_duchy = {
						exists = holder
						holder = { top_liege != scope:actor.top_liege }
					}
				}
			}
		}
	}

	send_options_exclusive = no
	send_option = {
		flag = title_maa
		localization = send_option_title_troops
		is_valid = {
			scope:actor = {
				is_at_war = no
				custom_tooltip = {
					text = all_title_maa_must_not_be_raised_tt
					primary_title = {
						NOT = {
							any_controlled_title_maa_regiment = {
								is_raised = yes
							}
						}
					}
				}
			}
		}
	}
	send_option = {
		is_valid = {
			scope:actor = {
				has_usable_hook = scope:recipient
			}
		}
		flag = hook
		localization = GENERIC_SPEND_A_HOOK
	}
	should_use_extra_icon = {
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"

	on_accept = {
		if = {
			limit = { scope:title_maa = yes }
			scope:actor.primary_title = {
				transfer_owned_maa_control = scope:recipient.primary_title
			}
		}
		scope:recipient = {
			start_war = {
				cb = influence_war_cb
				target = scope:secondary_recipient
				claimant = scope:recipient.top_liege
				target_title = scope:target
			}
			custom_tooltip = frontier_influence_war_interaction_target_title_tt
		}
		scope:actor = {
			trigger_event = ep3_interactions_events.0210
		}
	}

	on_decline = {
		scope:recipient = {
			change_influence = major_influence_loss
		}
		scope:actor = {
			if = {
				limit = { is_ai = yes }
				add_opinion = {
					modifier = refused_summons_to_war_opinion
					target = scope:recipient
				}
			}
			trigger_event = ep3_interactions_events.0211
		}
	}

	cost = {
		prestige = {
			# BASE COSTS
			add = {
				value = massive_prestige_value
				desc = BASE
			}
			# DOMINANT FAMILY DISCOUNTS
			if = {
				limit = { scope:actor.house ?= { is_dominant_family = yes } }
				multiply = {
					value = 0.75
					desc = DOMINANT_FAMILY_DISCOUNT
				}
			}
			# DOMICILE BUILDING DISCOUNTS
		}
	}

	ai_potential = {
		government_allows = administrative
		is_independent_ruler = yes
	}

	ai_targets = {
		ai_recipients = vassals
	}

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

	ai_accept = {
		base = 0
		modifier = { # My house is powerful
			add = -10
			desc = MY_HOUSE_IS_POWERFUL
			house ?= { is_powerful_family = yes }
		}
		modifier = { # My house is dominant
			add = -25
			desc = MY_HOUSE_IS_DOMINANT
			house ?= { is_dominant_family = yes }
		}
		modifier = {
			scope:actor.house = { is_powerful_family = yes }
			add = 10
			desc = YOUR_FAMILY_IS_POWERFUL
		}
		modifier = {
			scope:actor.house = { is_dominant_family = yes }
			add = 25
			desc = YOUR_FAMILY_IS_DOMINANT
		}
		opinion_modifier = {
			opinion_target = scope:actor
			multiplier = 0.5
		}
		modifier = { # You're my friend :)
			add = 10
			desc = youre_my_friend_tt
			has_relation_friend = scope:actor
		}
		modifier = { # You're my guardian
			add = 10
			desc = youre_my_guardian_tt
			has_relation_guardian = scope:actor
		}
		modifier = {
			scope:actor = {
				exists = house
			}
			scope:recipient = {
				exists = house
			}
			exists = scope:actor.house.house_head.top_liege
			house.house_head.top_liege ?= scope:actor.house.house_head.top_liege
			add = {
				value = scope:actor.house.house_power_score
				subtract = scope:recipient.house.house_power_score
			}
			desc = RELATIVE_FAMILY_RATING
		}
		modifier = {
			exists = scope:actor.house
			exists = house
			scope:recipient.dynasty.dynasty_prestige_level != scope:actor.dynasty.dynasty_prestige_level
			add = {
				value = scope:actor.dynasty.dynasty_prestige_level
				subtract = scope:recipient.dynasty.dynasty_prestige_level
				multiply = 10
			}
			desc = RELATIVE_FAMILY_RENOWN
		}
		modifier = {
			faith = {
				faith_hostility_level = {
					target = scope:actor.faith
					value >= faith_astray_level
				}
			}
			add = {
				value = "faith.faith_hostility_level(scope:actor.faith)"
				multiply = -10
			}
			desc = FAITH_HOSTILITY_LEVEL
		}
		modifier = {
			exists = scope:actor.top_liege.primary_title.state_faith
			faith = {
				faith_hostility_level = {
					target = scope:actor.top_liege.primary_title.state_faith
					value >= faith_astray_level
				}
			}
			add = {
				value = "faith.faith_hostility_level(scope:actor.top_liege.primary_title.state_faith)"
				multiply = -5
			}
			desc = FAITH_HOSTILITY_LEVEL_STATE_FAITH
		}
		modifier = {
			culture != scope:actor.culture
			"scope:recipient.culture.cultural_acceptance(scope:actor.culture)" < 50
			add = {
				value = 50
				subtract = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)"
				multiply = -0.25
				round = yes
			}
			desc = CULTURAL_ACCEPTANCE
		}
		modifier = {
			culture != scope:actor.culture
			"scope:recipient.culture.cultural_acceptance(scope:actor.culture)" >= 50
			add = {
				value = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)"
				subtract = 50
				multiply = 0.25
				round = yes
			}
			desc = CULTURAL_ACCEPTANCE
		}
		modifier = {
			add = scope:recipient.current_military_strength
			desc = RECIPIENT_MILITARY_STRENGTH
		}
		modifier = {
			add = scope:actor.current_military_strength
			scope:title_maa = yes
			desc = PROMISED_TITLE_MAA
		}
		modifier = {
			add = {
				value = scope:secondary_recipient.top_liege.current_military_strength
				multiply = -1
			}
			desc = SECONDARY_RECIPIENT_MILITARY_STRENGTH
		}
		modifier = { # Must not be at war already
			is_at_war = yes
			add = -1000
			desc = ALREADY_AT_WAR
		}
	}

	ai_frequency = 120

	ai_will_do = {
		base = 50
		modifier = { # The AI will only use a Hook if they couldn't otherwise do this
			scope:hook = yes
			add = -1
		}
		modifier = { # My house needs more members
			add = 100
			scope:actor.house = {
				any_house_member = {
					count < 3
					save_temporary_scope_as = house_member_temp
					NOT = {
						scope:actor.top_liege.faith = { has_dominant_ruling_gender = scope:house_member_temp }
					}
				}
			}
		}
		opinion_modifier = { # Opinion
			opinion_target = scope:recipient
			multiplier = 0.5
		}
		modifier = { # My rival
			add = -25
			scope:actor = { has_relation_rival = scope:recipient }
		}
		modifier = { # My friend
			add = 25
			scope:actor = { has_relation_friend = scope:recipient }
		}
		modifier = { # My ward
			add = 25
			scope:actor = { has_relation_guardian = scope:recipient }
		}
		modifier = { # I care about bloodlines and dynasties and whatnot
			add = -25
			scope:actor = {
				OR = {
					has_trait = arrogant
					has_trait = callous
				}
			}
		}
		modifier = { # I will not adopt filthy filthy heretics
			factor = 0
			ai_zeal >= medium_positive_ai_value
			faith = {
				faith_hostility_level = {
					target = scope:recipient.faith
					value >= faith_astray_level
				}
			}
		}
		modifier = { # I'll not make them start a war they'll surely lose
			factor = 0
			scope:recipient.current_military_strength < {
				value = scope:secondary_recipient.current_military_strength
				multiply = 0.75
			}
		}
	}
}

#House Head requests to landed family member - AKA Request as House Head
house_head_request_interaction = {
	icon = house_head_request_interaction
	category = interaction_category_friendly
	common_interaction = no
	desc = house_head_request_interaction_desc
	interface_priority = 10

	ai_maybe = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	can_send_despite_rejection = yes
	popup_on_receive = yes

	greeting = positive
	notification_text = HOUSE_HEAD_REQUEST_PROPOSAL

	pre_answer_yes_key = ACCEPT
	pre_answer_no_key = DECLINE

	ai_targets = {
		ai_recipients = family
		ai_recipients = peer_vassals
		ai_recipients = vassals
		ai_recipients = liege
	}
	ai_target_quick_trigger = { adult = yes }
	ai_frequency = 36

	cooldown_against_recipient = { years = 10 }
	cooldown = { years = 2 }

	redirect = {
	}

	cost = { # If the cost changes, remember to update the on_send to give correct refund in the event
	}

	is_shown = {
		NOT = { scope:recipient = scope:actor }
		scope:actor = {
			government_allows = administrative
			this = house.house_head
		}
		scope:recipient = {
			government_allows = administrative
			house = scope:actor.house
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			NOT = { is_at_war_with = scope:recipient }
		}
		scope:recipient = {
			is_landed = yes
			is_adult = yes
		}
	}

	send_options_exclusive = yes
	send_option = {
		flag = gold
		localization = HH_ASK_FOR_GOLD
	}
	send_option = {
		flag = hostile_schemes
		localization = ASK_FOR_HOSTILE_SCHEMES_HELP
	}
	send_option = {
		flag = personal_schemes
		localization = ASK_FOR_PERSONAL_SCHEMES_HELP
	}
	send_option = {
		flag = political_schemes
		localization = ASK_FOR_POLITICAL_SCHEMES_HELP
	}
	send_option = {
		is_valid = {
			custom_tooltip = {
				text = hh_recipient_has_valid_artifact
				scope:recipient = {
					any_character_artifact = {
						save_temporary_scope_as = target_artifact
						OR = {
							scope:actor.house = { has_house_artifact_claim = scope:target_artifact }
							scope:actor = { has_personal_artifact_claim = scope:target_artifact }
						}
					}
				}
			}
		}
		is_shown = {
			scope:actor.domicile ?= { has_domicile_building_or_higher = cabinet_of_curiosities_01 }

		}
		flag = artifact
		localization = ASK_FOR_ARTIFACT
	}
	send_option = {
		is_valid = {
			custom_tooltip = {
				text = hh_recipient_has_valid_knight
				scope:recipient = {
					number_of_knights > 0
					any_knight = {
						is_acclaimed = no
						is_landed = no
					}
				}
			}
		}
		is_shown = {
			OR = {
				scope:actor.domicile ?= { has_domicile_building_or_higher = guardhouse_01 }
				scope:actor.domicile ?= { has_domicile_building_or_higher = barracks_01 }
			}
		}
		flag = knight
		localization = ASK_FOR_KNIGHT
	}
	send_option = {
		is_valid = {
			trigger_if = {
				limit = {
					scope:actor = {
						NOT = {
							any_maa_regiment = { is_personal_maa_regiment = yes }
						}
					}
				}
				custom_tooltip = {
					text = hh_has_personal_maa
					scope:actor = {
						any_maa_regiment = { is_personal_maa_regiment = yes }
					}
				}
			}
			trigger_else = {
				custom_tooltip = {
					text = hh_has_personal_maa_size
					scope:actor = {
						any_maa_regiment = {
							is_personal_maa_regiment = yes
							can_upgrade_maa = yes
						}
					}
				}
			}
			custom_tooltip = {
				text = hh_recipient_has_personal_maa
				scope:recipient = {
					any_maa_regiment = {
						is_personal_maa_regiment = yes
					}
				}
			}
		}
		is_shown = {
			OR = {
				scope:actor.domicile ?= { has_domicile_building_or_higher = guardhouse_03 }
				scope:actor.domicile ?= { has_domicile_building_or_higher = barracks_01 }
				scope:actor.domicile ?= { has_domicile_building_or_higher = watchtower_04 }
			}
		}
		flag = maa
		localization = ASK_FOR_MAA
	}
	send_option = {
		is_shown = {
			OR = {
				scope:actor.domicile ?= { has_domicile_building_or_higher = storage_01 }
				scope:actor.domicile ?= { has_domicile_building_or_higher = storage_warehouse_03 }
			}
		}
		flag = building
		localization = ASK_FOR_BUILDING
	}
	send_option = {
		is_valid = {
			custom_tooltip = {
				text = hh_recipient_has_valid_courtier
				scope:recipient = {
					any_courtier_or_guest = {
						ep3_interesting_courtier_to_ask_trigger = yes
					}
				}
			}
		}
		flag = courtier
		localization = ASK_FOR_COURTIER
	}

	on_send = {
	}

	on_accept = {
		if = {
			limit = {
				scope:gold = yes
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient

					scope:recipient = {
						pay_short_term_gold = {
							target = scope:actor
							gold = medium_gold_value
						}
					}
				}
			}
		}
		else_if = {
			limit = {
				scope:hostile_schemes = yes
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient

					custom_tooltip = {
						text = hostile_schemes_help_request_tt
						scope:actor = {
							add_to_variable_list = {
								name = supporting_hostile_schemes
								target = scope:recipient
								years = 10
							}
						}
					}
					scope:recipient = {
						add_character_modifier = {
							modifier = hostile_schemes_distracted_modifier
							years = 5
						}
					}
				}
			}
		}
		else_if = {
			limit = {
				scope:personal_schemes = yes
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient

					custom_tooltip = {
						text = personal_schemes_help_request_tt
						scope:actor = {
							add_to_variable_list = {
								name = supporting_personal_schemes
								target = scope:recipient
								years = 10
							}
						}
					}
					scope:recipient = {
						add_character_modifier = {
							modifier = personal_schemes_distracted_modifier
							years = 5
						}
					}
				}
			}
		}
		else_if = {
			limit = {
				scope:political_schemes = yes
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient

					custom_tooltip = {
						text = political_schemes_help_request_tt
						scope:actor = {
							add_to_variable_list = {
								name = supporting_political_schemes
								target = scope:recipient
								years = 10
							}
						}
					}
					scope:recipient = {
						add_character_modifier = {
							modifier = political_schemes_distracted_modifier
							years = 5
						}
					}
				}
			}
		}
		else_if = {
			limit = {
				scope:artifact = yes
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient
					right_icon = scope:target_artifact

					scope:recipient = {
						random_character_artifact = {
							limit = {
								save_temporary_scope_as = target_artifact
								OR = {
									scope:actor.house = { has_house_artifact_claim = scope:target_artifact }
									scope:actor = { has_personal_artifact_claim = scope:target_artifact }
								}
							}
							save_scope_as = target_artifact
							set_owner = scope:actor
						}
					}
				}
			}
		}
		else_if = {
			limit = {
				scope:knight = yes
			}
			scope:recipient = {
				ordered_knight = {
					limit = {
						is_acclaimed = no
						is_landed = no
					}
					order_by = prowess
					save_scope_as = knight
				}
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient
					right_icon = scope:knight

					scope:actor = { add_courtier = scope:knight }
				}
			}
		}
		else_if = {
			limit = {
				scope:maa = yes
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient

					scope:recipient = {
						ordered_maa_regiment = {
							limit = {
								is_personal_maa_regiment = yes
							}
							save_scope_as = maa_regiment_decrease
						}
						scope:maa_regiment_decrease = {
							change_maa_regiment_size = -1
						}
					}
					scope:actor = {
						ordered_maa_regiment = {
							limit = {
								is_personal_maa_regiment = yes
								can_upgrade_maa = yes
							}
							save_scope_as = maa_regiment_increase
						}
						scope:maa_regiment_increase = {
							change_maa_regiment_size = {
								size = 1
								reinforce = yes
							}
						}
					}
				}
			}
		}
		else_if = {
			limit = {
				scope:building = yes
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient

					scope:actor = {
						add_to_variable_list = {
							name = supporting_building
							target = scope:recipient
							years = 10
						}
						add_character_modifier = {
							modifier = estate_supporting_buildings_modifier
							years = 10
						}
					}
					scope:recipient = {
						add_prestige = medium_prestige_loss
					}
				}
			}
		}
		else_if = {
			limit = {
				scope:courtier = yes
			}
			scope:recipient = {
				random_courtier_or_guest = {
					limit = {
						ep3_interesting_courtier_to_ask_trigger = yes
					}
					save_scope_as = courtier
				}
			}
			scope:actor = {
				send_interface_message = {
					type = event_toast_effect_good
					title = house_head_request_accepted
					left_icon = scope:recipient
					right_icon = scope:courtier

					add_courtier = scope:courtier
				}
			}
		}
	}

	on_decline = {
		scope:actor = {
			send_interface_message = {
				type = event_toast_effect_bad
				title = house_head_request_denied
				left_icon = scope:recipient

				scope:recipient = {
					change_influence = major_influence_loss
				}
			}
		}

		scope:actor = {
			if = {
				limit = {
					is_ai = yes
				}
				add_opinion = {
					target = scope:recipient
					modifier = disrespect_opinion
					opinion = -30
				}
			}
		}
	}

	ai_potential = {
		is_house_head = yes
	}

	ai_will_do = {
		base = 50
	}

	ai_accept = {
		base = 100
		modifier = {
			add = 25
			desc = CLOSE_FAMILY_REASON
			scope:recipient = {
				is_close_family_of = scope:actor
			}
		}

		modifier = {
			add = 25
			desc = WE_ARE_FRIENDS
			scope:recipient = {
				has_relation_friend = scope:actor
			}
		}

		modifier = {
			add = 50
			desc = WE_ARE_BEST_FRIENDS
			scope:recipient = {
				has_relation_best_friend = scope:actor
			}
		}

		modifier = {
			add = 10
			desc = WE_ARE_LOVERS
			scope:recipient = {
				has_relation_lover = scope:actor
			}
		}

		modifier = {
			add = -100
			desc = WE_ARE_RIVALS
			scope:recipient = {
				has_relation_rival = scope:actor
			}
		}

		modifier = {
			add = -500
			desc = WE_ARE_NEMESES
			scope:recipient = {
				has_relation_nemesis = scope:actor
			}
		}
		opinion_modifier = {
			opinion_target = scope:actor
			multiplier = 0.5
		}
		modifier = {
			# can't afford to be difficult
			scope:recipient = {
				influence <= major_influence_value
			}
			add = 30
			desc = INFLUENCE_USED
		}
		# Don't bankrupt the AI
		modifier = {
			scope:gold = yes
			scope:recipient.gold <= medium_gold_value
			add = -75
			desc = GOLD_NEGATIVE_REASON
		}
		# Personality
		modifier = {
			scope:recipient = {
				has_trait = loyal
			}
			desc = INTERACTION_LOYAL
			add = 20
		}
		modifier = {
			scope:recipient = {
				has_trait = disloyal
			}
			desc = INTERACTION_DISLOYAL
			add = -20
		}
	}
}

# Request Clergy Support / request_clergy_support
ep3_hof_ask_for_influence_interaction = {
	icon = icon_influence_01
	category = interaction_category_religion

	desc = ep3_hof_ask_for_influence_interaction_desc

	ai_targets = {
		ai_recipients = head_of_faith
	}
	ai_target_quick_trigger = {
		adult = yes
	}
	ai_frequency = 24

	cooldown_against_recipient = { years = 10 }

	is_shown = {
		NOT = {
			scope:recipient = scope:actor
		}
		scope:actor.faith = {
			religious_head = scope:recipient
			has_doctrine = doctrine_spiritual_head
		}
		scope:actor = {
			is_playable_character = yes
			government_allows = administrative
			is_lowborn = no
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			piety >= massive_piety_value
			custom_description = {
				text = "hof_ask_for_gold_excommunicated"
				NOT = { has_trait = excommunicated }
			}
			NOT = { is_at_war_with = scope:recipient }
			custom_description = {
				text = "hof_interaction_unreformed_faith"
				NOT = {
					faith = { has_doctrine_parameter = unreformed }
				}
			}
			custom_description = {
				text = "hof_interaction_state_faith"
				top_liege = {
					government_allows = state_faith
					exists = primary_title.state_faith
				}
				faith = {
					this = scope:actor.top_liege.primary_title.state_faith
				}
			}
			custom_description = {
				text = "hof_interaction_has_house_modifier"
				exists = house
				house = {
					NOT = {
						has_house_modifier = ep3_requested_faith_support_modifier
					}
				}
			}
			custom_description = {
				text = "hof_interaction_is_house_head"
				exists = house
				house = {
					house_head = scope:actor
				}
			}
		}
		scope:recipient = { is_busy_in_events_localised = yes }
	}

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

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

	send_options_exclusive = no

	ai_min_reply_days = 1
	ai_max_reply_days = 5

	on_accept = {
		ep3_hof_ask_for_influence_interaction_effect = yes

		scope:actor = {
			trigger_event = ep3_interactions_events.0620
		}
	}

	on_decline = {
		scope:actor = {
			trigger_event = ep3_interactions_events.0621
		}
	}

	ai_potential = {
		is_playable_character = yes
		piety >= massive_piety_value
		NOT = { has_trait = excommunicated }
		highest_held_title_tier > tier_barony
		exists = faith.religious_head
		exists = house
	}

	ai_accept = {
		base = -50

		opinion_modifier = {
			opinion_target = scope:actor
			who = scope:recipient
			multiplier = 0.5
		}

		#Doesn't like the emperor... if you're not the emperor
		modifier = {
			add = 5
			scope:actor.top_liege = {
				NOR = {
					this = scope:actor
					this = scope:recipient
				}
				reverse_opinion = {
					target = scope:recipient
					value < 0
				}
				reverse_opinion = {
					target = scope:recipient
					value > -40
				}
			}
			desc = HOF_OPINION_OF_EMPEROR
		}
		modifier = {
			add = 10
			scope:actor.top_liege = {
				NOR = {
					this = scope:actor
					this = scope:recipient
				}
				reverse_opinion = {
					target = scope:recipient
					value <= -40
				}
				reverse_opinion = {
					target = scope:recipient
					value > -80
				}
			}
			desc = HOF_OPINION_OF_EMPEROR
		}
		modifier = {
			add = 20
			scope:actor.top_liege = {
				NOR = {
					this = scope:actor
					this = scope:recipient
				}
				reverse_opinion = {
					target = scope:recipient
					value <= -80
				}
			}
			desc = HOF_OPINION_OF_EMPEROR
		}
		#Likes emperor... and you're not emperor
		modifier = {
			add = -5
			scope:actor.top_liege = {
				NOR = {
					this = scope:actor
					this = scope:recipient
				}
				reverse_opinion = {
					target = scope:recipient
					value >= 40
				}
				reverse_opinion = {
					target = scope:recipient
					value < 80
				}
			}
			desc = HOF_OPINION_OF_EMPEROR
		}
		modifier = {
			add = -10
			scope:actor.top_liege = {
				NOR = {
					this = scope:actor
					this = scope:recipient
				}
				reverse_opinion = {
					target = scope:recipient
					value >= 80
				}
			}
			desc = HOF_OPINION_OF_EMPEROR
		}

		modifier = { # Same language
			add = 5
			desc = speaks_same_language_interaction_reason
			trigger = {
				scope:actor = {
					knows_language_of_culture = scope:recipient.culture
				}
			}
		}

		modifier = { # Attacking a co-religionist
			add = -50
			desc = I_AM_ATTACKING_A_CORELIGIONIST
			scope:actor = {
				is_at_war = yes
				any_character_war = {
					primary_attacker = scope:actor
					primary_defender.faith = scope:actor.faith
					primary_defender = {
						NOT = {
							has_trait = excommunicated
						}
					}
				}
			}
		}

		modifier = { # Offensive holy war/excommunication war
			add = 30
			desc = I_AM_WAGING_AN_OFFENSIVE_HOLY_OR_EXCOMMUNICATION_WAR
			scope:actor = {
				is_at_war = yes
				any_character_war = {
					is_attacker = scope:actor
					OR = {
						using_non_ghw_holy_war_cb_trigger = yes
						using_cb = excommunication_war
					}
				}
			}
		}

		modifier = { # Defensive Holy War
			add = 50
			desc = I_AM_DEFENDING_AGAINST_A_HOLY_WAR
			scope:actor = {
				is_at_war = yes
				any_character_war = {
					is_defender = scope:actor
					using_non_ghw_holy_war_cb_trigger = yes
				}
			}
		}

		modifier = { # HoF wants the influence for themselves!
			add = -10
			desc = THEY_ARE_GREEDY
			scope:recipient = {
				ai_greed >= high_positive_greed
			}
		}

		modifier = { # I am influential already
			add = -10
			desc = I_AM_INFLUENTIAL
			scope:actor = {
				influence_level >= 4
				NOT = {
					influence_level >= 6
				}
			}
		}

		modifier = { # I am very influential already
			add = -20
			desc = I_AM_INFLUENTIAL
			scope:actor = {
				influence_level >= 6
			}
		}

		modifier = { # I am Adulterer/Fornicator
			add = -25
			desc = I_AM_ADULTERER
			scope:actor = {
				OR = {
					AND = {
						has_trait = fornicator
						trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor }
					}
					AND = {
						has_trait = adulterer
						trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor }
					}
				}
			}
		}

		modifier = { # I am a Murderer
			add = -50
			desc = I_AM_MURDERER
			scope:actor = {
				has_trait = murderer
			}
		}

		modifier = { # I am Incestous
			add = -50
			desc = I_AM_INCESTOUS
			scope:actor = {
				NOT = { scope:recipient = { faith = { has_doctrine = doctrine_consanguinity_unrestricted } } }
				has_trait = incestuous
			}
		}

		modifier = { # I am a Kinslayer
			add = -50
			desc = I_AM_A_KINSLAYER
			scope:actor = {
				OR = {
					AND = {
						has_trait = kinslayer_1
						trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor }
					}
					AND = {
						has_trait = kinslayer_2
						trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor }
					}
					AND = {
						has_trait = kinslayer_3
						trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor }
					}
				}
			}
		}
		modifier = {
			desc = RELIGIOUS_HEAD_INTERACTION_SAVIOR
			add = 15
			scope:actor = {
				has_trait = savior
			}
		}
		modifier = {
			desc = RELIGIOUS_HEAD_INTERACTION_DIVINE_BLOOD
			add = 5
			scope:actor = {
				has_trait = divine_blood
			}
		}
		modifier = {
			desc = RELIGIOUS_HEAD_INTERACTION_PARAGON
			add = 15
			scope:actor = {
				has_trait = paragon
			}
		}
		modifier = {
			desc = RELIGIOUS_HEAD_INTERACTION_CONSECRATED_BLOOD
			add = 5
			scope:actor = {
				has_trait = consecrated_blood
			}
		}

		modifier = { # You are of the same dynasty as the Head of Faith
			add = 5
			desc = YOU_ARE_MY_DYNASTY_MEMBER
			scope:recipient = {
				is_lowborn = no
				dynasty = scope:actor.dynasty
				NOR = {
					is_close_or_extended_family_of = scope:actor
					is_cousin_of = scope:actor
					is_child_of = scope:actor
					scope:recipient.dynasty = scope:secondary_recipient.dynasty
				}
			}
		}

		modifier = { # You are of the same house as the Head of Faith
			add = 10
			desc = YOU_ARE_MY_HOUSE_MEMBER
			scope:recipient = {
				is_lowborn = no
				house = scope:actor.house
				NOR = {
					is_close_or_extended_family_of = scope:actor
					is_cousin_of = scope:actor
					is_child_of = scope:actor
					scope:recipient.house = scope:secondary_recipient.house
				}
			}
		}

		modifier = { # Related to the Head of Faith
			add = 10
			desc = YOU_ARE_MY_RELATIVE
			scope:recipient = {
				OR = {
					is_close_or_extended_family_of = scope:actor
					is_cousin_of = scope:actor
				}
				NOT = { is_child_of = scope:actor }
			}
		}

		modifier = { # Parent of the Head of Faith
			add = 25
			desc = YOU_ARE_MY_PARENT
			scope:recipient = {
				is_child_of = scope:actor
			}
		}

		modifier = { # Friend of the Head of Faith
			add = 25
			desc = WE_ARE_FRIENDS
			scope:recipient = {
				has_relation_friend = scope:actor
			}
		}

		modifier = { # Best Friend of the Head of Faith
			add = 50
			desc = WE_ARE_BEST_FRIENDS
			scope:recipient = {
				has_relation_best_friend = scope:actor
			}
		}

		modifier = { # Lover of the Head of Faith
			add = 10
			desc = WE_ARE_LOVERS
			scope:recipient = {
				has_relation_lover = scope:actor
			}
		}

		modifier = { # Rival of the Head of Faith
			add = -100
			desc = WE_ARE_RIVALS
			scope:recipient = {
				has_relation_rival = scope:actor
			}
		}

		modifier = { # Nemesis of the Head of Faith
			add = -500
			desc = WE_ARE_NEMESES
			scope:recipient = {
				has_relation_nemesis = scope:actor
			}
		}

		modifier = {
			add = {
				add = 10
				multiply = scope:actor.num_virtuous_traits
			}
			scope:actor.num_virtuous_traits > 0
			desc = I_AM_VIRTUOUS
		}

		modifier = {
			add = {
				add = 5
				multiply = scope:actor.piety_level
			}
			scope:actor.piety_level > 1
			desc = I_AM_PIOUS
		}

		modifier = {
			add = {
				add = -10
				multiply = scope:actor.num_sinful_traits
			}
			scope:actor.num_sinful_traits > 0
			desc = I_AM_SINFUL
		}
	}

	ai_will_do = {
		base = 0

		modifier = { # The AI will only use a Hook if they couldn't otherwise do this
			scope:hook = yes
			add = -1
		}

		modifier = { # I am low on influence
			add = 300
			scope:actor = {
				influence <= minor_influence_value
			}
		}

		modifier = { # Piety to burn, and no reason to keep it.
			add = 100
			scope:actor = {
				piety > massive_piety_value
				NOR = {
					has_character_modifier = vow_of_poverty_modifier
					has_trait = content
					has_trait = humble
				}
			}
		}
		modifier = { # Or when greedy
			add = {
				value = scope:actor.ai_greed
				multiply = 0.5
			}
			scope:actor = {
				ai_greed > 0
			}
		}
		modifier = { # Or when energy
			add = {
				value = scope:actor.ai_energy
				multiply = 0.5
			}
			scope:actor = {
				ai_energy > 0
			}
		}

		modifier = { # I am an up and comer who really needs help
			add = 100
			scope:actor = {
				influence_level <= 1
			}
		}

		modifier = {
			add = 100
			scope:actor = {
				ai_has_warlike_personality = yes
			}
		}

		modifier = {
			add = 50
			scope:actor = {
				ai_has_cautious_personality = no
			}
		}
	}
}

# Ask non-participating governor to join ongoing Faction War
ep3_join_faction_war_interaction = {
	icon = join_faction_war_interaction
	category = interaction_category_diplomacy
	common_interaction = yes

	desc = ep3_join_faction_war_interaction_desc

	cooldown_against_recipient = { years = 10 }

	greeting = positive
	notification_text = JOIN_FACTION_WAR_NOTIFICATION_TEXT

	ai_min_reply_days = 4
	ai_max_reply_days = 9

	is_shown = {
		scope:actor = {
			has_ep3_dlc_trigger = yes
			is_at_war = yes
			NOR = {
				this = scope:recipient
				is_at_war_with = scope:recipient
			}
			government_allows = administrative
		}
		scope:recipient = {
			government_allows = administrative
			scope:actor.liege ?= liege
		}
		scope:actor.joined_faction ?= {
			faction_is_at_war = yes
			faction_war ?= { is_attacker = scope:actor }
			faction_target != scope:recipient
		}
	}

	redirect = {
		# Save secondary_recipient for UI and ai chance
		scope:actor.joined_faction.faction_target ?= { save_scope_as = secondary_recipient }
	}

	cost = { influence = 150 }

	is_valid_showing_failures_only = {
		scope:recipient = {
			is_imprisoned = no
			NOT = { is_at_war_with = liege }
		}
		scope:actor.joined_faction ?= {
			faction_war = {
				custom_tooltip = {
					text = ep3_join_faction_war_interaction_ally_tt
					NOT = {
						primary_defender = { is_allied_to = scope:recipient }
					}
				}
			}
		}
	}

	# Offer gold
	send_option = {
		is_valid = { scope:actor.gold > scope:actor.medium_gold_value }
		flag = gold
		localization = GENERIC_SPEND_GOLD
	}
	# Use hook
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
			NOT = {
				scope:recipient = { is_imprisoned_by = scope:actor }
			}
		}
		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"

	send_options_exclusive = no

	can_send = {
		scope:actor = { is_ai = no } # player only
		custom_tooltip = {
			text = ep3_join_faction_war_interaction_ongoing_tt
			scope:actor.joined_faction ?= {
				faction_is_at_war = yes
				faction_war ?= { is_attacker = scope:actor }
			}
		}
		custom_tooltip = {
			text = ep3_join_faction_war_interaction_faction_tt
			scope:recipient = {
				trigger_if = {
					limit = { exists = joined_faction }
					NOR = {
						joined_faction.faction_leader = this
						joined_faction.special_character ?= this
					}
				}
			}
		}
		scope:recipient = {
			custom_tooltip = {
				text = ep3_join_faction_war_interaction_offer_tt
				NOT = { has_character_flag = under_offer_join_faction_war_flag }
			}
		}
	}

	on_send = {
		scope:recipient = {
			add_character_flag = {
				flag = under_offer_join_faction_war_flag
				months = 1
			}
		}
	}

	on_accept = {
		scope:actor = { trigger_event = ep3_interactions_events.0800 }
		show_as_tooltip = { ep3_join_faction_war_effect = yes }
		scope:recipient = { remove_character_flag = under_offer_join_faction_war_flag }
	}

	on_decline = {
		scope:actor = { trigger_event = ep3_interactions_events.0801 }
		scope:recipient = { remove_character_flag = under_offer_join_faction_war_flag }
	}

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

	ai_accept = {
		base = -25
		modifier = {
			scope:hook = yes
			add = 40
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			scope:gold = yes
			add = {
				value = 10
				add = {
					value = scope:recipient.ai_greed
					multiply = 0.25
					min = 0
				}
			}
			desc = SCHEME_WITH_GIFT_SIGNIFICANT
		}
		modifier = { # Target is less likely to accept if at war
			scope:recipient = { is_at_war = yes }
			add = -200
			desc = RECIPIENT_IS_AT_WAR_REASON
		}
		common_faction_modifiers = {
			FACTION_TARGET = scope:secondary_recipient
			OPINION_MULTIPLIER = -1.5
			MAX_OPINION = 150
			POWER = 0
			THRESHOLD = 80
		}
		admin_faction_modifiers = {
			FACTION_TARGET = scope:secondary_recipient
			FACTION_TYPE = claimant_faction
		}
		modifier = {
			exists = scope:actor.joined_faction.special_character
			add = "scope:recipient.opinion(scope:actor.joined_faction.special_character)"
			desc = CLAIMANT_OPINION_REASON
		}
		modifier = {  # Refuse call against Heir
			add = -1000
			scope:recipient.player_heir ?= scope:secondary_recipient
			desc = WONT_FIGHT_HEIR_REASON
		}
		modifier = {  # Refuse call against Spouse
			add = -1000
			is_spouse_of = scope:secondary_recipient
			desc = WONT_FIGHT_SPOUSE_REASON
		}
		modifier = { # Reluctant to join against Friends
			add = -50
			has_relation_friend = scope:secondary_recipient
			desc = WONT_FIGHT_FRIEND
		}
		modifier = { # Reluctant to join against Best Friends
			add = -100
			has_relation_best_friend = scope:secondary_recipient
			desc = WONT_FIGHT_BEST_FRIEND
		}
		modifier = { # Reluctant to join against Lovers
			add = -100
			has_relation_lover = scope:secondary_recipient
			desc = WONT_FIGHT_LOVER
		}
		modifier = { # Reluctant to join against Soulmate
			add = -200
			has_relation_soulmate = scope:secondary_recipient
			desc = WONT_FIGHT_SOULMATE
		}
		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
		}
		opinion_modifier = { # Opinion Factor
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 1.0
			desc = AI_OPINION_REASON
		}
	}

	ai_will_do = { base = 0 }
}

# Ask governor to switch sides in ongoing Faction War
ep3_switch_faction_war_sides_interaction = {
	icon = switch_faction_war_sides_interaction
	category = interaction_category_diplomacy
	common_interaction = yes

	desc = {
		triggered_desc = {
			trigger = {
				NOT = { scope:recipient = scope:secondary_recipient }
			}
			desc = ep3_switch_faction_war_sides_interaction_desc
		}
	}

	cooldown_against_recipient = { years = 10 }

	greeting = positive
	notification_text = SWITCH_FACTION_WAR_SIDES_NOTIFICATION_TEXT

	ai_min_reply_days = 4
	ai_max_reply_days = 9

	is_shown = {
		scope:actor = {
			has_ep3_dlc_trigger = yes
			is_at_war_with = scope:recipient
			government_allows = administrative
			NOT = { this = scope:recipient }
		}
		scope:recipient = {
			government_allows = administrative
			OR = {
				is_vassal_of = scope:actor
				scope:actor.liege ?= liege
			}
		}
		scope:actor = {
			any_character_war = {
				# Recipient involved in war
				is_participant = scope:recipient
				# Is a Faction war
				save_temporary_scope_as = faction_war_temp
				primary_attacker.joined_faction.faction_war ?= scope:faction_war_temp
				# Actor and recipient on opposing sides
				trigger_if = {
					limit = { is_defender = scope:recipient }
					is_attacker = scope:actor
				}
				trigger_else = { is_defender = scope:actor }
			}
		}
	}

	redirect = {
		scope:actor = {
			# Actor is involved in a faction war with recipient on the other side
			random_character_war = {
				limit = { ep3_switch_faction_war_sides_war_trigger = yes }
				# Save secondary_recipient for UI and ai chance
				if = {
					limit = { is_defender = scope:actor }
					primary_attacker = { save_scope_as = secondary_recipient }
				}
				else = {
					primary_defender = { save_scope_as = secondary_recipient }
				}
			}
		}
	}

	cost = { influence = 300 }

	is_valid_showing_failures_only = {
		scope:recipient = {
			is_imprisoned = no
			is_at_war = yes
		}
		custom_tooltip = {
			text = ep3_switch_faction_war_sides_interaction_primary_or_ally_or_claimant_tt
			scope:actor = {
				any_character_war = { ep3_switch_faction_war_sides_war_trigger = yes }
			}
		}
	}

	# Offer gold
	send_option = {
		is_valid = { scope:actor.gold > scope:actor.medium_gold_value }
		flag = gold
		localization = GENERIC_SPEND_GOLD
	}
	# Use hook
	send_option = {
		is_valid = {
			scope:actor = { has_usable_hook = scope:recipient }
			NOT = {
				scope:recipient = { is_imprisoned_by = scope:actor }
			}
		}
		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"

	send_options_exclusive = no

	can_send = {
		scope:actor = { is_ai = no } # player only
		custom_tooltip = {
			text = ep3_switch_faction_war_sides_interaction_tt
			scope:actor = {
				any_character_war = { ep3_switch_faction_war_sides_war_trigger = yes }
			}
		}
		scope:recipient = {
			custom_tooltip = {
				text = ep3_switch_faction_war_sides_interaction_offer_tt
				NOT = { has_character_flag = under_offer_switch_faction_war_sides_flag }
			}
		}
		custom_tooltip = {
			text = ep3_switch_faction_war_sides_cooldown_tt
			NOT = { exists = scope:recipient.var:switched_faction_war_sides }
		}
	}

	on_send = {
		scope:recipient = {
			add_character_flag = {
				flag = under_offer_switch_faction_war_sides_flag
				months = 1
			}
		}
	}

	on_accept = {
		scope:actor = { trigger_event = ep3_interactions_events.0810 }
		show_as_tooltip = { ep3_switch_faction_war_sides_effect = yes }
		scope:recipient = {
			set_variable = {
				name = switched_faction_war_sides
				value = scope:secondary_recipient
				years = 10
			}
			remove_character_flag = under_offer_join_faction_war_flag
		}
	}

	on_decline = {
		scope:actor = { trigger_event = ep3_interactions_events.0811 }
		scope:recipient = { remove_character_flag = under_offer_join_faction_war_flag }
	}

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

	ai_accept = {
		base = -50
		modifier = {
			scope:hook = yes
			add = 40
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			scope:gold = yes
			add = {
				value = 10
				add = {
					value = scope:recipient.ai_greed
					multiply = 0.25
					min = 0
				}
			}
			desc = SCHEME_WITH_GIFT_SIGNIFICANT
		}
		modifier = {
			add = {
				value = 0
				scope:actor = {
					every_character_war = {
						limit = {
							# Recipient involved in war
							is_participant = scope:recipient
							# Is a Faction war
							save_temporary_scope_as = faction_war_temp
							primary_attacker.joined_faction.faction_war ?= scope:faction_war_temp
							# Actor and recipient on opposing sides
							trigger_if = {
								limit = { is_defender = scope:recipient }
								is_attacker = scope:actor
								# Recipient must not be an ally of the opposing war leader
								NOT = {
									primary_defender = { is_allied_to = scope:recipient }
								}
							}
							trigger_else = {
								is_defender = scope:actor
								# Recipient must not be an ally of the opposing war leader
								NOT = {
									primary_attacker = { is_allied_to = scope:recipient }
								}
							}
							# Recipient must not be a war leader
							NOT = { is_war_leader = scope:recipient }
						}
						if = {
							limit = { is_defender = scope:actor }
							add = {
								value = ep3_invite_to_faction_war_strength_compare_defender_value
								divide = ep3_invite_to_faction_war_strength_compare_attacker_value
								if = {
									limit = { ep3_invite_to_faction_war_strength_compare_defender_value > ep3_invite_to_faction_war_strength_compare_attacker_value }
									multiply = 10
								}
								else = { multiply = -200 }
								max = 50
								min = -50
							}
						}
						else = {
							add = {
								value = ep3_invite_to_faction_war_strength_compare_attacker_value
								divide = ep3_invite_to_faction_war_strength_compare_defender_value
								if = {
									limit = { ep3_invite_to_faction_war_strength_compare_attacker_value > ep3_invite_to_faction_war_strength_compare_defender_value }
									multiply = 10
								}
								else = { multiply = -200 }
								max = 50
								min = -50
							}
						}
					}
				}
			}
			desc = WAR_STRENGTH_BALANCE_REASON
		}
		modifier = {
			add = {
				value = 0
				scope:actor = {
					every_character_war = {
						limit = {
							# Recipient involved in war
							is_participant = scope:recipient
							# Is a Faction war
							save_temporary_scope_as = faction_war_temp
							primary_attacker.joined_faction.faction_war ?= scope:faction_war_temp
							# Actor and recipient on opposing sides
							trigger_if = {
								limit = { is_defender = scope:recipient }
								is_attacker = scope:actor
								# Recipient must not be an ally of the opposing war leader
								NOT = {
									primary_defender = { is_allied_to = scope:recipient }
								}
							}
							trigger_else = {
								is_defender = scope:actor
								# Recipient must not be an ally of the opposing war leader
								NOT = {
									primary_attacker = { is_allied_to = scope:recipient }
								}
							}
							# Recipient must not be a war leader
							NOT = { is_war_leader = scope:recipient }
						}
						if = {
							limit = { is_defender = scope:actor }
							add = {
								value = 0
								if = {
									limit = { defender_war_score > attacker_war_score }
									add = defender_war_score
									divide = 2
								}
								else = {
									add = attacker_war_score
									multiply = -0.5
								}
								max = 50
								min = -50
							}
						}
						else = {
							add = {
								value = 0
								if = {
									limit = { attacker_war_score > defender_war_score }
									add = attacker_war_score
									divide = 2
								}
								else = {
									add = defender_war_score
									multiply = -0.5
								}
								max = 50
								min = -50
							}
						}
					}
				}
			}
			desc = WAR_SCORE_REASON
		}
		opinion_modifier = {
			opinion_target = scope:actor
			multiplier = 0.5
		}
		opinion_modifier = {
			trigger = {
				exists = scope:secondary_recipient
			}
			opinion_target = scope:secondary_recipient
			multiplier = -0.5
		}
		modifier = {  # Refuse call against Heir
			add = -1000
			exists = scope:secondary_recipient
			scope:recipient.player_heir ?= scope:secondary_recipient
			desc = WONT_FIGHT_HEIR_REASON
		}
		modifier = {  # Refuse call against Spouse
			add = -1000
			exists = scope:secondary_recipient
			is_spouse_of = scope:secondary_recipient
			desc = WONT_FIGHT_SPOUSE_REASON
		}
		modifier = { # Reluctant to join against Friends
			add = -50
			exists = scope:secondary_recipient
			has_relation_friend = scope:secondary_recipient
			desc = WONT_FIGHT_FRIEND
		}
		modifier = { # Reluctant to join against Best Friends
			add = -100
			exists = scope:secondary_recipient
			has_relation_best_friend = scope:secondary_recipient
			desc = WONT_FIGHT_BEST_FRIEND
		}
		modifier = { # Reluctant to join against Lovers
			add = -100
			exists = scope:secondary_recipient
			has_relation_lover = scope:secondary_recipient
			desc = WONT_FIGHT_LOVER
		}
		modifier = { # Reluctant to join against Soulmate
			add = -200
			exists = scope:secondary_recipient
			has_relation_soulmate = scope:secondary_recipient
			desc = WONT_FIGHT_SOULMATE
		}
	}

	ai_will_do = { base = 0 }
}

# Request Permission to Wage War
ep3_governor_request_war_permission_interaction = {
	icon = invasion
	category = interaction_category_vassal
	filter_tags = { admin_liege }
	
	#basically never used according to telemetry
	interface_priority = 0 

	desc = ep3_governor_request_war_permission_interaction_desc

	cooldown_against_recipient = { years = 10 }

	greeting = positive
	notification_text = request_war_permission_notification_text

	ai_targets = {
		ai_recipients = liege
	}
	ai_target_quick_trigger = {
		adult = yes
	}
	ai_frequency = 60
	ai_min_reply_days = 2
	ai_max_reply_days = 5

	is_shown = {
		scope:actor = {
			government_allows = administrative
			liege = scope:recipient
			OR = {
				vassal_contract_has_flag = admin_theme_frontier
				vassal_contract_has_flag = admin_theme_naval
			}
		}
		scope:recipient = {
			government_allows = administrative
			is_independent_ruler = yes
			has_realm_law_flag = admin_vassal_wars_permission_only
		}
	}

	is_valid_showing_failures_only = {
		scope:recipient = { is_busy_in_events_localised = yes }
		scope:recipient = { NOT = { has_strong_hook = scope:actor } }
		scope:actor = {
			is_at_war = no
			custom_tooltip = {
				text = admin_has_war_permission_already_desc
				NOT = { has_variable = admin_permission_to_declare_war }
			}
			top_liege = {
				custom_tooltip = {
					text = admin_all_vassal_wars_banned
					NOT = { has_realm_law_flag = admin_vassal_wars_banned }
				}
			}
		}
	}

	#Spend influence
	send_option = {
		flag = influence
		is_valid = {
			scope:actor.influence >= { value = massive_influence_value multiply = 2 }
			scope:actor = { is_ai = no } # The AI shouldn't spend influence for this
		}
		localization = SPEND_INFLUENCE
	}
	#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"

	send_options_exclusive = no

	on_accept = {
		scope:actor = {
			# Add permission
			custom_tooltip = {
				text = admin_gain_war_permission_desc
				set_variable = admin_permission_to_declare_war
			}

			# And send a toast as confirmation
			hidden_effect = {
				send_interface_toast = {
					type = event_toast_effect_good
					title = admin_gained_war_permission_title
					left_icon = scope:recipient
					custom_tooltip = admin_gained_war_permission_desc
				}
			}

			# If options are used, spend the corresponding cost
			if = {
				limit = { scope:influence = yes }
				change_influence = {
					value = massive_influence_loss
					multiply = 2
				}
				scope:recipient = { # Liege gets the spent influence
					change_influence = {
						value = massive_influence_gain
						multiply = 2
					}
				}
			}
			if = {
				limit = {
					scope:hook = yes
					has_hook = scope:recipient
				}
				use_hook = scope:recipient
			}
		}
	}

	on_decline = {
		scope:actor = {
			# Add penalties
			change_influence = minor_influence_loss
			add_opinion = {
				target = scope:recipient
				modifier = disappointed_opinion
				opinion = -20
			}

			# And send a toast to inform
			hidden_effect = {
				send_interface_toast = {
					type = event_toast_effect_bad
					title = admin_declined_war_permission_title
					left_icon = scope:recipient
					custom_tooltip = admin_declined_war_permission_desc

					show_as_tooltip = { change_influence = minor_influence_loss }
				}
			}
		}
	}

	ai_accept = {
		base = -50

		# Opinion Factor
		opinion_modifier = {
			who = scope:recipient
			opinion_target = scope:actor
			multiplier = 1
			desc = AI_SIMPLE_OPINION_REASON
		}

		# Send options
		modifier = {
			scope:hook = yes
			add = 100
			desc = SCHEME_WEAK_HOOK_USED
		}
		modifier = {
			scope:influence = yes
			add = {
				value = 20
				multiply = scope:actor.influence_level
				min = 5
			}
			desc = INFLUENCE_REASON
		}

		# Relations
		modifier = {
			scope:actor = {
				has_relation_rival = scope:recipient
			}
			add = -100
			desc = AI_YOUR_RIVAL
		}
		modifier = {
			scope:recipient = {
				is_close_family_of = scope:actor
			}
			add = 20
			desc = CLOSE_FAMILY_REASON
		}
		modifier = {
			scope:recipient = {
				is_extended_family_of = scope:actor
			}
			add = 10
			desc = EXTENDED_FAMILY_REASON
		}
		modifier = {
			scope:actor = {
				has_relation_friend = scope:recipient
			}
			add = 20
			desc = WE_ARE_FRIENDS
		}

		# Family status
		modifier = { # You are a powerful family
			scope:actor.house ?= {
				is_powerful_family = yes
			}
			add = 15
			desc = YOUR_FAMILY_IS_POWERFUL
		}
		modifier = { # You are a dominant family
			scope:actor.house ?= {
				is_dominant_family = yes
			}
			add = 30
			desc = YOUR_FAMILY_IS_DOMINANT
		}
	}

	ai_potential = {
		government_allows = administrative
		is_adult = yes
		liege = { is_at_war = no } # Don't ask if your liege is at war
	}

	ai_will_do = {
		base = 10
		modifier = {
			scope:actor = {
				OR = {
					has_trait = ambitious
					has_trait = brave
					has_trait = greedy
					has_trait = wrathful
				}
			}
			add = 20
		}
		modifier = {
			scope:actor = {
				has_vassal_stance = glory_hound
			}
			add = 10
		}
		modifier = { # Attempt to be opportunistic if you border weak realms
			scope:actor = {
				any_top_realm_border_county = {
					any_neighboring_county = {
						holder.top_liege = {
							NOT = { this = scope:actor.top_liege }
							current_military_strength < { value = scope:actor.current_military_strength multiply = 0.4 }
						}
					}
				}
			}
			add = 25
		}
	}
}

# Order Mass Arrests
ep3_mass_arrests_interaction = {
	icon = icon_scheme_abduct
	category = interaction_category_hostile
	filter_tags = { admin_house_head }
	
	interface_priority = 0

	desc = ep3_mass_arrests_interaction_desc
	
	cooldown = { years = 5 }
	cooldown_against_recipient = { years = 15 }

	ai_targets = {
		ai_recipients = vassals
		max = 10
	}
	ai_target_quick_trigger = {
		adult = yes
	}
	ai_frequency = 36

	is_shown = {
		has_ep3_dlc_trigger = yes
		scope:actor = {
			is_independent_ruler = yes
			government_allows = administrative
			dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_5 }
		}
		scope:recipient = {
			liege ?= scope:actor
			any_held_title = {
				is_noble_family_title = yes
			}
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			NOT = { exists = involved_activity }
			is_imprisoned = no
		}
		scope:recipient = {
			house = { is_dominant_family = no }
			NOT = { has_strong_hook = scope:actor }
			custom_tooltip = {
				text = estate_is_in_capital_desc
				domicile ?= {
					domicile_location = scope:actor.capital_province
				}
			}
		}
	}
	
	auto_accept = yes

	on_accept = {
		scope:recipient.house = {
			house_head = {
				add_character_flag = {
					flag = mass_arrests_house_power_malus
					years = 10
				}
				# For follow-up event
				save_scope_as = imprisoned_house_head
			}
			custom_tooltip = house_loses_power_rating
			every_house_member = {
				custom = every_house_member_tt
				change_influence = major_influence_loss
				custom_tooltip = {
					text = imprisoned_by_you
					scope:actor = {
						imprison = {
							target = prev
							type = house_arrest
						}
					}
				}
				add_opinion = {
					modifier = imprisoned_me
					years = 10
					target = scope:actor
				}
			}
		}
		scope:actor = {
			add_tyranny = massive_tyranny_gain
			add_legitimacy = medium_legitimacy_loss
			
			# Fire follow-up
			trigger_event = {
				id = ep3_decisions_event.3201
			}
		}
	}

	ai_potential = {
		government_allows = administrative
		is_adult = yes
	}

	ai_will_do = {
		base = 0
		modifier = {
			scope:actor = {
				has_relation_rival = scope:recipient
			}
			add = 20
			desc = AI_YOUR_RIVAL
		}
	}
}
