﻿# The outcome of a court scheme

namespace = court_outcome

# NOTE: To set up a new scheme outcome, make sure that you make an event for the owner and one for the target, and add them to their relevant on_actions.


# 0000-0999: Maintenance events

#Outcome events
# court_outcome.1000 - Wolf attack
# court_outcome.1100 - Defend them from thief! ...or lover
# court_outcome.1200 - Grand Gesture
# court_outcome.1300 - Meeting in the Garden
# court_outcome.1400 - Late into the Night

# court_outcome.2000 - Seeking permission for marriage


######################################################
# MAINTENANCE EVENTS
# 0000-0999
######################################################

# Player-Only Event: Scheme target selects outcome
#   Can pick soulmate success / marriage / kiss success / failure
#   Only successes have an outcome event for player target, failure ends it here for player target

court_outcome.0003 = { #by Mathilda Bjarnehed & Petter Vilberg
	type = character_event
	title = court_outcome.0003.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:scheme_successful }
				desc = court_outcome.0003.success.desc
			}
			desc = court_outcome.0003.failure.desc
		}
	}
	theme = romance_scheme
	left_portrait = scope:owner

	#Success: I want to be your soulmate
	option = {
		trigger = {
			OR = {
				is_consort_of = scope:owner
				has_relation_lover = scope:owner
			}
			can_set_relation_soulmate_trigger = { CHARACTER = scope:owner }
		}
		name = court_outcome.0003.a
		
		custom_tooltip = court_outcome.0003.a.tt

		reverse_add_opinion = {
			target = scope:owner
			modifier = love_opinion
			opinion = 30
		}
		
		scope:scheme = { #Blocks marriage option against player characters
			save_scope_value_as = {
				name = no_marriage
				value = yes
			}
			save_scope_value_as = {
				name = no_elope
				value = yes
			}
		}		
		save_scope_value_as = {
			name = scheme_successful
			value = yes
		}
		mandala_trickster_increment_successful_schemes_effect = yes
	}

	#Success: I want to marry you
	option = {
		trigger = {
			can_marry_character_trigger = { CHARACTER = scope:owner }
			NOT = { would_need_elopement_to_marry_target = { TARGET = scope:owner } }
		}
		name = court_outcome.0003.d

		if = {
			limit = {
				needs_permission_to_marry_trigger = { CHARACTER1 = scope:owner CHARACTER2 = scope:target }
			}
			custom_tooltip = court_outcome.0003.d.permission.tt
		}
		else = {
			custom_tooltip = court_outcome.0003.d.propose.tt
		}

		reverse_add_opinion = {
			target = scope:owner
			modifier = love_opinion
			opinion = 30
		}

		scope:scheme = { #Blocks "become soulmate" option against player characters
			save_scope_value_as = {
				name = no_soulmate
				value = yes
			}
			save_scope_value_as = {
				name = no_elope
				value = yes
			}
		}
		save_scope_value_as = {
			name = scheme_successful
			value = yes
		}
		mandala_trickster_increment_successful_schemes_effect = yes
	}
	
	#Success: I want to elope with you
	option = {
		trigger = {
			custom_description = {
				text = cannot_marry_by_elopement
				object = scope:owner
				subject = root
				can_elope_character_trigger = { CHARACTER = scope:owner }
			}
			custom_description = {
				text = does_not_need_elopement
				object = scope:owner
				subject = root
				would_need_elopement_to_marry_target = { TARGET = scope:owner }
			}
		}
		name = court_outcome.0003.e
		
		show_as_unavailable = {
			OR = {
				NOT = {
					can_elope_character_trigger = { CHARACTER = scope:owner }
				}
				NOT = {
					would_need_elopement_to_marry_target = { TARGET = scope:owner }
				}
			}
		}
		if = {
			limit = {
				can_start_scheme = {
					type = elope
					target_character = scope:owner
				}
			}
			custom_tooltip = court_outcome.0003.e.me.elope.tt
		}
		else_if = {
			limit = {
				scope:owner = {
					can_start_scheme = {
						type = elope
						target_character = root
					}
				}
			}
			custom_tooltip = court_outcome.0003.e.them.elope.tt
		}
		else = {
			custom_tooltip = court_outcome.0003.e.no.elope.tt
		}

		reverse_add_opinion = {
			target = scope:owner
			modifier = love_opinion
			opinion = 30
		}

		scope:scheme = { #Blocks "become soulmate" and marriage option against player characters
			save_scope_value_as = {
				name = no_soulmate
				value = yes
			}
			save_scope_value_as = {
				name = no_marriage
				value = yes
			}
		}
		save_scope_value_as = {
			name = scheme_successful
			value = yes
		}
		mandala_trickster_increment_successful_schemes_effect = yes
	}

	#Success: Okay, we can kiss, but it ends there
	option = {
		name = {
			trigger = { exists = scope:scheme_successful }
			text = court_outcome.0003.b.success
		}
		name = {
			trigger = { NOT = { exists = scope:scheme_successful } }
			text = court_outcome.0003.b.failure
		}
		custom_tooltip = court_outcome.0003.b.tt

		reverse_add_opinion = {
			target = scope:owner
			modifier = love_opinion
			opinion = 30
		}

		scope:scheme = { #Blocks "become soulmate" and marriage option against player characters
			save_scope_value_as = {
				name = no_soulmate
				value = yes
			}
			save_scope_value_as = {
				name = no_marriage
				value = yes
			}
			save_scope_value_as = {
				name = no_elope
				value = yes
			}
		}
		save_scope_value_as = {
			name = scheme_successful
			value = yes
		}
		mandala_trickster_increment_successful_schemes_effect = yes
	}
	
	#Failure
	option = {
		name = court_outcome.0003.c

		save_scope_value_as = {
			name = scheme_successful
			value = no
		}

		scope:scheme = {
			show_as_tooltip = {
				end_scheme = yes
			}
		}
	}

	after = {
		scope:owner = {
			trigger_event = {
				on_action = court_outcome
				days = 1 # Remove this delay after testing
			}
		}
	}
}

scripted_trigger available_other_romance_suitor_trigger = {
	is_available_ai = yes
	NOR = {
		is_consort_of = scope:target
		is_consort_of = scope:owner
		this = scope:owner
	}
}

scripted_trigger target_has_other_romance_suitor_trigger = {
	scope:target = {
		is_ai = yes
		OR = {
			any_relation = {
				type = lover
				available_other_romance_suitor_trigger = yes
			}
			any_relation = {
				type = potential_lover
				available_other_romance_suitor_trigger = yes
			}
		}
	}
}


######################################################
# OUTCOME EVENTS
# 1000-1999
######################################################

#####################
# Wolf attack outcome
#####################

# OWNER CHOICE
court_outcome.1000 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1000.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:target = { is_courtier_of = root } }
				desc = court_outcome.1000.i_invite.desc
			}
			triggered_desc = {
				trigger = { scope:target = { is_ruler = yes } }
				desc = court_outcome.1000.own_invite.desc
			}
			desc = court_outcome.1000.liege_invite.desc
		}
		desc = court_outcome.1000.end.desc
	}
	theme = romance_scheme
	left_portrait = {
		character = root
		animation = bow_idle
	}
	right_portrait = {
		character = scope:target
		animation = fear
	}
	widget = {
		gui = "event_window_widget_scheme"
		container = "custom_widgets_container"
	}

	trigger = {
		is_location_valid_for_travel_event_on_land = yes #We do allow this event when travelling, but it won't work at sea.
		OR = {
			scope:owner = {
				prowess > low_skill_rating # They need to be able to shoot the wolf
				can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:owner }
			}
			scope:target = {
				OR = {
					has_government = landless_adventurer_government
					host ?= { has_government = landless_adventurer_government }
				}
			}
		}
	}
	
	immediate = {
		if = {
			limit = { exists = scope:target.host }
			scope:target.host = { save_scope_as = target_host }
		}
		if = {
			limit = { NOT = { exists = scope:target_host } }
			scope:target.location.province_owner = { save_scope_as = target_host }
		}
	}

	#Go ahead: save them
	option = {
		name = court_outcome.1000.a
		custom_tooltip = court_outcome.0001.a.tt

		hidden_effect = {
			if = {
				limit = {
					exists = scope:scheme_successful
					exists = scope:target.location
					scope:scheme_successful = yes
				}
				trigger_event = {
					id = court_outcome.1001
					days = 3
				}
			}
			else = {
				random_list = {
					1 = { #Regular failure
						trigger_event = {
							id = court_outcome.1002
							days = 2
						}
					}
					2 = { #Other lover failure
						trigger = {
							target_has_other_romance_suitor_trigger = yes
						}
						trigger_event = {
							id = court_outcome.1005
							days = 2
						}
					}
				}
			}		
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
   				ai_boldness = 1
			}
		}
	}

	#Call someone else for help
	option = {
		trigger = { court_allow_owner_opt_out_trigger = yes }
		name = court_outcome.1000.b

		add_prestige = minor_prestige_loss

		scope:scheme = {
			end_scheme = yes
		}

		stress_impact = {
			brave = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
   				ai_boldness = -1
			}
			modifier = {
				factor = 0.01
				has_trait = brave
			}
		}
	}

	#That probably was nothing
	option = {
		trigger = {
			court_allow_owner_opt_out_trigger = yes
			scope:target = { is_ai = yes }
		}
		name = court_outcome.1000.c

		scope:scheme = {
			end_scheme = yes
		}

		random_list = {
			1 = {
				desc = court_outcome.1000.b.failure
				send_interface_toast = {
					title = court_outcome.1000.b.failure
					left_icon = scope:target
					scope:target = { increase_wounds_effect = { REASON = hunting_accident } }
				}
			}	
			2 = {
				desc = court_outcome.1000.b.success
				send_interface_toast = {
					title = court_outcome.1000.b.success
					left_icon = scope:target
				}
			}
		}
		ai_chance = {
			base = 25
		}
	}
}


# OWNER SUCCESS: You save target from a wolf!
court_outcome.1001 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_successful_event
	title = court_outcome.1000.t
	desc = court_outcome.1001.desc
	theme = romance_scheme
	left_portrait = {
		character = root
		animation = hunting_longbow_aim_arrow_default
	}
	right_portrait = {
		character = scope:target
		animation = fear
	}

	immediate = {
		play_music_cue = mx_cue_seduction
		scope:target = {
			select_local_animal_effect = { TYPE = dangerous } # Save scope to limit possible animals: any/big/small/dangerous/harmless/prowling
		}
	}
	
	#Consummate love
	option = {
		trigger = {
			OR = {
				is_consort_of = scope:target
				has_relation_lover = scope:target
			}
			can_set_relation_soulmate_trigger = { CHARACTER = scope:target }
			
			# Player target has opted out of being soulmates.
			custom_description = {
				text = does_not_want_to_be_soulmates
				object = scope:target
				NOT = { exists = scope:no_soulmate }
			}
		}
		show_as_unavailable = {
			exists = scope:no_soulmate
		}
		name = court_outcome.1001.a

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_soulmate REASON = saved_from_wolf } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = low_chance_impact_positive_ai_value #Up to 100 for high compassion
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				any_relation = { type = soulmate }
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
		}
	}

	#Propose marriage
	option = {
		trigger = {
			can_marry_character_trigger = { CHARACTER = scope:target }
			NOT = { would_need_elopement_to_marry_target = { TARGET = scope:target } }

			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_marriage
				object = scope:target
				NOT = { exists = scope:no_marriage }
			}
		}
		show_as_unavailable = {
			exists = scope:no_marriage
		}
		name = court_outcome.1001.c

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = marriage_proposed
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_marriage REASON = saved_from_wolf } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}

	#Propose elopement
	option = {
		trigger = {
			custom_description = {
				text = cannot_marry_by_elopement
				object = scope:target
				subject = root
				can_elope_character_trigger = { CHARACTER = scope:target }
			}
			custom_description = {
				text = does_not_need_elopement
				object = scope:target
				subject = root
				would_need_elopement_to_marry_target = { TARGET = scope:target }
			}

			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_elopement
				object = scope:target
				NOT = { exists = scope:no_elope }
			}
			
			# they must be willing to betray their current spouse
			custom_description = {
				text = will_not_betray_spouse
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							NOT = { primary_spouse = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
						}
					}
				}
			}
			
			# they must be willing to betray their current betrothed
			custom_description = {
				text = will_not_betray_betrothed
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_betrothed = no
						AND = {
							exists = betrothed
							NOT = { betrothed = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
						}
					}
				}
			}
		}
		show_as_unavailable = {
			OR = {
				exists = scope:no_elope
				scope:target = {
					is_ai = yes
					is_married = yes
					NOR = {
						primary_spouse = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
					}
				}
				scope:target = {
					is_ai = yes
					is_betrothed = yes
					NOR = {
						primary_spouse = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
					}
				}
			}
		}
		name = court_outcome.1001.d

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = elope_proposed
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				NOT = { has_relation_soulmate = scope:target }
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}

	#Just kiss
	option = {
		name = court_outcome.1001.b

		court_success_prestige_effect = yes
		end_court_scheme_effect = { OUTCOME = success_kiss REASON = saved_from_wolf }

		save_scope_value_as = {
			name = become_soulmate
			value = no
		}
		
		ai_chance = {
			base = 100
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					is_consort_of = scope:target
					has_relation_lover = scope:target
				}
				add = -50
			}
			modifier = {
				scope:target = { is_ai = no } #Players will always get their way
				OR = {
					NOT = { exists = scope:no_marriage }
					NOT = { exists = scope:no_soulmate }
				}
				add = -100
			}
		}
	}

	after = {
		scope:target = { trigger_event = court_outcome.1003 }
	}
}

# OWNER FAILURE: Target was fine without your help
court_outcome.1002 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_failed_event
	title = court_outcome.1000.t
	desc = court_outcome.1002.desc
	
	theme = romance_scheme
	left_portrait = {
		character = root
		animation = stress
	}
	right_portrait = {
		character = scope:target
		animation = bow_idle
	}

	immediate = {
		play_music_cue = mx_cue_death
	}
	
	option = {
		name = court_outcome.1002.a

		end_court_scheme_effect = { OUTCOME = failure_soft REASON = saved_from_wolf }
	}
}

# OWNER FAILURE: Target has another lover...
scripted_effect court_outcome_1005_targets_lover_effect = {
	#Select a lover
	hidden_effect = {
		scope:target = {
			every_relation = {
				type = lover
				limit = { available_other_romance_suitor_trigger = yes }
				add_to_list = targets_lovers_list
			}

			#Only proceed to potential lovers if there aren't any actual ones
			if = {
				limit = {
					NOT = {
						any_in_list = { list = targets_lovers_list count > 0 }
					}
				}
				every_relation = {
					type = potential_lover
					limit = { available_other_romance_suitor_trigger = yes }
					add_to_list = targets_lovers_list
				}
			}

			random_in_list = {
				list = targets_lovers_list
				limit = {
					has_relation_rival = scope:owner
					available_other_romance_suitor_trigger = yes
				}
				alternative_limit = { available_other_romance_suitor_trigger = yes }

				if = {
					limit = {
						has_relation_potential_lover = scope:target
						can_set_relation_lover_trigger = { CHARACTER = scope:target }
					}
					set_relation_lover = { reason = lover_court_scheme_lover target = scope:target involved_character = root }
				}
				save_scope_as = targets_lover
			}
		}
		#We set the potential here, and then you can upgrade it in the option
		if = {
			limit = {
				can_set_relation_potential_rival_trigger = { CHARACTER = scope:targets_lover }
			}
			set_relation_potential_rival = scope:targets_lover
		}
	}
	#Reveal the secret
	scope:target = {
		random_secret = {
			type = secret_lover
			limit = {
				secret_target = scope:targets_lover
			}
			reveal_to = scope:owner
		}
	}
}

court_outcome.1005 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_failed_event
	title = court_outcome.1000.t
	desc = court_outcome.1005.desc
	theme = romance_scheme
	left_portrait = {
		character = scope:target
		animation = happiness
	}
	right_portrait = {
		character = scope:targets_lover
		animation = happiness
	}

	immediate = {
		play_music_cue = mx_cue_death
		# Selects a lover and reveals secret
		court_outcome_1005_targets_lover_effect = yes
		scope:target = {
			add_character_flag = is_naked
		}
		scope:targets_lover = {
			add_character_flag = is_naked
		}
	}
	
	#Leave them with a broken heart
	option = {
		name = court_outcome.1005.a

		end_court_scheme_effect = { OUTCOME = failure_soft REASON = saved_from_wolf }
	
		stress_impact = {
			vengeful = major_stress_impact_gain
			wrathful = medium_stress_impact_gain
			callous = minor_stress_impact_gain
			sadistic = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = 2
				ai_vengefulness = -2
				ai_boldness = -1
				ai_honor = 2
			}
		}	
	}

	#Nemesis
	option = {
		name = court_outcome.1005.b
		trigger = {
			OR = {
				can_set_relation_rival_trigger = { CHARACTER = scope:targets_lover }
				can_set_relation_nemesis_trigger = { CHARACTER = scope:targets_lover }
			}
		}

		if = {
			limit = { NOT = { has_relation_rival = scope:targets_lover } }
			set_relation_rival = {
				target = scope:targets_lover
				reason = rival_lover_jealousy
			}
		}
		else = {
			set_relation_nemesis = {
				target = scope:targets_lover
				involved_character = scope:target
				copy_reason = rival
				reason = nemesis_lover_jealousy
			}
		}

		end_court_scheme_effect = { OUTCOME = failure_soft REASON = saved_from_wolf }

		stress_impact = {
			forgiving = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
		}
	}

	#Shoot targets_lover!
	option = {
		name = court_outcome.1005.c

		duel = {
			skill = prowess
			value = average_skill_rating

			25 = { #You hit them, undiscovered
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1.5
				}
				desc = court_outcome.1005.c.murder_undiscovered
				send_interface_toast = {
					title = court_outcome.1005.c.murder_undiscovered
					left_icon = scope:target
					right_icon = scope:targets_lover
					unknown_murder_effect = {
						VICTIM = scope:targets_lover
						MURDERER = scope:owner
						REASON = death_hunting_accident
					}
				}
			}
			25 = { #You hit them, discovered
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1.5
				}
				desc = court_outcome.1005.c.murder_discovered
				send_interface_toast = {
					title = court_outcome.1005.c.murder_discovered
					left_icon = scope:target
					right_icon = scope:targets_lover
					known_murder_effect = {
						VICTIM = scope:targets_lover
						MURDERER = scope:owner
						EXPOSER = scope:target
					}
				}
			}
			50 = { #You miss
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3
				}
				desc = court_outcome.1005.c.murder_attempt
				send_interface_toast = {
					title = court_outcome.1005.c.murder_attempt
					left_icon = scope:target
					right_icon = scope:targets_lover
					add_secret = {
						type = secret_murder_attempt
						target = scope:targets_lover
					}
				}
			}
		}

		end_court_scheme_effect = { OUTCOME = failure_hard REASON = saved_from_wolf }

		stress_impact = {
			forgiving = major_stress_impact_gain
			compassionate = medium_stress_impact_gain
			honest = minor_stress_impact_gain
			craven = minor_stress_impact_gain
			lazy = minor_stress_impact_gain
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_compassion = -2
				ai_vengefulness = 3
				ai_boldness = 1
				ai_honor = -1
			}
		}	
	}

	#Shoot target!
	option = {
		name = court_outcome.1005.d

		duel = {
			skill = prowess
			value = average_skill_rating

			25 = { #You hit them, undiscovered
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1.5
				}
				desc = court_outcome.1005.d.murder_undiscovered
				send_interface_toast = {
					title = court_outcome.1005.d.murder_undiscovered
					left_icon = scope:target
					right_icon = scope:targets_lover
					unknown_murder_effect = {
						VICTIM = scope:target
						MURDERER = scope:owner
						REASON = death_hunting_accident
					}
				}
			}
			25 = { #You hit them, discovered
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1.5
				}
				desc = court_outcome.1005.d.murder_discovered
				send_interface_toast = {
					title = court_outcome.1005.d.murder_discovered
					left_icon = scope:target
					right_icon = scope:targets_lover
					known_murder_effect = {
						VICTIM = scope:target
						MURDERER = scope:owner
						EXPOSER = scope:targets_lover
					}
				}
			}
			50 = { #You miss
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3
				}
				desc = court_outcome.1005.c.murder_attempt
				send_interface_toast = {
					title = court_outcome.1005.c.murder_attempt
					left_icon = scope:target
					right_icon = scope:targets_lover
					add_secret = {
						type = secret_murder_attempt
						target = scope:target
					}
				}
			}
		}

		end_court_scheme_effect = { OUTCOME = failure_hard REASON = saved_from_wolf }

		stress_impact = {
			forgiving = major_stress_impact_gain
			compassionate = medium_stress_impact_gain
			honest = minor_stress_impact_gain
			craven = minor_stress_impact_gain
			lazy = minor_stress_impact_gain
		}
		ai_chance = {
			base = 25
			ai_value_modifier = {
				ai_compassion = -2
				ai_vengefulness = 4
				ai_boldness = 1
				ai_honor = -1
			}
		}
	}
	after = {
		scope:target ?= {
			remove_character_flag = is_naked
		}
		scope:targets_lover ?= {
			remove_character_flag = is_naked
		}
	}
}


# TARGET SUCCESS: is informed about outcome
court_outcome.1003 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1003.t
	desc = court_outcome.1004.desc
	
	theme = romance_scheme
	left_portrait = {
		character = scope:owner
		animation = personality_bold
	}

	immediate = {
		play_music_cue = mx_cue_seduction
	}
	
	option = {
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			text = court_outcome.1001.a
		}
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = no
			}
			text = court_outcome.1003.b
		}
		name = {
			trigger = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			text = court_outcome.1105.a
		}
		name = {
			trigger = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			text = court_outcome.1105.b
		}

		if = {
			limit = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			end_court_scheme_effect = { OUTCOME = success_soulmate REASON = saved_from_wolf }
		}
		else_if = {
			limit = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			if = {
				limit = {
					needs_permission_to_marry_trigger = { CHARACTER1 = scope:owner CHARACTER2 = scope:target }
				}
				find_proposer_and_lieges_effect = yes
			}
			end_court_scheme_effect = { OUTCOME = success_marriage REASON = saved_from_wolf }
		}
		else_if = {
			limit = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf }
		}

		#No need to show kiss outcome as it has no effect for target, it's executed in owner's scope before
	}
}


##################
# Thief outcome
##################

court_outcome.1100 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1100.t
	desc = {
		desc = court_outcome.1100.start.desc
		first_valid = {
			triggered_desc = {
				trigger = { scope:target = { is_ruler = yes } }
				desc = court_outcome.1100.targets_residence.desc
			}
			triggered_desc = {
				trigger = { exists = scope:target.host 
					scope:owner != scope:target.host
				}
				desc = court_outcome.1100.targets_host_residence.desc
			}
			desc = court_outcome.1100.my_residence.desc
		}
		desc = court_outcome.1100.end.desc
	}
	theme = romance_scheme
	left_portrait = {
		character = root
		animation = shock
	}
	center_portrait = {
		character = scope:stranger
		animation = scheme
		outfit_tags = { western_stealth_hood }
		hide_info = yes
	}
	right_portrait = {
		character = scope:target
		animation = admiration
		camera = camera_event_scheme_vs_right_look_right
	}
	widget = {
		gui = "event_window_widget_scheme"
		container = "custom_widgets_container"
	}

	trigger = {
		scope:target = {
			NOR = {
				has_government = landless_adventurer_government
				host ?= { has_government = landless_adventurer_government }
			}
		}
	}

	immediate = {
		random_pool_character = {
			province = root.location
			limit = {
				is_physically_able_adult = yes
			}
			save_scope_as = stranger
		}
		if = {
			limit = { exists = scope:target.host }
			scope:target.host = { save_scope_as = target_host }
		}
		if = {
			limit = {
				NOT = { exists = scope:target_host }
				exists = location
			}
			scope:target.location.province_owner = { save_scope_as = target_host }
		}
	}
	

	#Go ahead: save them
	option = {
		name = court_outcome.1100.a
		custom_tooltip = court_outcome.0001.a.tt

		hidden_effect = {
			if = {
				limit = {
					exists = scope:scheme_successful
					scope:scheme_successful = yes
				}
				trigger_event = {
					id = court_outcome.1101
					days = 3
				}
			}
			else = {
				random_list = {
					1 = { #Regular failure
						trigger_event = {
							id = court_outcome.1102
						}
					}
					2 = { #Other lover failure
						trigger = {
							target_has_other_romance_suitor_trigger = yes
						}
						trigger_event = {
							id = court_outcome.1103

						}
					}
				}
			}		
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
   				ai_boldness = 1
			}
		}
	}

	#Call for the guards
	option = {
		trigger = { court_allow_owner_opt_out_trigger = yes }
		name = court_outcome.1100.b

		if = {
			limit = {
				exists = scope:target_host
				this != scope:target_host
				scope:owner != scope:target.host
			}
			reverse_add_opinion = {
				modifier = suspicion_opinion
				target = scope:target_host
				opinion = -10
			}
		}
		else = {
			reverse_add_opinion = {
				modifier = grateful_opinion
				target = scope:target
				opinion = 10
			}
		}

		scope:scheme = {
			end_scheme = yes
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
   				ai_boldness = -1
			}
			modifier = {
				factor = 0.01
				has_trait = brave
			}
		}
	}

	#That probably was nothing
	option = {
		trigger = {
			court_allow_owner_opt_out_trigger = yes
			scope:target = { is_ai = yes }
		}
		name = court_outcome.1100.c

		scope:scheme = {
			end_scheme = yes
		}

		random_list = {
			1 = {
				desc = court_outcome.1100.b.failure
				send_interface_toast = {
					title = court_outcome.1100.b.failure
					left_icon = scope:target
					scope:target = { increase_wounds_effect = { REASON = mysterious } }
				}
			}	
			2 = {
				desc = court_outcome.1100.b.success
				send_interface_toast = {
					title = court_outcome.1100.b.success
					left_icon = scope:target
				}
			}
		}
		ai_chance = {
			base = 25
		}
	}
}


# OWNER SUCCESS: You save target from the burglar/comfort target!
court_outcome.1101 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_successful_event
	title = court_outcome.1100.t
	override_background = {
		reference = bedchamber
	}
	desc = {
		desc = court_outcome.1101.start.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					OR = {
						prowess >= scope:target.prowess
						scope:target = {
							NOT = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:target } }
						}
					}
				}
				desc = court_outcome.1101.owner_fights.desc
			}
			desc = court_outcome.1101.target_fights.desc
		}
		desc = court_outcome.1101.end.desc
	}
	theme = romance_scheme
	left_portrait = {
		character = root
		animation = sword_coup_degrace
	}
	center_portrait = {
		character = scope:stranger
		animation = shock
		outfit_tags = { western_stealth_hood }
		hide_info = yes
	}
	right_portrait = {
		character = scope:target
		triggered_animation = {
			trigger = { prowess >= scope:owner.prowess }
			animation = anger
		}
		triggered_animation = {
			trigger = { always = yes }
			animation = fear
		}
	}

	trigger = {
		scope:owner = {
			can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:owner }
		}
	}

	immediate = {
		play_music_cue = mx_cue_seduction
	}
	
	#Consummate love
	option = {
		trigger = {
			OR = {
				is_consort_of = scope:target
				has_relation_lover = scope:target
			}
			can_set_relation_soulmate_trigger = { CHARACTER = scope:target }

			# Player target has opted out of being soulmates.
			custom_description = {
				text = does_not_want_to_be_soulmates
				object = scope:target
				NOT = { exists = scope:no_soulmate }
			}
		}
		show_as_unavailable = {
			exists = scope:no_soulmate
		}
		name = court_outcome.1101.a

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_soulmate REASON = saved_from_thief } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = low_chance_impact_positive_ai_value #Up to 100 for high compassion
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				any_relation = { type = soulmate }
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
		}
	}
	
	#Propose marriage
	option = {
		trigger = {
			can_marry_character_trigger = { CHARACTER = scope:target }
			NOT = { would_need_elopement_to_marry_target = { TARGET = scope:target } }
			
			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_marriage
				object = scope:target
				NOT = { exists = scope:no_marriage }
			}
		}
		show_as_unavailable = {
			exists = scope:no_marriage
		}
		name = court_outcome.1001.c
		
		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = marriage_proposed
			value = yes
		}
		
		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_marriage REASON = saved_from_thief } } #Tooltip as this will be executed in target's scope
		
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}
	
	#Propose elopement
	option = {
		trigger = {
			custom_description = {
				text = cannot_marry_by_elopement
				object = scope:target
				subject = root
				can_elope_character_trigger = { CHARACTER = scope:target }
			}
			custom_description = {
				text = does_not_need_elopement
				object = scope:target
				subject = root
				would_need_elopement_to_marry_target = { TARGET = scope:target }
			}
			
			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_elopement
				object = scope:target
				NOT = { exists = scope:no_elope }
			}
			
			# they must be willing to betray their current spouse
			custom_description = {
				text = will_not_betray_spouse
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							NOT = { primary_spouse = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
						}
					}
				}
			}
			
			# they must be willing to betray their current betrothed
			custom_description = {
				text = will_not_betray_betrothed
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_betrothed = no
						AND = {
							exists = betrothed
							NOT = { betrothed = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
						}
					}
				}
			}
		}
		show_as_unavailable = {
			OR = {
				exists = scope:no_elope
				scope:target = {
					is_ai = yes
					is_married = yes
					NOR = {
						primary_spouse = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
					}
				}
				scope:target = {
					is_ai = yes
					is_betrothed = yes
					NOR = {
						betrothed = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
					}
				}
			}
		}
		name = court_outcome.1001.d
		
		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = elope_proposed
			value = yes
		}
		
		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf } } #Tooltip as this will be executed in target's scope
		
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				NOT = { has_relation_soulmate = scope:target }
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}

	#Just kiss
	option = {
		name = court_outcome.1001.b

		end_court_scheme_effect = { OUTCOME = success_kiss REASON = saved_from_thief }

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = no
		}
		
		ai_chance = {
			base = 100
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					is_consort_of = scope:target
					has_relation_lover = scope:target
				}
				add = -50
			}
			modifier = {
				scope:target = { is_ai = no } #Players will always get their way
				OR = {
					NOT = { exists = scope:no_marriage }
					NOT = { exists = scope:no_soulmate }
				}
				add = -100
			}
		}
	}

	after = {
		scope:target = { trigger_event = court_outcome.1105 }
	}
}


# OWNER FAILURE: Target was fine without your help/is scared
court_outcome.1102 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_failed_event
	title = court_outcome.1100.t
	override_background = {
		reference = bedchamber
	}
	desc = {
		desc = court_outcome.1101.start.desc
		first_valid = {
			triggered_desc = {
				trigger = { prowess >= scope:target.prowess }
				desc = court_outcome.1101.owner_fights.desc
			}
			desc = court_outcome.1101.target_fights.desc
		}
		desc = court_outcome.1102.end.desc
	}
	
	theme = romance_scheme
	left_portrait = {
		character = root
		animation = worry
	}
	center_portrait = {
		character = scope:stranger
		animation = shock
		outfit_tags = { western_stealth_hood }
		hide_info = yes
	}
	right_portrait = {
		character = scope:target
		animation = aggressive_dagger
	}

	immediate = {
		play_music_cue = mx_cue_death
	}
	
	option = {
		name = court_outcome.1102.a

		end_court_scheme_effect = { OUTCOME = failure_soft REASON = saved_from_thief }
	}
}


# OWNER FAILURE: Target has another lover...
court_outcome.1103 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_failed_event
	title = court_outcome.1100.t
	desc = court_outcome.1103.desc
	theme = romance_scheme
	override_background = {
		reference = bedchamber
	}
	left_portrait = {
		character = root
		animation = crying
	}
	center_portrait = {
		character = scope:target
		animation = flirtation
	}
	right_portrait = {
		character = scope:targets_lover
		animation = flirtation_left
	}

	immediate = {
		play_music_cue = mx_cue_death
		# Selects a lover and reveals secret
		court_outcome_1005_targets_lover_effect = yes
		scope:target = {
			add_character_flag = is_naked
		}
		scope:targets_lover = {
			add_character_flag = is_naked
		}
	}
	
	#Leave them with a broken heart
	option = {
		name = court_outcome.1005.a

		end_court_scheme_effect = { OUTCOME = failure_soft REASON = saved_from_thief }
	
		stress_impact = {
			vengeful = major_stress_impact_gain
			wrathful = medium_stress_impact_gain
			callous = minor_stress_impact_gain
			sadistic = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = 2
				ai_vengefulness = -2
				ai_boldness = -1
				ai_honor = 2
			}
		}	
	}

	#Nemesis
	option = {
		name = court_outcome.1005.b
		trigger = {
			OR = {
				can_set_relation_rival_trigger = { CHARACTER = scope:targets_lover }
				can_set_relation_nemesis_trigger = { CHARACTER = scope:targets_lover }
			}
		}

		if = {
			limit = { NOT = { has_relation_rival = scope:targets_lover } }
			set_relation_rival = {
				target = scope:targets_lover
				reason = rival_lover_jealousy
			}
		}
		else = {
			set_relation_nemesis = {
				target = scope:targets_lover
				involved_character = scope:target
				copy_reason = rival
				reason = nemesis_lover_jealousy
			}
		}

		end_court_scheme_effect = { OUTCOME = failure_soft REASON = saved_from_thief }

		stress_impact = {
			forgiving = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
		}
	}
	after = {
		scope:target = {
			remove_character_flag = is_naked
		}
		scope:targets_lover = {
			remove_character_flag = is_naked
		}
	}
}

# TARGET SUCCES: is informed about outcome
court_outcome.1105 = { #by Mathilda Bjarnehed
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1105.t
	desc = {
		desc = court_outcome.1105.start.desc
		first_valid = {
			triggered_desc = {
				trigger = { scope:owner = { prowess >= scope:target.prowess } }
				desc = court_outcome.1105.owner_fights.desc
			}
			desc = court_outcome.1105.target_fights.desc
		}
	}
	
	theme = romance_scheme
	left_portrait = {
		character = scope:owner
		animation = worry
	}

	immediate = {
		play_music_cue = mx_cue_seduction
	}
	
	option = {
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			text = court_outcome.1001.a
		}
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = no
			}
			text = court_outcome.1003.b
		}
		name = {
			trigger = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			text = court_outcome.1105.a
		}
		name = {
			trigger = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			text = court_outcome.1105.b
		}

		if = {
			limit = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			end_court_scheme_effect = { OUTCOME = success_soulmate REASON = saved_from_thief }
		}
		else_if = {
			limit = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			if = {
				limit = {
					needs_permission_to_marry_trigger = { CHARACTER1 = scope:owner CHARACTER2 = scope:target }
				}
				find_proposer_and_lieges_effect = yes
			}
			end_court_scheme_effect = { OUTCOME = success_marriage REASON = saved_from_thief }
		}
		else_if = {
			limit = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf }
		}

		#No need to show kiss outcome as it has no effect for target, it's executed in owner's scope before
	}
}


##################
# Grand Gesture outcome
##################

court_outcome.1200 = {
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1200.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:target = { is_courtier_of = root } }
				desc = court_outcome.1200.courtier.desc
			}
			triggered_desc = {
				trigger = { scope:target = { is_ruler = yes } }
				desc = court_outcome.1200.ruler.desc
			}
			desc = court_outcome.1200.desc
		}
		desc = court_outcome.1200.end.desc
	}
	
	theme = romance_scheme
	left_portrait = scope:target
	override_background = { reference = throne_room }
	widget = {
		gui = "event_window_widget_scheme"
		container = "custom_widgets_container"
	}
	
	trigger = {
		scope:owner = {
			NOR = {
				is_consort_of = scope:target
				relationship_with_character_is_forbidden_trigger = { CHARACTER = scope:target }
			}
		}
	}
	
	immediate = {
		if = {
			limit = { exists = scope:target.host }
			scope:target.host = { save_scope_as = target_host }
		}
		if = {
			limit = {
				NOT = { exists = scope:target_host }
				exists = location
			}
			scope:target.location.province_owner = { save_scope_as = target_host }
		}
	}

	option = {
		name = court_outcome.1200.a
		custom_tooltip = court_outcome.0001.a.tt

		hidden_effect = {
			if = {
				limit = {
					exists = scope:scheme_successful
					scope:scheme_successful = yes
				}
				trigger_event = {
					id = court_outcome.1201
					days = 3
				}
			}
			else = {
				trigger_event = {
					id = court_outcome.1202
				}
			}
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
   				ai_boldness = 1
				ai_sociability = 0.5
			}
		}
	}

	option = {
		trigger = {
			court_allow_owner_opt_out_trigger = yes
			scope:target = { is_ai = yes }
		}
		name = court_outcome.1200.b

		scope:scheme = {
			end_scheme = yes
		}

		ai_chance = {
			base = 25
		}
	}
}

# OWNER SUCCESS: The target is impressed by your public declaration
court_outcome.1201 = {
	type = character_event
	window = scheme_successful_event
	title = court_outcome.1200.t
	desc = {
		desc = court_outcome.1201.start.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:owner = { diplomacy >= 12 }
				}
				desc = court_outcome.1201.diplomacy.desc
			}
			desc = court_outcome.1201.desc
		}
		desc = court_outcome.1201.end.desc
	}
	theme = romance_scheme

	left_portrait = {
		character = scope:target
		animation = love
	}
	right_portrait = {
		character = scope:owner
		animation = flirtation_left
	}
	override_background = { reference = throne_room }
	immediate = {
		play_music_cue = mx_cue_seduction
	}

	#Consummate love
	option = {
		trigger = {
			OR = {
				is_consort_of = scope:target
				has_relation_lover = scope:target
			}
			can_set_relation_soulmate_trigger = { CHARACTER = scope:target }

			# Player target has opted out of being soulmates.
			custom_description = {
				text = does_not_want_to_be_soulmates
				object = scope:target
				NOT = { exists = scope:no_soulmate }
			}
		}
		show_as_unavailable = {
			exists = scope:no_soulmate
		}
		name = court_outcome.1001.a

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_soulmate REASON = public_grand_gesture } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = low_chance_impact_positive_ai_value #Up to 100 for high compassion
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
		}
	}

	#Propose marriage
	option = {
		trigger = {
			can_marry_character_trigger = { CHARACTER = scope:target }
			NOT = { would_need_elopement_to_marry_target = { TARGET = scope:target } }

			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_marriage
				object = scope:target
				NOT = { exists = scope:no_marriage }
			}
		}
		show_as_unavailable = {
			exists = scope:no_marriage
		}
		name = court_outcome.1201.c

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = marriage_proposed
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_marriage REASON = public_grand_gesture } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}

	#Propose elopement
	option = {
		trigger = {
			custom_description = {
				text = cannot_marry_by_elopement
				object = scope:target
				subject = root
				can_elope_character_trigger = { CHARACTER = scope:target }
			}
			custom_description = {
				text = does_not_need_elopement
				object = scope:target
				subject = root
				would_need_elopement_to_marry_target = { TARGET = scope:target }
			}
			
			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_elopement
				object = scope:target
				NOT = { exists = scope:no_elope }
			}
			
			# they must be willing to betray their current spouse
			custom_description = {
				text = will_not_betray_spouse
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							NOT = { primary_spouse = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
						}
					}
				}
			}
			
			# they must be willing to betray their current betrothed
			custom_description = {
				text = will_not_betray_betrothed
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_betrothed = no
						AND = {
							exists = betrothed
							NOT = { betrothed = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
						}
					}
				}
			}
		}
		show_as_unavailable = {
			OR = {
				exists = scope:no_elope
				scope:target = {
					is_ai = yes
					is_married = yes
					NOR = {
						primary_spouse = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
					}
				}
				scope:target = {
					is_ai = yes
					is_betrothed = yes
					NOR = {
						betrothed = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
					}
				}
			}
		}
		name = court_outcome.1001.d

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = elope_proposed
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				NOT = { has_relation_soulmate = scope:target }
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}

	#Just kiss
	option = {
		name = court_outcome.1201.b

		end_court_scheme_effect = { OUTCOME = success_kiss REASON = public_grand_gesture }

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = no
		}

		ai_chance = {
			base = 100
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					is_consort_of = scope:target
					has_relation_lover = scope:target
				}
				add = -50
			}
			modifier = {
				scope:target = { is_ai = no } #Players will always get their way
				OR = {
					NOT = { exists = scope:no_marriage }
					NOT = { exists = scope:no_soulmate }
				}
				add = -100
			}
		}
	}

	after = {
		scope:target = { trigger_event = court_outcome.1203 }
	}
}

# OWNER FAILURE: You are both publicly embarrassed
court_outcome.1202 = {
	type = character_event
	window = scheme_failed_event
	title = court_outcome.1200.t
	desc = {
		desc = court_outcome.1201.start.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:owner = { diplomacy >= 12 }
				}
				desc = court_outcome.1202.diplomacy.desc
			}
			desc = court_outcome.1202.desc
		}
		desc = court_outcome.1202.end
	}
	theme = romance_scheme

	left_portrait = {
		character = scope:target
		animation = dismissal
	}
	right_portrait = {
		character = scope:owner
		animation = flirtation_left
	}
	override_background = { reference = throne_room }
	immediate = {
		play_music_cue = mx_cue_death
	}

	option = {
		name = court_outcome.1202.a
		add_prestige = minor_prestige_loss
		end_court_scheme_effect = { OUTCOME = failure_soft REASON = public_grand_gesture }
	}
}

# TARGET SUCCESS: is informed about outcome
court_outcome.1203 = {
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1200.t
	desc = {
		desc = court_outcome.1203.start.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:owner = { diplomacy >= 12 }
				}
				desc = court_outcome.1203.diplomacy.desc
			}
			desc = court_outcome.1203.desc
		}
		desc = court_outcome.1203.end.desc
	}

	theme = romance_scheme
	left_portrait = {
		character = scope:target
		animation = love
	}
	right_portrait = {
		character = scope:owner
		animation = flirtation_left
	}
	override_background = { reference = throne_room }
	immediate = {
		play_music_cue = mx_cue_seduction
	}

	option = {
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			text = court_outcome.1001.a
		}
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = no
			}
			text = court_outcome.1003.b
		}
		name = {
			trigger = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			text = court_outcome.1105.a
		}
		name = {
			trigger = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			text = court_outcome.1105.b
		}

		if = {
			limit = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			end_court_scheme_effect = { OUTCOME = success_soulmate REASON = public_grand_gesture }
		}
		else_if = {
			limit = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			if = {
				limit = {
					needs_permission_to_marry_trigger = { CHARACTER1 = scope:owner CHARACTER2 = scope:target }
				}
				find_proposer_and_lieges_effect = yes
			}
			end_court_scheme_effect = { OUTCOME = success_marriage REASON = public_grand_gesture }
		}
		else_if = {
			limit = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf }
		}

		#No need to show kiss outcome as it has no effect for target, it's executed in owner's scope before
	}
}


##################
# Meeting in the Garden outcome
##################

court_outcome.1300 = {
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1300.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:target = { is_at_same_location = root } }
				desc = court_outcome.1300.same.desc
			}
			desc = court_outcome.1300.desc
		}
		desc = court_outcome.1300.end.desc
	}

	theme = romance_scheme
	left_portrait = scope:target
	widget = {
		gui = "event_window_widget_scheme"
		container = "custom_widgets_container"
	}

	option = {
		name = court_outcome.1300.a
		custom_tooltip = court_outcome.0001.a.tt

		hidden_effect = {
			if = {
				limit = {
					exists = scope:scheme_successful
					scope:scheme_successful = yes
				}
				trigger_event = {
					id = court_outcome.1301
					days = 3
				}
			}
			else = {
				trigger_event = {
					id = court_outcome.1302
				}
			}
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
   				ai_boldness = 0.5
				ai_sociability = 1
			}
		}
	}

	option = {
		trigger = {
			court_allow_owner_opt_out_trigger = yes
			scope:target = { is_ai = yes }
		}
		name = court_outcome.1200.b

		scope:scheme = {
			end_scheme = yes
		}

		ai_chance = {
			base = 25
		}
	}
}

# OWNER SUCCESS: You both talk long into the night
court_outcome.1301 = {
	type = character_event
	window = scheme_successful_event
	title = court_outcome.1300.t
	desc = court_outcome.1301.desc
	theme = romance_scheme

	left_portrait = {
		character = scope:target
		animation = love
	}
	right_portrait = {
		character = scope:owner
		animation = flirtation_left
	}

	immediate = {
		play_music_cue = mx_cue_seduction
	}

	#Consummate love
	option = {
		trigger = {
			OR = {
				is_consort_of = scope:target
				has_relation_lover = scope:target
			}
			can_set_relation_soulmate_trigger = { CHARACTER = scope:target }

			# Player target has opted out of being soulmates.
			custom_description = {
				text = does_not_want_to_be_soulmates
				object = scope:target
				NOT = { exists = scope:no_soulmate }
			}

			NOT = { exists = scope:no_soulmate }
		}
		show_as_unavailable = {
			exists = scope:no_soulmate
		}
		name = court_outcome.1001.a

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_soulmate REASON = garden_meeting } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = low_chance_impact_positive_ai_value #Up to 100 for high compassion
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
		}
	}

	#Propose marriage
	option = {
		trigger = {
			can_marry_character_trigger = { CHARACTER = scope:target }
			NOT = { would_need_elopement_to_marry_target = { TARGET = scope:target } }

			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_marriage
				object = scope:target
				NOT = { exists = scope:no_marriage }
			}
		}
		show_as_unavailable = {
			exists = scope:no_marriage
		}
		name = court_outcome.1201.c

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = marriage_proposed
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_marriage REASON = garden_meeting } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}

	#Propose elopement
	option = {
		trigger = {
			custom_description = {
				text = cannot_marry_by_elopement
				object = scope:target
				subject = root
				can_elope_character_trigger = { CHARACTER = scope:target }
			}
			custom_description = {
				text = does_not_need_elopement
				object = scope:target
				subject = root
				would_need_elopement_to_marry_target = { TARGET = scope:target }
			}
			
			# Player target has opted out of marriage
			custom_description = {
				text = does_not_want_elopement
				object = scope:target
				NOT = { exists = scope:no_elope }
			}
			
			# they must be willing to betray their current spouse
			custom_description = {
				text = will_not_betray_spouse
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							NOT = { primary_spouse = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
						}
					}
				}
			}
			
			# they must be willing to betray their current betrothed
			custom_description = {
				text = will_not_betray_betrothed
				object = scope:target
				scope:target = {
					OR = {
						is_ai = no
						is_betrothed = no
						AND = {
							exists = betrothed
							NOT = { betrothed = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
						}
					}
				}
			}
		}
		show_as_unavailable = {
			OR = {
				exists = scope:no_elope
				scope:target = {
					is_ai = yes
					is_married = yes
					NOR = {
						primary_spouse = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.primary_spouse }
					}
				}
				scope:target = {
					is_ai = yes
					is_betrothed = yes
					NOR = {
						primary_spouse = root
						might_cheat_on_partner_trigger = { PARTNER = scope:target.betrothed }
					}
				}
			}
		}
		name = court_outcome.1001.d

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = elope_proposed
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_honor = low_chance_impact_positive_ai_value #Up to 100 for high honor
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				has_relation_lover = scope:target
				NOT = { has_relation_soulmate = scope:target }
				factor = 0.5
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
			#Primary heirs don't tend to propose marriage this way
			modifier = {
				scope:target = { is_ai = yes }
				any_parent = {
					exists = player_heir
					player_heir_position = {
						value = 0 #player heir
						target = scope:owner
					}
				}
				factor = 0.05
			}
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					has_trait = seducer
					has_trait = rakish
					has_trait = reclusive
					has_trait = depressed
					has_trait = infirm
					has_trait = disloyal
					has_trait = sodomite
				}
				factor = 0
			}
		}
	}

	#Just kiss
	option = {
		name = court_outcome.1201.b

		end_court_scheme_effect = { OUTCOME = success_kiss REASON = garden_meeting }

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = no
		}

		ai_chance = {
			base = 100
			modifier = {
				scope:target = { is_ai = yes }
				OR = {
					is_consort_of = scope:target
					has_relation_lover = scope:target
				}
				add = -50
			}
			modifier = {
				scope:target = { is_ai = no } #Players will always get their way
				OR = {
					NOT = { exists = scope:no_marriage }
					NOT = { exists = scope:no_soulmate }
				}
				add = -100
			}
		}
	}

	after = {
		scope:target = { trigger_event = court_outcome.1303 }
	}
}

scripted_trigger available_meeting_trigger = {
	is_available_ai = yes
	NOR = {
		is_consort_of = scope:target
		is_consort_of = scope:owner
		this = scope:owner
	}
	is_attracted_to_gender_of = scope:target
	scope:target = { is_attracted_to_gender_of = prev }
}

# OWNER FAILURE: The target is waiting for someone else
court_outcome.1302 = {
	type = character_event
	window = scheme_failed_event
	title = court_outcome.1300.t
	desc = {
		desc = court_outcome.1302.start.desc
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:targets_meeting }
				desc = court_outcome.1302.target.desc
			}
			desc = court_outcome.1302.desc
		}
		desc = court_outcome.1302.end
	}
	theme = romance_scheme

	left_portrait = {
		character = scope:target
		animation = dismissal
	}
	right_portrait = {
		character = scope:owner
		animation = flirtation_left
	}

	immediate = {
		play_music_cue = mx_cue_death
		hidden_effect = {
			scope:target = {
				every_relation = {
					type = lover
					limit = { available_meeting_trigger = yes }
					add_to_list = targets_meeting_list
				}
				every_relation = {
					type = potential_lover
					limit = { available_meeting_trigger = yes }
					add_to_list = targets_meeting_list
				}
				every_relation = {
					type = friend
					limit = { available_meeting_trigger = yes }
					add_to_list = targets_meeting_list
				}
				every_relation = {
					type = potential_friend
					limit = { available_meeting_trigger = yes }
					add_to_list = targets_meeting_list
				}

				random_in_list = {
					list = targets_meeting_list
					limit = {
						OR = {
							has_relation_rival = scope:owner
							has_relation_potential_rival = scope:owner
							opinion = { target = scope:owner value <= -20 }
						}
						available_meeting_trigger = yes
					}
					alternative_limit = { available_meeting_trigger = yes }
					save_scope_as = targets_meeting
				}
			}
			if = {
				limit = {
					exists = scope:targets_meeting
					can_set_relation_potential_rival_trigger = { CHARACTER = scope:targets_meeting }
				}
				set_relation_potential_rival = scope:targets_meeting
			}
		}
	}

	option = {
		name = court_outcome.1202.a
		add_prestige = minor_prestige_loss
		if = {
			limit = { exists = scope:targets_meeting }
			reverse_add_opinion = {
				target = scope:targets_meeting 
				modifier = annoyed_opinion
				opinion = -10
			}
		}
		end_court_scheme_effect = { OUTCOME = failure_soft REASON = garden_meeting }
	}
}

# TARGET SUCCESS: is informed about outcome
court_outcome.1303 = {
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1300.t
	desc = court_outcome.1303.desc

	theme = romance_scheme
	left_portrait = {
		character = scope:target
		animation = love
	}
	right_portrait = {
		character = scope:owner
		animation = flirtation_left
	}

	immediate = {
		play_music_cue = mx_cue_seduction
	}

	option = {
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			text = court_outcome.1001.a
		}
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = no
			}
			text = court_outcome.1003.b
		}
		name = {
			trigger = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			text = court_outcome.1105.a
		}
		name = {
			trigger = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			text = court_outcome.1105.b
		}

		if = {
			limit = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			end_court_scheme_effect = { OUTCOME = success_soulmate REASON = garden_meeting }
		}
		else_if = {
			limit = {
				exists = scope:marriage_proposed
				scope:marriage_proposed = yes
			}
			if = {
				limit = {
					needs_permission_to_marry_trigger = { CHARACTER1 = scope:owner CHARACTER2 = scope:target }
				}
				find_proposer_and_lieges_effect = yes
			}
			end_court_scheme_effect = { OUTCOME = success_marriage REASON = garden_meeting }
		}
		else_if = {
			limit = {
				exists = scope:elope_proposed
				scope:elope_proposed = yes
			}
			end_court_scheme_effect = { OUTCOME = success_elope REASON = saved_from_wolf }
		}

		#No need to show kiss outcome as it has no effect for target, it's executed in owner's scope before
	}
}


##################
# Late into the Night outcome
##################

court_outcome.1400 = {
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1400.t
	desc = court_outcome.1400.desc

	theme = romance_scheme
	left_portrait = scope:target
	override_background = { reference = bedchamber }

	widget = {
		gui = "event_window_widget_scheme"
		container = "custom_widgets_container"
	}

	trigger = {
		is_spouse_of = scope:target
	}

	option = {
		name = court_outcome.1400.a
		custom_tooltip = court_outcome.0001.a.tt

		hidden_effect = {
			if = {
				limit = {
					exists = scope:scheme_successful
					scope:scheme_successful = yes
				}
				trigger_event = {
					id = court_outcome.1401
					days = 3
				}
			}
			else = {
				trigger_event = {
					id = court_outcome.1402
				}
			}
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_sociability = 0.5
				ai_compassion = 0.5
			}
		}
	}

	option = {
		trigger = {
			court_allow_owner_opt_out_trigger = yes
			scope:target = { is_ai = yes }
		}
		name = court_outcome.1400.b

		scope:scheme = {
			end_scheme = yes
		}

		ai_chance = {
			base = 25
		}
	}
}

# OWNER SUCCESS: You both talk long into the night
court_outcome.1401 = {
	type = character_event
	window = scheme_successful_event
	title = court_outcome.1400.t
	desc = court_outcome.1401.desc
	theme = romance_scheme

	left_portrait = {
		character = scope:target
		animation = love
	}
	right_portrait = {
		character = scope:owner
		animation = happiness
	}
	override_background = { reference = bedchamber }

	immediate = {
		play_music_cue = mx_cue_seduction
	}

	#Consummate love
	option = {
		trigger = {
			can_set_relation_soulmate_trigger = { CHARACTER = scope:target }

			# Player target has opted out of being soulmates.
			custom_description = {
				text = does_not_want_to_be_soulmates
				object = scope:target
				NOT = { exists = scope:no_soulmate }
			}
		}
		show_as_unavailable = {
			exists = scope:no_soulmate
		}
		name = court_outcome.1001.a

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = yes
		}

		show_as_tooltip = { end_court_scheme_effect = { OUTCOME = success_soulmate REASON = late_into_the_night } } #Tooltip as this will be executed in target's scope

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_compassion = low_chance_impact_positive_ai_value #Up to 100 for high compassion
			}
			ai_value_modifier = {
				ai_boldness = low_chance_impact_positive_ai_value #Up to 100 for high boldness
			}
			modifier = {
				num_of_relation_soulmate > 0
				culture = {
					has_cultural_parameter = ai_romance_scheme_increase
				}
				factor = 0.01
			}
		}
	}

	#Just kiss
	option = {
		name = court_outcome.1201.b

		end_court_scheme_effect = { OUTCOME = success_kiss REASON = late_into_the_night }

		court_success_prestige_effect = yes
		save_scope_value_as = {
			name = become_soulmate
			value = no
		}

		ai_chance = {
			base = 50
			modifier = {
				scope:target = { is_ai = no } #Players will always get their way
				NOT = { exists = scope:no_soulmate }
				add = -50
			}
		}
	}

	after = {
		scope:target = { trigger_event = court_outcome.1403 }
	}
}

# OWNER FAILURE: You end up in a fight
court_outcome.1402 = {
	type = character_event
	window = scheme_failed_event
	title = court_outcome.1400.t
	desc = court_outcome.1402.desc
	theme = romance_scheme

	left_portrait = {
		character = scope:target
		animation = anger
	}
	right_portrait = {
		character = scope:owner
		animation = flirtation_left
	}
	override_background = { reference = bedchamber }

	option = {
		name = court_outcome.1402.a
		end_court_scheme_effect = { OUTCOME = failure_soft REASON = late_into_the_night }
	}
}

# TARGET SUCCESS: is informed about outcome
court_outcome.1403 = {
	type = character_event
	window = scheme_conclusion_event_no_header
	title = court_outcome.1400.t
	desc = court_outcome.1403.desc

	theme = romance_scheme
	left_portrait = {
		character = scope:target
		animation = love
	}
	right_portrait = {
		character = scope:owner
		animation = happiness
	}
	override_background = { reference = bedchamber }

	immediate = {
		play_music_cue = mx_cue_seduction
	}

	option = {
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			text = court_outcome.1001.a
		}
		name = {
			trigger = {
				exists = scope:become_soulmate
				scope:become_soulmate = no
			}
			text = court_outcome.1003.b
		}

		if = {
			limit = {
				exists = scope:become_soulmate
				scope:become_soulmate = yes
			}
			end_court_scheme_effect = { OUTCOME = success_soulmate REASON = late_into_the_night }
		}

		#No need to show kiss outcome as it has no effect for target, it's executed in owner's scope before
	}
}


######################################################
# SEEKING PERMISSION FOR MARRIAGE EVENTS
# 2000-2005
######################################################

# Letter from proposer to own liege asking for permission to marry target
court_outcome.2000 = {
	type = letter_event
	opening = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:proposer = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.family.opening
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { is_courtier_of = root }
				}
				desc = court_outcome.2000.courtier.opening
			}			
			desc = court_outcome.2000.opening
		}
	}
	desc = {
		desc = court_outcome.2000.start
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:proposer_target = {
						has_any_court_relationship_with = { CHARACTER = root }
					}
				}
				desc = court_outcome.2000.my.relation
			}
			triggered_desc = {
				trigger = {
					exists = scope:proposer_target_liege
					scope:proposer_target = {
						NOT = { is_courtier_of = root }
						has_any_court_relationship_with = { CHARACTER = scope:proposer_target_liege }
					}
				}
				desc = court_outcome.2000.other.relation
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { is_courtier_of = root }
					scope:proposer_target = { is_courtier_of = root }
				}
				desc = court_outcome.2000.both.my.courtier
			}
			triggered_desc = {
				trigger = {
					scope:proposer_target = { is_courtier_of = root }
				}
				desc = court_outcome.2000.my.courtier
			}
			desc = court_outcome.2000.stranger
		}
		desc = court_outcome.2000.middle
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:proposer_target = { is_close_or_extended_family_of = root }
					scope:proposer = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.both.family
			}
			triggered_desc = {
				trigger = {
					scope:proposer_target = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.only.target.family
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.only.proposer.family
			}
			triggered_desc = {
				trigger = {
					scope:proposer = {
						is_courtier = no
						is_ruler = no
					}
				}
				desc = court_outcome.2000.proposer.wanderer
			}
			triggered_desc = {
				trigger = {
					scope:proposer_target = {
						is_courtier = no
						is_ruler = no
					}
				}
				desc = court_outcome.2000.target.wanderer
			}
			desc = court_outcome.2000.neither.family
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					has_trait = will_not_wed
					is_close_or_extended_family_of = root
				}
			}
			desc = court_outcome.2000.proposer.family.willnotwed
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					NOT = { has_trait = will_not_wed }
					is_close_or_extended_family_of = root
				}
			}
			desc = court_outcome.2000.proposer.family
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					NOT = { is_close_or_extended_family_of = root }
					has_dynasty = yes
					dynasty = root.dynasty
				}
			}
			desc = court_outcome.2000.proposer.dynasty
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					is_courtier_of = root
					NOR = {
						is_close_or_extended_family_of = root
						dynasty ?= root.dynasty
					}
				}
			}
			desc = court_outcome.2000.proposer.courtier
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					is_courtier = no
					is_playable_character = no
					exists = host
					host = root
					NOR = {
						is_close_or_extended_family_of = root
						dynasty ?= root.dynasty
					}
				}
			}
			desc = court_outcome.2000.proposer.guest
		}
		first_valid = {
			triggered_desc = {
				trigger = {
					only_liege_to_ask_permission_trigger = yes
					scope:proposer = { has_personality_dominant_trigger = yes }
				}
				desc = court_outcome.2000.dominant.same
			}
			triggered_desc = {
				trigger = {
					only_liege_to_ask_permission_trigger = yes
					scope:proposer = { has_personality_submissive_trigger = yes }
				}
				desc = court_outcome.2000.submissive.same
			}
			triggered_desc = {
				trigger = {
					only_liege_to_ask_permission_trigger = yes
				}
				desc = court_outcome.2000.normal.same
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { has_personality_dominant_trigger = yes }
				}
				desc = court_outcome.2000.dominant
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { has_personality_submissive_trigger = yes }
				}
				desc = court_outcome.2000.submissive
			}
			desc = court_outcome.2000.normal
		}
	}
	sender = scope:proposer

	trigger = {
		trigger_if = {
			limit = { has_character_flag = auto_approve_unimportant_marriages }
			OR = {
				scope:proposer = { has_any_court_relationship_with = { CHARACTER = root } }
				scope:proposer_target = { has_any_court_relationship_with = { CHARACTER = root } }
			}
		}
		trigger_else = {
			always = yes
		}
	}

	on_trigger_fail = {
		hidden_effect = {
			marriage_permission_given_effect = yes
			if = {
				limit = { only_liege_to_ask_permission_trigger = yes }
				root = { save_scope_as = permission_granter }
				send_interface_message = {
					type = event_generic_neutral_with_text
					title =  lmf_scheme.1031.auto.permission.title.tt
					desc =  lmf_scheme.1031.auto.permission.tt
					right_icon = scope:proposer
				}
				scope:proposer = {
					trigger_event = court_outcome.2003
				}
			}
			else = {
				send_interface_message = {
					type = event_generic_neutral_with_text
					title =  lmf_scheme.1031.auto.permission.title.tt
					desc =  lmf_scheme.1031.auto.permission.maybe.tt
					right_icon = scope:proposer
				}
				scope:proposer = {
					trigger_event = court_outcome.2001
				}
			}
		}
	}

	option = {
		name = court_outcome.2000.a #Give them leave
		if = {
			limit = {
				scope:proposer = { has_usable_hook = root }
			}
			scope:proposer = { use_hook = root }
		}
		else_if = {
			limit = {
				scope:proposer_target = { has_usable_hook = root }
			}
			scope:proposer_target = { use_hook = root }
		}
		marriage_permission_given_effect = yes
		if = {
			limit = { only_liege_to_ask_permission_trigger = yes }
			show_as_tooltip = { courtiers_marry_effect = yes }
			root = { save_scope_as = permission_granter }
			scope:proposer = {
				trigger_event = court_outcome.2003
			}
		}
		else = {
			custom_tooltip = court_outcome.2000.a.seek.permission.tt
			show_as_tooltip = {
				random_list = {
					1 = {
						desc = court_outcome.2000.a.permission.granted.tt
						show_chance = no
						courtiers_marry_effect = yes
					}
					1 = {
						desc = court_outcome.2000.a.permission.refused.tt
						show_chance = no
						custom_tooltip = court_outcome.2000.b.tt
					}
				}
			}
			scope:proposer = {
				trigger_event = court_outcome.2001
			}
		}
		ai_chance = {
			base = 0
			ai_target_ruler_proposal_agree_modifier = yes
		}
	}
	option = {
		name = court_outcome.2000.b #Refuse
		trigger = {
			NOR = {
				scope:proposer = { has_usable_hook = root }
				scope:proposer_target = { has_usable_hook = root }
			}
		}
		show_as_unavailable = {
			OR = {
				scope:proposer = { has_usable_hook = root }
				scope:proposer_target = { has_usable_hook = root }
			}
		}
		custom_tooltip = court_outcome.2000.b.tt
		marriage_permission_refused_effect = yes
		scope:proposer = {
			trigger_event = court_outcome.2004
		}
		ai_chance = {
			base = 50
			ai_target_ruler_proposal_refuse_modifier = yes
		}
	}
	option = {
		name = lmf_scheme.1031.c #Ignore unimportant requests
		trigger = {
			is_ai = no
			NOR = {
				scope:proposer = { has_any_court_relationship_with = { CHARACTER = root } }
				scope:proposer_target = { has_any_court_relationship_with = { CHARACTER = root } }
			}
		}
		custom_tooltip = lmf_scheme.1031.c.tt
		add_character_flag = auto_approve_unimportant_marriages
		marriage_permission_given_effect = yes
		if = {
			limit = { only_liege_to_ask_permission_trigger = yes }
			show_as_tooltip = { courtiers_marry_effect = yes }
			root = { save_scope_as = permission_granter }
			scope:proposer = {
				trigger_event = court_outcome.2003
			}
		}
		else = {
			custom_tooltip = court_outcome.2000.a.seek.permission.tt
			show_as_tooltip = {
				random_list = {
					1 = {
						desc = court_outcome.2000.a.permission.granted.tt
						show_chance = no
						courtiers_marry_effect = yes
					}
					1 = {
						desc = court_outcome.2000.a.permission.refused.tt
						show_chance = no
						custom_tooltip = court_outcome.2000.b.tt
					}
				}
			}
			scope:proposer = {
				trigger_event = court_outcome.2001
			}
		}
		ai_chance = {
			base = 0
		}
	}
}

# Liege says yes, but he's not the only one the proposer has to ask
court_outcome.2001 = {
	type = letter_event
	opening = {
		desc = court_outcome.2001.opening
	}
	desc = court_outcome.2001.desc
	sender = scope:proposer_liege

	option = {
		name = court_outcome.2001.a
		scope:proposer_target_liege = {
			trigger_event = court_outcome.2002
		}
	}
}

# Letter from proposer to target's liege asking for permission to marry target
court_outcome.2002 = {
	type = letter_event
	opening = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:proposer = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.family.opening
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { is_courtier_of = root }
				}
				desc = court_outcome.2000.courtier.opening
			}
			desc = court_outcome.2000.opening
		}
	}
	desc = {
		desc = court_outcome.2000.start
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:proposer_target = {
						has_any_court_relationship_with = { CHARACTER = root }
					}
				}
				desc = court_outcome.2000.my.relation
			}
			triggered_desc = {
				trigger = {
					scope:proposer_target = { is_courtier_of = root }
				}
				desc = court_outcome.2000.my.courtier
			}
			desc = court_outcome.2000.stranger
		}
		desc = court_outcome.2000.middle
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:proposer_target = { is_close_or_extended_family_of = root }
					scope:proposer = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.both.family
			}
			triggered_desc = {
				trigger = {
					scope:proposer_target = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.only.target.family
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { is_close_or_extended_family_of = root }
				}
				desc = court_outcome.2000.only.proposer.family
			}
			triggered_desc = {
				trigger = {
					scope:proposer = {
						is_courtier = no
						is_ruler = no
					}
				}
				desc = court_outcome.2000.proposer.wanderer
			}
			triggered_desc = {
				trigger = {
					scope:proposer_target = {
						is_courtier = no
						is_ruler = no
					}
				}
				desc = court_outcome.2000.target.wanderer
			}
			desc = court_outcome.2000.neither.family
		}
		triggered_desc = {
			trigger = {
				exists = scope:proposer_liege
				NOT = { scope:proposer_liege = root }
			}
			desc = court_outcome.2000.second.liege
		}
		triggered_desc = {
			trigger = {
				scope:proposer = { is_close_or_extended_family_of = root }
			}
			desc = court_outcome.2000.proposer.family
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					NOT = { is_close_or_extended_family_of = root }
					has_dynasty = yes
					dynasty = root.dynasty
				}
			}
			desc = court_outcome.2000.proposer.dynasty
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					is_courtier_of = root
					NOR = {
						is_close_or_extended_family_of = root
						dynasty ?= root.dynasty
					}
				}
			}
			desc = court_outcome.2000.proposer.courtier
		}
		triggered_desc = {
			trigger = {
				scope:proposer = {
					is_courtier = no
					is_playable_character = no
					exists = host
					host = root
					NOR = {
						is_close_or_extended_family_of = root
						dynasty ?= root.dynasty
					}
				}
			}
			desc = court_outcome.2000.proposer.guest
		}
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:proposer = { has_personality_dominant_trigger = yes }
				}
				desc = court_outcome.2000.dominant.same
			}
			triggered_desc = {
				trigger = {
					scope:proposer = { has_personality_submissive_trigger = yes }
				}
				desc = court_outcome.2000.submissive.same
			}
			desc = court_outcome.2000.normal.same
		}
	}
	sender = scope:proposer

	trigger = {
		trigger_if = {
			limit = { has_character_flag = auto_approve_unimportant_marriages }
			OR = {
				scope:proposer = { has_any_court_relationship_with = { CHARACTER = root } }
				scope:proposer_target = { has_any_court_relationship_with = { CHARACTER = root } }
			}
		}
		trigger_else = {
			always = yes
		}
	}

	on_trigger_fail = {
		hidden_effect = {
			marriage_permission_given_effect = yes
			root = { save_scope_as = permission_granter }
			send_interface_message = {
				type = event_generic_neutral_with_text
				title =  lmf_scheme.1031.auto.permission.title.tt
				desc =  lmf_scheme.1031.auto.permission.tt
				right_icon = scope:proposer
			}
			scope:proposer = {
				trigger_event = court_outcome.2003
			}
		}
	}

	option = {
		name = court_outcome.2000.a #Give them leave
		if = {
			limit = {
				scope:proposer = { has_usable_hook = root }
			}
			scope:proposer = { use_hook = root }
		}
		else_if = {
			limit = {
				scope:proposer_target = { has_usable_hook = root }
			}
			scope:proposer_target = { use_hook = root }
		}
		marriage_permission_given_effect = yes
		show_as_tooltip = { courtiers_marry_effect = yes }
		root = { save_scope_as = permission_granter }
		scope:proposer = {
			trigger_event = court_outcome.2003
		}
		ai_chance = {
			base = 10
			ai_other_ruler_proposal_agree_modifier = yes
		}
	}
	option = {
		name = court_outcome.2000.b #Refuse
		trigger = {
			NOR = {
				scope:proposer = { has_usable_hook = root }
				scope:proposer_target = { has_usable_hook = root }
			}
		}
		show_as_unavailable = {
			OR = {
				scope:proposer = { has_usable_hook = root }
				scope:proposer_target = { has_usable_hook = root }
			}
		}
		custom_tooltip = court_outcome.2000.b.tt
		marriage_permission_refused_effect = yes
		scope:proposer = {
			trigger_event = court_outcome.2004
		}
		ai_chance = {
			base = 50
			ai_other_ruler_proposal_refuse_modifier = yes
		}
	}
	option = {
		name = lmf_scheme.1031.c #Ignore unimportant requests
		trigger = {
			is_ai = no
			NOR = {
				scope:proposer = { has_any_court_relationship_with = { CHARACTER = root } }
				scope:proposer_target = { has_any_court_relationship_with = { CHARACTER = root } }
			}
		}
		custom_tooltip = lmf_scheme.1031.c.tt
		add_character_flag = auto_approve_unimportant_marriages
		marriage_permission_given_effect = yes
		show_as_tooltip = { courtiers_marry_effect = yes }
		root = { save_scope_as = permission_granter }
		scope:proposer = {
			trigger_event = court_outcome.2003
		}
		ai_chance = {
			base = 0
		}
	}
}

# Permission Granted
court_outcome.2003 = {
	type = character_event
	title = court_outcome.2003.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { root = scope:proposer }
				desc = court_outcome.2003.proposer
			}
			desc = court_outcome.2003.proposer_target
		}
	}
	theme = romance_scheme

	left_portrait = {
		character = scope:spouse_1_portrait
		animation = wedding_bride_left
	}
	right_portrait = {
		character = scope:spouse_2_portrait
		animation = wedding_groom_right
	}

	immediate = {
		if = {
			limit = {
				location.culture ?= { has_graphical_india_culture_group_trigger = yes }
			}
			play_sound_effect = "event:/DLC/EP2/SFX/Stingers/Grand_Activities/ep2_mx_sting_wedding_india"
		}
		else_if = {
			limit = {
				OR = {
					location.culture ?= { has_graphical_mena_culture_group_trigger = yes }
					location.culture ?= { has_graphical_steppe_culture_group_trigger = yes }
					location.culture ?= { has_graphical_african_culture_group_trigger = yes }
				}
			}
			play_sound_effect = "event:/DLC/EP2/SFX/Stingers/Grand_Activities/ep2_mx_sting_wedding_mena"
		}
		else = {
			play_sound_effect = "event:/DLC/EP2/SFX/Stingers/Grand_Activities/ep2_mx_sting_wedding_west"
		}
		if = {
			limit = {
				scope:proposer = {
					sex_opposite_of = scope:proposer_target
					is_male = yes
				}
			}
			scope:proposer = {
				save_scope_as = spouse_2_portrait
			}
			scope:proposer_target = {
				save_scope_as = spouse_1_portrait
			}
		}
		else = {
			scope:proposer = {
				save_scope_as = spouse_1_portrait
			}
			scope:proposer_target = {
				save_scope_as = spouse_2_portrait
			}
		}
	}

	option = {
		name = court_outcome.2003.a
		if = {
			limit = { root = scope:proposer }
			if = {
				limit = {
					should_marry_matrilineally_trigger = { PROPOSER = scope:proposer TARGET = scope:proposer_target }
				}
				show_as_tooltip = {
					court_scheme_marriage_effect = yes
					scope:proposer = { marry_matrilineal = scope:proposer_target }
				}
			}
			else = {
				show_as_tooltip = {
					court_scheme_marriage_effect = yes
					scope:proposer = { marry = scope:proposer_target }
				}
			}
			show_as_tooltip = {
				move_characters_to_proper_court_effect = { CHARACTER_1 = scope:proposer CHARACTER_2 = scope:proposer_target }
			}
			scope:proposer_target = {
				trigger_event = court_outcome.2003
			}
		}
		else = {
			if = {
				limit = {
					should_marry_matrilineally_trigger = { PROPOSER = scope:proposer TARGET = scope:proposer_target }
				}
				court_scheme_marriage_effect = yes
				scope:proposer = { marry_matrilineal = scope:proposer_target }
			}
			else = {
				add_marry_for_love_flag_effect = { PARTNER1 = scope:proposer PARTNER2 = scope:proposer_target }
				court_scheme_marriage_effect = yes
				scope:proposer = { marry = scope:proposer_target }
			}
			move_characters_to_proper_court_effect = { CHARACTER_1 = scope:proposer CHARACTER_2 = scope:proposer_target }
		}
	}
}

# Permission refused - to proposer
court_outcome.2004 = {
	type = character_event
	title = court_outcome.2004.t
	desc = court_outcome.2004.desc
	theme = romance_scheme

	left_portrait = {
		character = scope:permission_refuser
		animation = disapproval
	}
	right_portrait = {
		character = scope:proposer
		animation = shock
	}

	immediate = {
		if = {
			limit = { exists = scope:is_pregnancy_proposal }
			bastardy_pregnancy_announcement_effect = yes
		}
	}

	option = {
		name = court_outcome.2004.a #Then we elope!
		trigger = {
			NOT = { exists = scope:is_non_lover_proposal }
			can_start_scheme = {
				type = elope
				target_character = scope:proposer_target
			}

			# they must be willing to betray their current spouse
			custom_description = {
				text = will_not_betray_spouse
				object = scope:proposer_target
				scope:proposer_target = {
					OR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							might_cheat_on_partner_trigger = { PARTNER = scope:proposer_target.primary_spouse }
						}
					}
				}
			}
			
			# they must be willing to betray their current betrothed
			custom_description = {
				text = will_not_betray_betrothed
				object = scope:proposer_target
				scope:proposer_target = {
					OR = {
						is_ai = no
						is_betrothed = no
						AND = {
							exists = betrothed
							might_cheat_on_partner_trigger = { PARTNER = scope:proposer_target.betrothed }
						}
					}
				}
			}
		}
		show_as_unavailable = {
			OR = {
				NOT = {
					can_start_scheme = {
						type = elope
						target_character = scope:proposer_target
					}
				}
				scope:proposer_target = {
					NOR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							might_cheat_on_partner_trigger = { PARTNER = scope:proposer_target.primary_spouse }
						}
					}
				}
				scope:proposer_target = {
					NOR = {
						is_ai = no
						is_betrothed = no
						AND = {
							exists = betrothed
							might_cheat_on_partner_trigger = { PARTNER = scope:proposer_target.betrothed }
						}
					}
				}
			}
		}
		stress_impact = {
			honest = minor_stress_impact_gain
			just = minor_stress_impact_gain
		}
		show_as_tooltip = {
			start_scheme = {
				type = elope
				target_character = scope:proposer_target
			}
		}
		set_variable = { name = waiting_to_elope value = scope:proposer_target years = 20 }
		scope:proposer_target = {
			add_character_flag = will_elope
			trigger_event = court_outcome.2005
		}
		ai_chance = {
			base = 0
			modifier = {
				add = 25
				is_married = no
			}
			ai_value_modifier = {
   				ai_boldness = 1
				ai_honor = -0.5
				ai_vengefulness = 0.3
			}
			modifier = {
				add = {
					value = scope:proposer.intrigue
					multiply = 2.5
				}
			}
			modifier = {
				add = {
					value = scope:proposer_target.intrigue
					multiply = 2.5
				}
			}
			min = 0
		}
	}
	option = {
		name = court_outcome.2004.b #Our love shall never die
		trigger = {
			NOT = { exists = scope:is_non_lover_proposal }
			custom_description = {
				text = will_not_betray_spouse
				object = scope:proposer_target
				scope:proposer_target = {
					OR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							NOT = { primary_spouse = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:proposer_target.primary_spouse }
						}
					}
				}
			}
			custom_description = {
				text = unwilling_to_take_lover
				object = scope:proposer_target
				scope:proposer_target = {
					OR = {
						is_ai = no
						has_relation_lover = scope:proposer
						willing_to_take_character_as_lover = { LOVER = scope:proposer }
					}
				}
			}
		}
		show_as_unavailable = {
			OR = {
				scope:proposer_target = {
					NOR = {
						is_ai = no
						is_married = no
						AND = {
							is_married = yes
							exists = primary_spouse
							NOT = { primary_spouse = root }
							might_cheat_on_partner_trigger = { PARTNER = scope:proposer_target.primary_spouse }
						}
					}
				}
				scope:proposer_target = {
					NOR = {
						is_ai = no
						has_relation_lover = scope:proposer
						willing_to_take_character_as_lover = { LOVER = scope:proposer }
					}
				}
			}
		}
		custom_tooltip = court_outcome.2004.b.tt
		
		set_variable = { name = waiting_to_elope value = scope:proposer_target years = 20 }
		create_story = { type = lmf_waiting_to_elope_story_cycle }
		
		show_as_tooltip = {
			had_sex_with_effect = { #Run this in target scope because owner has own tooltip
				CHARACTER = scope:proposer_target
				PREGNANCY_CHANCE = pregnancy_chance
			}
		}
		scope:proposer_target = {
			add_character_flag = continue_soulmate
			trigger_event = court_outcome.2005
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
   				ai_boldness = 0.5
				ai_honor = -1
			}
			modifier = {
				add = 25
				has_trait = lustful
			}
			modifier = {
				factor = 0.5
				is_married = yes
				ai_zeal >= 0
			}
			modifier = {
				factor = 0
				has_trait = chaste
			}
			modifier = {
				factor = 0
				NOT = {
					willing_to_take_character_as_lover = { LOVER = scope:proposer_target }
				}
			}
			min = 0
		}
	}
	option = {
		name = court_outcome.2004.c #If we cannot be together, what is the point?
		custom_tooltip = court_outcome.2004.c.tt
		show_as_tooltip = {
			if = {
				limit = { has_relation_soulmate = scope:proposer_target }
				remove_relation_soulmate = scope:proposer_target
			}
			else_if = {
				limit = { has_relation_lover = scope:proposer_target }
				remove_relation_lover = scope:proposer_target
			}
			else_if = {
				limit = { exists = scope:is_non_lover_proposal }
				add_character_flag = {
					flag = no_nonlover_proposals
					years = 10
				}
				remove_opinion = {
					modifier = love_opinion
					target = scope:proposer_target
				}
				scope:proposer_target = {
					add_character_flag = {
						flag = no_nonlover_proposals
						years = 10
					}
					remove_opinion = {
						modifier = love_opinion
						target = scope:proposer
					}
				}
			}
			set_relation_potential_lover = scope:proposer_target
		}
		reverse_add_opinion = {
			target = scope:proposer_target
			modifier = lingering_love_opinion
		}
		scope:proposer_target = {
			add_character_flag = end_soulmate
			trigger_event = court_outcome.2005
		}
		ai_chance = {
			base = 50
			modifier = {
				exists = scope:is_pregnancy_proposal
				add = -50
			}
			ai_value_modifier = {
   				ai_boldness = -1
				ai_honor = 0.5
				ai_compassion = 0.3
			}
			min = 1
		}
	}
}

# Permission refused - to target
court_outcome.2005 = {
	type = character_event
	title = court_outcome.2004.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = will_elope }
				desc = court_outcome.2005.elope
			}
			triggered_desc = {
				trigger = { has_character_flag = continue_soulmate }
				desc = court_outcome.2005.continue
			}
			desc = court_outcome.2005.breakup
		}
	}
	theme = romance_scheme

	left_portrait = {
		character = scope:proposer
		triggered_animation = {
			trigger = { scope:proposer_target = { has_character_flag = will_elope } }
			animation = anger
		}
		triggered_animation = {
			trigger = { scope:proposer_target = { has_character_flag = continue_soulmate } }
			animation = personality_bold
		}
		animation = sadness
	}
	right_portrait = {
		character = scope:proposer_target
		animation = shock
	}

	option = {
		name = court_outcome.2005.a
		trigger = { has_character_flag = will_elope }
		remove_character_flag = will_elope
		scope:proposer = {
			show_as_tooltip = {
				start_scheme = {
					type = elope
					target_character = scope:proposer_target
				}
			}
		}
		hidden_effect = {
			set_variable = { name = waiting_to_elope value = scope:proposer years = 20 }
			scope:proposer = {
				send_interface_toast = {
					title = elope_interaction_notification

					left_icon = scope:proposer
					right_icon = scope:proposer_target

					begin_scheme_basic_effect = {
						SCHEME_TYPE = elope
						TARGET_TYPE = target_character
						TARGET_SCOPE = scope:proposer_target
					}

					show_as_tooltip = {
						stress_impact = {
							honest = minor_stress_impact_gain
							just = minor_stress_impact_gain
						}
					}
				}
				random_scheme = {
					type = elope
					limit = { scheme_target_character = scope:proposer_target }
					add_scheme_modifier = {
						type = determined_elopement_modifier
					}
				}
			}
		}
	}
	option = {
		name = court_outcome.2005.b
		trigger = { has_character_flag = continue_soulmate }
		remove_character_flag = continue_soulmate

		set_variable = { name = waiting_to_elope value = scope:proposer years = 20 }
		create_story = {
			type = lmf_waiting_to_elope_story_cycle
			save_scope_as = story
		}
		scope:story = {
			# a player has just 3 years to get it underway
			if = {
				limit = { scope:proposer = { is_ai = no } }
				set_variable = { name = elope_promised value = 3 }
			}
			# but the AI has 10
			else = {
				set_variable = { name = elope_promised value = 10 }
			}
		}
		
		had_sex_with_effect = { #Run this in target scope because owner has own tooltip
			CHARACTER = scope:proposer
			PREGNANCY_CHANCE = pregnancy_chance
		}
	}
	option = {
		name = court_outcome.2005.c
		trigger = { has_character_flag = end_soulmate }
		remove_character_flag = end_soulmate
		scope:proposer = {
			if = {
				limit = { has_relation_soulmate = scope:proposer_target }
				remove_relation_soulmate = scope:proposer_target
			}
			else_if = {
				limit = { has_relation_lover = scope:proposer_target }
				remove_relation_lover = scope:proposer_target
			}
			else_if = {
				limit = { exists = scope:is_non_lover_proposal }
				add_character_flag = {
					flag = no_nonlover_proposals
					years = 10
				}
				remove_opinion = {
					modifier = love_opinion
					target = scope:proposer_target
				}
				scope:proposer_target = {
					add_character_flag = {
						flag = no_nonlover_proposals
						years = 10
					}
					remove_opinion = {
						modifier = love_opinion
						target = scope:proposer
					}
				}
			}
			if = {
				limit = {
					can_set_relation_potential_lover_trigger = { CHARACTER = scope:proposer_target }
				}
				set_relation_potential_lover = scope:proposer_target
			}
		}
		reverse_add_opinion = {
			target = scope:proposer
			modifier = lingering_love_opinion
		}
	}
}

# Lover will no longer wait for elopement
court_outcome.2010 = {
	type = letter_event
	opening = {
		desc = court_outcome.2010.opening
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:target = { is_imprisoned = yes } }
				desc = court_outcome.2010.imprison
			}
			desc = court_outcome.2010.normal
		}
		first_valid = {
			triggered_desc = {
				trigger = { reverse_opinion = { target = scope:target value <= 0 } }
				desc = court_outcome.2010.hate
			}
			desc = court_outcome.2010.nothate
		}
		desc = court_outcome.2010.end
	}
	sender = scope:target

	right_portrait = {
		character = scope:target
		animation = sadness
	}

	trigger = {
		exists = scope:target
		scope:target = {
			is_alive = yes
			has_relation_soulmate = root
		}
		can_elope_character_trigger = { CHARACTER = scope:target }
		NOT = {
			any_scheme = {
				type = elope
				scheme_target_character = scope:target
			}
		}
	}

	option = {
		name = court_outcome.2010.a
		if = {
			limit = { has_relation_soulmate = scope:target }
			remove_relation_soulmate = scope:target
		}
	}
	
	after = {
		random_owned_story = {
			type = lmf_waiting_to_elope_story_cycle
			limit = { var:elope_target ?= scope:target }
			end_story = yes
		}
	}
}

