﻿courtier_management = {
	# Does the character want to leave the court? Checked once a year for each ruler.
	# root, scope:courtier = the courtier
	# scope:liege = their liege
	can_leave = {
		any_traveling_family_member = {
			count = all
			courtier_allowed_to_leave_trigger = yes
		}
	}

	# Chance that the courtier decides to leave in ‰ (= 10 x the likelihood in %). While can_leave is true this is evaluated every month.
	# We strive to keep this value around 20 = 2% (min 10 max 30). This equals a ~50% chance of having left within 3 years
	# root, scope:courtier = the courtier
	# scope:liege = their liege
	# base = 1 unless overridden
	monthly_leave_chance_x10 = {
		base = 20

		###AI VALUES###
		#Max: 9
		#Min: -9
		ai_value_modifier = {
			ai_energy = {
				value = high_positive_ai_value_inverse
				multiply = 3
			}
			ai_boldness = {
				value = high_positive_ai_value_inverse
				multiply = 3
			}
			ai_greed = {
				value = high_positive_ai_value_inverse
				multiply = 3
			}
		}

		###CLAIMANTS###
		#Min: -10
		modifier = {
			any_claim = { useful_courtier_or_guest_claim_trigger = { RULER = scope:liege } }
			add = -10
		}

		###RELATION TO LIEGE###
		#Max: 10
		#Min: -12
		opinion_modifier = {
			opinion_target = scope:liege
			multiplier = -0.1
			min = -10
			max = 20
		}
		modifier = {
			has_relation_friend = scope:liege
			add = -5
		}
		modifier = {
			has_relation_lover = scope:liege
			add = -10
		}
		modifier = {
			is_close_family_of = scope:liege
			add = -10
		}
		modifier = {
			has_relation_rival = scope:liege
			add = 10
		}
		modifier = {
			any_child = {
				any_parent = {
					this = scope:liege
				}
			}
			add = -10
		}

		###RELATION TO OTHER COURTIERS###
		#Max: 5
		modifier = {
			any_relation = { type = lover is_courtier_of = scope:liege }
			add = -5
		}
		modifier = {
			any_relation = { type = friend is_courtier_of = scope:liege }
			add = -5
		}
		modifier = {
			any_close_family_member = {
				NOT = { this = scope:liege } #There is already a family bonus for liege
				is_courtier_of = scope:liege
				reverse_opinion = {
					target = scope:courtier
					value >= high_positive_opinion
				}
			}
			add = -5
		}

		###BASTARDS###
		modifier = {
			has_trait = bastard
			add = 3
		}

		###HEALTH###
		#Min: -13
		modifier = {
			has_trait = pregnant
			add = -10
		}
		modifier = {
			health <= poor_health
			add = -5
		}

		###FAMILY HANDLING###
		modifier = {
			exists = primary_spouse
			primary_spouse = { is_courtier_of = scope:liege }
			add = -5 #Reduced because spouse might also do leaving calculations
		}

		###CULTURAL TRADITIONS###
		modifier = {
			culture = {
				has_cultural_parameter = more_likely_to_leave_court
			}
			add = 5
		}
		modifier = {
			culture = {
				has_cultural_parameter = courtiers_less_likely_to_leave_same_culture_court
			}
			this.culture = scope:liege.culture
			add = -5
		}

		#stressed family duty
		modifier = {
			liege = {
				has_character_modifier = united_family_modifier
			}
			is_close_family_of = liege
			add = -10 ###CHANGED from -5
		}
		modifier = {
			is_extended_family_of = scope:liege
			add = -5
		}
		modifier = {
			exists = house
			house = scope:liege.house
			NOT = { is_close_or_extended_family_of = scope:liege }
			add = -5
		}
		modifier = {
			exists = dynasty
			dynasty = scope:liege.dynasty
			NOT = { is_close_or_extended_family_of = scope:liege }
			add = -5
		}
		modifier = {
			has_trait = disloyal
			add = 5
		}
		modifier = {
			has_trait = disinherited
			add = 5
		}
		modifier = {
			has_trait = denounced
			add = 5
		}
		modifier = {
			has_trait = adventurer
			add = 5
		}
		modifier = {
			has_trait = loyal
			add = -5
		}
		modifier = {
			has_trait = infirm
			add = -5
		}
		modifier = {
			has_trait = reclusive
			add = -5
		}
		modifier = {
			scope:liege = { is_ai = no }
			add = -5
		}
		modifier = {
			is_lowborn = no
			add = -5
		}


		min = {
			value = 0
		}
		max = {
			value = {
				value = 30
				if = {
					limit = { is_adult = no }
					multiply = 0 #Children shouldn't try to leave on their own
				}
			}
		}
	}
}
