@ep2_wedding_ewan_0052_dolt_pay_out_value = root.massive_gold_value
@ep2_wedding_ewan_0061_high_skill_value = extremely_high_skill_rating
@ep2_wedding_ewan_0061_old_value = 80
@ep2_wedding_ewan_0061_very_old = 90

namespace = ep2_wedding_ewan

##################################################
# #Banquet Phase
# 0001 - 0010	Quite the Spectacle - Connect with various types of characters over the entertainment.
# 0011 - 0020	Food Fit for a... - Connect with various types of characters over the food.
# 0021 - 0030	Shimmering, Shining - Connect with various types of characters over the venue & its decorations.
# 0031 - 0040	A Sociable Supper - Meet one of your neighbouring rulers and form a fast friendship.
# 0041 - 0050	Speech! Speech! - Make a speech to the happy couple, adjusting the meaning to your intent.
# 0051 - 0060	And Another Thing - Someone is pitching questionable ideas at you, and you can go along with them or not, but they keep coming at you.
# 0061 - 0070	To My Beloved GetRelation - Embarrassing older relation speech.
# 0071 - 0080	Oath in Moment - Your liege offers you a favour for your support.
##################################################










##################################################
# MISC SCRIPTED TRIGGERS & EFFECTS

# Filter out characters who aren't appropriate to be giving their unasked opinions on the activity's setup options.
scripted_trigger ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = {
	# Filter out players immediately.
	is_ai = yes
	# Now let's make sure it's no one who wouldn't be having this conversation or who we might want to reserve for something else.
	NOR = {
		this = root
		this = scope:activity.activity_host
		this = scope:activity.special_guest:spouse_1
		this = scope:activity.special_guest:spouse_2
		this ?= root.intent_target
		has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
	}
}

# Standard stress loss for hosts agreeing with criticisms.
scripted_effect ep2_wedding_ewan_0000_host_takes_criticism_stress_gain_effect = {
	# Host reacts a bit differently to feedback.
	if = {
		limit = { this = scope:activity.activity_host }
		stress_impact = {
			gregarious = miniscule_stress_impact_loss
			humble = minor_stress_impact_loss
			arrogant = miniscule_stress_impact_gain
		}
	}
	else = {
		stress_impact = { gregarious = miniscule_stress_impact_loss }
	}
}

scripted_effect ep2_wedding_ewan_0000_opinion_swap_effect = {
	# Progress heavily towards friendship.
	progress_towards_friend_effect = {
		CHARACTER = $FAVOURED_CHAR$
		REASON = friend_dinner
		OPINION = 35
	}
	reverse_add_opinion = {
		target = $REJECTED_CHAR$
		modifier = respect_opinion
		opinion = -15
	}
}

scripted_effect ep2_wedding_ewan_0000_host_approves_effect = {
	# If you're the host, gain some prestige for ignoring them.
	if = {
		limit = { this = scope:activity.activity_host }
		add_prestige = minor_prestige_gain
	}
	# Otherwise, gain some opinion with the host.
	else = {
		reverse_add_opinion = {
			target = scope:activity.activity_host
			modifier = friendliness_opinion
			opinion = 15
		}
	}
}

scripted_effect ep2_wedding_ewan_0000_award_lifestyle_xp_per_conversationalist_effect = {
	$TARGET$ = {
		# Diplomacy.
		if = {
			limit = { has_trait = education_diplomacy }
			# T1.
			if = {
				limit = { has_trait = education_diplomacy_1 }
				root = { add_diplomacy_lifestyle_xp = minor_lifestyle_xp }
			}
			# T2.
			else_if = {
				limit = { has_trait = education_diplomacy_2 }
				root = { add_diplomacy_lifestyle_xp = medium_lifestyle_xp }
			}
			# T3.
			else_if = {
				limit = { has_trait = education_diplomacy_3 }
				root = { add_diplomacy_lifestyle_xp = major_lifestyle_xp }
			}
			# T4.
			else_if = {
				limit = { 
					OR = {
						has_trait = education_diplomacy_4
						has_trait = education_diplomacy_5
					}
				}
				root = { add_diplomacy_lifestyle_xp = massive_lifestyle_xp }
			}
		}
		# Martial.
		if = {
			limit = { has_trait = education_martial }
			# T1.
			if = {
				limit = { has_trait = education_martial_1 }
				root = { add_martial_lifestyle_xp = minor_lifestyle_xp }
			}
			# T2.
			else_if = {
				limit = { has_trait = education_martial_2 }
				root = { add_martial_lifestyle_xp = medium_lifestyle_xp }
			}
			# T3.
			else_if = {
				limit = { has_trait = education_martial_3 }
				root = { add_martial_lifestyle_xp = major_lifestyle_xp }
			}
			# T4.
			else_if = {
				limit = { 
					OR = {
						has_trait = education_martial_4
						has_trait = education_martial_5
					}
				}
				root = { add_martial_lifestyle_xp = massive_lifestyle_xp }
			}
		}
		# Stewardship.
		if = {
			limit = { has_trait = education_stewardship }
			# T1.
			if = {
				limit = { has_trait = education_stewardship_1 }
				root = { add_stewardship_lifestyle_xp = minor_lifestyle_xp }
			}
			# T2.
			else_if = {
				limit = { has_trait = education_stewardship_2 }
				root = { add_stewardship_lifestyle_xp = medium_lifestyle_xp }
			}
			# T3.
			else_if = {
				limit = { has_trait = education_stewardship_3 }
				root = { add_stewardship_lifestyle_xp = major_lifestyle_xp }
			}
			# T4.
			else_if = {
				limit = { 
					OR = {
						has_trait = education_stewardship_4
						has_trait = education_stewardship_5
					}
				}
				root = { add_stewardship_lifestyle_xp = massive_lifestyle_xp }
			}
		}
		# Intrigue.
		if = {
			limit = { has_trait = education_intrigue }
			# T1.
			if = {
				limit = { has_trait = education_intrigue_1 }
				root = { add_intrigue_lifestyle_xp = minor_lifestyle_xp }
			}
			# T2.
			else_if = {
				limit = { has_trait = education_intrigue_2 }
				root = { add_intrigue_lifestyle_xp = medium_lifestyle_xp }
			}
			# T3.
			else_if = {
				limit = { has_trait = education_intrigue_3 }
				root = { add_intrigue_lifestyle_xp = major_lifestyle_xp }
			}
			# T4.
			else_if = {
				limit = { 
					OR = {
						has_trait = education_intrigue_4
						has_trait = education_intrigue_5
					}
				}
				root = { add_intrigue_lifestyle_xp = massive_lifestyle_xp }
			}
		}
		# Learning.
		if = {
			limit = { has_trait = education_learning }
			# T1.
			if = {
				limit = { has_trait = education_learning_1 }
				root = { add_learning_lifestyle_xp = minor_lifestyle_xp }
			}
			# T2.
			else_if = {
				limit = { has_trait = education_learning_2 }
				root = { add_learning_lifestyle_xp = medium_lifestyle_xp }
			}
			# T3.
			else_if = {
				limit = { has_trait = education_learning_3 }
				root = { add_learning_lifestyle_xp = major_lifestyle_xp }
			}
			# T4.
			else_if = {
				limit = { 
					OR = {
						has_trait = education_learning_4
						has_trait = education_learning_5
					}
				}
				root = { add_learning_lifestyle_xp = massive_lifestyle_xp }
			}
		}
	}
}











##################################################
# BANQUET PHASE

##################################################
# Quite the Spectacle
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################

# Character likes T1 entertainment.
scripted_trigger ep2_wedding_ewan_0001_entertainment_t1_likes_trigger = {
	OR = {
		# Thinks too much entertainment is frivolous.
		has_trait = diligent
		# Prefers 1-on-1 conversations to showy jugglers.
		## N-not that I'm sad because I can't juggle.
		### My hands are just stupid.
		has_trait = shy
		# Prefers lagom entertainment.
		has_trait = humble
		has_trait = content
		# Doesn't respect any entertaining profession.
		has_trait = honest
		## Just characters are kill-joys. Change my mind.
		has_trait = just
		# Likes safe entertainment that doesn't give them the jitters.
		has_trait = craven
		# Doesn't trust large bands of strangers.
		has_trait = paranoid
	}
}
# Character hates T1 entertainment.
scripted_trigger ep2_wedding_ewan_0001_entertainment_t1_hates_trigger = {
	OR = {
		# Likes a good joke/acrobat/actor.
		has_trait = lazy
		has_trait = gregarious
		# Prefers big, upscale-everything.
		has_trait = arrogant
		has_trait = ambitious
		# Appreciates the entertainer's art.
		has_trait = deceitful
		has_trait = arbitrary
		# Wants bombastic, dangerous entertainment.
		has_trait = brave
		# Loves large bands of dangerous strangers.
		has_trait = trusting
	}
}
# Character likes T2 entertainment.
scripted_trigger ep2_wedding_ewan_0001_entertainment_t2_likes_trigger = {
	OR = {
		# Accepting of the average.
		has_trait = content
		has_trait = compassionate
		# Likes that money was spent.
		has_trait = generous
		# Likes the atmosphere being high-effort but not _too_ bustling.
		has_trait = calm
		has_trait = patient
		# Likes a middling option.
		has_trait = fickle
		has_trait = cynical
	}
}
# Character hates T2 entertainment.
scripted_trigger ep2_wedding_ewan_0001_entertainment_t2_hates_trigger = {
	OR = {
		# Hates the average.
		has_trait = ambitious
		has_trait = arrogant
		# Would have preferred all the money, to take advantage, or else none, not to waste any.
		has_trait = greedy
		# Want a more bustling atmosphere that goes further than this.
		has_trait = wrathful
		has_trait = impatient
		# Feels that if it was worth doing, it's worth doing to its best.
		has_trait = stubborn
		has_trait = zealous
	}
}
# Character likes T3 entertainment.
scripted_trigger ep2_wedding_ewan_0001_entertainment_t3_likes_trigger = {
	OR = {
		# Loves excellent entertainment.
		has_trait = lazy
		has_trait = gregarious
		# Prefers big, upscale-everything.
		has_trait = arrogant
		has_trait = ambitious
		# Appreciates the entertainer's art.
		has_trait = deceitful
		has_trait = arbitrary
		# Wants bombastic, dangerous entertainment.
		has_trait = brave
		# Loves large bands of dangerous strangers.
		has_trait = trusting
	}
}
# Character hates T3 entertainment.
scripted_trigger ep2_wedding_ewan_0001_entertainment_t3_hates_trigger = {
	OR = {
		# So much entertainment is frivolous.
		has_trait = diligent
		# This is way, way too loud.
		has_trait = shy
		# Wants entertainment to be more lagom.
		has_trait = humble
		has_trait = content
		# Doesn't respect any entertaining profession.
		has_trait = honest
		## Just characters are kill-joys. Change my mind.
		has_trait = just
		# Likes safe entertainment that doesn't give them the jitters.
		has_trait = craven
		# Doesn't trust large bands of strangers.
		has_trait = paranoid
	}
}

#	Connect with various types of characters over the entertainment.
ep2_wedding_ewan.0001 = {
	type = activity_event
	title = ep2_wedding_ewan.0001.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_entertainment
							option = wedding_entertainment_bad
						}
					}
				}
				desc = {
					desc = ep2_wedding_ewan.0001.desc.intro.bad
					desc = {
						random_valid = {
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = diligent }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.diligent
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = shy }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.shy
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = humble }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.humble
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = content }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.content
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = honest }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.honest
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = just }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.just
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = craven }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.craven
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = paranoid }
								}
								desc = ep2_wedding_ewan.0001.desc.t1.love.paranoid
							}
						}
					}
				}
			}
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_entertainment
							option = wedding_entertainment_normal
						}
					}
				}
				desc = {
					desc = ep2_wedding_ewan.0001.desc.intro.normal
					desc = {
						random_valid = {
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = content }
								}
								desc = ep2_wedding_ewan.0001.desc.t2.love.content
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = compassionate }
								}
								desc = ep2_wedding_ewan.0001.desc.t2.love.compassionate
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = generous }
								}
								desc = ep2_wedding_ewan.0001.desc.t2.love.generous
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = calm }
								}
								desc = ep2_wedding_ewan.0001.desc.t2.love.calm
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = patient }
								}
								desc = ep2_wedding_ewan.0001.desc.t2.love.patient
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = fickle }
								}
								desc = ep2_wedding_ewan.0001.desc.t2.love.fickle
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = cynical }
								}
								desc = ep2_wedding_ewan.0001.desc.t2.love.cynical
							}
						}
					}
				}
			}
			desc = {
				desc = ep2_wedding_ewan.0001.desc.intro.good
				random_valid = {
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = lazy }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.lazy
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = gregarious }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.gregarious
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = arrogant }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.arrogant
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = ambitious }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.ambitious
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = deceitful }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.deceitful
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = arbitrary }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.arbitrary
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = brave }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.brave
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = trusting }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.love.trusting
					}
				}
			}
		}
		desc = ep2_wedding_ewan.0001.desc.midtro
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_entertainment
							option = wedding_entertainment_bad
						}
					}
				}
				desc = {
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = lazy }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.lazy
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = gregarious }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.gregarious
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = arrogant }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.arrogant
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = ambitious }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.ambitious
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = deceitful }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.deceitful
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = arbitrary }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.arbitrary
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = brave }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.brave
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = trusting }
							}
							desc = ep2_wedding_ewan.0001.desc.t1.hate.trusting
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = {
									NOR = {
										has_trait = lazy
										has_trait = gregarious
										has_trait = arrogant
										has_trait = ambitious
										has_trait = deceitful
										has_trait = arbitrary
										has_trait = brave
										has_trait = trusting
									}
								}
							}
							desc = ep2_wedding_ewan.0000.desc.hate.fallback
						}
					}
				}
			}
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_entertainment
							option = wedding_entertainment_normal
						}
					}
				}
				desc = {
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = ambitious }
							}
							desc = ep2_wedding_ewan.0001.desc.t2.hate.ambitious
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = arrogant }
							}
							desc = ep2_wedding_ewan.0001.desc.t2.hate.arrogant
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = greedy }
							}
							desc = ep2_wedding_ewan.0001.desc.t2.hate.greedy
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = wrathful }
							}
							desc = ep2_wedding_ewan.0001.desc.t2.hate.wrathful
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = impatient }
							}
							desc = ep2_wedding_ewan.0001.desc.t2.hate.impatient
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = stubborn }
							}
							desc = ep2_wedding_ewan.0001.desc.t2.hate.stubborn
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = zealous }
							}
							desc = ep2_wedding_ewan.0001.desc.t2.hate.zealous
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = {
									NOR = {
										has_trait = ambitious
										has_trait = arrogant
										has_trait = greedy
										has_trait = wrathful
										has_trait = impatient
										has_trait = stubborn
										has_trait = zealous
									}
								}
							}
							desc = ep2_wedding_ewan.0000.desc.hate.fallback
						}
					}
				}
			}
			desc = {
				random_valid = {
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = diligent }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.diligent
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = shy }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.shy
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = humble }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.humble
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = content }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.content
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = honest }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.honest
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = just }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.just
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = craven }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.craven
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = paranoid }
						}
						desc = ep2_wedding_ewan.0001.desc.t3.hate.paranoid
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = {
								NOR = {
									has_trait = diligent
									has_trait = shy
									has_trait = humble
									has_trait = content
									has_trait = honest
									has_trait = just
									has_trait = craven
									has_trait = paranoid
								}
							}
						}
						desc = ep2_wedding_ewan.0000.desc.hate.fallback
					}
				}
			}
		}
	}
	theme = feast_activity
	left_portrait = {
		character = scope:char_1
		animation = throne_room_applaud_1
	}
	center_portrait = {
		character = root
		animation = happiness
	}
	right_portrait = {
		character = scope:char_2
		animation = boredom
	}

	cooldown = { years = 1 }

	trigger = {
		scope:activity = {
			# T1.
			trigger_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_entertainment
						option = wedding_entertainment_bad
					}
				}
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0001_entertainment_t1_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0001_entertainment_t1_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
			# T2.
			trigger_else_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_entertainment
						option = wedding_entertainment_normal
					}
				}
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0001_entertainment_t2_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0001_entertainment_t2_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
			# T3.
			trigger_else = {
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0001_entertainment_t3_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0001_entertainment_t3_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
		}
	}

	immediate = {
		# Try to grab our actors.
		scope:activity = {
			# T1.
			if = {
				limit = {
					has_activity_option = {
						category = wedding_option_entertainment
						option = wedding_entertainment_bad
					}
				}
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t1_likes_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t1_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t1_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t1_hates_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t1_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t1_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
			# T2.
			else_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_entertainment
						option = wedding_entertainment_normal
					}
				}
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t2_likes_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t2_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t2_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t2_hates_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t2_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t2_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
			# T3.
			else = {
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t3_likes_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t3_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t3_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t3_hates_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t3_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0001_entertainment_t3_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
		}
		# If relevant, grab our intent target.
		if = {
			limit = { has_activity_intent = murder_attendee_intent }
			intent_target = { save_scope_as = intent_target }
		}
	}

	# Agree with scope:char_1.
	option = {
		name = {
			trigger = {
				this != scope:activity.activity_host
			}
			text = ep2_wedding_ewan.0001.a
		}
		name = {
			trigger = { this = scope:activity.activity_host }
			text = ep2_wedding_ewan.0001.a.host
		}
		flavor = ep2_wedding_ewan.0000.flavour.hobnob.char_1

		# Apply opinion.
		ep2_wedding_ewan_0000_opinion_swap_effect = {
			FAVOURED_CHAR = scope:char_1
			REJECTED_CHAR = scope:char_2
		}
		# Give some lifestyle XP for who you hobnob with.
		ep2_wedding_ewan_0000_award_lifestyle_xp_per_conversationalist_effect = { TARGET = scope:char_1 }

		ep2_wedding_ewan_0000_host_takes_criticism_stress_gain_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = {
				opinion_target = scope:char_1
				multiplier = 0.5
			}
			opinion_modifier = {
				opinion_target = scope:char_2
				multiplier = -0.5
			}
		}
	}
	
	# Agree with scope:char_2.
	option = {
		name = {
			trigger = {
				this != scope:activity.activity_host
			}
			text = ep2_wedding_ewan.0001.b
		}
		name = {
			trigger = { this = scope:activity.activity_host }
			text = ep2_wedding_ewan.0001.b.host
		}
		flavor = ep2_wedding_ewan.0000.flavour.hobnob.char_2

		# Apply opinion.
		ep2_wedding_ewan_0000_opinion_swap_effect = {
			FAVOURED_CHAR = scope:char_2
			REJECTED_CHAR = scope:char_1
		}
		# Give some lifestyle XP for who you hobnob with.
		ep2_wedding_ewan_0000_award_lifestyle_xp_per_conversationalist_effect = { TARGET = scope:char_2 }

		ep2_wedding_ewan_0000_host_takes_criticism_stress_gain_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = {
				opinion_target = scope:char_2
				multiplier = 0.5
			}
			opinion_modifier = {
				opinion_target = scope:char_1
				multiplier = -0.5
			}
		}
	}
	
	# Murder: my eyes are on scope:intent_target.
	option = {
		name = ep2_wedding_ewan.0001.c
		flavor = ep2_wedding_ewan.0001.c.tt
		trigger = { has_activity_intent = murder_attendee_intent }
		reason = activity_intent

		scope:intent_target = {
			# They're unsettled by your staring.
			add_stress = medium_stress_gain
			# Then we add a little concern.
			add_opinion = {
				target = root
				modifier = suspicion_opinion
				opinion = -10
			}
		}

		stress_impact = { vengeful = minor_stress_impact_loss }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_vengefulness = 1
				ai_sociability = -0.5
			}
		}
	}
	
	# Focus on the acts.
	option = {
		name = ep2_wedding_ewan.0001.d

		# Opinion with the activty_host, or else prestige.
		ep2_wedding_ewan_0000_host_approves_effect = yes

		# We give base stress loss for this'un too.
		stress_impact = {
			base = minor_stress_impact_loss
			shy = minor_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_energy = -0.5
				ai_sociability = -2
			}
		}
	}
}

##################################################
# Food Fit for a...
# by Ewan Cowhig Croft
# 0011 - 0020
##################################################

# Character likes T1 food.
scripted_trigger ep2_wedding_ewan_0011_food_t1_likes_trigger = {
	OR = {
		# Has more sedate food preferences.
		has_trait = temperate
		# Is ok with an only moderately fancy meal.
		has_trait = humble
		has_trait = content
		# Appreciates something with a few fewer courses than usual
		has_trait = impatient
		# Less food, and less fancy food, means a harder time hiding poisons and other mischiefs.
		has_trait = paranoid
		# Prefers to eat mostly the same food, if possible.
		has_trait = stubborn
	}
}
# Character hates T1 food.
scripted_trigger ep2_wedding_ewan_0011_food_t1_hates_trigger = {
	OR = {
		# Likes plenty of exotic foods.
		has_trait = gluttonous
		# Prefers a large, fancy meal.
		has_trait = arrogant
		has_trait = ambitious
		# Has the patience for incredibly long meals.
		has_trait = patient
		# Doesn't see why they wouldn't have more variety.
		has_trait = trusting
		has_trait = fickle
	}
}
# Character likes T2 food.
scripted_trigger ep2_wedding_ewan_0011_food_t2_likes_trigger = {
	OR = {
		# Accepting of the average.
		has_trait = content
		has_trait = compassionate
		# Likes that money was spent.
		has_trait = generous
		# Likes the atmosphere being high-effort but not _too_ bustling.
		has_trait = calm
		has_trait = patient
		# Likes a middling option.
		has_trait = cynical
	}
}
# Character hates T2 food.
scripted_trigger ep2_wedding_ewan_0011_food_t2_hates_trigger = {
	OR = {
		# Hates the average.
		has_trait = ambitious
		has_trait = arrogant
		# Would have preferred all the money, to take advantage, or else none, not to waste any.
		has_trait = greedy
		# Want a more bustling atmosphere that goes further than this.
		has_trait = wrathful
		has_trait = impatient
		# Feels that if it was worth doing, it's worth doing to its best.
		has_trait = zealous
	}
}
# Character likes T3 food.
scripted_trigger ep2_wedding_ewan_0011_food_t3_likes_trigger = {
	OR = {
		# Likes plenty of exotic foods.
		has_trait = gluttonous
		# Prefers a large, fancy meal.
		has_trait = arrogant
		has_trait = ambitious
		# Has the patience for incredibly long meals.
		has_trait = patient
		# Loves the scope and variety of strange foodstuffs.
		has_trait = trusting
		# Really likes variety and being able to flit.
		has_trait = fickle
	}
}
# Character hates T3 food.
scripted_trigger ep2_wedding_ewan_0011_food_t3_hates_trigger = {
	OR = {
		# Has more sedate food preferences.
		has_trait = temperate
		# Doesn't like showing off this much.
		has_trait = humble
		has_trait = content
		# Can't stand the sheer number of courses.
		has_trait = impatient
		# Less food, and less fancy food, means a harder time hiding poisons and other mischiefs.
		has_trait = paranoid
		# Prefers to eat mostly the same food, if possible.
		has_trait = stubborn
	}
}

#	Connect with various types of characters over the food.
ep2_wedding_ewan.0011 = {
	type = activity_event
	title = ep2_wedding_ewan.0011.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_food
							option = wedding_food_bad
						}
					}
				}
				desc = {
					desc = ep2_wedding_ewan.0011.desc.intro.bad
					desc = {
						random_valid = {
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = temperate }
								}
								desc = ep2_wedding_ewan.0011.desc.t1.love.temperate
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = humble }
								}
								desc = ep2_wedding_ewan.0011.desc.t1.love.humble
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = content }
								}
								desc = ep2_wedding_ewan.0011.desc.t1.love.content
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = impatient }
								}
								desc = ep2_wedding_ewan.0011.desc.t1.love.impatient
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = paranoid }
								}
								desc = ep2_wedding_ewan.0011.desc.t1.love.paranoid
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = stubborn }
								}
								desc = ep2_wedding_ewan.0011.desc.t1.love.stubborn
							}
						}
					}
				}
			}
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_food
							option = wedding_food_normal
						}
					}
				}
				desc = {
					desc = ep2_wedding_ewan.0011.desc.intro.normal
					desc = {
						random_valid = {
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = content }
								}
								desc = ep2_wedding_ewan.0011.desc.t2.love.content
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = compassionate }
								}
								desc = ep2_wedding_ewan.0011.desc.t2.love.compassionate
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = generous }
								}
								desc = ep2_wedding_ewan.0011.desc.t2.love.generous
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = calm }
								}
								desc = ep2_wedding_ewan.0011.desc.t2.love.calm
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = patient }
								}
								desc = ep2_wedding_ewan.0011.desc.t2.love.patient
							}
							triggered_desc = {
								trigger = {
									scope:char_1 = { has_trait = cynical }
								}
								desc = ep2_wedding_ewan.0011.desc.t2.love.cynical
							}
						}
					}
				}
			}
			desc = {
				desc = ep2_wedding_ewan.0011.desc.intro.good
				random_valid = {
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = gluttonous }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.love.gluttonous
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = arrogant }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.love.arrogant
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = ambitious }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.love.ambitious
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = patient }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.love.patient
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = trusting }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.love.trusting
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = fickle }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.love.fickle
					}
				}
			}
		}
		desc = ep2_wedding_ewan.0011.desc.midtro
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_food
							option = wedding_food_bad
						}
					}
				}
				desc = {
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = gluttonous }
							}
							desc = ep2_wedding_ewan.0011.desc.t1.hate.gluttonous
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = arrogant }
							}
							desc = ep2_wedding_ewan.0011.desc.t1.hate.arrogant
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = ambitious }
							}
							desc = ep2_wedding_ewan.0011.desc.t1.hate.ambitious
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = patient }
							}
							desc = ep2_wedding_ewan.0011.desc.t1.hate.patient
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = trusting }
							}
							desc = ep2_wedding_ewan.0011.desc.t1.hate.trusting
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = fickle }
							}
							desc = ep2_wedding_ewan.0011.desc.t1.hate.fickle
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = {
									NOR = {
										has_trait = gluttonous
										has_trait = arrogant
										has_trait = ambitious
										has_trait = patient
										has_trait = trusting
										has_trait = fickle
									}
								}
							}
							desc = ep2_wedding_ewan.0000.desc.hate.fallback
						}
					}
				}
			}
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_food
							option = wedding_food_normal
						}
					}
				}
				desc = {
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = ambitious }
							}
							desc = ep2_wedding_ewan.0011.desc.t2.hate.ambitious
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = arrogant }
							}
							desc = ep2_wedding_ewan.0011.desc.t2.hate.arrogant
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = greedy }
							}
							desc = ep2_wedding_ewan.0011.desc.t2.hate.greedy
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = wrathful }
							}
							desc = ep2_wedding_ewan.0011.desc.t2.hate.wrathful
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = impatient }
							}
							desc = ep2_wedding_ewan.0011.desc.t2.hate.impatient
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = zealous }
							}
							desc = ep2_wedding_ewan.0011.desc.t2.hate.zealous
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = {
									NOR = {
										has_trait = ambitious
										has_trait = arrogant
										has_trait = greedy
										has_trait = wrathful
										has_trait = impatient
										has_trait = zealous
									}
								}
							}
							desc = ep2_wedding_ewan.0000.desc.hate.fallback
						}
					}
				}
			}
			desc = {
				random_valid = {
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = temperate }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.hate.temperate
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = humble }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.hate.humble
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = content }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.hate.content
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = impatient }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.hate.impatient
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = paranoid }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.hate.paranoid
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = stubborn }
						}
						desc = ep2_wedding_ewan.0011.desc.t3.hate.stubborn
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = {
								NOR = {
									has_trait = temperate
									has_trait = humble
									has_trait = content
									has_trait = impatient
									has_trait = paranoid
									has_trait = stubborn
								}
							}
						}
						desc = ep2_wedding_ewan.0000.desc.hate.fallback
					}
				}
			}
		}
	}
	theme = feast_activity
	left_portrait = {
		character = scope:char_1
		animation = drink_goblet
	}
	center_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:char_2
		animation = disapproval
	}

	cooldown = { years = 1 }

	trigger = {
		scope:activity = {
			# T1.
			trigger_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_food
						option = wedding_food_bad
					}
				}
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0011_food_t1_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0011_food_t1_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
			# T2.
			trigger_else_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_food
						option = wedding_food_normal
					}
				}
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0011_food_t2_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0011_food_t2_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
			# T3.
			trigger_else = {
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0011_food_t3_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0011_food_t3_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
		}
	}

	immediate = {
		scope:activity = {
			# Try to grab our actors.
			## T1.
			if = {
				limit = {
					has_activity_option = {
						category = wedding_option_food
						option = wedding_food_bad
					}
				}
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t1_likes_trigger = yes
						ep2_wedding_ewan_0011_food_t1_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t1_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t1_hates_trigger = yes
						ep2_wedding_ewan_0011_food_t1_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t1_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
			## T2.
			else_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_food
						option = wedding_food_normal
					}
				}
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t2_likes_trigger = yes
						ep2_wedding_ewan_0011_food_t2_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t2_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t2_hates_trigger = yes
						ep2_wedding_ewan_0011_food_t2_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t2_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
			## T3.
			else = {
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t3_likes_trigger = yes
						ep2_wedding_ewan_0011_food_t3_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t3_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t3_hates_trigger = yes
						ep2_wedding_ewan_0011_food_t3_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0011_food_t3_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
			# Now we try to process a decent activity target.
			if = {
				limit = {
					root = { has_activity_intent = banquet_mischief_intent }
				}
				ordered_attending_character = {
					limit = {
						NOR = {
							this = root
							this = scope:char_1
							this = scope:char_2
							this = scope:activity.special_guest:spouse_1
							this = scope:activity.special_guest:spouse_2
						}
						# No players.
						is_ai = yes
					}
					order_by = {
						# Nab opinion.
						add = "opinion(root)"
						# Invert it, as we want characters who hate us ranked first.
						multiply = -1
						# Aaaand multiply by tier to get more interesting characters who hate us.
						if = {
							# Unlanded have a rank of zero, so filter this a bit.
							limit = { is_landed = yes }
							multiply = highest_held_title_tier
						}
					}
					save_scope_as = intent_target
				}
			}
		}
	}

	# Agree with scope:char_1.
	option = {
		name = {
			trigger = {
				this != scope:activity.activity_host
			}
			text = ep2_wedding_ewan.0011.a
		}
		name = {
			trigger = { this = scope:activity.activity_host }
			text = ep2_wedding_ewan.0011.a.host
		}
		flavor = ep2_wedding_ewan.0000.flavour.hobnob.char_1

		# Apply opinion.
		ep2_wedding_ewan_0000_opinion_swap_effect = {
			FAVOURED_CHAR = scope:char_1
			REJECTED_CHAR = scope:char_2
		}
		# Give some lifestyle XP for who you hobnob with.
		ep2_wedding_ewan_0000_award_lifestyle_xp_per_conversationalist_effect = { TARGET = scope:char_1 }

		ep2_wedding_ewan_0000_host_takes_criticism_stress_gain_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = {
				opinion_target = scope:char_1
				multiplier = 0.5
			}
			opinion_modifier = {
				opinion_target = scope:char_2
				multiplier = -0.5
			}
		}
	}
	
	# Agree with scope:char_2.
	option = {
		name = {
			trigger = {
				this != scope:activity.activity_host
			}
			text = ep2_wedding_ewan.0011.b
		}
		name = {
			trigger = { this = scope:activity.activity_host }
			text = ep2_wedding_ewan.0011.b.host
		}
		flavor = ep2_wedding_ewan.0000.flavour.hobnob.char_2

		# Apply opinion.
		ep2_wedding_ewan_0000_opinion_swap_effect = {
			FAVOURED_CHAR = scope:char_2
			REJECTED_CHAR = scope:char_1
		}
		# Give some lifestyle XP for who you hobnob with.
		ep2_wedding_ewan_0000_award_lifestyle_xp_per_conversationalist_effect = { TARGET = scope:char_2 }

		ep2_wedding_ewan_0000_host_takes_criticism_stress_gain_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = {
				opinion_target = scope:char_2
				multiplier = 0.5
			}
			opinion_modifier = {
				opinion_target = scope:char_1
				multiplier = -0.5
			}
		}
	}
	
	# Mischief: spill something on someone.
	option = {
		name = ep2_wedding_ewan.0011.c
		# Check for target directly, rather than just the intent, because there isn't a pre-defined intent target and we may have failed to acquire someone suitable.
		trigger = { exists = scope:intent_target }
		reason = activity_intent

		# You try to trip a server onto someone.
		duel = {
			skill = intrigue
			target = scope:intent_target
			# You're successful.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0011.c.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0011.c.tt.success
					left_icon = scope:intent_target
					scope:intent_target = {
						# Lose some prestige.
						add_prestige = minor_prestige_loss
						# Gain some stress.
						add_stress = medium_stress_gain
					}
				}
			}
			# The server rights themselves.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0011.c.tt.failure
				send_interface_toast = {
					title = ep2_wedding_ewan.0011.c.tt.failure
					left_icon = scope:intent_target
					# Considered borish.
					add_prestige = miniscule_prestige_loss
					# Plus scope:intent_target notices.
					reverse_add_opinion = {
						target = scope:intent_target
						modifier = suspicion_opinion
						opinion = -10
					}
				}
			}
		}

		# We give base stress loss for this'un too.
		stress_impact = {
			base = medium_stress_impact_loss
			deceitful = minor_stress_impact_loss
			honest = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 0.5
				ai_compassion = -0.25
				ai_rationality = -0.25
			}
		}
	}
	
	# Nod along without paying attention.
	option = {
		name = ep2_wedding_ewan.0011.d

		# Opinion with the activty_host, or else prestige.
		ep2_wedding_ewan_0000_host_approves_effect = yes

		# We give base stress loss for this'un too.
		stress_impact = {
			base = minor_stress_impact_loss
			shy = minor_stress_impact_loss
			eccentric = minor_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_energy = -0.5
				ai_sociability = -2
			}
		}
	}
}

##################################################
# Shimmering, Shining
# by Ewan Cowhig Croft
# 0021 - 0030
##################################################

# Character likes T1 decorations.
scripted_trigger ep2_wedding_ewan_0021_decoration_t1_likes_trigger = {
	OR = {
		# Appreciate it for being low-key.
		has_trait = content
		has_trait = lazy
		has_trait = humble
		# Understand that effort still went into it.
		has_trait = forgiving
		has_trait = compassionate
		# Contrarian.
		has_trait = arbitrary
		# Approves of frugality.
		has_trait = greedy
	}
}
# Character hates T1 decorations.
scripted_trigger ep2_wedding_ewan_0021_decoration_t1_hates_trigger = {
	OR = {
		# Hates it for being low-key.
		has_trait = ambitious
		has_trait = diligent
		has_trait = arrogant
		# Thinks they could've done better or not hyped it up so much.
		has_trait = honest
		has_trait = generous
		# Thinks it's just not what they expected.
		has_trait = just
	}
}
# Character likes T2 decorations.
scripted_trigger ep2_wedding_ewan_0021_decoration_t2_likes_trigger = {
	OR = {
		# Accepting of the average.
		has_trait = content
		has_trait = compassionate
		# Likes that money was spent.
		has_trait = generous
		# Likes the atmosphere being high-effort but not _too_ bustling.
		has_trait = calm
		has_trait = patient
		# Likes a middling option.
		has_trait = fickle
		has_trait = cynical
	}
}
# Character hates T2 decorations.
scripted_trigger ep2_wedding_ewan_0021_decoration_t2_hates_trigger = {
	OR = {
		# Hates the average.
		has_trait = ambitious
		has_trait = arrogant
		# Would have preferred all the money, to take advantage, or else none, not to waste any.
		has_trait = greedy
		# Want a more bustling atmosphere that goes further than this.
		has_trait = wrathful
		has_trait = impatient
		# Feels that if it was worth doing, it's worth doing to its best.
		has_trait = stubborn
		has_trait = zealous
	}
}
# Character likes T3 decorations.
scripted_trigger ep2_wedding_ewan_0021_decoration_t3_likes_trigger = {
	OR = {
		# Loves an over-the-top wedding.
		has_trait = ambitious
		has_trait = diligent
		has_trait = arrogant
		# Think it had the appropriate amount of effort put in.
		has_trait = honest
		has_trait = just
		# Happy to see all the money being spent.
		has_trait = greedy
		has_trait = generous
	}
}
# Character hates T3 decorations.
scripted_trigger ep2_wedding_ewan_0021_decoration_t3_hates_trigger = {
	OR = {
		# Think this might all be a bit much.
		has_trait = content
		has_trait = lazy
		has_trait = humble
		# Worry that the marriage is getting lost amidst all of this pomp.
		has_trait = compassionate
		# Contrarian.
		has_trait = arbitrary
	}
}

#	Connect with various types of characters over the venue & its decorations.
ep2_wedding_ewan.0021 = {
	type = activity_event
	title = ep2_wedding_ewan.0021.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_decoration
							option = wedding_decoration_bad
						}
					}
				}
				desc = {
					desc = ep2_wedding_ewan.0021.desc.intro.bad
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = content }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.love.content
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = lazy }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.love.lazy
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = humble }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.love.humble
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = forgiving }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.love.forgiving
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = compassionate }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.love.compassionate
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = arbitrary }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.love.arbitrary
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = greedy }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.love.greedy
						}
					}
				}
			}
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_decoration
							option = wedding_decoration_normal
						}
					}
				}
				desc = {
					desc = ep2_wedding_ewan.0021.desc.intro.normal
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = content }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.love.content
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = compassionate }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.love.compassionate
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = generous }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.love.generous
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = calm }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.love.calm
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = patient }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.love.patient
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = fickle }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.love.fickle
						}
						triggered_desc = {
							trigger = {
								scope:char_1 = { has_trait = cynical }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.love.cynical
						}
					}
				}
			}
			desc = {
				desc = ep2_wedding_ewan.0021.desc.intro.good
				random_valid = {
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = ambitious }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.love.ambitious
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = diligent }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.love.diligent
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = arrogant }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.love.arrogant
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = honest }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.love.honest
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = just }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.love.just
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = greedy }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.love.greedy
					}
					triggered_desc = {
						trigger = {
							scope:char_1 = { has_trait = generous }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.love.generous
					}
				}
			}
		}
		desc = ep2_wedding_ewan.0021.desc.midtro
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_decoration
							option = wedding_decoration_bad
						}
					}
				}
				desc = {
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = ambitious }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.hate.ambitious
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = diligent }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.hate.diligent
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = arrogant }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.hate.arrogant
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = honest }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.hate.honest
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = generous }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.hate.generous
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = just }
							}
							desc = ep2_wedding_ewan.0021.desc.t1.hate.just
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = {
									NOR = {
										has_trait = ambitious
										has_trait = diligent
										has_trait = arrogant
										has_trait = honest
										has_trait = generous
										has_trait = just
									}
								}
							}
							desc = ep2_wedding_ewan.0000.desc.hate.fallback
						}
					}
				}
			}
			triggered_desc = {
				trigger = {
					scope:activity = {
						has_activity_option = {
							category = wedding_option_decoration
							option = wedding_decoration_normal
						}
					}
				}
				desc = {
					random_valid = {
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = ambitious }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.hate.ambitious
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = arrogant }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.hate.arrogant
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = greedy }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.hate.greedy
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = wrathful }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.hate.wrathful
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = impatient }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.hate.impatient
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = stubborn }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.hate.stubborn
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = { has_trait = zealous }
							}
							desc = ep2_wedding_ewan.0021.desc.t2.hate.zealous
						}
						triggered_desc = {
							trigger = {
								scope:char_2 = {
									NOR = {
										has_trait = ambitious
										has_trait = arrogant
										has_trait = greedy
										has_trait = wrathful
										has_trait = impatient
										has_trait = stubborn
										has_trait = zealous
									}
								}
							}
							desc = ep2_wedding_ewan.0000.desc.hate.fallback
						}
					}
				}
			}
			desc = {
				random_valid = {
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = content }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.hate.content
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = lazy }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.hate.lazy
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = humble }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.hate.humble
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = compassionate }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.hate.compassionate
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = { has_trait = arbitrary }
						}
						desc = ep2_wedding_ewan.0021.desc.t3.hate.arbitrary
					}
					triggered_desc = {
						trigger = {
							scope:char_2 = {
								NOR = {
									has_trait = content
									has_trait = lazy
									has_trait = humble
									has_trait = compassionate
									has_trait = arbitrary
								}
							}
						}
						desc = ep2_wedding_ewan.0000.desc.hate.fallback
					}
				}
			}
		}
	}
	theme = feast_activity
	left_portrait = {
		character = scope:char_1
		animation = admiration
	}
	center_portrait = {
		character = root
		animation = thinking
	}
	right_portrait = {
		character = scope:char_2
		animation = disapproval
	}

	cooldown = { years = 1 }

	trigger = {
		scope:activity = {
			# T1.
			trigger_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_decoration
						option = wedding_decoration_bad
					}
				}
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0021_decoration_t1_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0021_decoration_t1_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
			# T2.
			trigger_else_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_decoration
						option = wedding_decoration_normal
					}
				}
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0021_decoration_t2_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0021_decoration_t2_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
			# T3.
			trigger_else = {
				# Check for a character who likes the setup.
				any_attending_character = {
					ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
					ep2_wedding_ewan_0021_decoration_t3_likes_trigger = yes
					# Now we need to wiggle a bit to make sure they don't overlap with one who _dislikes_ the setup.
					save_temporary_scope_as = char_temp
					scope:activity = {
						any_attending_character = {
							ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
							ep2_wedding_ewan_0021_decoration_t3_hates_trigger = yes
							this != scope:char_temp
						}
					}
				}
			}
		}
	}

	immediate = {
		# Try to grab our actors.
		scope:activity = {
			# T1.
			if = {
				limit = {
					has_activity_option = {
						category = wedding_option_decoration
						option = wedding_decoration_bad
					}
				}
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t1_likes_trigger = yes
						ep2_wedding_ewan_0021_decoration_t1_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t1_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t1_hates_trigger = yes
						ep2_wedding_ewan_0021_decoration_t1_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t1_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
			# T2.
			else_if = {
				limit = {
					has_activity_option = {
						category = wedding_option_decoration
						option = wedding_decoration_normal
					}
				}
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t2_likes_trigger = yes
						ep2_wedding_ewan_0021_decoration_t2_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t2_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t2_hates_trigger = yes
						ep2_wedding_ewan_0021_decoration_t2_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t2_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
			# T3.
			else = {
				# Check for a character who likes the setup.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t3_likes_trigger = yes
						ep2_wedding_ewan_0021_decoration_t3_hates_trigger = no
					}
					# Failing that, grab anyone valid.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t3_likes_trigger = yes
					}
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_1
				}
				# And for one who dislikes it.
				ordered_attending_character = {
					# Try to grab opposing characters first.
					limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t3_hates_trigger = yes
						ep2_wedding_ewan_0021_decoration_t3_likes_trigger = no
					}
					# Failing that, grab anyone appropriate.
					alternative_limit = {
						ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes
						ep2_wedding_ewan_0021_decoration_t3_hates_trigger = yes
					}
					# Failing _that_, grab anyone at all.
					alternative_limit = { ep2_wedding_ewan_0000_activity_option_opinion_characters_standard_filter_trigger = yes }
					# Make sure we're looking at interesting people.
					order_by = highest_held_title_tier
					save_scope_as = char_2
				}
			}
		}
		# If relevant, grab our intent target.
		if = {
			limit = { has_activity_intent = woo_attendee_intent }
			intent_target = { save_scope_as = intent_target }
		}
	}

	# Agree with scope:char_1.
	option = {
		name = {
			trigger = {
				this != scope:activity.activity_host
			}
			text = ep2_wedding_ewan.0021.a
		}
		name = {
			trigger = { this = scope:activity.activity_host }
			text = ep2_wedding_ewan.0021.a.host
		}
		flavor = ep2_wedding_ewan.0000.flavour.hobnob.char_1

		# Apply opinion.
		ep2_wedding_ewan_0000_opinion_swap_effect = {
			FAVOURED_CHAR = scope:char_1
			REJECTED_CHAR = scope:char_2
		}
		# Give some lifestyle XP for who you hobnob with.
		ep2_wedding_ewan_0000_award_lifestyle_xp_per_conversationalist_effect = { TARGET = scope:char_1 }

		ep2_wedding_ewan_0000_host_takes_criticism_stress_gain_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = {
				opinion_target = scope:char_1
				multiplier = 0.5
			}
			opinion_modifier = {
				opinion_target = scope:char_2
				multiplier = -0.5
			}
		}
	}
	
	# Agree with scope:char_2.
	option = {
		name = {
			trigger = {
				this != scope:activity.activity_host
			}
			text = ep2_wedding_ewan.0021.b
		}
		name = {
			trigger = { this = scope:activity.activity_host }
			text = ep2_wedding_ewan.0021.b.host
		}
		flavor = ep2_wedding_ewan.0000.flavour.hobnob.char_2

		# Apply opinion.
		ep2_wedding_ewan_0000_opinion_swap_effect = {
			FAVOURED_CHAR = scope:char_2
			REJECTED_CHAR = scope:char_1
		}
		# Give some lifestyle XP for who you hobnob with.
		ep2_wedding_ewan_0000_award_lifestyle_xp_per_conversationalist_effect = { TARGET = scope:char_2 }

		ep2_wedding_ewan_0000_host_takes_criticism_stress_gain_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = {
				opinion_target = scope:char_2
				multiplier = 0.5
			}
			opinion_modifier = {
				opinion_target = scope:char_1
				multiplier = -0.5
			}
		}
	}
	
	# Seduce: try to chat your target up.
	option = {
		name = ep2_wedding_ewan.0021.c
		trigger = { has_activity_intent = woo_attendee_intent }
		reason = activity_intent

		# Sprinkle a bit of opinion in there.
		reverse_add_opinion = {
			target = scope:intent_target
			modifier = flattered_opinion
			opinion = 30
		}
		
		if = {
			limit = {
				OR = {
					root = scope:activity.special_guest:spouse_1
					root = scope:activity.special_guest:spouse_2
				}
				OR = {
					scope:intent_target = scope:activity.special_guest:spouse_1
					scope:intent_target = scope:activity.special_guest:spouse_2
				}
				can_set_relation_soulmate_trigger = { CHARACTER = scope:intent_target } 
			}
			random = {
				chance = 5
				set_relation_soulmate = { reason = soulmate_wedding_accepting_partner target = scope:intent_target }
				# Achievements
				player_succeeded_at_a_thousand_and_one_nights_achievement_effect = yes
			}
		}

		stress_impact = {
			chaste = miniscule_stress_impact_gain
			lustful = minor_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.5
			}
		}
	}
	
	# Don't get involved.
	option = {
		name = ep2_wedding_ewan.0021.d

		# Opinion with the activty_host, or else prestige.
		ep2_wedding_ewan_0000_host_approves_effect = yes

		# We give base stress loss for this'un too.
		stress_impact = {
			base = minor_stress_impact_loss
			shy = minor_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_energy = -0.5
				ai_sociability = -2
			}
		}
	}
}

##################################################
# A Sociable Supper
# by Ewan Cowhig Croft
# 0031 - 0040
##################################################

scripted_trigger ep2_wedding_ewan_0031_appropriate_ruler_trigger = {
	# Are they an appropriately landed ruler?
	highest_held_title_tier >= {
		# Grab root's tier.
		value = root.highest_held_title_tier
		# Now subtract one so that we allow for direct vassals.
		add = -1
		# Counts & above only.
		min = 2
	}
	# Make sure they don't hate root's guts already?
	opinion = {
		target = root
		value >= high_negative_opinion
	}
	NOR = {
		# No family.
		is_close_family_of = root
		is_consort_of = root
		# No prior relations.
		has_any_good_relationship_with_character_trigger  = { CHARACTER = root }
		has_any_bad_relationship_with_character_trigger  = { CHARACTER = root }
	}
	# No players.
	is_ai = no
}

scripted_effect ep2_wedding_ewan_0031_social_climber_stress_effect = {
	stress_impact = {
		gregarious = minor_stress_impact_loss
		ambitious = minor_stress_impact_loss
		shy = miniscule_stress_impact_gain
		content = miniscule_stress_impact_gain
	}
}

scripted_effect ep2_wedding_ewan_0031_make_friend_effect = {
	# Become friends.
	set_relation_friend = {
		target = $TARGET$
		reason = befriended_at_feast
		province = scope:activity.activity_location
	}
	# Plus some opinion for the sake of it.
	reverse_add_opinion = {
		target = $TARGET$
		modifier = friendliness_opinion
		opinion = 15
	}
}

#	Meet one of your neighbouring rulers and form a fast friendship.
ep2_wedding_ewan.0031 = {
	type = activity_event
	title = ep2_wedding_ewan.0031.t
	desc = {
		desc = ep2_wedding_ewan.0031.desc.intro
		# Our first character.
		first_valid = {
			triggered_desc = {
				trigger = {  scope:conversationalist_neighbour ?= scope:char_1 }
				desc = ep2_wedding_ewan.0031.desc.char_1.conversationalist_neighbour
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_covassal ?= scope:char_1 }
				desc = ep2_wedding_ewan.0031.desc.char_1.conversationalist_covassal
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_vassal ?= scope:char_1 }
				desc = ep2_wedding_ewan.0031.desc.char_1.conversationalist_vassal
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_liege ?= scope:char_1 }
				desc = ep2_wedding_ewan.0031.desc.char_1.conversationalist_liege
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_other_ruler ?= scope:char_1 }
				desc = ep2_wedding_ewan.0031.desc.char_1.conversationalist_other_ruler
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_backup ?= scope:char_1 }
				desc = ep2_wedding_ewan.0031.desc.char_1.conversationalist_backup
			}
		}
		desc = ep2_wedding_ewan.0031.desc.midro
		# Our second character.
		first_valid = {
			triggered_desc = {
				trigger = {  scope:conversationalist_neighbour ?= scope:char_2 }
				desc = ep2_wedding_ewan.0031.desc.char_2.conversationalist_neighbour
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_covassal ?= scope:char_2 }
				desc = ep2_wedding_ewan.0031.desc.char_2.conversationalist_covassal
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_vassal ?= scope:char_2 }
				desc = ep2_wedding_ewan.0031.desc.char_2.conversationalist_vassal
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_liege ?= scope:char_2 }
				desc = ep2_wedding_ewan.0031.desc.char_2.conversationalist_liege
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_other_ruler ?= scope:char_2 }
				desc = ep2_wedding_ewan.0031.desc.char_2.conversationalist_other_ruler
			}
			triggered_desc = {
				trigger = {  scope:conversationalist_backup ?= scope:char_2 }
				desc = ep2_wedding_ewan.0031.desc.char_2.conversationalist_backup
			}
		}
		desc = ep2_wedding_ewan.0031.desc.outro
	}
	theme = feast_activity
	left_portrait = {
		character = scope:char_1
		animation = boredom
	}
	right_portrait = {
		character = scope:char_2
		animation = happiness
	}

	cooldown = { years = 1 }

	trigger = {
		trigger_if = {
			limit = {
				is_ai = yes
			}
			static_group_filter = {
				group = ep2_wedding_ewan.0031
				match = 0.1
			}
		}
		scope:activity = {
			any_attending_character = {
				count >= 2
				ep2_wedding_ewan_0031_appropriate_ruler_trigger = yes
			}
		}
	}

	immediate = {
		# Let's pick some characters!
		## First, grab everyone we might want to pick through.
		scope:activity = {
			every_attending_character = {
				limit = { ep2_wedding_ewan_0031_appropriate_ruler_trigger = yes }
				add_to_list = potential_conversationalists_list
			}
		}
		## Now, we need to try and filter them out by categories.
		### Neighbouring rulers.
		#### This one is expensive, so we restrict it to players.
		if = {
			limit = { is_ai = no }
			# Right, we're actually going to post-filter by these guys later on too, so we want to grab all of them the first time we iterate rather than do it twice.
			every_in_list = {
				list = potential_conversationalists_list
				limit = {
					OR = {
						any_neighboring_and_across_water_realm_same_rank_owner = { this = root }
						any_neighboring_and_across_water_top_liege_realm_owner = { this = root }
					}
				}
				add_to_list = neighbouring_conversationalists_list
			}
			# Now we can go through and grab the best one.
			ordered_in_list = {
				list = neighbouring_conversationalists_list
				# Order by military strength for the most interesting realpolitik choice.
				order_by = max_military_strength
				# Grab the most suitable for later checks & randomisation.
				save_scope_as = conversationalist_neighbour
				add_to_list = contending_characters_list
			}
		}
		### Fellow vassals or one of your lieges.
		#### No point iterating through the list repeatedly if we aren't independent.
		if = {
			limit = { exists = liege }
			# Fellow vassals.
			ordered_in_list = {
				list = potential_conversationalists_list
				limit = { liege ?= root.liege }
				# Order by military strength for the most interesting realpolitik choice.
				order_by = max_military_strength
				# Grab the most suitable for later checks & randomisation.
				save_scope_as = conversationalist_covassal
				add_to_list = contending_characters_list
			}
			# Lieges.
			ordered_in_list = {
				list = potential_conversationalists_list
				limit = {
					save_temporary_scope_as = char_temp
					root = {
						any_liege_or_above = { this = scope:char_temp }
					}
				}
				# Lieges use a slightly weirder prio-order, since their military strength is less relevant.
				order_by = {
					# We want to befriend the most powerful person we can, as they're the most interesting.
					value = highest_held_title_tier
					# _But_, your direct liege is still the best, as they have much more impact on your general rule.
					if = {
						limit = { this = root.liege }
						add = 10
					}
				}
				# Grab the most suitable for later checks & randomisation.
				save_scope_as = conversationalist_liege
				add_to_list = contending_characters_list
			}
		}
		### Direct vassals.
		ordered_in_list = {
			list = potential_conversationalists_list
			limit = { liege ?= root }
			# Order by military strength for the most interesting realpolitik choice.
			order_by = max_military_strength
			# Grab the most suitable for later checks & randomisation.
			save_scope_as = conversationalist_vassal
			add_to_list = contending_characters_list
		}
		### Distant rulers.
		ordered_in_list = {
			list = potential_conversationalists_list
			limit = {
				NOR = {
					top_liege = root.top_liege
					# If we don't have a neighbouring conversationalists list, then this allows the AI to befriend non-realm rulers, and if we do, then this stops us checking through all that smeg again.
					trigger_if = {
						limit = {
							any_in_list = {
								list = neighbouring_conversationalists_list
								count >= 1
							}
						}
						is_in_list = neighbouring_conversationalists_list
					}
				}
			}
			# Order by military strength for the most interesting realpolitik choice.
			order_by = max_military_strength
			# Grab the most suitable for later checks & randomisation.
			save_scope_as = conversationalist_other_ruler
			add_to_list = contending_characters_list
		}
		## If we didn't have multiple interesting categories, generate a backup.
		if = {
			limit = {
				calc_true_if = {
					amount <= 1
					NOT = { exists = scope:conversationalist_neighbour }
					NOT = { exists = scope:conversationalist_covassal }
					NOT = { exists = scope:conversationalist_vassal }
					NOT = { exists = scope:conversationalist_liege }
					NOT = { exists = scope:conversationalist_other_ruler }
				}
			}
			ordered_in_list = {
				list = potential_conversationalists_list
				limit = {
					NOR = {
						scope:conversationalist_neighbour ?= this
						scope:conversationalist_covassal ?= this
						scope:conversationalist_vassal ?= this
						scope:conversationalist_liege ?= this
						scope:conversationalist_other_ruler ?= this
					}
				}
				# Grab the most suitable for later checks & randomisation.
				save_scope_as = conversationalist_backup
				add_to_list = contending_characters_list
			}
		}
		# Ok, characters are assembled. Grab our favourite candidates.
		## Grab one.
		random_in_list = {
			list = contending_characters_list
			# This character isn't having a great time at the party, so we try to pick the less sociable char first.
			limit = { has_trait = shy }
			alternative_limit = {
				NOT = { has_trait = gregarious }
			}
			alternative_limit = { always = yes }
			save_scope_as = char_1
		}
		## Then another.
		random_in_list = {
			list = contending_characters_list
			limit = {
				this != scope:char_1
				# No trait checks needed here — there's only one character remaining in the list now.
			}
			save_scope_as = char_2
		}
	}

	# Neighbouring ruler.
	option = {
		name = ep2_wedding_ewan.0031.a
		trigger = {
			OR = {
				scope:conversationalist_neighbour ?= scope:char_1
				scope:conversationalist_neighbour ?= scope:char_2
			}
		}

		# Become friends.
		ep2_wedding_ewan_0031_make_friend_effect = { TARGET = scope:conversationalist_neighbour }

		ep2_wedding_ewan_0031_social_climber_stress_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = { opinion_target = scope:conversationalist_neighbour }
		}
	}
	
	# Fellow vassal.
	option = {
		name = ep2_wedding_ewan.0031.b
		trigger = {
			OR = {
				scope:conversationalist_covassal ?= scope:char_1
				scope:conversationalist_covassal ?= scope:char_2
			}
		}

		# Become friends.
		ep2_wedding_ewan_0031_make_friend_effect = { TARGET = scope:conversationalist_covassal }

		ep2_wedding_ewan_0031_social_climber_stress_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = { opinion_target = scope:conversationalist_covassal }
		}
	}
	
	# Direct vassal.
	option = {
		name = ep2_wedding_ewan.0031.c
		trigger = {
			OR = {
				scope:conversationalist_vassal ?= scope:char_1
				scope:conversationalist_vassal ?= scope:char_2
			}
		}

		# Become friends.
		ep2_wedding_ewan_0031_make_friend_effect = { TARGET = scope:conversationalist_vassal }

		ep2_wedding_ewan_0031_social_climber_stress_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = { opinion_target = scope:conversationalist_vassal }
		}
	}
	
	# Liege.
	option = {
		name = ep2_wedding_ewan.0031.d
		trigger = {
			OR = {
				scope:conversationalist_liege ?= scope:char_1
				scope:conversationalist_liege ?= scope:char_2
			}
		}

		# Become friends.
		ep2_wedding_ewan_0031_make_friend_effect = { TARGET = scope:conversationalist_liege }

		ep2_wedding_ewan_0031_social_climber_stress_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = { opinion_target = scope:conversationalist_liege }
		}
	}
	
	# Distant ruler.
	option = {
		name = ep2_wedding_ewan.0031.e
		trigger = {
			OR = {
				scope:conversationalist_other_ruler ?= scope:char_1
				scope:conversationalist_other_ruler ?= scope:char_2
			}
		}

		# Become friends.
		ep2_wedding_ewan_0031_make_friend_effect = { TARGET = scope:conversationalist_other_ruler }

		ep2_wedding_ewan_0031_social_climber_stress_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = { opinion_target = scope:conversationalist_other_ruler }
		}
	}
	
	# Backup option.
	option = {
		name = ep2_wedding_ewan.0031.f
		trigger = {
			OR = {
				scope:conversationalist_backup ?= scope:char_1
				scope:conversationalist_backup ?= scope:char_2
			}
		}

		# Become friends.
		ep2_wedding_ewan_0031_make_friend_effect = { TARGET = scope:conversationalist_backup }

		ep2_wedding_ewan_0031_social_climber_stress_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = 1 }
			opinion_modifier = { opinion_target = scope:conversationalist_backup }
		}
	}
	
	# Recreation: this isn't the time for such ladder-climbing.
	option = {
		name = ep2_wedding_ewan.0031.g
		trigger = { has_activity_intent = reduce_stress_intent }
		reason = activity_intent

		# Decent middling prestige.
		add_prestige = medium_prestige_gain

		# We give base stress loss for this'un too.
		stress_impact = {
			base = major_stress_impact_loss
			shy = medium_stress_impact_loss
			lazy = medium_stress_impact_loss
			gregarious = miniscule_stress_impact_gain
			ambitious = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_sociability = -0.25
				ai_energy = -0.5
				ai_boldness = -1
			}
		}
	}
	
	# Mmm. They're not that interesting.
	option = {
		name = ep2_wedding_ewan.0031.h
		trigger = {
			NOT = { has_activity_intent = reduce_stress_intent }
		}

		# Consolation prestige.
		add_prestige = minor_prestige_gain

		stress_impact = {
			shy = minor_stress_impact_loss
			gregarious = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = { ai_sociability = -2 }
		}
	}
}

##################################################
# Speech! Speech!
# by Ewan Cowhig Croft
# 0041 - 0050
##################################################

scripted_effect ep2_wedding_ewan_0041_offended_couple_effect = {
	# You hath offended them.
	if = {
		limit = {
			# Double-check we're not double-dipping on opinion.
			scope:host != scope:spouse_1
		}
		reverse_add_opinion = {
			target = scope:spouse_1
			modifier = insult_opinion
			opinion = -10
		}
	}
	if = {
		limit = {
			# Double-check we're not double-dipping on opinion.
			scope:host != scope:spouse_2
		}
		reverse_add_opinion = {
			target = scope:spouse_2
			modifier = insult_opinion
			opinion = -10
		}
	}
}

scripted_effect ep2_wedding_ewan_0041_duel_with_highest_social_skill_effect = {
	duel = {
		skill = $SKILL$
		value = high_skill_rating
		# I can't BELIEVE that's true!
		50 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = 3.5
				min = -49
			}
			min = 5
			desc = ep2_wedding_ewan.0041.g.tt.success
			send_interface_toast = {
				title = ep2_wedding_ewan.0041.g.tt.success
				# Your finger is clearly on the pulse.
				add_prestige = medium_prestige_gain
				# Plus gain some XP in the relevant lifestyle.
				add_$SKILL$_lifestyle_xp = major_lifestyle_xp
			}
		}
		# Salacious, but clearly bollocks.
		50 = {
			compare_modifier = {
				value = scope:duel_value
				multiplier = -3.5
				min = -49
			}
			min = 10
			desc = ep2_wedding_ewan.0041.g.tt.failure
			send_interface_toast = {
				title = ep2_wedding_ewan.0041.g.tt.failure
				# No one believes you.
				add_prestige = minor_prestige_loss
			}
		}
	}
}

#	Make a speech to the happy couple, adjusting the meaning to your intent.
ep2_wedding_ewan.0041 = {
	type = activity_event
	title = ep2_wedding_ewan.0041.t
	desc = {
		desc = ep2_wedding_ewan.0041.desc.intro
		first_valid = {
			# Murder.
			triggered_desc = {
				trigger = { has_activity_intent = murder_attendee_intent }
				desc = ep2_wedding_ewan.0041.desc.murder
			}
			# Seduce.
			triggered_desc = {
				trigger = { has_activity_intent = woo_attendee_intent }
				desc = ep2_wedding_ewan.0041.desc.seduce
			}
			# Diplomacy.
			triggered_desc = {
				trigger = { has_activity_intent = diplomatic_intent }
				desc = ep2_wedding_ewan.0041.desc.diplomacy
			}
			# Matchmaking.
			triggered_desc = {
				trigger = { has_activity_intent = matchmaking_intent }
				desc = ep2_wedding_ewan.0041.desc.matchmaking
			}
			# Mischief.
			triggered_desc = {
				trigger = { has_activity_intent = banquet_mischief_intent }
				desc = ep2_wedding_ewan.0041.desc.mischief
			}
			# Recreation.
			desc = ep2_wedding_ewan.0041.desc.recreation
		}
		desc = ep2_wedding_ewan.0041.desc.outro
	}
	theme = feast_activity
	left_portrait = {
		character = root
		animation = admiration
	}
	right_portrait = {
		character = scope:spouse_1
		animation = personality_honorable
	}
	center_portrait = {
		character = scope:spouse_2
		animation = happiness
	}
	lower_right_portrait = scope:intent_target

	cooldown = { years = 1 }

	trigger = {
		NOR = {
			this = scope:activity.special_guest:spouse_1
			this = scope:activity.special_guest:spouse_2
		}
	}

	immediate = {
		# Save the spouses for ease of reference.
		scope:activity.special_guest:spouse_1 = { save_scope_as = spouse_1 }
		scope:activity.special_guest:spouse_2 = { save_scope_as = spouse_2 }
		# And, if we've got one, our intent target.
		intent_target ?= { save_scope_as = intent_target }
	}

	# Praise the happy couple, as expected.
	option = {
		name = ep2_wedding_ewan.0041.a

		# Gain opinion with the happy couple.
		reverse_add_opinion = {
			target = scope:spouse_1
			modifier = kindness_opinion
			opinion = 30
		}
		reverse_add_opinion = {
			target = scope:spouse_2
			modifier = kindness_opinion
			opinion = 30
		}

		stress_impact = {
			just = miniscule_stress_impact_loss
			compassionate = minor_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_honor = 1
				ai_compassion = 0.5
			}
		}
	}
	
	# Recreation: praise the party.
	option = {
		name = ep2_wedding_ewan.0041.b
		trigger = { has_activity_intent = reduce_stress_intent }
		reason = activity_intent

		# If you're the host, gain prestige.
		if = {
			limit = { this = scope:host }
			add_prestige = medium_prestige_gain
		}
		# Otherwise, gain some prestige + opinion with the host.
		else = {
			add_prestige = minor_prestige_gain
			reverse_add_opinion = {
				target = scope:host
				modifier = pleased_opinion
				opinion = 20
			}
		}
		# Annoy the spouses.
		ep2_wedding_ewan_0041_offended_couple_effect = yes

		stress_impact = {
			arbitrary = miniscule_stress_impact_loss
			gregarious = minor_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_sociability = 0.75
				ai_honor = -0.5
			}
		}
	}
	
	# Murder: stare at your target to cause them stress.
	option = {
		name = ep2_wedding_ewan.0041.c
		trigger = { has_activity_intent = murder_attendee_intent }
		reason = activity_intent

		scope:intent_target = {
			# They're a bit freaked out.
			add_stress = major_stress_gain
			# And concerned about what you're implying.
			add_opinion = {
				target = root
				modifier = suspicion_opinion
				opinion = -20
			}
		}
		# Annoy the spouses.
		ep2_wedding_ewan_0041_offended_couple_effect = yes

		stress_impact = {
			arbitrary = miniscule_stress_impact_loss
			greedy = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_vengefulness = 1
				ai_honor = -0.5
			}
		}
	}
	
	# Seduce: make eyes at your seduction target.
	option = {
		name = ep2_wedding_ewan.0041.d
		trigger = { has_activity_intent = woo_attendee_intent }
		reason = activity_intent

		# You try to keep it juuuuust about down-low.
		duel = {
			skill = intrigue
			target = scope:intent_target
			# They appreciate the hints.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0041.d.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0041.d.tt.success
					left_icon = scope:intent_target
					# Always gain opinion with them.
					reverse_add_opinion = {
						target = scope:intent_target
						modifier = flustered_opinion
						opinion = 20
					}
					# If possible, they grow interested in you.
					if = {
						limit = {
							OR = {
								root = scope:activity.special_guest:spouse_1
								root = scope:activity.special_guest:spouse_2
							}
							OR = {
								scope:intent_target = scope:activity.special_guest:spouse_1
								scope:intent_target = scope:activity.special_guest:spouse_2
							}
							can_set_relation_soulmate_trigger = { CHARACTER = scope:intent_target } 
						}
						random = {
							chance = 5
							set_relation_soulmate = { reason = soulmate_wedding_accepting_partner target = scope:intent_target }
							# Achievements
							player_succeeded_at_a_thousand_and_one_nights_achievement_effect = yes
						}
					}
					else_if = {
						limit = {
							can_set_relation_potential_lover_trigger = { CHARACTER = scope:intent_target }
						}
						set_relation_potential_lover = scope:intent_target
					}
				}
			}
			# They're publically embarrassed.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0041.d.tt.failure
				send_interface_toast = {
					title = ep2_wedding_ewan.0041.d.tt.failure
					left_icon = scope:intent_target
					add_prestige = minor_prestige_loss
					reverse_add_opinion = {
						target = scope:intent_target
						modifier = disgusted_opinion
						opinion = -20
					}
				}
			}
		}
		# Annoy the spouses.
		ep2_wedding_ewan_0041_offended_couple_effect = yes

		stress_impact = {
			arbitrary = miniscule_stress_impact_loss
			lustful = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_honor = -0.5
			}
		}
	}
	
	# Diplomacy: opinion gain with every landed ruler attending.
	option = {
		name = ep2_wedding_ewan.0041.e
		trigger = { has_activity_intent = diplomatic_intent }
		reason = activity_intent

		# Try to give a big, impressive speech.
		duel = {
			skill = diplomacy
			value = extremely_high_skill_rating
			# You gain opinion with every attending landed character, plus some prestige.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0041.e.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0041.e.tt.success
					scope:activity = {
						every_attending_character = {
							limit = {
								is_ruler = yes
								this != root
							}
							custom = custom.every_landed_activity_guest
							reverse_add_opinion = {
								target = root
								modifier = respect_opinion
								opinion = 20
							}
						}
					}
					add_prestige = minor_prestige_gain
				}
			}
			# You just gain the prestige.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0041.e.tt.failure
				send_interface_toast = {
					title = ep2_wedding_ewan.0041.e.tt.failure
					# Consolation prestige.
					add_prestige = minor_prestige_gain
				}
			}
		}
		# Annoy the spouses.
		ep2_wedding_ewan_0041_offended_couple_effect = yes

		stress_impact = {
			arbitrary = miniscule_stress_impact_loss
			ambitious = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_honor = -0.5
			}
		}
	}
	
	# Matchmaking: talk up your char of choice.
	option = {
		name = ep2_wedding_ewan.0041.f
		trigger = { has_activity_intent = matchmaking_intent }
		reason = activity_intent

		# Gain opinion with scope:activity_intent.
		reverse_add_opinion = {
			target = scope:intent_target
			modifier = pleased_opinion
			opinion = 20
		}
		# Plus they get a neat modifier.
		scope:intent_target = {
			add_character_modifier = {
				modifier = ep2_wedding_ewan_0041_attraction_modifier
				years = 15
			}
		}
		# Annoy the spouses.
		ep2_wedding_ewan_0041_offended_couple_effect = yes

		stress_impact = {
			arbitrary = miniscule_stress_impact_loss
			compassionate = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_honor = -0.5
			}
		}
	}
	
	# Mischief: try to start some rumours.
	option = {
		name = ep2_wedding_ewan.0041.g
		trigger = { has_activity_intent = banquet_mischief_intent }
		reason = activity_intent

		# We take your highest of diplomacy or intrigue and let you duel against it.
		if = {
			limit = { diplomacy > intrigue }
			ep2_wedding_ewan_0041_duel_with_highest_social_skill_effect = { SKILL = diplomacy }
		}
		else = {
			ep2_wedding_ewan_0041_duel_with_highest_social_skill_effect = { SKILL = intrigue }
		}
		# Annoy the spouses.
		ep2_wedding_ewan_0041_offended_couple_effect = yes

		stress_impact = {
			arbitrary = miniscule_stress_impact_loss
			deceitful = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_honor = -0.5
			}
		}
	}
	
	# Shy: awkwardly sit back down without saying anything.
	option = {
		name = ep2_wedding_ewan.0041.h
		trigger = { has_trait = shy }
		trait = shy

		# The couple are confused.
		reverse_add_opinion = {
			target = scope:spouse_1
			modifier = confusion_opinion
			opinion = -10
		}
		reverse_add_opinion = {
			target = scope:spouse_2
			modifier = confusion_opinion
			opinion = -10
		}

		# SWEET RELIEF.
		stress_impact = { shy = massive_stress_impact_loss }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = -1
				ai_sociability = -1
			}
		}
	}
	
	# Say something sweet but perfunctory.
	option = {
		name = ep2_wedding_ewan.0041.i
		trigger = {
			NOT = { has_trait = shy }
		}

		# They're pleased, but not _as_pleased.
		reverse_add_opinion = {
			target = scope:spouse_1
			modifier = kindness_opinion
			opinion = 10
		}
		reverse_add_opinion = {
			target = scope:spouse_2
			modifier = kindness_opinion
			opinion = 10
		}

		# We most give base stress loss for this'un.
		stress_impact = {
			base = medium_stress_loss
			lazy = miniscule_stress_impact_loss
			compassionate = miniscule_stress_impact_loss
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_honor = 0.5
				ai_energy = -1
			}
		}
	}
}

##################################################
# And Another Thing
# by Ewan Cowhig Croft
# 0051 - 0060
##################################################

# Zealous same-faith chars don't mind hearing these things.
scripted_trigger ep2_wedding_ewan_0051_boring_zeal_trigger = {
	has_trait = zealous
	NOT = {
		faith = root.faith
		root = { has_trait = zealous }
	}
}

# Make sure a rakish character wouldn't get in legal trouble talking about this (fornication is included in adultery logic).
scripted_trigger ep2_wedding_ewan_0051_legal_rake_trigger = {
	has_trait = rakish
	save_temporary_scope_as = char_temp
	NOT = {
		trait_is_criminal_in_faith_trigger = {
			TRAIT = trait:adulterer
			FAITH = scope:char_temp.faith
			GENDER_CHARACTER = scope:char_temp
		}
	}
}

# Profligates fall for someone else's scam, so paranoid profligates are immune to this *specific* form of money loss.
scripted_trigger ep2_wedding_ewan_0051_foolish_profligate_trigger = {
	has_trait = profligate
	NOT = { has_trait = paranoid }
}

# Pick someone with nothing interesting to say.
scripted_trigger ep2_wedding_ewan_0051_dolt_trigger = {
	# We don't want important characters.
	highest_held_title_tier <= tier_barony
	# Must be verifiably a yawn.
	## Filter out anyone who can probably hold an interesting conversation.
	NOR = {
		has_trait = gregarious
		has_trait = diplomat
		diplomacy >= high_skill_rating
		learning >= high_skill_rating
		# Shy characters will also never do this.
		has_trait = shy
	}
	## Filter out people who don't make sense or who you might listen to.
	NOR = {
		this = root
		root.intent_target ?= this
		has_any_good_relationship_with_character_trigger = { CHARACTER = root }
	}
	## Now, ensure they've got an actively boring quality to discuss.
	OR = {
		# Won't stop talking about work.
		has_trait = diligent
		# Won't stop talking at all, relentlessly.
		has_trait = patient
		# Won't stick to the same subject.
		has_trait = impatient
		# Doesn't see any of the obvious flaws in their idea.
		has_trait = arrogant
		# Idea makes no sense.
		has_trait = arbitrary
		# Boring religious talk.
		ep2_wedding_ewan_0051_boring_zeal_trigger = yes
		# Can't stick to an idea.
		has_trait = fickle
		# Idea is hyper-focused on disproportionately screwing someone over.
		has_trait = vengeful
		# Idea is long-winded.
		has_trait = lifestyle_poet
		# Stress traits want you to go in on their stress-related emporium.
		## Pub.
		has_trait = drunkard
		## Cake shop.
		has_trait = hashishiyah
		## Brothel.
		ep2_wedding_ewan_0051_legal_rake_trigger = yes
		## Some kind of isolation tower.
		has_trait = reclusive
		## Whipping. Place. Whiptorium? Whiplaza?
		has_trait = flagellant
		## It's someone else's idea and obviously a scam.
		ep2_wedding_ewan_0051_foolish_profligate_trigger = yes
		## Want to open a library for journals.
		### Honestly this one is kinda rad, I feel, but I guess I'm boring.
		has_trait = journaller
		## Gym.
		has_trait = athletic
	}
}

# Triggers for whether you get the option to invest in a specific stress trait pitch.
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_drunkard_trigger = {
	has_trait = drunkard
	scope:stress_pitch ?= flag:drunkard
}
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_hashishiyah_trigger = {
	has_trait = hashishiyah
	scope:stress_pitch ?= flag:hashishiyah
}
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_rakish_trigger = {
	has_trait = rakish
	scope:stress_pitch ?= flag:rakish
}
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_reclusive_trigger = {
	has_trait = reclusive
	scope:stress_pitch ?= flag:reclusive
}
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_flagellant_trigger = {
	OR = {
		has_trait = flagellant
		# *sigh* And we acknowledge ulterior motives.
		has_trait = deviant
		any_secret = { type = secret_deviant }
	}
	scope:stress_pitch ?= flag:flagellant
}
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_profligate_trigger = {
	has_trait = profligate
	scope:stress_pitch ?= flag:profligate
}
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_journaller_trigger = {
	has_trait = journaller
	scope:stress_pitch ?= flag:journaller
}
scripted_trigger ep2_wedding_ewan_0051_interested_stress_pitch_trait_athletic_trigger = {
	has_trait = athletic
	scope:stress_pitch ?= flag:athletic
}

# Stress for not being a dick to a boring, boring person.
scripted_effect ep2_wedding_ewan_0051_compassion_to_dolt_effect = {
	stress_impact = {
		compassionate = minor_stress_impact_loss
		patient = minor_stress_impact_loss
		calm = minor_stress_impact_loss
		callous = miniscule_stress_impact_gain
		sadistic = miniscule_stress_impact_gain
		impatient = miniscule_stress_impact_gain
		wrathful = miniscule_stress_impact_gain
	}
}

# Loss stress when indulging a stress coping trait.
scripted_effect ep2_wedding_ewan_0051_stress_trait_stress_effect = {
	stress_impact = {
		$STRESS_TRAIT$ = massive_stress_impact_loss
		trusting = miniscule_stress_impact_loss
		diligent = miniscule_stress_impact_loss
		paranoid = miniscule_stress_impact_gain
		lazy = miniscule_stress_impact_gain
	}
}

# You start a business based around a shared stress coping trait.
scripted_effect ep2_wedding_ewan_0051_start_business_together_effect = {
	# Up-front costs for the both of you.
	remove_short_term_gold = major_gold_value
	scope:dolt = { remove_short_term_gold = major_gold_value }
	# Inform that this may not bear fruit for many years.
	custom_tooltip = ep2_wedding_ewan.0051.business_venture.tt
	hidden_effect = {
		# Log that we're waiting on our last venture.
		add_character_flag = awaiting_ep2_wedding_ewan_0051_results_flag
		# Now, do a hidden duel for this'un.
		duel = {
			skill = stewardship
			value = dolt_stewardship_adjusted_difficulty_value
			# It goes well.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				# Weight down if this is a profligacy thing, as that's the surest-loss.
				modifier = {
					add = -10
					scope:stress_pitch ?= flag:profligate
				}
				# You always have a very, very slight shot.
				min = 2
				# Congrats!
				trigger_event = {
					id = ep2_wedding_ewan.0052
					years = { 15 25 }
				}
			}
			# It goes poorly.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				# Weight up if this is a profligacy thing, as that's the surest-loss.
				modifier = {
					add = 10
					scope:stress_pitch ?= flag:profligate
				}
				# This is not a well-structured proposition for either of you.
				min = 25
				# Better luck next time.
				trigger_event = {
					id = ep2_wedding_ewan.0053
					years = { 15 25 }
				}
			}
		}
	}
}

# Your business is incompatible with your faith.
scripted_effect ep2_wedding_ewan_0051_business_piety_consequences_effect = {
	if = {
		limit = { this ?= faith.religious_head }
		add_piety = medium_piety_loss
	}
	else = { add_piety = minor_piety_loss }
}

#	Someone is pitching questionable ideas at you, and you can go along with them or not, but they keep coming at you.
ep2_wedding_ewan.0051 = {
	type = activity_event
	title = ep2_wedding_ewan.0051.t
	desc = {
		desc = ep2_wedding_ewan.0051.desc.intro
		first_valid = {
			# Do we have a stress pitch to make, and thus special option shenanigans to account for?
			triggered_desc = {
				trigger = { exists = scope:stress_pitch }
				desc = {
					first_valid = {
						# Drunkard
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:drunkard }
							desc = ep2_wedding_ewan.0051.desc.drunkard
						}
						# Hashishiyah
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:hashishiyah }
							desc = ep2_wedding_ewan.0051.desc.hashishiyah
						}
						# Rakish
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:rakish }
							desc = ep2_wedding_ewan.0051.desc.rakish
						}
						# Reclusive
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:reclusive }
							desc = ep2_wedding_ewan.0051.desc.reclusive
						}
						# Flagellant
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:flagellant }
							desc = ep2_wedding_ewan.0051.desc.flagellant
						}
						# Profligate
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:profligate }
							desc = ep2_wedding_ewan.0051.desc.profligate
						}
						# Journaller
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:journaller }
							desc = ep2_wedding_ewan.0051.desc.journaller
						}
						# Athletic
						triggered_desc = {
							trigger = { scope:stress_pitch = flag:athletic }
							desc = ep2_wedding_ewan.0051.desc.athletic
						}
					}
				}
			}
			# Nope? Right, random roll it.
			desc = {
				random_valid = {
					# Diligent
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = diligent }
						}
						desc = ep2_wedding_ewan.0051.desc.diligent
					}
					# Patient
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = patient }
						}
						desc = ep2_wedding_ewan.0051.desc.patient
					}
					# Impatient
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = impatient }
						}
						desc = ep2_wedding_ewan.0051.desc.impatient
					}
					# Arrogant
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = arrogant }
						}
						desc = ep2_wedding_ewan.0051.desc.arrogant
					}
					# Arbitrary
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = arbitrary }
						}
						desc = ep2_wedding_ewan.0051.desc.arbitrary
					}
					# Zealous
					triggered_desc = {
						trigger = {
							scope:dolt = { ep2_wedding_ewan_0051_boring_zeal_trigger = yes }
						}
						desc = ep2_wedding_ewan.0051.desc.zealous
					}
					# Fickle
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = fickle }
						}
						desc = ep2_wedding_ewan.0051.desc.fickle
					}
					# Vengeful
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = vengeful }
						}
						desc = ep2_wedding_ewan.0051.desc.vengeful
					}
					# Poet
					triggered_desc = {
						trigger = {
							scope:dolt = { has_trait = lifestyle_poet }
						}
						desc = ep2_wedding_ewan.0051.desc.poet
					}
				}
			}
		}
		desc = ep2_wedding_ewan.0051.desc.outro
	}
	theme = feast_activity
	left_portrait = {
		character = root
		animation = boredom
	}
	right_portrait = {
		character = scope:dolt
		animation = admiration
	}

	cooldown = { years = 1 }

	trigger = {
		NOT = { has_character_flag = awaiting_ep2_wedding_ewan_0051_results_flag }
		scope:activity = {
			any_attending_character = { ep2_wedding_ewan_0051_dolt_trigger = yes }
		}
	}

	immediate = {
		# We need root saved for dumb loc stuff.
		save_scope_as = reference
		# Right, let's sort our dolt.
		## First, grab everyone applicable.
		scope:activity = {
			every_attending_character = {
				limit = { ep2_wedding_ewan_0051_dolt_trigger = yes }
				add_to_list = potential_boring_characters_list
			}
		}
		## Then sort through them to find the _least_ interesting person.
		ordered_in_list = {
			list = potential_boring_characters_list
			order_by = {
				# Grab the two major talky skills.
				value = diplomacy
				add = learning
				# Now, invert them to rank the chars with the worst scores highest.
				multiply = -1
			}
			save_scope_as = dolt
		}
		# Ok, now that we've got our dolt, let's check to see if they're going to pitch a stress-based endeavour to you.
		scope:dolt = {
			# We don't bother to if statement this, because we're going to random roll with a chance of nothing anyway, so we may as well just put the triggers right on the random_list entries.
			random_list = {
				# Drunkard
				20 = {
					trigger = { has_trait = drunkard }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { has_trait = drunkard }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:drunkard
					}
				}
				# Hashishiyah
				20 = {
					trigger = { has_trait = hashishiyah }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { has_trait = hashishiyah }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:hashishiyah
					}
				}
				# Rakish
				20 = {
					trigger = { ep2_wedding_ewan_0051_legal_rake_trigger = yes }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { ep2_wedding_ewan_0051_legal_rake_trigger = yes }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:rakish
					}
				}
				# Reclusive
				20 = {
					trigger = { has_trait = reclusive }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { has_trait = reclusive }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:reclusive
					}
				}
				# Flagellant
				20 = {
					trigger = { has_trait = flagellant }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { has_trait = flagellant }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:flagellant
					}
				}
				# Profligate
				20 = {
					trigger = { ep2_wedding_ewan_0051_foolish_profligate_trigger = yes }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { ep2_wedding_ewan_0051_foolish_profligate_trigger = yes }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:profligate
					}
				}
				# Journaller
				20 = {
					trigger = { has_trait = journaller }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { has_trait = journaller }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:journaller
					}
				}
				# Athletic
				20 = {
					trigger = { has_trait = athletic }
					# Weight up a bit if root shares this quality.
					modifier = {
						add = 20
						root = { has_trait = athletic }
					}
					save_scope_value_as = {
						name = stress_pitch
						value = flag:athletic
					}
				}
				# No stress coping pitch, so no effect.
				## If they've got 1 stress trait, we want a roughly 20% chance they'll bring that up, so we weight at 20:80.
				### If they have multiple stress traits, the numbers'll get progressively more stacked in favour of pitching such, but uhhh... clearly they have something to get off their chests.
				80 = {
					# We still need to check for the presence of some other boring quality so that we can fetch a desc key.
					trigger = {
						OR = {
							has_trait = diligent
							has_trait = patient
							has_trait = impatient
							has_trait = arrogant
							has_trait = arbitrary
							ep2_wedding_ewan_0051_boring_zeal_trigger = yes
							has_trait = fickle
							has_trait = vengeful
							has_trait = lifestyle_poet
						}
					}
				}
			}
		}
	}

	# Gently exit the conversation.
	option = {
		name = ep2_wedding_ewan.0051.a

		# Let's give this a go!
		duel = {
			skill = diplomacy
			value = high_skill_rating
			# You extricate yourself.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 5
				desc = ep2_wedding_ewan.0051.a.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0051.a.tt.success
					left_icon = scope:dolt
					add_diplomacy_lifestyle_perk_points = 1
				}
			}
			# It never ends.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0051.a.tt.failure
				send_interface_toast = {
					title = ep2_wedding_ewan.0051.a.tt.failure
					left_icon = scope:dolt
					reverse_add_opinion = {
						target = scope:dolt
						modifier = friendliness_opinion
						opinion = 50
					}
				}
			}
		}

		ep2_wedding_ewan_0051_compassion_to_dolt_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = 1
				ai_sociability = -0.25
			}
		}
	}
	
	# Wrathful: By all the denizens of NegativeAfterLife, will you cease this prattle?
	option = {
		name = ep2_wedding_ewan.0051.b
		trigger = { has_trait = wrathful }
		trait = wrathful

		# Your firmness is notable.
		add_prestige = medium_prestige_gain
		# Scope:dolt is hurt.
		reverse_add_opinion = {
			target = scope:dolt
			modifier = hurt_opinion
			opinion = -40
		}
		# Every wrathful character at the gathering sees your point.
		scope:activity = {
			every_attending_character = {
				limit = {
					has_trait = wrathful
					NOR = {
						this = root
						this = scope:dolt
					}
				}
				custom = ep2_wedding_ewan.0051.b.custom.every_wrathful_guest
				add_opinion = {
					target = root
					modifier = respect_opinion
					opinion = 20
				}
			}
		}

		stress_impact = {
			callous = minor_stress_impact_loss
			sadistic = minor_stress_impact_loss
			impatient = minor_stress_impact_loss
			wrathful = major_stress_impact_loss
			patient = miniscule_stress_impact_gain
			compassionate = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 0.5
				ai_compassion = -0.5
			}
		}
	}
	
	# Shut. Up.
	option = {
		name = ep2_wedding_ewan.0051.c
		trigger = {
			NOT = { has_trait = wrathful }
		}

		# Your firmness is notable.
		add_character_modifier = {
			modifier = ep2_wedding_ewan_0051_snooty_modifier
			years = 15
		}
		# Scope:dolt is hurt.
		reverse_add_opinion = {
			target = scope:dolt
			modifier = hurt_opinion
			opinion = -20
		}

		stress_impact = {
			callous = minor_stress_impact_loss
			sadistic = minor_stress_impact_loss
			impatient = minor_stress_impact_loss
			compassionate = miniscule_stress_impact_gain
			patient = miniscule_stress_impact_gain
			calm = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 0.5
				ai_compassion = -0.5
			}
		}
	}
	
	# Lazy: fall asleep.
	option = {
		name = ep2_wedding_ewan.0051.d
		trigger = { has_trait = lazy }
		trait = lazy

		# Scope:dolt is hurt.
		add_opinion = {
			target = scope:dolt
			modifier = hurt_opinion
			opinion = -30
		}
		# Every lazy character at the gathering respects the hustle.
		scope:activity = {
			every_attending_character = {
				limit = {
					has_trait = lazy
					NOR = {
						this = root
						this = scope:dolt
					}
				}
				custom = ep2_wedding_ewan.0051.d.custom.every_lazy_guest
				reverse_add_opinion = {
					target = root
					modifier = respect_opinion
					opinion = 30
				}
			}
		}

		# Lotta stress loss for this one too.
		stress_impact = {
			lazy = major_stress_impact_loss
			compassionate = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 0.5
				ai_energy = -1
			}
		}
	}
	
	# Drunkard: you buy a pub together.
	option = {
		name = ep2_wedding_ewan.0051.e
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_drunkard_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = drunkard

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = drunkard }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# Hashishiyah: you buy a cake shop together.
	option = {
		name = ep2_wedding_ewan.0051.f
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_hashishiyah_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = hashishiyah

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = hashishiyah }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# Rakish: you start a brothel together.
	option = {
		name = ep2_wedding_ewan.0051.g
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_rakish_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = rakish

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = rakish }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# Reclusive: you start a private retreat together.
	option = {
		name = ep2_wedding_ewan.0051.h
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_reclusive_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = reclusive

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = reclusive }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# Flagellant: you start a... whipping post field together. Apparently.
	option = {
		name = ep2_wedding_ewan.0051.i
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_flagellant_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = flagellant
		trait = deviant
		# Account for secret deviants.
		if = {
			limit = {
				any_secret = { type = secret_deviant }
			}
			random_secret = {
				type = secret_deviant
				save_scope_as = secret
			}
			custom_tooltip = ep2_wedding_ewan.0051.i.tt.deviant
		}

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = flagellant }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# Profligate: you go in on a scam together, but will generally get scammed.
	option = {
		name = ep2_wedding_ewan.0051.j
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_profligate_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = profligate

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = profligate }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# Journaller: you start a library/scriptorium together.
	option = {
		name = ep2_wedding_ewan.0051.k
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_journaller_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = journaller

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = journaller }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# Athletic: you start a gym together.
	option = {
		name = ep2_wedding_ewan.0051.l
		trigger = {
			ep2_wedding_ewan_0051_interested_stress_pitch_trait_athletic_trigger = yes
			NOT = { has_trait = lazy }
		}
		trait = athletic

		# Roll the effect.
		ep2_wedding_ewan_0051_start_business_together_effect = yes

		ep2_wedding_ewan_0051_stress_trait_stress_effect = { STRESS_TRAIT = athletic }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_rationality = -0.75
			}
		}
	}

	# That's... very interesting...
	option = {
		name = ep2_wedding_ewan.0051.m
		trigger = {
			NOR = {
				has_trait = lazy
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_drunkard_trigger = yes
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_hashishiyah_trigger = yes
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_rakish_trigger = yes
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_reclusive_trigger = yes
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_flagellant_trigger = yes
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_profligate_trigger = yes
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_journaller_trigger = yes
				ep2_wedding_ewan_0051_interested_stress_pitch_trait_athletic_trigger = yes
			}
		}

		# Try to play along as best you can.
		duel = {
			skill = intrigue
			value = extremely_high_skill_rating
			# You pull off your bold-faced lie.
			40 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 5
				desc = ep2_wedding_ewan.0051.m.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0051.m.tt.success
					left_icon = scope:dolt
					add_intrigue_skill = 1
				}
			}
			# Some people appreciate your tact.
			60 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0051.m.tt.failure
				send_interface_toast = {
					title = ep2_wedding_ewan.0051.m.tt.failure
					left_icon = scope:dolt
					add_character_modifier = {
						modifier = ep2_wedding_ewan_0051_approachable_modifier
						years = 15
					}
				}
			}
		}

		ep2_wedding_ewan_0051_compassion_to_dolt_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = 0.5
				ai_sociability = 0.5
			}
		}
	}
	
	# Grin and bear it.
	option = {
		name = ep2_wedding_ewan.0051.n
		flavor = ep2_wedding_ewan.0051.n.tt

		# They appreciate you listening.
		reverse_add_opinion = {
			target = scope:dolt
			modifier = friendliness_opinion
			opinion = 40
		}
		# Try to give a hook - they're likely uninteresting (y'know, inherently), which is why we put this in the opt-out.
		if = {
			limit = {
				can_add_hook = {
					target = scope:dolt
					type = favor_hook
				}
			}
			add_hook = {
				target = scope:dolt
				type = favor_hook
			}
		}

		ep2_wedding_ewan_0051_compassion_to_dolt_effect = yes
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = 0.5
				ai_boldness = -1
			}
		}
	}
}

#	Investment success — your venture turned out to be worthwhile after all!
ep2_wedding_ewan.0052 = {
	type = character_event
	title = ep2_wedding_ewan.0052.t
	desc = {
		desc = ep2_wedding_ewan.0052.desc.intro
		# Is scope:dolt around?
		first_valid = {
			# Scope:dolt is dead.
			triggered_desc = {
				trigger = {
					scope:dolt = { is_alive = no }
				}
				desc = ep2_wedding_ewan.0052.desc.dolt_availability.dead
			}
			# Scope:dolt is imprisoned.
			triggered_desc = {
				trigger = {
					scope:dolt = { is_imprisoned = yes }
				}
				desc = ep2_wedding_ewan.0052.desc.dolt_availability.imprisoned
			}
			# Scope:dolt is available.
			desc = ep2_wedding_ewan.0052.desc.dolt_availability.free
		}
		desc = ep2_wedding_ewan.0052.desc.midtro
		# And what was your business again?
		first_valid = {
			# Drunkard
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:drunkard }
				desc = ep2_wedding_ewan.0052.desc.drunkard
			}
			# Hashishiyah
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:hashishiyah }
				desc = ep2_wedding_ewan.0052.desc.hashishiyah
			}
			# Rakish
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:rakish }
				desc = ep2_wedding_ewan.0052.desc.rakish
			}
			# Reclusive
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:reclusive }
				desc = ep2_wedding_ewan.0052.desc.reclusive
			}
			# Flagellant
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:flagellant }
				desc = ep2_wedding_ewan.0052.desc.flagellant
			}
			# Profligate
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:profligate }
				desc = ep2_wedding_ewan.0052.desc.profligate
			}
			# Journaller
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:journaller }
				desc = ep2_wedding_ewan.0052.desc.journaller
			}
			# Athletic
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:athletic }
				desc = ep2_wedding_ewan.0052.desc.athletic
			}
		}
		# Who's sending the letter?
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:dolt = {
						OR = {
							is_alive = no
							is_imprisoned = yes
						}
					}
				}
				desc = ep2_wedding_ewan.0052.desc.outro.dolt_unavailable
			}
			desc = ep2_wedding_ewan.0052.desc.outro
		}
	}
	theme = feast_activity
	left_portrait = {
		character = root
		animation = disbelief
	}
	right_portrait = {
		character = scope:dolt
		animation = happiness
	}
	override_background = { reference = tavern }

	trigger = {
		# Standard checks.
		is_available_adult = yes
	}

	on_trigger_fail = {
		trigger_event = {
			id = ep2_wedding_ewan.0052
			years = 1
		}
	}

	immediate = {
		# Clear the flag.
		remove_character_flag = awaiting_ep2_wedding_ewan_0051_results_flag
		# Cash for both of you!
		add_gold = massive_gold_value
		scope:dolt = {
			if = {
				limit = { is_alive = yes }
				add_gold = @ep2_wedding_ewan_0052_dolt_pay_out_value
			}
		}
		# Faith concerns with these iniquities.
		## We don't take off _too_ much for any of these — we're just trying to note them for responsiveness.
		### Unless you're HoF, in which case, that's a bit of a downer.
		## Some faiths would frown on a pub.
		if = {
			limit = {
				scope:stress_pitch = flag:drunkard
				faith_forbids_alcohol_trigger = yes
			}
			ep2_wedding_ewan_0051_business_piety_consequences_effect = yes
		}
		## Some faiths frown on sloth.
		else_if = {
			limit = {
				scope:stress_pitch = flag:hashishiyah
				# Diligent virtue excluded because you can definitely do work _and_ have a hashish indulging habit, but it's hard to see lots of people _on_ hashish as anything but a den of folks lazing around on cushions chatting about nothing in particular. The horror.
				faith = { trait_is_sin = lazy }
			}
			ep2_wedding_ewan_0051_business_piety_consequences_effect = yes
		}
		## Some faiths frown on lust.
		else_if = {
			limit = {
				scope:stress_pitch = flag:rakish
				faith = {
					OR = {
						trait_is_sin = lustful
						trait_is_virtue = chaste
					}
				}
			}
			ep2_wedding_ewan_0051_business_piety_consequences_effect = yes
		}
		## Some faiths frown on isolation.
		else_if = {
			limit = {
				scope:stress_pitch = flag:reclusive
				faith = {
					OR = {
						trait_is_sin = shy
						trait_is_virtue = gregarious
					}
				}
			}
			ep2_wedding_ewan_0051_business_piety_consequences_effect = yes
		}
		## Some faiths frown on boondoggles.
		else_if = {
			limit = {
				scope:stress_pitch = flag:profligate
				faith = { trait_is_virtue = greedy }
			}
			ep2_wedding_ewan_0051_business_piety_consequences_effect = yes
		}
		## Some faiths frown on non-gamer activities.
		else_if = {
			limit = {
				scope:stress_pitch = flag:athletic
				faith = { trait_is_virtue = lazy }
			}
			ep2_wedding_ewan_0051_business_piety_consequences_effect = yes
		}
	}

	# Greedy/Callous/Sadistic/Arbitrary: take scope:dolt's gold too.
	option = {
		name = ep2_wedding_ewan.0052.a
		trigger = {
			# You have some sway over scope:dolt.
			scope:dolt = {
				is_alive = yes
				any_liege_or_above = { this = root }
			}
			OR = {
				has_trait = greedy
				has_trait = callous
				has_trait = sadistic
				has_trait = arbitrary
			}
		}
		trait = greedy
		trait = callous
		trait = sadistic
		trait = arbitrary

		scope:dolt = {
			# Forcibly transfer the gold.
			pay_short_term_gold = {
				target = root
				gold = @ep2_wedding_ewan_0052_dolt_pay_out_value
			}
			# But be mad about it.
			add_opinion = {
				target = root
				modifier = cruelty_opinion
				opinion = -50
			}
		}

		stress_impact = {
			greedy = minor_stress_impact_loss
			callous = miniscule_stress_impact_loss
			sadistic = miniscule_stress_impact_loss
			arbitrary = miniscule_stress_impact_loss
			generous = medium_stress_impact_gain
			compassionate = medium_stress_impact_gain
			just = medium_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_greed = 1
				ai_honor = -1
			}
		}
	}
	
	# Arrogant: Of course, I'm a business genius.
	option = {
		name = ep2_wedding_ewan.0052.b
		trigger = { has_trait = arrogant }
		trait = arrogant

		# Scope:dolt appreciates that you believed in HerHim.
		scope:dolt = {
			if = {
				limit = { is_alive = yes }
				add_opinion = {
					target = root
					modifier = grateful_opinion
					opinion = 50 
				}
			}
		}

		stress_impact = { arrogant = massive_stress_impact_loss }
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_honor = 1
				ai_greed = -1
			}
		}
	}
	
	# An unexpectedly pleasant surprise!
	option = {
		name = ep2_wedding_ewan.0052.c
		trigger = {
			NOT = { has_trait = arrogant }
		}

		# Scope:dolt appreciates that you believed in HerHim.
		scope:dolt = {
			if = {
				limit = { is_alive = yes }
				add_opinion = {
					target = root
					modifier = grateful_opinion
					opinion = 50 
				}
			}
		}

		# No stress for notification option.
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_honor = 1
				ai_greed = -1
			}
		}
	}
}

#	Investment failure — semi-predictably, your venture dun goofed.
ep2_wedding_ewan.0053 = {
	type = character_event
	title = ep2_wedding_ewan.0053.t
	desc = {
		desc = ep2_wedding_ewan.0053.desc.intro
		# Is scope:dolt around?
		first_valid = {
			# Scope:dolt is dead.
			triggered_desc = {
				trigger = {
					scope:dolt = { is_alive = no }
				}
				desc = ep2_wedding_ewan.0053.desc.dolt_availability.dead
			}
			# Scope:dolt is imprisoned.
			triggered_desc = {
				trigger = {
					scope:dolt = { is_imprisoned = yes }
				}
				desc = ep2_wedding_ewan.0053.desc.dolt_availability.imprisoned
			}
			# Scope:dolt is available.
			desc = ep2_wedding_ewan.0053.desc.dolt_availability.free
		}
		desc = ep2_wedding_ewan.0053.desc.midtro
		# And what was your business again?
		first_valid = {
			# Drunkard
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:drunkard }
				desc = ep2_wedding_ewan.0053.desc.drunkard
			}
			# Hashishiyah
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:hashishiyah }
				desc = ep2_wedding_ewan.0053.desc.hashishiyah
			}
			# Rakish
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:rakish }
				desc = ep2_wedding_ewan.0053.desc.rakish
			}
			# Reclusive
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:reclusive }
				desc = ep2_wedding_ewan.0053.desc.reclusive
			}
			# Flagellant
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:flagellant }
				desc = ep2_wedding_ewan.0053.desc.flagellant
			}
			# Profligate
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:profligate }
				desc = ep2_wedding_ewan.0053.desc.profligate
			}
			# Journaller
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:journaller }
				desc = ep2_wedding_ewan.0053.desc.journaller
			}
			# Athletic
			triggered_desc = {
				trigger = { scope:stress_pitch = flag:athletic }
				desc = ep2_wedding_ewan.0053.desc.athletic
			}
		}
		desc = ep2_wedding_ewan.0053.desc.outro
	}
	theme = feast_activity
	left_portrait = {
		character = root
		animation = disapproval
	}
	right_portrait = {
		character = scope:dolt
		animation = shame
	}
	override_background = { reference = tavern }

	trigger = {
		# Standard checks.
		is_available_adult = yes
	}

	on_trigger_fail = {
		trigger_event = {
			id = ep2_wedding_ewan.0053
			years = 1
		}
	}

	immediate = {
		# Clear the flag.
		remove_character_flag = awaiting_ep2_wedding_ewan_0051_results_flag
		# Troublesome to be reminded of.
		add_stress = medium_stress_gain
		scope:dolt = {
			if = {
				limit = { is_ai = yes }
				add_stress = massive_stress_gain
			}
		}
	}

	# Bring me that idiot in shackles!
	option = {
		name = {
			trigger = {
				scope:dolt = { is_alive = yes }
			}
			text = ep2_wedding_ewan.0053.a.alive
		}
		name = {
			trigger = {
				scope:dolt = { is_alive = no }
			}
			text = ep2_wedding_ewan.0053.a.dead
		}

		scope:dolt = {
			if = {
				limit = { is_alive = yes }
				# If you can imprison scope:dolt, you do.
				if = {
					limit = {
						is_imprisoned = no
						any_liege_or_above = { this = root }
					}
					rightfully_imprison_character_effect = {
						TARGET = scope:dolt
						IMPRISONER = root
					}
				}
				# Plus they're upset with your lack of understanding.
				add_opinion = {
					target = root
					modifier = cruelty_opinion
					opinion = -30
				}
			}
		}

		stress_impact = {
			vengeful = major_stress_impact_loss
			wrathful = miniscule_stress_impact_loss
			forgiving = medium_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_vengefulness = 1
				ai_compassion = -1
			}
		}
	}
	
	# This was probably to be expected.
	option = {
		name = ep2_wedding_ewan.0053.b

		# They're grateful for your understanding.
		scope:dolt = {
			if = {
				limit = { is_alive = yes }
				add_opinion = {
					target = root
					modifier = kindness_opinion
					opinion = 30
				}
			}
		}

		stress_impact = {
			forgiving = minor_stress_impact_loss
			wrathful = minor_stress_impact_gain
			vengeful = medium_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = 1
				ai_vengefulness = -1
			}
		}
	}
}

##################################################
# To My Beloved GetRelation
# by Ewan Cowhig Croft
# 0061 - 0070
##################################################

# Find an old coot to chatter on.
scripted_trigger ep2_wedding_ewan_0061_suitable_doddering_relative_trigger = {
	is_ai = yes
	# Right, make sure that they're old enough for a good ramble.
	age >= 60
	# Must be sufficiently older than our target also.
	age >= {
		value = $TARGET$.age
		add = 20
	}
	# Shy characters will never do this.
	NOT = { has_trait = shy }
	# Must have some predilection for long public speeches.
	OR = {
		# Some traits make you want to talk.
		## You love the sound of your own voice.
		has_trait = arrogant
		## Because you must tell your story to the world. Or something.
		has_trait = honest
		## Because you must tell _a_ story to the world. Or something.
		has_trait = deceitful
		## You love giving speeches.
		has_trait = gregarious
		has_trait = ambitious
		has_trait = diplomat
		has_trait = lifestyle_poet
		## You love giving terrible speeches.
		has_trait = sadistic
		## It seemed like a good idea at the time.
		### We've all been there.
		#### ;_;.
		has_trait = drunkard
		has_trait = hashishiyah
		# People with very high talky-skills are inclined to talking.
		diplomacy >= @ep2_wedding_ewan_0061_high_skill_value
		learning >= @ep2_wedding_ewan_0061_high_skill_value
		# Really old people will give speeches.
		age >= @ep2_wedding_ewan_0061_old_value
	}
	# And actually family - we check this last so that we iterate over as few characters as possible.
	is_close_or_extended_family_of = $TARGET$
	# Filter out candidates that don't make sense.
	NOR = {
		this = root
		this = scope:activity.special_guest:spouse_1
		this = scope:activity.special_guest:spouse_2
	}
}

# Talk scope:oldling down without hurting HerHis feelings.
scripted_effect ep2_wedding_ewan_0061_diplomatically_stop_speech_effect = {
	# Hook + prestige if we can.
	if = {
		limit = {
			can_add_hook = {
				target = scope:relative
				type = favor_hook
			}
		}
		add_hook = {
			target = scope:relative
			type = favor_hook
		}
		add_prestige = minor_prestige_gain
	}
	# Otherwise, double our prestige.
	else = { add_prestige = medium_prestige_gain }
}

# How much does root prod scope:oldling into continuing, at the cost of scope:relative's mental health?
scripted_effect ep2_wedding_ewan_0061_humiliation_rewards_effect = {
	# If this is the player, we give stress to scope:relative.
	## The AI restriction is to stop scope:relative from being harassed into alcoholism/death if they accidentally invite too many dicks to their wedding.
	if = {
		limit = { is_ai = no }
		scope:relative = { add_stress = $STRESS_AMOUNT$_stress_gain }
	}
	# Everyone gets to lose opinion though!
	## (the AI is thus effectively just trading opinion for stress loss)
	reverse_add_opinion = {
		target = scope:relative
		modifier = humiliated_opinion
		opinion = $OPINION_LOSS$
	}
}

#	Embarrassing older relation speech.
ep2_wedding_ewan.0061 = {
	type = activity_event
	title = ep2_wedding_ewan.0061.t
	desc = {
		desc = ep2_wedding_ewan.0061.desc.intro
		random_valid = {
			# Arrogant
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = arrogant }
				}
				desc = ep2_wedding_ewan.0061.desc.arrogant
			}
			# Honest
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = honest }
				}
				desc = ep2_wedding_ewan.0061.desc.honest
			}
			# Deceitful
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = deceitful }
				}
				desc = ep2_wedding_ewan.0061.desc.deceitful
			}
			# Gregarious
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = gregarious }
				}
				desc = ep2_wedding_ewan.0061.desc.gregarious
			}
			# Ambitious
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = ambitious }
				}
				desc = ep2_wedding_ewan.0061.desc.ambitious
			}
			# Diplomat
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = diplomat }
				}
				desc = ep2_wedding_ewan.0061.desc.diplomat
			}
			# Poet
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = lifestyle_poet }
				}
				desc = ep2_wedding_ewan.0061.desc.poet
			}
			# Sadistic
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = sadistic }
				}
				desc = ep2_wedding_ewan.0061.desc.sadistic
			}
			# Drunkard
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = drunkard }
				}
				desc = ep2_wedding_ewan.0061.desc.drunkard
			}
			# Hashishiyah
			triggered_desc = {
				trigger = {
					scope:oldling = { has_trait = hashishiyah }
				}
				desc = ep2_wedding_ewan.0061.desc.hashishiyah
			}
			# High Diplomacy
			triggered_desc = {
				trigger = { scope:oldling.diplomacy >= @ep2_wedding_ewan_0061_high_skill_value }
				desc = ep2_wedding_ewan.0061.desc.skill.diplomacy
			}
			# High Learning
			triggered_desc = {
				trigger = { scope:oldling.learning >= @ep2_wedding_ewan_0061_high_skill_value }
				desc = ep2_wedding_ewan.0061.desc.skill.learning
			}
			# V. Old
			triggered_desc = {
				trigger = { scope:oldling.age >= @ep2_wedding_ewan_0061_old_value }
				desc = ep2_wedding_ewan.0061.desc.old
			}
			# V. V. Old
			triggered_desc = {
				trigger = { scope:oldling.age >= @ep2_wedding_ewan_0061_very_old }
				desc = ep2_wedding_ewan.0061.desc.very_old
			}
		}
		desc = ep2_wedding_ewan.0061.desc.outro
	}
	theme = feast_activity
	left_portrait = {
		character = scope:oldling
		animation = toast_goblet
	}
	center_portrait = {
		character = root
		animation = worry
	}
	right_portrait = {
		character = scope:relative
		animation = fear
	}

	cooldown = { years = 1 }

	trigger = {
		NOR = {
			this = scope:activity.special_guest:spouse_1
			this = scope:activity.special_guest:spouse_2
		}
		# Either special guest must have a relative who matches the criteria.
		scope:activity = {
			NOT = { exists = var:had_event_ewan_0061 }
			any_attending_character = {
				OR = {
					ep2_wedding_ewan_0061_suitable_doddering_relative_trigger = { TARGET = scope:activity.special_guest:spouse_1 }
					ep2_wedding_ewan_0061_suitable_doddering_relative_trigger = { TARGET = scope:activity.special_guest:spouse_2 }
				}
			}
		}
	}

	immediate = {
		# Save some scopes for loc and general sanity.
		scope:activity = {
			special_guest:spouse_1 = { save_scope_as = spouse_1 }
			special_guest:spouse_2 = { save_scope_as = spouse_2 }
			set_variable = {
				name = had_event_ewan_0061
				years = 5
			}
		}
		# Alright, let's pick a doddering old relative!
		scope:activity = {
			ordered_attending_character = {
				limit = {
					OR = {
						ep2_wedding_ewan_0061_suitable_doddering_relative_trigger = { TARGET = scope:spouse_1 }
						ep2_wedding_ewan_0061_suitable_doddering_relative_trigger = { TARGET = scope:spouse_2 }
					}
				}
				# Naturally, naturally.
				order_by = age
				# Ok, save 'em for reference.
				save_scope_as = oldling
			}
		}
		# Right, work out who they're related to.
		random_list = {
			# Related to scope:spouse_1.
			100 = {
				trigger = {
					scope:spouse_1 = {
						any_close_or_extended_family_member = { this = scope:oldling }
					}
				}
				scope:spouse_1 = { save_scope_as = relative }
			}
			# Related to scope:spouse_2.
			100 = {
				trigger = {
					scope:spouse_2 = {
						any_close_or_extended_family_member = { this = scope:oldling }
					}
				}
				scope:spouse_2 = { save_scope_as = relative}
			}
		}
	}

	# Diplomacy: gently interrupt them.
	option = {
		name = ep2_wedding_ewan.0061.a
		trigger = { diplomacy >= extremely_high_skill_rating }
		skill = diplomacy

		# Talk scope:oldling down without hurting HerHis feelings.
		ep2_wedding_ewan_0061_diplomatically_stop_speech_effect = yes
		# Scope:relative is _extremely_ grateful to you either way.
		reverse_add_opinion = {
			target = scope:relative
			modifier = grateful_opinion
			opinion = 40
		}

		stress_impact = {
			compassionate = minor_stress_impact_loss
			callous = miniscule_stress_impact_gain
			sadistic = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = 1
				ai_sociability = 1
			}
		}
	}
	
	# Politely clap to stop them.
	option = {
		name = ep2_wedding_ewan.0061.b
		trigger = { diplomacy < very_high_skill_rating }

		# You give it your best shot.
		duel = {
			skill = diplomacy
			value = high_skill_rating
			# You force scope:oldling down.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 5
				desc = ep2_wedding_ewan.0061.b.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0061.b.tt.success
					left_icon = scope:oldling
					# Talk scope:oldling down without hurting HerHis feelings.
					ep2_wedding_ewan_0061_diplomatically_stop_speech_effect = yes
				}
			}
			# Scope:oldling continues apace regardless.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0061.b.tt.failure
				send_interface_toast = {
					title = ep2_wedding_ewan.0061.b.tt.failure
					left_icon = scope:oldling
					add_prestige = minor_prestige_gain
				}
			}
		}
		# Scope:relative is _extremely_ grateful to you either way.
		reverse_add_opinion = {
			target = scope:relative
			modifier = grateful_opinion
			opinion = 40
		}

		stress_impact = {
			compassionate = minor_stress_impact_loss
			callous = miniscule_stress_impact_gain
			sadistic = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = 1
				ai_sociability = 1
			}
		}
	}
	
	# Grin and suffer through it.
	option = {
		name = ep2_wedding_ewan.0061.c

		# Everyone can commiserate.
		scope:activity = {
			every_attending_character = {
				limit = {
					NOR = {
						this = scope:oldling
						this = root
					}
				}
				custom = custom.every_activity_guest
				reverse_add_opinion = {
					target = root
					modifier = commiseration_opinion
					opinion = 15
				}
			}
		}

		stress_impact = {
			compassionate = minor_stress_impact_loss
			lazy = minor_stress_impact_loss
			patient = minor_stress_impact_loss
			impatient = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = 1
				ai_boldness = -1
			}
		}
	}
	
	# Mischief: cheer and whoop for more.
	option = {
		name = ep2_wedding_ewan.0061.d
		trigger = { has_activity_intent = banquet_mischief_intent }
		reason = activity_intent

		# Same as the .e rolls, but we remove the minor result and just roll between success & crit success.
		duel = {
			skill = intrigue
			value = very_high_skill_rating
			# Critical success.
			40 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 5
				desc = ep2_wedding_ewan.0061.d.tt.crit_success
				send_interface_toast = {
					title = ep2_wedding_ewan.0061.d.tt.crit_success
					left_icon = scope:oldling
					right_icon = scope:relative
					# Parse out our effects.
					ep2_wedding_ewan_0061_humiliation_rewards_effect = {
						STRESS_AMOUNT = massive
						OPINION_LOSS = -40
					}
				}
			}
			# Success.
			60 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 5
				desc = ep2_wedding_ewan.0061.d.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0061.d.tt.success
					left_icon = scope:oldling
					right_icon = scope:relative
					# Parse out our effects.
					ep2_wedding_ewan_0061_humiliation_rewards_effect = {
						STRESS_AMOUNT = major
						OPINION_LOSS = -30
					}
				}
			}
		}
		# Plus scope:oldling appreciates the cheering.
		reverse_add_opinion = {
			target = scope:oldling
			modifier = compliment_opinion
			opinion = 40
		}

		# We give base stress loss for this'un too.
		stress_impact = {
			base = major_stress_impact_loss
			deceitful = miniscule_stress_impact_loss
			callous = miniscule_stress_impact_loss
			sadistic = miniscule_stress_impact_loss
			compassionate = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_compassion = -0.5
			}
		}
	}

	# Prod them to continue.
	option = {
		name = ep2_wedding_ewan.0061.e
		trigger = {
			NOT = { has_activity_intent = banquet_mischief_intent }
		}

		# Commence the haranguing.
		duel = {
			skill = intrigue
			value = very_high_skill_rating
			# Critical success.
			20 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 5
				desc = ep2_wedding_ewan.0061.e.tt.crit_success
				send_interface_toast = {
					title = ep2_wedding_ewan.0061.e.tt.crit_success
					left_icon = scope:oldling
					right_icon = scope:relative
					# Parse out our effects.
					ep2_wedding_ewan_0061_humiliation_rewards_effect = {
						STRESS_AMOUNT = massive
						OPINION_LOSS = -40
					}
				}
			}
			# Success.
			30 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
					min = -49
				}
				min = 5
				desc = ep2_wedding_ewan.0061.e.tt.success
				send_interface_toast = {
					title = ep2_wedding_ewan.0061.e.tt.success
					left_icon = scope:oldling
					right_icon = scope:relative
					# Parse out our effects.
					ep2_wedding_ewan_0061_humiliation_rewards_effect = {
						STRESS_AMOUNT = major
						OPINION_LOSS = -30
					}
				}
			}
			# Slight success.
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
					min = -49
				}
				min = 10
				desc = ep2_wedding_ewan.0061.e.tt.failure
				send_interface_toast = {
					title = ep2_wedding_ewan.0061.e.tt.failure
					left_icon = scope:oldling
					right_icon = scope:relative
					# Parse out our effects.
					ep2_wedding_ewan_0061_humiliation_rewards_effect = {
						STRESS_AMOUNT = medium
						OPINION_LOSS = -20
					}
				}
			}
		}
		# Plus scope:oldling appreciates the prompts.
		reverse_add_opinion = {
			target = scope:oldling
			modifier = compliment_opinion
			opinion = 10
		}

		stress_impact = {
			base = major_stress_loss
			deceitful = minor_stress_impact_loss
			callous = minor_stress_impact_loss
			sadistic = minor_stress_impact_loss
			compassionate = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_boldness = 1
				ai_compassion = -0.5
			}
		}
	}

	# Stop paying attention.
	option = {
		name = ep2_wedding_ewan.0061.f

		# Effect is stress loss.
		stress_impact = {
			base = medium_stress_loss
			lazy = medium_stress_impact_loss
			diligent = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_energy = -0.5
				ai_sociability = -0.5
			}
		}
	}
}

##################################################
# Oath in Moment
# by Ewan Cowhig Croft
# 0071 - 0080
##################################################

#	Your liege offers you a favour for your support.
ep2_wedding_ewan.0071 = {
	type = character_event
	title = ep2_wedding_ewan.0071.t
	desc = ep2_wedding_ewan.0071.desc
	theme = feast_activity
	left_portrait = {
		character = root
		animation = personality_bold
	}
	right_portrait = {
		character = scope:liege
		animation = admiration
	}

	trigger = {
		# DLC check.
		has_ep2_dlc_trigger = yes
		# Vassals only please.
		top_liege != this
		# Decent prestige level, as you can't be a nobody.
		prestige_level >= medium_prestige_level
		# Dynastic cooldowns.
		trigger_if = {
			limit = { exists = dynasty }
			dynasty = {
				OR = {
					# AI cooldown.
					AND = {
						root = { is_ai = yes }
						NOT = { has_variable = ep2_wedding_ewan_0071_ai_cooldown }
					}
					# Player cooldown.
					AND = {
						root = { is_ai = no }
						NOT = { has_variable = ep2_wedding_ewan_0071_player_cooldown }
					}
				}
			}
		}
		# If you're factioning, they won't give ye diddly.
		NOR = {
			is_a_faction_leader = yes
			is_a_faction_member = yes
		}
		# Must have a liege who...
		liege ?= {
			NOR = {
				has_imprisonment_reason = root
				has_banish_reason = root
				has_execute_reason = root
			}
			# ... has a prestige level no higher than yours.
			prestige_level <= root.prestige_level
			# ... really likes you.
			OR = {
				opinion = {
					target = root
					value >= 100
				}
				AND = {
					dynasty ?= { has_dynasty_perk = ep2_activities_legacy_2 }
					opinion = {
						target = root
						value >= 50
					}
				}
				has_trait = trusting
			}
			# ... juuuust let's double-check you haven't managed this whilst having a bad relationship.
			NOT = {
				has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
			}
			# ... and is an AI.
			is_ai = yes
			# Plus, filter out stuff that'd look real weird.
			NOR = {
				# No crime reasons.
				has_imprisonment_reason = root
				has_banish_reason = root
				has_revoke_title_reason = root
				has_execute_reason = root
				has_divorce_reason = root
				# No terrible opinions you might've overridden.
				has_any_major_negative_opinion_against_character_trigger = { CHARACTER = root }
				# Paranoid lieges don't make themselves this vulnerable.
				has_trait = paranoid
			}
		}
		# No use if you already have a strong hook on 'em.
		NOT = { has_strong_hook = liege }
	}

	weight_multiplier = {
		base = 1
		
		# Weight up for the dynasty legacy that generally enables this.
		modifier = {
			# This number is deliberately high — it brings it up to about the standard weighting in the on_action, going from 1 to 100.
			add = 99
			dynasty ?= { has_dynasty_perk = ep2_activities_legacy_2 }
		}
	}

	immediate = {
		# Grab the liege immediately for mildly easier loc - we don't worry about a scripted trigger because we only have one liege who can have passed this gate.
		liege = { save_scope_as = liege }
		# We don't want to see this again for a century or so.
		if = {
			limit = { exists = dynasty }
			# AI get one cooldown...
			if = {
				limit = { is_ai = yes }
				dynasty = {
					set_variable = {
						name = ep2_wedding_ewan_0071_ai_cooldown
						value = yes
						years = 100
					}
				}
			}
			# ... and the player gets another, so that the AI doesn't block them.
			dynasty = {
				set_variable = {
					name = ep2_wedding_ewan_0071_player_cooldown
					value = yes
					years = 100
				}
			}
		}
	}

	# Sounds like a fair trade to me!
	option = {
		name = ep2_wedding_ewan.0071.a

		# You get your hook.
		add_hook = {
			type = liege_favour_strong_hook
			target = scope:liege
		}
		# Liege gains prestige!
		scope:liege = {
			add_prestige = major_prestige_gain
			add_opinion = {
				target = root
				modifier = grateful_opinion
				opinion = 30
			}
		}

		stress_impact = {
			humble = major_stress_impact_loss
			arbitrary = minor_stress_impact_gain
			arrogant = minor_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_rationality = 2
				ai_honor = 0.5
			}
		}
	}
	
	# Thank you, but no thank you.
	option = {
		name = ep2_wedding_ewan.0071.b

		# You gain prestige.
		add_prestige = major_prestige_gain
		# Plus dynasty prestige if you're not the same dynasty.
		if = {
			limit = {
				OR = {
					AND = {
						exists = liege.dynasty
						NOT = { dynasty ?= liege.dynasty }
					}
					AND = {
						exists = dynasty
						NOT = { exists = liege.dynasty }
					}
				}
			}
			dynasty = { add_dynasty_prestige = massive_dynasty_prestige_value }
		}
		# Liege loses a little opinion of you.
		reverse_add_opinion = {
			target = scope:liege
			modifier = disappointed_opinion
			opinion = -15
		}

		stress_impact = {
			arbitrary = minor_stress_impact_loss
			arrogant = minor_stress_impact_loss
			humble = medium_stress_impact_gain
		}
		ai_chance = {
			base = 1
			ai_value_modifier = {
				ai_compassion = -0.5
				ai_energy = -0.75
			}
		}
	}
}
