###########################################
#                                         #
# ZE Ambition Events                      #
# ID ZE.6000-ZE.6999                      #
#                                         #
###########################################

#Written by Markus Olsen

namespace = ZE

# Liege recieves vassals request for council position
character_event = {
	id = ZE.6001
	desc = EVTDESC_ZE_6001
	picture = GFX_evt_courtiers_talking
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes # request_council_position, ze_ambition_decisions.txt

	trigger = {
		FROM = {
			OR = {
				has_ambition = obj_become_chancellor
				has_ambition = obj_become_marshal
				has_ambition = obj_become_treasurer
				has_ambition = obj_become_spymaster
				has_ambition = obj_become_spiritual
			}
		}
	}

	immediate = {
		save_event_target_as = target_liege
		FROM = { save_event_target_as = aspiring_councillor }
	}

	option = {
		name = EVTOPTA_ZE_6001 # I'll see what I can do

		event_target:aspiring_councillor = {
			show_scope_change = no

			set_character_flag = council_membership_requested

			character_event = {
				id = ZE.6004
				days = 1
				tooltip = EVTTOOLTIPZE_6004
			}
		}

		ai_chance = {
			factor = 30

			trigger = {
				NOT = { is_rival = event_target:aspiring_councillor }
			}

			mult_modifier = {
				factor = 3

				OR = {
					opinion = {
						who = event_target:aspiring_councillor
						value >= 75
					}

					is_friend = event_target:aspiring_councillor
				}
			}
		}
	}

	option = {
		name = EVTOPTB_ZE_6001 # We don't need you

		event_target:aspiring_councillor = {
			show_scope_change = no

			set_character_flag = council_membership_denied

			opinion = {
				name = opinion_very_disappointed
				who = ROOT
				years = 5
			}

			character_event = {
				id = ZE.6005
				days = 1
				tooltip = EVTTOOLTIPZE_6005
			}
		}

		ai_chance = {
			factor = 30

			trigger = {
				diplomacy < 15
				NOT = { is_friend = event_target:aspiring_councillor }

				opinion = {
					who = event_target:aspiring_councillor
					value < 75
				}
			}

			mult_modifier = {
				factor = 3
				is_rival = event_target:aspiring_councillor
			}
		}
	}

	option = {
		name = EVTOPTC_ZE_6001 # I would not bother you with such petty assignments
		tooltip_info = diplomacy

		trigger = { diplomacy >= 15 }

		event_target:aspiring_councillor = {
			show_scope_change = no

			set_character_flag = council_membership_denied

			opinion = {
				name = opinion_flattered
				who = ROOT
				years = 2
			}

			character_event = {
				id = ZE.6006
				days = 1
				tooltip = EVTTOOLTIPZE_6006
			}
		}

		ai_chance = {
			factor = 30

			trigger = {
				NOT = { is_friend = event_target:aspiring_councillor }

				opinion = {
					who = event_target:aspiring_councillor
					value < 75
				}
			}

			mult_modifier = {
				factor = 3
				is_rival = event_target:aspiring_councillor
			}
		}
	}
}

# Vassal may ask for council seat again
character_event = {
	id = ZE.6002
	desc = EVTDESC_ZE_6002
	picture = GFX_evt_courtiers_talking
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	has_character_flag = council_membership_requested
	prisoner = no
	only_capable = yes

	trigger = {
		OR = {
			has_ambition = obj_become_chancellor
			has_ambition = obj_become_marshal
			has_ambition = obj_become_treasurer
			has_ambition = obj_become_spymaster
			has_ambition = obj_become_spiritual
		}

		is_councillor = no
		is_inaccessible_trigger = no
		NOT = { has_character_flag = council_membership_denied }

		liege = {
			in_revolt = no
			NOR = {
				has_law = council_privileges_1
				has_opinion_modifier = { who = ROOT name = requested_council_position }
				has_opinion_modifier = { who = ROOT name = opinion_refused_council }
			}
		}
	}

	immediate = {
		# If there are no open spots on the council ROOT could take
		liege = {
			if = {
				limit = {
					NOR = {
						AND = {
							NOT = { job_chancellor = { always = yes } }
							ROOT = { has_ambition = obj_become_chancellor }
						}

						AND = {
							NOT = { job_marshal = { always = yes } }
							ROOT = { has_ambition = obj_become_marshal }
						}

						AND = {
							NOT = { job_treasurer = { always = yes } }
							ROOT = { has_ambition = obj_become_treasurer }
						}

						AND = {
							NOT = { job_spymaster = { always = yes } }
							ROOT = { has_ambition = obj_become_spymaster }
						}

						AND = {
							NOT = { job_spiritual = { always = yes } }
							ROOT = { has_ambition = obj_become_spiritual }
						}
					}
				}

				# Select a suitable councillor whose spot ROOT could take instead
				random_voter = {
					limit = {
						trigger_if = {
							limit = { has_job_title = job_chancellor }
							ROOT = { has_ambition = obj_become_chancellor }
						}
						trigger_else_if = {
							limit = { has_job_title = job_marshal }
							ROOT = { has_ambition = obj_become_marshal }
						}
						trigger_else_if = {
							limit = { has_job_title = job_treasurer }
							ROOT = { has_ambition = obj_become_treasurer }
						}
						trigger_else_if = {
							limit = { has_job_title = job_spymaster }
							ROOT = { has_ambition = obj_become_spymaster }
						}
						trigger_else = {
							has_job_title = job_spiritual
							ROOT = { has_ambition = obj_become_spiritual }
						}
					}

					save_event_target_as = councillor_target
				}
			}
		}
	}

	option = {
		name = EVTOPTA_ZE_6002

		liege = {
			show_scope_change = no

			character_event = {
				id = ZE.6003
				days = 3
				tooltip = EVTTOOLTIPZE_6003
			}
		}
	}

	option = {
		name = EVTOPTB_ZE_6002

		ai_chance = { factor = 0 }
	}
}

# Liege recieves vassals demand for council position
character_event = {
	id = ZE.6003
	picture = GFX_evt_courtiers_talking
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESCA_ZE_6003 # If we have a councillor in mind
		trigger = {
			event_target:councillor_target = { always = yes }
		}
	}
	desc = {
		text = EVTDESCB_ZE_6003 # If there is an open spot
		trigger = {
			NOT = {
				event_target:councillor_target = { always = yes }
			}
		}
	}

	is_triggered_only = yes

	prisoner = no
	only_capable = yes

	trigger = {
		is_inaccessible_trigger = no
		in_revolt = no

		NOR = {
			reverse_has_opinion_modifier = { who = event_target:aspiring_councillor name = requested_council_position }
			reverse_has_opinion_modifier = { who = event_target:aspiring_councillor name = opinion_refused_council }
		}
	}

	# We fire the current councillor and replace with new
	option = {
		name = EVTOPTA_ZE_6003

		trigger = {
			NOT = { has_law = council_privileges_1 }
			event_target:councillor_target = { always = yes }
		}

		event_target:councillor_target = {
			show_scope_change = no

			opinion = {
				name = opinion_fired_from_council
				who = ROOT
				years = 5
			}

			trigger_switch = {
				on_trigger = has_job_title

				job_chancellor = { remove_title = job_chancellor }
				job_marshal = { remove_title = job_marshal }
				job_treasurer = { remove_title = job_treasurer }
				job_spymaster = { remove_title = job_spymaster }
				job_spiritual = { remove_title = job_spiritual }
			}
		}

		event_target:aspiring_councillor = {
			show_scope_change = no

			clr_character_flag = council_membership_requested

			trigger_switch = {
				on_trigger = has_ambition

				obj_become_chancellor = { give_job_title = job_chancellor }
				obj_become_marshal = { give_job_title = job_marshal }
				obj_become_treasurer = { give_job_title = job_treasurer }
				obj_become_spymaster = { give_job_title = job_spymaster }
				obj_become_spiritual = { give_job_title = job_spiritual }
			}
		}

		ai_chance = {
			factor = 30

			trigger = {
				NOT = { is_rival = event_target:aspiring_councillor }
			}

			mult_modifier = {
				factor = 3

				OR = {
					is_friend = event_target:aspiring_councillor

					opinion = {
						who = event_target:aspiring_councillor
						value >= 75
					}
				}
			}

			# CK2Plus
			mult_modifier = {
				factor = 0.25

				event_target:councillor_target = {
					trigger_if = {
						limit = { has_job_title = job_chancellor }
						diplomacy > event_target:aspiring_councillor
					}
					trigger_else_if = {
						limit = { has_job_title = job_marshal }
						martial > event_target:aspiring_councillor
					}
					trigger_else_if = {
						limit = { has_job_title = job_treasurer }
						stewardship > event_target:aspiring_councillor
					}
					trigger_else_if = {
						limit = { has_job_title = job_spymaster }
						intrigue > event_target:aspiring_councillor
					}
					trigger_else_if = {
						limit = { has_job_title = job_spiritual }
						learning > event_target:aspiring_councillor
					}
				}
			}

			mult_modifier = {
				factor = 0.1

				event_target:councillor_target = { among_most_powerful_vassals = 5 }
				event_target:aspiring_councillor = { NOT = { among_most_powerful_vassals = 5 } }
			}
		}
	}

	# We have an open spot and approve the request
	option = {
		name = EVTOPTB_ZE_6003

		trigger = {
			NOT = {
				event_target:councillor_target = { always = yes }
			}
		}

		event_target:aspiring_councillor = {
			show_scope_change = no

			clr_character_flag = council_membership_requested

			trigger_switch = {
				on_trigger = has_ambition

				obj_become_chancellor = { give_job_title = job_chancellor }
				obj_become_marshal = { give_job_title = job_marshal }
				obj_become_treasurer = { give_job_title = job_treasurer }
				obj_become_spymaster = { give_job_title = job_spymaster }
				obj_become_spiritual = { give_job_title = job_spiritual }
			}
		}

		ai_chance = {
			factor = 30

			trigger = {
				NOT = { is_rival = event_target:aspiring_councillor }
			}

			mult_modifier = {
				factor = 3

				OR = {
					is_friend = event_target:aspiring_councillor

					opinion = {
						who = event_target:aspiring_councillor
						value >= 75
					}
				}
			}
		}
	}

	# We decline the request
	option = {
		name = EVTOPTC_ZE_6003

		event_target:aspiring_councillor = {
			show_scope_change = no

			set_character_flag = council_membership_denied

			opinion = {
				name = opinion_very_disappointed
				who = ROOT
				years = 5
			}

			character_event = {
				id = ZE.6005
				days = 1
			}
		}

		ai_chance = {
			factor = 70

			trigger = {
				trigger_if = {
					limit = { event_target:councillor_target = { always = yes } }
					intrigue < 15
				}

				NOT = { is_friend = event_target:aspiring_councillor }

				opinion = {
					who = event_target:aspiring_councillor
					value < 75
				}
			}

			mult_modifier = {
				factor = 3
				is_rival = event_target:aspiring_councillor
			}

			# CK2Plus
			mult_modifier = {
				factor = 0.5

				event_target:aspiring_councillor = { among_most_powerful_vassals = 5 }
				NOT = { event_target:councillor_target = { among_most_powerful_vassals = 5 } }
			}
		}
	}

	# We play them against each other
	option = {
		name = EVTOPTD_ZE_6003
		tooltip_info = intrigue

		trigger = {
			event_target:councillor_target = { always = yes }
			intrigue >= 15
		}

		event_target:aspiring_councillor = {
			show_scope_change = no

			set_character_flag = council_membership_denied

			character_event = {
				id = ZE.6007
				days = 1
				tooltip = EVTTOOLTIPZE_6007
			}
		}

		ai_chance = {
			factor = 50

			trigger = {
				NOT = { is_friend = event_target:aspiring_councillor }

				opinion = {
					who = event_target:aspiring_councillor
					value < 75
				}
			}

			mult_modifier = {
				factor = 3

				opinion = {
					who = event_target:aspiring_councillor
					value < -50
				}
			}
		}
	}
}

# Liege will think about council position
character_event = {
	id = ZE.6004
	picture = GFX_evt_courtiers_talking
	border = GFX_event_normal_frame_diplomacy
	desc = EVTDESC_ZE_6004

	is_triggered_only = yes

	trigger = {
		OR = {
			has_ambition = obj_become_chancellor
			has_ambition = obj_become_marshal
			has_ambition = obj_become_treasurer
			has_ambition = obj_become_spymaster
			has_ambition = obj_become_spiritual
		}
	}

	# Alright
	option = {
		name = EVTOPTA_ZE_6004

		character_event = {
			id = ZE.6002
			months = 3
		}
	}
}

# Liege declined council request
character_event = {
	id = ZE.6005
	desc = EVTDESC_ZE_6005
	picture = GFX_evt_bad_news
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	trigger = {
		OR = {
			has_ambition = obj_become_chancellor
			has_ambition = obj_become_marshal
			has_ambition = obj_become_treasurer
			has_ambition = obj_become_spymaster
			has_ambition = obj_become_spiritual
		}
	}

	# Oh
	option = {
		name = EVTOPTA_ZE_6005

		opinion = {
			name = opinion_refused_council
			who = FROM
		}
	}
}

# Liege explains we are too good for the council
character_event = {
	id = ZE.6006
	desc = EVTDESC_ZE_6006
	picture = GFX_evt_religious_exultation
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	trigger = {
		OR = {
			has_ambition = obj_become_chancellor
			has_ambition = obj_become_marshal
			has_ambition = obj_become_treasurer
			has_ambition = obj_become_spymaster
			has_ambition = obj_become_spiritual
		}
	}

	# Blush
	option = {
		name = EVTOPTA_ZE_6006

		opinion = {
			name = opinion_flattered
			who = FROM
			years = 1
		}
	}
}

# Liege tells me another councillor has been slandering me
character_event = {
	id = ZE.6007
	picture = GFX_evt_whispers
	border = GFX_event_normal_frame_intrigue
	desc = EVTDESC_ZE_6007

	is_triggered_only = yes

	trigger = {
		OR = {
			has_ambition = obj_become_chancellor
			has_ambition = obj_become_marshal
			has_ambition = obj_become_treasurer
			has_ambition = obj_become_spymaster
			has_ambition = obj_become_spiritual
		}
	}

	# You gain a rival
	option = {
		name = EVTOPTA_ZE_6007

		add_rival = event_target:councillor_target
	}
}

# Checking for land_for_son/daughter ambition
character_event = {
	id = ZE.6010

	is_triggered_only = yes # on_new_holder
	hide_window = yes

	only_capable = yes

	trigger = {
		always = no # Disabled in CK2Plus
		is_heir = no

		# Wasn't made a mercenary
		FROM = { mercenary = no }
	}

	immediate = {
		if = {
			limit = { is_female = no }

			father = {
				if = {
					limit = { has_ambition = obj_land_for_son }

					set_character_flag = land_for_son_successful

					opinion = {
						name = opinion_ambition_fulfilled
						who = FROMFROM
						years = 5
					}
				}
			}

			mother = {
				if = {
					limit = { has_ambition = obj_land_for_son }

					set_character_flag = land_for_son_successful

					opinion = {
						name = opinion_ambition_fulfilled
						who = FROMFROM
						years = 5
					}
				}
			}
		}
		else = {
			father = {
				if = {
					limit = { has_ambition = obj_land_for_daughter }

					set_character_flag = land_for_daughter_successful

					opinion = {
						name = opinion_ambition_fulfilled
						who = FROMFROM
						years = 5
					}
				}
			}

			mother = {
				if = {
					limit = { has_ambition = obj_land_for_daughter }

					set_character_flag = land_for_daughter_successful

					opinion = {
						name = opinion_ambition_fulfilled
						who = FROMFROM
						years = 5
					}
				}
			}
		}
	}
}

# Asking liege to give land to son
character_event = {
	id = ZE.6012
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_ZE_6012
		picture = GFX_evt_son_asking_father
		trigger = {
			FROM = {
				has_ambition = obj_land_for_son
			}
		}
	}
	desc = {
		text = EVTDESC_ZE_6012_B
		picture = GFX_evt_daughter_asking_mother
		trigger = {
			FROM = {
				has_ambition = obj_land_for_daughter
			}
		}
	}

	is_triggered_only = yes # ask_for_land, ze_ambition_decisions.txt

	immediate = {
		random_demesne_title = {
			limit = {
				real_tier = COUNT
				can_be_given_away = yes
				is_contested = no

				location = {
					is_capital = no
				}
			}

			save_event_target_as = requested_province
		}

		FROM = {
			if = {
				limit = { has_ambition = obj_land_for_son }

				random_child = {
					limit = {
						is_female = no
						is_landed = no
						is_adult = yes
						is_heir = no
						prisoner = no
						is_incapable = no
						has_inheritance_blocker = no
						vassal_of = PREV
						practical_age < 50

						NOR = {
							any_heir_title = { always = yes }
							trait = bastard
						}
					}

					save_event_target_as = chosen_child
				}
			}

			else = {
				random_child = {
					limit = {
						is_female = yes
						is_landed = no
						is_adult = yes
						is_heir = no
						prisoner = no
						is_incapable = no
						has_inheritance_blocker = no
						vassal_of = PREV

						NOR = {
							any_heir_title = { always = yes }
							trait = bastard
						}
					}

					save_event_target_as = chosen_child
				}
			}
		}
	}

	option = {
		name = {
			text = EVTOPTA_ZE_6012
			trigger = {
				FROM = { has_ambition = obj_land_for_son }
			}
		}
		name = {
			text = EVTOPTA_ZE_6012_B
			trigger = {
				FROM = { has_ambition = obj_land_for_daughter }
			}
		}

		wealth = 200

		event_target:chosen_child = {
			show_scope_change = no

			grant_title = event_target:requested_province
		}

		FROM = {
			character_event = { id = ZE.6013 }
		}

		ai_chance = { factor = 20 }
	}

	option = {
		name = EVTOPTB_ZE_6012

		FROM = {
			character_event = { id = ZE.6014 }
		}

		ai_chance = { factor = 80 }
	}

	option = {
		name = EVTOPTC_ZE_6012

		trigger = {
			FROM = {
				NOT = { owes_favor_to = ROOT }
			}
		}

		event_target:chosen_child = {
			show_scope_change = no

			grant_title = event_target:requested_province
		}

		add_favor = FROM

		FROM = {
			character_event = { id = ZE.6015 }
		}

		ai_chance = { factor = 20 }
	}
}

# Land granted from request
character_event = {
	id = ZE.6013
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_ZE_6013
		picture = GFX_evt_son_asking_father
		trigger = { has_ambition = obj_land_for_son }
	}
	desc = {
		text = EVTDESC_ZE_6013_B
		picture = GFX_evt_daughter_asking_mother
		trigger = { has_ambition = obj_land_for_daughter }
	}

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_ZE_6013
	}
}

# Denied land
character_event = {
	id = ZE.6014
	picture = GFX_evt_recieve_letter
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_ZE_6014
		trigger = { has_ambition = obj_land_for_son }
	}
	desc = {
		text = EVTDESC_ZE_6014_B
		trigger = { has_ambition = obj_land_for_daughter }
	}

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_ZE_6014
	}
}

# Got land! But now owes favor
character_event = {
	id = ZE.6015
	picture = GFX_evt_recieve_letter
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_ZE_6015
		trigger = { has_ambition = obj_land_for_son }
	}
	desc = {
		text = EVTDESC_ZE_6015_B
		trigger = { has_ambition = obj_land_for_daughter }
	}

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_ZE_6015
	}
}


###########################################################################################################
# CHANGE COUNCIL POSITION																				  #
###########################################################################################################

# Targeted decision pick new council job event, brace yourself
character_event = {
	id = ZE.6021
	desc = EVTDESC_ZE_6021
	picture = GFX_evt_courtiers_talking
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes # change_council_job, ze_decisions.txt

	immediate = {
		# First, we set a char modifier and check what job the councillor has now
		add_character_modifier = {
			name = councillors_changed_jobs
			years = 1
			hidden = yes
		}

		# Check how many options we display
		if = {
			limit = {
				NOT = { job_chancellor = { always = yes } }
				event_target:moving_councillor = { can_be_chancellor_trigger = yes }
			}

			set_character_flag = option_1_displayed
		}

		if = {
			limit = {
				NOT = { job_marshal = { always = yes } }
				event_target:moving_councillor = { can_be_marshal_trigger = yes }
			}

			set_character_flag = option_2_displayed
		}

		if = {
			limit = {
				NOT = { job_treasurer = { always = yes } }
				event_target:moving_councillor = { can_be_treasurer_trigger = yes }
			}

			set_character_flag = option_3_displayed
		}

		if = {
			limit = {
				NOT = { job_spymaster = { always = yes } }
				event_target:moving_councillor = { can_be_spymaster_trigger = yes }
			}

			set_character_flag = option_4_displayed
		}

		if = {
			limit = {
				NOT = { job_spiritual = { always = yes } }
				event_target:moving_councillor = { can_be_spiritual_trigger = yes }
			}

			set_character_flag = option_5_displayed
		}

		if = {
			limit = {
				trigger_if = {
					limit = { can_grant_title = title_councilmember_king }
					event_target:moving_councillor = { can_be_councilmember_king_trigger = yes }
				}
				trigger_else = {
					can_grant_title = title_councilmember_emperor
					event_target:moving_councillor = { can_be_councilmember_emperor_trigger = yes }
				}
			}

			set_character_flag = option_6_displayed
		}
	}

	option = { # Is chancellor a possible swap
		name = EVTOPTA_ZE_6021

		trigger = { has_character_flag = option_1_displayed }

		event_target:moving_councillor = {
			show_scope_change = no

			hidden_effect = {
				trigger_switch = {
					on_trigger = has_job_title

					job_chancellor = { remove_title = job_chancellor }
					job_marshal = { remove_title = job_marshal }
					job_treasurer = { remove_title = job_treasurer }
					job_spymaster = { remove_title = job_spymaster }
					job_spiritual = { remove_title = job_spiritual }

					fallback = {
						trigger_switch = {
							on_trigger = has_minor_title

							title_councilmember_king = { remove_title = title_councilmember_king }
							title_councilmember_emperor = { remove_title = title_councilmember_emperor }
						}
					}
				}
			}

			give_job_title = job_chancellor
		}
	}

	option = { # Is marshal a possible swap
		name = EVTOPTB_ZE_6021

		trigger = { has_character_flag = option_2_displayed }

		event_target:moving_councillor = {
			show_scope_change = no

			hidden_effect = {
				trigger_switch = {
					on_trigger = has_job_title

					job_chancellor = { remove_title = job_chancellor }
					job_marshal = { remove_title = job_marshal }
					job_treasurer = { remove_title = job_treasurer }
					job_spymaster = { remove_title = job_spymaster }
					job_spiritual = { remove_title = job_spiritual }

					fallback = {
						trigger_switch = {
							on_trigger = has_minor_title

							title_councilmember_king = { remove_title = title_councilmember_king }
							title_councilmember_emperor = { remove_title = title_councilmember_emperor }
						}
					}
				}
			}

			give_job_title = job_marshal
		}
	}

	option = { # Is treasurer a possible swap
		name = EVTOPTC_ZE_6021

		trigger = { has_character_flag = option_3_displayed }

		event_target:moving_councillor = {
			show_scope_change = no

			hidden_effect = {
				trigger_switch = {
					on_trigger = has_job_title

					job_chancellor = { remove_title = job_chancellor }
					job_marshal = { remove_title = job_marshal }
					job_treasurer = { remove_title = job_treasurer }
					job_spymaster = { remove_title = job_spymaster }
					job_spiritual = { remove_title = job_spiritual }

					fallback = {
						trigger_switch = {
							on_trigger = has_minor_title

							title_councilmember_king = { remove_title = title_councilmember_king }
							title_councilmember_emperor = { remove_title = title_councilmember_emperor }
						}
					}
				}
			}

			give_job_title = job_treasurer
		}
	}

	option = { # Is spymaster a possible swap
		name = EVTOPTD_ZE_6021

		trigger = {
			has_character_flag = option_4_displayed

			calc_true_if = {
				amount < 3

				has_character_flag = option_1_displayed
				has_character_flag = option_2_displayed
				has_character_flag = option_3_displayed
			}
		}

		event_target:moving_councillor = {
			show_scope_change = no

			hidden_effect = {
				trigger_switch = {
					on_trigger = has_job_title

					job_chancellor = { remove_title = job_chancellor }
					job_marshal = { remove_title = job_marshal }
					job_treasurer = { remove_title = job_treasurer }
					job_spymaster = { remove_title = job_spymaster }
					job_spiritual = { remove_title = job_spiritual }

					fallback = {
						trigger_switch = {
							on_trigger = has_minor_title

							title_councilmember_king = { remove_title = title_councilmember_king }
							title_councilmember_emperor = { remove_title = title_councilmember_emperor }
						}
					}
				}
			}

			give_job_title = job_spymaster
		}
	}

	option = { # Is spiritual a possible swap
		name = EVTOPTE_ZE_6021

		trigger = {
			has_character_flag = option_5_displayed

			calc_true_if = {
				amount < 3

				has_character_flag = option_1_displayed
				has_character_flag = option_2_displayed
				has_character_flag = option_3_displayed
				has_character_flag = option_4_displayed
			}
		}

		event_target:moving_councillor = {
			show_scope_change = no

			hidden_effect = {
				trigger_switch = {
					on_trigger = has_job_title

					job_chancellor = { remove_title = job_chancellor }
					job_marshal = { remove_title = job_marshal }
					job_treasurer = { remove_title = job_treasurer }
					job_spymaster = { remove_title = job_spymaster }
					job_spiritual = { remove_title = job_spiritual }

					fallback = {
						trigger_switch = {
							on_trigger = has_minor_title

							title_councilmember_king = { remove_title = title_councilmember_king }
							title_councilmember_emperor = { remove_title = title_councilmember_emperor }
						}
					}
				}
			}

			give_job_title = job_spiritual
		}
	}

	option = { # Is being an advisor a new career path
		name = EVTOPTY_ZE_6021

		trigger = {
			has_character_flag = option_6_displayed

			calc_true_if = {
				amount < 3

				has_character_flag = option_1_displayed
				has_character_flag = option_2_displayed
				has_character_flag = option_3_displayed
				has_character_flag = option_4_displayed
				has_character_flag = option_5_displayed
			}
		}

		if = {
			limit = {
				can_grant_title = title_councilmember_king
				event_target:moving_councillor = { can_be_councilmember_king_trigger = yes }
			}

			event_target:moving_councillor = {
				show_scope_change = no

				hidden_effect = {
					trigger_switch = {
						on_trigger = has_job_title

						job_chancellor = { remove_title = job_chancellor }
						job_marshal = { remove_title = job_marshal }
						job_treasurer = { remove_title = job_treasurer }
						job_spymaster = { remove_title = job_spymaster }
						job_spiritual = { remove_title = job_spiritual }
					}
				}

				give_minor_title = title_councilmember_king
			}
		}
		else = {
			event_target:moving_councillor = {
				show_scope_change = no

				hidden_effect = {
					trigger_switch = {
						on_trigger = has_job_title

						job_chancellor = { remove_title = job_chancellor }
						job_marshal = { remove_title = job_marshal }
						job_treasurer = { remove_title = job_treasurer }
						job_spymaster = { remove_title = job_spymaster }
						job_spiritual = { remove_title = job_spiritual }
					}
				}

				give_minor_title = title_councilmember_king
			}
		}
	}

	option = {
		name = EVTOPTX_ZE_6021

		trigger = {
			trigger_if = {
				limit = { has_character_flag = option_6_displayed }

				calc_true_if = {
					amount >= 3

					has_character_flag = option_1_displayed
					has_character_flag = option_2_displayed
					has_character_flag = option_3_displayed
					has_character_flag = option_4_displayed
					has_character_flag = option_5_displayed
				}
			}
			trigger_else_if = {
				limit = { has_character_flag = option_5_displayed }

				calc_true_if = {
					amount >= 3

					has_character_flag = option_1_displayed
					has_character_flag = option_2_displayed
					has_character_flag = option_3_displayed
					has_character_flag = option_4_displayed
				}
			}
			trigger_else = {
				has_character_flag = option_4_displayed

				calc_true_if = {
					amount >= 3

					has_character_flag = option_1_displayed
					has_character_flag = option_2_displayed
					has_character_flag = option_3_displayed
				}
			}
		}

		character_event = { id = ZE.6022 }
	}

	option = {
		name = NEVERMIND

		trigger = {
			NAND = {
				OR = {
					has_character_flag = option_4_displayed
					has_character_flag = option_5_displayed
					has_character_flag = option_6_displayed
				}

				calc_true_if = {
					amount >= 3

					has_character_flag = option_1_displayed
					has_character_flag = option_2_displayed
					has_character_flag = option_3_displayed
				}
			}
		}

		set_character_flag = dont_clear_flag
	}

	after = {
		if = {
			limit = { has_character_flag = dont_clear_flag }
			clr_character_flag = dont_clear_flag
		}
		else = {
			clr_character_flag = is_moving_councillor
			clr_character_flag = option_1_displayed
			clr_character_flag = option_2_displayed
			clr_character_flag = option_3_displayed
			clr_character_flag = option_4_displayed
			clr_character_flag = option_5_displayed
			clr_character_flag = option_6_displayed
			clr_character_flag = option_6_king
			clr_character_flag = option_6_emperor
		}

		hidden_effect = {
			event_target:moving_councillor = {
				clr_character_flag = is_moving_councillor
			}
		}
	}
}

character_event = {
	id = ZE.6022
	picture = GFX_evt_courtiers_talking
	border = GFX_event_normal_frame_diplomacy
	desc = EVTDESC_ZE_6021

	is_triggered_only = yes

	option = { # Is spymaster a possible swap
		name = EVTOPTD_ZE_6021

		trigger = {
			has_character_flag = option_4_displayed

			calc_true_if = {
				amount >= 3

				has_character_flag = option_1_displayed
				has_character_flag = option_2_displayed
				has_character_flag = option_3_displayed
			}
		}

		event_target:moving_councillor = {
			show_scope_change = no
			give_job_title = job_spymaster
		}
	}

	option = { # Is spiritual a possible swap
		name = EVTOPTE_ZE_6021

		trigger = {
			has_character_flag = option_5_displayed

			calc_true_if = {
				amount >= 3

				has_character_flag = option_1_displayed
				has_character_flag = option_2_displayed
				has_character_flag = option_3_displayed
				has_character_flag = option_4_displayed
			}
		}

		event_target:moving_councillor = {
			show_scope_change = no
			give_job_title = job_spiritual
		}
	}

	option = { # Is being an advisor a new career path
		name = EVTOPTY_ZE_6021

		trigger = {
			has_character_flag = option_6_displayed

			calc_true_if = {
				amount >= 3

				has_character_flag = option_1_displayed
				has_character_flag = option_2_displayed
				has_character_flag = option_3_displayed
				has_character_flag = option_4_displayed
				has_character_flag = option_5_displayed
			}
		}

		if = {
			limit = {
				can_grant_title = title_councilmember_king
				event_target:moving_councillor = { can_be_councilmember_king_trigger = yes }
			}

			event_target:moving_councillor = {
				show_scope_change = no

				hidden_effect = {
					trigger_switch = {
						on_trigger = has_job_title

						job_chancellor = { remove_title = job_chancellor }
						job_marshal = { remove_title = job_marshal }
						job_treasurer = { remove_title = job_treasurer }
						job_spymaster = { remove_title = job_spymaster }
						job_spiritual = { remove_title = job_spiritual }
					}
				}

				give_minor_title = title_councilmember_king
			}
		}
		else = {
			event_target:moving_councillor = {
				show_scope_change = no

				hidden_effect = {
					trigger_switch = {
						on_trigger = has_job_title

						job_chancellor = { remove_title = job_chancellor }
						job_marshal = { remove_title = job_marshal }
						job_treasurer = { remove_title = job_treasurer }
						job_spymaster = { remove_title = job_spymaster }
						job_spiritual = { remove_title = job_spiritual }
					}
				}

				give_minor_title = title_councilmember_king
			}
		}
	}

	option = {
		name = NEVERMIND

		set_character_flag = dont_clear_flag
	}

	after = {
		if = {
			limit = { has_character_flag = dont_clear_flag }
			clr_character_flag = dont_clear_flag
		}
		else = {
			clr_character_flag = is_moving_councillor
			clr_character_flag = option_1_displayed
			clr_character_flag = option_2_displayed
			clr_character_flag = option_3_displayed
			clr_character_flag = option_4_displayed
			clr_character_flag = option_5_displayed
			clr_character_flag = option_6_displayed
			clr_character_flag = option_6_king
			clr_character_flag = option_6_emperor
		}

		hidden_effect = {
			event_target:moving_councillor = {
				clr_character_flag = is_moving_councillor
			}
		}
	}
}