﻿#FEAST ACTIVITY DEFAULT MAIN EVENT

namespace = feast_default

#####################
# Two ai lovers are exposed
# by Linnéa Thimrén
#####################

scripted_trigger feast_default_2007_override_lover_basic_trigger = {
	NOR = {
		is_consort_of = root
		has_trait = chaste
		has_trait = celibate
		has_sexuality = asexual
		has_trait = infirm
		is_malformed_trigger = yes
		has_any_debilitating_illness = yes
		is_involved_in_any_romantic_scheme = yes
	}
	OR = {
		age <= 45
		is_deviant_trigger = yes
		has_focus = intrigue_temptation_focus
		rite = { rite_has_tenet = tenet_carnal_exaltation }
	}
	trigger_if = {
		limit = {
			OR = {
				is_clergy = yes
				has_trait = devoted
			}
		}
		OR = {
			rite = { rite_has_tenet = tenet_carnal_exaltation }
			rite = { rite_has_doctrine = doctrine_clerical_marriage_allowed }
			is_deviant_trigger = yes
			has_trait = lustful
			ai_zeal <= medium_negative_ai_value
		}
	}
	ai_boldness >= medium_negative_ai_value
	basic_is_available_ai = yes
	might_cheat_on_every_partner_trigger = yes
}


feast_default.2007 = {
	type = activity_event
	title = feast_default.2007.t
	desc = feast_default.2007.desc
	id_override_priority = 100
	theme = seduction
	center_portrait = {
		character = scope:lover_guest_1
		animation = fear
		camera = camera_event_very_right
	}
	right_portrait = {
		character = scope:lover_guest_2
		animation = shock
		camera = camera_event_center
	}
	override_background = {
		reference = bedchamber
	}
	cooldown = { years = 2 }

	trigger = {
		is_ai = no # Player only, otherwise they'll just be sending secret discovery notifications out of nowhere
		NOT = { exists = scope:activity.var:had_2007 }
		scope:activity = {
			any_attending_character = {
				NOT = { is_consort_of = root }
				feast_default_participant_trigger = yes
				save_temporary_scope_as = lover_check
				scope:activity = {
					any_attending_character = {
						NOR = {
							this = scope:lover_check
							is_consort_of = scope:lover_check
							is_consort_of = root
						}
						feast_default_participant_trigger = yes
						OR = { #Can they become lovers, or are they lovers already?
							AND = {
								feast_default_2007_override_lover_basic_trigger = yes
								can_set_relation_lover_trigger = { CHARACTER = scope:lover_check }
								NOT = { any_close_family_member = { this = scope:lover_check } } #No incest if it's not already set as a secret!
								num_of_relation_lover < 1
								willing_to_take_character_as_lover = { LOVER = scope:lover_check }
								trigger_if = {
									limit = { scope:lover_check = { ai_boldness < 20 } }
									NOR = {
										primary_spouse ?= { is_liege_or_above_of = scope:lover_check }
										any_parent = { is_liege_or_above_of = scope:lover_check }
									}
								}
								trigger_if = {
									limit = { scope:lover_check = { ai_honor > 0 } }
									is_married = no
								}
								trigger_if = {
									limit = {
										scope:lover_check = {
											is_female = yes
											age < 25
										}
									}
									age <= scope:lover_check.age_plus_25
									age >= scope:lover_check.age_minus_10
								}
								trigger_else_if = {
									limit = {
										scope:lover_check = {
											is_female = yes
											age >= 25
										}
									}
									age <= scope:lover_check.age_plus_10
									age >= scope:lover_check.age_minus_10
								}
								trigger_else = {
									age <= scope:lover_check.age
									age >= scope:lover_check.age_minus_25
								}
								scope:lover_check = {
									feast_default_2007_override_lover_basic_trigger = yes
									num_of_relation_lover < 1
								}
							}
							any_secret = {
								type = secret_lover
								secret_target = scope:lover_check
							}
						}
					}
				}
			}
		}
	}

	weight_multiplier = {
		base = 0.5
		modifier = {
			add = 0.75
			scope:activity = {
				any_attending_character = {
					NOT = { is_consort_of = root }
					feast_default_participant_trigger = yes
					any_secret = {
						type = secret_lover
						secret_target = {
							NOT = { is_consort_of = root }
							feast_default_participant_trigger = yes
							save_temporary_scope_as = lover_check
							scope:activity = { any_attending_character = { this = scope:lover_check } }
						}
					}
				}
			}
		}
	}

	immediate = {
		scope:activity = {
			set_variable = {
				name = had_2007
				value = yes
			}
			random_attending_character = {
				limit = {
					NOT = { is_consort_of = root }
					feast_default_participant_trigger = yes
					save_temporary_scope_as = lover_check
					scope:activity = {
						any_attending_character = {
							NOR = {
								this = scope:lover_check
								is_consort_of = scope:lover_check
								is_consort_of = root
							}
							feast_default_participant_trigger = yes
							OR = { #Can they become lovers, or are they lovers already?
								AND = {
									feast_default_2007_override_lover_basic_trigger = yes
									can_set_relation_lover_trigger = { CHARACTER = scope:lover_check }
									NOT = { any_close_family_member = { this = scope:lover_check } } #No incest if it's not already set as a secret!
									num_of_relation_lover < 1
									willing_to_take_character_as_lover = { LOVER = scope:lover_check }
									trigger_if = {
										limit = { scope:lover_check = { ai_boldness < 20 } }
										NOR = {
											primary_spouse ?= { is_liege_or_above_of = scope:lover_check }
											any_parent = { is_liege_or_above_of = scope:lover_check }
										}
									}
									trigger_if = {
										limit = { scope:lover_check = { ai_honor > 0 } }
										is_married = no
									}
									trigger_if = {
										limit = {
											scope:lover_check = {
												is_female = yes
												age < 25
											}
										}
										age <= scope:lover_check.age_plus_25
										age >= scope:lover_check.age_minus_10
									}
									trigger_else_if = {
										limit = {
											scope:lover_check = {
												is_female = yes
												age >= 25
											}
										}
										age <= scope:lover_check.age_plus_10
										age >= scope:lover_check.age_minus_10
									}
									trigger_else = {
										age <= scope:lover_check.age
										age >= scope:lover_check.age_minus_25
									}
									scope:lover_check = {
										feast_default_2007_override_lover_basic_trigger = yes
										num_of_relation_lover < 1
									}
								}
								any_secret = {
									type = secret_lover
									secret_target = scope:lover_check
								}
							}
						}
					}
				}
				weight = {
					base = 1
					modifier = {
						add = -1
						is_unattractive_trigger = yes
					}
					modifier = {
						add = 1
						is_attractive_trigger = yes
					}
					modifier = {
						add = 2
						likely_to_take_lover_trigger = yes
					}
					modifier = {
						add = 10
						num_of_relation_lover > 0
					}
				}
				save_scope_as = lover_guest_1
			}
			random_attending_character = {
				limit = {
					NOR = {
						this = scope:lover_guest_1
						is_consort_of = scope:lover_guest_1
						is_consort_of = root
					}
					feast_default_participant_trigger = yes
					any_secret = {
						type = secret_lover
						secret_target = scope:lover_guest_1
					}
				}
				alternative_limit = {
					NOR = {
						this = scope:lover_guest_1
						is_consort_of = scope:lover_guest_1
						is_consort_of = root
					}
					feast_default_participant_trigger = yes
					feast_default_2007_override_lover_basic_trigger = yes
					can_set_relation_lover_trigger = { CHARACTER = scope:lover_guest_1 }
					NOT = { any_close_family_member = { this = scope:lover_guest_1 } } #No incest if it's not already set as a secret!
					num_of_relation_lover < 1
					willing_to_take_character_as_lover = { LOVER = scope:lover_guest_1 }
					trigger_if = {
						limit = { scope:lover_guest_1 = { ai_boldness < 20 } }
						NOR = {
							primary_spouse ?= { is_liege_or_above_of = scope:lover_guest_1 }
							any_parent = { is_liege_or_above_of = scope:lover_guest_1 }
						}
					}
					trigger_if = {
						limit = { scope:lover_guest_1 = { ai_honor > 0 } }
						is_married = no
					}
					trigger_if = {
						limit = {
							scope:lover_guest_1 = {
								is_female = yes
								age < 25
							}
						}
						age <= scope:lover_guest_1.age_plus_25
						age >= scope:lover_guest_1.age_minus_10
					}
					trigger_else_if = {
						limit = {
							scope:lover_guest_1 = {
								is_female = yes
								age >= 25
							}
						}
						age <= scope:lover_guest_1.age_plus_10
						age >= scope:lover_guest_1.age_minus_10
					}
					trigger_else = {
						age <= scope:lover_guest_1.age
						age >= scope:lover_guest_1.age_minus_25
					}
					scope:lover_guest_1 = {
						feast_default_2007_override_lover_basic_trigger = yes
						num_of_relation_lover < 1
					}
				}
				weight = {
					base = 1
					modifier = {
						add = -1
						is_unattractive_trigger = yes
					}
					modifier = {
						add = 1
						is_attractive_trigger = yes
					}
					modifier = {
						add = 2
						likely_to_take_lover_trigger = yes
					}
					modifier = {
						add = 2
						OR = {
							has_relation_potential_lover = scope:lover_guest_1
							has_relation_crush = scope:lover_guest_1
						}
					}
				}
				save_scope_as = lover_guest_2

				#Set their secret and expose it
				hidden_effect = {
					if = {
						limit = {
							can_set_relation_lover_trigger = { CHARACTER = scope:lover_guest_1 }
						}
						set_relation_lover = { reason = lover_feast_tumble target = scope:lover_guest_1 involved_character = root province = scope:activity.activity_location }
					}
				}
				random_secret = {
					type = secret_lover
					limit = {
						secret_target = scope:lover_guest_1
					}
					save_scope_as = lover_secret

					expose_secret = root
				}
			}
		}
		scope:lover_guest_1 = {
			add_character_flag = {
				flag = is_naked
				days = 30
			}
		}
		scope:lover_guest_2 = {
			add_character_flag = {
				flag = is_naked
				days = 30
			}
		}
	}

	option = {
		name = feast_default.2007.a_chaste
		trigger = {
			has_trait = chaste
		}
		trait = chaste
		stress_and_fulfillment_impact = {
			chaste = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
		}
	}

	option = {
		name = feast_default.2007.a_lustful
		trigger = {
			has_trait = lustful
		}
		trait = lustful
		stress_and_fulfillment_impact = {
			lustful = minor_stress_impact_loss
		}
		ai_chance = {
			base = 100
		}
	}

	option = {
		name = feast_default.2007.a_sadistic
		trigger = {
			has_trait = sadistic
		}
		trait = sadistic
		stress_and_fulfillment_impact = {
			sadistic = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
		}
	}

	option = {
		name = feast_default.2007.a_compassionate
		trigger = {
			has_trait = compassionate
		}
		trait = compassionate
		stress_and_fulfillment_impact = {
			compassionate = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
		}
	}

	option = {
		name = feast_default.2007.b
		trigger = { always = no }
		fallback = yes
	}
	
	after = {
		scope:lover_guest_1 = {
			remove_character_flag = is_naked
		}
		scope:lover_guest_2 = {
			remove_character_flag = is_naked
		}
	}
}

