# Overrides vanilla `secret_lover` (see `game/common/secret_types/00_secret_types.txt`).
# Player-only behavior: when the game assigns the *other lover* as `secret_exposer`, vanilla still
# runs full exposure fallout (events, opinions, adultery, etc.), which reads as "my lover ratted us out".
# If either lover is the player and the exposer is one of the two participants, skip that fallout.
# AI-vs-AI affairs keep vanilla `on_expose` unchanged (both participants AI => else branch).

secret_lover = {
	category = adultery

	is_valid = {
		secret_lover_is_valid_trigger = {
			OWNER = scope:secret_owner
			TARGET = scope:secret_target
		}
	}

	is_shunned = {
		secret_lover_is_shunned_trigger = {
			OWNER = scope:secret_owner
			TARGET = scope:secret_target
		}
	}

	is_criminal = {
		secret_lover_is_criminal_trigger = {
			OWNER = scope:secret_owner
			TARGET = scope:secret_target
		}
	}

	on_discover = {
		save_scope_as = secret

		scope:secret_owner = {
			extramarital_sex_discovery_consequences_with_target_effect = {
				TARGET = scope:secret_target
				DISCOVERER = scope:discoverer
			}
		}

		mother_of_young_child_has_lover_variable_effect = {
			SPOUSE = scope:discoverer
			LOVER_1 = scope:secret_owner
			LOVER_2 = scope:secret_target
		}

		start_infidelity_confrontation_story_discovery_effect = {
			LOVER_1 = scope:secret_owner
			LOVER_2 = scope:secret_target
			DISCOVERER = scope:discoverer
		}
	}

	on_expose = {
		save_scope_as = secret

		if = {
			limit = {
				OR = {
					scope:secret_owner = { is_ai = no }
					scope:secret_target = { is_ai = no }
				}
				OR = {
					scope:secret_exposer = scope:secret_owner
					scope:secret_exposer = scope:secret_target
				}
			}
		}
		else = {
			scope:secret_owner = {
				save_scope_as = target
			}
			scope:secret_target = {
				save_scope_as = owner
				if = {
					limit = { this != scope:secret_exposer }
					trigger_event = secrets.0008
				}
				else = {
					secret_exposed_owner_effects_effect = { SECRET = scope:secret POV = scope:owner }
					secret_exposed_owner_opinion_effects_effect = yes
				}
			}

			scope:secret_target = {
				save_scope_as = target
			}
			scope:secret_owner = {
				save_scope_as = owner
				if = {
					limit = { this != scope:secret_exposer }
					trigger_event = secrets.0008
				}
				else = {
					secret_exposed_owner_effects_effect = { SECRET = scope:secret POV = scope:owner }
					secret_exposed_owner_opinion_effects_effect = yes
				}
			}

			scope:secret_owner = {
				every_spouse = {
					add_to_temporary_list = child_suspicion_list
				}
			}
			scope:target = {
				every_spouse = {
					add_to_temporary_list = child_suspicion_list
				}
			}
			every_in_list = {
				list = child_suspicion_list
				save_temporary_scope_as = spouse_discoverer
				mother_of_young_child_has_lover_variable_effect = {
					SPOUSE = scope:spouse_discoverer
					LOVER_1 = scope:secret_owner
					LOVER_2 = scope:secret_target
				}
			}

			start_infidelity_confrontation_story_exposure_effect = {
				LOVER_1 = scope:secret_owner
				LOVER_2 = scope:secret_target
				EXPOSER = scope:secret_exposer
			}

			secret_exposed_notification_effect = yes
		}
	}
}
