﻿# Court Position re-assignment events
namespace = court_position_management_event

# Generic / landed character court position vacated event, offer the up to two best candidates by aptitude
court_position_management_event.0001 = {
	type = character_event
	title = court_position_management_event.0001.t
	theme = court

	desc = {
		desc = court_position_management_event.0001.desc
		triggered_desc = {
			trigger = {
				scope:employee = {
					is_alive = no
				}
			}
			desc = court_position_management_event.0001.desc.dead
		}
		triggered_desc = {
			trigger = {
				exists = scope:candidate_1
				NOT = { exists = scope:candidate_2 }
			}
			desc = court_position_management_event.0001.desc.one_candidate
		}
		triggered_desc = {
			trigger = {
				exists = scope:candidate_1
				exists = scope:candidate_2
			}
			desc = court_position_management_event.0001.desc.two_candidates
		}
		triggered_desc = {
			trigger = {
				NOT = { exists = scope:candidate_1 }
				NOT = { exists = scope:candidate_2 }
			}
			desc = court_position_management_event.0001.desc.no_candidates
		}
	}

	immediate = {
		if = {
			limit = {
				NOT = { exists = scope:candidate_1 }
				NOT = { exists = scope:candidate_2 }
			}
			save_scope_as = left_portrait_character
		}
		else = {
			scope:candidate_1 = {
				save_scope_as = left_portrait_character
			}
		}
	}

	left_portrait = {
		character = scope:left_portrait_character

		# If we have no candidates, we're just stand there, thinking
		triggered_animation = {
			trigger = { scope:left_portrait_character = root }
			animation = thinking
		}
	}

	right_portrait = scope:candidate_2
	lower_center_portrait = scope:employee

	# Pick candidate #1
	option = {
		name = court_position_management_event.0001.a
		custom_tooltip = court_position_management_event.0001.a.aptitude
		trigger = {
			exists = scope:candidate_1
			exists = scope:court_position_type
		}
		appoint_court_position = {
			recipient = scope:candidate_1
			court_position = scope:court_position_type
		}
	}

	# Pick candidate #2
	option = {
		name = court_position_management_event.0001.b
		custom_tooltip = court_position_management_event.0001.b.aptitude
		trigger = {
			exists = scope:candidate_2
		}
		appoint_court_position = {
			recipient = scope:candidate_2
			court_position = scope:court_position_type
		}
	}

	# Pick close family member
	option = {
		name = cpa.default_close_nepo_name.desc
		custom_tooltip = court_position_management_event.0001.c.aptitude
		trigger = {
			exists = scope:close_nepo_candidate
		}
		scope:close_nepo_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		}
	}
	# Pick close or extended family member
	option = {
		name = cpa.default_nepo_name.desc
		custom_tooltip = court_position_management_event.0001.d.aptitude
		trigger = {
			exists = scope:nepo_candidate
		}
		scope:nepo_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		}
	}
	# Pick Spouse family member
	option = {
		name = cpa.default_spouse_nepo_name.desc
		custom_tooltip = court_position_management_event.0001.e.aptitude
		trigger = {
			exists = scope:spouse_nepo_candidate
		}
		scope:spouse_nepo_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		}
		scope:spouse = {
			add_opinion = {
				target = root
				modifier = friendliness_opinion
				opinion = 20
			}
		}
	}
	# Pick Vassal family member
	option = {
		name = cpa.default_vassal_nepo_name.desc
		custom_tooltip = court_position_management_event.0001.f.aptitude		
		trigger = {
			exists = scope:vassal_nepo_candidate
		}
		scope:vassal_nepo_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		}
		scope:vassal = {
			add_opinion = {
				target = root
				modifier = friendliness_opinion
				opinion = 20
			}
		}
	}
	# Pick your friend
	option = {
		name = cpa.default_friend_name.desc
		custom_tooltip = court_position_management_event.0001.g.aptitude		
		trigger = {
			exists = scope:friend_candidate
		}
		scope:friend_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		}
	}
	# Pick your lover
	option = {
		name = cpa.default_lover_name.desc
		custom_tooltip = court_position_management_event.0001.h.aptitude
		trigger = {
			exists = scope:lover_candidate
		}
		scope:lover_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		}
	}
	# Pick a skilled wanderer
	option = {
		name = cpa.default_stranger_name.desc
		custom_tooltip = court_position_management_event.0001.i.aptitude		
		trigger = {
			exists = scope:stranger_candidate
		}
		scope:stranger_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		} 
	}
	# Pick a skilled prisoner
	option = {
		name = cpa.default_prisoner_name.desc
		custom_tooltip = court_position_management_event.0001.j.aptitude		
		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
		}
		scope:prisoner_candidate = {
			save_scope_as = candidate
			assign_to_position_effect = yes
		} 
	}

	# Go to a recruitment decision
	option = {
		name = court_position_management_event.0001.c
		custom_tooltip = court_position_management_event.0001.c.tt

		# Court positions that are valid in 'recruit_court_position_decision'
		trigger = {
			NOT = { exists = scope:candidate_1 }
			NOT = { exists = scope:candidate_2 }
			OR = {
				scope:court_position_type = court_position_type:travel_leader_court_position
				scope:court_position_type = court_position_type:court_physician_court_position
				scope:court_position_type = court_position_type:wet_nurse_court_position
				scope:court_position_type = court_position_type:charioteer_court_position
				scope:court_position_type = court_position_type:chief_eunuch_court_position
				scope:court_position_type = court_position_type:court_gardener_court_position
			}
		}

		open_view_data = {
			view = decision_detail
			data = decision:recruit_court_position_decision
			player = root
		}
	}

	# I will figure this out myself
	option = {
		name = court_position_management_event.0001.d
		custom_tooltip = court_position_management_event.0001.d.tt

		trigger = {
        	exists = scope:candidate_1
		}

		open_view_data = {
			view = appoint_position
			data = scope:court_position_type
			player = root
		}
	}

	# Leave it open
	option = {
		name = court_position_management_event.0001.e
	}
}


# Landless adventurer court position vacated event, offer the up to two best candidates by aptitude
court_position_management_event.0002 = {
	type = character_event
	title = court_position_management_event.0002.t
	theme = landless_adventurer

	desc = {
		desc = court_position_management_event.0002.desc
		triggered_desc = {
			trigger = {
				scope:employee = {
					is_alive = no
				}
			}
			desc = court_position_management_event.0002.desc.dead
		}
		triggered_desc = {
			trigger = {
				exists = scope:candidate_1
				NOT = { exists = scope:candidate_2 }
			}
			desc = court_position_management_event.0002.desc.one_candidate
		}
		triggered_desc = {
			trigger = {
				exists = scope:candidate_1
				exists = scope:candidate_2
			}
			desc = court_position_management_event.0002.desc.two_candidates
		}
		triggered_desc = {
			trigger = {
				NOT = { exists = scope:candidate_1 }
				NOT = { exists = scope:candidate_2 }
			}
			desc = court_position_management_event.0002.desc.no_candidates
		}
	}

	immediate = {
		if = {
			limit = {
				NOT = { exists = scope:candidate_1 }
				NOT = { exists = scope:candidate_2 }
			}
			save_scope_as = left_portrait_character
		}
		else = {
			scope:candidate_1 = {
				save_scope_as = left_portrait_character
			}
		}
	}

	left_portrait = {
		character = scope:left_portrait_character

		# If we have no candidates, we're just stand there, thinking
		triggered_animation = {
			trigger = { scope:left_portrait_character = root }
			animation = thinking
		}
	}

	right_portrait = scope:candidate_2
	lower_center_portrait = scope:employee

	# Pick candidate #1
	option = {
		name = court_position_management_event.0002.a
		custom_tooltip = court_position_management_event.0002.a.aptitude
		trigger = {
			exists = scope:candidate_1
			exists = scope:court_position_type
		}
		appoint_court_position = {
			recipient = scope:candidate_1
			court_position = scope:court_position_type
		}
	}

	# Pick candidate #2
	option = {
		name = court_position_management_event.0002.b
		custom_tooltip = court_position_management_event.0002.b.aptitude
		trigger = {
			exists = scope:candidate_2
		}
		appoint_court_position = {
			recipient = scope:candidate_2
			court_position = scope:court_position_type
		}
	}

	# I will figure this out myself
	option = {
		name = court_position_management_event.0002.d
		custom_tooltip = court_position_management_event.0002.d.tt

		trigger = {
        	exists = scope:candidate_1
		}

		open_view_data = {
			view = appoint_position
			data = scope:court_position_type
			player = root
		}
	}

	# Leave it open
	option = {
		name = court_position_management_event.0002.e
	}
}
