﻿seduce = {
	
	skill = intrigue
	# cooldown = { months = 2 }
	is_secret = yes
	base_secrecy = 10
	uses_agents = no
	power_per_skill_point = 8
	resistance_per_skill_point = 0
	minimum_progress_chance = 35
	maximum_progress_chance = 90
	maximum_success = 95

	# Does not use Spymaster
	spymaster_power_per_skill_point = 0
	spymaster_resistance_per_skill_point = 0
	
	
	allow = {
		is_adult = yes
		scope:target = { is_adult = yes }
		#Mutual attraction is a hard limit because this scheme implies real romantic feelings and we don't model romantic attraction separately from sexual attraction
		OR = {
			is_ai = no	#Players may override their character's sexuality for the purposes of cynical seductions.
			scope:owner = { is_attracted_to_gender_of = scope:target }	
		}
		#Game rules
		OR = {
			is_ai = no #Player always has agency
			has_game_rule = default_seduction
			has_game_rule = less_seduction
			AND = {
				has_game_rule = restricted_seduction
				OR = {
					has_trait = lustful
					has_trait = seducer
					has_trait = reveler_1
					has_trait = reveler_2
					has_trait = reveler_3
					has_trait = rakish
					scope:target = { is_spouse_of = scope:owner }
					scope:target = { is_consort_of = scope:owner }
				}
			}
		}
		#Have I been blocked from targeting this character?
		custom_description = { #Permanent
			text = seduce_blocked
			object = scope:target

			NOT = {
				scope:target = {
					has_opinion_modifier = {
						modifier = seduce_permanent_blocker_opinion
						target = scope:owner
					}
				}
			}
		}

		#Time-limited blocker
		custom_description = {
			text = seduce_cooldown
			object = scope:target

			NOT = {
				scope:target = {
					has_opinion_modifier = {
						modifier = seduce_regular_cooldown_opinion
						target = scope:owner
					}
				}
			}
		}

		#10 year general target blocker
		custom_description = {
			text = seduce_general_10_year_cooldown
			subject = scope:target

			NOT = {
				scope:target = {
					 has_character_flag = block_seduce_attempts
				}
			}
		}

		#They're not interested
		custom_description = {
			text = no_attraction_due_to_gender
			object = scope:target
			subject = scope:owner
			scope:target = { is_attracted_to_gender_of = scope:owner  }
		}

		is_below_ai_lover_soft_cap_trigger = yes
		trigger_if = {
			limit = { is_ai = yes }
			scope:target = {
				is_below_ai_lover_soft_cap_trigger = yes
				trigger_if = { # Block AI from seducing lowborn nobodies in the players court
					limit = {
						exists = liege
						liege = { is_ai = no }
						NOR = {
							is_courtier_of = scope:owner
							is_foreign_court_or_pool_guest_of = scope:owner
						}
					}
					OR = {
						is_lowborn = no
						is_landed = yes
					}
				}
				trigger_if = { #So players don't get spammed by AI seduction
					limit = {
						is_ai = no
					}
					NOT = {
						any_targeting_scheme = {
							scheme_type = seduce
						}
					}
				}
			}
		}

		NOT = { scope:owner = { has_character_flag = is_party_baron } } # The Party Baron wants friends, not lovers!
	}
	
	valid = {
		#HARD-BLOCK: Incest Target is too young
		NOT = { 
			custom_description = { 
				text = SCHEME_SEDUCE_UNWILLING_INCEST_TOO_YOUNG
				object = scope:target
				guaranteed_under_20_incest_rejection_trigger = {
					TARGET = scope:target
					SEDUCER = scope:owner
				}
			}
		}
		
		#we're already lovers
		NOT = {
			custom_description = {
				text = "seduce_already_lover"
				object = scope:target
				has_relation_lover = scope:target
				NOT = { has_relation_soulmate = scope:target }
			}
		}

		#We're already soulmates
		scope:owner = {
			NOT = {
				custom_description = {
					text = "romance_already_soulmate"
					object = scope:target
					has_relation_soulmate = scope:target
				}
			}
		}

		#You've been kicked out of bed
		custom_description = { 
			text = seduce_blocked
			object = scope:target
			NOT = {
				scope:owner = {
					has_character_modifier = rejected_from_marriage_bed_modifier
					is_spouse_of = scope:target 
				}
			}
		}

		NOT = { has_trait = celibate }
		scope:target = { NOT = { has_trait = celibate } }
		
		is_imprisoned = no
		scope:target = {
			is_imprisoned = no
		}

		scope:target = {
			OR = {
				exists = location
				in_diplomatic_range = scope:owner
			}
		}
	}

	use_secrecy = {
		use_seduce_secrecy_trigger = yes
	}


	base_success_chance = {
		base = 5
		#GAME RULES#
		modifier = {
			desc = GAME_RULE_SEDUCTION_MORE_DIFFICULT
			NOT = { has_game_rule = default_seduction }
			NOR = {
				scope:target = { is_spouse_of = scope:owner }
				scope:target = { is_consort_of = scope:owner }
			}
			scope:owner = { is_ai = yes }
			add = -20
		}
		#SCHEME OWNER#

		#Seducer
		
		modifier = { # Home Advantage perk bonus against own Courtiers and Guests
			desc = SEDUCE_COURTIER_GUEST_PERK_BONUS
			scope:owner = { has_perk = home_advantage_perk }
			scope:target = {
				OR = {
					is_courtier_of = scope:owner
					is_pool_guest_of = scope:owner
					is_foreign_court_guest_of = scope:owner
				}
			}
			add = home_advantage_perk_bonus
		}
		modifier = { # Smooth Operator perk bonus
			desc = SEDUCE_PERK_BONUS
			scope:owner = { has_perk = smooth_operator_perk }
			always = yes
			add = smooth_operator_perk_bonus
		}

		modifier = {
			desc = "SCHEME_SCHEMER_TRAIT"
			scope:owner = { has_trait = seducer }
			add = 25
		}

		#Beauty good
		modifier = {
			desc = "scheme_beauty_good_1"
			scope:owner = { has_trait = beauty_good_1 }
			add = 10
		}
		modifier = {
			desc = "scheme_beauty_good_2"
			scope:owner = { has_trait = beauty_good_2 }
			add = 15
		}
		modifier = {
			desc = "scheme_beauty_good_3"
			scope:owner = { has_trait = beauty_good_3 }
			add = 20
		}

		#Physique good
		modifier = {
			desc = "scheme_physique_good_1"
			scope:owner = { has_trait = physique_good_1 }
			add = 5
		}
		modifier = {
			desc = "scheme_physique_good_2"
			scope:owner = { has_trait = physique_good_2 }
			add = 10
		}
		modifier = {
			desc = "scheme_physique_good_3"
			scope:owner = { has_trait = physique_good_3 }
			add = 15
		}

		#Beauty bad
		modifier = {
			desc = "scheme_beauty_bad_1"
			scope:owner = { has_trait = beauty_bad_1 }
			add = -10
		}
		modifier = {
			desc = "scheme_beauty_bad_2"
			scope:owner = { has_trait = beauty_bad_2 }
			add = -15
		}
		modifier = {
			desc = "scheme_beauty_bad_3"
			scope:owner = { has_trait = beauty_bad_3 }
			add = -20
		}

		#Venereal diseases
		modifier = {
			desc = "scheme_great_pox"
			scope:owner = { has_trait = great_pox }
			add = -50
		}
		modifier = {
			desc = "scheme_lovers_pox"
			scope:owner = { has_trait = lovers_pox }
			add = -25
		}
		modifier = {
			desc = "scheme_early_great_pox"
			scope:owner = { has_trait = early_great_pox }
			add = -25
		}

		#Sexuality
		modifier = {
			desc = SCHEME_SEDUCE_WRONG_GENDER
			scope:owner = {
				NOR = {
					is_attracted_to_gender_of = scope:target
					has_perk = unshackled_lust_perk # Removed by the Unshackled Lust Perk
				}
			}
			add = -25
		}


		#TARGET#

		#Lustful/hedonist
		modifier = {
			desc = "SCHEME_REVELER"
			scope:target = { has_trait = lifestyle_reveler }
			add = 5
		}
		modifier = {
			desc = "SCHEME_LUSTFUL_TRAIT"
			scope:target = { has_trait = lustful }
			add = 10
		}

		#Chaste/shy
		modifier = {
			desc = "SCHEME_CHASTE_TRAIT"
			scope:target = { has_trait = chaste }
			#New - doesn't make sense for chaste to not become lovers with their spouse!
			scope:target = { NOT = { is_spouse_of = scope:owner } }
			has_game_rule = default_seduction
			add = -15
		}
		modifier = {
			desc = "SCHEME_CHASTE_TRAIT"
			scope:target = { has_trait = chaste }
			scope:target = { NOT = { is_spouse_of = scope:owner } }
			OR = {
				has_game_rule = restricted_seduction
				has_game_rule = no_seduction
			}
			add = -35
		}
		modifier = {
			desc = "SCHEME_SHY_TRAIT"
			scope:target = { has_trait = shy }
			add = -10
		}

		#Opinion of owner
		opinion_modifier = {
			who = scope:target
			opinion_target = scope:owner
			min = -50
			max = 50
			multiplier = 1.5
			step = 5
		}

		#Target is owner's spouse
		modifier = { #
			trigger = { scope:owner = { is_consort_of = scope:target } }
			scope:target = {
				NOT = { has_relation_rival = scope:owner }
			}
			add = 20
			desc = "SCHEME_SEDUCE_SPOUSE_BONUS"
		}

		#Opinion of Spouse
		modifier = { #Soulmate spouse
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				has_relation_soulmate = scope:target_spouse
			}
			add = -500
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_PENALTY"
		}

		#Opinion of Spouse
		modifier = { #Lover spouse
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				OR = {
					has_relation_lover = scope:target_spouse
					has_secret_relation_lover = scope:target_spouse
				}
			}
			add = -50
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_PENALTY"
		}
		modifier = { #high_positive_opinion+ of spouse
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				NOR = {
					has_relation_lover = scope:target_spouse
					has_secret_relation_lover = scope:target_spouse
				}
				opinion = {
					target = scope:target_spouse
					value >= high_positive_opinion
				}
			}
			add = -45
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_PENALTY"
		}
		modifier = {
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = { #medium_positive_opinion+ of spouse
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				NOR = {
					has_relation_lover = scope:target_spouse
					has_secret_relation_lover = scope:target_spouse
				}
				opinion = {
					target = scope:target_spouse
					value < high_positive_opinion
				}
				opinion = {
					target = scope:target_spouse
					value >= medium_positive_opinion
				}
			}
			add = -30
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_PENALTY"
		}
		modifier = { #low_negative_opinion+ of souse
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				NOR = {
					has_relation_lover = scope:target_spouse
					has_secret_relation_lover = scope:target_spouse
				}
				opinion = {
					target = scope:target_spouse
					value < medium_positive_opinion
				}
				opinion = {
					target = scope:target_spouse
					value >= low_negative_opinion
				}
			}
			add = -15
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_PENALTY"
		}
		modifier = { #low_negative_opinion- of spouse
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				opinion = {
					target = scope:target_spouse
					value <= low_negative_opinion
				}
				opinion = {
					target = scope:target_spouse
					value > medium_negative_opinion
				}
			}
			add = 10
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_BONUS"
		}
		modifier = { #medium_negative_opinion- of spouse
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				opinion = {
					target = scope:target_spouse
					value <= medium_negative_opinion
				}
				opinion = {
					target = scope:target_spouse
					value > high_negative_opinion
				}
			}
			add = 20
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_BONUS"
		}
		modifier = { #high_negative_opinion- of spouse
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				is_married = yes
				exists = primary_spouse #TIT-18438
				primary_spouse = { save_temporary_scope_as = target_spouse }
				opinion = {
					target = scope:target_spouse
					value <= high_negative_opinion
				}
			}
			add = 30
			desc = "SCHEME_SEDUCE_SPOUSE_OPINION_BONUS"
		}
		#Does their spouse have a strong hook on them?
		modifier = {
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } }
			scope:target = {
				exists = primary_spouse
				primary_spouse = { has_strong_hook = scope:target }
			}
			add = -20
			desc = SCHEME_SEDUCE_SPOUSE_STRONG_HOOK_PENALTY
		}

		#Trait similarity to owner
		compatibility_modifier = {
			who = scope:target
			compatibility_target = scope:owner
			min = -30
			max = 30
			multiplier = 2
		}

		#Rank tier difference (landed target/target whose liege doesn't care)
		modifier = { #3 or more higher rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = 40
			desc = "HIGHER_RANK_THAN_SCHEME_TARGET"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = no
				NOT = {
					is_theocratic_lessee = yes
				}
			}
			scope:owner = {
				tier_difference = {
					target = scope:target
					value >= 3
				}
			}
		}
		modifier = { #2 higher rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = 20
			desc = "HIGHER_RANK_THAN_SCHEME_TARGET"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = no
				NOT = {
					is_theocratic_lessee = yes
				}
			}
			scope:owner = {
				tier_difference = {
					target = scope:target
					value = 2
				}
			}
		}
		modifier = { #1 higher rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = 10
			desc = "HIGHER_RANK_THAN_SCHEME_TARGET"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = no
				NOT = {
					is_theocratic_lessee = yes
				}
			}
			scope:owner = {
				tier_difference = {
					target = scope:target
					value = 1
				}
			}
		}
		modifier = { #1 lower rank
			trigger = {
				scope:owner = {
					NOT = { is_consort_of = scope:target } # Your spouse doesn't care if you're a different rank than them.
					NOT = { has_perk = subtle_desire_perk }
				}
			}
			add = -15
			desc = "LOWER_RANK_THAN_SCHEME_TARGET"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = no
			}
			scope:owner = {
				tier_difference = {
					target = scope:target
					value = -1
				}
			}
		}
		modifier = { #2 lower rank
			trigger = {
				scope:owner = {
					NOT = { is_consort_of = scope:target } # Your spouse doesn't care if you're a different rank than them.
					NOT = { has_perk = subtle_desire_perk }
				}
			}
			add = -30
			desc = "LOWER_RANK_THAN_SCHEME_TARGET"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = no
			}
			scope:owner = {
				tier_difference = {
					target = scope:target
					value = -2
				}
			}
		}
		modifier = { #3 or less lower rank
			trigger = {
				scope:owner = {
					NOT = { is_consort_of = scope:target } # Your spouse doesn't care if you're a different rank than them.
					NOT = { has_perk = subtle_desire_perk }
				}
			}
			add = -60
			desc = "LOWER_RANK_THAN_SCHEME_TARGET"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = no
			}
			scope:owner = {
				tier_difference = {
					target = scope:target
					value <= -3
				}
			}
		}

		#Rank tier difference (unlanded character)
		modifier = { #3 or more higher rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = 50
			desc = "HIGHER_RANK_THAN_SCHEME_TARGET_LIEGE"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = yes
				NOT = {
					is_theocratic_lessee = yes
				}
			}
			scope:owner = {
				tier_difference = {
					target = scope:target.liege
					value >= 3
				}
			}
		}
		modifier = { #2 higher rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = 25
			desc = "HIGHER_RANK_THAN_SCHEME_TARGET_LIEGE"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = yes
				NOT = {
					is_theocratic_lessee = yes
				}
			}
			scope:owner = {
				tier_difference = {
					target = scope:target.liege
					value = 2
				}
			}
		}
		modifier = { #1 higher rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = 10
			desc = "HIGHER_RANK_THAN_SCHEME_TARGET_LIEGE"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = yes
				NOT = {
					is_theocratic_lessee = yes
				}
			}
			scope:owner = {
				tier_difference = {
					target = scope:target.liege
					value = 1
				}
			}
		}
		modifier = { #1 lower rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = -15
			desc = "LOWER_RANK_THAN_SCHEME_TARGET_LIEGE"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = yes
			}
			scope:owner = {
				tier_difference = {
					target = scope:target.liege
					value = -1
				}
			}
		}
		modifier = { #2 lower rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = -30
			desc = "LOWER_RANK_THAN_SCHEME_TARGET_LIEGE"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = yes
			}
			scope:owner = {
				tier_difference = {
					target = scope:target.liege
					value = -2
				}
			}
		}
		modifier = { #3 or less lower rank
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # Your spouse doesn't care if you're a different rank than them.
			add = -60
			desc = "LOWER_RANK_THAN_SCHEME_TARGET_LIEGE"
			scope:target = {
				personal_scheme_success_compare_target_liege_tier_trigger = yes
			}
			scope:owner = {
				tier_difference = {
					target = scope:target.liege
					value <= -3
				}
			}
		}

		#Extra rank bonus/penalty if target is arrogant/ambitious
		modifier = {
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # No 'social climbing' if you're already their spouse!
			desc = SCHEME_SOCIAL_CLIMBER_RANK_BONUS
			add = 10
			scope:target = {
				OR = {
					has_trait = arrogant
					has_trait = ambitious
					has_trait = greedy
				}
				NOT = {
					is_theocratic_lessee = yes
				}
			}
			OR = {
				AND = {
					scope:target = { personal_scheme_success_compare_target_liege_tier_trigger = yes }
					scope:owner.highest_held_title_tier > scope:target.liege.highest_held_title_tier
				}
				AND = {
					scope:target = { personal_scheme_success_compare_target_liege_tier_trigger = no }
					scope:owner.highest_held_title_tier > scope:target.highest_held_title_tier
				}
			}
		}
		modifier = {
			trigger = { scope:owner = { NOT = { is_consort_of = scope:target } } } # No 'social climbing' if you're already their spouse!
			desc = SCHEME_SOCIAL_CLIMBER_RANK_PENALTY
			add = -10
			scope:target = {
				OR = {
					has_trait = arrogant
					has_trait = ambitious
					has_trait = greedy
				}
			}
			OR = {
				AND = {
					scope:target = { personal_scheme_success_compare_target_liege_tier_trigger = yes }
					scope:owner.highest_held_title_tier < scope:target.liege.highest_held_title_tier
				}
				AND = {
					scope:target = { personal_scheme_success_compare_target_liege_tier_trigger = no }
					scope:owner.highest_held_title_tier < scope:target.highest_held_title_tier
				}
			}
		}

		#Religious Heads
		modifier = {
			add = -50
			desc = "SCHEME_VS_RELIGIOUS_HEAD"
			scope:target = {
				faith = scope:owner.faith
				faith = {
					exists = religious_head
					religious_head = {
						this = scope:target
					}
				}
			}
		}

		#Taboo
		modifier = { #Incest is taboo (norms & consequences)
			add = -25
			desc = SCHEME_SEDUCE_TABOO_INCEST
			scope:target = {
				relation_with_character_is_incestuous_in_my_or_lieges_faith_trigger = { CHARACTER = scope:owner }
			}
			scope:owner = { # The Subtle Desire Perk nullifies this
				NOT = { has_perk = subtle_desire_perk }
			}
		}
		modifier = { #Character is not willing to engage in incest with scope:owner
			add = {
				if = {
					limit = { scope:target = { is_close_family_of = scope:owner } }
					value = -40
				}
				else_if = {
					limit = { scope:target = { is_extended_family_of = scope:owner } }
					value = -15
				}
				if = {
					limit = { scope:target = { is_deviant_trigger = yes } }
					add = 15
				}
			}
			desc = SCHEME_SEDUCE_UNWILLING_INCEST
			scope:target = {
				NOT = { is_consort_of = scope:owner }
				is_close_or_extended_family_of = scope:owner
				NOR = {
					accepts_incest_with_trigger = { CHARACTER = scope:owner } #100% fine with incest with owner
					scope:owner = { has_perk = subtle_desire_perk }  # The Subtle Desire Perk nullifies this
					guaranteed_under_20_incest_rejection_trigger = { # handled by hard block modifier
						TARGET = scope:target
						SEDUCER = scope:owner
					}
				}
			}
		}
		modifier = { #Incest hard block
			add = -1000
			desc = SCHEME_SEDUCE_UNWILLING_INCEST
			guaranteed_under_20_incest_rejection_trigger = {
				TARGET = scope:target
				SEDUCER = scope:owner
			}
		}
		modifier = { #Sodomy
			add = -20
			desc = SCHEME_SEDUCE_TABOO_SODOMY
			scope:target = {
				relation_with_character_is_sodomy_in_my_or_lieges_faith_trigger = { CHARACTER = scope:owner }
				NOT = { freely_accepts_sodomy_with_trigger = { CHARACTER = scope:owner } }
				NOT = { has_perk = unshackled_lust_perk }
			}

		}

		# Dynasty Kin Personal Scheme Success Chance on Dynasty Perk
		modifier = {
			add = kin_legacy_4_success_chance
			desc = KIN_LEGACY_DESC
			exists = scope:owner.dynasty
			scope:owner.dynasty = {
				has_dynasty_perk = kin_legacy_4
			}
			scope:target.dynasty = scope:owner.dynasty
		}

		# Thicker Than Water Perk
		modifier = {
			add = thicker_than_water_bonus
			desc = BEFRIEND_THICKER_THAN_WATER_PERK_DESC
			scope:owner = {
				has_perk = thicker_than_water_perk
			}
			scope:target = {
				is_close_or_extended_family_of = scope:owner
			}
		}
	}

	on_ready = {
		scheme_owner = {
			#Do I want to proceed to a roll?
			if = {
				limit = {
					is_ai = no
					use_seduce_secrecy_trigger = yes
				}
				trigger_event = seduce_outcome.0001
			}
			#Jump straight to roll
			else = {
				trigger_event = seduce_outcome.0002
			}
		}
	}

	on_invalidated = {
		if = {
			limit = {
				scheme_target = { is_alive = no }
			}
			scheme_owner = {
				trigger_event = seduce_outcome.0005
			}
		}
		#I am already their lover!
		if = {
			limit = {
				NOT = { scheme_progress = 100 }
				scheme_owner = { has_relation_lover = scope:scheme.scheme_target }
			}
			scheme_owner = {
				trigger_event = seduce_outcome.0004
			}
		}
		else_if = { #fallback invalidation
			limit = {
				OR = {
					#We're already soulmates
					scope:owner = {
						has_relation_soulmate = scope:target
					}

					#You've been kicked out of bed
					scope:owner = {
						has_character_modifier = rejected_from_marriage_bed_modifier
						is_spouse_of = scope:target 
					}
						
					scope:owner = {  has_trait = celibate  }
					scope:target = {  has_trait = celibate }
					
					scope:owner = { is_imprisoned = yes }
					scope:target = { is_imprisoned = yes }

					scope:target = {
						NOR = {
							exists = location
							in_diplomatic_range = scope:owner
						}
					}
				}
			}
			scheme_owner = {
				send_interface_message = {
					type = event_generic_neutral
					title = seduce
					left_icon = scope:target
					custom_tooltip = seduce_invalid
				}
			}
		}
	}

	on_start = {
		#Handle incest hard reject
		save_scope_as = scheme
		scheme_owner = { save_scope_as = owner }
		scheme_target = { save_scope_as = target }

		if = {
			limit = {
				scope:target = {
					is_close_or_extended_family_of = scope:owner
					NOT = { is_consort_of = scope:owner }
				}
			}
			scope:target = {
				trigger_event = {
					id = seduce_outcome.8101 #Hard reject event, ai weights on options determine yes/no
					days = { 7 14 }
				}
			}
		}
	}

	on_monthly = {
		save_scope_as = scheme
		scheme_owner = { save_scope_as = owner }
		scheme_target = { save_scope_as = target }

		#Milestone 1 event
		if = {
			limit = {
				scheme_progress >= 3
				scheme_progress < 7
				NOR = {
					has_scheme_modifier = seduce_success_1_modifier
					has_scheme_modifier = seduce_failure_1_modifier
					has_variable = declined_seduce_milestone_1_event
				}
				scheme_owner = {
					is_available = yes
				}
				scheme_target = {
					is_available = yes
				}
				player_target_available_for_personal_scheme_ongoing_events_trigger = {
					OWNER = scope:owner
					TARGET = scope:target
				}
			}
			scheme_owner = {
				trigger_event = { on_action = seduce_ongoing_milestone_1 }
			}
		}
		#Milestone 2 event
		else_if = {
			limit = {
				scheme_progress >= 7
				NOR = {
					has_scheme_modifier = seduce_success_2_modifier
					has_scheme_modifier = seduce_failure_2_modifier
					has_variable = declined_seduce_milestone_2_event
				}
				scheme_owner = {
					is_available = yes
				}
				scheme_target = {
					is_available = yes
				}
				player_target_available_for_personal_scheme_ongoing_events_trigger = {
					OWNER = scope:owner
					TARGET = scope:target
				}
			}
			scheme_owner = {
				trigger_event = { on_action = seduce_ongoing_milestone_2 }
			}
		}

	}
	success_desc = "SEDUCE_SUCCESS_DESC"
}
