﻿namespace = cpa_knights
cpa_knights.1 = {
	title = cpa.28.t
	desc = cpa.default_event.desc
	theme = stewardship
	right_portrait = {
		character = root
		animation = personality_rational
	}
	immediate = {
		every_close_family_member = {
			if = {
				limit = {
					is_unemployed_able_adult = yes
					is_ruler = no
					cpa_is_not_a_candidate = yes
					can_be_combatant_based_on_gender_trigger = {
						ARMY_OWNER = root
					}
					prowess >= 12
					NOT = {
						is_courtier_of = root
					}
				}
				add_to_list = close_nepo_candidates
			}
		}
		ordered_in_list = {
			list = close_nepo_candidates
			order_by = knight_aptitude
			save_scope_as = close_nepo_candidate
		}
		every_close_or_extended_family_member = {
			if = {
				limit = {
					is_unemployed_able_adult = yes
					is_ruler = no
					cpa_is_not_a_candidate = yes
					can_be_combatant_based_on_gender_trigger = {
						ARMY_OWNER = root
					}
					is_knight = no
					prowess >= 12
					NOT = {
						is_courtier_of = root
					}
				}
				add_to_list = nepo_candidates
			}
		}
		ordered_in_list = {
			list = nepo_candidates
			order_by = knight_aptitude
			save_scope_as = nepo_candidate
		}
		if = {
			limit = {
				exists = root.primary_spouse
			}
			root.primary_spouse = {
				save_scope_as = spouse
			}
			scope:spouse = {
				every_close_or_extended_family_member = {
					if = {
						limit = {
							is_unemployed_able_adult = yes
							is_ruler = no
							cpa_is_not_a_candidate = yes
							can_be_combatant_based_on_gender_trigger = {
								ARMY_OWNER = root
							}
							is_knight = no
							NOT = {
								is_courtier_of = root
							}
							prowess >= 12
							NOT = {
								is_close_or_extended_family_of = root
							}
						}
						add_to_list = spouse_nepo_candidates
					}
				}
			}
			ordered_in_list = {
				list = spouse_nepo_candidates
				order_by = knight_aptitude
				save_scope_as = spouse_nepo_candidate
			}
		}
		ordered_vassal = {
			order_by = max_military_strength
			limit = {
				opinion = {
					target = root
					value < 80
				}
				is_in_civil_war = no
				OR = {
					is_a_faction_leader = yes
					is_a_faction_member = yes
				}
			}
			save_scope_as = vassal
		}
		if = {
			limit = {
				NOT = {
					exists = scope:vassal
				}
			}
			ordered_vassal = {
				order_by = max_military_strength
				limit = {
					opinion = {
						target = root
						value < 80
					}
					is_in_civil_war = no
				}
				save_scope_as = vassal
			}
		}
		if = {
			limit = {
				exists = scope:vassal
			}
			scope:vassal = {
				every_close_or_extended_family_member = {
					if = {
						limit = {
							is_unemployed_able_adult = yes
							is_ruler = no
							cpa_is_not_a_candidate = yes
							can_be_combatant_based_on_gender_trigger = {
								ARMY_OWNER = root
							}
							is_knight = no
							prowess >= 12
							NOT = {
								is_courtier_of = root
							}
						}
						add_to_list = vassal_nepo_candidates
					}
				}
			}
			ordered_in_list = {
				list = vassal_nepo_candidates
				order_by = knight_aptitude
				save_scope_as = vassal_nepo_candidate
			}
		}
		every_relation = {
			type = friend
			limit = {
				is_unemployed_able_adult = yes
				is_ruler = no
				cpa_is_not_a_candidate = yes
				can_be_combatant_based_on_gender_trigger = {
					ARMY_OWNER = root
				}
				prowess >= 12
				NOT = {
					is_courtier_of = root
				}
			}
			add_to_list = friend_candidates
		}
		ordered_in_list = {
			list = friend_candidates
			order_by = knight_aptitude
			save_scope_as = friend_candidate
		}
		every_relation = {
			type = lover
			limit = {
				is_unemployed_able_adult = yes
				is_ruler = no
				cpa_is_not_a_candidate = yes
				can_be_combatant_based_on_gender_trigger = {
					ARMY_OWNER = root
				}
				prowess >= 12
				NOT = {
					is_courtier_of = root
				}
			}
			add_to_list = lover_candidates
		}
		ordered_in_list = {
			list = lover_candidates
			order_by = knight_aptitude
			save_scope_as = lover_candidate
		}
		every_realm_province = {
			if = {
				limit = {
					save_temporary_scope_as = potential_province
					NOT = {
						any_in_list = {
							list = pool_provinces
							county.duchy = scope:potential_province.county.duchy
						}
					}
				}
				add_to_temporary_list = pool_provinces
			}
		}
		every_in_list = {
			list = pool_provinces
			save_temporary_scope_as = pool_province
			every_pool_character = {
				province = scope:pool_province
				limit = {
					is_unemployed_able_adult = yes
					is_ruler = no
					cpa_is_not_a_candidate = yes
					can_be_combatant_based_on_gender_trigger = {
						ARMY_OWNER = root
					}
					is_knight = no
					prowess >= 12
				}
				add_to_temporary_list = stranger_candidates
			}
		}
		ordered_in_list = {
			list = stranger_candidates
			order_by = knight_aptitude
			save_scope_as = stranger_candidate
		}
		every_prisoner = {
			limit = {
				is_ruler = no
				is_adult = yes
				is_incapable = no
				is_alive = yes
				cpa_is_not_a_candidate = yes
				can_be_combatant_based_on_gender_trigger = {
					ARMY_OWNER = root
				}
				NOT = {
					is_courtier_of = root
				}
				prowess >= 12
			}
			add_to_list = prisoner_candidates
		}
		ordered_in_list = {
			list = prisoner_candidates
			order_by = knight_aptitude
			save_scope_as = prisoner_candidate
		}
		if = {
			limit = {
				NOR = {
					exists = scope:close_nepo_candidate
					exists = scope:nepo_candidate
					exists = scope:spouse_nepo_candidate
					exists = scope:vassal_nepo_candidate
					exists = scope:friend_candidate
					exists = scope:lover_candidate
					exists = scope:stranger_candidate
					exists = scope:prisoner_candidate
				}
			}
			create_character = {
				location = root.capital_province
				template = pool_repopulate_prowess
				prowess = { min_prowess_cpa invite_knights_decision_upper_value }
				save_scope_as = fallback_candidate
			}
		}
	}
	#Close family member
	option = {
		name = cpa.knight_close_nepo_name.desc
		trigger = {
			exists = scope:close_nepo_candidate
		}
		scope:close_nepo_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
	}
	#Close or extended family
	option = {
		name = cpa.knight_nepo_name.desc
		trigger = {
			exists = scope:nepo_candidate
		}
		scope:nepo_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
	}
	#Spouse family member
	option = {
		name = cpa.knight_spouse_nepo_name.desc
		trigger = {
			exists = scope:spouse_nepo_candidate
		}
		scope:spouse_nepo_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
		scope:spouse = {
			add_opinion = {
				target = root
				modifier = friendliness_opinion
				opinion = 5
			}
		}
	}
	#Vassal family member
	option = {
		name = cpa.knight_vassal_nepo_name.desc
		trigger = {
			exists = scope:vassal_nepo_candidate
		}
		scope:vassal_nepo_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
		scope:vassal = {
			add_opinion = {
				target = root
				modifier = friendliness_opinion
				opinion = 5
			}
		}
	}
	#Hire friend
	option = {
		name = cpa.knight_friend_name.desc
		trigger = {
			exists = scope:friend_candidate
		}
		scope:friend_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
	}
	#Hire lover
	option = {
		name = cpa.knight_lover_name.desc
		trigger = {
			exists = scope:lover_candidate
		}
		scope:lover_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
	}
	#Hire a skilled stranger
	option = {
		name = cpa.default_stranger_name.desc
		trigger = {
			exists = scope:stranger_candidate
		}
		scope:stranger_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
	}
	#Hire a skilled prisoner
	option = {
		name = cpa.default_prisoner_name.desc		
		trigger = {
			exists = scope:prisoner_candidate
		}
		scope:prisoner_candidate = {
			if = {
				limit = {
					root = {
						culture = {
							has_cultural_parameter = can_recruit_prisoners_easily
						}
					}
				}
				add_opinion = {
					modifier = loyal_servant
					target = root
				}
				root = {
					if = {
						limit = {
							can_add_hook = {
								target = scope:prisoner_candidate
								type = loyalty_hook
							}
						}
						add_hook = {
							type = loyalty_hook
							target = scope:prisoner_candidate
						}
					}
				}
			}
			else = {
				add_opinion = {
					modifier = demanded_recruitment
					target = root
				}
			}
			root = {
				add_courtier = scope:prisoner_candidate
			}
			release_from_prison = yes
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
		}
	}
	#Create and hire a fallback character
	option = {
		name = cpa.default_stranger_name.desc
		trigger = {
			exists = scope:fallback_candidate
		}
		scope:fallback_candidate = {
			save_scope_as = candidate
			custom_tooltip = court_position_management_event.0001.k.aptitude
			cpa_assign_knight = yes
		}
	}

	#Bulk hire
	option = {
		name = cpa.knight_bulk_name.desc
		trigger = {
			NOT = {
				exists = scope:fallback_candidate
			}
		}
		every_close_or_extended_family_member = {
			if = {
				limit = {
					is_unemployed_able_adult = yes
					is_ruler = no
					can_be_combatant_based_on_gender_trigger = {
						ARMY_OWNER = root
					}
					is_knight = no
					prowess >= 12
					NOT = {
						is_courtier_of = root
					}
					NOT = { is_in_list = bulk_candidates }
				}
				add_to_list = bulk_candidates
			}
		}
		if = {
			limit = {
				exists = scope:spouse
			}
			scope:spouse = {
				every_close_or_extended_family_member = {
					if = {
						limit = {
							is_unemployed_able_adult = yes
							is_ruler = no
							can_be_combatant_based_on_gender_trigger = {
								ARMY_OWNER = root
							}
							is_knight = no
							prowess >= 12
							NOT = {
								is_close_or_extended_family_of = root
							}
							NOT = { is_in_list = bulk_candidates }
							NOT = {
								is_courtier_of = root
							}
						}
						add_to_list = bulk_candidates
					}
				}
			}
		}
		if = {
			limit = {
				exists = scope:vassal
			}
			scope:vassal = {
				every_close_or_extended_family_member = {
					if = {
						limit = {
							is_unemployed_able_adult = yes
							is_ruler = no
							can_be_combatant_based_on_gender_trigger = {
								ARMY_OWNER = root
							}
							is_knight = no
							prowess >= 12
							NOT = { is_in_list = bulk_candidates }
							NOT = {
								is_courtier_of = root
							}
						}
						add_to_list = bulk_candidates
					}
				}
			}
		}
		every_relation = {
			type = friend
			limit = {
				is_unemployed_able_adult = yes
				is_ruler = no
				can_be_combatant_based_on_gender_trigger = {
					ARMY_OWNER = root
				}
				prowess >= 12
				NOT = {
					is_courtier_of = root
				}
				NOT = { is_in_list = bulk_candidates }
			}
			add_to_list = bulk_candidates
		}
		every_relation = {
			type = lover
			limit = {
				is_unemployed_able_adult = yes
				is_ruler = no
				can_be_combatant_based_on_gender_trigger = {
					ARMY_OWNER = root
				}
				prowess >= 12
				NOT = {
					is_courtier_of = root
				}
				NOT = { is_in_list = bulk_candidates }
			}
			add_to_list = bulk_candidates
		}
		every_realm_province = {
			if = {
				limit = {
					save_temporary_scope_as = potential_province
					NOT = {
						any_in_list = {
							list = pool_provinces
							county.duchy = scope:potential_province.county.duchy
						}
					}
				}
				add_to_temporary_list = pool_provinces
			}
		}
		every_in_list = {
			list = pool_provinces
			save_temporary_scope_as = pool_province
			every_pool_character = {
				province = scope:pool_province
				limit = {
					is_unemployed_able_adult = yes
					is_ruler = no
					can_be_combatant_based_on_gender_trigger = {
						ARMY_OWNER = root
					}
					is_knight = no
					prowess >= 12
					NOT = { is_in_list = bulk_candidates }
				}
				add_to_list = bulk_candidates
			}
		}
		every_in_list = {
			list = prisoner_candidates
			if = {
				limit = {
					root = {
						culture = {
							has_cultural_parameter = can_recruit_prisoners_easily
						}
					}
				}
				add_opinion = {
					modifier = loyal_servant
					target = root
				}
				root = {
					if = {
						limit = {
							can_add_hook = {
								target = this
								type = loyalty_hook
							}
						}
						add_hook = {
							type = loyalty_hook
							target = this
						}
					}
				}
			}
			else = {
				add_opinion = {
					modifier = demanded_recruitment
					target = root
				}
			}
			root = {
				add_courtier = this
			}
			release_from_prison = yes
		}

		every_in_list = {
			list = bulk_candidates
			save_scope_as = candidate
			cpa_assign_knight = yes
		}
	}

	#Don't hire anyone
	option = {
		name = cpa.default_not_hire_name.desc		
		flavor = {
			desc = cpa.not_hire_flavor
		}
		hidden_effect = {
			set_global_variable = {
				name = knight_auto_disabled
				value = yes
			}
		}
	}
}
