﻿recruit_guest_interaction = {
	category = interaction_category_vassal
	icon = guest
	common_interaction = yes

	special_ai_interaction = recruit_courtier

	desc = recruit_guest_interaction_desc

	should_use_extra_icon = {
		NOT = { scope:recipient = { is_close_family_of = scope:actor } }
		scope:actor = { has_usable_hook = scope:recipient }
	}
	extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"
	
	is_shown = {
		NOT = { scope:actor = scope:recipient }
		scope:recipient = { is_pool_guest_of = scope:actor }
		scope:actor = {
			is_ruler = yes
		}
	}

	is_valid_showing_failures_only = {
		scope:recipient = {
			is_ruler = no
		}
		trigger_if = {
			limit = {
				NOR = {
					scope:recipient = { is_close_family_of = scope:actor } # Close family members are free
					scope:actor = { has_usable_hook = scope:recipient } # Using a hook makes it free
				}
			}
			scope:actor = {
				gold >= scope:recipient.recruit_guest_interaction_cost
			}
		}
	}

	can_send = {
		# check if we're using the hook (is_valid_showing_failures_only checks only if we have a hook), else we need to be able to afford it
		trigger_if = {
			limit = {
				NOR = {
					AND = { exists = scope:hook always = scope:hook }
					scope:recipient = { is_close_family_of = scope:actor }
				}
				scope:actor = { has_usable_hook = scope:recipient } # without this the is_valid_showing_failures_only above shows the same error
			}
			scope:actor = {
				gold >= scope:recipient.recruit_guest_interaction_cost
			}
		}
	}

	send_options_exclusive = no
	send_option = {
		is_valid = {
			scope:actor = {
				has_usable_hook = scope:recipient
			}
		}
		flag = hook
		localization = SCHEME_HOOK
	}
	send_option = { # EP3 Influence
		is_shown = { # Actor must have a government that uses influence 
			scope:actor = {
				government_has_flag = government_has_influence
			}
		}
		is_valid = {
			# Actor has enough influence
			scope:actor = { influence >= minor_influence_value }
		}
		flag = influence_send_option
		localization = INFLUENCE_SEND_OPTION
	}

	on_accept = {
		scope:recipient = {
			every_traveling_family_member = {
				add_to_temporary_list = recruiting_family
			}
		}

		if = {
			limit = { scope:recipient = { is_close_family_of = scope:actor } } # Close family members are free
			# do nothing
		}
		else_if = {
			limit = { always = scope:hook }
			scope:actor = { use_hook = scope:recipient }
		}
		else_if = {
			limit = { always = scope:influence_send_option }
			scope:actor = { change_influence = minor_influence_loss }
		}
		else = {
			scope:recipient = {
				save_temporary_scope_as = most_expensive_person

				every_in_list = {
					list = recruiting_family

					if = {
						limit = { this.individual_recruit_guest_interaction_cost >= scope:most_expensive_person.individual_recruit_guest_interaction_cost }
						save_temporary_scope_as = most_expensive_person
					}
				}
			}

			scope:actor = {
				pay_short_term_gold = {
					target = scope:most_expensive_person
					gold = scope:most_expensive_person.recruit_guest_interaction_cost_with_list #This value needs a list with the name "recruiting_family"
				}
			}
		}



		scope:actor = {
			send_interface_message = {
				type = event_generic_neutral
				title = msg_recruited_guest_to_court_interaction_title
				right_icon = scope:recipient
				stress_impact = {
					shy = minor_stress_impact_gain
					paranoid = minor_stress_impact_gain
				}
				every_in_list = {
					list = recruiting_family
					scope:actor = {
						add_courtier ?= prev
					}
					remove_variable = last_visited_ruler # Even though it times out automatically, removing it here saves cycles for performance.
					add_opinion = {
						target = scope:actor
						opinion = 50
						modifier = grateful_opinion
					}
				}
			}
		}
	}

	auto_accept = yes
	
	# AI
	ai_targets = {
		ai_recipients = guests
	}
	ai_frequency = 12

	ai_potential = {
		is_at_war = no # Try to avoid wasting your war chest!
		ai_has_conqueror_personality = no
		short_term_gold >= yearly_character_income
		any_courtier_or_guest = {
			is_alive = yes
			count <= 30
		}
		ai_should_focus_on_building_in_their_capital = no
	}

	ai_will_do = {
		base = 0

		#Lacking councillors
		compare_modifier = {
			trigger = {
				scope:actor = {
					NOT = { exists = cp:councillor_chancellor }
				}
				scope:recipient = {
					OR = {
						AND = {
							is_male = yes
							scope:actor = { faith_dominant_gender_male_or_equal = yes }
						}
						AND = {
							is_female = yes
							scope:actor = { faith_dominant_gender_female_or_equal = yes }
						}
					}
				}
			}
			target = scope:recipient
			value = diplomacy
			offset = {
				value = 0
				subtract = decent_skill_rating
			}
		}
		compare_modifier = {
			trigger = {
				scope:actor = {
					NOT = { exists = cp:councillor_marshal }
				}
				scope:recipient = {
					OR = {
						AND = {
							is_male = yes
							scope:actor = { faith_dominant_gender_male_or_equal = yes }
						}
						AND = {
							is_female = yes
							scope:actor = { faith_dominant_gender_female_or_equal = yes }
						}
					}
				}
			}
			target = scope:recipient
			value = martial
			offset = {
				value = 0
				subtract = decent_skill_rating
			}
		}
		compare_modifier = {
			trigger = {
				scope:actor = {
					NOT = { exists = cp:councillor_steward }
				}
				scope:recipient = {
					OR = {
						AND = {
							is_male = yes
							scope:actor = { faith_dominant_gender_male_or_equal = yes }
						}
						AND = {
							is_female = yes
							scope:actor = { faith_dominant_gender_female_or_equal = yes }
						}
					}
				}
			}
			target = scope:recipient
			value = stewardship
			offset = {
				value = 0
				subtract = decent_skill_rating
			}
		}
		compare_modifier = {
			trigger = { scope:actor = { NOT = { exists = cp:councillor_spymaster } } }
			target = scope:recipient
			value = intrigue
			offset = {
				value = 0
				subtract = decent_skill_rating
			}
		}

		#Lacking court physician
		compare_modifier = {
			trigger = {
				scope:actor = { court_physician_available_trigger = no }
				scope:recipient = {
					would_be_valid_for_court_position = {
						employer = scope:actor
						court_position = court_physician_court_position
					}
				}
			}
			target = scope:recipient
			value = learning
			offset = {
				value = 0
				subtract = decent_skill_rating
			}
		}

		#Lacking knights
		compare_modifier = {
			trigger = {
				scope:recipient.prowess >= decent_skill_rating
				scope:recipient = {
					can_be_knight_trigger = { ARMY_OWNER = scope:actor }
				}
				scope:actor = {
					OR = {
						number_of_knights < max_number_of_knights
						any_knight = {
							prowess < decent_skill_rating
						}
					}
				}
			}
			target = scope:recipient
			value = prowess
			offset = {
				value = 0
				subtract = decent_skill_rating
			}
		}
		

		#Vested interest
		modifier = {
			add = 20
			scope:recipient = {
				OR = {
					has_relation_lover = scope:actor
					has_relation_friend = scope:actor
					has_secret_relation_lover = scope:actor
					has_relation_soulmate = scope:actor
					has_relation_best_friend = scope:actor
					is_child_of = scope:actor
				}
			}
		}
		

		#Claimants
		modifier = {
			scope:recipient = {
				any_claim = {
					neighboring_useful_courtier_or_guest_claim_trigger = { RULER = scope:actor }
				}
			}
			add = {
				value = 0
				if = {
					limit = {
						scope:recipient = {
							any_claim = {
								neighboring_useful_courtier_or_guest_claim_trigger = { RULER = scope:actor }
								tier >= tier_duchy
							}
						}
					}
					add = 40
				}
				else = {
					add = 30
				}
			}
		}

		# Make it all more likely
		modifier = {
			factor = 4
		}
		
		# The AI will always use a hook if it can
		modifier = {
			scope:hook = yes
			add = 1
		}
	}
}

kick_from_court_interaction = {
	category = interaction_category_vassal
	icon = guest


	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:recipient = { is_foreign_court_or_pool_guest = yes } }
				desc = kick_from_court_interaction_desc_guest
			}
			desc = kick_from_court_interaction_desc
		}
	}

	is_shown = {
		NOT = { scope:actor = scope:recipient }
		scope:recipient = {
			OR = {
				is_courtier_of = scope:actor
				is_pool_guest_of = scope:actor
			}
			bp2_valid_for_standard_interactions_trigger = yes
		}
	}

	cost = {
		prestige = {
			if = {
				limit = {
					scope:actor = { is_landless_adventurer = yes }
				}
				value = minor_prestige_value
			}
			else_if = {
				limit = {
					scope:recipient = {
						any_traveling_family_member = {
							count = all
							is_lowborn = yes
						}
					}
				}
				value = minor_prestige_value
			}
			else = {
				value = medium_prestige_value
			}
		}
	}

	is_valid_showing_failures_only = {
		scope:recipient = {
			kick_from_court_validity_trigger = yes

			custom_description = {
				text = "kick_from_court_interaction_travelling_family_invalid"
				subject = scope:recipient
				NOT = {
					any_traveling_family_member = {
						NOT = { this = scope:recipient }
						kick_from_court_validity_trigger = no
					}
				}
			}
		}
	}
	
	on_accept = {
		scope:actor = {
			stress_impact = {
				gregarious = minor_stress_impact_gain
			}
			
			hidden_effect = {
				send_interface_message = {
					type = event_generic_neutral
					title = msg_kicked_courtier_from_court_interaction_title
					
					right_icon = scope:recipient

					show_as_tooltip = {
						scope:actor = {
							remove_courtier_or_guest = scope:recipient
						}
					}

			   		#Remove them as guardian/ward for any courtier
			   		if = {
						limit = {
							any_courtier = {
								has_relation_guardian = scope:recipient
							}
						}
						every_courtier = {
							limit = {
								has_relation_guardian = scope:recipient
							}
							save_scope_as = ward
							remove_guardian_effect = {
								GUARDIAN = scope:recipient
								WARD = scope:ward
								RETURN_WARD = yes
								HIDE_OPINION = no
							}
						}
						scope:recipient = { trigger_event = char_interaction.0090 }
					}
					if = {
						limit = {
							any_courtier = {
								has_relation_ward = scope:recipient
							}
						}
						random_courtier = {
							limit = {
								has_relation_ward = scope:recipient
							}
							save_scope_as = guardian

							send_interface_message = {
								type = event_childhood_neutral
								title = remove_guardian_interaction_notification
								left_icon = scope:recipient
								right_icon = scope:guardian
								remove_guardian_effect = {
									GUARDIAN = scope:guardian
									WARD = scope:recipient
									RETURN_WARD = yes
									HIDE_OPINION = no
								}
							}
						}
					}
				}
			}

			#To be able to send a cohesive interface message AND show a good tooltip
			show_as_tooltip = {
				#Remove them as guardian for any child
		   		if = {
					limit = {
						any_courtier = {
							has_relation_guardian = scope:recipient
						}
					}
					every_courtier = {
						limit = {
							has_relation_guardian = scope:recipient
						}
						save_scope_as = ward
						remove_guardian_effect = {
							GUARDIAN = scope:recipient
							WARD = scope:ward
							RETURN_WARD = yes
							HIDE_OPINION = no
						}
					}
				}

				#Remove them as ward of any courtier
				if = {
					limit = {
						any_courtier = {
							has_relation_ward = scope:recipient
						}
					}
					random_courtier = {
						limit = {
							has_relation_ward = scope:recipient
						}
						save_scope_as = guardian
						remove_guardian_effect = {
							GUARDIAN = scope:guardian
							WARD = scope:recipient
							RETURN_WARD = yes
							HIDE_OPINION = no
						}
					}
				}
			}
		}

		scope:recipient = {
			every_traveling_family_member = {
				add_to_temporary_list = kicked_family
			}
		}

		every_in_list = {
			list = kicked_family
			#Kicks, adds opinions, adds people to kicked_relatives_list
			kick_from_court_interaction_effect = yes
		}

		if = {
			limit = {
				any_in_list = {
					list = kicked_relatives_list
					is_alive = yes
				}
			}
			every_in_list = {
				list = kicked_relatives_list
				custom = all_close_family_members_of_kicked_characters
				add_opinion = {
					modifier = kicked_relative_from_court
					target = scope:actor
				}
			}
		}

		employed_booner_invalidation_effect = { EMPLOYEE = scope:recipient LIEGE = scope:actor }
	}

	auto_accept = yes
}

invite_to_court_interaction = {
	category = interaction_category_vassal
	icon = guest
	
	desc = invite_to_court_interaction_desc
	
	is_shown = {
		scope:recipient = {
			NOR = {
				is_courtier_of = scope:actor
				is_foreign_court_guest = yes
				AND = {
					exists = host
					host = scope:actor
				}
				is_ruler = yes
			}
		}
	}

	is_valid_showing_failures_only = {
		custom_tooltip = {
			scope:recipient = {
				OR = {
					NOT = { exists = liege }
					NOT = { has_variable = invite_to_court_cooldown }
				}
			}
			text = INVITE_TO_COURT_COOLDOWN
		}	
		can_recruit_character_to_court_trigger = {
			RECRUITER = scope:actor
			RECRUITEE = scope:recipient
		}
	}
	
	#Pay som gold to persuade a wandering character to come to your court
	send_option = {
		is_shown = {
			exists = scope:recipient
		}
		flag = cover_travel_expenses
		localization = COVER_TRAVEL_EXPENSES
	}
	send_option = { # EP3 Influence
		is_shown = { # Actor must have a government that uses influence 
			scope:actor = {
				government_has_flag = government_has_influence
			}
		}
		is_valid = {
			# Actor has enough influence
			scope:actor = { influence >= medium_influence_value }
			# Both characters are within the same top realm
			scope:recipient.top_liege = scope:actor.top_liege
		}
		flag = influence_send_option
		localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE
	}
	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

	cost = {
		influence = {
			value = 0
			if = {
				limit = { scope:influence_send_option = yes }
				add = scope:actor.medium_influence_value
				desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION
			}
		}
	}

	on_accept = {
		hidden_effect = {
			scope:recipient = {
				set_variable = {
					name = invite_to_court_cooldown
					years = 5
				}
			}		
		
			if = {
				limit = {
					exists = scope:recipient.liege
				}
				scope:recipient.liege = {
					send_interface_message = {
						type = event_generic_neutral
						title = msg_courtier_left_court_interaction_title
						
						right_icon = scope:recipient

						show_as_tooltip = {
							remove_courtier_or_guest = scope:recipient
						}
					}
				}
			}
		}
		
		scope:actor = {
			send_interface_message = {
				type = event_generic_neutral
				title = invite_to_court_interaction_notification
				right_icon = scope:recipient

				scope:recipient = {
					every_traveling_family_member = {
						scope:actor = { add_courtier = prev }
						hidden_effect = {
							return_to_court = yes
						}
					}
				}

				if = {
					limit = { always = scope:hook }
					scope:actor = {
						use_hook = scope:recipient
					}
				}
			}
		}
		
		
		if = {
			limit = { always = scope:cover_travel_expenses }
			scope:actor = {
				pay_short_term_gold = {
					gold = {
						value = bribe_value
						multiply = 0.5
					}
					target = scope:recipient
				}
				stress_impact = {
					greedy = minor_stress_impact_gain
				}
			}
		}
	}

	ai_accept = {
 		base = -50

 		#Opinions
 		opinion_modifier = {
 			trigger = {
 				exists = liege
 				is_courtier_of = liege
 			}
 			opinion_target = liege
 			multiplier = -0.5
 			step = 5
 			max = 25
 		}
 		opinion_modifier = {
 			opinion_target = scope:actor
 			multiplier = 0.5
 			step = 5
 			max = 25
 		}
		
		# Stooge modifier
		modifier = {
 			scope:recipient = { has_variable = non_recruitable_var }
			scope:recipient.var:non_recruitable_var = scope:actor
 			add = -200
 			desc = AI_STOOGE
 		}

 		#Current roles
 		modifier = {
 			is_knight = yes
 			add = -20
 			desc = AI_MY_LIEGES_KNIGHT
 		}
 		modifier = {
 			is_commanding_army = yes
 			add = -30
 			desc = AI_MY_LIEGES_COMMANDER
 		}
 		modifier = {
 			is_councillor = yes
 			add = -40
 			desc = AI_ON_THE_COUNCIL
 		}
		
		modifier = {		
			trigger = { scope:recipient = { has_court_position = court_physician_court_position } }			
 			add = -20
 			desc = AI_COURT_PHYSICIAN
 		}

 		#Relations & relatives (with actor)
 		modifier = {
 			has_relation_lover = scope:actor
 			add = 100
 			desc = AI_YOUR_LOVER
 		}

 		modifier = {
 			has_relation_friend = scope:actor
 			add = 75
 			desc = AI_YOUR_FRIEND
 		}

 		modifier = {
 			is_child_of = scope:actor
 			add = 160
 			desc = AI_YOUR_CHILD
 		}

 		modifier = {
 			this.dynasty.dynast = scope:actor
 			add = 30
 			desc = AI_YOU_ARE_THE_DYNAST
 		}

 		modifier = {
 			this.house.house_head = scope:actor
 			add = 60
 			desc = AI_YOU_ARE_THE_HOUSE_HEAD
 		}
		
		modifier = {
 			this.top_liege = scope:actor
 			add = 60
 			desc = AI_YOU_ARE_THE_SOVEREIGN
 		}
		
		modifier = {
 			NOT = { is_child_of = scope:actor }
 			NOT = { is_close_family_of = scope:actor }
			is_extended_family_of = scope:actor
 			add = 30
 			desc = AI_YOUR_RELATIVE
 		}

 		modifier = {
 			NOT = { is_child_of = scope:actor }
 			is_close_family_of = scope:actor
 			add = 75
 			desc = AI_YOUR_RELATIVE
 		}

 		modifier = {
 			is_spouse_of = scope:actor
 			add = 160
 			desc = AI_YOUR_SPOUSE
 		}

 		#Relations & relatives (with host)
 		modifier = {
 			exists = liege
 			has_relation_lover = liege
 			add = -100
 			desc = AI_THEIR_LOVER
 		}

 		modifier = {
 			exists = liege
 			has_relation_friend = liege
 			add = -75
 			desc = AI_THEIR_FRIEND
 		}

 		modifier = {
 			exists = liege
 			is_child_of = liege
 			add = -160
 			desc = AI_THEIR_CHILD
 		}

 		modifier = {
 			exists = liege
 			NOT = { is_child_of = liege }
 			is_close_family_of = liege
 			add = -75
 			desc = AI_THEIR_RELATIVE
 		}

 		#Family (at location)
 		modifier = {
 			exists = location
 			any_consort_not_in_traveling_family_trigger = yes
 			desc = AI_LEAVING_MY_SPOUSE
 			add = -100
 		}

 		modifier = {
 			exists = location
 			any_child_not_in_traveling_family_trigger = yes
 			desc = AI_LEAVING_MY_CHILD
 			add = -100
 		}

 		modifier = {
 			add = -50
 			desc = AI_MARRIED_MATRILINIALLY
 			is_married = yes
 			is_male = yes
 			any_spouse = {
 				matrilinear_marriage = yes
 				host = scope:recipient.host
 			}
 		}

 		modifier = {
 			add = -50
 			desc = AI_MARRIED_PATRILINIALLY
 			is_married = yes
 			is_female = yes
 			any_spouse = {
 				patrilinear_marriage = yes
 				host = scope:recipient.host
 			}
 		}

 		modifier = {
 			add = -50
 			desc = AI_INSPIRED
 			exists = inspiration
			inspiration = {
				NOT = {
					exists = inspiration_sponsor
				}
			}
 		}

 		modifier = {
 			add = -500
 			desc = AI_SPONSORED_INSPIRATION
 			exists = inspiration
			inspiration = {
				exists = inspiration_sponsor
			}
 		}

 		modifier = {
 			add = -500
 			desc = AI_WANDERLUST
			is_child_of = scope:actor
 			has_character_modifier = lust_for_adventure
 		}
		
 		modifier = {
 			add = -180
 			desc = ELUDING_CASTRATOR
 			is_adult = no
 			any_memory = {
				has_memory_type = family_castration_fled_memory
				memory_participant:castrator ?= {
					this = scope:actor
				}
			}
 		}

 		modifier = {
 			liege ?= { is_landed = yes }
 			scope:actor = { is_landed = no }
 			add = -50
 			desc = AI_MY_LIEGE_IS_LANDED
 		}
		
		#Wandering characters (who aren't doing anything else)
		modifier = {
 			add = {
				value = 10
				add = scope:actor.diplomacy
				
				if = {
					limit = {
						faith = scope:actor.faith
					}
					add = 10
				}
				else_if = {
					limit = {
						faith = { #Same religion - But faith should not be considered Hostile or Evil
							religion = scope:actor.faith.religion
							faith_hostility_level = {
								target = scope:actor.faith
								value < 2
							}
						}
					}
					add = 5
				}
				if = {
					limit = {
						culture = scope:actor.culture
					}
					add = 10
				}
				else_if = {
					limit = {
						culture = {
							has_same_culture_heritage = scope:actor.culture
						}
					}
					add = 5
				}
				if = {
					limit = {
						OR = {
							has_trait = content
							has_trait = lazy
							has_trait = trusting
						}
					}
					add = 10
				}
			}
 			desc = AI_CAN_BE_PERSUADED_TO_STAY
			
			is_pool_guest = no
			location.province_owner = {
				OR = {
					any_liege_or_above = { this = scope:actor }
					this = scope:actor
				}
			}
			NOR = {
				has_relation_rival = scope:actor
				exists = liege
				is_child_of = scope:actor
				has_character_modifier = lust_for_adventure
			}
 		}
		
		modifier = {
			add = {
				value = 20
				if = {
					limit = {
						has_trait = greedy
					}
					multiply = 1.5
				}
				else_if = {
					limit = {
						has_trait = generous
					}
					multiply = 0.5
				}
			}
			scope:cover_travel_expenses = yes
			desc = AI_TRAVEL_EXPENSES
		}

 		# Amenities impact
 		## Actor's amenities increases acceptance
 		modifier = {
 			add = {
 				value = 10
 				if = {
 					limit = {
 						scope:actor = {
			 				has_royal_court = yes
							has_dlc_feature = royal_court
			 				amenity_level = { type = court_lodging_standards value >=  high_amenity_level }
			 			}
 					}
 			 		add = 10
 				}
 				if = {
 					limit = {
 						scope:actor = {
			 				amenity_level = { type = court_lodging_standards value >=  very_high_amenity_level }
			 			}
 					}
 			 		add = 10
 				}
 				if = {
 					limit = {
 						scope:actor = {
			 				amenity_level = { type = court_lodging_standards value >=  max_amenity_level }
			 			}
 					}
 			 		add = 20
 				}
 			}
 			desc = AI_COURT_LODGING_STANDARDS_QUALITY
			scope:actor = {
			 	has_royal_court = yes
				has_dlc_feature = royal_court
				amenity_level = { type = court_lodging_standards value >=  medium_amenity_level }
			}
 		}
		## Target's liege amenities decreases acceptance 
 		modifier = {
 			add = {
 				value = -10
				if = {
					limit = {
						liege = {
							amenity_level = { type = court_lodging_standards value >=  high_amenity_level } 
						}
					}
					add = -10
				}
				if = {
					limit = {
						liege = {
							amenity_level = { type = court_lodging_standards value >=  very_high_amenity_level } 
						}
					}
					add = -10
				}
				if = {
					limit = {
						liege = {
							amenity_level = { type = court_lodging_standards value >=  max_amenity_level } 
						}
					}
					add = -20
				}
 			}
 			desc = AI_LIEGE_COURT_LODGING_STANDARDS_QUALITY
			exists = liege
			is_courtier_of = liege
			liege = {
				has_royal_court = yes
				has_dlc_feature = royal_court
				amenity_level = { type = court_lodging_standards value >=  medium_amenity_level }
			}
 		}
		
 		modifier = {
 			add = {
				value = scope:actor.house.house_unity_value
				multiply = 0.5
			}
 			desc = AI_HOUSE_UNITY
			scope:actor = { government_has_flag = government_is_clan }
			exists = house
			exists = scope:actor.house
			house = scope:actor.house
			house = {
				OR = {
					has_house_unity_stage = harmonious
					has_house_unity_stage = friendly
				}
			}
 		}

 		modifier = {
			add = 25
			scope:influence_send_option = yes
			desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION
		}

 		modifier = {
 			add = -1000
 			desc = MALUS_TO_RECRUITMENT_FOR_IMPERIAL_EUNUCHS
 			scope:recipient = {
 				is_eunuch_trigger = yes
	 			liege = {
	 				has_government = administrative_government
	 				primary_title.tier = tier_empire
	 				culture = { has_cultural_parameter = can_appoint_chief_eunuch }
	 			}
	 		}
 		}
		
		# Event modifiers
		
		# El Cid
		modifier = {
 			has_variable = cid_1010_no_invite_var
			var:cid_1010_no_invite_var = scope:actor
 			add = -200
 			desc = cid_1010_no_invite_var_desc
 		}
	}

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