namespace = court

##################################################
# # RANGES
# 0001 - 0099		Misc Events
# 0100 - 0999 		James
# 2001 - 2999		Ewan
# 3000 - 4000		Bianca
# 4001 - 5000		Isabella
# 5001 - 5999		Linnea
# 6000 - 6999		Claudia
# 7000 - 8000		George
# 8001 - 8999		Joe
# 9000 - 9999		Oltner
#
##################################################



##################################################
# Example

##################################################
# 0001 - 0010	Example Event
##################################################

##################################################
# Example Event
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################

# Example court event for studying.
#court.0001 = {
#	# Court-type events only appear in the Royal Court view, and are optional to interact with.
#	type = court_event
#	# Desc and theming rules are as normal, but since there's no background, there's no need for background overrides.
#	title = court.0001.t
#	desc = court.0001.desc
#	theme = court
#	# Main portraits are unnecessary: we define this stuff via the court_scene block instead.
#	# Secondary portraits may be used as usual.
#	lower_left_portrait = scope:character_c
#
#	# Court events should be fired from one of their on_actions, but since this is an example, it's left orphaned.
#	orphan = yes
#
#	# Here, we define how the event appears inside the court view.
#	## This block exists in the root scope, so you can just define anyone you'd normally have access to/set up in the immediate block here.
#	court_scene = {
#		# Define which character will have the button for starting the event appear over the top of 'em.
#		button_position_character = scope:character_a
#		# Roles defined in \ck3\game\gfx\court_scene\character_roles\, if you want to change them or add new ones.
#		roles = {
#			# First, we take each scoped relevant scoped character.
#			scope:character_a = {
#				# Then we define their role, where they're positioned in the scene. The first character defines always takes the first slot and so on. Slot 1 and 2 look at each other. Slot 3 is beside Slot 2 and facing Slot 1 as well.
#				group = event_group
#				# Next, we select their animation override (if applicable: you can leave it to the generic default/role default if defined, though generally you'll want to define this).
#
#				# This can be a scripted animation block for animation selection based on triggers
#				# scripted_animation = {
#				# 	triggered_animation = {
#				# 		trigger = {
#				# 			scope:ruler = {
#				# 				is_female = no
#				# 			}
#				# 		}
#				#
#				# 		both syntaxes are supported
#				# 		animation = { rage anger sadness } # randomly chooses one of these animations
#				# 		animation = sadness # selects just one animation
#				# You can set a default animation if all triggers fail. Convention is to always have some always-valid trigger and not use this field if using triggered animations.
#				animation = anger
#			}
#			scope:character_b = {
#				group = event_group
#				animation = rage
#			}
#			# Characters who are not physically present are referred to only via copy links or lower portraits, so we don't bother putting them here.
#		}
#	}
#
#	weight_multiplier = {
#		base = 1
#
#		# Court weightings: plug in a court type that should see this event more often.
#		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
#	}
#
#	immediate = {
#		# As with portraits, we do our general character setup stuff in this event.
#		random_courtier_or_guest = { save_scope_as = character_a }
#		random_courtier_or_guest = {
#			limit = {
#				this != scope:character_a
#			}
#			save_scope_as = character_b
#		}
#	}
#
#	# Court events, as with all events, require at least one option to display.
#	option = {
#		name = court.0001.a
#	}
#}



##################################################
# James

##################################################
# 0107			Court tutor reading a boring book to your ward
# 0108			Copyright-friendly foreign Prince/Princess arrives in your court
# 0109			Executioner multiclasses to physician
# 0111			Intervention for your sex addiction
# 0112			Executioner tries their hand at interior decoration
##################################################

#####################################
# Boring book						#
# by James Beaumont					#
# 0107								#
#####################################

# Tutor reads a boring book to a ward
court.0107 = {
	type = court_event
	title = court.0107.t
	desc = court.0107.desc

	theme = court
	court_scene = {
		button_position_character = scope:tutor
		roles = {
			scope:tutor = {
				group = event_group
				animation = anger
			}
			scope:unruly_child = {
				group = event_group
				animation = boredom
			}
		}
	}

	cooldown = { years = 5 }

	trigger = {
		employs_court_position = court_tutor_court_position
		is_available_adult = yes
		court_position:court_tutor_court_position = {
			is_available_ai_adult = yes
			has_court_event_flag = no
		}
		any_child = {
			is_available_child = yes
			age >= 6
			has_court_event_flag = no
		}
	}

	# More likely to trigger if the tutor likes writing things
	weight_multiplier = {
		base = 1
		modifier = {
			add = 0.5
			court_position:court_tutor_court_position = { has_trait = journaller }
		}
		modifier = {
			add = 0.5
			court_position:court_tutor_court_position = {
				OR = {
					has_trait = intellect_good_1
					has_trait = intellect_good_2
					has_trait = intellect_good_3
				}
			}
		}
		modifier = {
			add = -0.5
			court_position:court_tutor_court_position = {
				OR = {
					has_trait = intellect_bad_1
					has_trait = intellect_bad_2
					has_trait = intellect_bad_3
				}
			}
		}
	}

	immediate = {
		random_court_position_holder = {
			type = court_tutor_court_position
			limit = {
				is_available_ai_adult = yes
				has_court_event_flag = no
			}
			save_scope_as = tutor
			court_event_character_flag_effect = yes
		}
		random_child = {
			limit = {
				is_available_child = yes
				age >= 6
				OR = {
					has_trait = bossy
					has_trait = rowdy
				}
			}
			alternative_limit = {
				is_available_child = yes
				age >= 6
			}
			save_scope_as = unruly_child
			court_event_character_flag_effect = yes
		}
	}

	# Option A: Scold the child for being brazen
	option = {
		name = court.0107.a
		progress_towards_friend_effect = {
			REASON = friend_upheld_educational_tactics
			CHARACTER = scope:tutor
			OPINION = default_friend_opinion
		}
		progress_towards_rival_effect = {
			CHARACTER = scope:unruly_child
			REASON = rival_child_scolded
			OPINION = default_rival_opinion
		}
		custom_tooltip = court.0107.a.tt.1
		hidden_effect = {
			scope:unruly_child = {
				education_point_acquisition_effect = yes
			}
		}
		custom_tooltip = court.0107.a.tt.2
		scope:tutor = {
			add_character_flag = {
				flag = court_0107_tutor
				years = 20
			}
		}
		stress_impact = {
			vengeful = minor_stress_impact_gain
			sadistic = minor_stress_impact_gain
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = -0.5
				ai_vengefulness = 0.5
			}
		}
	}

	#Option B: Buy the book yourself
	option = {
		name = court.0107.b
		trigger = {
			scope:tutor = { has_education_rank_trigger = { RANK = 2 OPERATOR = greater } }
		}
		add_opinion = {
	 		target = scope:tutor
	 		modifier = flattered_opinion
	 		opinion = 15
	 	}
		pay_short_term_gold = {
			target = scope:tutor
			gold = medium_gold_value
		}
		custom_tooltip = court.0107.b.tt
		if = {
			limit = {
				scope:tutor = {
					has_trait = education_martial
				}
			}
			create_artifact_book_effect = {
				OWNER = root
				CREATOR = scope:tutor
				SET_SUBJECT = flag:martial
				SET_TOPIC = flag:no
			}
		}
		else_if = {
			limit = {
				scope:tutor = {
					has_trait = education_stewardship
				}
			}
			create_artifact_book_effect = {
				OWNER = root
				CREATOR = scope:tutor
				SET_SUBJECT = flag:stewardship
				SET_TOPIC = flag:no
			}
		}
		else_if = {
			limit = {
				scope:tutor = {
					has_trait = education_diplomacy
				}
			}
			create_artifact_book_effect = {
				OWNER = root
				CREATOR = scope:tutor
				SET_SUBJECT = flag:diplomacy
				SET_TOPIC = flag:no
			}
		}
		else_if = {
			limit = {
				scope:tutor = {
					has_trait = education_intrigue
				}
			}
			create_artifact_book_effect = {
				OWNER = root
				CREATOR = scope:tutor
				SET_SUBJECT = flag:intrigue
				SET_TOPIC = flag:no
			}
		}
		else_if = {
			limit = {
				scope:tutor = {
					has_trait = education_learning
				}
			}
			create_artifact_book_effect = {
				OWNER = root
				CREATOR = scope:tutor
				SET_SUBJECT = flag:learning
				SET_TOPIC = flag:no
			}
		}
		custom_tooltip = buy_book_artifact
		scope:newly_created_artifact = {
			save_scope_as = this_artifact
		}
		scope:tutor = {
			save_scope_as = old_owner
		}
		hidden_effect = {
			send_interface_toast = {
				title = artifact.0012.t
				left_icon = scope:this_artifact
				right_icon = scope:old_owner
				custom_tooltip = artifact.0012.tooltip
			}
		}
		stress_impact = {
			intellect_good_1 = minor_stress_impact_loss
			intellect_good_2 = minor_stress_impact_loss
			intellect_good_3 = minor_stress_impact_loss
			scholar = minor_stress_impact_loss
			greedy = minor_stress_impact_gain
			intellect_bad_1 = minor_stress_impact_gain
			intellect_bad_2 = medium_stress_impact_gain
			intellect_bad_3 = major_stress_impact_gain
		}
		ai_chance = {
			base = 50
			modifier = {
				short_term_gold < medium_gold_value
				factor = 0
			}
		}
	}

	#Option C: Suggest another book - opt out
	option = {
		name = court.0107.c
		add_opinion = {
	 		target = scope:tutor
	 		modifier = insult_opinion
	 		opinion = -15
	 	}
		progress_towards_friend_effect = {
			REASON = friend_saved_from_boredom
			CHARACTER = scope:unruly_child
			OPINION = default_friend_opinion
		}
		stress_impact = {
			compassionate = minor_stress_impact_loss
			diligent = minor_stress_impact_gain
			stubborn = medium_stress_impact_gain
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = -0.5
			}
		}
	}
	after = {
		scope:tutor = {
			clear_court_event_participation = yes
		}
		scope:unruly_child = {
			clear_court_event_participation = yes
		}
	}
}

#####################################
# A Spectacular Courtier			#
# by James Beaumont					#
# 0108								#
#####################################

scripted_effect spawn_foreign_prince_effect = {
	random_kingdom = {
		limit = {
			holder ?= {
				is_ai = yes
				NOT = {
					in_diplomatic_range = root
				}
			}
		}
		holder = { save_scope_as = foreign_realm_target }
	}
	scope:available_child = {
		if = {
			limit = { is_female = no }
			create_character = {
				location = root.capital_province
				template = prince_ali_template
				gender = female
				culture = scope:foreign_realm_target.culture
				faith = scope:foreign_realm_target.faith
				save_scope_as = foreign_prince
			}
		}
		else = {
			create_character = {
				location = root.capital_province
				template = prince_ali_template
				gender = male
				culture = scope:foreign_realm_target.culture
				faith = scope:foreign_realm_target.faith
				save_scope_as = foreign_prince
			}
		}
	}
	scope:foreign_prince = {
		random_list = {
			50 = { set_sexuality = heterosexual }
			50 = { set_sexuality = bisexual }
		}
		random_list = {
			3 = { add_gold = 100 }
			3 = { add_gold = 250 }
			3 = { add_gold = 500 }
			3 = { add_gold = 750 }
			3 = { add_gold = 1000 }
		}
		set_relation_lover = { reason = lover_magnificently_seduced target = scope:available_child involved_character = root }
		give_nickname = nick_fabulous_she_he
		visit_court_of = root
	}
}

# Foreign Prince comes to propose to an available daughter/son
court.0108 = {
	type = court_event
	title = court.0108.t
	desc = court.0108.desc

	theme = court
	court_scene = {
		button_position_character = scope:sceptical_courtier
		roles = {
			scope:sceptical_courtier = {
				group = event_group
				animation = personality_cynical
			}
			scope:available_child = {
				group = event_group
				animation = love
			}
			scope:foreign_prince = {
				group = event_group
				animation = flirtation_left
			}
		}
	}

	cooldown = { years = 50 }

	trigger = {
		is_available_adult = yes
		is_valid_for_east_asian_events_trigger = no
		any_child = {
			is_available_ai_adult = yes
			allowed_more_spouses = yes
			is_concubine = no
			OR = {
				has_sexuality = heterosexual
				has_sexuality = bisexual
			}
			has_court_event_flag = no
		}
		any_kingdom = {
			holder ?= {
				is_ai = yes
				NOT = {
					in_diplomatic_range = root
				}
			}
		}
		court_grandeur_current_level >= medium_court_grandeur_level
	}

	weight_multiplier = {
		base = 1
		modifier = {
			add = 1
			root.faith = {
				OR = {
					religion_tag = islam_religion
					has_doctrine_parameter = islamic_syncretic_actor_opinion_active
				}
			}
		}
	}

	immediate = {
		hidden_effect = {
			if = {
				limit = {
					any_court_position_holder = {
						has_trait = cynical
						is_available_adult = yes
					}
				}
				random_court_position_holder = {
					limit = {
						has_trait = cynical
						is_available_adult = yes
					}
					save_scope_as = sceptical_courtier
					court_event_character_flag_effect = yes
				}
			}
			else_if = {
				limit = {
					any_courtier = {
						has_trait = cynical
						is_available_adult = yes
					}
				}
				random_courtier = {
					limit = {
						has_trait = cynical
						is_available_adult = yes
					}
					save_scope_as = sceptical_courtier
					court_event_character_flag_effect = yes
				}
			}
			else = {
				random_courtier = {
					limit = { is_available_adult = yes }
					save_scope_as = sceptical_courtier
					court_event_character_flag_effect = yes
				}
			}
			random_child = {
				limit = {
					is_available_ai_adult = yes
					allowed_more_spouses = yes
					is_concubine = no
					OR = { #They need to be attracted to the Prince
						has_sexuality = heterosexual
						has_sexuality = bisexual
					}
				}
				save_scope_as = available_child
				court_event_character_flag_effect = yes
			}
			spawn_foreign_prince_effect = yes
		}
	}

	# Option A: Get them married!
	option = {
		name = court.0108.a
		scope:foreign_prince = {
			pay_short_term_gold = {
				target = root
				gold = 50_percent_of_owned_gold
			}
		}
		scope:available_child = {
			add_opinion = {
				modifier = grateful_opinion
				target = root
				opinion = 40
			}
		}
		progress_towards_friend_effect = {
			REASON = friend_approved_marriage_proposal
			CHARACTER = scope:foreign_prince
			OPINION = default_friend_opinion
		}
		progress_towards_rival_effect = {
			CHARACTER = scope:sceptical_courtier
			REASON = rival_concerns_dismissed
			OPINION = default_rival_opinion
		}
		if = {
			limit = {
				has_ep2_dlc_trigger = yes
			}
			create_grand_wedding_betrothal = {
				SPOUSE_1 = scope:available_child
				SPOUSE_2 = scope:foreign_prince
				HOST = root
				PROMISEE = scope:foreign_realm_target
			}
		}
		else_if = {
			limit = {
				scope:available_child = {
					is_female = no
				}
			}
			scope:available_child = { marry = scope:foreign_prince }
		}
		else = {
			scope:available_child = { marry_matrilineal = scope:foreign_prince }
		}
		change_current_court_grandeur = minor_court_grandeur_gain
		stress_impact = {
			paranoid = major_stress_impact_gain
			cynical = minor_stress_impact_gain
			compassionate = minor_stress_impact_loss
			trusting = minor_stress_impact_loss
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = 2
				ai_vengefulness = -0.5
			}
		}
	}

	#Option B: Imprison the Prince
	option = {
		name = court.0108.b
		scope:foreign_prince = {
			pay_short_term_gold = {
				target = root
				gold = 80_percent_of_owned_gold
			}
		}
		progress_towards_rival_effect = {
			CHARACTER = scope:foreign_prince
			REASON = rival_foreign_prince
			OPINION = default_rival_opinion
		}
		progress_towards_rival_effect = {
			CHARACTER = scope:available_child
			REASON = rival_disallowed_marrying
			OPINION = default_rival_opinion
		}
		progress_towards_friend_effect = {
			REASON = friend_believed_claim
			CHARACTER = scope:sceptical_courtier
			OPINION = default_friend_opinion
		}
		rightfully_imprison_character_effect = {
			TARGET = scope:foreign_prince
			IMPRISONER = root
 		}
		stress_impact = {
			compassionate = minor_stress_impact_gain
			trusting = minor_stress_impact_gain
			sadistic = minor_stress_impact_loss
			cynical = major_stress_impact_loss
			paranoid = major_stress_impact_loss
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = -0.5
				ai_vengefulness = 1
			}
		}
	}

	#Option C: Send them away
	option = {
		name = court.0108.c
		scope:available_child = {
			add_opinion = {
				modifier = hurt_opinion
				target = root
				opinion = -25
			}
		}
		scope:foreign_prince = {
			hidden_effect = { select_and_move_to_pool_effect = yes }
		}
		show_as_tooltip = {
			remove_courtier_or_guest = scope:foreign_prince
		}
		ai_chance = {
			base = 10
		}
	}
	after = {
		scope:available_child = {
			clear_court_event_participation = yes
		}
		scope:sceptical_courtier = {
			clear_court_event_participation = yes
		}
	}
}

#####################################
# An Anatomical Expert				#
# by James Beaumont					#
# 0109								#
#####################################

# Executioner knows medicine, wants to be a doctor
court.0109 = {
	type = court_event
	title = court.0109.t
	desc = court.0109.desc

	theme = court
	court_scene = {
		button_position_character = scope:executioner
		roles = {
			scope:executioner = {
				group = event_group
				animation = personality_rational
			}
			scope:learned_courtier = {
				group = event_group
				animation = admiration
			}
		}
	}

	cooldown = { years = 20 }

	trigger = {
		employs_court_position = executioner_court_position
		court_position:executioner_court_position = {
			is_available_ai_adult = yes
			has_court_event_flag = no
			NOT = { has_court_position = court_physician_court_position }
			save_temporary_scope_as = executioner_temp
		}
		any_courtier = {
			exists = yes
			is_available_adult = yes
			learning >= 10
			has_court_event_flag = no
			NOR = {
				has_court_position = executioner_court_position
				this = scope:executioner_temp
			}
		}
		is_available_adult = yes
	}

	# More likely to trigger if the executioner is smart and cares about other humans
	weight_multiplier = {
		base = 1
		modifier = {
			add = 0.5
			court_position:executioner_court_position = { has_trait = scholar }
		}
		modifier = {
			add = 0.5
			court_position:executioner_court_position = { has_trait = compassionate }
		}
		modifier = {
			add = 0.5
			court_position:executioner_court_position = { has_trait = education_learning }
		}
		modifier = {
			add = 0.5
			court_position:executioner_court_position = { has_trait = lifestyle_herbalist }
		}
		modifier = {
			add = 0.5
			court_position:executioner_court_position = { has_trait = lifestyle_physician }
		}
		modifier = {
			add = 0.5
			court_position:executioner_court_position = {
				OR = {
					has_trait = intellect_good_1
					has_trait = intellect_good_2
					has_trait = intellect_good_3
				}
			}
		}
		modifier = {
			add = -0.5
			court_position:executioner_court_position = {
				OR = {
					has_trait = intellect_bad_1
					has_trait = intellect_bad_2
					has_trait = intellect_bad_3
				}
			}
		}
		#Executioner less likely to help the sick and needy if they don't care about the sick and needy
		modifier = {
			add = -0.5
			court_position:executioner_court_position = { has_trait = sadistic }
		}
		modifier = {
			add = -0.5
			court_position:executioner_court_position = { has_trait = callous }
		}
	}

	immediate = {
		random_court_position_holder = {
			type = executioner_court_position
			limit = {
				is_available_ai_adult = yes
				has_court_event_flag = no
				NOT = { has_court_position = court_physician_court_position }
			}
			save_scope_as = executioner
			court_event_character_flag_effect = yes
			if = {
				limit = {
					NOT = { has_trait = lifestyle_physician }
				}
				add_trait = lifestyle_physician
				add_random_tiered_trait_xp_effect = {
					TRAIT = lifestyle_physician
					LEVEL_1 = yes
					LEVEL_3 = yes
				}
			}
		}
		if = {
			limit = {
				cp:councillor_court_chaplain = {
					exists = yes
					learning >= 10
					is_available_ai_adult = yes
					NOR = {
						has_court_position = executioner_court_position
						this = scope:executioner
					}
				}
			}
			cp:councillor_court_chaplain = {
				save_scope_as = learned_courtier
				court_event_character_flag_effect = yes
			}
		}
		else = {
			random_courtier = {
				limit = {
					learning >= 10
					is_available_adult = yes
					has_court_event_flag = no
					NOR = {
						has_court_position = executioner_court_position
						this = scope:executioner
					}
				}
				save_scope_as = learned_courtier
				court_event_character_flag_effect = yes
			}
		}
		if = {
			limit = {
				employs_court_position = court_physician_court_position
				court_position:court_physician_court_position = {
					this != scope:executioner
				}
			}
			random_court_position_holder = {
				type = court_physician_court_position
				limit = { this != scope:executioner }
				save_scope_as = current_physician
			}
		}
	}

	# Option A: Employ executioner as physician
	option = {
		name = court.0109.a
		progress_towards_friend_effect = {
			REASON = friend_hired_physician
			CHARACTER = scope:executioner
			OPINION = 0
		}
		reverse_add_opinion = {
	 		target = scope:executioner
	 		modifier = grateful_opinion
	 		opinion = 25
	 	}
	 	revoke_court_position = {
	 		recipient = scope:executioner
			court_position = executioner_court_position
	 	}

	 	court_position_grant_effect = { POS = court_physician CANDIDATE = scope:executioner EMPLOYER = root }

		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = 0.5
				ai_vengefulness = -0.5
			}
			modifier = {
				factor = 2
				scope:executioner = {
					has_trait = lifestyle_physician
					has_trait_xp = {
						trait = lifestyle_physician
						value >= 100
					}
				}
			}
		}
	}

	#Option C: Learn from the executioner
	option = {
		name = court.0109.c
		trigger = {
			OR = {
				has_trait = scholar
				has_trait = education_learning
				has_lifestyle = learning_lifestyle
			}
		}
		if = {
			limit = {
				scope:executioner = {
					has_trait = lifestyle_physician
					has_trait_xp = {
						trait = lifestyle_physician
						value >= 100
					}
				}
			}
			add_learning_lifestyle_xp = major_lifestyle_xp
		}
		else_if = {
			limit = {
				scope:executioner = {
					has_trait = lifestyle_physician
					has_trait_xp = {
						trait = lifestyle_physician
						value >= 50
					}
				}
			}
			add_learning_lifestyle_xp = medium_lifestyle_xp
		}
		else = {
			add_learning_lifestyle_xp = minor_lifestyle_xp
		}
		stress_impact = {
			arrogant = medium_stress_impact_gain
			lazy = medium_stress_impact_gain
			impatient = medium_stress_impact_gain
			shy = medium_stress_impact_gain
		}
		ai_chance = {
			base = 50
		}
	}

	#Option D: Tell them to continue tending to the sick and needy
	option = {
		name = court.0109.d
		primary_title.title_capital_county = {
			change_development_progress = medium_development_progress_gain
		}
		reverse_add_opinion = {
	 		target = scope:executioner
	 		modifier = disappointed_opinion
	 		opinion = -5
	 	}
	 	scope:executioner = {
	 		give_nickname = nick_health_god_mercy
	 	}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = 0.5
				ai_vengefulness = -0.5
			}
		}
	}
	after = {
		scope:learned_courtier = {
			clear_court_event_participation = yes
		}
		scope:executioner = {
			clear_court_event_participation = yes
		}
	}
}

#####################################
# A Relic of Revenge				#
# by James Beaumont					#
# 0111								#
#####################################

# Executioner wants to turn the skull of your rival into an artefact
scripted_trigger enticingly_skulled_prisoner = {
	is_ai = yes
	is_adult = yes
	OR = {
		has_relation_rival = root
		NOT = { has_faith = root.faith }
		has_hook = root
		num_sinful_traits >= 2
	}
}

court.0111 = {
	type = court_event
	title = court.0111.t
	desc = court.0111.desc

	theme = court
	court_scene = {
		button_position_character = scope:executioner
		roles = {
			scope:executioner = {
				group = event_group
				animation = scheme
			}
			scope:antiquarian = {
				group = event_group
				animation = anger
			}
		}
	}

	cooldown = { years = 50 }

	trigger = {
		employs_court_position = executioner_court_position
		employs_court_position = antiquarian_court_position
		court_position:executioner_court_position = {
			is_available_ai_adult = yes
			has_court_event_flag = no
			NOT = {
				has_court_position = antiquarian_court_position
			}
		}
		court_position:antiquarian_court_position = {
			is_available_ai_adult = yes
			has_court_event_flag = no
			NOT = {
				has_court_position = executioner_court_position
			}
		}
		any_prisoner = { enticingly_skulled_prisoner = yes }
	}

	# More likely to trigger if the executioner is kind of evil
	weight_multiplier = {
		base = 3
		modifier = {
			add = 1
			court_position:executioner_court_position = {
				has_trait = sadistic
			}
		}
		modifier = {
			add = 1
			court_position:executioner_court_position = {
				has_trait = callous
			}
		}
	}

	immediate = {
		if = {
			limit = {
				court_position:executioner_court_position = {
					is_available_ai_adult = yes
					NOT = {
						has_court_position = antiquarian_court_position
					}
				}
			}
			court_position:executioner_court_position = {
				save_scope_as = executioner
				court_event_character_flag_effect = yes
			}
		}
		if = {
			limit = {
				court_position:antiquarian_court_position = {
					is_available_ai_adult = yes
					NOT = {
						has_court_position = executioner_court_position
					}
				}
			}
			court_position:antiquarian_court_position = {
				save_scope_as = antiquarian
				court_event_character_flag_effect = yes
				}
		}
		random_prisoner = {
			limit = { enticingly_skulled_prisoner = yes }
			save_scope_as = rival
		}
	}

	# Option A: Give me their skull
	option = {
		name = court.0111.a
		progress_towards_friend_effect = {
			REASON = friend_took_side_in_dispute
			CHARACTER = scope:executioner
			OPINION = default_friend_opinion
		}
		reverse_add_opinion = {
	 		target = scope:antiquarian
	 		modifier = disgusted_opinion
	 		opinion = -30
	 	}
	 	save_scope_as = owner
		if = {
			limit = {
				scope:rival = {
					OR = {
						has_relation_rival = root
						has_hook = root
					}
				}
			}
			create_artifact = {
				name = artifact_pedestal_skull_of_the_enemy_name
				description = artifact_pedestal_skull_of_the_enemy_description
				visuals = human_skull
				type = pedestal
				modifier = artifact_dread_baseline_add_2_modifier
				save_scope_as = newly_created_artifact
			}
		}

		else_if = {
		 	limit = {
		 		scope:rival = {
		 			OR = {
						NOT = { has_faith = root.faith }
						num_sinful_traits >= 2
		 			}
		 		}
		 	}
		 	create_artifact = {
		 		name = artifact_pedestal_skull_of_the_apostate_name
		 		description = artifact_pedestal_skull_of_the_apostate_description
		 		visuals = human_skull
		 		type = pedestal
		 		modifier = artifact_dread_baseline_add_2_modifier
		 		save_scope_as = newly_created_artifact
		 	}
		}

		hidden_effect = {
			scope:newly_created_artifact = {
				add_artifact_modifier = artifact_dread_gain_mult_3_modifier
				add_artifact_modifier = artifact_intrigue_per_stress_level_1_modifier
			}
		}
		scope:newly_created_artifact = {
			save_scope_as = this_artifact
		}
		scope:rival = {
			save_scope_as = old_owner
		}
		hidden_effect = {
			send_interface_toast = {
				title = artifact.0012.t
				left_icon = scope:this_artifact
				right_icon = scope:old_owner
				custom_tooltip = artifact.0012.tooltip
			}
		}
		scope:rival = {
			death = {
				death_reason = death_skull_removed
				killer = scope:executioner
			}
		}
		stress_impact = {
			compassionate = medium_stress_impact_gain
			just = major_stress_impact_gain
			forgiving = major_stress_impact_gain
			arbitrary = minor_stress_impact_loss
			callous = minor_stress_impact_loss
			vengeful = minor_stress_impact_loss
			wrathful = minor_stress_impact_loss
		}
		ai_chance = {
			base = 25
			ai_value_modifier = {
				ai_vengefulness = 0.5
				ai_honor = -1
			}
		}
	}

	#Option B: Refuse the "artifact"
	option = {
		name = court.0111.b
		reverse_add_opinion = {
	 		target = scope:executioner
	 		modifier = disappointed_opinion
	 		opinion = -15
	 	}
		reverse_add_opinion = {
	 		target = scope:antiquarian
	 		modifier = relieved_opinion
	 		opinion = 15
	 	}
		stress_impact = {
			vengeful = minor_stress_impact_gain
			wrathful = medium_stress_impact_gain
			forgiving = minor_stress_impact_loss
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = 0.5
				ai_vengefulness = -0.5
				ai_zeal = -0.5
			}
		}
	}
	after = {
		scope:executioner = {
			clear_court_event_participation = yes
		}
		scope:antiquarian = {
			clear_court_event_participation = yes
		}
	}
}

#####################################
# A Closeted Cadaver				#
# by James Beaumont					#
# 0112								#
#####################################

# Someone has been hiding a cadaver in the closet

scripted_trigger valid_lady_in_waiting_like_character_trigger = {
	is_available_ai_adult = yes
	has_court_event_flag = no
	trigger_if = {
		limit = {
			root = { is_female = yes }
		}
		is_female = yes
	}
	trigger_else = {
		is_male = yes
	}
	OR = {
		has_trait = sadistic
		has_trait = callous
		has_trait = wrathful
		has_trait = craven
		has_trait = paranoid
	}
	OR = {
		has_court_position = lady_in_waiting_court_position
		is_of_major_or_minor_interest_trigger = { CHARACTER = root }
	}
	NOT = {
		is_close_family_of = root
	}
}

court.0112 = {
	type = court_event
	title = court.0112.t
	desc = court.0112.desc

	theme = court
	court_scene = {
		button_position_character = scope:guilty_courtier
		roles = {
			scope:guilty_courtier = {
				group = event_group
				animation = fear
			}
		}
	}

	cooldown = { years = 20 }

	trigger = {
		any_courtier = {
			valid_lady_in_waiting_like_character_trigger = yes
		}
		any_pool_character = {
            province = root.capital_province
			is_available_ai_adult = yes
			NOT = { exists = scope:inspiration }
		}
		is_available_adult = yes
	}

	weight_multiplier = {
		base = 0.5
		modifier = {
			amenity_level = {
				target = court_fashion
				value > medium_amenity_level
			}
			add = 0.5
		}
		modifier = {
			add = 0.5
			employs_court_position = lady_in_waiting_court_position
		}
	}

	immediate = {
      	random_courtier = {
			limit = {
				valid_lady_in_waiting_like_character_trigger = yes
				has_court_position = lady_in_waiting_court_position
			}
			alternative_limit = {
				valid_lady_in_waiting_like_character_trigger = yes
			}
      		save_scope_as = guilty_courtier
			court_event_character_flag_effect = yes
      	}
        hidden_effect = {
            random_pool_character = {
				limit = {
					is_available_ai_adult = yes
	            	NOT = { exists = scope:inspiration }
	            }
            	province = root.capital_province
                save_scope_as = corpse
            }
            unknown_murder_effect = {
                VICTIM = scope:corpse
                MURDERER = scope:guilty_courtier
                REASON = death_murder
            }
            if = {
            	limit = {
            		any_character_artifact = {
						OR = {
							has_variable = cabinet
							has_variable = big_chest
						}
            			NOT = { has_variable = ghost_cabinet }
            		}
            	}
            	random_character_artifact = {
            		limit = {
            			OR = {
							has_variable = cabinet
							has_variable = big_chest
						}
            			NOT = { has_variable = ghost_cabinet }
            		}
            		set_variable = {
            			name = ghost_cabinet
            			years = 50
            		}
            	}
            }
        }
    }

	# Option A: I'll forget I saw this, for the good of fashion
	option = {
		name = court.0112.a
		scope:guilty_courtier = {
			random_secret = {
				type = secret_murder
				limit = {
					secret_target = scope:corpse
					NOT = { any_secret_knower = { this = root } }
				}
				disable_exposure_by = root
			}
		}
		hidden_effect = {
			create_artifact_regalia_effect = {
				OWNER = root
				SMITH = scope:guilty_courtier
			}
		}
		custom_tooltip = get_regalia_artifact
		scope:newly_created_artifact = {
			save_scope_as = this_artifact
		}
		scope:guilty_courtier = {
			save_scope_as = old_owner
		}
		hidden_effect = {
			send_interface_toast = {
				title = artifact.0012.t
				left_icon = scope:this_artifact
				right_icon = scope:old_owner
				custom_tooltip = artifact.0012.tooltip
			}
		}
		reverse_add_opinion = {
	 		target = scope:guilty_courtier
	 		modifier = grateful_opinion
	 		opinion = 50
	 	}
		stress_impact = {
			zealous = medium_stress_impact_gain
			vengeful = minor_stress_impact_gain
			wrathful = minor_stress_impact_gain
			just = major_stress_impact_gain
			trusting = minor_stress_impact_loss
			callous = minor_stress_impact_loss
			greedy = minor_stress_impact_loss
		}
		ai_chance = {
			base = 25
			ai_value_modifier = {
				ai_compassion = 0.5
				ai_greed = 0.5
				ai_honor = -0.5
			}
		}
	}

	#Option B: Expose the murder
	option = {
		name = court.0112.b
		reverse_add_opinion = {
	 		target = scope:guilty_courtier
	 		modifier = hate_opinion
	 		opinion = -50
	 	}
	 	scope:guilty_courtier = {
			random_secret = {
				type = secret_murder
				limit = {
					secret_target = scope:corpse
					NOT = { any_secret_knower = { this = root } }
				}
				expose_secret = root
			}
		}
		stress_impact = {
			greedy = major_stress_impact_gain
			vengeful = minor_stress_impact_gain
			wrathful = medium_stress_impact_gain
			forgiving = minor_stress_impact_loss
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = -0.5
				ai_greed = -0.5
				ai_honor = 0.5
			}
		}
	}

	#Option C: Leave without saying anything
	option = {
		name = court.0112.c
		reverse_add_opinion = {
	 		target = scope:guilty_courtier
	 		modifier = scared_opinion
	 		opinion = -15
	 	}
		 scope:guilty_courtier = {
			random_secret = {
				type = secret_murder
				limit = {
					secret_target = scope:corpse
					NOT = { any_secret_knower = { this = root } }
				}
				reveal_to = root
			}
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = -0.5
				ai_greed = -0.5
				ai_honor = -0.5
			}
		}
	}
	after = {
		scope:guilty_courtier = {
			clear_court_event_participation = yes
		}
	}
}



##################################################
# Ewan

##################################################
# 2201 - 2210	A Slice of the Pie - Your heirs debate the merits of partition. At length.
# 2401 - 2410	Second-Hand Glamour - Your lacklustre approach to fashion sees courtiers turn elsewhere.
##################################################

	##################################################
	# MAJESTY SUB-SECTION

##################################################
# A Slice of the Pie
# by Ewan Cowhig Croft
# 2201 - 2210
##################################################

scripted_trigger court_2201_valid_basic_heir_child_trigger = {
	exists = root.dynasty
	dynasty ?= root.dynasty
	# Must be available, and at least a teenager.
	is_available_ai = yes
	OR = {
		is_adult = yes
		child_is_teen_trigger = yes
	}
	# Finally, has to be chilling in the capital.
	location = root.capital_province
}

scripted_trigger court_2201_valid_eldest_heir_child_trigger = {
	# Basic checks.
	court_2201_valid_basic_heir_child_trigger = yes
	# Is the eldest heir of root.
	save_temporary_scope_as = eldest_heir_temp
	root = {
		player_heir_position = {
			value = 0 #player heir
			target = scope:eldest_heir_temp
		}
	}
}

scripted_trigger court_2201_valid_younger_heir_child_trigger = {
	# Basic checks.
	court_2201_valid_basic_heir_child_trigger = yes
	# Is getting *some* kind of inheritance through partition.
	any_heir_title = {
		holder ?= root
	}
	# Is *NOT* the eldest heir of root.
	save_temporary_scope_as = younger_heir_temp
	root = {
		player_heir_position = {
			value >= 1
			target = scope:younger_heir_temp
		}
	}
}

court.2201 = {
	type = court_event
	title = court.2201.t
	desc = court.2201.desc
	theme = court

	cooldown = { years = 10 }

	court_scene = {
		button_position_character = scope:eldest_heir
		roles = {
			scope:eldest_heir = {
				group = event_group
				animation = anger
			}
			scope:younger_heir = {
				group = event_group
				animation = dismissal
			}
		}
	}

	trigger = {
		# DLC check.
		has_royal_court = yes
		# Standard checks.
		is_available_adult = yes
		is_landed = yes
		# Is using a form of partition succession.
		has_partition_succession_realm_law_trigger = yes
		# Has a suitable eldest heir/child.
		any_player_heir = {
			court_2201_valid_eldest_heir_child_trigger = yes
			has_court_event_flag = no
		}
		# Has a suitable younger heir/child.
		any_player_heir = {
			court_2201_valid_younger_heir_child_trigger = yes
			has_court_event_flag = no
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
	}

	immediate = {
		# Grab our heirs.
		random_player_heir = {
			limit = { court_2201_valid_eldest_heir_child_trigger = yes }
			save_scope_as = eldest_heir
			court_event_character_flag_effect = yes
		}
		random_player_heir = {
			limit = { court_2201_valid_younger_heir_child_trigger = yes }
			save_scope_as = younger_heir
			court_event_character_flag_effect = yes
		}
	}

	# Entitled to more, scope:eldest_heir? How about *nothing*!
	option = {
		name = court.2201.a

		# Disinherit scope:eldest_heir for free.
		scope:eldest_heir = {
			disinherit_effect = { DISINHERITOR = root }
		}
		# Friendship & hook with scope:younger_heir.
		progress_towards_friend_effect = {
			REASON = friend_disinherited_other_child
			CHARACTER = scope:younger_heir
			OPINION = 50
		}
		if = {
			limit = {
				can_add_hook = {
					target = scope:younger_heir
					type = favor_hook
				}
			}
			add_hook = {
				target = scope:younger_heir
				type = favor_hook
			}
		}
		# Insta-rivalry with scope:eldest_heir and between the siblings.
		scope:eldest_heir = {
			if = {
				limit = {
					can_set_relation_rival_even_if_teen_trigger = { CHARACTER = root }
				}
				set_relation_rival = {
					target = root
					reason = rival_parent_rivalry
				}
			}
			if = {
				limit = {
					can_set_relation_nemesis_even_if_teen_trigger = { CHARACTER = scope:younger_heir }
				}
				set_relation_nemesis = {
					reason = nemesis_parent_rivalry
					copy_reason = rival
					target = scope:younger_heir
				}
			}
			else_if = {
				limit = {
					can_set_relation_rival_even_if_teen_trigger = { CHARACTER = scope:younger_heir }
				}
				set_relation_rival = {
					target = scope:younger_heir
					reason = rival_inter_heir_rivalry
				}
			}
			else = {
				add_opinion = {
					target = scope:younger_heir
					modifier = hate_opinion
					opinion = -50
				}
				reverse_add_opinion = {
					target = scope:younger_heir
					modifier = hate_opinion
					opinion = -50
				}
			}
		}

		stress_impact = {
			vengeful = miniscule_stress_impact_loss
			arbitrary = miniscule_stress_impact_loss
			irritable = minor_stress_impact_loss
			forgiving = medium_stress_impact_gain
			just = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_vengefulness = 0.5
				ai_compassion = 0.25
			}
		}
	}

	# Sad to say, scope:younger_heir, GetSheHe makes a good point.
	option = {
		name = court.2201.b

		# Disinherit scope:younger_heir for free.
		scope:younger_heir = {
			disinherit_effect = { DISINHERITOR = root }
		}
		# Friendship & hook with scope:eldest_heir.
		progress_towards_friend_effect = {
			REASON = friend_disinherited_other_child
			CHARACTER = scope:eldest_heir
			OPINION = 50
		}
		if = {
			limit = {
				can_add_hook = {
					target = scope:eldest_heir
					type = favor_hook
				}
			}
			add_hook = {
				target = scope:eldest_heir
				type = favor_hook
			}
		}
		# Insta-rivalry with scope:younger_heir and between the siblings.
		scope:younger_heir = {
			if = {
				limit = {
					can_set_relation_rival_even_if_teen_trigger = { CHARACTER = root }
				}
				set_relation_rival = {
					target = root
					reason = rival_parent_rivalry
				}
			}
			if = {
				limit = {
					can_set_relation_nemesis_even_if_teen_trigger = { CHARACTER = scope:eldest_heir }
				}
				set_relation_nemesis = {
					reason = nemesis_parent_rivalry
					copy_reason = rival
					target = scope:eldest_heir
				}
			}
			else_if = {
				limit = {
					can_set_relation_rival_even_if_teen_trigger = { CHARACTER = scope:eldest_heir }
				}
				set_relation_rival = {
					target = scope:eldest_heir
					reason = rival_inter_heir_rivalry
				}
			}
			else = {
				add_opinion = {
					target = scope:eldest_heir
					modifier = hate_opinion
					opinion = -50
				}
				reverse_add_opinion = {
					target = scope:eldest_heir
					modifier = hate_opinion
					opinion = -50
				}
			}
		}

		stress_impact = {
			vengeful = miniscule_stress_impact_loss
			arbitrary = miniscule_stress_impact_loss
			irritable = minor_stress_impact_loss
			forgiving = medium_stress_impact_gain
			just = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_rationality = 0.25
				ai_compassion = -0.5
			}
		}
	}

	# They're siblings, I'm sure they'll get along fine without me.
	option = {
		name = court.2201.c
		trigger = {
			NOT = { has_trait = family_first }
		}

		# Hidden potential rivalry in the future.
		hidden_effect = {
			scope:eldest_heir = {
				progress_towards_rival_effect = {
					CHARACTER = scope:younger_heir
					REASON = rival_argued_succession
					OPINION = -20
				}
			}
		}
		# And some diplomacy lifestyle XP for your wisdom.
		add_diplomacy_lifestyle_xp = medium_lifestyle_xp

		stress_impact = {
			trusting = miniscule_stress_impact_loss
			lazy = miniscule_stress_impact_loss
			arbitrary = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_sociability = -0.25
				ai_rationality = -0.25
				ai_energy = -0.5
			}
		}
	}

	after = {
		scope:younger_heir = {
			clear_court_event_participation = yes
		}
		scope:eldest_heir = {
			clear_court_event_participation = yes
		}
	}
}

	##################################################
	# FOREIGN GUESTS SUB-SECTION

##################################################
# Second-Hand Glamour
# by Ewan Cowhig Croft
# 2401 - 2410
##################################################

scripted_trigger court_2401_valid_neighbouring_ruler_trigger = {
	# Isn't at war with root.
	NOT = {
		is_at_war_with = root
	}
	# Has a royal court, and therefore amenities.
	has_royal_court = yes
	# Is more fashionable.
	amenity_level = {
		target = court_fashion
		value > medium_amenity_level
	}
}

scripted_trigger court_2401_valid_scope_seller_trigger = {
	OR = {
		has_trait_malicious_trigger = yes
		has_trait_dominant_trigger = yes
	}
}

court.2401 = {
	type = court_event
	title = court.2401.t
	desc = court.2401.desc
	theme = court

	cooldown = { years = 15 }

	court_scene = {
		button_position_character = scope:seller
		roles = {
			scope:seller = {
				group = event_group
				animation = flirtation
			}
		}
	}

	trigger = {
		# DLC check.
		has_royal_court = yes
		# Standard checks.
		is_available_adult = yes
		is_landed = yes
		# Low fashion amenity.
		amenity_level = {
			target = court_fashion
			value <= medium_amenity_level
		}
		# Any neighbour with a better fashion amenity.
		any_neighboring_and_across_water_realm_same_rank_owner = { court_2401_valid_neighbouring_ruler_trigger = yes }
		# Available courtier to become scope:seller.
		any_courtier = {
			court_2401_valid_scope_seller_trigger = yes
			is_available_ai_adult = yes
			has_court_event_flag = no
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			amenity_level = {
				target = court_fashion
				value <= low_amenity_level
			}
			add = 1
		}
		modifier = {
			any_neighboring_and_across_water_realm_same_rank_owner = {
				court_2401_valid_neighbouring_ruler_trigger = yes
				amenity_level = {
					target = court_fashion
					value >= high_amenity_level
				}
			}
			add = 1
		}

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
	}

	immediate = {
		# Grab an appropriate neighbouring realm.
		random_neighboring_and_across_water_realm_same_rank_owner = {
			limit = { court_2401_valid_neighbouring_ruler_trigger = yes }
			save_scope_as = grander_ruler
		}
		# Grab a scope:seller.
		random_courtier = {
			limit = {
				court_2401_valid_scope_seller_trigger = yes
				is_available_ai_adult = yes
			}
			weight = {
				base = 1
				is_of_minor_interest_to_weight_up_modifier = { CHARACTER = root }
				is_of_major_interest_to_weight_up_modifier = { CHARACTER = root }
			}
			save_scope_as = seller
			court_event_character_flag_effect = yes
		}
	}

	# My, those *do* look enticing...
	option = {
		name = court.2401.a
		trigger = {
			can_make_expensive_purchase_trigger = { PRICE = medium_gold_value }
		}

		# Pay gold to copy the fashions.
		pay_short_term_gold = {
			target = scope:seller
			gold = medium_gold_value
		}
		# Gain some corresponding CGV.
		change_current_court_grandeur = major_court_grandeur_gain
		# Increase your amenities
		add_amenity_level = { type = court_fashion value = 1 }
		# And opinion.
		reverse_add_opinion = {
			target = scope:seller
			modifier = pleased_opinion
			opinion = 30
		}
		# But lose a little prestige.
		add_prestige = minor_prestige_loss

		stress_impact = {
			humble = miniscule_stress_impact_loss
			fickle = miniscule_stress_impact_loss
			arrogant = medium_stress_impact_gain
			stubborn = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_sociability = 0.5
				ai_vengefulness = -0.25
				ai_greed = -0.5
			}
		}
	}

	# Get those out of here! We don't need foreign nonsense in my court!
	option = {
		name = court.2401.b

		# Gain prestige!
		add_prestige = medium_prestige_gain
		# But upset scope:seller
		reverse_add_opinion = {
			target = scope:seller
			modifier = angry_opinion
			opinion = -30
		}
		#And loss a little CGV.
		change_current_court_grandeur = minor_court_grandeur_loss
		#But gain tiny legitimacy
		add_legitimacy = miniscule_legitimacy_gain

		stress_impact = {
			arrogant = miniscule_stress_impact_loss
			stubborn = miniscule_stress_impact_loss
			humble = medium_stress_impact_gain
			fickle = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_vengefulness = 0.5
				ai_sociability = -0.25
			}
		}
	}

	# Who cares what people wear?
	option = {
		name = court.2401.c

		# Gain a little consolation prestige.
		add_prestige = miniscule_prestige_gain

		stress_impact = {
			lazy = miniscule_stress_impact_loss
			shy = minor_stress_impact_loss
			gregarious = minor_stress_impact_gain
			arrogant = medium_stress_impact_gain
			stubborn = medium_stress_impact_gain
			humble = medium_stress_impact_gain
			fickle = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_sociability = -0.25
				ai_vengefulness = -0.25
				ai_energy = -0.5
			}
		}
	}
	after = {
		scope:seller = {
			clear_court_event_participation = yes
		}
	}
}



##################################################
# Bianca

##################################################
# 3040 - 3049	Homesick MotherFather
# 3060 - 3069	A Feline Hunter
##################################################

#####################################
# A courtier's inspired work		#
# by Bianca Savazzi					#
# 3010								#
#####################################

#scripted_effect court_3010_inspired_work_neutral_toast_effect = {
#	hidden_effect = {
#		send_interface_toast = {
#			title = court.3010.t
#			right_icon = scope:inspired_writer
#			custom_tooltip = court.3010.c.neutral
#		}
#	}
#}
#scripted_effect court_3010_inspired_work_stress_toast_effect = {
#	if = {
#		limit = {
#			OR = {
#				has_trait = arrogant
#				has_trait = wrathful
#				has_trait = impatient
#				has_trait = sadistic
#			}
#		}
#		stress_impact = {
#			arrogant = medium_stress_impact_gain
#			wrathful = medium_stress_impact_gain
#			impatient = medium_stress_impact_gain
#			sadistic = medium_stress_impact_gain
#		}
#	}
#	else = { add_stress = minor_stress_gain }
#
#	hidden_effect = {
#		root = {
#			send_interface_toast = {
#				title = court.3010.t
#				right_icon = scope:inspired_writer
#				custom_tooltip = court.3010.c.stress
#				show_as_tooltip = {
#					scope:inspired_writer = {
#						if = {
#							limit = {
#								OR = {
#									has_trait = arrogant
#									has_trait = wrathful
#									has_trait = impatient
#									has_trait = sadistic
#								}
#							}
#							stress_impact = {
#								arrogant = major_stress_impact_gain
#								wrathful = major_stress_impact_gain
#								impatient = major_stress_impact_gain
#								sadistic = major_stress_impact_gain
#							}
#						}
#						else = { add_stress = medium_stress_gain }
#					}
#				}
#			}
#		}
#	}
#}

scripted_trigger court_3010_inspired_work_courtier_trigger = {
	is_available_ai_adult = yes
	NOR = {
		exists = scope:inspiration
		exists = inspiration
	}
	NOR = {
		has_trait = blind
		has_relation_rival = root
		has_relation_potential_rival = root
		has_relation_nemesis = root
	}
	learning >= 10
	diplomacy >= 12
}

## An inspired courtier
court.3011 = {
	type = character_event
	title = court.3010.t
	desc = {
		desc = court.3011.desc.opening
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:inspired_writer = {
						OR = {
							has_trait = shy
							has_trait = chaste
						}
					}
				}
				desc = court.3011.desc.shy_or_chaste
			}
			triggered_desc = {
				trigger = {
					scope:inspired_writer = {
						OR = {
							has_trait = adventurer
							has_trait = pilgrim
							has_trait = lifestyle_traveler
						}
					}
				}
				desc = court.3011.desc.adventurer_or_pilgrim
			}
			triggered_desc = {
				desc = court.3011.desc.generic_fallback
			}
		}
 		desc = court.3011.desc.ending
	}
	theme = court
	left_portrait = {
		character = root
		animation = personality_rational
	}
	right_portrait = {
		character = scope:inspired_writer
		animation = happiness
	}

	trigger = {
		has_ep1_dlc_trigger = yes
		NOT = { has_trait = blind }
		has_royal_court = yes
		any_courtier_or_guest = {
			court_3010_inspired_work_courtier_trigger = yes
		}
	}

	immediate = {
		random_courtier_or_guest = {
			limit = {
				court_3010_inspired_work_courtier_trigger = yes
			}
			save_scope_as = inspired_writer
		}
	}

	# Option A: Encourage them to keep writing
	option = {
		name = court.3011.a
		custom_tooltip = court.3011.c.tt.gain_inspiration
		scope:inspired_writer = { create_inspiration = book_inspiration }
		progress_towards_friend_effect = {
			REASON = friend_believed_in_my_writing
			CHARACTER = scope:inspired_writer
			OPINION = 20
		}
		stress_impact = {
			callous = medium_stress_impact_gain
			arrogant = medium_stress_impact_gain
			sadistic = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_sociability = 1
			}
		}
	}

	# Option C: You tell them to stop
	option = {
		name = court.3011.c
		custom_tooltip = court.3011.c.tt.hurt
		add_prestige = minor_prestige_gain
		reverse_add_opinion = {
			target = scope:inspired_writer
			modifier = cruelty_opinion
			opinion = -20
		}
		stress_impact = {
			gregarious = medium_stress_impact_gain
			compassionate = medium_stress_impact_gain
		}
		ai_chance = {
			base = 75
			ai_value_modifier = {
				ai_sociability = -1
			}
		}
	}
}
#
######################################
## Lady-in-Waiting Events			 #
## by Bianca Savazzi				 #
## 3031								 #
######################################
#
## Court position smooths things over with people
court.3031 = {
	type = court_event
	title = court.3031.t
	desc = court.3031.desc
	theme = court
	cooldown = { years = 15 }
	court_scene = {
		button_position_character = scope:liw
		roles = {
			scope:liw = {
				group = event_group
				animation = happiness
			}
			root = {
				group = event_group
				animation = personality_rational
			}
		}
	}

	weight_multiplier = {
		base = 1
		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_intrigue }
	}

	trigger = {
		has_court_event_flag = no
		OR = {
			AND = {
				employs_court_position = lady_in_waiting_court_position
				any_court_position_holder = {
					type = lady_in_waiting_court_position
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
			}
			AND = {
				employs_court_position = cultural_emissary_court_position
				any_court_position_holder = {
					type = cultural_emissary_court_position
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
			}
			AND = {
				employs_court_position = chief_eunuch_court_position
				any_court_position_holder = {
					type = chief_eunuch_court_position
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
			}
			AND = {
				employs_court_position = court_poet_court_position
				any_court_position_holder = {
					type = court_poet_court_position
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
			}
		}
		any_vassal = {
			count > 0
			vassal_stance = minority
		}
		any_vassal = {
			count > 0
			vassal_stance = barons_and_minor_landholders
		}
		any_sub_realm_county = {
			culture = {
				NOR = {
					this = root.culture
					this = root.capital_county.culture
				}
			}
		}
	}

	immediate = {
		court_event_character_flag_effect = yes
		random_court_position_holder = {
			type = lady_in_waiting_court_position
			limit = {
				is_available_ai_adult = yes
				has_court_event_flag = no
			}
			save_scope_as = liw
		}
		if = {
			limit = {
				NOT = { exists = scope:liw }
			}
			random_court_position_holder = {
				type = cultural_emissary_court_position
				limit = {
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
				save_scope_as = liw
			}
		}
		if = {
			limit = {
				NOT = { exists = scope:liw }
			}
			random_court_position_holder = {
				type = chief_eunuch_court_position
				limit = {
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
				save_scope_as = liw
			}
		}
		if = {
			limit = {
				NOT = { exists = scope:liw }
			}
			random_court_position_holder = {
				type = court_poet_court_position
				limit = {
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
				save_scope_as = liw
			}
		}
		scope:liw = {
			court_event_character_flag_effect = yes
			assign_quirk_effect = yes
		}
		random_sub_realm_county = {
			limit = {
				culture = {
					NOR = {
						this = root.culture
						this = root.capital_county.culture
					}
				}
			}
			save_scope_as = reference_county
		}
		root = { save_scope_as = root_scope }
	}

	# Option A: Minority vassals
	option = {
		name = court.3031.a
		every_vassal = {
			vassal_stance = minority
			custom = every_minority_vassal
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 10
			}
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_boldness = 0.5
			}
		}
	}

	# Option B: Baron vassals
	option = {
		name = court.3031.b
		every_vassal = {
			vassal_stance = barons_and_minor_landholders
			custom = every_baron_vassal
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 10
			}
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_sociability = 0.5
			}
		}
	}

	# Option C: Minority culture
	option = {
		name = court.3031.c
		every_sub_realm_county = {
			custom = every_culture_county_3031
			limit = {
				culture = scope:reference_county.culture
			}
			change_county_control = 5
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_rationality = 0.5
			}
		}
	}

	# Option D: Nah
	option = {
		name = court.3031.d
		add_prestige = miniscule_prestige_gain
		stress_impact = {
			ambitious = minor_stress_impact_gain
			gregarious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 10
			modifier = {
				has_trait = lazy
				add = 10
			}
			modifier = {
				has_trait = content
				add = 10
			}
		}
	}
	after = {
		clear_court_event_participation = yes
		scope:liw = {
			clear_court_event_participation = yes
		}
	}
}
#
#####################################
# Homesick MotherFather				#
# by Bianca Savazzi					#
# 3040 - 3041						#
#####################################

# Your parent of a different culture is caught feeling homesick
court.3040 = {
	type = court_event
	title = court.3040.t
	desc = court.3040.desc
	theme = court
	cooldown = { years = 20 }
	court_scene = {
		button_position_character = scope:homesick_parent
		roles = {
			scope:homesick_parent = {
				group = event_group
				animation = sadness
			}
			root = {
				group = event_group
				animation = personality_rational
			}
		}
	}
	lower_left_portrait = scope:jester

	weight_multiplier = {
		base = 1
		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

	trigger = {
		has_court_event_flag = no
		any_parent = {
			has_court_event_flag = no
			is_courtier_of = root
			culture != root.culture
			save_temporary_scope_as = temp_parent_scope
		}
		capital_province.culture = root.culture
	}

	immediate = {
		court_event_character_flag_effect = yes
		random_parent = {
			limit = {
				has_court_event_flag = no
				is_courtier_of = root
				culture != root.culture
			}
			save_scope_as = homesick_parent
			court_event_character_flag_effect = yes
		}
		if = {
			limit = {
				any_pool_character = {
					province = root.location
					culture = scope:homesick_parent.culture
					diplomacy >= 8
					is_available_ai_adult = yes
				}
			}
			random_pool_character = {
				province = root.location
				limit = {
					culture = scope:homesick_parent.culture
					diplomacy >= 8
					is_available_ai_adult = yes
				}
				save_scope_as = jester
			}
		}
		else = {
			create_character = {
				template = jester_template
				location = root.location
				culture = scope:homesick_parent.culture
				faith = scope:homesick_parent.faith
				save_scope_as = jester
			}
		}

		if = {
			limit = {
				OR = {
					can_appoint_char_to_court_position = {
						CHAR = scope:homesick_parent
						COURT_POS = antiquarian_court_position
					}
					can_appoint_char_to_court_position = {
	 					CHAR = scope:homesick_parent
	 					COURT_POS = wet_nurse_court_position
	 				}
					can_appoint_char_to_court_position = {
	 					CHAR = scope:homesick_parent
	 					COURT_POS = keeper_of_swans_court_position
	 				}
					can_appoint_char_to_court_position = {
	 					CHAR = scope:homesick_parent
	 					COURT_POS = court_gardener_court_position
	 				}
					can_appoint_char_to_court_position = {
	 					CHAR = scope:homesick_parent
	 					COURT_POS = lady_in_waiting_court_position
	 				}
					can_appoint_char_to_court_position = {
 	 					CHAR = scope:homesick_parent
 						COURT_POS = court_tutor_court_position
  					}
				}
			}
			random_list = {
				15 = {
					trigger = {
						can_appoint_char_to_court_position = {
							CHAR = scope:homesick_parent
							COURT_POS = antiquarian_court_position
						}
					}
					scope:homesick_parent = { add_character_flag = antiquarian }
				}
				15 = {
					trigger = {
						can_appoint_char_to_court_position = {
	 						CHAR = scope:homesick_parent
	 						COURT_POS = wet_nurse_court_position
	 					}
					}
					scope:homesick_parent = { add_character_flag = wet_nurse }
				}
				15 = {
					trigger = {
						can_appoint_char_to_court_position = {
	 						CHAR = scope:homesick_parent
	 						COURT_POS = keeper_of_swans_court_position
	 					}
					}
					scope:homesick_parent = { add_character_flag = swans }
				}
				15 = {
					trigger = {
						can_appoint_char_to_court_position = {
	 						CHAR = scope:homesick_parent
	 						COURT_POS = court_gardener_court_position
	 					}
					}
					scope:homesick_parent = { add_character_flag = gardener }
				}
				15 = {
					trigger = {
						can_appoint_char_to_court_position = {
	 						CHAR = scope:homesick_parent
	 						COURT_POS = lady_in_waiting_court_position
	 					}
					}
					scope:homesick_parent = { add_character_flag = liw }
				}
				15 = {
					trigger = {
						can_appoint_char_to_court_position = {
 	 						CHAR = scope:homesick_parent
 							COURT_POS = court_tutor_court_position
  						}
					}
					scope:homesick_parent = { add_character_flag = tutor }
				}
			}
		}
	}

	# Option A: increase amenities
	option = {
		name = court.3040.a
		trigger = {
			# The culture of origin has higher court grandeur's courts
			scope:homesick_parent.culture = {
				any_culture_duchy = {
					holder.top_liege ?= {
						has_royal_court = yes
						court_grandeur_current > root.court_grandeur_current
					}
				}
			}
			#Your amenities are not all top level
			OR = {
				amenity_level = {
					target = court_fashion
					value < max_amenity_level
				}
				amenity_level = {
					target = court_lodging_standards
					value < max_amenity_level
				}
				amenity_level = {
					target = court_food_quality
					value < max_amenity_level
				}
				amenity_level = {
					target = court_servants
					value < max_amenity_level
				}
			}
		}
		custom_tooltip = court.3040.a.tt
		hidden_effect = {
			random_list = {
				25 = {
					trigger = {
						amenity_level = {
							target = court_fashion
							value < max_amenity_level
						}
					}
					send_interface_toast = {
						title = court.3040.a.tt_2
						left_icon = scope:homesick_parent
						add_amenity_level = {
							type = court_fashion
							value = 1
						}
					}
				}
				25 = {
					trigger = {
						amenity_level = {
							target = court_lodging_standards
							value < max_amenity_level
						}
					}
					send_interface_toast = {
						title = court.3040.a.tt_2
						left_icon = scope:homesick_parent
						add_amenity_level = {
							type = court_lodging_standards
							value = 1
						}
					}
				}
				25 = {
					trigger = {
						amenity_level = {
							target = court_food_quality
							value < max_amenity_level
						}
					}
					send_interface_toast = {
						title = court.3040.a.tt_2
						left_icon = scope:homesick_parent
						add_amenity_level = {
							type = court_food_quality
							value = 1
						}
					}
				}
				25 = {
					trigger = {
						amenity_level = {
							target = court_servants
							value < max_amenity_level
						}
					}
					send_interface_toast = {
						title = court.3040.a.tt_2
						left_icon = scope:homesick_parent
						add_amenity_level = {
							type = court_servants
							value = 1
						}
					}
				}
			}
		}
		scope:homesick_parent = {
			add_opinion = {
				target = root
				modifier = listened_opinion
			}
		}
		stress_impact = {
			greedy = major_stress_impact_gain
			humble = medium_stress_impact_gain
			temperate = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100

			ai_value_modifier = {
				ai_greed = -1
			}
		}
	}

	# Option B: available job
	option = {
		name = court.3040.b
		trigger = {
			scope:homesick_parent = {
				OR = {
					has_character_flag = antiquarian
					has_character_flag = wet_nurse
					has_character_flag = swans
					has_character_flag = gardener
					has_character_flag = liw
					has_character_flag = tutor
				}
			}
		}
		if = {
			limit = {
				scope:homesick_parent = { has_character_flag = antiquarian }
			}
			court_position_grant_effect = { POS = antiquarian CANDIDATE = scope:homesick_parent EMPLOYER = root }
		}
		else_if = {
			limit = {
				scope:homesick_parent = { has_character_flag = wet_nurse }
			}
			court_position_grant_effect = { POS = wet_nurse CANDIDATE = scope:homesick_parent EMPLOYER = root }
		}
		else_if = {
			limit = {
				scope:homesick_parent = { has_character_flag = swans }
			}
			court_position_grant_effect = { POS = keeper_of_swans CANDIDATE = scope:homesick_parent EMPLOYER = root }
		}
		else_if = {
			limit = {
				scope:homesick_parent = { has_character_flag = gardener }
			}
			court_position_grant_effect = { POS = court_gardener CANDIDATE = scope:homesick_parent EMPLOYER = root }
		}
		else_if = {
			limit = {
				scope:homesick_parent = { has_character_flag = liw }
			}
			court_position_grant_effect = { POS = lady_in_waiting CANDIDATE = scope:homesick_parent EMPLOYER = root }
		}
		else_if = {
			limit = {
				scope:homesick_parent = { has_character_flag = tutor }
			}
			court_position_grant_effect = { POS = court_tutor CANDIDATE = scope:homesick_parent EMPLOYER = root }
		}
		scope:homesick_parent = {
			add_opinion = {
				target = root
				modifier = listened_opinion
			}
		}
		stress_impact = {
			lazy = medium_stress_impact_gain
			content = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100

			modifier = {
				has_trait = lazy
				add = -25
			}
			modifier = {
				has_trait = content
				add = -25
			}
		}
	}

	# Option C: parent's culture's jester
	option = {
		name = court.3040.c
		flavor = court.3040.c.tt
		trigger = {
			exists = scope:jester
		}
		add_courtier = scope:jester
		court_position_grant_effect = { POS = court_jester CANDIDATE = scope:jester EMPLOYER = root }
		stress_impact = {
			gregarious = minor_stress_impact_loss
			shy = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100

			modifier = {
				has_trait = shy
				add = -50
			}
		}
	}

	# Option D: Don't care, go sulk elsewhere
	option = {
		name = court.3040.d
		scope:homesick_parent = {
			add_opinion = {
				target = root
				modifier = cruelty_opinion
				opinion = -10
			}
		}
		add_prestige = miniscule_prestige_gain
		stress_impact = {
			compassionate = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = -1
			}
		}
	}
	after = {
		clear_court_event_participation = yes
		scope:homesick_parent = {
			clear_court_event_participation = yes
			remove_character_flag = antiquarian
			remove_character_flag = wet_nurse
			remove_character_flag = swans
			remove_character_flag = gardener
			remove_character_flag = liw
			remove_character_flag = tutor
		}
		if = {
			limit = {
				is_ai = yes
				scope:jester = {
					NOT = { has_court_position = court_jester_court_position }
				}
			}
			scope:jester = { silent_disappearance_effect = yes }
		}
	}
}



#####################################
# A Feline Hunter					#
# by Bianca Savazzi					#
# 3060 - 3061						#
#####################################

# Court Cat
court.3060 = {
	type = court_event
	title = court.3060.t
	desc = court.3060.desc
	theme = court
	cooldown = { years = 10 }
	court_scene = {
		button_position_character = scope:cat_finder
		roles = {
			scope:cat_finder = {
				group = event_group
				animation = happiness
			}
		}
	}

	weight_multiplier = {
		base = 0.5

		modifier = {
			has_royal_court = yes
			court_grandeur_current_level > 0
			add = {
				value = 1
				divide = court_grandeur_current_level
			}
		}
		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
	}

	trigger = {
		NOR = {
			any_owned_story = { type = story_cycle_pet_cat }
			has_character_modifier = cat_story_modifier
		}
		OR = {
			any_vassal = {
				is_available_ai_adult = yes
				has_court_event_flag = no
			}
			any_courtier = {
				is_available_ai_adult = yes
				has_court_event_flag = no
			}
		}
	}

	immediate = {
		#Pick cat finder
		if = {
			limit = {
				employs_court_position = master_of_hunt_court_position
				any_court_position_holder = {
					type = master_of_hunt_court_position #Primary choice as they are also used for dog option
					is_available_ai_adult = yes
				}
			}
			random_court_position_holder = {
				type = master_of_hunt_court_position
				limit = {
					is_available_ai_adult = yes
				}
				save_scope_as = cat_finder
				court_event_character_flag_effect = yes
			}
		}
		else_if = {
			limit = {
				any_vassal = {
					is_available_ai_adult = yes
				}
			}
			random_vassal = {
				limit = {
					is_available_ai_adult = yes
				}
				save_scope_as = cat_finder
				court_event_character_flag_effect = yes
			}
		}
		else_if = {
			limit = {
				any_courtier = {
					is_available_ai_adult = yes
				}
			}
			random_courtier = {
				limit = {
					is_available_ai_adult = yes
				}
				save_scope_as = cat_finder
				court_event_character_flag_effect = yes
			}
		}
	}

	# Option A: Adopt!
	option = {
		name = court.3060.a
		start_cat_story_cycle_effect = yes
		hidden_effect = { add_character_modifier = rat_hunting_cat_modifier }

		ai_chance = {
			base = 20

			ai_value_modifier = {
				ai_compassion = 1
			}
		}
	}

	# Option D: No cat
	option = {
		name = court.3060.d
		scope:cat_finder = {
			add_opinion = {
				modifier = disappointed_opinion
				target = root
				opinion = -10
			}
		}

		ai_chance = {
			base = 10
			ai_value_modifier = {
				ai_compassion = -2
			}
		}
	}
	after = {
		scope:cat_finder = {
			clear_court_event_participation = yes
		}
	}
}




##################################################
# Isabella

##################################################
# 4750 - 4751	Your court poet is writing a heroic book
##################################################


##################################################
# I Need a Hero
# by Isabella Welch
# 4750 - 4759
##################################################

scripted_trigger pope_joan_trigger = {
	religion = religion:catholic_religion
	is_female = yes
	any_held_title = { is_head_of_faith = no }
}

scripted_trigger lady_godiva_trigger = {
	OR = {
		root.culture = culture:anglo_saxon
		root.culture = {
			any_parent_culture = { this = culture:anglo_saxon }
		}
		root.culture = culture:english
		root.culture = {
			any_parent_culture = { this = culture:english }
		}
	}
}

scripted_trigger sinbad_trigger = {
	capital_province = {
		OR = {
			geographical_region = world_middle_east
			geographical_region = world_africa_east
			geographical_region = world_africa_north
		}
	}
}

scripted_trigger caligula_trigger = {
	OR = {
		has_trait = sadistic
		has_trait = torturer
		has_focus = intrigue_intimidation_focus
		has_trait = deviant
		has_trait = lunatic_1
	}
	OR = {
		has_title = title:k_italy
		has_title = title:k_romagna
		has_title = title:k_sardinia
		has_title = title:e_italy
		is_roman_emperor_excluding_byzantium_trigger = yes
		capital_province = {
			geographical_region = world_europe_west_britannia
			geographical_region = world_europe_west_germania
			geographical_region = world_europe_west_francia
			geographical_region = world_europe_west_iberia
			geographical_region = world_europe_west
			geographical_region = world_europe_south_italy
			geographical_region = world_europe_south
		}
		culture = { has_cultural_pillar = heritage_byzantine }
	}
}

scripted_trigger nasreddin_trigger = {
	OR = {
		culture = culture:uyghur
		culture = culture:afghan
		root.culture = {
			has_cultural_pillar = heritage_indo_aryan
			has_cultural_pillar = heritage_dravidian
		}
		capital_province = {
			geographical_region = world_middle_east
			geographical_region = world_middle_east_persia
			geographical_region = world_middle_east_arabia
			geographical_region = world_india
			geographical_region = world_asia_minor
		}
	}
	current_year >1230
}

scripted_trigger valmiki_trigger = {
	root.culture = {
		has_cultural_pillar = heritage_indo_aryan
	}
}

court.4750 = {
	type = court_event
	title = court.4750.t
	desc = court.4750.desc
	theme = court

	trigger = {
		has_court_event_flag = no
		can_employ_court_position_type = court_poet_court_position
		trigger_if = {
			limit = {
				is_ai = yes
			}
			any_pool_character = {
				province = root.location
				OR = {
					diplomacy >= 14
					has_trait = lifestyle_poet
				}
				is_available_ai_adult = yes
			}
		}
	}
	cooldown = { years = 25 }
	court_scene = {
		button_position_character = scope:poet
		roles = {
			scope:poet = {
				group = event_group
				animation = happiness
			}
			root = {
				group = event_group
				animation = personality_bold
			}
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

	immediate = {
		court_event_character_flag_effect = yes
		if = {
			limit = {
				any_pool_character = {
					province = root.location
					OR = {
						diplomacy >= 14
						has_trait = lifestyle_poet
					}
					is_available_ai_adult = yes
				}
			}
			random_pool_character = {
				province = root.location
				limit = {
					OR = {
						diplomacy >= 14
						has_trait = lifestyle_poet
					}
					is_available_ai_adult = yes
				}
				save_scope_as = poet
			}
			if = {
				limit = {
					scope:poet = {
						NOT = { has_trait = lifestyle_poet }
					}
				}
				scope:poet = { add_trait = lifestyle_poet }
			}
		}
		else = {
			create_character = {
				template = poet_template
				location = root.location
				save_scope_as = poet
			}
			scope:poet = { add_character_flag = created }
		}
		scope:poet = {
			court_event_character_flag_effect = yes
		}
	}

	option = {
		name = court.4750.a
		add_character_flag = pope_joan
		trigger = {
			pope_joan_trigger = yes
		}
		change_current_court_grandeur = minor_court_grandeur_gain
		add_courtier = scope:poet
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_zeal = 0.5
				ai_vengefulness = -0.5
			}
		}
	}

	option = {
		name = court.4750.b
		add_character_flag = lady_godiva
		trigger = {
			lady_godiva_trigger = yes
		}
		change_current_court_grandeur = minor_court_grandeur_gain
		add_courtier = scope:poet
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_boldness = 0.5
			}
		}
	}

	option = {
		name = court.4750.c
		add_character_flag = sinbad
		add_character_flag = ruler_character
		trigger = {
			sinbad_trigger = yes
			lady_godiva_trigger = no
		}
		change_current_court_grandeur = minor_court_grandeur_gain
		add_courtier = scope:poet
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_boldness = 0.25
				ai_rationality = -0.5
			}
		}
	}
	option = {
		name = court.4750.d
		add_character_flag = caligula
		trigger = {
			caligula_trigger = yes
		}
		change_current_court_grandeur = minor_court_grandeur_gain
		add_courtier = scope:poet
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_vengefulness = 0.75
				ai_rationality = -0.5
			}
		}
	}

	option = {
		name = court.4750.e
		add_character_flag = nasreddin
		add_character_flag = ruler_character
		trigger = {
			nasreddin_trigger = yes
			lady_godiva_trigger = no
			pope_joan_trigger = no
		}
		change_current_court_grandeur = minor_court_grandeur_gain
		add_courtier = scope:poet
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_honor = 0.75
				ai_rationality = 0.5
			}
		}
	}

	option = {
		name = court.4750.f
		add_character_flag = valmiki
		trigger = {
			valmiki_trigger = yes
			lady_godiva_trigger = no
			pope_joan_trigger = no
		}
		change_current_court_grandeur = minor_court_grandeur_gain
		add_courtier = scope:poet
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_honor = 0.75
				ai_rationality = 0.5
			}
		}
	}
	option = {
		name = court.4750.g
		add_character_flag = ruler_hero
		change_current_court_grandeur = minor_court_grandeur_gain
		add_courtier = scope:poet
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_boldness = 0.5
				ai_greed = 0.75
			}
		}
	}

	option = {
		name = court.4750.h
		add_character_flag = rejected_poet
		stress_impact = {
			lifestyle_poet = major_stress_impact_gain
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_boldness = -0.5
				ai_greed = -0.75
			}
		}
	}

	after = {
		if = {
			limit = { NOT = { has_character_flag = rejected_poet } }
			trigger_event = {
				id = court.4751
				days = 90
			}
		}
		else = {
			scope:poet = {
				if = {
					limit = {
						has_character_flag = created
					}
					silent_disappearance_effect = yes
				}
			}
		}
		clear_court_event_participation = yes
		scope:poet ?= {
			clear_court_event_participation = yes
		}
		remove_character_flag = rejected_poet
	}
}

scripted_effect court_4751_flag_removal_effect = {
	remove_character_flag = ruler_character
	remove_character_flag = pope_joan
	remove_character_flag = ruler_hero
	remove_character_flag = lady_godiva
	remove_character_flag = sinbad
	remove_character_flag = caligula
	remove_character_flag = nasreddin
	remove_character_flag = valmiki
}

court.4751 = {
	type = character_event
	title = court.4750.t
	desc = {
		desc = court.4751.intro
		first_valid = {
			triggered_desc = {
				trigger = {
					has_character_flag = pope_joan
				}
				desc = court.4751.topic.pope_joan
			}
			triggered_desc = {
				trigger = {
					has_character_flag = lady_godiva
				}
				desc = court.4751.topic.lady_godiva
			}
			triggered_desc = {
				trigger = {
					has_character_flag = sinbad
				}
				desc = court.4751.topic.sinbad
			}
			triggered_desc = {
				trigger = {
					has_character_flag = caligula
				}
				desc = court.4751.topic.caligula
			}
			triggered_desc = {
				trigger = {
					has_character_flag = nasreddin
				}
				desc = court.4751.topic.nasreddin
			}
			triggered_desc = {
				trigger = {
					has_character_flag = valmiki
				}
				desc = court.4751.topic.valmiki
			}
			triggered_desc = {
				trigger = {
					has_character_flag = ruler_hero
				}
				desc = court.4751.topic.ruler_hero
			}
		}
		desc = court.4751.topic.unexpected
		first_valid = {
			triggered_desc = {
				trigger = {
					has_character_flag = ruler_character
				}
				desc = court.4751.ruler_character
			}
			triggered_desc = {
				trigger = {
					has_character_flag = pope_joan
				}
				desc = court.4701.pope_joan_desc
			}
			triggered_desc = {
				trigger = {
					has_character_flag = ruler_hero
				}
				desc = court.4701.ruler_hero_desc
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = {
					has_character_flag = lady_godiva
				}
				desc = court.4751.topic.lady_godiva_desc
			}
			triggered_desc = {
				trigger = {
					has_character_flag = sinbad
				}
				desc = court.4751.topic.sinbad_desc
			}
			triggered_desc = {
				trigger = {
					has_character_flag = caligula
				}
				desc = court.4751.topic.caligula_desc
			}
			triggered_desc = {
				trigger = {
					has_character_flag = nasreddin
				}
				desc = court.4751.topic.nasreddin_desc
			}
			triggered_desc = {
				trigger = {
					has_character_flag = valmiki
				}
				desc = court.4751.topic.valmiki_desc
			}
		}
	}
	theme = diplomacy_majesty_focus

	left_portrait = {
		character = root
		animation = reading
	}
	right_portrait = {
		character = scope:poet
		animation = interested
	}

	trigger = {
		scope:poet = {
			is_alive = yes
			is_available = yes
			liege = root
		}
		is_available = yes
	}
	on_trigger_fail = {
		court_4751_flag_removal_effect = yes
	}

	immediate = {
		hidden_effect = {
			if = {
				limit = {
					has_character_flag = pope_joan
					scope:poet = { NOT = { has_trait = zealous } }
				}
				scope:poet = {
					add_secret = {
						type = secret_non_believer
					}
				}
				faith.religious_head = {
					save_scope_as = current_head_of_faith
				}
			}
		}

		save_scope_as = owner
	}

	option = {
		name = court.4751.a
		trigger = {
			has_character_flag = pope_joan
			is_attracted_to_gender_of = scope:poet
		}
		if = {
			limit = {
				can_set_relation_potential_lover_trigger = { CHARACTER = scope:poet }
			}
			set_relation_potential_lover = scope:poet
		}
		if = {
			limit = { artifacts_use_indian_books_trigger = yes }
			create_artifact = {
				name = pope_joan_book_name
				description = pope_joan_book_desc
				type = book
				visuals = indian_book
				modifier = artifact_monthly_piety_2_modifier
				save_scope_as = pope_joan_book
				save_scope_as = artifact
			}
		}
		else = {
			create_artifact = {
				name = pope_joan_book_name
				description = pope_joan_book_desc
				type = book
				visuals = book
				modifier = artifact_monthly_piety_2_modifier
				save_scope_as = pope_joan_book
				save_scope_as = artifact
			}
		}
		if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:poet
					COURT_POS = court_poet_court_position
				}
			}
			court_position_grant_effect = { POS = court_poet CANDIDATE = scope:poet EMPLOYER = root }
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_boldness = 0.75
				ai_rationality = -0.5
				ai_zeal = -0.75
			}
		}
	}

	option = {
		name = court.4751.b
		trigger = {
			has_character_flag = pope_joan
			root != scope:current_head_of_faith
		}
		if = {
			limit = { artifacts_use_indian_books_trigger = yes }
			create_artifact = {
				name = pope_joan_book_name
				description = pope_joan_book_desc
				type = book
				visuals = indian_book
				modifier = artifact_monthly_piety_2_modifier
				save_scope_as = pope_joan_book
				save_scope_as = artifact
			}
		}
		else = {
			create_artifact = {
				name = pope_joan_book_name
				description = pope_joan_book_desc
				type = book
				visuals = book
				modifier = artifact_monthly_piety_2_modifier
				save_scope_as = pope_joan_book
				save_scope_as = artifact
			}
		}
		if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:poet
					COURT_POS = court_poet_court_position
				}
			}
			court_position_grant_effect = { POS = court_poet CANDIDATE = scope:poet EMPLOYER = root }
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_boldness = 0.75
				ai_rationality = -0.5
				ai_zeal = 0.75
			}
		}
	}

	option = {
		name = court.4751.c
		flavor = court.4751.c.tt
		add_character_modifier = {
			modifier = compared_to_lady_godiva
			years = 5
		}
		trigger = {
			has_character_flag = lady_godiva
		}
		if = {
			limit = {
				any_relation = {
					type = potential_lover
				}
			}
			random_relation = {
				type = potential_lover
				save_scope_as = potential_lover
			}
			progress_towards_lover_effect = {
				CHARACTER = scope:potential_lover
				REASON = lover_court_godiva
				OPINION = 0
			}
		}
		if = {
			limit = { artifacts_use_indian_books_trigger = yes }
			create_artifact = {
				name = lady_godiva_book_name
				description = lady_godiva_book_desc
				type = book
				visuals = indian_book
				modifier = artifact_attraction_opinion_3_modifier
				save_scope_as = lady_godiva_book
				save_scope_as = artifact
			}
		}
		else = {
			create_artifact = {
				name = lady_godiva_book_name
				description = lady_godiva_book_desc
				type = book
				visuals = book
				modifier = artifact_attraction_opinion_3_modifier
				save_scope_as = lady_godiva_book
				save_scope_as = artifact
			}
		}
		if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:poet
					COURT_POS = court_poet_court_position
				}
			}
			court_position_grant_effect = { POS = court_poet CANDIDATE = scope:poet EMPLOYER = root }
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_greed = 0.75
			}
		}
	}

	option = {
		name = court.4751.e
		trigger = {
			has_character_flag = nasreddin
		}
		add_character_modifier = {
			modifier = compared_to_nasreddin
			years = 5
		}
		create_artifact = {
			name = nasreddin_book_name
			description = nasreddin_book_desc
			type = book
			visuals = book
			modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
			save_scope_as = nasreddin_book
			save_scope_as = artifact
		}
		if = {
			limit = { artifacts_use_indian_books_trigger = yes }
			create_artifact = {
				name = nasreddin_book_name
				description = nasreddin_book_desc
				type = book
				visuals = indian_book
				modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
				save_scope_as = nasreddin_book
				save_scope_as = artifact
			}
		}
		else = {
			create_artifact = {
				name = nasreddin_book_name
				description = nasreddin_book_desc
				type = book
				visuals = book
				modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
				save_scope_as = nasreddin_book
				save_scope_as = artifact
			}
		}
		if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:poet
					COURT_POS = court_poet_court_position
				}
			}
			court_position_grant_effect = { POS = court_poet CANDIDATE = scope:poet EMPLOYER = root }
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_honor = 0.75
			}
		}
	}

	option = {
		name = court.4751.f
		trigger = {
			NOT = {
				has_character_flag = pope_joan
			}
		}
		if = {
			limit = { has_character_flag = valmiki }
			add_character_modifier = {
				modifier = compared_to_valmiki
				years = 5
			}
			if = {
				limit = { artifacts_use_indian_books_trigger = yes }
				create_artifact = {
					name = valmiki_book_name
					description = valmiki_book_desc
					type = book
					visuals = indian_book
					modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
					save_scope_as = valmiki_book
					save_scope_as = artifact
				}
			}
			else = {
				create_artifact = {
					name = valmiki_book_name
					description = valmiki_book_desc
					type = book
					visuals = book
					modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
					save_scope_as = valmiki_book
					save_scope_as = artifact
				}
			}
		}
		if = {
			limit = { has_character_flag = caligula }
			add_character_modifier = {
				modifier = compared_to_caligula
				years = 5
			}
			if = {
				limit = { artifacts_use_indian_books_trigger = yes }
				create_artifact = {
					name = caligula_book_name
					description = caligula_book_desc
					type = book
					visuals = indian_book
					modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
					save_scope_as = caligula_book
					save_scope_as = artifact
				}
			}
			else = {
				create_artifact = {
					name = caligula_book_name
					description = caligula_book_desc
					type = book
					visuals = book
					modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
					save_scope_as = caligula_book
					save_scope_as = artifact
				}
			}
		}
		if = {
			limit = { has_character_flag = ruler_hero }
			if = {
				limit = { artifacts_use_indian_books_trigger = yes }
				create_artifact = {
					name = ruler_hero_book_name
					description = ruler_hero_book_desc
					type = book
					visuals = indian_book
					modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
					save_scope_as = ruler_hero_book
					save_scope_as = artifact
				}
			}
			else = {
				create_artifact = {
					name = ruler_hero_book_name
					description = ruler_hero_book_desc
					type = book
					visuals = book
					modifier = artifact_monthly_diplomacy_lifestyle_xp_1_modifier
					save_scope_as = ruler_hero_book
					save_scope_as = artifact
				}
			}
		}
		if = {
			limit = {
				has_character_flag = sinbad
			}
			add_character_modifier = {
				modifier = compared_to_sinbad
				years = 5
			}
			if = {
				limit = { artifacts_use_indian_books_trigger = yes }
				create_artifact = {
					name = sinbad_book_name
					description = sinbad_book_desc
					type = book
					visuals = indian_book
					modifier = artifact_monthly_martial_lifestyle_xp_1_modifier
					save_scope_as = sinbad_hero_book
					save_scope_as = artifact
				}
			}
			else = {
				create_artifact = {
					name = sinbad_book_name
					description = sinbad_book_desc
					type = book
					visuals = book
					modifier = artifact_monthly_martial_lifestyle_xp_1_modifier
					save_scope_as = sinbad_hero_book
					save_scope_as = artifact
				}
			}
		}
		if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:poet
					COURT_POS = court_poet_court_position
				}
			}
			court_position_grant_effect = { POS = court_poet CANDIDATE = scope:poet EMPLOYER = root }
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_sociability = 0.75
			}
		}
	}
	option = {
		name = court.4751.h
		scope:poet = {
			add_opinion = {
				modifier = insulted_opinion
				target = root
			}
		}
		ai_chance = {
			base = 10
			ai_value_modifier = {
				ai_vengefulness = 0.75
			}
		}
	}

	after = {
		if = {
			limit = {
				scope:poet = {
					NOT = { has_court_position = court_poet_court_position }
				}
				is_ai = yes
			}
			scope:poet = { silent_disappearance_effect = yes }
		}
		court_4751_flag_removal_effect = yes
	}
}


##################################################
# Linnea

##################################################
# 5030 - 5039	Playtime
# 5040 - 5049	Pranking Spree
# 5055 - 5059	Colorful Talent
# 5060 - 5069	The Gallant Knight
# 5070 - 5074	Dedicated Tutor
# 5075 - 5079	Gift From Neigh-bor
##################################################

#####################################
# Playtime                          #
# by Linnéa Thimrén                 #
#####################################

#A child is struggling to focus on ruling
court.5030 = {
	type = court_event
	title = court.5030.t
	desc = {
		desc = court.5030.desc_opening
		first_valid = {
			triggered_desc = {
				trigger = { age <= 10 }
				desc = court.5030.desc_young
			}
			desc = court.5030.desc
		}
		desc = court.5030.desc_ending
	}
	theme = court

	court_scene = {
		button_position_character = scope:child
		roles = {
			scope:child = {
				group = event_group
				animation = boredom
			}
		}
	}

	trigger = {
		NOT = { has_character_flag = had_event_court_5030 }
		age >= 4
		age <= 13
		any_courtier = {
			age >= 3
			age <= 13
			has_court_event_flag = no
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		## Admin courts are extra boring.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
	}

	immediate = {
		add_character_flag = {
			flag = had_event_court_5030
			years = 10
		}
		set_favorite_toy_effect = yes
		random_courtier = {
			limit = {
				age >= 3
				age <= 13
			}
			weight = {
				base = 1
				modifier = { #More likely to pick someone closer in age
					add = 5
					age >= root.age_dif_child_down
					age <=  root.age_dif_child_up
				}
			}
			save_scope_as = child
			court_event_character_flag_effect = yes
			set_favorite_toy_effect = yes
		}
	}

	option = { #Join in the game
		name = court.5030.a
		add_prowess_skill = 1
		if = {
			limit = {
				NOT = { has_relation_friend = scope:child }
			}
			progress_towards_friend_effect = {
				REASON = friend_played_with_child
				CHARACTER = scope:child
				OPINION = default_friend_opinion
			}
		}
		else = {
			scope:child = {
				add_opinion = {
					target = root
					modifier = friendliness_opinion
					opinion = 15
				}
			}
		}
		add_stress = minor_stress_loss
	}

	option = { #I have to be serious.
		name = court.5030.b
		add_stewardship_skill = 1
		scope:child = {
			add_opinion = {
				target = root
				modifier = refusal_opinion
				opinion = -10
			}
		}

		add_stress = medium_stress_gain
	}
	after = {
		scope:child = {
			clear_court_event_participation = yes
		}
	}
}



#####################################
# Colorful Talent                   #
# by Linnéa Thimrén                 #
#####################################

scripted_trigger court_5055_child_painter_trigger = {
	is_available_ai_child = yes
	age >= 6
	NOT = { is_player_heir_of = root }
	is_of_major_or_minor_interest_trigger = { CHARACTER = root }
}

#A young courtier is exploring their artistic side - encourage or dissuade?
court.5055 = {
	type = court_event
	title = court.5055.t
	desc = court.5055.desc
	theme = court

	court_scene = {
		button_position_character = scope:painter
		roles = {
			scope:painter = {
				group = event_group
				animation = admiration
			}
		}
	}
	cooldown = { years = 25 }

	trigger = {
		is_available_adult = yes
		any_courtier = {
			court_5055_child_painter_trigger = yes
			has_court_event_flag = no
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		## More likely at courts with more time for non-active pursuits.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
	}

	immediate = {
		random_courtier = {
			limit = {
				court_5055_child_painter_trigger = yes
			}
			save_scope_as = painter
			court_event_character_flag_effect = yes
		}
	}

	option = { #Make them stop
		name = court.5055.a
		scope:painter = {
			add_martial_skill = 1
			add_stewardship_skill = 1
		}
	}

	option = { #Encourage them
		name = court.5055.b
		scope:painter = {
			add_diplomacy_skill = 1
			add_intrigue_skill = 1
		}
	}
	after = {
		scope:painter = {
			clear_court_event_participation = yes
		}
	}
}


#####################################
# The Gallant Knight                #
# by Linnéa Thimrén                 #
#####################################

scripted_trigger court_5060_knight_trigger = {
	is_knight_of = root
	basic_is_available_ai = yes
	NOT = { has_character_flag = was_the_target_of_event_court_5060 }
	exists = var:number_of_impressive_knight_things
}

#A knight has excelled during recent battles (injured or killed enemies) and you are expected to reward them
court.5060 = {
	type = court_event
	title = court.5060.t
	desc = court.5060.desc
	theme = court

	court_scene = {
		button_position_character = scope:knight
		roles = {
			scope:knight = {
				group = event_group
				animation = personality_honorable
			}
		}
	}

	trigger = {
		NOT = { has_character_flag = had_event_court_5060 }
		age >= 10
		has_variable_list = impressive_knights
		any_in_list = {
			variable = impressive_knights
			court_5060_knight_trigger = yes
			has_court_event_flag = no
		}
		any_held_title = {
			title_tier = county
			this != root.capital_county
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			add = 0.5
			any_in_list = {
				variable = impressive_knights
				court_5060_knight_trigger = yes
				var:number_of_impressive_knight_things >= 2
			}
		}
		modifier = {
			add = 1
			any_in_list = {
				variable = impressive_knights
				court_5060_knight_trigger = yes
				var:number_of_impressive_knight_things >= 4
			}
		}

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

	immediate = {
		add_character_flag = {
			flag = had_event_court_5060
			years = 10
		}
		random_in_list = {
			variable = impressive_knights
			limit = {
				court_5060_knight_trigger = yes
			}
			add_character_flag = {
				flag = was_the_target_of_event_court_5060
				years = 10
			}

			weight = {
				base = 1
				modifier = {
					is_acclaimed = yes
					add = 2
				}
				modifier = {
					add = {
						add = var:number_of_impressive_knight_things
						multiply = 2
					}
				}
			}
			save_scope_as = knight
			court_event_character_flag_effect = yes
		}
	}

	option = { # Accolade
		name = court.5060.c
		trigger = {
			scope:knight = {
				is_acclaimed = yes
			}
		}
		scope:knight = {
			accolade_major_glory_gain_with_checks_effect = yes
			add_opinion = {
				target = root
				modifier = friendliness_opinion
				opinion = 20
			}
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = gregarious
				add = 25
			}
		}
	}

	option = { #Give minor title
		trigger = {
			OR = {
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = bodyguard_court_position
				}
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = champion_court_position
				}
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = akolouthos_court_position
				}
			}
		}
		# employ them as champion or bodyguard
		name = {
			trigger = {
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = akolouthos_court_position
				}
			}
			text = court.5060.d.akolouthos
		}
		name = {
			trigger = {
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = champion_court_position
				}
			}
			text = court.5060.d.champion
		}
		name = {
			trigger = {
				NOT = {
					can_appoint_char_to_court_position = {
						CHAR = scope:knight
						COURT_POS = bodyguard_court_position
					}
				}
			}
			text = court.5060.d.bodyguard
		}
		
		if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = akolouthos_court_position
				}
			}
			employ_character_as_position_in_current_scope_court_effect = {
				CHARACTER = scope:knight
				POSITION = akolouthos
			}
		}
		else_if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = champion_court_position
				}
			}
			employ_character_as_position_in_current_scope_court_effect = {
				CHARACTER = scope:knight
				POSITION = champion
			}
		}
		else_if = {
			limit = {
				can_appoint_char_to_court_position = {
					CHAR = scope:knight
					COURT_POS = bodyguard_court_position
				}
			}
			employ_character_as_position_in_current_scope_court_effect = {
				CHARACTER = scope:knight
				POSITION = bodyguard
			}
		}
		scope:knight = {
			accolade_minor_glory_gain_with_checks_effect = yes
		}
		stress_impact = {
			paranoid = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = paranoid
				add = 50
			}
		}
	}

	option = { #Pat on the shoulder - opt out
		name = court.5060.a
		scope:knight = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -20
			}
		}
		ai_chance = {
			base = 50
			modifier = {
				has_trait = arrogant
				add = 25
			}
			modifier = {
				has_trait = vengeful
				add = 25
			}
			modifier = {
				has_trait = greedy
				add = 25
			}
		}
	}
	after = {
		scope:knight = {
			clear_court_event_participation = yes
		}
	}
}

#Maintenance event for the impressive knight variables - variables decrease over time or is removed
court.5061 = {
	hidden = yes

	trigger = {
		exists = var:number_of_impressive_knight_things
	}

	immediate = {
		if = {
			limit = {
				liege = {
					has_variable_list = impressive_knights
					any_in_list = {
						variable = impressive_knights
						this = root
					}
				}
			}
			change_variable = {
				name = number_of_impressive_knight_things
				subtract = 1
			}
			if = {
				limit = {
					var:number_of_impressive_knight_things = 0
				}
				remove_variable = number_of_impressive_knight_things
				liege = {
					remove_list_variable = {
						name = impressive_knights
						target = root
					}
				}
			}
			else = {
				trigger_event = {
					id = court.5061
					years = 4
				}
			}
		}
		else = {
			remove_variable = number_of_impressive_knight_things
		}
	}
}

#####################################
# Dedicated Tutor                   #
# by Linnéa Thimrén                 #
#####################################

#Court tutor asks for more funds
court.5070 = {
	type = court_event
	title = court.5070.t
	desc = court.5070.desc
	theme = court

	court_scene = {
		button_position_character = scope:court_tutor
		roles = {
			scope:court_tutor = {
				group = event_group
				animation = admiration
			}
		}
	}

	trigger = {
		NOT = { has_character_flag = had_event_court_5070 }
		age >= 10
		short_term_gold > medium_gold_value
		employs_court_position = court_tutor_court_position
		any_court_position_holder = {
			type = court_tutor_court_position
			is_available_ai = yes
			has_court_event_flag = no
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
	}

	immediate = {
		add_character_flag = {
			flag = had_event_court_5070
			years = 15
		}
		random_court_position_holder = {
			type = court_tutor_court_position
			limit = {
				is_available_ai = yes
			}
			save_scope_as = court_tutor
			court_event_character_flag_effect = yes
		}
	}

	option = { #Pay to improve the education of all your wards
		name = court.5070.b
		custom_tooltip = court.5070.b.tt
		every_courtier = {
			limit = {
				is_adult = no
				any_relation = {
					type = guardian
					this = root
				}
			}
			hidden_effect = {
				education_point_acquisition_additional_points_effect = { LEVEL = mid }
			}
		}

		remove_short_term_gold = medium_gold_value
		scope:court_tutor = {
			add_opinion = {
				target = root
				modifier = respect_opinion
				opinion = 15
			}
		}
		ai_chance = {
			base = 50
		}
	}

	option = { #nah
		name = court.5070.a
		scope:court_tutor = {
			add_opinion = {
				target = root
				modifier = respect_opinion
				opinion = -10
			}
		}
		ai_chance = {
			base = 10
			modifier = {
				gold < medium_gold_value
				add = 200
			}
			modifier = {
				has_trait = greedy
				add = 30
			}
		}
	}

	after = {
		scope:court_tutor = {
			clear_court_event_participation = yes
		}
		clear_court_event_participation = yes
	}
}

#####################################
# Gift From Neigh-bor               #
# by Linnéa Thimrén                 #
#####################################

# You receive a gift of two palfreys
scripted_trigger court_5075_neighbor_trigger = {
	NOR = {
		has_relation_potential_rival = root
		has_relation_rival = root
		is_at_war_with = root
		is_available_ai_adult = yes
	}
	OR = {
		# They are friendly towards you
		has_relation_potential_friend = root
		has_relation_friend = root
		is_close_or_extended_family_of = root
		# They have reason to fear you
		root = {
			has_dread_level_towards = {
  				target = prev
  				level = 1
  			}
		}
		root = {
			has_dread_level_towards = {
  				target = prev
  				level = 2
  			}
		}
		current_military_strength < root.current_strength_ninety_percent_value
		# They feel indebted
		has_opinion_modifier = {
			modifier = gift_opinion
			target = root
		}
		root = {
			has_hook = prev
		}
	}
}

court.5075 = {
	type = court_event
	title = court.5075.t
	desc = {
		desc = court.5075.desc_opening
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:master_of_the_horse
				}
				desc = court.5075.desc_horse_master
			}
			desc = court.5075.desc
		}
		desc = court.5075.desc_ending
	}
	theme = court
	override_background = {
		reference = courtyard
	}

	court_scene = {
		button_position_character = scope:master_of_the_horse
		roles = {
			scope:neighbor = {
				group = event_group
				animation = admiration
			}
			scope:master_of_the_horse = {
				group = event_group
				animation = happiness
			}
		}
	}

	trigger = {
		NOT = { has_character_flag = had_event_court_5075 }
		age >= 14
		OR = {
			AND = {
				top_liege = this
				any_neighboring_top_liege_realm_owner = {
					court_5075_neighbor_trigger = yes
					has_court_event_flag = no
				}
			}
			AND = {
				top_liege != this
				any_neighboring_realm_same_rank_owner = {
					court_5075_neighbor_trigger = yes
					has_court_event_flag = no
				}
			}
		}
	}

	weight_multiplier = {
		base = 1
		modifier = { #More likely to trigger if you have a Master of the Horse
			add = 0.5
			employs_court_position = master_of_horse_court_position
			any_court_position_holder = {
				type = master_of_horse_court_position
				is_available_ai = yes
				has_court_event_flag = no
			}
		}

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

	immediate = {
		add_character_flag = {
			flag = had_event_court_5075
			years = 10
		}
		if = {
			limit = {
				top_liege = this
			}
			random_neighboring_top_liege_realm_owner = {
				limit = {
					court_5075_neighbor_trigger = yes
				}
				save_scope_as = neighbor
				court_event_character_flag_effect = yes
			}
		}
		else = {
			random_neighboring_realm_same_rank_owner = {
				limit = {
					court_5075_neighbor_trigger = yes
				}
				save_scope_as = neighbor
				court_event_character_flag_effect = yes
			}
		}
		if = {
			limit = {
				employs_court_position = master_of_horse_court_position
				any_court_position_holder = {
					type = master_of_horse_court_position
					is_available_ai = yes
				}
			}
			random_court_position_holder = {
				type = master_of_horse_court_position
				limit = {
					is_available_ai = yes
				}
				save_scope_as = master_of_the_horse
				court_event_character_flag_effect = yes
			}
		}

		random_dummy_gender_effect = yes #for horse gender
	}

	option = { # give them to the court
		name = court.5075.a
		change_current_court_grandeur = medium_court_grandeur_gain
		if = {
			limit = {
				government_allows = administrative
			}
			change_influence = minor_influence_gain
		}
		else = {
			add_prestige = minor_prestige_gain
		}
		scope:neighbor = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 15
			}
		}
		stress_impact = {
			brave = minor_stress_impact_gain
			arrogant = medium_stress_impact_gain
			greedy = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
		}
	}

	option = { # Warhorse
		name = court.5075.c
		trigger = {
			NOT = {
				any_owned_story = { type = story_cycle_martial_lifestyle_warhorse }
			}
		}
		add_prestige = medium_prestige_gain
		duel = {
			skill = prowess
			value = average_skill_rating
			15 = { # You tame the horse
				desc = court.5075.c.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 2
				}
				send_interface_toast = {
					title = court.5075.c.success
					left_icon = root
					start_warhorse_story_cycle_effect = yes
				}
				#To assign the correct gender to the horse
				random_owned_story = {
					type = story_cycle_martial_lifestyle_warhorse
					if = {
						limit = { scope:dummy_gender = { is_female = yes } }
						assign_horse_gender_effect = { GENDER = female }
					}
					else = {
						assign_horse_gender_effect = { GENDER = male }
					}
				}
			}
			6 = { # The horse kicks your ass
				desc = court.5075.c.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -0.5
				}
				send_interface_toast = {
					title = court.5075.c.failure
					left_icon = root
					increase_wounds_effect = {
						REASON = horse_riding_accident
					}
				}
			}
		}
		scope:neighbor = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 30
			}
		}
		stress_impact = {
			craven = major_stress_impact_gain
			paranoid = medium_stress_impact_gain
			generous = minor_stress_impact_gain
		}
		ai_chance = {
			base = 200
		}
	}

	option = { # Opt out - Sell them
		name = court.5075.b
		add_gold = medium_gold_value
		scope:neighbor = {
			add_opinion = {
				target = root
				modifier = insulted_opinion
				opinion = -20
			}
		}
		stress_impact = {
			greedy = medium_stress_impact_loss
		}
		ai_chance = {
			base = 75
		}
	}

	after = {
		scope:neighbor = {
			clear_court_event_participation = yes
		}
		scope:master_of_the_horse ?= {
			clear_court_event_participation = yes
		}
	}
}

##################################################
# Claudia

##################################################
# 6000 - 6009	Secret History
# 6010 - 6019	Prophet in the Halls
# 6020 - 6029	Possession at Court
# 6030 - 6039	The Ballad of the Garlic King
# 6040 - 6049	Scrounger Life
# 6050 - 6059	Saucy Readings
# 6060 - 6069	The Joys of Wine
# 6070 - 6079	The Value of Letters
# 6080			The Munificence of X
# 6090			The Art of Rhetoric
##################################################

#########################
# Secret History		#
# by Claudia Baldassi	#
# 6000-6003				#
#########################

scripted_trigger court_6000_has_valid_secret_trigger = {
	NOT = { is_known_by = root }
	OR = {
		secret_type = secret_lover
		secret_type = secret_deviant
		secret_type = secret_murder
	}
}

# A book detailing the nefarious deeds of your predecessor and their court is being circulated at your court. #

court.6000 = {
	type = court_event
	title = court.6000.t
	desc = {
		desc = court.6000.desc_opening
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:courtier = {
						is_close_or_extended_family_of = root
					}
				}
				desc = court.6000.desc_family
			}
			desc = court.6000.desc_liege
		}
		desc = court.6000.desc_ending
	}
	theme = court

	court_scene = {
		button_position_character = scope:courtier
		roles = {
			scope:courtier = {
				group = event_group
				animation = shame
			}
			root = {
				group = event_group
				animation = shock
			}
		}
	}

	trigger = {
		has_court_event_flag = no
		primary_title.tier >= tier_duchy
		exists = primary_title.previous_holder
		primary_title.previous_holder = {
			is_alive = no
			dynasty = root.dynasty
			prestige_level >= 3
			highest_held_title_tier >= tier_duchy
		}
		age >= 14
		any_courtier = {
			count >= 2
			age >= 14
			has_court_event_flag = no
		}
		any_courtier = {
			learning >= 12
			intrigue >= 7
			is_adult = yes
		}
		NOR = {
			has_trait = blind
			has_character_flag = court_6000_cooldown
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
	}

	immediate = {
		court_event_character_flag_effect = yes
		add_character_flag = {
			flag = court_6000_cooldown
			years = 20
		}
		random_courtier = {
			limit = {
				learning >= 12
				intrigue >= 7
				is_adult = yes
			}
			save_scope_as = author
		}
		random_courtier_or_guest = {
			limit = {
				age >= 14
				this != scope:author
			}
			save_scope_as = courtier
			court_event_character_flag_effect = yes
		}
		if = {
			limit = {
				primary_title.previous_holder = {
					this != root
				}
			}
			primary_title.previous_holder = {
				save_scope_as = predecessor
			}
		}
		if = {
			limit = {
				exists = cp:councillor_spymaster
			}
			cp:councillor_spymaster = {
				save_scope_as = spymaster
			}
		}
	}

	# Option A: Outrageous! Investigate who wrote it (has spymaster)
	option = {
		trigger = {
			exists = scope:spymaster
		}
		name = court.6000.a
		custom_tooltip = court.6000.a.tt
		add_stress = minor_stress_gain
		scope:spymaster = {
			set_council_task = {
				task_type = task_find_secrets
				target = root
			}
		}
		trigger_event = {
			id = court.6001
			days = { 96 196 }
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_energy = 0.5
				ai_rationality = 0.5
				ai_vengefulness = 1
			}
		}
	}

	# Option E: Outrageous, but without a sypmaster
	option = {
		name = court.6000.a
		trigger = {
			NOT = {
				exists = cp:councillor_spymaster
			}
		}
		add_stress = minor_stress_gain
		custom_tooltip = court.6000.e.tt
		trigger_event = {
			id = court.6004
			days = { 96 196 }
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_energy = 0.5
				ai_rationality = 0.5
				ai_vengefulness = 1
			}
		}
	}

	# Option D: Opt out - You really don't care
	option = {
		name = court.6000.d
		dynasty = { add_dynasty_prestige = minor_dynasty_prestige_loss }
		stress_impact = {
			base = minor_stress_impact_loss
		}
		ai_chance = {
			base = 75
			ai_value_modifier = {
				ai_energy = -0.5
			}
		}
	}

	after = {
		scope:courtier = {
			clear_court_event_participation = yes
		}
		clear_court_event_participation = yes
	}
}

court.6001 = {
	type = character_event
	hidden = yes

	immediate = {
		scope:spymaster = {
			duel = {
				skill = intrigue
				target = scope:author
				50 = { #success
					compare_modifier = {
						value = scope:duel_value
						multiplier = 3.5
					}
					trigger_event = court.6002
				}
				50 = { #failure
					compare_modifier = {
						value = scope:duel_value
						multiplier = -3.5
					}
					trigger_event = court.6003
				}
			}
		}
	}
}

court.6002 = {
	title = court.6000.t
	type = character_event
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:spymaster
				}
				desc = court.6002.desc
			}
			desc = court.6002.b.desc_opening
		}
		desc = court.6002.b.desc_ending
	}
	theme = court
	left_portrait = {
		character = root
		animation = anger
	}
	right_portrait = {
		character = scope:author
		animation = shame
	}

	# Option A: Force to recant
	option = {
		name = court.6002.a
		flavor = court.6002.a.tt
		dynasty = { add_dynasty_prestige = minor_dynasty_prestige_gain }
		add_dread = medium_dread_gain
		custom_tooltip = court.6002.a.tt2
		add_character_flag = {
			flag = court_of_no_secrets
			years = 15
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_vengefulness = 1
			}
		}
	}

	#Option D: forgive the author
	option = {
		name = court.6002.d
		change_current_court_grandeur = minor_court_grandeur_gain
		scope:author = {
			create_inspiration = book_inspiration
			add_opinion = {
				target = root
				modifier = forgiven_opinion
			}
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_vengefulness = -1
			}
		}
	}
}

court.6003 = {
	title = court.6000.t
	type = character_event
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:spymaster
				}
				desc = court.6003.desc
			}
			desc = court.6002.b.desc_opening
		}
		desc = court.6003.b.desc_ending
	}
	theme = court
	left_portrait = {
		character = root
		animation = disapproval
	}
	right_portrait = {
		trigger = {
			exists = scope:spymaster
		}
		character = scope:spymaster
		animation = shame
	}

	#Option B: disappointed
	option = {
		name = court.6003.b
		add_intrigue_lifestyle_xp = medium_lifestyle_xp
		add_stress = medium_stress_gain
	}
}

court.6004 = {
	type = character_event
	hidden = yes

	immediate = {
		duel = {
			skill = intrigue
			target = scope:author
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 0.5
				}
				trigger_event = court.6002
			}
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -0.5
				}
				trigger_event = court.6003
			}
		}
	}
}

#############################
# Prophet in the Halls		#
# by Claudia Baldassi		#
# 6010-6011					#
#############################

scripted_trigger court_6010_valid_preacher_trigger = {
	is_available_ai_adult = yes
	has_trait = zealous
	faith = scope:target_county.faith
}

# A guest of a different faith has been preaching their beliefs at court a bit too enthusiastically. #

court.6010 = {
	type = court_event
	title = court.6010.t
	desc = court.6010.desc
	theme = court

	court_scene = {
		button_position_character = scope:preacher
		roles = {
			scope:preacher = {
				group = event_group
				animation = personality_zealous
			}
			root = {
				group = event_group
				animation = disapproval
			}
		}
	}

	cooldown = { years = 20 }

	trigger = {
		has_court_event_flag = no
		cp:councillor_court_chaplain ?= {
			is_performing_council_task = task_conversion
			councillor_task_target = {
				NOR = {
					faith = root.faith
					faith = root.capital_county.faith
					faith = { has_doctrine = doctrine_pluralism_pluralistic }
				}
			}
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
	}

	immediate = {
		court_event_character_flag_effect = yes
		cp:councillor_court_chaplain = { save_scope_as = chaplain }
		scope:chaplain.councillor_task_target.county = { save_scope_as = target_county }

		random_courtier_or_guest = {
			limit = {
				court_6010_valid_preacher_trigger = yes
			}
			save_scope_as = preacher
		}
		if = {
			limit = {
				NOT = { exists = scope:preacher }
			}
			create_character = {
				location = root.location
				template = preacher_template
				faith = scope:target_county.faith
				culture = scope:target_county.culture
				save_scope_as = preacher
			}
		}
		scope:preacher = { court_event_character_flag_effect = yes }
		# Save the preacher's "liege"
		scope:target_county.holder ?= {
			save_scope_as = preacher_liege
		}
		every_realm_county = {
			limit = {
				faith = scope:preacher.faith
			}
			add_to_list = preacher_faith_counties
		}
		save_scope_value_as = {
			name = preacher_faith_counties_size
			value = list_size:preacher_faith_counties
		}
	}

	#OPTION C: Imprison them
	option = {
		name = court.6010.c
		rightfully_imprison_character_effect = {
			TARGET = scope:preacher
			IMPRISONER = root
		}
		if = {
			limit = {
				exists = scope:preacher_liege
				scope:preacher_liege = {
					this != root
					faith = scope:preacher.faith
					is_ai = yes
				}
			}
			custom_tooltip = court.6010.c.tt
			trigger_event = {
				id = court.6011
				days = 5
			}
		}
		custom_tooltip = court.6010.c.tt2
		set_variable = {
			name = 6010_harsh_conversion
			value = scope:preacher.faith
			years = 20
		}
		every_in_list = {
			list = preacher_faith_counties
			custom = court.6010.a_every_county
			change_county_control = -15
		}
		every_courtier_or_guest = {
			limit = {
				faith = scope:preacher.faith
			}
			custom = court_6010_all_courtiers_and_guests_faith
			add_opinion = {
				target = root
				modifier = impious_opinion
				opinion = -20
			}
		}
		stress_impact = {
			cynical = medium_stress_impact_gain
			compassionate = medium_stress_impact_gain
			gregarious = medium_stress_impact_gain
			just = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_zeal = 1
			}
		}
	}

	#OPTION A: Let them be
	option = {
		name = court.6010.a
		#you are tolerant and open-minded
		change_current_court_grandeur = medium_court_grandeur_gain
		custom_tooltip = court.6010.c.tt3
		set_variable = {
			name = 6010_tolerant_conversion
			value = scope:preacher.faith
			years = 20
		}
		every_in_list = {
			list = preacher_faith_counties
			custom = court.6010.a_every_county
			change_county_control = 15
		}
		every_courtier_or_guest = {
			limit = {
				faith = scope:preacher.faith
			}
			custom = court_6010_all_courtiers_and_guests_faith
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 20
			}
		}
		stress_impact = {
			zealous = major_stress_impact_gain
			patient = medium_stress_impact_gain
			wrathful = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_zeal = -1
			}
		}
	}

	after = {
		clear_court_event_participation = yes
		scope:preacher = {
			clear_court_event_participation = yes
		}
	}
}

court.6011 = {
	type = letter_event
	opening = {
		desc = court.6011.desc_opening
	}
	desc = court.6011.desc_prisoner
	sender = scope:preacher_liege

	#Option A: sorry for the diplomatic blunder - offer repayment
	option = {
		name = court.6011.a
		trigger = {
			can_make_expensive_purchase_trigger = {
				PRICE = root.minor_gold_value
			}
		}
		if = {
			limit = {
				government_allows = administrative
			}
			change_influence = medium_influence_gain
		}
		else = {
			add_prestige = medium_prestige_gain
		}
		pay_short_term_gold = {
			target = scope:preacher_liege
			gold = minor_gold_value
		}
		scope:preacher_liege = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 20
			}
		}
		stress_impact = {
			greedy = medium_stress_impact_gain
			arrogant = medium_stress_impact_gain
			zealous = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = greedy
				add = -25
			}
			modifier = {
				has_trait = arrogant
				add = -25
			}
			modifier = {
				has_trait = zealous
				add = -25
			}
			modifier = {
				has_trait = humble
				add = 50
			}
		}
	}

	#Option B: reiterate that their religion is not welcome at your court
	option = {
		name = court.6011.b
		add_piety = medium_piety_gain
		scope:preacher_liege = {
			add_opinion = {
				target = root
				modifier = insult_opinion
				opinion = -20
			}
		}
		stress_impact = {
			humble = medium_stress_impact_gain
			compassionate = medium_stress_impact_gain
			cynical = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = humble
				add = -25
			}
			modifier = {
				has_trait = compassionate
				add = -25
			}
			modifier = {
				has_trait = zealous
				add = 25
			}
			modifier = {
				has_trait = arrogant
				add = 25
			}
		}
	}
}

#############################
# Possession at Court		#
# by Claudia Baldassi		#
# 6020						#
#############################

# A possessed courtier is scaring your more religion-oriented courtiers. #

court.6020 = {
	type = court_event
	title = court.6020.t
	desc = {
		desc = court.6020.desc_opening
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:court_chaplain
				}
				desc = court.6020.desc_chaplain
			}
			desc = court.6020.desc_no_chaplain
		}
		desc = court.6020.desc_middle
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:court_physician
				}
				desc = court.6020.desc_physician
			}
			desc = court.6020.desc_no_physician
		}
		desc = court.6020.desc_ending
	}
	theme = court

	court_scene = {
		button_position_character = scope:possessed_char
		roles = {
			scope:possessed_char = {
				group = event_group
				animation = worry
			}
			scope:court_chaplain = {
				group = event_group
				animation = disgust
			}
			scope:court_physician = {
				group = event_group
				animation = disbelief
			}
		}
	}

	trigger = {
		any_courtier_or_guest = {
			OR = {
				has_trait = possessed_1
				has_trait = possessed_genetic
			}
			has_court_event_flag = no
		}
		NOT = {
			has_character_flag = court_6020_cooldown
		}
		# Chaplain & physician don't both have to exist, but can't be the same thing.
		cp:councillor_court_chaplain ?= {
			NOT = { has_court_position = court_physician_court_position }
		}
		has_court_type = court_scholarly
	}

	weight_multiplier = {
		base = 0.5
		modifier = {
			exists = cp:councillor_court_chaplain
			add = 0.5
		}
		modifier = {
			employs_court_position = court_physician_court_position
			add = 0.5
		}
		modifier = {
			has_trait = lifestyle_physician
			add = 0.5
		}
		modifier = {
			has_trait = theologian
			add = 0.5
		}
		modifier = {
			has_trait = whole_of_body
			add = 0.5
		}
	}

	immediate = {
		add_character_flag = {
			flag = court_6020_cooldown
			years = 20
		}
		random_courtier_or_guest = {
			limit = {
				has_trait = possessed
			}
			save_scope_as = possessed_char
			court_event_character_flag_effect = yes
		}
		if = {
			limit = {
				exists = cp:councillor_court_chaplain
			}
			cp:councillor_court_chaplain = {
				save_scope_as = court_chaplain
				court_event_character_flag_effect = yes
			}
		}
		if = {
			limit = {
				court_physician_available_trigger = yes
			}
			save_court_physician_as_effect = { SCOPE_NAME = court_physician }
			scope:court_physician = {
				court_event_character_flag_effect = yes
			}
		}
	}

	# Option A: Court chaplain exorcizes them - limited to christians
	option = {
		name = court.6020.a
		trigger = {
			exists = scope:court_chaplain
			OR = { scope:court_chaplain.religion = religion:eastern_orthodox_religion scope:court_chaplain.religion = religion:catholic_religion scope:court_chaplain.religion = religion:protestant_religion }
			OR = { root.religion = religion:eastern_orthodox_religion root.religion = religion:catholic_religion root.religion = religion:protestant_religion }
		}
		add_piety = minor_piety_gain
		scope:court_chaplain = {
			duel = {
				skill = learning
				target = scope:possessed_char
				10 = {
					desc = court.6020.a.success
					compare_modifier = {
						value = scope:duel_value
						multiplier = 1
					}
					send_interface_toast = {
						title = court.6020.a.success
						custom_tooltip = court.6020.a.success.tt
						change_current_court_grandeur = major_court_grandeur_gain
					}
				}
				15 = {
					desc = court.6020.a.failure
					compare_modifier = {
						value = scope:duel_value
						multiplier = -1
					}
					send_interface_toast = {
						title = court.6020.a.failure
						custom_tooltip = court.6020.a.failure.tt
						change_current_court_grandeur = medium_court_grandeur_loss
					}
				}
			}
		}
		ai_chance = {
			base = 150
			ai_value_modifier = {
				ai_zeal = 1
				ai_rationality = -1
			}
		}
	}

	# Option B: it is a sign of the favor of the gods - limited to non-monotheistic
	option = {
		name = court.6020.b
		trigger = {
			NOR = {
				root.religion = { is_in_family = rf_abrahamic }
				scope:court_chaplain ?= {
					religion = {
						is_in_family = rf_abrahamic
					}
				}
				has_trait = cynical
				faith = {
					OR = {
						trait_is_sin = possessed_1
						trait_is_sin = possessed_genetic
					}
				}
			}
		}
		add_piety = medium_piety_gain
		scope:possessed_char = {
			add_character_modifier = possessed_prophetic_visions
		}
		custom_tooltip = court.6020.b.tt
		change_current_court_grandeur = medium_court_grandeur_gain
		ai_chance = {
			base = 150
			ai_value_modifier = {
				ai_zeal = 1
				ai_rationality = -1
			}
		}
	}

	# Option E: it's just a disease - court physician
	option = {
		name = court.6020.e
		trigger = {
			exists = scope:court_physician
		}
		if = {
			limit = {
				OR = {
					root.religion = religion:islam_religion
					root.religion = { is_in_family = rf_eastern }
				}
			}
			add_learning_lifestyle_xp = major_lifestyle_xp
		}
		change_current_court_grandeur = major_court_grandeur_gain
		scope:possessed_char = {
			add_character_modifier = court_possessed_improved_condition_modifier
		}
		scope:possessed_char = {
			add_opinion = {
				target = root
				modifier = grateful_opinion
				opinion = 60
			}
		}
		ai_chance = {
			base = 150
			ai_value_modifier = {
				ai_zeal = -1
				ai_rationality = 1
			}
		}
	}

	# Option F: opt out - don't bother me
	option = {
		name = court.6020.f
		add_prestige = minor_prestige_loss
		stress_impact = {
			base = minor_stress_impact_loss
		}
		ai_chance = {
			base = 75
			modifier = {
				has_trait = lazy
				add = 50
			}
		}
	}

	after = {
		scope:possessed_char = {
			clear_court_event_participation = yes
		}
		if = {
			limit = { exists = scope:court_chaplain }
			scope:court_chaplain = {
				clear_court_event_participation = yes
			}
		}
		if = {
			limit = { exists = scope:court_physician }
			scope:court_physician = {
				clear_court_event_participation = yes
			}
		}
	}
}

#########################
# Saucy Readings		#
# by Claudia Baldassi	#
# 6050					#
#########################

scripted_trigger court_6050_valid_courtier_trigger = {
	is_available_ai_adult = yes
	has_court_event_flag = no
	NOR = {
		has_trait = chaste
		is_councillor_of = root
	}
	NOT = {
		faith = { trait_is_virtue = lustful }
	}
	might_cheat_on_every_partner_trigger = yes
}

# Some "compromising" literature is circulating at court #

court.6050 = {
	type = court_event
	title = court.6050.t
	desc = {
		desc = court.6050.desc_opening
		first_valid = {
			triggered_desc = {
				trigger = {
					OR = {
						root.culture = { has_cultural_pillar = language_greek }
						root.culture = { has_cultural_pillar = heritage_byzantine }
					}
				}
				desc = court.6050.desc_byz
			}
			triggered_desc = {
				trigger = {
					OR = {
						root.culture = { has_cultural_pillar = language_arabic }
						root.culture = { has_cultural_pillar = language_iranian }
						root.culture = { has_cultural_pillar = heritage_iranian }
						root.culture = { has_cultural_pillar = heritage_arabic }
					}
				}
				desc = court.6050.desc_islam
			}
			triggered_desc = {
				trigger = {
					OR = {
						root.culture = { has_cultural_pillar = language_french }
						root.culture = { has_cultural_pillar = language_occitano_romance }
						root.culture = { has_cultural_pillar = heritage_latin }
					}

				}
				desc = court.6050.desc_sonetti
			}
			triggered_desc = {
				trigger = {
					OR = {
						root.culture = { has_cultural_pillar = language_anglic }
						root.culture = { has_cultural_pillar = language_saxon }
					}
				}
				desc = court.6050.desc_chaucer
			}
			triggered_desc = {
				trigger = { always = yes }
				desc = court.6050.desc_generic		#fallback option (mostly for other christians)
			}
		}
		desc = court.6050.desc_ending
	}
	theme = court

	court_scene = {
		button_position_character = scope:courtier
		roles = {
			scope:courtier = {
				group = event_group
				animation = throne_room_writer
			}
			root = {
				group = event_group
				animation = shock
			}
			scope:court_chaplain = {
				group = event_group
				animation = disapproval
			}
		}
	}

	trigger = {
		has_court_event_flag = no
		exists = cp:councillor_court_chaplain
		cp:councillor_court_chaplain = {
			is_available_ai_adult = yes
			has_court_event_flag = no
		}
		is_adult = yes
		NOT = {
			faith = { trait_is_virtue = lustful }
		}
		any_courtier = { court_6050_valid_courtier_trigger = yes }
	}

	weight_multiplier = {
		base = 1
		modifier = {
			has_lifestyle = intrigue_lifestyle
			add = 0.5
		}
		modifier = {
			has_lifestyle = learning_lifestyle
			add = 0.5
		}

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
	}

	immediate = {
		court_event_character_flag_effect = yes
		cp:councillor_court_chaplain = {
			save_scope_as = court_chaplain
			court_event_character_flag_effect = yes
		}
		random_courtier = {
			limit = {
				has_trait = lustful
				court_6050_valid_courtier_trigger = yes
			}
			alternative_limit = { court_6050_valid_courtier_trigger = yes }
			save_scope_as = courtier
			court_event_character_flag_effect = yes
		}
	}

	# Option B: purify them all with fire!
	option = {
		name = court.6050.b
		flavor = court.6050.b.tt
		add_dread = major_dread_gain
		add_piety = major_piety_gain
		custom_tooltip = court.6050.b.tt.2
		add_character_flag = {
			flag = burned_indecent_books
			years = 20
		}
		scope:court_chaplain = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 30
			}
		}

		stress_impact = {
			compassionate = medium_stress_impact_gain
			patient = medium_stress_impact_gain
			scholar = major_stress_impact_gain
			cynical = major_stress_impact_gain
		}
		ai_chance = {
			base = 200
			modifier = {
				has_trait = compassionate
				add = -25
			}
			modifier = {
				has_trait = patient
				add = -25
			}
			modifier = {
				has_trait = scholar
				add = -50
			}
			modifier = {
				has_trait = cynical
				add = -50
			}
		}
	}

	# Option C: culture is culture - let them read
	option = {
		name = court.6050.c
		add_learning_lifestyle_xp = major_lifestyle_xp
		if = {
			limit = {
				has_court_type = court_scholarly
			}
			change_current_court_grandeur = major_court_grandeur_gain
		}
		else = {
			change_current_court_grandeur = minor_court_grandeur_gain
		}
		custom_tooltip = court.6050.c.tt
		add_character_flag = {
			flag = supported_indecent_books
			years = 20
		}

		stress_impact = {
			zealous = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_zeal = -1
			}
		}
	}

	# Option D: you really get into it
	option = {
		name = court.6050.d
		add_intrigue_lifestyle_xp = major_lifestyle_xp
		add_character_modifier = {
			modifier = confident_lover
			years = 15
		}
		scope:court_chaplain = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -20
			}
		}
		stress_impact = {
			chaste = major_stress_impact_gain
			zealous = major_stress_impact_gain
			celibate = massive_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_zeal = -0.5
			}
			modifier = {
				has_trait = chaste
				add = -100
			}
			modifier = {
				has_trait = celibate
				add = -200
			}
		}
	}

	#Option F: opt out - move on
	option = {
		name = court.6050.f
		add_piety = minor_piety_gain
		stress_impact = {
			zealous = medium_stress_impact_gain
			chaste = medium_stress_impact_gain
			fickle = medium_stress_impact_loss
			lazy = medium_stress_impact_loss
		}
		ai_chance = {
			base = 75
			modifier = {
				has_trait = zealous
				add = -25
			}
			modifier = {
				has_trait = chaste
				add = -25
			}
			modifier = {
				has_trait = lazy
				add = 25
			}
		}
	}
	after = {
		clear_court_event_participation = yes
		scope:courtier = {
			clear_court_event_participation = yes
		}
		scope:court_chaplain = {
			clear_court_event_participation = yes
		}
	}
}

#########################
# The Joys of Wine		#
# by Claudia Baldassi	#
# 6060					#
#########################

# Your chaplain preaches against wine; your physician (and the court drunkard!) disagrees #

court.6060 = {
	type = court_event
	title = court.6060.t
	desc = {
		desc = court.6060.desc_opening
		triggered_desc = {
			trigger = {
				exists = scope:courtier_drunkard
			}
			desc = court.6060.desc_drunkard_courtier
		}
		desc = court.6060.desc_ending
	}
	theme = court

	court_scene = {
		button_position_character = scope:court_chaplain
		roles = {
			scope:court_chaplain = {
				group = event_group
				animation = disapproval
			}
			scope:courtier_drunkard = {
				group = event_group
				animation = rage
			}
			scope:court_physician = {
				group = event_group
				animation = anger
			}
		}
	}

	trigger = {
		is_adult = yes
		OR = {
			OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
			AND = {
				religion = religion:islam_religion
				culture = { has_cultural_pillar = heritage_iranian }
			}
		}
		employs_court_position = court_physician_court_position
		exists = cp:councillor_court_chaplain
		cp:councillor_court_chaplain = {
			has_court_event_flag = no
			NOT = { has_court_position = court_physician_court_position }
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
	}

	immediate = {
		cp:councillor_court_chaplain = {
			save_scope_as = court_chaplain
		}
		save_court_physician_as_effect = { SCOPE_NAME = court_physician }
		scope:court_physician = {
			court_event_character_flag_effect = yes
		}
		if = {
			limit = {
				any_courtier_or_guest = {
					has_trait = drunkard
					NOR = {
						this = scope:court_physician
						this = scope:court_chaplain
					}
				}
			}
			random_courtier_or_guest = {
				limit = {
					has_trait = drunkard
					NOR = {
						this = scope:court_physician
						this = scope:court_chaplain
					}
				}
				save_scope_as = courtier_drunkard
				court_event_character_flag_effect = yes
			}
		}
	}

	#Option A: side with the chaplain
	option = {
		name = court.6060.a
		add_character_modifier = {
			modifier = court_no_wine_modifier
			days = 3650
		}
		add_piety = medium_piety_gain
		scope:court_chaplain = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 30
			}
		}
		scope:court_physician = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -15
			}
		}
		if = {
			limit = {
				exists = scope:courtier_drunkard
			}
			scope:courtier_drunkard = {
				add_opinion = {
					target = root
					modifier = disappointed_opinion
					opinion = -30
				}
			}
		}
		stress_impact = {
			cynical = medium_stress_impact_gain
			gluttonous = major_stress_impact_gain
			lifestyle_reveler = major_stress_impact_gain
			drunkard = massive_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = cynical
				add = -25
			}
			modifier = {
				has_trait = gluttonous
				add = -50
			}
			modifier = {
				has_trait = lifestyle_reveler
				add = -75
			}
			modifier = {
				has_trait = drunkard
				add = -100
			}
		}
	}

	#Option B: side with the physician
	option = {
		name = court.6060.b
		add_character_modifier = {
			modifier = court_moderate_drinking_modifier
			days = 3650
		}
		add_prestige = medium_prestige_gain
		scope:court_physician = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 30
			}
		}
		scope:court_chaplain = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -15
			}
		}
		if = {
			limit = {
				exists = scope:courtier_drunkard
			}
			scope:courtier_drunkard = {
				add_opinion = {
					target = root
					modifier = disappointed_opinion
					opinion = -15
				}
			}
		}
		stress_impact = {
			zealous = medium_stress_impact_gain
			gluttonous = medium_stress_impact_gain
			lifestyle_reveler = medium_stress_impact_gain
			drunkard = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = zealous
				add = -25
			}
			modifier = {
				has_trait = gluttonous
				add = -25
			}
			modifier = {
				has_trait = lifestyle_reveler
				add = -25
			}
			modifier = {
				has_trait = drunkard
				add = -75
			}
			modifier = {
				has_trait = lifestyle_physician
				add = 75
			}
			modifier = {
				has_trait = temperate
				add = 75
			}
		}
	}

	#Option C: side with the drunkard
	option = {
		name = court.6060.c
		flavor = court.6060.c.tt
		trigger = {
			exists = scope:courtier_drunkard
		}
		add_character_modifier = {
			modifier = rivers_of_wine_modifier
			years = 10
		}
		custom_tooltip = court.6060.c.tt.2
		if = {
			limit = {
				can_be_drunkard = yes
			}
			random = {
				chance = 25
				add_trait = drunkard
			}
		}
		scope:courtier_drunkard = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 30
			}
		}
		if = {
			limit = {
			    NOT = { has_relation_friend = scope:courtier_drunkard }
			}
			progress_towards_friend_effect = {
				REASON = friend_took_side_in_dispute
			    CHARACTER = scope:courtier_drunkard
			    OPINION = 0
			}
		}
		scope:court_chaplain = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -30
			}
		}
		scope:court_physician = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -30
			}
		}
		stress_impact = {
			base = medium_stress_impact_loss
			zealous = medium_stress_impact_gain
			temperate = major_stress_impact_gain
			lifestyle_physician = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = drunkard
				add = 100
			}
			modifier = {
				has_trait = zealous
				add = -25
			}
			modifier = {
				has_trait = temperate
				add = -50
			}
			modifier = {
				has_trait = lifestyle_physician
				add = -50
			}
		}
	}

	after = {
		if = {
			limit = {
				exists = scope:courtier_drunkard
			}
			scope:courtier_drunkard = {
				clear_court_event_participation = yes
			}
		}
		scope:court_chaplain = {
			clear_court_event_participation = yes
		}
		scope:court_physician = {
			clear_court_event_participation = yes
		}
	}
}

#############################
# The Value of Letters		#
# by Claudia Baldassi		#
# 6070-6072					#
#############################

# Your courtiers are dissatisfied with you being completely illiterate. How do you react? #

court.6070 = {
	type = court_event
	title = court.6070.t
	desc = court.6070.desc
	theme = court

	court_scene = {
		button_position_character = scope:tutor_6070
		roles = {
			scope:tutor_6070 = {
				group = event_group
				animation = personality_rational
			}
			root = {
				group = event_group
				triggered_animation = {
					trigger = {
						OR = {
							has_trait = arrogant
							has_trait = stubborn
						}
					}
					animation = personality_bold
				}
				triggered_animation = {
					trigger = {
						NOR = {
							has_trait = arrogant
							has_trait = stubborn
						}
					}
					animation = shame
				}
				animation = shame
			}
		}
	}

	trigger = {
		has_court_event_flag = no
		OR = {
			learning < low_skill_rating
			has_trait = intellect_bad
			has_trait = dull
		}
		NOT = {
			has_trait = blind
		}
		is_adult = yes
		OR = {
			exists = cp:councillor_court_chaplain
			AND = {
				employs_court_position = court_tutor_court_position
				any_court_position_holder = {
					type = court_tutor_court_position
					is_available_ai_adult = yes
					has_court_event_flag = no
				}
			}
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
	}

	immediate = {
		court_event_character_flag_effect = yes
		if = {
			limit = {
				employs_court_position = court_tutor_court_position
				any_court_position_holder = {
					type = court_tutor_court_position
					is_available_ai_adult = yes
				}
			}
			random_court_position_holder = {
				type = court_tutor_court_position
				limit = { is_available_ai_adult = yes }
				save_scope_as = tutor_6070
				court_event_character_flag_effect = yes
			}
		}
		else = {
			cp:councillor_court_chaplain = {
				save_scope_as = tutor_6070
				court_event_character_flag_effect = yes
			}
		}
	}

	#Option A: Get your court chaplain/court tutor to teach you (or try to...)
	option = {
		name = court.6070.a
		random_list = {
			1 = {
				desc = court.6070.a.success
				modifier = {
					factor = 2
					scope:tutor_6070.learning > root.learning
				}
				modifier = {
					factor = 3
					has_trait = diligent
				}
				modifier = {
					factor = 3
					scope:tutor_6070 = { has_trait = scholar }
				}
				modifier = {
					factor = 2
					scope:tutor_6070 = {
						has_education_learning_trigger = yes
					}
				}
				modifier = {
					factor = 1.5
					has_trait = patient
				}
				modifier = {
					factor = 2
					has_trait = ambitious
				}
				modifier = {
					factor = 1.5
					has_trait = intellect_good_1
				}
				modifier = {
					factor = 2
					has_trait = intellect_good_2
				}
				modifier = {
					factor = 3
					has_trait = intellect_good_3
				}
				trigger_event = {
					id = court.6071
					days = 100
				}
				custom_tooltip = court.6070.a.tt.1
				show_as_tooltip = {
					add_stress = minor_stress_loss
					add_prestige = medium_prestige_gain
					add_learning_skill = 1
				}
			}
			1 = {
				desc = court.6070.a.failure
				modifier = {
					factor = 2
					scope:tutor_6070.learning <= root.learning
				}
				modifier = {
					factor = 4
					has_trait = lazy
				}
				modifier = {
					factor = 2
					has_trait = fickle
				}
				modifier = {
					factor = 2
					has_trait = impatient
				}
				modifier = {
					factor = 2
					has_trait = content
				}
				modifier = {
					factor = 4
					has_trait = irritable
				}
				modifier = {
					factor = 1.5
					has_trait = intellect_bad_1
				}
				modifier = {
					factor = 2
					has_trait = intellect_bad_2
				}
				modifier = {
					factor = 3
					has_trait = intellect_bad_3
				}
				modifier = {
					factor = 2
					has_trait = dull
				}
				trigger_event = {
					id = court.6072
					days = 100
				}
				custom_tooltip = court.6070.a.tt.2
				show_as_tooltip = {
					every_courtier_or_guest = {
						custom = court_6000_all_courtiers_and_guests
						add_opinion = {
							target = root
							modifier = disappointed_opinion
							opinion = -20
						}
					}
				}
			}
		}
		ai_chance = {
			base = 150
			modifier = {
				has_trait = diligent
				add = 25
			}
			modifier = {
				has_trait = lazy
				add = -50
			}
			modifier = {
				has_trait = content
				add = -25
			}
			modifier = {
				has_trait = ambitious
				add = 50
			}
		}
	}

	#Option B: Yes, and you are proud of it!
	option = {
		name = court.6070.b
		trigger = {
			OR = {
				has_trait = arrogant
				has_trait = stubborn
			}
		}
		every_courtier_or_guest = {
			limit = {
				learning >= low_skill_rating
			}
			custom = every_courtier_or_guest_6070_learning
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -20
			}
		}
		change_current_court_grandeur = medium_court_grandeur_loss
		stress_impact = {
			base = medium_stress_impact_loss
			diligent = medium_stress_impact_gain
			ambitious = major_stress_impact_gain
		}
		ai_chance = {
			base = 200
			modifier = {
				has_trait = ambitious
				add = -75
			}
			modifier = {
				has_trait = diligent
				add = -25
			}
		}
	}

	after = {
		clear_court_event_participation = yes
		scope:tutor_6070 = {
			clear_court_event_participation = yes
		}
	}
}

court.6071 = {
	type = character_event
	title = court.6070.t
	desc = court.6071.desc
	theme = court
	left_portrait = {
		character = root
		animation = happiness
	}
	right_portrait = {
		character = scope:tutor_6070
		animation = happiness
	}

	immediate = {
		if = {
			limit = {
				scope:tutor_6070 = {
					OR = {
						is_alive = no
						NOT = {
							is_courtier_of = root
						}
					}
				}
			}
			if = {
				limit = {
			 		employs_court_position = court_tutor_court_position
			 		any_court_position_holder = {
			 			type = court_tutor_court_position
			 			is_available_ai_adult = yes
			 		}
				}
				random_court_position_holder = {
			 		type = court_tutor_court_position
			 		limit = { is_available_ai_adult = yes }
					save_scope_as = tutor_6070
				}
			}
			else_if = {
				limit = {
					exists = cp:councillor_court_chaplain
				}
				cp:councillor_court_chaplain = {
					save_scope_as = tutor_6070
				}
			}
			else_if = {
				limit = {
					any_courtier_or_guest = {
						is_available_ai_adult = yes
						learning > low_skill_rating
					}
				}
				random_courtier_or_guest = {
					limit = {
						is_available_ai_adult = yes
						learning > low_skill_rating
					}
					save_scope_as = tutor_6070
				}
			}
			else = {
				create_character = {
					location = root.location
					template = scholar_character
					save_scope_as = tutor_6070
				}
			}
		}
	}

	#Option B: my tutor deserves compensation
	option = {
		name = court.6071.b
		add_prestige = medium_prestige_gain
		add_learning_skill = 2
		pay_short_term_gold = {
			gold = minor_gold_value
			target = scope:tutor_6070
		}
		scope:tutor_6070 = {
			add_character_flag = court_language_teacher
		}
		custom_tooltip = court.6071.b.tt
		reverse_add_opinion = {
			target = scope:tutor_6070
			modifier = grateful_opinion
			opinion = 20
		}
		stress_impact = {
			base = minor_stress_impact_loss
			greedy = minor_stress_impact_gain
		}
	}
}

court.6072 = {
	type = character_event
	title = court.6070.t
	desc = court.6072.desc
	theme = court
	left_portrait = {
		character = root
		animation = shame
	}
	right_portrait = {
		character = scope:tutor_6070
		animation = disapproval
	}

	artifact = {
		position = lower_left_portrait
		target = scope:newly_created_artifact
		trigger = { exists = scope:newly_created_artifact }
	}

	immediate = {
		hidden_effect = {
			scope:tutor_6070 = {
				create_artifact = {
					name = court_fancy_seal_modifier
					description = court_fancy_seal_modifier_desc
					type = miscellaneous
					visuals = small_box
					modifier = artifact_diplomacy_1_modifier
					save_scope_as = newly_created_artifact
				}
			}
		}
	}

	#Option B: you use a seal instead of signing
	option = {
		name = court.6072.b
		flavor = court.6072.b.tt
		scope:newly_created_artifact = {
			set_owner = {
				target = root
				history = {
					type = given
					actor = scope:tutor_6070
					recipient = root
				}
			}
		}
	}
}

#########################
# The Munificence of X  #
# 6080					#
# Claudia Baldassi		#
#########################

# A traveling ruler is spending a lot of money in your court and is making you look bad (Mansa Musa's pilgrimage) - do you attempt to match the visitor's generosity or profit from it? #

scripted_trigger court_6080_valid_visitor_trigger = {
	is_available_healthy_ai_adult = yes
	is_travelling = yes
	top_liege = this
	OR = {
		has_trait = generous
		has_trait = improvident
		has_trait = profligate
	}
	NOR = {
		has_trait = greedy
		this = root
	}
	gold >= 100
}

court.6080 = {
	type = court_event
	title = court.6080.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					# The visiting ruler is your liege on a Tour
					is_vassal_of = scope:6080_visitor
					scope:6080_visitor = { involved_activity ?= { has_activity_type = activity_tour } }
				}
				desc = court.6080.desc_liege
			}
			desc = court.6080.desc
		}
		desc = court.6080.desc_middle
		triggered_desc = {
			trigger = {
				exists = scope:beneficiary_2
			}
			desc = court.6080.desc_2
		}
		triggered_desc = {
			trigger = {
				exists = scope:beneficiary_child
			}
			desc = court.6080.desc_3
		}
		desc = court.6080.desc_end
	}
	theme = court

	court_scene = {
		button_position_character = scope:6080_visitor
		roles = {
			scope:6080_visitor = {
				group = event_group
				animation = personality_compassionate
			}
			scope:beneficiary_1 = {
				group = event_group
				animation = admiration
			}
			scope:beneficiary_2 = {
				group = event_group
				animation = admiration
			}
		}
	}

	trigger = {
		any_sub_realm_county = {
			holder = root
			any_county_province = {
				any_character_in_location = {
					court_6080_valid_visitor_trigger = yes
				}
			}
		}
		any_courtier_or_guest = {
			is_available_ai_adult = yes
			has_court_event_flag = no
		}
	}

	immediate = {
		random_sub_realm_county = {
			limit = {
				holder = root
				any_county_province = {
					any_character_in_location = {
						court_6080_valid_visitor_trigger = yes
					}
				}
			}
			random_county_province = {
				limit = {
					any_character_in_location = {
						court_6080_valid_visitor_trigger = yes
					}
				}
				random_character_in_location = {
					limit = {
						court_6080_valid_visitor_trigger = yes
					}
					save_scope_as = 6080_visitor
				}
			}
		}
		random_courtier_or_guest = {
			limit = {
				is_available_ai_adult = yes
				has_court_event_flag = no
			}
			save_scope_as = beneficiary_1
			court_event_character_flag_effect = yes
		}
		if = {
			limit = {
				any_courtier_or_guest = {
					is_available_ai_adult = yes
					has_court_event_flag = no
					this != scope:beneficiary_1
				}
			}
			random_courtier_or_guest = {
				limit = {
					is_available_ai_adult = yes
					has_court_event_flag = no
					this != scope:beneficiary_1
				}
				save_scope_as = beneficiary_2
				court_event_character_flag_effect = yes
			}
		}
		if = {
			limit = {
				any_courtier_or_guest = {
					is_available_ai_child = yes
					has_court_event_flag = no
					age >= 3
				}
			}
			random_courtier_or_guest = {
				limit = {
					is_available_ai_child = yes
					has_court_event_flag = no
				}
				save_scope_as = beneficiary_child
			}
		}
		scope:6080_visitor = {
			pay_short_term_gold = {
				target = scope:beneficiary_1
				gold = tiny_gold_value
			}
		}
		if = {
			limit = {
				exists = scope:beneficiary_2
			}
			scope:6080_visitor = {
				pay_short_term_gold = {
					target = scope:beneficiary_2
					gold = tiny_gold_value
				}
			}
		}
	}

	#Option A: I can be even more generous!
	option = {
		name = court.6080.a
		pay_short_term_gold = {
			target = scope:beneficiary_1
			gold = minor_gold_value
		}
		reverse_add_opinion = {
			target = scope:beneficiary_1
			modifier = grateful_opinion
			opinion = 30
		}
		if = {
			limit = {
				exists = scope:beneficiary_2
			}
			pay_short_term_gold = {
				target = scope:beneficiary_2
				gold = minor_gold_value
			}
			reverse_add_opinion = {
				target = scope:beneficiary_2
				modifier = grateful_opinion
				opinion = 30
			}
		}
		if = {
			limit = {
				exists = scope:beneficiary_child
			}
			reverse_add_opinion = {
				target = scope:beneficiary_child
				modifier = grateful_opinion
				opinion = 30
			}
		}
		change_current_court_grandeur = medium_court_grandeur_gain
		if = {
			limit = {
				government_allows = administrative
			}
			change_influence = medium_influence_gain
		}
		else = {
			add_prestige = medium_prestige_gain
		}
		stress_impact = {
			content = medium_stress_impact_gain
			humble = major_stress_impact_gain
			greedy = massive_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_greed = -1
			}
			modifier = {
				has_trait = ambitious
				add = 25
			}
			modifier = {
				has_trait = humble
				add = -25
			}
			modifier = {
				has_trait = content
				add = -25
			}
			modifier = {
				gold < medium_gold_value
				factor = 0
			}
		}
	}

	#Option B: shamelessly ask for money too
	option = {
		name = court.6080.b
		duel = {
			target = scope:6080_visitor
			skill = intrigue
			50 = {
				desc = court.6080.b.success
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				send_interface_toast = {
					title = court.6080.b.success.tt
					scope:6080_visitor = {
						pay_short_term_gold = {
							target = root
							gold = medium_gold_value
						}
					}
				}
			}
			50 = {
				desc = court.6080.b.failure
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
				}
				send_interface_toast = {
					title = court.6080.b.failure.tt
					add_prestige = minor_prestige_loss
				}
			}
		}
		stress_impact = {
			honest = medium_stress_impact_gain
			generous = major_stress_impact_gain
			improvident = massive_stress_impact_gain
			profligate = massive_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_greed = 1
				ai_honor = -0.5
			}
		}
	}

	#Option D: Better him spending than me
	option = {
		name = court.6080.d
		change_current_court_grandeur = miniscule_court_grandeur_gain
		stress_impact = {
			greedy = minor_stress_impact_loss
			generous = medium_stress_impact_gain
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = greedy
				add = 10
			}
			modifier = {
				has_trait = content
				add = 25
			}
		}
	}
	after = {
		scope:6080_visitor = {
			clear_court_event_participation = yes
		}
		scope:beneficiary_1 = {
			clear_court_event_participation = yes
		}
		if = {
			limit = {
				exists = scope:beneficiary_2
			}
			scope:beneficiary_2 = {
				clear_court_event_participation = yes
			}
		}
	}
}

#########################
# The Art of Rhetoric 	#
# 6090					#
# Claudia Baldassi		#
#########################

# Your Court Poet is giving a lecture to your children on the finer arts of rhetoric and they aren't having any of it #

court.6090 = {
	type = court_event
	title = court.6090.t
	desc = {
		desc = court.6090.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:6090_poet = {
						OR = {
							has_court_position = court_poet_court_position
							has_court_position = court_tutor_court_position
						}
					}
				}
				desc = court.6090.desc.cp
			}
			desc = court.6090.desc.teacher
		}
		desc = court.6090.desc.middle
		triggered_desc = {
			trigger = {
				exists = scope:6090_child_c
			}
			desc = court.6090.desc_other
		}
		desc = court.6090.desc_end
	}
	theme = court

	court_scene = {
		button_position_character = scope:6090_poet
		roles = {
			scope:6090_poet = {
				group = event_group
				animation = beg
			}
			scope:6090_child_a = {
				group = event_group
				animation = dismissal
			}
			scope:6090_child_b = {
				group = event_group
				animation = dismissal
			}
		}
	}

	trigger = {
		any_child = {
			count >= 2
			is_available_ai_child = yes
			has_court_event_flag = no
			age >= 8
			location = root.location
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			employs_court_position = court_poet_court_position
			any_court_position_holder = {
				type = court_poet_court_position
				is_available_ai_adult = yes
				has_court_event_flag = no
			}
			add = 1
		}
		modifier = {
			employs_court_position = court_tutor_court_position
			any_court_position_holder = {
				type = court_tutor_court_position
				is_available_ai_adult = yes
				has_court_event_flag = no
			}
			add = 1
		}
	}

	immediate = {
		random_court_position_holder = {
			type = court_poet_court_position
			limit = { is_available_ai_adult = yes }
			save_scope_as = 6090_poet
		}
		if = {
			limit = {
				NOT = { exists = scope:6090_poet }
			}
			random_court_position_holder = {
				type = court_tutor_court_position
				limit = { is_available_ai_adult = yes }
				save_scope_as = 6090_poet
			}
		}
		if = {
			limit = {
				NOT = { exists = scope:6090_poet }
			}
			random_pool_character = {
				province = root.location
				limit = {
					diplomacy >= 14
				}
				save_scope_as = 6090_poet
			}
		}
		if = {
			limit = {
				NOT = { exists = scope:6090_poet }
			}
			create_character = {
				location = root.location
				template = poet_template
				save_scope_as = 6090_poet
			}
			scope:6090_poet = { add_character_flag = created_character }
		}
		scope:6090_poet = { court_event_character_flag_effect = yes }
		every_child = {
			limit = {
				is_available_ai_child = yes
				age >= 8
				location = root.location
			}
			add_to_list = rhetoric_children
		}
		ordered_in_list = {
			list = rhetoric_children
			order_by = age
			max = 3
			check_range_bounds = no
			if = {
				limit = {
					NOT = { exists = scope:6090_child_a }
				}
				save_scope_as = 6090_child_a
				court_event_character_flag_effect = yes
			}
			else_if = {
				limit = {
					NOT = { exists = scope:6090_child_b }
				}
				save_scope_as = 6090_child_b
				court_event_character_flag_effect = yes
			}
			else = {
				save_scope_as = 6090_child_c
				court_event_character_flag_effect = yes
			}
		}
	}

	#Option A: Reprimand them
	option = {
		name = court.6090.a
		scope:6090_poet = {
			add_opinion = {
				target = root
				modifier = grateful_opinion
				opinion = 30
			}
		}
		scope:6090_child_a = {
			add_opinion = {
				target = root
				modifier = annoyed_opinion
				opinion = -10
			}
			if = {
				limit = {
					scope:6090_poet = {
						OR = {
							has_court_position = court_poet_court_position
							has_court_position = court_tutor_court_position
						}
					}
				}
				add_diplomacy_skill = 2
			}
			else = {
				add_diplomacy_skill = 1
			}
		}
		scope:6090_child_b = {
			add_opinion = {
				target = root
				modifier = annoyed_opinion
				opinion = -10
			}
			if = {
				limit = {
					scope:6090_poet = {
						OR = {
							has_court_position = court_poet_court_position
							has_court_position = court_tutor_court_position
						}
					}
				}
				add_diplomacy_skill = 2
			}
			else = {
				add_diplomacy_skill = 1
			}
		}
		if = {
			limit = {
				exists = scope:6090_child_c
			}
			scope:6090_child_c = {
				add_opinion = {
					target = root
					modifier = annoyed_opinion
					opinion = -10
				}
				if = {
					limit = {
						scope:6090_poet = {
							OR = {
								has_court_position = court_poet_court_position
								has_court_position = court_tutor_court_position
							}
						}
					}
					add_diplomacy_skill = 2
				}
				else = {
					add_diplomacy_skill = 1
				}
			}
		}
		stress_impact = {
			lazy = medium_stress_impact_gain
			arrogant = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = diligent
				add = 100
			}
			modifier = {
				has_trait = lazy
				add = -50
			}
			modifier = {
				has_trait = arrogant
				add = -50
			}
		}
	}

	#Option C: Side with them - court poet is booooring
	option = {
		name = court.6090.c
		flavor = court.6090.c.tt
		scope:6090_child_a = {
			add_prowess_skill = 1
			add_opinion = {
				target = root
				modifier = amused_opinion
				opinion = 10
			}
		}
		scope:6090_child_b = {
			add_prowess_skill = 1
			add_opinion = {
				target = root
				modifier = amused_opinion
				opinion = 10
			}
		}
		if = {
			limit = {
				exists = scope:6090_child_c
			}
			scope:6090_child_c = {
				add_prowess_skill = 1
				add_opinion = {
					target = root
					modifier = amused_opinion
					opinion = 10
				}
			}
		}
		scope:6090_poet = {
			add_opinion = {
				target = root
				modifier = insulted_opinion
				opinion = -30
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_gain
			diligent = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				add = -25
			}
			modifier = {
				has_trait = diligent
				add = -75
			}
			modifier = {
				has_trait = lazy
				add = 25
			}
			modifier = {
				has_trait = callous
				add = 25
			}
		}
	}
	after = {
		scope:6090_poet = {
			clear_court_event_participation = yes
			if = {
				limit = {
					root = { is_ai = yes }
					has_character_flag = created_character
				}
				silent_disappearance_effect = yes
			}
		}
		scope:6090_child_a = {
			clear_court_event_participation = yes
		}
		scope:6090_child_b = {
			clear_court_event_participation = yes
		}
		scope:6090_child_c ?= {
			clear_court_event_participation = yes
		}
	}
}




##################################################
# George

##################################################
# 7300			Where's the Lamb Sauce?
# 7600			Wild at Heart
# 7610			Child asks for a destrier
# 7649			Courtier has harmed their bird
# 7700			Chief Eunuch trains a pigeon to steal things
##################################################

#########################
# Where's the Lamb Sauce?
# by George Luff
# 7300
#########################

scripted_trigger court_7300_court_food_taster_trigger = {
	has_court_position = food_taster_court_position
	is_available_healthy_ai_adult = yes
}

## Food Taster QUITS
court.7300 = {
	type = court_event
	title = court.7300.t
	desc = court.7300.desc
	theme = court

	court_scene = {
		button_position_character = scope:taster
		roles = {
			scope:taster = {
				group = event_group
				animation = disgust
			}
			root = {
				group = event_group
				animation = worry
			}
		}
	}

	cooldown = { years = 25 }

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_intrigue }
	}

	trigger = {
		has_court_event_flag = no
		# Employs a food taster
		any_court_position_holder = {
			court_7300_court_food_taster_trigger = yes
			has_court_event_flag = no
		}
		# The level of food amenities are crap
		amenity_level = {
			target = court_food_quality
			value <= medium_amenity_level
		}
		NOT = {
			government_has_flag = government_is_tribal
		}
	}

	immediate = {
		court_event_character_flag_effect = yes
		# Save Food Taster
		random_court_position_holder = {
			limit = {
				court_7300_court_food_taster_trigger = yes
			}
			save_scope_as = taster
			court_event_character_flag_effect = yes
		}
	}

	# invest more in food
	option = {
		name = court.7300.a
		add_amenity_level = { type = court_food_quality value = 1 }
		add_character_modifier = {
			modifier = incentivized_food_taster
			years = 15
		}
		scope:taster = {
			add_opinion = {
				modifier = grateful_opinion
				target = root
				opinion = 10
			}
		}
		stress_impact = {
			gluttonous = medium_stress_impact_loss
			greedy = major_stress_impact_gain
			generous = medium_stress_impact_loss
		}
		ai_chance = {
			base = 40
			ai_value_modifier = {
				ai_rationality = 1
				ai_honor = 0.5
				ai_compassion = 1
				ai_greed = -1
			}
		}
	}

	# Let things be
	option = {
		name = court.7300.b
		scope:taster = {
			add_opinion = {
				modifier = disgusted_opinion
				target = root
				opinion = -15
			}
		}
		stress_impact = {
			compassionate = medium_stress_impact_gain
			stubborn = medium_stress_impact_loss
			callous = medium_stress_impact_loss
		}
		ai_chance = {
			base = 20
			ai_value_modifier = {
				ai_honor = -1
				ai_greed = 1
			}
		}
	}

	after = {
		clear_court_event_participation = yes
		scope:taster = {
			clear_court_event_participation = yes
		}
	}
}


#########################
# Wild at Heart
# by George Luff
# 7600
#########################

scripted_trigger active_child_trigger = {
	age >= 7
	age <= 15
	is_landed = no
	location = root.location
	is_available_healthy_ai_child = yes
	NOT = { has_character_flag = child_goes_hunting }
}

court.7600 = {
	type = court_event
	title = court.7600.t
	desc = court.7600.desc
	theme = court

	court_scene = {
		button_position_character = scope:child
		roles = {
			scope:child = {
				group = event_group
				animation = ecstasy
			}
			scope:huntmaster = {
				group = event_group
				animation = happiness
			}
		}
	}

	cooldown = { years = 15 }

	weight_multiplier = {
		base = 1

		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

	trigger = {
		any_child = {
			active_child_trigger = yes
			has_court_event_flag = no
		}
		employs_court_position = master_of_hunt_court_position
		any_court_position_holder = {
			type = master_of_hunt_court_position
			is_available_healthy_ai_adult = yes
			has_court_event_flag = no
		}
		NOT = {
			culture = { has_cultural_tradition = tradition_vegetarianism }
		}
	}

	immediate = {
		random_child = {
			limit = {
				active_child_trigger = yes
			}
			weight ={
				base = 1
				modifier = {
					has_trait = rowdy
					add = 2
				}
				modifier = {
					has_trait = curious
					add = 1
				}
			}
			save_scope_as = child
			court_event_character_flag_effect = yes
			add_character_flag = child_goes_hunting
			select_local_animal_effect = { TYPE = harmless } # Save scope to limit possible animals: any/big/small/dangerous/harmless/prowling
		}
		random_court_position_holder = {
			type = master_of_hunt_court_position
			limit = {
				is_available_healthy_ai_adult = yes
			}
			save_scope_as = huntmaster
			court_event_character_flag_effect = yes
		}
	}

	# Ban the outings
	option = {
		name = court.7600.a
		scope:child = {
			add_learning_skill = 2
			add_opinion = {
				modifier = hate_opinion
				target = root
				opinion = -30
			}
		}
		stress_impact = {
			lifestyle_hunter = major_stress_impact_gain
			brave = medium_stress_impact_gain
			ambitious = minor_stress_impact_gain
			craven = medium_stress_impact_loss
		}

		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = -1
			}
			modifier = {
				has_trait = lifestyle_hunter
				factor = 0
			}
		}
	}

	# Approve the outings
	option = {
		name = court.7600.c
		scope:child = {
			add_prowess_skill = 1
			add_opinion = {
				modifier = love_opinion
				target = root
				opinion = 15
			}
		}
		scope:huntmaster = {
			custom_tooltip = 7600_taking_child_to_hunt.tt
			add_character_flag = 7600_taking_child_to_hunt
			if = {
				limit = {
					has_trait = lifestyle_hunter
				}
				add_trait_xp = {
					trait = lifestyle_hunter
					track = hunter
					value = 5
				}
			}
			else = {
				add_trait = lifestyle_hunter
			}
		}
		stress_impact = {
			lifestyle_hunter = medium_stress_impact_loss
			craven = medium_stress_impact_gain
			scholar = minor_stress_impact_gain
			theologian = minor_stress_impact_gain
			diligent = minor_stress_impact_gain
			paranoid = minor_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_honor = 0.5
				ai_boldness = 1
			}
			modifier = {
				has_trait = paranoid
				factor = 0
			}
		}
	}
	after = {
		scope:huntmaster = {
			clear_court_event_participation = yes
		}
		scope:child = {
			clear_court_event_participation = yes
		}
	}
}


#########################
# Spymaster trains a pigeon to steal things
# by George Luff
# 7700
#########################

scripted_trigger pigeon_assistance_scheme_trigger = {
	OR = {
		scheme_type = fabricate_hook
		scheme_type = abduct
		scheme_type = sway
		scheme_type = murder
		scheme_type = convert_to_witchcraft
	}
}

court.7700 = {
	type = court_event
	title = court.7700.t
	desc = court.7700.desc
	theme = court
	court_scene = {
		button_position_character = scope:spymaster
		roles = {
			scope:spymaster = {
				group = event_group
				animation = scheme
			}
		}
	}
	cooldown = { years = 25 }

	weight_multiplier = {
		base = 1

		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_intrigue }
	}

	trigger = {
		cp:councillor_spymaster ?= {
			is_available_ai_adult = yes
			has_court_event_flag = no
		}
		any_scheme = {
			pigeon_assistance_scheme_trigger = yes
		}
	}

	immediate = {
		cp:councillor_spymaster = {
			save_scope_as = spymaster
			court_event_character_flag_effect = yes
		}
		random_scheme = {
			limit = {
				pigeon_assistance_scheme_trigger = yes
			}
			save_scope_as = scheme
		}
		scope:spymaster = {
			add_character_modifier = {
				modifier = pigeon_thief
				years = 10
			}
		}
	}

	# Just this once, ok?
	option = {
		name = court.7700.b
		# You've told them you need help, they are in on it now!
		try_to_force_assign_character_to_random_agent_slot_effect = {
			SCHEME = scope:scheme
			CHAR = scope:spymaster
			YEARS = 10
		}
		add_character_modifier = {
			modifier = profiting_from_pigeon_thievery
			years = 10
		}
		stress_impact = {
			honest = massive_stress_impact_gain
			just = major_stress_impact_gain
			compassionate = medium_stress_impact_gain
			brave = minor_stress_impact_gain
			arrogant = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_boldness = 1
				ai_honor = -0.5
				ai_compassion = -0.5
			}
		}
	}

	# Turn the spymaster away
	option = {
		name = court.7700.d
		add_prestige = minor_prestige_gain
		stress_impact = {
			deceitful = major_stress_impact_gain
			vengeful = major_stress_impact_gain
			fickle = medium_stress_impact_gain
			arbitrary = medium_stress_impact_gain
			craven = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_vengefulness = -1
				ai_honor = 1
			}
		}
	}
	after = {
		scope:spymaster = {
			clear_court_event_participation = yes
		}
	}
}










##################################################
# Joe Parkin

# 8001 - Trampled Underfoot
# 8010 - Underequipped
# 8020 - Sartorial Sting
# 8030 - Pawful of Pooches
# 8040 - Aristocratic Pretensions
# 8050 - A Little Bird
# 8070 - Feeling Useful
# 8080 - Maternal Reproach
# 8090 - Building Blocks
# 8120 - Novel Perspectives
# 8140 - Royal Lapse
# 8150 - Prandial Excess
# 8160 - Foremost Knight

#########################
# Trampled Underfoot	#
# by Joe Parkin 		#
#########################

scripted_trigger court_8001_child_trigger = {
	is_available = yes
	is_healthy = yes
	age > 3
	age < 12
	has_any_focus = yes
	NOT = { has_variable = court_8001_child_flag }
	location = root.location
}

scripted_effect court_8001_skill_effect = {
	duel = {
		skill = $SKILL$
		value = decent_skill_rating
		5 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = 1
				min = -49
			}
			min = 1
			desc = court.8001.a.success
			send_interface_toast = {
				left_icon = scope:child_1
				title = court.8001.a.lesson_tt
				scope:child_1 = { add_$SKILL$_skill = 2 }
			}
		}
		10 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = 3.5
				min = -49
			}
			min = 2
			desc = court.8001.a.success
			send_interface_toast = {
				left_icon = scope:child_1
				title = court.8001.a.lesson_tt
				scope:child_1 = { add_$SKILL$_skill = 1 }
			}
		}
		10 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = -3.5
				min = -49
			}
			min = 5
			desc = court.8001.a.failure
		}
	}
	stress_impact = {
		base = minor_stress_impact_gain
		wrathful = minor_stress_impact_gain
		callous = minor_stress_impact_gain
	}
}

court.8001 = {
	type = court_event
	title = court.8001.t
	desc = {
		desc = court.8001.desc.intro
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:child_1 = { has_focus = education_diplomacy }
				}
				desc = court.8001.desc.diplomacy
			}
			triggered_desc = {
				trigger = {
					scope:child_1 = { has_focus = education_martial }
				}
				desc = court.8001.desc.martial
			}
			triggered_desc = {
				trigger = {
					scope:child_1 = { has_focus = education_stewardship }
				}
				desc = court.8001.desc.stewardship
			}
			triggered_desc = {
				trigger = {
					scope:child_1 = { has_focus = education_intrigue }
				}
				desc = court.8001.desc.intrigue
			}
			triggered_desc = {
				trigger = {
					scope:child_1 = { has_focus = education_learning }
				}
				desc = court.8001.desc.learning
			}
			desc = court.8001.desc.fallback
		}
		desc = court.8001.desc.closing
	}
	theme = court
	cooldown = { years = 10 }
	court_scene = {
		button_position_character = scope:gardener
		roles = {
			root = {
				group = event_group
				animation = war_over_tie
			}
			scope:gardener = {
				group = event_group
				animation = rage
			}
			scope:child_1 = {
				group = event_group
				animation = shame
			}
		}
	}

	trigger = {
		any_courtier_or_guest = {
			count >= 1
			court_8001_child_trigger = yes
			has_court_event_flag = no
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			employs_court_position = court_gardener_court_position
			any_court_position_holder = {
				type = court_gardener_court_position
				is_available_healthy_ai_adult = yes
				has_court_event_flag = no
			}
			add = 2
		}
		modifier = {
			has_trait = lifestyle_gardener
			add = 2
		}
		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
	}

	immediate = {
		random_court_position_holder = {
			type = court_gardener_court_position
			limit = { is_available_healthy_ai_adult = yes }
			save_scope_as = gardener
		}
		if = {
			limit = {
				NOT = { exists = scope:gardener }
			}
			create_character = {
				location = root.location
				template = gardener_template
				save_scope_as = gardener
			}
			scope:gardener = { add_character_flag = created_character }
		}
		scope:gardener = {
			court_event_character_flag_effect = yes
		}
		random_courtier_or_guest = {
			limit = {
				court_8001_child_trigger = yes
				OR = {
					is_child_of = root
					any_relation = {
						type = guardian
						this = root
					}
				}
			}
			alternative_limit = { court_8001_child_trigger = yes }
			save_scope_as = child_1
			court_event_character_flag_effect = yes
			set_variable = {
				name = court_8001_child_flag
				days = 3650
			}
		}
	}

	option = { # Encourage the child's interests
		name = court.8001.a.diplomacy
		trigger = {
			scope:child_1 = { has_focus = education_diplomacy }
		}
		skill = diplomacy
		court_8001_skill_effect = { SKILL = diplomacy }
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = 2
				ai_energy = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = wrathful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = callous
			}
		}
	}

	option = { # Encourage the child's interests
		name = court.8001.a.martial
		trigger = {
			scope:child_1 = { has_focus = education_martial }
		}
		skill = martial
		court_8001_skill_effect = { SKILL = martial }
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = 2
				ai_energy = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = wrathful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = callous
			}
		}
	}

	option = { # Encourage the child's interests
		name = court.8001.a.stewardship
		trigger = {
			scope:child_1 = { has_focus = education_stewardship }
		}
		skill = stewardship
		court_8001_skill_effect = { SKILL = stewardship }
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = 2
				ai_energy = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = wrathful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = callous
			}
		}
	}

	option = { # Encourage the child's interests
		name = court.8001.a.intrigue
		trigger = {
			scope:child_1 = { has_focus = education_intrigue }
		}
		skill = intrigue
		court_8001_skill_effect = { SKILL = intrigue }
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = 2
				ai_energy = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = wrathful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = callous
			}
		}
	}

	option = { # Encourage the child's interests
		name = court.8001.a.learning
		trigger = {
			scope:child_1 = { has_focus = education_learning }
		}
		skill = learning
		court_8001_skill_effect = { SKILL = learning }
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = 2
				ai_energy = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = wrathful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = callous
			}
		}
	}

	option = { # Replant them
		name = court.8001.c
		scope:child_1 = {
			random = {
				chance = 20
				modifier = {
					scope:gardener = { has_court_position = court_gardener_court_position }
					add = 5
				}
				modifier = {
					scope:gardener = { has_trait = lifestyle_gardener }
					add = 10
				}
				modifier = {
					has_trait = diligent
					add = 10
				}
				modifier = {
					has_trait = lazy
					add = -10
				}
				root = {
					send_interface_toast = {
						left_icon = scope:child_1
						title = court.8001.c.gardener_tt
						scope:child_1 = { add_trait = lifestyle_gardener }
					}
				}
			}
			add_opinion = {
				target = root
				modifier = annoyed_opinion
				opinion = -20
			}
			stress_impact = {
				base = minor_stress_impact_gain
				lazy = minor_stress_impact_gain
				arrogant = minor_stress_impact_gain
			}
		}
		stress_impact = {
			just = minor_stress_impact_loss
			diligent = minor_stress_impact_loss
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = -1
				ai_vengefulness = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = vengeful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = greedy
			}
		}
	}

	option = { # Dismiss the gardener's protests (opt out)
		name = court.8001.e
		reverse_add_opinion = {
			target = scope:gardener
			modifier = annoyed_opinion
			opinion = -20
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = 1
				ai_boldness = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = vengeful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = arbitrary
			}
		}
	}

	after = {
		scope:gardener = {
			clear_court_event_participation = yes
			if = {
				limit = {
					root = { is_ai = yes }
					has_character_flag = created_character
				}
				silent_disappearance_effect = yes
			}
		}
		scope:child_1 = {
			clear_court_event_participation = yes
		}

	}
}

#########################
# Underequipped			#
# by Joe Parkin 		#
#########################

scripted_trigger court_8010_underequipped_trigger = {
	is_available_healthy_ai_adult = yes
	OR = {
		NOT = {
			any_character_artifact = { artifact_slot_type = primary_armament }
		}
		any_character_artifact = {
			count = all
			artifact_slot_type = primary_armament
			OR = {
				var:quality < 25
				ep1_artifact_durability_lower_equal_percent_trigger = { PERCENT = 0.24 } # could be replaced by checking LOW_DURATION
			}
		}
	}
}

court.8010 = {
    type = court_event
    title = court.8010.t
    desc = {
    	desc = court.8010.desc.intro
    	first_valid = {
    	    triggered_desc = {
    	        trigger = {
    				scope:underequipped = {
    					OR = {
    						has_court_position = bodyguard_court_position
    						has_court_position = akolouthos_court_position
    					}
    				}
    	        }
    	        desc = court.8010.desc.bodyguard
    	    }
    	    triggered_desc = {
    	        trigger = {
    				scope:underequipped = { has_court_position = champion_court_position }
    	        }
    	        desc = court.8010.desc.champion
    	    }
    	    desc = court.8010.desc.knight
    	}
    	first_valid = {
    	    triggered_desc = {
    	        trigger = {
    				scope:underequipped = {
    					OR = {
    						has_trait = brave
    						has_trait = wrathful
    						has_trait = arrogant
    						has_trait = impatient
    						has_trait = ambitious
    					}
    				}
    	        }
    	        desc = court.8010.desc.bold
    	    }
    	    desc = court.8010.desc.meek
    	}
    	desc = court.8010.desc.body
    	random_valid = {
    	    triggered_desc = {
    	        trigger = {
    				scope:underequipped = {
    					OR = {
    						has_court_position = bodyguard_court_position
    						has_court_position = akolouthos_court_position
    						is_knight_of = root
    					}
    				}
    	        }
    	        desc = court.8010.desc.bodyguard_end
    	    }
    	    triggered_desc = {
    	        trigger = {
    				scope:underequipped = { has_court_position = champion_court_position }
    	        }
    	        desc = court.8010.desc.champion_end
    	    }
    	}
    }
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:underequipped
        roles = {
            scope:underequipped = {
                group = event_group
                animation = sadness
            }
            root = {
                group = event_group
                animation = idle
            }
        }
    }

    trigger = {
    	has_court_event_flag = no
        OR = {
        	any_court_position_holder = {
				type = bodyguard_court_position
				court_8010_underequipped_trigger = yes
				has_court_event_flag = no
				location = root.location
			}
			any_court_position_holder = {
				type = champion_court_position
				court_8010_underequipped_trigger = yes
				has_court_event_flag = no
				location = root.location
			}
			any_court_position_holder = {
				type = akolouthos_court_position
				court_8010_underequipped_trigger = yes
				has_court_event_flag = no
				location = root.location
			}
			any_knight = {
				court_8010_underequipped_trigger = yes
				has_court_event_flag = no
				is_landed = no
				location = root.location
			}
        }
    }

    weight_multiplier = {
		base = 1
		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

    immediate = {
    	court_event_character_flag_effect = yes
        hidden_effect = {
        	random_list = {
        		4 = {
        			trigger = {
        				any_court_position_holder = {
							type = bodyguard_court_position
							court_8010_underequipped_trigger = yes
							location = root.location
						}
        			}
		        	random_court_position_holder = {
						type = bodyguard_court_position
						limit = {
							court_8010_underequipped_trigger = yes
							location = root.location
						}
						save_scope_as = underequipped
						court_event_character_flag_effect = yes
					}
				}
				4 = {
					trigger = {
        				any_court_position_holder = {
							type = champion_court_position
							court_8010_underequipped_trigger = yes
							location = root.location
						}
        			}
					random_court_position_holder = {
						type = champion_court_position
						limit = {
							court_8010_underequipped_trigger = yes
							location = root.location
						}
						save_scope_as = underequipped
						court_event_character_flag_effect = yes
					}
		        }
		        8 = {
					trigger = {
        				any_court_position_holder = {
							type = akolouthos_court_position
							court_8010_underequipped_trigger = yes
							location = root.location
						}
        			}
					random_court_position_holder = {
						type = akolouthos_court_position
						limit = {
							court_8010_underequipped_trigger = yes
							location = root.location
						}
						save_scope_as = underequipped
						court_event_character_flag_effect = yes
					}
		        }
		        1 = {
					trigger = {
        				any_knight = {
							court_8010_underequipped_trigger = yes
							location = root.location
							is_landed = no
						}
        			}
					random_knight = {
						limit = {
							court_8010_underequipped_trigger = yes
							location = root.location
							is_landed = no
						}
						save_scope_as = underequipped
						court_event_character_flag_effect = yes
					}
		        }
        	}
        }
        random_dummy_gender_effect = yes #To feed to the weapon effect since we don't have a creator
		scope:underequipped = { set_signature_weapon_effect = yes } #To create an artifact of the "signature weapon" type
		if = {
			limit = {
	        	any_character_artifact = {
	        		count > 1
					artifact_can_be_gift_to_trigger = { RECIPIENT = scope:underequipped }
	        		artifact_slot_type = primary_armament
	        	}
	        }
	        ordered_character_artifact = {
	        	limit = {
	        		is_equipped = no
	        		artifact_slot_type = primary_armament
					artifact_can_be_gift_to_trigger = { RECIPIENT = scope:underequipped }
	        	}
	        	order_by = {
	        		value = 0
	        		subtract = var:quality
	        	}
	        	save_scope_as = my_weapon
	        }
		}
    }

    option = { # Have a sword made
        name = court.8010.a
        change_current_court_grandeur = medium_court_grandeur_gain
        remove_short_term_gold = medium_gold_value
        custom_tooltip = court.8010.a.tt
        hidden_effect = {
        	scope:underequipped = {
	        	if = {
					limit = { var:signature_weapon = flag:axe }
					create_artifact_weapon_effect = {
						OWNER = scope:underequipped
						CREATOR = scope:dummy_gender
						SET_WEAPON_TYPE = flag:artifact_weapon_type_axe
					}
				}
				else_if = {
					limit = { var:signature_weapon = flag:hammer }
					create_artifact_weapon_effect = {
						OWNER = scope:underequipped
						CREATOR = scope:dummy_gender
						SET_WEAPON_TYPE = flag:artifact_weapon_type_hammer
					}
				}
				else_if = {
					limit = { var:signature_weapon = flag:spear }
					create_artifact_weapon_effect = {
						OWNER = scope:underequipped
						CREATOR = scope:dummy_gender
						SET_WEAPON_TYPE = flag:artifact_weapon_type_spear
					}
				}
				else_if = {
					limit = { var:signature_weapon = flag:mace }
					create_artifact_weapon_effect = {
						OWNER = scope:underequipped
						CREATOR = scope:dummy_gender
						SET_WEAPON_TYPE = flag:artifact_weapon_type_mace
					}
				}
				else = { #For swords, but also as fallback - no daggers here
					create_artifact_weapon_effect = {
						OWNER = scope:underequipped
						CREATOR = scope:dummy_gender
						SET_WEAPON_TYPE = flag:artifact_weapon_type_sword
					}
				}
			}
	        if = {
	        	limit = { exists = scope:newly_created_artifact } # To avoid errors
	        	send_interface_toast = {
		        	title = court.8010.a.equipped_tt
		        	left_icon = scope:underequipped
		        	right_icon = scope:newly_created_artifact
		        	scope:newly_created_artifact = {
		        		set_owner = {
		        			target = scope:underequipped
							history = {
								location = root.capital_province
								actor = root
								recipient = scope:underequipped
								type = given
							}
						}
		        	}
		        }
	        }
	    }
	    scope:underequipped = {
	    	add_opinion = {
	    		target = root
	    		modifier = grateful_opinion
	    		opinion = 20
	    	}
	    }
        stress_impact = {
			greedy = major_stress_impact_gain # It's too expensive
			callous = medium_stress_impact_gain # So?
			arrogant = medium_stress_impact_gain
			paranoid = medium_stress_impact_gain
			fickle = minor_stress_impact_gain
		}
        ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = -1
            	ai_compassion = 1
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = greedy
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = callous
            }
        }
    }

    option = { # Give lesser owned sword
        name = court.8010.c
        trigger = { exists = scope:my_weapon }
        add_prestige = major_prestige_gain
        scope:underequipped = {
	    	add_opinion = {
	    		target = root
	    		modifier = grateful_opinion
	    		opinion = 20
	    	}
	    }
        send_interface_toast = {
        	title = court.8010.c.equipped_tt
        	left_icon = scope:underequipped
        	right_icon = scope:my_weapon
	        scope:my_weapon = {
	    		set_owner = {
	    			target = scope:underequipped
					history = {
						location = root.capital_province
						actor = root
						recipient = scope:underequipped
						type = given
					}
				}
	    	}
	    }
	    stress_impact = {
			greedy = major_stress_impact_gain # My precious?!
			arrogant = medium_stress_impact_gain # My swords are too strong for you traveler
		}
        ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = -2
            	ai_compassion = 1
            }
            modifier = {	#Weight down for stress.
            	add = -30
            	has_trait = greedy
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = arrogant
            }
        }
    }

    option = { # Give a sword from the armory (opt out)
        name = court.8010.d
        change_current_court_grandeur = minor_court_grandeur_loss
        custom_tooltip = court.8010.d.tt
        scope:underequipped = {
	        if = {
	        	limit = {
	    			any_character_artifact = {
	    				is_equipped = yes
	        			artifact_slot_type = primary_armament
	        			ep1_artifact_durability_lower_equal_percent_trigger = { PERCENT = 0.99 }
	    			}
	        	}
	    		random_character_artifact = {
	    			limit = {
	    				is_equipped = yes
	        			artifact_slot_type = primary_armament
	        			ep1_artifact_durability_lower_equal_percent_trigger = { PERCENT = 0.49 }
	    			}
	        		add_durability = {
	    				value = artifact_max_durability
	    				multiply = 0.25
	    			}
	    		}
	        }
		}
		stress_impact = {
			base = minor_stress_impact_loss
		}
        ai_chance = {
            base = 50
            ai_value_modifier = {
            	ai_greed = 2
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = generous
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = paranoid
            }

        }
    }

    after = {
    	clear_court_event_participation = yes
    	scope:underequipped = {
    		clear_court_event_participation = yes
    	}
    }
}

#########################
# Sartorial Sting		#
# by Joe Parkin 		#
#########################

court.8020 = {
    type = court_event
    title = court.8020.t
    desc = court.8020.desc
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:couture_spouse
        roles = {
            scope:couture_spouse = {
                group = event_group
                animation = anger
            }
            scope:couture_guest = {
                group = event_group
                animation = schadenfreude
            }
        }
    }

    trigger = {
    	amenity_level = { target = court_fashion value <= medium_amenity_level }
        is_married = yes
        primary_spouse = {
        	is_alive = yes
        	has_court_event_flag = no
		}
        any_pool_guest = {
        	is_available_ai_adult = yes
        	has_court_event_flag = no
		}

		NOT = {
			government_has_flag = government_is_tribal # No changing amenities above what's legal for tribals
		}
    }

    weight_multiplier = {
        base = 1
        ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
    }

    immediate = {
    	primary_spouse = {
    		save_scope_as = couture_spouse
    		court_event_character_flag_effect = yes
    	}
    	random_pool_guest = {
    		limit = { is_available_ai_adult = yes }
    		weight = {
    			base = 1
    			modifier = {
    				factor = 20
    				culture != root.culture
    			}
    			modifier = {
    				factor = 10
    				sex_same_as = root.primary_spouse
    			}
    		}
    		save_scope_as = couture_guest
    		court_event_character_flag_effect = yes
    	}
    	primary_spouse = {
    		progress_towards_rival_effect = {
  				CHARACTER = scope:couture_guest
  				REASON = rival_couture_criticised
  				OPINION = 0
 			}
    	}
    }

    option = { # Make an effort
        name = court.8020.b
        set_amenity_level = { type = court_fashion value = high_amenity_level }
        remove_short_term_gold = minor_gold_value
        capital_county = {
        	add_county_modifier = {
        		modifier = fashion_industry_county_modifier
        		years = 25
        	}
        }
    	stress_impact = {
    		greedy = medium_stress_impact_gain # It's too espensive
    		content = medium_stress_impact_gain # What's wrong with our clothes?
    		humble = medium_stress_impact_gain # These clothes are good enough
    		improvident = medium_stress_impact_loss # Shopping!
    	}
		ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = -1
            	ai_rationality = 1
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = greedy
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = content
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = humble
            }
            modifier = {
            	gold < minor_gold_value
            	factor = 0
            }
        }
    }

     option = { # Laugh it off (opt out)
        name = court.8020.a
        add_prestige = minor_prestige_gain
        change_current_court_grandeur = minor_court_grandeur_loss
        primary_spouse = {
    		add_opinion = {
    			target = root
    			modifier = annoyed_opinion
    			opinion = -10
    		}
    	}
    	stress_impact = {
    		base = minor_stress_impact_loss
    		arrogant = medium_stress_impact_gain # How dare they mock us
    		wrathful = medium_stress_impact_gain # Why I 'oughta
    		vengeful = medium_stress_impact_gain # They said what?!
    	}
		ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_vengefulness = -2
            	ai_rationality = 1
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = arrogant
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = wrathful
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = vengeful
            }
        }
    }

    after = {
    	scope:couture_guest = {
    		clear_court_event_participation = yes
		}
		scope:couture_spouse = {
			clear_court_event_participation = yes
		}
    }
}

#########################
# Pawful of Pooches		#
# by Joe Parkin 		#
#########################

scripted_trigger court_8030_child_trigger = {
	age >= 6
	is_adult = no
	is_available = yes
	NOT = { has_character_modifier = dog_story_modifier }
}

court.8030 = {
    type = court_event
    title = court.8030.t
    desc = {
    	desc = court.8030.desc.intro
    	first_valid = {
    	    triggered_desc = {
    	        trigger = { exists = scope:child_2 }
    	        desc = court.8030.desc.two
    	    }
    	    desc = court.8030.desc.one
    	}
    	desc = court.8030.desc.body
    }
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:huntmaster
        roles = {
            scope:huntmaster = {
                group = event_group
                animation = happiness
            }
            scope:child_1 = {
                group = event_group
                animation = beg
            }
            scope:child_2 = {
                group = event_group
                animation = interested
            }
        }
    }

    trigger = {
    	employs_court_position = master_of_hunt_court_position
    	any_court_position_holder = {
    		type = master_of_hunt_court_position
    		is_available_ai_adult = yes
    		has_court_event_flag = no
    	}
    	any_child = {
    		court_8030_child_trigger = yes
    		has_court_event_flag = no
    	}
    }

    weight_multiplier = {
        base = 1
    }

    immediate = {
    	random_court_position_holder = {
    		type = master_of_hunt_court_position
    		limit = { is_available_ai_adult = yes }
    		save_scope_as = huntmaster
    		court_event_character_flag_effect = yes
    	}
    	random_child = {
    		limit = { court_8030_child_trigger = yes }
    		weight = {
    			base = 1
    			modifier = {
    				factor = 2
    				has_trait = curious
    			}
    			modifier = {
    				factor = 2
    				has_trait = charming
    			}
    			modifier = {
    				factor = 2
    				has_focus = education_diplomacy
    			}
    		}
    		save_scope_as = child_1
    		court_event_character_flag_effect = yes
    	}
    	if = {
    		limit = {
    			any_child = {
    				court_8030_child_trigger = yes
    				this != scope:child_1
    			}
    		}
    		random_child = {
    			limit = {
    				court_8030_child_trigger = yes
    				this != scope:child_1
    			}
	    		weight = {
	    			base = 1
	    			modifier = {
	    				factor = 2
	    				has_trait = curious
	    			}
	    			modifier = {
	    				factor = 2
	    				has_trait = charming
	    			}
	    			modifier = {
	    				factor = 2
	    				has_focus = education_diplomacy
	    			}
	    		}
	    		save_scope_as = child_2
	    		court_event_character_flag_effect = yes
    		}
    	}
    }

    option = {
        name = court.8030.a
        change_current_court_grandeur = medium_court_grandeur_gain
        add_character_modifier = {
        	modifier = hunting_pooches_modifier
        	years = 10
        }
        stress_impact = {
        	lifestyle_hunter = major_stress_impact_loss
        	greedy = minor_stress_impact_gain
        	impatient = minor_stress_impact_gain
        	family_first = minor_stress_impact_gain
		}
        ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = -1
            	ai_energy = 1
            	ai_honor = 1
            }
            modifier = {	#Weight up.
            	add = 30
            	has_trait = lifestyle_hunter
            }
        }
    }

    option = {
        name = court.8030.b
        scope:child_1 = {
        	start_dog_story_cycle_effect = yes
        	add_opinion = {
        		target = root
        		modifier = pleased_opinion
        		opinion = 15
        	}
        }
        if = {
        	limit = { exists = scope:child_2 }
        	scope:child_2 = {
	        	add_opinion = {
	        		target = root
	        		modifier = disappointed_opinion
	        		opinion = -10
	        	}
	        }
        }
        stress_impact = {
        	lifestyle_hunter = medium_stress_impact_gain
        	just = minor_stress_impact_gain
        	callous = medium_stress_impact_gain
        }
        ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = 0.5
            	ai_compassion = 1
            }
            modifier = {	#Weight up.
            	add = -15
            	has_trait = lifestyle_hunter
            }
            modifier = {	#Weight up.
            	add = -5
            	has_trait = just
            }
            modifier = {	#Weight up.
            	add = -15
            	has_trait = callous
            }
        }
    }

    option = {
        name = court.8030.c
        trigger = { exists = scope:child_2 }
        scope:child_2 = {
        	start_dog_story_cycle_effect = yes
        	add_opinion = {
        		target = root
        		modifier = pleased_opinion
        		opinion = 15
        	}
        }
    	scope:child_1 = {
        	add_opinion = {
        		target = root
        		modifier = disappointed_opinion
        		opinion = -10
        	}
        }
        stress_impact = {
        	lifestyle_hunter = medium_stress_impact_gain
        	just = minor_stress_impact_gain
        	callous = medium_stress_impact_gain
        }
        ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = 0.5
            	ai_compassion = 1
            }
            modifier = {	#Weight up.
            	add = -15
            	has_trait = lifestyle_hunter
            }
            modifier = {	#Weight up.
            	add = -5
            	has_trait = just
            }
            modifier = {	#Weight up.
            	add = -15
            	has_trait = callous
            }
        }
    }

    option = {
        name = court.8030.d
        trigger = {
        	NOT = { has_character_modifier = dog_story_modifier }
        }
        start_dog_story_cycle_effect = yes
        scope:child_1 = {
        	add_opinion = {
        		target = root
        		modifier = disappointed_opinion
        		opinion = -15
        	}
        }
        if = {
        	limit = { exists = scope:child_2 }
        	scope:child_2 = {
	        	add_opinion = {
	        		target = root
	        		modifier = disappointed_opinion
	        		opinion = -15
	        	}
	        }
        }
        stress_impact = {
        	lifestyle_hunter = medium_stress_impact_gain
        	just = minor_stress_impact_gain
        	generous = medium_stress_impact_gain
        }
        ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = 2
            	ai_compassion = 1
            }
            modifier = {	#Weight up.
            	add = -15
            	has_trait = lifestyle_hunter
            }
            modifier = {	#Weight up.
            	add = -5
            	has_trait = just
            }
            modifier = {	#Weight up.
            	add = -15
            	has_trait = generous
            }
        }
    }
    after = {
    	scope:huntmaster = {
    		clear_court_event_participation = yes
		}
		scope:child_1 = {
    		clear_court_event_participation = yes
		}
		if = {
			limit = { exists = scope:child_2 }
			scope:child_2 = {
	    		clear_court_event_participation = yes
			}
		}
    }
}
############################
# Aristocratic Pretensions #
# by Joe Parkin 		   #
############################

scripted_trigger court_8040_courtier_trigger = {
	is_available_healthy_ai_adult = yes
	any_held_title = { count = 0 }
	NOR = {
		is_close_family_of = root
		has_trait = content
		has_trait = humble
		is_hostage = yes
	}
	trigger_if = {
		limit = { is_female = yes }
		root = { faith_dominant_gender_female_or_equal = yes }
	}
	trigger_else = { faith_dominant_gender_male_or_equal = yes }
}

scripted_effect court_8040_grant_effect = {
	send_interface_toast = {
		left_icon = scope:new_noble
		title = court.8040.grant_tt
		root = {
			create_title_and_vassal_change = {
				type = granted
				save_scope_as = change
				add_claim_on_loss = no
			}
			scope:worst_title = {
				change_title_holder = {
					holder = scope:new_noble
					change = scope:change
				}
			}
			resolve_title_and_vassal_change = scope:change
			scope:new_noble = {
				if = {
					limit = { scope:worst_title.tier = tier_barony }
					add_opinion = {
						target = root
						modifier = received_title_barony
						opinion = 30
					}
				}
				else = {
					add_opinion = {
						target = root
						modifier = received_title_county
						opinion = 50
					}
				}
			}
			if = {
				limit = {
					can_add_hook = {
						target = scope:new_noble
						type = indebted_hook
					}
				}
				add_hook = {
					target = scope:new_noble
					type = indebted_hook
				}
			}
			scope:new_noble = {
				add_character_flag = {
					flag = joining_faction_block
					years = 20
				}
			}
			custom_tooltip = joining_faction_block_tt
			every_in_list = {
				list = court_8040_list
				limit = {
					this != scope:new_noble
				}
				add_opinion = {
					target = root
					modifier = disappointed_opinion
					opinion = -10
				}
			}
		}
	}
}

scripted_effect court_8040_desc_effect = {
	if = {
		limit = {
			has_any_court_position = yes
			NOT = { exists = scope:position_holder }
		}
		save_scope_as = position_holder
	}
	else_if = {
		limit = {
			is_knight = yes
			NOT = { exists = scope:knight }
		}
		save_scope_as = knight
	}
	else_if = {
		limit = {
			is_close_or_extended_family_of = root
			NOT = { exists = scope:relative }
		}
		save_scope_as = relative
	}
	else_if = {
		limit = {
			has_trait = ambitious
			NOT = { exists = scope:ambitious }
		}
		save_scope_as = ambitious
	}
	else_if = {
		limit = {
			has_trait = arrogant
			NOT = { exists = scope:arrogant }
		}
		save_scope_as = arrogant
	}
	else_if = {
		limit = {
			is_lowborn = yes
			NOT = { exists = scope:lowborn }
		}
		save_scope_as = lowborn
	}
	else_if = {
		limit = {
			is_lowborn = no
			NOT = { exists = scope:gentry }
		}
		save_scope_as = gentry
	}
	else = {
		if = {
	 		limit = { NOT = { exists = scope:generic_1 } }
	 		save_scope_as = generic_1
	 	}
	 	else_if = {
     		limit = { NOT = { exists = scope:generic_2 } }
     		save_scope_as = generic_2
     	}
     	else = { save_scope_as = generic_3 }
	}
}

court.8040 = {
    type = court_event
    title = court.8040.t
    desc = {
    	desc = court.8040.desc.intro
	    triggered_desc = {
	        trigger = { exists = scope:position_holder }
	        desc = court.8040.desc.position_holder
	    }
	    triggered_desc = {
	        trigger = { exists = scope:knight }
	        desc = court.8040.desc.knight
	    }
	    triggered_desc = {
	        trigger = { exists = scope:relative }
	        desc = court.8040.desc.relative
	    }
    	triggered_desc = {
	        trigger = { exists = scope:ambitious }
	        desc = court.8040.desc.ambitious
	    }
	    triggered_desc = {
	        trigger = { exists = scope:arrogant }
	        desc = court.8040.desc.arrogant
	    }
	    triggered_desc = {
	        trigger = { exists = scope:lowborn }
	        desc = court.8040.desc.lowborn
	    }
	    triggered_desc = {
	        trigger = { exists = scope:gentry }
	        desc = court.8040.desc.gentry
	    }
	    triggered_desc = {
	        trigger = { exists = scope:generic_1 }
	        desc = court.8040.desc.generic_1
	    }
	    triggered_desc = {
	        trigger = { exists = scope:generic_2 }
	        desc = court.8040.desc.generic_2
	    }
	    triggered_desc = {
	        trigger = { exists = scope:generic_3 }
	        desc = court.8040.desc.generic_3
	    }
	    desc = court.8040.desc.body
    }
    theme = court
    override_background = { reference = throne_room }
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:courtier_3
        roles = {
            scope:courtier_1 = {
                group = event_group
                animation = personality_irrational
            }
            scope:courtier_2 = {
                group = event_group
                animation = personality_coward
            }
            scope:courtier_3 = {
                group = event_group
                animation = personality_dishonorable
            }
        }
    }

    trigger = {
    	has_royal_court = yes
        any_courtier = {
        	count >= 3
        	court_8040_courtier_trigger = yes
        	has_court_event_flag = no
        }
        OR = {
        	any_held_title = {
	        	title_tier = barony
	        	is_capital_barony = no
	        	is_leased_out = no
	        	this != root.capital_barony
	        }
	        any_held_title = {
	        	count >= 4
	        	title_tier = county
				is_landless_type_title = no
	        }
	    }
	    domain_limit_available < 0
    }

    weight_multiplier = {
        base = 1
        modifier = {
        	is_ai = yes
        	factor = 0.5
        }
        ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
        ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
    }

    immediate = {
        ordered_courtier = { # Find 3 courtiers and determine their flaws
         	limit = { court_8040_courtier_trigger = yes }
         	max = 3
         	check_range_bounds = no
         	order_by = prestige
         	if = {
         		limit = { NOT = { exists = scope:courtier_1 } }
         		save_scope_as = courtier_1
         		court_event_character_flag_effect = yes
         		court_8040_desc_effect = yes
         	}
         	else_if = {
         		limit = { NOT = { exists = scope:courtier_2 } }
         		save_scope_as = courtier_2
         		court_event_character_flag_effect = yes
         		court_8040_desc_effect = yes
         	}
         	else = {
         		save_scope_as = courtier_3
         		court_event_character_flag_effect = yes
         		court_8040_desc_effect = yes
         	}
         	add_to_list = court_8040_list
         	if = {
         		limit = { NOT = { exists = scope:button } }
         		save_scope_as = button # For button character
         	}
        }
        if = { # Find a valid barony to give away
        	limit = {
        		any_held_title = {
        			title_tier = barony
        			is_capital_barony = no
        			is_leased_out = no
        			this != root.capital_barony
        		}
        	}
        	ordered_held_title = {
				title_tier = barony
	        	limit = {
	        		is_capital_barony = no
        			is_leased_out = no
        			this != root.capital_barony
	        	}
	        	order_by = {
	        		value = 0
	        		subtract = title_province.combined_building_level
	        	}
	        	save_scope_as = worst_title
	        }
        }
        else = { # Find a valid county to give away
	        ordered_held_title = {
				title_tier = county
	        	limit = {
	        		this != root.capital_county
					is_landless_type_title = no
	        	}
	        	order_by = {
	        		value = 0
	        		subtract = development_level
	        	}
	        	save_scope_as = worst_title
	        }
	    }
    }

    option = { # Best courtier wins - fight
        name = court.8040.d
        flavor = court.8040.d.flavor_tt
        random_list = {
        	2 = {
        		desc = court.8040.d.courtier_1_tt
        		modifier = {
        			add = scope:courtier_1.prowess
        		}
        		scope:courtier_1 = { save_scope_as = new_noble }
        		show_as_tooltip = {
			        create_title_and_vassal_change = {
						type = granted
						save_scope_as = change
						add_claim_on_loss = no
					}
					scope:worst_title = {
						change_title_holder = {
							holder = scope:new_noble
							change = scope:change
						}
					}
					resolve_title_and_vassal_change = scope:change
		        }
        	}
        	2 = {
        		desc = court.8040.d.courtier_2_tt
        		modifier = {
        			add = scope:courtier_2.prowess
        		}
        		scope:courtier_2 = { save_scope_as = new_noble }
        		show_as_tooltip = {
			        create_title_and_vassal_change = {
						type = granted
						save_scope_as = change
						add_claim_on_loss = no
					}
					scope:worst_title = {
						change_title_holder = {
							holder = scope:new_noble
							change = scope:change
						}
					}
					resolve_title_and_vassal_change = scope:change
		        }
        	}
        	2 = {
        		desc = court.8040.d.courtier_3_tt
        		modifier = {
        			add = scope:courtier_3.prowess
        		}
        		scope:courtier_3 = { save_scope_as = new_noble }
        		show_as_tooltip = {
			        create_title_and_vassal_change = {
						type = granted
						save_scope_as = change
						add_claim_on_loss = no
					}
					scope:worst_title = {
						change_title_holder = {
							holder = scope:new_noble
							change = scope:change
						}
					}
					resolve_title_and_vassal_change = scope:change
		        }
        	}
        }
        every_in_list = {
        	list = court_8040_list
			increase_wounds_no_death_effect = { REASON = duel }
		}
		hidden_effect = { court_8040_grant_effect = yes }
		stress_impact = {
			lifestyle_blademaster = medium_stress_impact_loss # Yay fighty slash
			viking = medium_stress_impact_loss # Yay fighty slash
			varangian = medium_stress_impact_loss # Yay fighty slash
			berserker = medium_stress_impact_loss # Yay fighty slash
			brave = medium_stress_impact_loss # Yay fighty slash
			greedy = medium_stress_impact_gain # But, titles
			diligent = medium_stress_impact_gain # But, I like managing stuff
			arrogant = medium_stress_impact_gain # But, my titles
		}
		ai_chance = {
            base = 100
            ai_value_modifier = {
   				ai_energy = 2
   				ai_greed = -0.5
   			}
            modifier = {	#Weight up for stress.
				add = 15
				has_trait = lifestyle_blademaster
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = viking
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = varangian
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = berserker
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = berserker
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = brave
			}
            modifier = {	#Weight down for stress.
				add = -15
				has_trait = greedy
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = diligent
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = arrogant
			}
        }
    }

    option = { # Best courtier wins - persuasion
        name = court.8040.e
        change_current_court_grandeur = medium_court_grandeur_gain
        random_list = {
        	2 = {
        		desc = court.8040.e.courtier_1_tt
        		modifier = {
        			add = scope:courtier_1.diplomacy
        		}
        		scope:courtier_1 = { save_scope_as = new_noble }
        		show_as_tooltip = {
			        create_title_and_vassal_change = {
						type = granted
						save_scope_as = change
						add_claim_on_loss = no
					}
					scope:worst_title = {
						change_title_holder = {
							holder = scope:new_noble
							change = scope:change
						}
					}
					resolve_title_and_vassal_change = scope:change
		        }
        	}
        	2 = {
        		desc = court.8040.e.courtier_2_tt
        		modifier = {
        			add = scope:courtier_2.diplomacy
        		}
        		scope:courtier_2 = { save_scope_as = new_noble }
        		show_as_tooltip = {
			        create_title_and_vassal_change = {
						type = granted
						save_scope_as = change
						add_claim_on_loss = no
					}
					scope:worst_title = {
						change_title_holder = {
							holder = scope:new_noble
							change = scope:change
						}
					}
					resolve_title_and_vassal_change = scope:change
		        }
        	}
        	2 = {
        		desc = court.8040.e.courtier_3_tt
        		modifier = {
        			add = scope:courtier_3.diplomacy
        		}
        		scope:courtier_3 = { save_scope_as = new_noble }
        		show_as_tooltip = {
			        create_title_and_vassal_change = {
						type = granted
						save_scope_as = change
						add_claim_on_loss = no
					}
					scope:worst_title = {
						change_title_holder = {
							holder = scope:new_noble
							change = scope:change
						}
					}
					resolve_title_and_vassal_change = scope:change
		        }
        	}
        }
        stress_impact = {
			lifestyle_poet = medium_stress_impact_loss # Poetry duels are my jam
			gregarious = medium_stress_impact_loss # Having fun with friends was the real reward
			diplomat = medium_stress_impact_loss # Solving problems with words is the coolest
			greedy = medium_stress_impact_gain # But, titles
			diligent = medium_stress_impact_gain # But, I like managing stuff
			arrogant = medium_stress_impact_gain # But, my titles
		}
		hidden_effect = { court_8040_grant_effect = yes }
		ai_chance = {
            base = 100
            ai_value_modifier = {
   				ai_rationality = 1
   				ai_greed = -0.5
   			}
            modifier = {	#Weight up for stress.
				add = 15
				has_trait = lifestyle_poet
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = gregarious
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = diplomat
			}
            modifier = {	#Weight down for stress.
				add = -15
				has_trait = greedy
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = diligent
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = arrogant
			}
        }
    }

    option = { # You get nothing!
        name = court.8040.f
        add_prestige = minor_prestige_gain
        every_in_list = {
        	list = court_8040_list
        	add_opinion = {
        		target = root
        		modifier = annoyed_opinion
        		opinion = -10
        	}
        }
        stress_impact = {
        	generous = medium_stress_impact_gain # But I have so much to give
        	lazy = medium_stress_impact_gain # I would rather have someone else do it
        	humble = medium_stress_impact_gain # Who am I to deny them?
        }
        ai_chance = {
            base = 100
            ai_value_modifier = {
   				ai_boldness = 1
   				ai_greed = 1
   			}
            modifier = { # Weight up for NO family members.
            	factor = 2
            	NOR = {
            		scope:courtier_1 = { is_close_or_extended_family_of = root }
            		scope:courtier_2 = { is_close_or_extended_family_of = root }
            		scope:courtier_3 = { is_close_or_extended_family_of = root }
            	}
            }
            modifier = { # Weight up for NO dynasty members.
            	factor = 2
            	NOR = {
            		scope:courtier_1.dynasty = root.dynasty
            		scope:courtier_2.dynasty = root.dynasty
            		scope:courtier_3.dynasty = root.dynasty
            	}
            }
            modifier = { # Weight up for NO opinion.
            	factor = 2
            	NOR = {
	            	opinion = {
	            		target = scope:courtier_1
	            		value >= 50
	            	}
	            	opinion = {
	            		target = scope:courtier_2
	            		value >= 50
	            	}
	            	opinion = {
	            		target = scope:courtier_3
	            		value >= 50
	            	}
	            }
            }
            modifier = {	#Weight down for stress.
				add = -15
				has_trait = generous
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = lazy
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = humble
			}
        }
    }
    after = {
    	scope:courtier_1 = {
    		clear_court_event_participation = yes
    	}
    	scope:courtier_2 = {
    		clear_court_event_participation = yes
    	}
    	scope:courtier_3 = {
    		clear_court_event_participation = yes
    	}
    }
}

#########################
# A Little Bird			#
# by Joe Parkin 		#
#########################

scripted_trigger court_8050_secrets_trigger = {
	is_ai = yes
	has_any_secrets = yes
	any_secret = {
		NOT = {
			any_secret_knower = { this = root }
		}
	}
}

court.8050 = {
    type = court_event
    title = court.8050.t
    desc = court.8050.desc
    theme = court
    override_background = { reference = throne_room }
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:servant
        roles = {
            ROOT = {
                group = event_group
                animation = throne_room_conversation_4
            }
            scope:servant = {
                group = event_group
                animation = throne_room_conversation_1
            }
        }
    }

    trigger = {
    	has_royal_court = yes
    	has_court_event_flag = no
    	OR = {
    		any_vassal = {
    			court_8050_secrets_trigger = yes
    			has_court_event_flag = no
			}
    		any_courtier_or_guest = {
    			court_8050_secrets_trigger = yes
    			has_court_event_flag = no
    			is_of_major_or_minor_interest_trigger = { CHARACTER = root }
    		}
    	}
		amenity_level = {
			target = court_servants
			value > high_amenity_level
		}
    }

    weight_multiplier = {
        base = 1
        modifier = {
        	factor = 2
        	amenity_level = {
				target = court_servants
				value = max_amenity_level
			}
		}
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_intrigue }
    }

    immediate = {
    	court_event_character_flag_effect = yes
    	every_vassal = {
    		limit = { court_8050_secrets_trigger = yes }
    		add_to_list = court_8050_secret_list
    	}
    	every_courtier_or_guest = {
    		limit = {
    			court_8050_secrets_trigger = yes
    			is_of_major_or_minor_interest_trigger = { CHARACTER = root }
    		}
    		add_to_list = court_8050_secret_list
    	}
    	random_in_list = {
    		list = court_8050_secret_list
    		weight = {
    			base = 1
    			modifier = {
    				factor = primary_title.tier
    			}
    			modifier = {
    				factor = 2
    				any_secret = {
    					any_secret_knower = { count > 2 }
    				}
    			}
    			modifier = {
    				factor = 3
    				is_landed = yes
    			}
    		}
    		save_scope_as = vassal
    		random_secret = {
    			limit = {
    				NOT = {
						any_secret_knower = { this = root }
					}
    			}
    			weight = {
	    			modifier = {
	    				factor = 2
	    				any_secret_knower = { count > 2 }
	    			}
	    		}
    			save_scope_as = vassal_secret
    			reveal_to = root
    		}
    	}
    	if = {
    		limit = {
	        	any_in_list = {
	        		list = court_8050_secret_list
	        		this != scope:vassal
	        	}
	        }
	        random_in_list = {
	        	list = court_8050_secret_list
	        	limit = { this != scope:vassal }
	        	save_scope_as = vassal_2
	        	random_secret = {
	        		limit = {
	    				NOT = {
							any_secret_knower = { this = root }
						}
	    			}
	    			weight = {
		    			modifier = {
		    				factor = 2
		    				any_secret_knower = { count > 2 }
		    			}
		    		}
	    			save_scope_as = secret_2
	        	}
	        }
        }
    	hidden_effect = {
			create_character = {
				template = servant_character
				dynasty = none
				location = root.capital_province
				gender_female_chance = root_soldier_female_chance
				save_scope_as = servant
			}
		}
    }

    option = { # What else have you heard?
        name = court.8050.b
        trigger = { exists = scope:secret_2 }
        add_prestige = minor_prestige_loss
        custom_tooltip = court.8050.b.tt
        hidden_effect = {
        	send_interface_toast = {
        		title = court.8050.b.tt_secret
        		left_icon = scope:vassal_2
        		scope:secret_2 = { reveal_to = root }
        	}
        }
        scope:servant = { silent_disappearance_effect = yes }
        stress_impact = {
        	schemer = medium_stress_impact_loss
        	trusting = medium_stress_impact_gain # What if people spy on me too?!
        	honest = medium_stress_impact_gain # This isn't above board
        	humble = medium_stress_impact_gain # It is not my business
        	lazy = medium_stress_impact_gain # Sounds like effort
        }
        ai_chance = {
        	base = 100
            ai_value_modifier = {
   				ai_honor = -2
   				ai_energy = 2
   			}
            modifier = { # Weight down for stress.
            	add = 15
            	has_trait = schemer
            }
            modifier = { # Weight down for stress.
            	add = -15
            	has_trait = trusting
            }
            modifier = { # Weight down for stress.
            	add = -15
            	has_trait = honest
            }
             modifier = { # Weight down for stress.
            	add = -15
            	has_trait = humble
            }
            modifier = { # Weight down for stress.
            	add = -15
            	has_trait = lazy
            }
        }
    }

    option = { # Keep me informed
        name = court.8050.c
        remove_short_term_gold = minor_gold_value
        add_character_modifier = {
        	modifier = servant_informants_modifier
        	years = 5
        }
        custom_tooltip = court.8050.c.tt
        scope:servant = { silent_disappearance_effect = yes }
        stress_impact = {
        	schemer = medium_stress_impact_loss # Sweet, sweet scheming
        	trusting = medium_stress_impact_gain # What if people spy on me too?!
        	honest = medium_stress_impact_gain # This isn't above board
        	humble = medium_stress_impact_gain # It is not my business
        	lazy = medium_stress_impact_gain # Sounds like effort
        }
        ai_chance = {
        	base = 100
            ai_value_modifier = {
   				ai_honor = -2
   				ai_energy = 2
   			}
            modifier = { # Weight down for stress.
            	add = 15
            	has_trait = schemer
            }
            modifier = { # Weight down for stress.
            	add = -15
            	has_trait = trusting
            }
            modifier = { # Weight down for stress.
            	add = -15
            	has_trait = honest
            }
             modifier = { # Weight down for stress.
            	add = -15
            	has_trait = humble
            }
            modifier = { # Weight down for stress.
            	add = -15
            	has_trait = lazy
            }
        }
    }

    option = { # Thanks for your service (opt out)
        name = court.8050.a
        stress_impact = {
        	deceitful = medium_stress_impact_gain # I could have learned so much more...
        	arrogant = medium_stress_impact_gain # I don't surround myself with commoners
			paranoid = medium_stress_impact_gain # What do they know about me instead??
        }
        ai_chance = {
        	base = 50
            ai_value_modifier = {
   				ai_rationality = 0.5
   			}
   			 modifier = { # Weight down for stress.
            	add = -15
            	has_trait = deceitful
            }
             modifier = { # Weight down for stress.
            	add = -15
            	has_trait = arrogant
            }
            modifier = { # Weight down for stress.
            	add = -15
            	has_trait = paranoid
            }
        }
    }

    after = {
    	clear_court_event_participation = yes
    	scope:servant ?= {
    		clear_court_event_participation = yes
    	}
    }
}


#########################
# Building Blocks		#
# by Joe Parkin 		#
#########################

scripted_trigger court_8090_barony_trigger = {
	tier = tier_barony
	is_leased_out = no
	title_province.free_building_slots > 0
	county != scope:my_county
}

court.8090 = {
    type = court_event
    title = court.8090.t
    desc = {
    	first_valid = {
    		triggered_desc = {
    			trigger = {
    				scope:architect = { has_court_position = royal_architect_court_position }
    			}
    			desc = court.8090.desc.intro
    		}
    		desc = court.8090.desc.intro_alt
    	}
    	desc = court.8090.desc.intro_end
    	first_valid = {
		    triggered_desc = {
		        trigger = {
					exists = scope:chaplain
					scope:chaplain = scope:architect
				}
		        desc = court.8090.desc.religious
		    }
		    desc = court.8090.desc.castle
    	}
    	desc = court.8090.desc.outro
	    first_valid = {
	    	triggered_desc = {
		        trigger = { exists = scope:chaplain }
		        desc = court.8090.desc.chaplain
		    }
		    desc = court.8090.desc.fallback
	    }
    }
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:architect
        roles = {
            scope:architect = {
                group = event_group
                animation = throne_room_chancellor
            }
            scope:steward = {
                group = event_group
                animation = throne_room_conversation_3
            }
        }
    }

    trigger = {
    	has_royal_court = yes
    	exists = cp:councillor_steward
    	cp:councillor_steward = {
    		is_available_ai_adult = yes
    		has_court_event_flag = no
    	}
    	any_held_title = {
    		title_tier = barony
    		is_leased_out = no
    		title_province.free_building_slots > 0
			title_province.county = {
    			any_county_province = {
    				has_holding = no
    			}
    		}
    	}
    }

    weight_multiplier = {
    	base = 1
    	ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
		modifier = {
			add = 1
			exists = cp:councillor_steward
	    	cp:councillor_steward = {
	    		is_available_ai_adult = yes
	    		has_trait = compassionate
	    	}
		}
		modifier = {
			any_court_position_holder = {
    			type = royal_architect_court_position
    			is_available_ai_adult = yes
    			has_court_event_flag = no
    			NOT = { this = root.cp:councillor_steward }
    		}
    		add = 2
		}
    }

    immediate = {
		cp:councillor_steward = {
			save_scope_as = steward
			court_event_character_flag_effect = yes
		}
		random_court_position_holder = {
    		type = royal_architect_court_position
    		limit = { is_available_ai_adult = yes }
    		save_scope_as = architect
    	}
    	if = {
    		limit = {
    			NOT = { exists = scope:architect }
    		}
    		random_pool_character = {
    			province = root.location
    			limit = {
    				stewardship > 12
    				is_adult = yes
    			}
    			save_scope_as = architect
    			hidden_effect = { add_trait = architect }
    		}
    	}
    	if = {
    		limit = {
    			NOT = { exists = scope:architect }
    		}
    		create_character = {
    			location = root.location
    			template = foreign_architect_template
    			save_scope_as = architect
    		}
    		scope:architect = {
    			add_character_flag = created_character
    		}
    	}
    	scope:architect = { court_event_character_flag_effect = yes }
		ordered_held_title = { # Save barony with least buildings
			title_tier = barony
			limit = {
				is_leased_out = no
    			title_province.free_building_slots > 0
			}
			order_by = {
				value = 0
				subtract = title_province.combined_building_level
			}
			save_scope_as = my_barony
			county = { save_scope_as = my_county }
			scope:my_barony.title_province = { add_random_building_variable_effect = yes }
		}
		scope:my_county = {
			ordered_county_province = { # Save church in same county
				limit = {
					has_holding_type = church_holding
					free_building_slots > 0
				}
				order_by = free_building_slots
				barony = { save_scope_as = temple_barony }
				scope:temple_barony.title_province = { add_random_building_variable_effect = yes }
			}
			random_county_province = { # Save an empty province in the same county
				limit = {
					has_holding = no
				}
				save_scope_as = empty_holding
			}
		}
		if = {
			limit = {
				exists = cp:councillor_court_chaplain
				NOT = { cp:councillor_court_chaplain = scope:architect }
				trigger_if = {
					limit = {
						NOT = { exists = scope:temple_barony }
					}
					any_held_title = {
						title_tier = county
						any_county_province = {
							has_holding_type = church_holding
							free_building_slots > 0
						}
					}
				}
			}
			cp:councillor_court_chaplain = { save_scope_as = chaplain }
			if = {
				limit = {
					NOT = { exists = scope:temple_barony }
				}
				random_held_title = {
					title_tier = county
					limit = {
						any_county_province = {
							has_holding_type = church_holding
							free_building_slots > 0
						}
					}
					random_county_province = {
						limit = {
							has_holding_type = church_holding
							free_building_slots > 0
						}
						barony = { save_scope_as = temple_barony }
						add_random_building_variable_effect = yes
					}
				}
			}
		}
    }

    option = { # For my barony
		name = court.8090.a
		remove_treasury_or_gold = court_8090_half_building_cost_value
		scope:my_barony.title_province = { add_random_building_construct_effect = yes }
		stress_impact = {
			architect = medium_stress_impact_loss # A good idea
			lazy = medium_stress_impact_gain # Too much work
			greedy = medium_stress_impact_gain # It will cost _how_ much?
		}
		ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = -1
            	ai_energy = 1
            }
            modifier = {	#Weight up.
            	add = 15
            	has_trait = architect
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = lazy
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = greedy
            }
            modifier = {
            	gold < court_8090_half_building_cost_value
            	factor = 0
            }
        }
	}

	option = { # For the church
		name = court.8090.b
		trigger = {
			exists = scope:chaplain
			exists = scope:temple_barony
		}
		add_piety = minor_piety_value
		remove_treasury_or_gold = court_8090_half_building_cost_value
		reverse_add_opinion = {
			target = scope:chaplain
			modifier = pleased_opinion
			opinion = 10
		}
		scope:temple_barony.title_province = { add_random_building_construct_effect = yes }
		stress_impact = {
			architect = minor_stress_impact_loss # A good idea
			cynical = medium_stress_impact_gain # God needs no house
			greedy = medium_stress_impact_gain # It will cost _how_ much?
		}
		ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_vengefulness = 1
            	ai_boldness = 2
            }
            modifier = {	#Weight up.
            	add = 5
            	has_trait = architect
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = cynical
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = greedy
            }
             modifier = {
            	gold < court_8090_half_building_cost_value
            	factor = 0
            }
        }
	}

	option = { # Architect can do better
		name = court.8090.c
		trigger = {
			scope:architect = { has_court_position = royal_architect_court_position }
			is_ai = no
		}
		flavor = court.8090.c.tt
		remove_treasury_or_gold = hold_court_holding_cost_architect_cheaper_value
		scope:empty_holding = {
			begin_create_holding = {
				type = castle_holding
				refund_cost = {
					gold = hold_court_holding_cost_architect_cheaper_value
				}
			}
		}
		stress_impact = {
			greedy = medium_stress_impact_gain
			compassionate = medium_stress_impact_gain
			fickle = medium_stress_impact_gain
		}
		ai_chance = {
            base = 0
        }
	}

	option = { # For the people (opt out)
		name = court.8090.d
		scope:my_barony.county = {
			add_county_modifier = {
				modifier = court_8090_commoners_modifier
				years = 25
			}
		}
		stress_impact = {
			architect = medium_stress_impact_gain # But my castle!
			callous = major_stress_impact_gain # The people? Pah
			diligent = major_stress_impact_gain # I can do it
		}
		ai_chance = {
            base = 100
            ai_value_modifier = {
            	ai_greed = 1
            	ai_energy = -1
            }
            modifier = {	#Weight down for stress.
            	add = -15
            	has_trait = architect
            }
            modifier = {	#Weight down for stress.
            	add = -30
            	has_trait = callous
            }
            modifier = {	#Weight down for stress.
            	add = -30
            	has_trait = diligent
            }
        }
	}

	after = {
		if = {
			limit = {
				exists = scope:my_barony
				scope:my_barony.title_province = { has_variable = random_building_variable }
			}
			scope:my_barony.title_province = { remove_variable = random_building_variable }
		}
		if = {
			limit = {
				exists = scope:temple_barony
				scope:temple_barony.title_province = { has_variable = random_building_variable }
			}
			scope:temple_barony.title_province = { remove_variable = random_building_variable }
		}
		scope:steward = {
			clear_court_event_participation = yes
		}
		scope:architect = {
			clear_court_event_participation = yes
			if = {
				limit = {
					root = {
						is_ai = yes
					}
					has_character_flag = created_character
				}
				silent_disappearance_effect = yes
			}
		}
	}
}


#########################
# Royal Lapse 			#
# by Joe Parkin 		#
#########################

court.8140 = {
    type = court_event
    title = court.8140.t
    desc = court.8140.desc
    theme = court
    cooldown = { years = 10 }
	orphan = yes
    court_scene = {
        button_position_character = scope:vassal_1
        roles = {
            scope:vassal_1 = {
                group = event_group
                animation = throne_room_kneel_2
            }
            scope:vassal_2 = {
                group = event_group
                animation = throne_room_conversation_4
            }
        }
    }

    trigger = {
    	has_a_stress_coping_trait_trigger = yes
    	stress_level >= 1
    	OR = {
    		exists = cp:councillor_court_chaplain
    		exists = cp:councillor_steward
    		exists = court_position:seneschal_court_position
    		exists = court_position:travel_leader_court_position
    	}
    	OR = {
    		exists = cp:councillor_marshal
    		exists = court_position:master_of_hunt_court_position
    		exists = court_position:master_of_horse_court_position
    		exists = court_position:court_physician_court_position
    	}
    }

    weight_multiplier = {
    	base = 1
    	modifier = {
    		factor = 2
    		has_two_stress_coping_traits_trigger = yes
    	}
    	modifier = {
    		factor = stress_level
    		stress_level >= 1
    	}
    }

    immediate = {
    	random_list = {
    		1 = {
    			cp:councillor_court_chaplain ?= { save_scope_as = vassal_1 } #prayer
    		}
    		1 = {
    			cp:councillor_steward ?= { save_scope_as = vassal_1 } #feast
    		}
    		2 = {
    			court_position:seneschal_court_position ?= { save_scope_as = vassal_1 } #feast
    		}
    		2 = {
    			court_position:travel_leader_court_position ?= { save_scope_as = vassal_1 } #travel
    		}
    	}
    	random_list = {
    		1 = {
    			cp:councillor_marshal ?= { save_scope_as = vassal_2 } #hunt
    		}
    		2 = {
    			court_position:master_of_hunt_court_position ?= { save_scope_as = vassal_2 } #hunt
    		}
    		2 = {
    			trigger = {
    				NOT = {
    					any_owned_story = {
							type = story_cycle_martial_lifestyle_warhorse
						}
					}
    			}
    			court_position:master_of_horse_court_position ?= { save_scope_as = vassal_2 } #horse
    		}
    		2 = {
    			court_position:court_physician_court_position ?= { save_scope_as = vassal_2 } #fresh air
    		}
    	}
    }

    option = { # Engage in stress coping
        name = court.8140.b
        flavor = court.8140.b.flavor_tt
        change_current_court_grandeur = medium_court_grandeur_loss
        scope:vassal_1 = {
        	add_opinion = {
        		target = root
        		modifier = annoyed_opinion
        		opinion = -15
        	}
        }
        scope:vassal_2 = {
        	add_opinion = {
        		target = root
        		modifier = annoyed_opinion
        		opinion = -15
        	}
        }
        stress_impact = {
        	base = massive_stress_impact_loss
        }
        ai_chance = {
        	base = 100
        	ai_value_modifier = {
				ai_compassion = -1
				ai_energy = -1
			}
        	modifier = {
        		add = -30
        		has_trait = diligent
        	}
        }
    }

    option = { # vassal_1 proposal
        name = {
			trigger = { #prayer
				scope:vassal_1 = cp:councillor_court_chaplain
			}
			text = court.8140.c.1
		}
		name = {
			trigger = { #feast
				OR = {
					scope:vassal_1 = cp:councillor_steward
					scope:vassal_1 = court_position:seneschal_court_position
				}
			}
			text = court.8140.c.2
		}
		name = {
			trigger = { #travel
				scope:vassal_1 = court_position:travel_leader_court_position
			}
			text = court.8140.c.3
		}
        flavor = court.8140.c.flavor_tt
        if = { #prayer
        	limit = {
        		scope:vassal_1 = cp:councillor_court_chaplain
        	}
        	add_piety = major_piety_gain
        	custom_tooltip = court.8140.c.tt.2
        	add_character_flag = {
        		flag = court_event_discount_pilgrimage
        		years = 10
        	}
        }
        else_if = { #feats
        	limit = {
        		OR = {
					scope:vassal_1 = cp:councillor_steward
					scope:vassal_1 = court_position:seneschal_court_position
				}
        	}
        	custom_tooltip = court.8140.c.tt
        	add_character_flag = {
        		flag = court_event_discount_feast
        		years = 5
        	}
        }
        else = { #travel
        	add_character_modifier = {
        		modifier = enjoy_the_travel_modifier
        		years = 25
        	}
        }
        ai_chance = {
        	base = 100
        	ai_value_modifier = {
        		ai_energy = 1
			}
        }
    }

    option = { # vassal_2 proposal
        name = {
			trigger = { #hunt
				OR = {
					scope:vassal_2 = cp:councillor_marshal
					scope:vassal_2 = court_position:master_of_hunt_court_position
				}
			}
			text = court.8140.d.1
		}
		name = {
			trigger = { #horse
				scope:vassal_2 = court_position:master_of_horse_court_position
			}
			text = court.8140.d.2
		}
		name = {
			trigger = { #fresh air
				scope:vassal_2 = court_position:court_physician_court_position
			}
			text = court.8140.d.3
		}
        flavor = court.8140.d.flavor_tt
        if = { #hunt
        	limit = {
        		OR = {
					scope:vassal_2 = cp:councillor_marshal
					scope:vassal_2 = court_position:master_of_hunt_court_position
				}
        	}
        	custom_tooltip = court.8140.d.tt
        	add_character_flag = {
        		flag = court_event_discount_hunt
        		years = 5
        	}
        }
        else_if = {
        	limit = {
        		scope:vassal_2 = court_position:master_of_horse_court_position
        	}
        	start_warhorse_story_cycle_effect = yes
        }
        else = {
        	add_character_modifier = {
        		modifier = healthy_strolls_modifier
        		years = 25
        	}
        }
        ai_chance = {
        	base = 100
        	ai_value_modifier = {
        		ai_energy = 1
			}
        }
    }

    option = { # Make an effort (opt out)
        name = court.8140.a
        flavor = court.8140.a.flavor_tt
        change_current_court_grandeur = medium_court_grandeur_gain
        stress_impact = {
        	base = minor_stress_impact_gain
        }
        ai_chance = {
        	base = 0
        	ai_value_modifier = {
				ai_rationality = 0.5
			}
        	modifier = {
        		add = -15
        		has_trait = fickle
        	}
        	modifier = {
        		add = -15
        		has_trait = callous
        	}
        	modifier = {
        		add = -15
        		has_trait = arbitrary
        	}
        	modifier = {
        		add = -15
        		has_trait = lazy
        	}
        }
    }

    after = {
    	scope:vassal_1 = {
    		clear_court_event_participation = yes
    	}
    	scope:vassal_2 = {
    		clear_court_event_participation = yes
    	}
    }
}

#########################
# Prandial Excess		#
# by Joe Parkin 		#
#########################

scripted_trigger court_8150_foodie_trigger = {
	NOR = {
		has_trait = temperate
		has_trait = inappetetic
	}
}

scripted_trigger court_8150_vassal_trigger = {
	is_available_ai_adult = yes
	court_8150_foodie_trigger = yes
	trigger_if = {
		limit = { exists = scope:chaplain }
		this != scope:chaplain
	}
	trigger_if = {
		limit = { exists = scope:food_taster }
		this != scope:food_taster
	}
	trigger_if = {
		limit = { exists = scope:high_almoner }
		this != scope:high_almoner
	}
	trigger_if = {
		limit = { exists = scope:vassal_1 }
		this != scope:vassal_1
	}
	trigger_if = {
		limit = { exists = scope:vassal_2 }
		this != scope:vassal_2
	}
}

court.8150 = {
    type = court_event
    title = court.8150.t
    desc = {
    	desc = court.8150.desc.intro
    	triggered_desc = {
			trigger = { exists = scope:food_taster }
			desc = court.8150.desc.taster
		}
    	desc = court.8150.desc.body
    	first_valid = {
    		triggered_desc = {
    			trigger = {
    				exists = scope:high_almoner
    				exists = scope:chaplain
    			}
    			desc = court.8150.desc.almoner_chaplain
    		}
    		triggered_desc = {
    			trigger = { exists = scope:chaplain }
    			desc = court.8150.desc.chaplain
    		}
    		triggered_desc = {
    			trigger = { exists = scope:high_almoner }
    			desc = court.8150.desc.almoner
    		}
    	}
    }
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:vassal_1
        roles = {
            scope:vassal_1 = {
                group = event_group
                animation = throne_room_conversation_1
            }
            scope:vassal_2 = {
                group = event_group
                animation = throne_room_conversation_2
            }
            scope:vassal_3 = {
                group = event_group
                animation = throne_room_conversation_3
            }
        }
    }

    trigger = {
		NOT = {
			faith = { has_doctrine = tenet_ritual_celebrations }
		}
    	amenity_level = { target = court_food_quality value >= high_amenity_level }
    	OR = {
    		AND = {
    			is_married = yes
    			primary_spouse = {
    				court_8150_vassal_trigger = yes
    				has_court_event_flag = no
    			}
    			any_courtier_or_guest = {
    				count >= 2
					court_8150_foodie_trigger = yes
					has_court_event_flag = no
    			}
    		}
    		any_courtier_or_guest = {
				count >= 3
				court_8150_foodie_trigger = yes
				has_court_event_flag = no
			}
    	}
    }

    weight_multiplier = {
        base = 1
        modifier = {
        	add = 1
        	amenity_level = { target = court_food_quality value > very_high_amenity_level }
        }
        modifier = {
        	add = 1
        	employs_court_position = high_almoner_court_position
        }
        modifier = {
        	add = 1
        	employs_court_position = food_taster_court_position
        }
    }

    immediate = {
    	if = {
    		limit = {
    			exists = cp:councillor_court_chaplain
    			cp:councillor_court_chaplain = {
    				is_available_ai_adult = yes
    				NOR = {
    					has_trait = gluttonous
		        		faith = { has_doctrine = tenet_hedonistic }
						faith = { has_doctrine = tenet_carnal_exaltation }
		        	}
    			}
    		}
    		cp:councillor_court_chaplain = { save_scope_as = chaplain }
 		}
 		if = {
    		limit = {
    			employs_court_position = high_almoner_court_position
				any_court_position_holder = {
					type = high_almoner_court_position
					is_available_ai_adult = yes
					NOR = {
						has_trait = gluttonous
						faith = { has_doctrine = tenet_hedonistic }
						faith = { has_doctrine = tenet_carnal_exaltation }
					}
					trigger_if = {
						limit = { exists = scope:chaplain }
						this != scope:chaplain
					}
				}
    		}
    		random_court_position_holder = {
				type = high_almoner_court_position
				limit = {
					is_available_healthy_ai_adult = yes
					NOR = {
						has_trait = gluttonous
						faith = { has_doctrine = tenet_hedonistic }
						faith = { has_doctrine = tenet_carnal_exaltation }
					}
					trigger_if = {
						limit = { exists = scope:chaplain }
						this != scope:chaplain
					}
		        }
				save_scope_as = high_almoner
			}
    	}
    	if = {
    		limit = {
    			employs_court_position = food_taster_court_position
				any_court_position_holder = {
					type = food_taster_court_position
					is_available_healthy_ai_adult = yes
				}
    		}
    		random_court_position_holder = {
				type = food_taster_court_position
				limit = { is_available_ai_adult = yes }
				save_scope_as = food_taster
				hidden_effect = { change_current_weight = 25 }
			}
    	}
    	if = {
    		limit = {
    			is_married = yes
    			primary_spouse = { court_8150_vassal_trigger = yes }
    		}
    		primary_spouse = { save_scope_as = vassal_1 }
    	}
    	else = {
    		random_courtier_or_guest = {
    			limit = { court_8150_vassal_trigger = yes }
    			weight = {
					modifier = {
						factor = 2
						has_any_court_position = yes
					}
					modifier = {
						factor = 10
						has_trait = gluttonous
					}
					modifier = {
						factor = 5
						has_trait = greedy
					}
					modifier = {
						factor = 2
						is_courtier = yes
					}
				}
    			save_scope_as = vassal_1
    			court_event_character_flag_effect = yes
    			hidden_effect = { change_current_weight = 15 }
    		}
    	}
		random_courtier_or_guest = {
			limit = { court_8150_vassal_trigger = yes }
			weight = {
				modifier = {
					factor = 2
					has_any_court_position = yes
				}
				modifier = {
					factor = 10
					has_trait = gluttonous
				}
				modifier = {
					factor = 5
					has_trait = greedy
				}
				modifier = {
					factor = 2
					is_courtier = yes
				}
			}
			save_scope_as = vassal_2
			court_event_character_flag_effect = yes
			hidden_effect = { change_current_weight = 15 }
		}
		random_courtier_or_guest = {
			limit = { court_8150_vassal_trigger = yes }
			weight = {
				modifier = {
					factor = 2
					has_any_court_position = yes
				}
				modifier = {
					factor = 10
					has_trait = gluttonous
				}
				modifier = {
					factor = 5
					has_trait = greedy
				}
				modifier = {
					factor = 2
					is_courtier = yes
				}
			}
			save_scope_as = vassal_3
			court_event_character_flag_effect = yes
			hidden_effect = { change_current_weight = 15 }
		}
		hidden_effect = {
			random_list = {
				2 = {
					trigger = { exists = scope:vassal_1 }
					scope:vassal_1 = { save_scope_as = demander }
				}
				2 = {
					trigger = { exists = scope:vassal_2 }
					scope:vassal_2 = { save_scope_as = demander }
				}
				2 = {
					trigger = { exists = scope:vassal_3 }
					scope:vassal_3 = { save_scope_as = demander }
				}
			}
		}
    }

    option = { # Chow down
        name = court.8150.a
        change_current_court_grandeur = major_court_grandeur_gain
        if = {
        	limit = {
        		exists = scope:food_taster
        	}
        	custom_tooltip = court.8150.a.tt
        	scope:food_taster = {
        		add_character_flag = food_taster_mettle_tested
       		}
       	}
        if = {
        	limit = { exists = scope:chaplain }
    		reverse_add_opinion = {
    			modifier = disgusted_opinion
    			target = scope:chaplain
    			opinion = -10
    		}
        }
        if = {
        	limit = { exists = scope:high_almoner }
    		reverse_add_opinion = {
    			modifier = disgusted_opinion
    			target = scope:high_almoner
    			opinion = -10
    		}
        }
      	hidden_effect = { change_current_weight = 20 }
        stress_impact = {
        	lifestyle_reveler = medium_stress_impact_loss
        	comfort_eater = medium_stress_impact_loss
        	gluttonous = minor_stress_impact_loss
        	temperate = major_stress_impact_gain
        	inappetetic = massive_stress_impact_gain
        }
        ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_greed = 1
				ai_energy = 1
			}
			modifier = {	#Weight up for stress.
				add = 50
				has_trait = lifestyle_reveler
			}
			modifier = {	#Weight up for stress.
				add = 30
				has_trait = comfort_eater
			}
			modifier = {	#Weight up for stress.
				add = 15
				has_trait = gluttonous
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = temperate
			}
			modifier = {	#Weight down for stress.
				add = -30
				has_trait = inappetetic
			}
		}
    }

    option = { # Stop foodies
        name = court.8150.c
        add_legitimacy = miniscule_legitimacy_gain
        if = {
        	limit = {
	        	NOT = {
	        		faith = { has_doctrine = tenet_hedonistic }
	        	}
        	}
        	add_piety = medium_piety_gain
        }
	    if = {
	       	limit = { exists = scope:chaplain }
	    	reverse_add_opinion = {
	    		modifier = pleased_opinion
	    		target = scope:chaplain
	    		opinion = 10
	    	}
	    }
	    if = {
        	limit = {
        		exists = scope:high_almoner
        	}
        	custom_tooltip = court.8150.b.tt
        	scope:high_almoner = {
        		add_character_flag = plenty_to_donate_almoner
	    		add_opinion = {
	    			modifier = pleased_opinion
	    			target = root
	    			opinion = 10
	    		}
	    	}
        }
        stress_impact = {
        	gluttonous = medium_stress_impact_gain
        	arrogant = medium_stress_impact_gain
        	profligate = medium_stress_impact_gain
        	cynical = medium_stress_impact_gain
        }
        ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_greed = -1
				ai_compassion = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = gluttonous
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = arrogant
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = profligate
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = cynical
			}
			modifier = {
				add = 50
				has_trait = temperate
			}
		}
    }

    after = {
    	scope:vassal_1 = {
    		clear_court_event_participation = yes
    	}
		if = {
			limit = {
				exists = scope:vassal_2
			}
			scope:vassal_2 = {
				clear_court_event_participation = yes
			}
		}
		if = {
			limit = {
				exists = scope:vassal_3
			}
			scope:vassal_3 = {
				clear_court_event_participation = yes
			}
		}
	}
}

#########################
# Foremost Knight		#
# by Joe Parkin 		#
#########################

scripted_trigger court_8160_knight_trigger = {
	is_landed = no
	is_available_ai_adult = yes
	can_start_single_combat_trigger = yes
	NOR = {
		has_trait = humble
		has_trait = craven
		has_trait = shy
	}
}

court.8160 = {
    type = court_event
    title = court.8160.t
    desc = {
    	desc = court.8160.desc.intro
    }
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:knight_1
        roles = {
            scope:knight_1 = {
                group = event_group
                animation = rage
            }
            scope:knight_2 = {
                group = event_group
                animation = anger
            }
        }
    }

    trigger = {
    	any_knight = {
    		court_8160_knight_trigger = yes
    		has_court_event_flag = no
    		save_temporary_scope_as = temp_knight
    	}
    	any_knight = {
    		court_8160_knight_trigger = yes
    		has_court_event_flag = no
    		NOR = {
    		 	this = scope:temp_knight
    			is_close_or_extended_family_of = scope:temp_knight
    			has_relation_friend = scope:temp_knight
    		}
    	}
    }

    weight_multiplier = {
        base = 1
        # Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
    }

    immediate = {
    	every_knight = {
    		limit = { court_8160_knight_trigger = yes }
    		add_to_list = knight_list
    	}
 		ordered_in_list = {
 			list = knight_list
 			order_by = prowess
 			save_scope_as = knight_1
 			court_event_character_flag_effect = yes
 			assign_quirk_effect = yes
 		}
 		ordered_in_list = {
 			list = knight_list
 			limit = {
 				NOR = {
 					this = scope:knight_1
	    			is_close_or_extended_family_of = scope:knight_1
	    			has_relation_friend = scope:knight_1
	    		}
 				court_8160_knight_trigger = yes
 			}
 			order_by = prowess
 			save_scope_as = knight_2
 			court_event_character_flag_effect = yes
 			assign_quirk_effect = yes
 			if = {
	 			limit = {
	 				NOT = { has_relation_rival = scope:knight_1 }
	 			}
	 			set_relation_rival = {
	 				target = scope:knight_1
	 				reason = rival_age_old_rivalry
	 			}
	 		}
 		}
    }

    option = { # employ them both
        name = court.8160.a
        trigger = {
        	OR = {
        		any_court_position_holder = {
        			type = bodyguard_court_position
        			count < 1
        		}
        		AND = {
        			any_court_position_holder = {
        				type = bodyguard_court_position
        				count < 2
        			}
        			NOT = { employs_court_position = champion_court_position }
        		}
        		AND = {
        			any_court_position_holder = {
        				type = bodyguard_court_position
        				count < 2
        			}
        			NOT = { employs_court_position = akolouthos_court_position }
        			can_employ_court_position_type = akolouthos_court_position
        		}
        	}
        }
        court_position_grant_effect = { POS = bodyguard CANDIDATE = scope:knight_1 EMPLOYER = root }
        if = {
        	limit = {
        		any_court_position_holder = {
        			type = bodyguard_court_position
        			count = 1
        		}
        	}
			court_position_grant_effect = { POS = bodyguard CANDIDATE = scope:knight_2 EMPLOYER = root }
        }
        else_if = {
        	limit = {
        		NOT = { employs_court_position = champion_court_position }
        	}
        	court_position_grant_effect = { POS = champion CANDIDATE = scope:knight_2 EMPLOYER = root }
        }
        else = {
       	 	court_position_grant_effect = { POS = akolouthos CANDIDATE = scope:knight_2 EMPLOYER = root }
        }
        custom_tooltip = court.8160.a.tt
        scope:knight_1 = { add_character_flag = competing_knight_position }
        scope:knight_2 = { add_character_flag = competing_knight_position }
        stress_impact = {
        	wrathful = medium_stress_impact_gain
        	fickle = medium_stress_impact_gain
        	arbitrary = medium_stress_impact_gain
        }
        ai_chance = {
        	base = 100
        	ai_value_modifier = {
        		ai_compassion = 0.5
        		ai_sociability = 0.5
        	}
        }
    }


    option = { # Make it a safe duel
        name = court.8160.b
        change_current_court_grandeur = minor_court_grandeur_gain
		show_as_tooltip = {
			random_list = {
				2 = {
					modifier = { factor = scope:knight_1.prowess }
					show_chance = no
					desc = court.8160.a.tt_knight_1
					scope:knight_1 = { add_prestige = minor_prestige_gain }
					scope:knight_2 = {
						increase_wounds_effect = { REASON = duel }
					}
				}
				2 = {
					modifier = { factor = scope:knight_2.prowess }
					show_chance = no
					desc = court.8160.a.tt_knight_2
					scope:knight_2 = { add_prestige = minor_prestige_gain }
					scope:knight_1 = {
						increase_wounds_effect = { REASON = duel }
					}
				}
			}
		}
		configure_start_single_combat_effect = {
			SC_INITIATOR = scope:knight_2
			SC_ATTACKER = scope:knight_2
			SC_DEFENDER = scope:knight_1
			FATALITY = no
			FIXED = no
			LOCALE = throne_room
			OUTPUT_EVENT = court.8162
			INVALIDATION_EVENT = fp1_tbc.0102
		}
		stress_impact = {
			craven = medium_stress_impact_gain
			deceitful = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_boldness = 1
				ai_honor = 1
			}
		}
    }

    option = { # Do not allow duel
        name = court.8160.d
        add_character_modifier = {
        	modifier = fostering_competitiveness_modifier
        	years = 10
        }
		reverse_add_opinion = {
			target = scope:knight_1
			modifier = disappointed_opinion
			opinion = -5
		}
		reverse_add_opinion = {
			target = scope:knight_2
			modifier = disappointed_opinion
			opinion = -5
		}
        stress_impact = {
			arbitrary = medium_stress_impact_gain
			wrathful = medium_stress_impact_gain
			vengeful = medium_stress_impact_gain
			fickle = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = 0.5
				ai_rationality = 1
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = arbitrary
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = wrathful
			}
			modifier = {	#Weight down for stress.
				add = -15
				has_trait = vengeful
			}
		}
    }
    after = {
    	scope:knight_1 = {
    		clear_court_event_participation = yes
    	}
    	scope:knight_2 = {
    		clear_court_event_participation = yes
    	}
    }
}

court.8162 = {
	hidden = yes

	immediate = {
		scope:sc_victor.liege = {
			send_interface_toast = {
				title = hold_court.8031.t
				left_icon = scope:sc_victor
				right_icon = scope:sc_loser
				scope:sc_victor = {
					add_prestige = minor_prestige_gain
					custom_tooltip = court.8162.tt
					add_character_flag = best_knight_position
				}
			}
		}
	}
}


#########################
# Pariah of Court		#
# by Joe Parkin 		#
#########################

scripted_trigger kinslayer_crime_trigger = {
	AND = {
		liege.faith = {
			NOR = {
				has_doctrine = doctrine_kinslaying_accepted
				has_doctrine = doctrine_kinslaying_shunned
			}
		}
		OR = {
			has_trait = kinslayer_1
			has_trait = kinslayer_2
			has_trait = kinslayer_3
		}
	}
}

scripted_trigger cannibal_crime_trigger = {
	AND = {
		NOT = {
			liege.faith = { has_doctrine = tenet_ritual_cannibalism }
		}
		has_trait = cannibal
	}
}

scripted_trigger witch_crime_trigger = {
	AND = {
		liege.faith = { has_doctrine_parameter = witchcraft_illegal }
		has_trait = witch
	}
}

scripted_trigger deviant_crime_trigger = {
	AND = {
		liege.faith = { has_doctrine_parameter = deviancy_illegal }
		has_trait = deviant
	}
}

scripted_trigger sodomite_crime_trigger = {
	AND = {
		liege.faith = { has_doctrine = doctrine_homosexuality_crime }
		is_male = yes
		has_trait = sodomite
	}
}

scripted_trigger incest_crime_trigger = {
	AND = {
		liege.faith = {
			NOT = { has_doctrine = doctrine_consanguinity_unrestricted }
		}
		has_trait = incestuous
	}
}

scripted_trigger adultery_crime_trigger = {
	AND = {
		OR = {
			AND = {
				liege.faith = { has_doctrine = doctrine_adultery_women_crime }
				is_female = yes
			}
			AND = {
				liege.faith = { has_doctrine = doctrine_adultery_men_crime }
				is_male = yes
			}
		}
		OR = {
			has_trait = adulterer
			has_trait = fornicator
		}
	}
}

scripted_trigger excommunicated_crime_trigger = {
	AND = {
		faith = liege.faith
		has_trait = excommunicated
	}
}

scripted_trigger faith_crime_trigger = {
	AND = {
		faith = {
			faith_hostility_level = {
				target = ROOT.faith
				value >= faith_hostile_level
			}
		}
	}
}

scripted_trigger is_illegal_criminal_trigger = {
	exists = liege.faith
	OR = {
		kinslayer_crime_trigger = yes
		cannibal_crime_trigger = yes
		witch_crime_trigger = yes
		deviant_crime_trigger = yes
		sodomite_crime_trigger = yes
		incest_crime_trigger = yes
		adultery_crime_trigger = yes
		excommunicated_crime_trigger = yes
		faith_crime_trigger = yes
		has_trait = denounced
	}
}

scripted_trigger court_8170_criminal_trigger = {
	is_imprisoned = no
	is_landed = no
	is_illegal_criminal_trigger = yes
	NOR = {
		has_relation_lover = root
		has_relation_soulmate = root
	}
}

scripted_effect court_8170_torture_etc_end_effect = {
	if = {
	   limit = { has_relation_friend = scope:criminal }
	   stress_impact = { base = major_stress_impact_gain }
	}
	if = {
		limit = { is_close_family_of = scope:criminal }
		stress_impact = { base = medium_stress_impact_gain }
	}
	if = {
		limit = { is_extended_family_of = scope:criminal }
		stress_impact = { base = minor_stress_impact_gain }
	}
	if = {
		limit = { has_relation_rival = scope:criminal }
		stress_impact = { base = medium_stress_impact_loss }
	}
	stress_impact = {
		compassionate = major_stress_impact_gain
	}
}

scripted_effect court_8170_torture_etc_setup_effect = {
	change_current_court_grandeur = medium_court_grandeur_gain
    add_legitimacy = miniscule_legitimacy_gain
    add_character_modifier = {
    	modifier = fast_hard_justice_modifier
    	years = 10
    }
    rightfully_imprison_character_effect = {
		TARGET = scope:criminal
		IMPRISONER = root
	}
	#Needed for the scripted effects below
	root = { save_scope_as = actor }
	scope:criminal = { save_scope_as = recipient }
}

court.8170 = {
    type = court_event
    title = court.8170.t
    desc = {
   	 	first_valid = {
			triggered_desc = {
				trigger = {
					scope:criminal = {
						OR = {
							kinslayer_crime_trigger = yes
							cannibal_crime_trigger = yes
							witch_crime_trigger = yes
						}
					}
				}
				desc = court.8170.desc.intro_scary
			}
			triggered_desc = {
				trigger = {
					scope:criminal = {
						OR = {
							deviant_crime_trigger = yes
							sodomite_crime_trigger = yes
							incest_crime_trigger = yes
							adultery_crime_trigger = yes
						}
					}
				}
				desc = court.8170.desc.intro_sordid
			}
			triggered_desc = {
				trigger = {
					scope:criminal = {
						OR = {
							excommunicated_crime_trigger = yes
							faith_crime_trigger = yes
						}
					}
				}
				desc = court.8170.desc.intro_religious
			}
			desc = court.8170.desc.intro_fallback
		}
    	desc = court.8170.desc.body
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:criminal = { is_close_or_extended_family_of = ROOT }
				}
				desc = court.8170.desc.family
			}
			triggered_desc = {
				trigger = {
					scope:criminal = { is_pool_guest = yes }
				}
				desc = court.8170.desc.guest
			}
			desc = court.8170.desc.fallback
		}
    }
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:criminal
        roles = {
            scope:criminal = {
                group = event_group
                animation = shame
            }
        }
    }

    trigger = {
    	NOT = { court_8170_criminal_trigger = yes }
    	any_courtier_or_guest = {
    		court_8170_criminal_trigger = yes
    		has_court_event_flag = no
		}
    }

    weight_multiplier = {
        base = 1
        modifier = {
        	any_courtier_or_guest = {
        		is_close_or_extended_family_of = root
    			court_8170_criminal_trigger = yes
        	}
        	add = 1
        }
        modifier = {
        	any_courtier_or_guest = {
        		is_of_major_or_minor_interest_trigger = { CHARACTER = root }
    			court_8170_criminal_trigger = yes
        	}
        	add = 0.5
        }
    }

    immediate = {
    	random_courtier_or_guest = {
    		limit = {
    			is_close_or_extended_family_of = root
    			court_8170_criminal_trigger = yes
    		}
    		alternative_limit = {
    			is_of_major_or_minor_interest_trigger = { CHARACTER = root }
    			court_8170_criminal_trigger = yes
    		}
    		alternative_limit = {
    			is_courtier = yes
    			court_8170_criminal_trigger = yes
    		}
    		alternative_limit = { court_8170_criminal_trigger = yes }
	    	save_scope_as = criminal
	    	court_event_character_flag_effect = yes
    	}
    }

    option = { # Let them stay: dark deals to protect you
        name = {
        	text = court.8170.a.family
        	trigger = {
        		scope:criminal = { is_close_or_extended_family_of = root }
        	}
        }
        name = {
        	text = court.8170.a.other
        	trigger = {
        		NOT = {
        			scope:criminal = { is_close_or_extended_family_of = root }
        		}
        	}
        }
        change_current_court_grandeur = medium_court_grandeur_loss
        add_character_modifier = {
        	modifier = harbors_criminals_modifier
        	years = 10
        }
        reverse_add_opinion = {
    		target = scope:criminal
    		modifier = grateful_opinion
    		opinion = 10
    	}
        stress_impact = {
        	just = major_stress_impact_gain
        	vengeful = medium_stress_impact_gain
        	diligent = medium_stress_impact_gain
        	honest = medium_stress_impact_gain
        	zealous = medium_stress_impact_gain
        }
        ai_chance = {
        	base = 100
        	modifier = {
        		has_trait = just
        		add = -75
        	}
        	modifier = {
        		has_trait = diligent
        		add = -50
        	}
        	modifier = {
        		has_trait = honest
        		add = -50
        	}
        	ai_value_modifier = {
        		ai_zeal = -0.5
        		ai_vengefulness = -1
        	}
        }
    }

    option = { # Big deal of punishing them: blind
        name = court.8170.c1
        trigger = {
        	scope:criminal = { NOT = { has_trait = blind } }
			culture = { has_cultural_parameter = can_blind_prisoners }
        }
        court_8170_torture_etc_setup_effect = yes
		blind_recipient_effect = yes
		# House Feud
		add_character_flag = house_feud_blinding_flag
		house_feud_torture_event_effect = yes
		court_8170_torture_etc_end_effect = yes
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = -1
				ai_vengefulness = 1
			}
		}
	}

	option = { #castrate
		name = court.8170.c2
		trigger = {
			scope:criminal = {
				NOT = { has_trait = eunuch }
				is_male = yes
				culture = {
					has_cultural_parameter = can_castrate_prisoners
				}
			}
		}
        court_8170_torture_etc_setup_effect = yes
		castrate_recipient_effect = yes
		# House Feud
		add_character_flag = house_feud_castration_flag
		house_feud_torture_event_effect = yes
		court_8170_torture_etc_end_effect = yes
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = -1
				ai_vengefulness = 1
			}
		}
	}

	option = { #execute
		name = court.8170.c3
		court_8170_torture_etc_setup_effect = yes
		execute_prisoner_effect = {
			VICTIM = scope:recipient
			EXECUTIONER = scope:actor
		}
		if = {
			limit = {
				scope:actor.capital_county = {
					NOT = { has_county_modifier = held_public_execution_modifier }
				}
			}
			scope:actor = {
				capital_county = {
					add_county_modifier = {
						modifier = held_public_execution_modifier
						days = 1850
					}
				}
				custom_tooltip = public_execution_control_effect
				hidden_effect = {
					every_held_title = {
						title_tier = county
						change_county_control = executioner_control_value
					}
				}
			}
		}
		court_8170_torture_etc_end_effect = yes
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = -1
				ai_vengefulness = 1
			}
		}
	}

    option = { # Kick out - opt out
        name = court.8170.d
        change_current_court_grandeur = minor_court_grandeur_gain
        if = {
	    	limit = { has_relation_friend = scope:criminal }
	    	stress_impact = { base = medium_stress_impact_gain }
	    }
	    if = {
	    	limit = { is_close_family_of = scope:criminal }
	    	stress_impact = { base = minor_stress_impact_gain }
	    }
	    if = {
	    	limit = { is_extended_family_of = scope:criminal }
	    	stress_impact = { base = miniscule_stress_impact_gain }
	    }
	  	if = {
	    	limit = { has_relation_rival = scope:criminal }
	    	stress_impact = { base = medium_stress_impact_loss }
	    }
	    stress_impact = {
	    	compassionate = minor_stress_impact_gain
	    }
        hidden_effect = {
        	scope:criminal = { select_and_move_to_pool_effect = yes }
        }
        show_as_tooltip = { remove_courtier_or_guest = scope:criminal }
        ai_chance = {
        	base = 100
        	ai_value_modifier = {
        		ai_energy = -1
        	}
        }
    }
    after = {
    	scope:criminal ?= {
    		clear_court_event_participation = yes
    	}
    }
}

#########################
# Secrets and Lies		#
# by Joe Parkin 		#
#########################

scripted_trigger court_8180_secret_trigger = {
	exists = secret_owner
	is_criminal_for = secret_owner
	any_secret_knower = { this = root }
	NOT = { secret_target ?= root }
}

scripted_trigger court_8180_relation_trigger = {
	is_available_ai_adult = yes
	any_secret = { court_8180_secret_trigger = yes }
	is_of_major_or_minor_interest_trigger = { CHARACTER = root }
}

court.8180 = {
    type = court_event
    title = court.8180.t
    desc = court.8180.desc.intro
    theme = court
    cooldown = { years = 10 }
    court_scene = {
        button_position_character = scope:criminal
        roles = {
            scope:criminal = {
                group = event_group
                animation = worry
            }
        }
    }

    trigger = {
    	any_courtier_or_guest = {
    		court_8180_relation_trigger = yes
			has_court_event_flag = no
   		}
    }

    weight_multiplier = {
        base = 1
        modifier = {
        	cp:councillor_spymaster.intrigue >= 15
        	add = 1
        }
        modifier = {
        	cp:councillor_spymaster ?= { is_performing_council_task = task_find_secrets }
        	add = 1
        }
    }

    immediate = {
    	random_courtier_or_guest = {
    		limit = {
    			court_8180_relation_trigger = yes
    			has_court_event_flag = no
    		}
	    	save_scope_as = criminal
	    	court_event_character_flag_effect = yes
	    	random_secret = {
	    		limit = { court_8180_secret_trigger = yes }
	    		save_scope_as = criminal_secret
	    	}
    	}
    	save_scope_as = knower # custom_loc
    	save_scope_as = actor # blackmail interaction
        scope:criminal = { save_scope_as = recipient } # blackmail interaction
        scope:criminal_secret = { save_scope_as = target } # blackmail interaction
    }

    option = { # Blackmail
        name = court.8180.b
        trigger = {
        	NOT = { has_hook = scope:criminal }
        }
        blackmail_interaction_effect = yes
        scope:criminal = {
        	add_character_modifier = {
        		modifier = liege_scrutiny_modifier
        		years = 20
        	}
        }
        stress_impact = {
    		forgiving = major_stress_impact_gain
    		honest = medium_stress_impact_gain
    		gregarious = medium_stress_impact_gain
    		lazy = minor_stress_impact_gain
    		compassionate = minor_stress_impact_gain
        }
        ai_chance = {
        	base = 100
        	ai_value_modifier = {
        		ai_vengefulness = 0.5
        		ai_compassion = -0.5
        	}
        }
    }

    option = { # Punish
        name = court.8180.c
        change_current_court_grandeur = minor_court_grandeur_loss
        scope:criminal_secret = { expose_secret = root }
        hidden_effect = {
	        rightfully_imprison_character_effect = {
				TARGET = scope:criminal
				IMPRISONER = root
			}
		}
		show_as_tooltip = {
			imprison = { target = scope:criminal type = house_arrest }
		}
		add_character_modifier = {
			modifier = court_without_secrets_modifier
			years = 15
		}
		custom_tooltip = court.6002.a.tt2
		stress_impact = {
    		arbitrary = minor_stress_impact_gain
    		cynical = minor_stress_impact_gain
    		deceitful = medium_stress_impact_gain
    		compassionate = medium_stress_impact_gain
        }
        ai_chance = {
        	base = 100
        	ai_value_modifier = {
        		ai_rationality = 0.5
        		ai_zeal = 0.5
        	}
        }
    }

    option = { # Do nothing - opt out
        name = court.8180.e
        stress_impact = {
    		base = minor_stress_impact_loss
    		lazy = minor_stress_impact_loss
    		compassionate = minor_stress_impact_loss
    		vengeful = medium_stress_impact_gain
    		zealous = medium_stress_impact_gain
    		diligent = medium_stress_impact_gain
    		deceitful = major_stress_impact_gain
        }
        ai_chance = {
        	base = 75
        }
    }
    after = {
    	scope:criminal = {
    		clear_court_event_participation = yes
    	}
    }
}





##################################################
# Oltner

##################################################
# 9000 - 9009	A Knight's Declaration
# 9100 - 9109	Epicurean Entertainment
# 9300 - 9309	Overt Overindulgence
# 9400 - 9409	Pie-based Shenanigans
# 9500 - 9509	A Little Language
##################################################

#########################
# A Knight's Declaration
# by Alexander Oltner
#########################

scripted_trigger suitably_flirty_knight = {
	is_available_adult = yes
	is_courtier_of = root
	is_attracted_to_gender_of = root.primary_spouse
	can_start_scheme = {
		type = courting
		target_character = root.primary_spouse
	}
	NOR = {
		has_trait = chaste
		has_trait = celibate
		has_relation_lover = root.primary_spouse
	}
	would_attempt_to_seduce_married_trigger = yes
	would_attempt_to_seduce_trigger = { CHARACTER = root.primary_spouse }
	might_cheat_on_every_partner_trigger = yes
}

# A Knight's Declaration
court.9000 = {
	type = court_event
	title = court.9000.t
	desc = court.9000.desc
	theme = court

	court_scene = {
		button_position_character = scope:flirty_knight
		roles = {
			scope:flirty_knight = {
				group = event_group
				animation = flirtation_left
			}
			scope:flirty_spouse = {
				group = event_group
				animation = flirtation
			}
		}
	}

	cooldown = {
		years = 10
	}

	trigger = {
		is_available_adult = yes
		is_married = yes
		any_knight = {
			suitably_flirty_knight = yes
			has_court_event_flag = no
			save_temporary_scope_as = attraction_check
		}
		primary_spouse = {
			is_available_adult = yes
			has_court_event_flag = no
			is_courtier_of = root
			is_attracted_to_gender_of = scope:attraction_check
			NOR = {
				has_trait = chaste
				has_trait = celibate
				has_relation_lover = scope:attraction_check
			}
		}
	}

	weight_multiplier = {
		base = 1

		modifier = {
			root.primary_spouse = { might_cheat_on_every_partner_trigger = yes }
			add = 1
		}
		modifier = {
			culture = { has_cultural_tradition = tradition_chivalry }
			add = 2
		}

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

	immediate = {
		primary_spouse = {
			save_scope_as = flirty_spouse
			court_event_character_flag_effect = yes
		}
		random_knight = {
			limit = {
				suitably_flirty_knight = yes
			}
			weight = {
				base = 1
				modifier = {
					add = 10
					OR = {
						has_trait = lustful
						has_trait = seducer
					}
				}
				modifier = {
					add = 10
					has_trait = lifestyle_poet
				}
			}
			hidden_effect = {
				if = {
					limit = {
						NOT = {
							has_trait = lifestyle_poet
						}
					}
					add_trait = lifestyle_poet
				}
			}
			save_scope_as = flirty_knight
			court_event_character_flag_effect = yes

			# Set up a subject gender.
			select_poem_subject_gender_effect = {
				SUBJECT = flag:specific
				SUBJECT_TARGET = scope:flirty_spouse
			}
			# Roll for theme.
			select_poem_theme_romance_effect = yes
		}
	}

	option = { # Stop this at once!
		name = court.9000.b

		custom_tooltip = court_9000_b_tt

		add_prestige = minor_prestige_loss
		add_character_modifier = {
			modifier = detractor_of_courtly_love_modifier
			years = 20
		}
		custom_tooltip = court_9000.b.tt
		scope:flirty_spouse = {
			add_opinion = {
				target = root
				modifier = rude_opinion
				opinion = -20
			}
		}
		scope:flirty_knight = {
			hidden_effect = {
				random = {
					chance = 35
					start_scheme = {
						type = courting
						target_character = scope:flirty_spouse
					}
				}
			}
		}

		stress_impact = {
			trusting = massive_stress_impact_gain
			forgiving = medium_stress_impact_gain
			chaste = medium_stress_impact_gain
			calm = medium_stress_impact_gain
			shy = medium_stress_impact_gain
			gregarious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				OR = {
					has_trait = trusting
					has_trait = forgiving
				}
			}
		}
	}

	option = { # Let it go on!
		name = court.9000.c

		custom_tooltip = court_9000_c_tt

		change_current_court_grandeur = major_court_grandeur_gain
		add_character_modifier = {
			modifier = promoter_of_courtly_love_modifier
			years = 20
		}
		custom_tooltip = court_9000.c.tt
		scope:flirty_knight = {
			create_inspiration = book_inspiration
			hidden_effect = {
				start_scheme = {
					type = courting
					target_character = scope:flirty_spouse
				}
			}
		}

		stress_impact = {
			paranoid = massive_stress_impact_gain
			arrogant = major_stress_impact_gain
			vengeful = medium_stress_impact_gain
			lustful = medium_stress_impact_gain
			callous = minor_stress_impact_gain
			sadistic = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				OR = {
					has_trait = paranoid
					has_trait = arrogant
					has_trait = vengeful
				}
			}
		}
	}
	after = {
		scope:flirty_knight = {
			clear_court_event_participation = yes
		}
		scope:flirty_spouse = {
			clear_court_event_participation = yes
		}
	}
}

# A Knight's Dedication
court.9001 = {
	type = court_event
	title = court.9001.t
	desc = court.9001.desc
	theme = court

	court_scene = {
		button_position_character = scope:flirty_knight
		roles = {
			scope:flirty_knight = {
				group = event_group
				animation = flirtation_left
			}
			scope:flirty_spouse = {
				group = event_group
				animation = flirtation
			}
		}
	}

	cooldown = {
		years = 30
	}

	trigger = {
		is_available_adult = yes
		is_married = yes
		primary_spouse = {
			is_available_adult = yes
			has_court_event_flag = no
			is_courtier_of = root
			NOT = {
				has_relation_soulmate = root
			}
			might_cheat_on_every_partner_trigger = yes

			any_targeting_scheme = {
				scheme_owner = {
					is_available_adult = yes
					is_courtier_of = root
					has_court_event_flag = no
					save_temporary_scope_as = attraction_check
				}
				scheme_type = courting
			}

			is_attracted_to_gender_of = scope:attraction_check
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			culture = { has_cultural_tradition = tradition_chivalry }
			add = 2
		}
		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
	}

	immediate = {
		save_scope_as = root_for_loc
		primary_spouse = {
			save_scope_as = flirty_spouse
			court_event_character_flag_effect = yes
			random_targeting_scheme = {
				limit = {
					scheme_owner = {
						is_available_adult = yes
						is_courtier_of = root
						scope:flirty_spouse = {
							is_attracted_to_gender_of = prev
						}
					}
					scheme_type = courting
				}
				scheme_owner = {
					save_scope_as = flirty_knight
					court_event_character_flag_effect = yes
				}
			}
		}
	}

	option = { # Duel them
		name = court.9001.a

		trigger = {
			can_start_single_combat_trigger = yes
			scope:flirty_knight = {
				can_be_warrior_trigger = { ARMY_OWNER = root }
				can_start_single_combat_trigger = yes
			}
		}
		custom_tooltip = court.9001.a.tt

		configure_start_single_combat_effect = {
			SC_INITIATOR = root
			SC_ATTACKER = root
			SC_DEFENDER = scope:flirty_knight
			FATALITY = no
			FIXED = no
			LOCALE = throne_room
			OUTPUT_EVENT = court.9003
			INVALIDATION_EVENT = court.9002
		}
		add_prestige = medium_prestige_gain
		ai_chance = {
			base = 25
			modifier = {
				factor = 0.1
				OR = {
					has_trait = trusting
					has_trait = forgiving
					has_trait = chaste
				}
			}
		}
	}

	option = { # Banish the knight
		name = court.9001.b

		add_gold = 5

		scope:flirty_knight = {
			banish_effect = { BANISHER = root }
			hidden_effect = {
				if = {
					limit = {
						any_scheme = {
							type = courting
							scheme_target_character = scope:flirty_spouse
						}
					}
					random_scheme = {
						type = courting
						limit = {
							scheme_target_character = scope:flirty_spouse
						}
						end_scheme = yes
					}
				}
			}
		}
		if = {
			limit = {
				NOR = {
					has_character_modifier = detractor_of_courtly_love_modifier
					has_character_modifier = promoter_of_courtly_love_modifier
				}
			}
			add_character_modifier = {
				modifier = detractor_of_courtly_love_modifier
				years = 20
			}
			custom_tooltip = court_9000.b.tt
		}
		else = {
			add_hook = {
				target = scope:flirty_spouse
				type = loyalty_hook
			}
		}

		scope:flirty_spouse = {
			progress_towards_rival_effect = {
				CHARACTER = root
				REASON = rival_banished_knight
				OPINION = 0
			}

			add_opinion = {
				modifier = how_could_you_opinion
				target = root
			}
		}

		stress_impact = {
			trusting = massive_stress_impact_gain
			forgiving = medium_stress_impact_gain
			chaste = medium_stress_impact_gain
			calm = medium_stress_impact_gain
			shy = medium_stress_impact_gain
			gregarious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				OR = {
					has_trait = trusting
					has_trait = forgiving
					has_trait = chaste
				}
			}
		}
	}

	option = { # Let it go on!
		name = court.9001.c

		change_current_court_grandeur = major_court_grandeur_gain
		if = {
			limit = {
				NOR = {
					has_character_modifier = promoter_of_courtly_love_modifier
					has_character_modifier = detractor_of_courtly_love_modifier
				}
			}
			add_character_modifier = {
				modifier = promoter_of_courtly_love_modifier
				years = 20
			}
			custom_tooltip = court_9000.c.tt
		}
		else =  { add_prestige = medium_prestige_gain }

		stress_impact = {
			paranoid = massive_stress_impact_gain
			arrogant = major_stress_impact_gain
			vengeful = medium_stress_impact_gain
			callous = minor_stress_impact_gain
			sadistic = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				OR = {
					has_trait = paranoid
					has_trait = arrogant
					has_trait = vengeful
				}
			}
		}
	}
	after = {
		scope:flirty_knight = {
			clear_court_event_participation = yes
		}
		scope:flirty_spouse = {
			clear_court_event_participation = yes
		}
	}
}

# Invalidated
court.9002 = {
	hidden = yes

	immediate = {
		# Inform both parties that the duel has invalidated.
		scope:root_for_loc = {
			send_interface_toast = {
				title = court.9002.trigger_failure
				left_icon = scope:flirty_knight
			}
		}
	}
}

# Outcome
court.9003 = {
	hidden = yes

	immediate = {
		if = {
			limit = {
				scope:root_for_loc = scope:sc_victor
			}
			trigger_event = { id = court.9004 }
		}
		else = {
			trigger_event = { id = court.9005 }
		}
	}
}

# Won
court.9004 = {
	type = character_event
	title = court.9004.t
	desc = court.9004.desc
	theme = education
	left_portrait = {
		character = scope:flirty_spouse
		animation = dismissal
	}
	right_portrait = {
		character = scope:flirty_knight
		animation = pain
	}

	trigger = {

	}

	immediate = {

	}

	option = { # Leave my spouse alone!
		name = court.9004.a

		scope:flirty_knight = {
			if = {
				limit = {
					any_scheme = {
						type = courting
						scheme_target_character = scope:flirty_spouse
					}
				}
				random_scheme = {
					type = courting
					limit = {
						scheme_target_character = scope:flirty_spouse
					}
					end_scheme = yes
				}
			}
			if = {
				limit = {
					has_relation_lover = scope:flirty_spouse
				}
				remove_relation_lover = scope:flirty_spouse
			}
			if = {
				limit = {
					has_relation_potential_lover = scope:flirty_spouse
				}
				remove_relation_potential_lover = scope:flirty_spouse
			}
			if = {
				limit = {
					has_relation_soulmate = scope:flirty_spouse
				}
				remove_relation_soulmate = scope:flirty_spouse
			}
			create_inspiration = book_inspiration
		}
		if = {
			limit = {
				can_add_hook = {
					target = scope:flirty_knight
					type = loyalty_hook
				}
			}
			add_hook = {
				type = loyalty_hook
				target = scope:flirty_knight
			}
		}

		add_character_modifier = {
			modifier = knight_of_love_modifier
			years = 20
		}
		scope:flirty_spouse = {
			add_opinion = {
				target = scope:flirty_knight
				modifier = disappointed_opinion
				opinion = -40
			}
			add_opinion = {
				modifier = impressed_opinion
				target = root
				opinion = 40
			}
			if = {
				limit = {
					can_set_relation_lover_trigger = { CHARACTER = root }
				}
				set_relation_lover = { reason = lover_dueled_for_love target = root involved_character = scope:flirty_knight }
			}
		}

		ai_chance = {
			base = 100
		}
	}
}

# Beaten
court.9005 = {
	type = character_event
	title = court.9005.t
	desc = court.9005.desc
	theme = family
	left_portrait = {
		character = scope:flirty_spouse
		animation = flirtation_left
	}
	right_portrait = {
		character = scope:flirty_knight
		animation = flirtation
	}
	override_background = { reference = study }

	trigger = {

	}

	immediate = {

	}

	option = {
		name = court.9005.a

		scope:flirty_knight = {
			hidden_effect = {
				if = {
					limit = {
						has_relation_lover = scope:flirty_spouse
					}
					remove_relation_lover = scope:flirty_spouse
				}
				if = {
					limit = {
						has_relation_potential_lover = scope:flirty_spouse
					}
					remove_relation_potential_lover = scope:flirty_spouse
				}
				if = {
					limit = {
						has_relation_soulmate = scope:flirty_spouse
					}
					remove_relation_soulmate = scope:flirty_spouse
				}
			}
		}

		scope:flirty_spouse = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -40
			}
			add_opinion = {
				modifier = impressed_opinion
				target = scope:flirty_knight
				opinion = 40
			}
			if = {
				limit = {
					can_set_relation_soulmate_trigger = { CHARACTER = scope:flirty_knight }
				}
				set_relation_soulmate = { reason = soulmate_won_love_in_duel copy_reason = lover target = scope:flirty_knight }
			}
			else_if = {
				limit = {
					can_set_relation_lover_trigger = { CHARACTER = scope:flirty_knight }
				}
				set_relation_lover = { reason = lover_dueled_for_love target = scope:flirty_knight involved_character = root }
			}
		}
		add_character_modifier = {
			modifier = fought_for_courtly_love_modifier
			years = 20
		}
		add_prestige = major_prestige_loss
		if = {
			limit = {
				scope:flirty_knight = {
					government_allows = administrative
				}
			}
			scope:flirty_knight = {
				change_influence = medium_influence_gain
			}
		}
		else = {
			scope:flirty_knight = { add_prestige = major_prestige_gain }
		}

		ai_chance = {
			base = 100
		}
	}
}

#########################
# Epicurean Entertainment
# by Alexander Oltner
#########################

# Your courtiers love your expensive food!
court.9100 = {
	type = court_event
	title = court.9100.t
	desc = court.9100.desc
	theme = court

	court_scene = {
		button_position_character = scope:food_lover_1
		roles = {
			scope:food_lover_1 = {
				group = event_group
				animation = ecstasy
			}
			scope:food_lover_2 = {
				group = event_group
				animation = admiration
			}
			scope:food_lover_3 = {
				group = event_group
				animation = personality_greedy
			}
		}
	}

	cooldown = {
		years = 10
	}

	trigger = {
		is_available = yes
		age >= 10
		amenity_level = { target = court_food_quality value >= 3 }
		any_courtier_or_guest = {
			is_available_ai_adult = yes
			has_court_event_flag = no
			NOR = {
				has_trait = temperate
				has_trait = inappetetic
				has_relation_rival = root
			}
			is_of_major_or_minor_interest_trigger = { CHARACTER = root }
			count >= 3
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
	}

	immediate = {
		hidden_effect = {
			random_courtier_or_guest = {
				limit = {
					is_available_ai_adult = yes
					NOR = {
						has_trait = temperate
						has_trait = inappetetic
						has_relation_rival = root
					}
					is_of_major_or_minor_interest_trigger = { CHARACTER = root }
				}
				weight = {
					base = 1
					modifier = {
						add = 100
						loves_food_trigger = yes
					}
					modifier = {
						add = 50
						has_relation_potential_friend = root
					}
					modifier = {
						add = 30
						is_of_major_interest_to_root_trigger = yes
					}
				}
				save_scope_as = food_lover_1
				court_event_character_flag_effect = yes
				change_current_weight = 15
			}
			random_courtier_or_guest = {
				limit = {
					is_available_ai_adult = yes
					NOR = {
						has_trait = temperate
						has_trait = inappetetic
						has_relation_rival = root
					}
					is_of_major_or_minor_interest_trigger = { CHARACTER = root }
					this != scope:food_lover_1
				}
				weight = {
					base = 1
					modifier = {
						add = 100
						loves_food_trigger = yes
					}
					modifier = {
						add = 50
						has_relation_potential_friend = root
					}
					modifier = {
						add = 30
						is_of_major_interest_to_root_trigger = yes
					}
				}
				save_scope_as = food_lover_2
				court_event_character_flag_effect = yes
				change_current_weight = 15
			}
			random_courtier_or_guest = {
				limit = {
					is_available_ai_adult = yes
					NOR = {
						has_trait = temperate
						has_trait = inappetetic
						has_relation_rival = root
					}
					is_of_major_or_minor_interest_trigger = { CHARACTER = root }
					NOR = {
						this = scope:food_lover_1
						this = scope:food_lover_2
					}
				}
				weight = {
					base = 1
					modifier = {
						add = 100
						loves_food_trigger = yes
					}
					modifier = {
						add = 50
						has_relation_potential_friend = root
					}
					modifier = {
						add = 30
						is_of_major_interest_to_root_trigger = yes
					}
				}
				save_scope_as = food_lover_3
				court_event_character_flag_effect = yes
				change_current_weight = 15
			}
		}
	}

	option = { # More working, less stuffing faces!
		name = court.9100.a
		trigger = {
			NOT = { government_has_flag = government_is_mandala }
		}
		add_character_modifier = {
			modifier = more_work_less_fun_modifier
			years = 15
			desc = feasts_more_expensive_modifier_tt
		}
		custom_tooltip = feasts_more_expensive_tt
		stress_impact = {
			gregarious = major_stress_impact_gain
			gluttonous = major_stress_impact_gain
			lazy = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				OR = {
					has_trait = gregarious
					has_trait = gluttonous
					has_trait = lazy
				}
			}
		}
	}

	option = { # You all deserve the best!
		name = court.9100.b
		add_character_modifier = {
			modifier = promise_of_feasts_modifier
			years = 15
		}
		progress_towards_friend_effect = {
			REASON = friend_fellow_food_lover
			CHARACTER = scope:food_lover_1
			OPINION = default_friend_opinion
		}
		progress_towards_friend_effect = {
			REASON = friend_fellow_food_lover
			CHARACTER = scope:food_lover_2
			OPINION = default_friend_opinion
		}
		progress_towards_friend_effect = {
			REASON = friend_fellow_food_lover
			CHARACTER = scope:food_lover_3
			OPINION = default_friend_opinion
		}

		stress_impact = {
			sadistic = massive_stress_impact_gain
			greedy = medium_stress_impact_gain
			callous = medium_stress_impact_gain
			temperate = medium_stress_impact_gain
			shy = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				OR = {
					has_trait = sadistic
					has_trait = callous
					has_trait = temperate
					has_trait = greedy
					has_trait = shy
				}
			}
		}
	}

	option = { # Let them enjoy themselves in peace!
		name = court.9100.d

		change_current_court_grandeur = medium_court_grandeur_gain

		add_prestige = minor_prestige_gain

		stress_impact = {
			gregarious = minor_stress_impact_gain
			gluttonous = minor_stress_impact_gain
			fickle = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.5
				OR = {
					has_trait = gregarious
					has_trait = gluttonous
					has_trait = fickle
				}
			}
		}
	}
	after = {
		scope:food_lover_1 = {
			clear_court_event_participation = yes
		}
		scope:food_lover_2 = {
			clear_court_event_participation = yes
		}
		scope:food_lover_3 = {
			clear_court_event_participation = yes
		}
	}
}


#########################
# Overt Overindulgence
# by Alexander Oltner
#########################

# Someone eats all of the food!
court.9300 = {
	type = court_event
	title = court.9300.t
	desc = court.9300.desc
	theme = court

	court_scene = {
		button_position_character = scope:worried_courtier
		roles = {
			scope:worried_courtier = {
				group = event_group
				animation = fear
			}
			scope:overindulger_target = {
				group = event_group
				animation = admiration
			}
		}
	}

	cooldown = {
		years = 30
	}

	trigger = {
		is_available = yes
		age >= 10
		amenity_level = { target = court_food_quality value >= 4 }
		any_courtier = {
			is_available_ai_adult = yes
			has_court_event_flag = no
			save_temporary_scope_as = another_courtier_check
		}
		any_courtier_or_guest = {
			is_available_ai_adult = yes
			has_court_event_flag = no
			loves_food_trigger = yes
			NOR = {
				this = scope:another_courtier_check
				is_of_major_interest_to_root_trigger = yes
			}
			is_of_minor_interest_to_root_trigger = yes
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
	}

	immediate = {
		random_courtier = {
			limit = {
				is_available_ai_adult = yes
				has_court_event_flag = no
				save_temporary_scope_as = another_courtier_check
				root = {
					any_courtier_or_guest = {
						is_available_ai_adult = yes
						has_court_event_flag = no
						loves_food_trigger = yes
						NOR = {
							this = scope:another_courtier_check
							is_of_major_interest_to_root_trigger = yes
						}
						is_of_minor_interest_to_root_trigger = yes
					}
				}
			}
			weight = {
				base = 1
				modifier = {
					add = 100
					is_knight = yes
				}
			}
			save_scope_as = worried_courtier
			court_event_character_flag_effect = yes
		}
		random_courtier_or_guest = {
			limit = {
				is_available_ai_adult = yes
				has_court_event_flag = no
				loves_food_trigger = yes
				NOR = {
					this = scope:worried_courtier
					is_of_major_interest_to_root_trigger = yes
				}
				is_of_minor_interest_to_root_trigger = yes
			}
			hidden_effect = {
				change_current_weight = 100
				set_favorite_treat_effect = yes
				assign_quirk_effect = yes
				if = {
					limit = {
						NOT = {
							has_trait = comfort_eater
						}
					}
					add_trait = comfort_eater
				}
			}
			save_scope_as = overindulger_target
			court_event_character_flag_effect = yes
		}
	}

	option = { # Stealing the King's treats, are we!?
		name = court.9300.a
		if = {
			limit = {
				can_add_hook = {
					target = scope:overindulger_target
					type = major_threat_hook
				}
			}
			add_hook = {
				target = scope:overindulger_target
				type = major_threat_hook
			}
		}
		scope:overindulger_target = {
			progress_towards_rival_effect = {
				CHARACTER = root
				REASON = rival_overindulger_jailed
				OPINION = 0
			}
			pay_short_term_gold = {
				target = root
				gold = root.tiny_gold_value
			}
		}

		stress_impact = {
			forgiving = massive_stress_impact_gain
			compassionate = major_stress_gain
			patient = major_stress_impact_gain
			humble = medium_stress_impact_gain
			calm = medium_stress_impact_gain
			trusting = minor_stress_impact_gain
		}
		ai_chance = {
			base = 0
			modifier = {
				add = ai_vengefulness
			}
		}
	}

	option = { # By the gods, man, stop eating!
		name = court.9300.b

		duel = {
			skill = diplomacy
			value = 12

			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}

				desc = court.9300.b.success
				send_interface_toast = {
					title = court.9300.b.success
					left_icon = scope:overindulger_target
					add_prestige = medium_prestige_gain
					if = {
						limit = {
							government_allows = administrative
						}
						change_influence = medium_influence_gain
					}
					if = {
						limit = {
							can_add_hook = {
								target = scope:overindulger_target
								type = favor_hook
							}
						}
						add_hook = {
							target = scope:overindulger_target
							type = favor_hook
						}
					}
					scope:overindulger_target = {
						add_opinion = {
							target = root
							modifier = grateful_opinion
							opinion = 15
						}
						progress_towards_friend_effect = {
							REASON = friend_saved_me_from_myself
							CHARACTER = root
							OPINION = 0
						}
					}
				}
			}
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}

				desc = court.9300.b.failure
				send_interface_toast = {
					title = court.9300.b.failure
					left_icon = scope:overindulger_target

					scope:overindulger_target = {
						add_opinion = {
							target = root
							modifier = disappointed_opinion
							opinion = -25
						}
						progress_towards_rival_effect = {
							CHARACTER = root
							REASON = rival_overindulger_shamed
							OPINION = 0
						}
					}
				}
			}
		}

		stress_impact = {
			vengeful = massive_stress_impact_gain
			paranoid = major_stress_gain
			cynical = major_stress_impact_gain
			fickle = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				ai_compassion <= low_positive_ai_value
			}
		}
	}

	option = { # You're barred from the pantry...
		name = court.9300.d

		scope:overindulger_target = {
			add_opinion = {
				target = root
				opinion = -5
				modifier = disappointed_opinion
			}
			hidden_effect = {
				random = {
					chance = 50
					if = {
						limit = {
							can_set_relation_potential_rival_trigger = { CHARACTER = root }
						}
						set_relation_potential_rival = root
					}
				}
			}
		}

		stress_impact = {
			greedy = medium_stress_impact_gain
			ambitious = medium_stress_impact_gain
			wrathful = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				ai_vengefulness >= low_positive_ai_value
			}
		}
	}
	after = {
		scope:overindulger_target = {
			clear_court_event_participation = yes
		}
		scope:worried_courtier = {
			clear_court_event_participation = yes
		}
	}
}

#########################
# Pie-based Shenanigans
# by Alexander Oltner
#########################

scripted_trigger court_9400_court_jester_trigger = {
	is_available_ai_adult = yes
	has_trait = dwarf
}

scripted_trigger court_9400_courtier_trigger = {
	is_available_ai_adult = yes
	NOT = {
		is_cannibal_trigger = yes
	}
}

# Court Jester pie event, loosely based on Jeffrey Hudson
court.9400 = {
	type = court_event
	title = court.9400.t
	desc = court.9400.desc
	theme = court

	court_scene = {
		button_position_character = scope:pie_presenting_courtier
		roles = {
			scope:pie_presenting_courtier = {
				group = event_group
				animation = ecstasy
			}
			scope:court_jester = {
				group = event_group
				animation = happiness
			}
		}
	}

	cooldown = {
		years = 15
	}

	trigger = {
		is_available = yes
		age >= 10
		amenity_level = { target = court_food_quality value >= 2 }
		amenity_level = { target = court_servants value >= 2 }
		OR = {
			AND = {
				any_courtier = {
					court_9400_court_jester_trigger = yes
					has_court_event_flag = no
					save_temporary_scope_as = jester_check
				}
				any_courtier = {
					court_9400_courtier_trigger = yes
					has_court_event_flag = no
					this != scope:jester_check
				}
			}
			any_vassal = {
				court_9400_courtier_trigger = yes
				has_court_event_flag = no
				any_courtier = {
					court_9400_court_jester_trigger = yes
					has_court_event_flag = no
				}
			}
		}

	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_intrigue }
	}

	immediate = {
		save_scope_as = you_target
		random_vassal = {
			limit = {
				court_9400_courtier_trigger = yes
				has_court_event_flag = no
				any_courtier = {
					court_9400_court_jester_trigger = yes
					has_court_event_flag = no
				}
			}
			save_scope_as = pie_presenting_courtier
			court_event_character_flag_effect = yes
			random_courtier = {
				limit = {
					court_9400_court_jester_trigger = yes
					has_court_event_flag = no
				}
				save_scope_as = court_jester
				court_event_character_flag_effect = yes
			}
		}
		if = {
			limit = {
				NOR = {
					exists = scope:pie_presenting_courtier
					exists = scope:court_jester
				}
			}
			random_courtier = {
				limit = {
					court_9400_court_jester_trigger = yes
				}
				save_scope_as = court_jester
				court_event_character_flag_effect = yes
			}
			random_courtier = {
				limit = {
					court_9400_courtier_trigger = yes
				}
				weight = {
					base = 1
					modifier = {
						add = 10
						is_of_major_interest_to_root_trigger = yes
					}
					modifier = {
						add = 5
						is_of_minor_interest_to_root_trigger = yes
					}
				}
				save_scope_as = pie_presenting_courtier
				court_event_character_flag_effect = yes
			}
		}
		scope:pie_presenting_courtier = {
			progress_towards_friend_effect = {
				REASON = friend_played_trick_on_liege
				CHARACTER = scope:court_jester
				OPINION = 0
			}
		}
	}

	option = { # My favorite meal!
		name = court.9400.a

		trait = cannibal

		trigger = {
			is_cannibal_trigger = yes
		}

		if = {
			limit = {
				any_secret = {
					type = secret_cannibal
					NOT = {
						is_known_by = scope:pie_presenting_courtier
					}
				}
			}
			random_secret = {
				type = secret_cannibal
				limit = {
					NOT = {
						is_known_by = scope:pie_presenting_courtier
					}
				}
				reveal_to = scope:pie_presenting_courtier
			}
		}

		scope:pie_presenting_courtier = {
			add_opinion = {
				target = root
				modifier = absolutely_horrified_opinion
			}
		}

		add_character_modifier = {
			modifier = best_meal_of_my_life_modifier
			years = 15
		}

		unknown_murder_effect = {
			VICTIM = scope:court_jester
			MURDERER = root
			REASON = death_eaten
		}

		stress_impact = {
			base = massive_stress_impact_loss
			compassionate = massive_stress_impact_gain
		}
		ai_chance = {
			base = 200
			modifier = {
				factor = 0
				has_trait = compassionate
			}
		}
	}

	option = { # Reward them
		name = court.9400.b

		pay_short_term_gold = {
			target = scope:court_jester
			gold = root.tiny_gold_value
		}
		if = {
			limit = {
				scope:court_jester.location = {
					this != root.location
				}
			}
			scope:court_jester = {
				set_location = root.location
			}
		}
		if = {
			limit = {
				scope:court_jester = {
					NOT = {
						is_courtier_of = root
					}
				}
			}
			add_courtier = scope:court_jester
		}
		if = {
			limit = {
				can_employ_court_position_type = court_jester_court_position
				scope:court_jester = { can_be_employed_as = court_jester_court_position }
			}
			court_position_grant_effect = { POS = court_jester CANDIDATE = scope:court_jester EMPLOYER = root }
		}
		progress_towards_friend_effect = {
			REASON = friend_gave_gold
			CHARACTER = scope:court_jester
			OPINION = 0
		}

		scope:pie_presenting_courtier = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 25
			}
		}

		change_current_court_grandeur = medium_court_grandeur_gain

		stress_impact = {
			base = medium_stress_impact_loss
			paranoid = massive_stress_impact_gain
			greedy = massive_stress_impact_gain
			arrogant = medium_stress_impact_gain
			arbitrary = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				ai_compassion <= low_positive_ai_value
			}
			modifier = {
				factor = 0.1
				ai_greed >= low_positive_ai_value
			}
			modifier = {
				factor = 0
				has_trait = paranoid
			}
		}
	}

	option = { # Imprison them!
		name = court.9400.c
		trigger = {
			has_trait = paranoid
		}

		rightfully_imprison_character_effect = {
			TARGET = scope:court_jester
			IMPRISONER = root
		}

		if = {
			limit = {
				is_ai = yes
			}
			execute_prisoner_effect = {
				VICTIM = scope:court_jester
				EXECUTIONER = root
			} 
		}
		else = {
			scope:court_jester = {	
				progress_towards_rival_effect = {
					CHARACTER = root
					REASON = rival_jester_jailed
					OPINION = 0
				}
			}
		}
		
		add_character_modifier = {
			modifier = suspicious_against_pies_modifier
			years = 15
		}

		scope:pie_presenting_courtier = {
			add_opinion = {
				target = root
				modifier = disappointed_opinion
				opinion = -25
			}
		}

		stress_impact = {
			base = massive_stress_impact_loss
			compassionate = medium_stress_impact_gain
			forgiving = medium_stress_impact_gain
		}
		ai_chance = {
			base = 200
		}
	}

	option = { # Har har! Fantastic!
		name = court.9400.d

		scope:pie_presenting_courtier = {
			add_opinion = {
				target = root
				modifier = pleased_opinion
				opinion = 10
			}
		}

		stress_impact = {
			base = medium_stress_impact_loss
			paranoid = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				has_trait = paranoid
			}
		}
	}
	after = {
		scope:pie_presenting_courtier = {
			clear_court_event_participation = yes
		}
		scope:court_jester = {
			clear_court_event_participation = yes
		}
	}
}

#########################
# A Little Language
# by Alexander Oltner
#########################

scripted_trigger appropriate_tutor_trigger = {
	is_available_ai_adult = yes
	OR = {
		AND = {
			learning >= 10
			OR = {
				has_court_position = court_tutor_court_position
				is_eunuch_trigger = yes
			}
		}
		learning >= 20
	}
}

scripted_trigger appropriate_child_trigger = {
	age <= 20
	is_incapable = no
	is_imprisoned = no
	is_alive = yes
	is_ruler = no
	is_courtier_of = root
	culture = root.culture
	num_of_known_languages < 2
}

scripted_trigger has_a_good_language_trigger = {
	culture = {
		NOT = {
			has_same_culture_language = root.culture
		}
	}
}

# Someone offers to teach your child a language
court.9500 = {
	type = court_event
	title = court.9500.t
	desc = court.9500.desc
	theme = court

	cooldown = {
		years = 10
	}

	court_scene = {
		button_position_character = scope:child_to_learn_language
		roles = {
			scope:child_to_learn_language = {
				group = event_group
				animation = dismissal
			}
		}
		roles = {
			scope:teacher_target = {
				group = event_group
				animation = personality_rational
			}
		}
	}

	trigger = {
		is_landed = yes
		is_available_adult = yes
		any_child = {
			appropriate_child_trigger = yes
			has_court_event_flag = no
			save_temporary_scope_as = temp_child_to_learn_lang
		}
		OR = { # There must be a useful language to learn
			any_sub_realm_county = {
				has_a_good_language_trigger = yes
			}
			any_vassal = {
				has_a_good_language_trigger = yes
			}
			any_liege_or_above = {
				has_a_good_language_trigger = yes
			}
			AND = {
				exists = faith.religious_head
				faith.religious_head = {
					has_a_good_language_trigger = yes
				}
			}
		}
		any_courtier_or_guest = {
			appropriate_tutor_trigger = yes
			has_court_event_flag = no
			this != scope:temp_child_to_learn_lang
		}
	}

	weight_multiplier = {
		base = 1

		# Court weightings.
		ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
	}

	immediate = {
		random_child = { # Pick a good child
			limit = {
				appropriate_child_trigger = yes
			}
			weight = { # Prefer primary heir
				base = 1
				modifier = {
					add = 100
					this = root.player_heir
				}
			}
			save_scope_as = child_to_learn_language
			court_event_character_flag_effect = yes
		}

		every_sub_realm_county = { # Pick a culture to take the language from
			limit = {
				has_a_good_language_trigger = yes
			}
			culture = {
				if = {
					limit = {
						NOT = {
							is_in_list = potential_language_cultures
						}
					}
				}
				add_to_list = potential_language_cultures
			}
		}
		every_vassal = {
			limit = {
				has_a_good_language_trigger = yes
			}
			culture = {
				if = {
					limit = {
						NOT = {
							is_in_list = potential_language_cultures
						}
					}
				}
				add_to_list = potential_language_cultures
			}
		}
		every_liege_or_above = {
			limit = {
				has_a_good_language_trigger = yes
			}
			culture = {
				if = {
					limit = {
						NOT = {
							is_in_list = potential_language_cultures
						}
					}
				}
				add_to_list = potential_language_cultures
			}
		}
		if = {
			limit = {
				exists = faith.religious_head
				faith.religious_head = {
					has_a_good_language_trigger = yes
				}
			}
			faith.religious_head.culture = {
				if = {
					limit = {
						NOT = {
							is_in_list = potential_language_cultures
						}
					}
				}
				add_to_list = potential_language_cultures
			}
		}

		random_in_list = { # Pick the best culture language
			list = potential_language_cultures
			weight = {
				base = 1
				modifier = { # Vassal languages are objectively best to learn
					add = 10
					save_temporary_scope_as = culture_check
					root = {
						any_vassal = {
							culture = scope:culture_check
						}
					}
				}
			}
			save_scope_as = culture_language_to_learn
		}

		random_courtier_or_guest = {
			limit = {
				appropriate_tutor_trigger = yes
				this != scope:child_to_learn_language
			}
			weight = {
				base = 1
				modifier = {
					add = 100
					has_court_position = court_tutor_court_position
				}
				modifier = {
					add = 50
					is_eunuch_trigger = yes
				}
			}
			hidden_effect = {
				assign_quirk_effect = yes
				if = {
					limit = {
						NOT = {
							knows_language_of_culture = scope:culture_language_to_learn
						}
					}
					learn_language_of_culture = scope:culture_language_to_learn
				}
			}
			save_scope_as = teacher_target
			court_event_character_flag_effect = yes
		}
	}

	option = { # Pay more than needed; your child must learn!
		name = court.9500.a

		pay_short_term_gold = {
			target = scope:teacher_target
			gold = root.medium_gold_value
		}

		scope:child_to_learn_language = {
			learn_language_of_culture = scope:culture_language_to_learn
		}

		scope:teacher_target = {
			add_opinion = {
				target = root
				opinion = 10
				modifier = grateful_opinion
			}
		}

		if = {
			limit = {
				scope:teacher_target = {
					NOT = { has_court_position = court_tutor_court_position }
				}
				can_appoint_char_to_court_position = {
					CHAR = scope:teacher_target
					COURT_POS = court_tutor_court_position
				}
			}
			court_position_grant_effect = { POS = court_tutor CANDIDATE = scope:teacher_target EMPLOYER = root }
		}

		stress_impact = {
			greedy = massive_stress_impact_gain
			paranoid = major_stress_gain
			arrogant = major_stress_impact_gain
			fickle = medium_stress_impact_gain
			cynical = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				ai_greed >= low_positive_ai_value
			}
		}
	}

	option = { # Pay what they ask, and hope your child manages
		name = court.9500.b

		pay_short_term_gold = {
			target = scope:teacher_target
			gold = root.tiny_gold_value
		}

		scope:child_to_learn_language = {
			duel = {
				skill = learning
				value = 6

				50 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = 3.5
						min = -49
					}


					desc = court.9500.b.success
					root = {
						send_interface_toast = {
							title = court.9500.b.success
							left_icon = scope:child_to_learn_language
							right_icon = scope:teacher_target

							scope:child_to_learn_language = {
								learn_language_of_culture = scope:culture_language_to_learn
							}
						}
					}
				}
				50 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = -3.5
						min = -49
					}

					desc = court.9500.b.failure
					root = {
						send_interface_toast = {
							title = court.9500.b.failure
							left_icon = scope:child_to_learn_language
							right_icon = scope:teacher_target

							scope:child_to_learn_language = {
								add_stress = major_stress_gain
							}
						}
					}
				}
			}
		}

		stress_impact = {
			generous = major_stress_impact_gain
			patient = medium_stress_impact_gain
			humble = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 0.1
				ai_greed >= low_positive_ai_value
			}
		}
	}

	option = { # Deny
		name = court.9500.c

		scope:teacher_target = {
			add_opinion = {
				target = root
				opinion = -5
				modifier = disappointed_opinion
			}
		}

		stress_impact = {
			diligent = medium_stress_impact_gain
			gregarious = medium_stress_impact_gain
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
		}
	}
	after = {
		scope:teacher_target = {
			clear_court_event_participation = yes
		}
		scope:child_to_learn_language = {
			clear_court_event_participation = yes
		}
	}
}
