###########################################
#                                         #
# Zeus | Spymaster flavor events		  #
# ID ZE.2050-2099	                      #
#                                         #
###########################################

# Written by Joel Hansson

namespace = ZE

# Stealing from realm coffers
character_event = {
	id = ZE.2060

	is_triggered_only = yes # on_yearly_pulse, random_events
	hide_window = yes

	only_playable = yes
	has_dlc = "Conclave"
	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		scaled_wealth = {
			value = 0.05
			min = 5
		}

		is_inaccessible_trigger = no

		NOR = {
			trait = blinded
			has_character_flag = had_royal_coffers_robbed
		}

		any_voter = {
			has_job_title = yes

			trigger_if = {
				limit = {
					NOT = { trait = arbitrary }
				}

				trait = greedy
				NOT = { trait = just }
			}

			is_inaccessible_or_incapable_trigger = no
			NOT = { has_character_flag = caught_stealing_from_coffers }

			opinion = {
				who = ROOT
				value < 35
			}
		}
	}

	weight_multiplier = {
		factor = 1
	}

	immediate = {
		random_voter = {
			limit = {
				has_job_title = yes

				trigger_if = {
					limit = {
						NOT = { trait = arbitrary }
					}

					trait = greedy
					NOT = { trait = just }
				}

				is_inaccessible_or_incapable_trigger = no
				NOT = { has_character_flag = caught_stealing_from_coffers }

				opinion = {
					who = ROOT
					value < 35
				}
			}

			character_event = { id = ZE.2061 }
		}
	}
}

character_event = {
	id = ZE.2061
	picture = GFX_evt_eavesdropping
	border = GFX_event_normal_frame_intrigue

	desc = {
		text = EVTDESC_ZE_2061A
		trigger = {
			liege = { NOT = { has_character_flag = had_royal_coffers_robbed } }
		}
	}
	desc = {
		text = EVTDESC_ZE_2061B
		trigger = {
			liege = { has_character_flag = had_royal_coffers_robbed }
		}
	}

	is_triggered_only = yes

	option = {
		name = EVTOPTA_ZE_2061

		liege = {
			show_scope_change = no

			set_character_flag = had_royal_coffers_robbed

			tooltip = {
				transfer_scaled_wealth = {
					value = 0.05
					min = 5
					to = ROOT
				}
			}

			hidden_effect = {
				random_list = {
					60 = { # No trace
						character_event = { id = ZE.2062 }

						ROOT = {
							repeat_event = {
								id = ZE.2061
								days = 200
								random = 50
							}
						}
					}

					40 = { # Caught red-handed
						mult_modifier = {
							factor = 1.5
							trait = paranoid
						}

						clr_character_flag = had_royal_coffers_robbed
						character_event = { id = ZE.2063 }
					}

					40 = { # Steward tracks down the money
						trigger = {
							job_treasurer = {
								trait = diligent
								ai = yes
								NOT = { character = ROOT }
							}
						}

						clr_character_flag = had_royal_coffers_robbed
						character_event = { id = ZE.2062 }

						character_event = {
							id = ZE.2064
							days = 30
						}
					}
				}
			}
		}
	}

	option = {
		name = EVTOPTB_ZE_2061
	}
}

# No trace
character_event = {
	id = ZE.2062
	picture = GFX_evt_stressed_ruler
	border = GFX_event_normal_frame_intrigue

	desc = {
		text = EVTDESC_ZE_2062A
		trigger = {
			NOT = { has_character_flag = had_royal_coffers_robbed }
		}
	}
	desc = {
		text = EVTDESC_ZE_2062B
		trigger = { has_character_flag = had_royal_coffers_robbed }
	}

	is_triggered_only = yes
	hide_from = yes

	option = {
		name = EVTOPTA_ZE_2062

		tooltip = {
			scaled_wealth = {
				value = -0.05
				min = -5
			}
		}
	}

	option = {
		name = EVTOPTB_ZE_2062

		tooltip = {
			scaled_wealth = {
				value = -0.05
				min = -5
			}
		}

		add_trait = paranoid
	}

	after = {
		hidden_effect = {
			transfer_scaled_wealth = {
				value = 0.05
				to = FROM
				min = 5
			}
		}
	}
}

# Caught red-handed
character_event = {
	id = ZE.2063
	picture = GFX_evt_bribe_accepted
	border = GFX_event_normal_frame_intrigue

	desc = {
		text = EVTDESC_ZE_2063A
		trigger = {
			NOT = { trait = paranoid }
		}
	}
	desc = {
		text = EVTDESC_ZE_2063B
		trigger = { trait = paranoid }
	}

	is_triggered_only = yes

	option = {
		name = EVTOPTA_ZE_2063

		trigger = {
			NOT = { holds_favor_on = FROM }
		}

		add_favor = FROM

		FROM = {
			set_character_flag = favor_given
			set_character_flag = caught_stealing_from_coffers
			character_event = { id = ZE.2065 }
		}
	}

	option = {
		name = EVTOPTB_ZE_2063

		opinion = {
			name = abuse_of_office
			who = FROM
			years = 3
		}

		reverse_imprison = FROM
	}

	option = {
		name = EVTOPTA_ZE_2064

		hidden_effect = {
			opinion = {
				name = abuse_of_office
				who = FROM
				years = 3
			}

			FROM = {
				set_character_flag = caught_stealing_from_coffers
				character_event = { id = ZE.2065 }
			}
		}
	}
}

# Steward tracks down the money
character_event = {
	id = ZE.2064
	desc = EVTDESC_ZE_2064
	picture = GFX_evt_accused
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes

	trigger = {
		FROM = {
			has_job_title = yes
			vassal_of = ROOT
		}
	}

	option = {
		name = EVTOPTA_ZE_2064

		opinion = {
			name = abuse_of_office
			who = FROM
			years = 3
		}

		FROM = {
			character_event = { id = ZE.2066 }
			set_character_flag = caught_stealing_from_coffers
		}
	}

	option = {
		name = EVTOPTB_ZE_2064

		opinion = {
			name = abuse_of_office
			who = FROM
			years = 3
		}

		reverse_imprison = FROM
	}
}

character_event = {
	id = ZE.2065
	desc = EVTDESC_ZE_2065
	picture = GFX_evt_powerful_ruler
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes

	option = {
		name = EVTOPTA_ZE_2065

		trigger = {
			NOT = { has_character_flag = favor_given }
		}
	}

	option = {
		name = EVTOPTA_ZE_2065

		trigger = { has_character_flag = favor_given }

		clr_character_flag = favor_given

		tooltip = {
			reverse_add_favor = FROM
		}
	}
}

character_event = {
	id = ZE.2066
	desc = EVTDESC_ZE_2066
	picture = GFX_evt_powerful_ruler
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_ZE_2066
	}
}

# Using spy network to blackmail people
character_event = {
	id = ZE.2071
	desc = EVTDESC_ZE_2071
	picture = GFX_evt_throne_room
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes # on_yearly_pulse, random_events

	only_playable = yes
	has_dlc = "Conclave"
	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		is_inaccessible_trigger = no

		job_spymaster = {
			OR = {
				trait = deceitful
				trait = arbitrary
				trait = greedy
			}

			is_inaccessible_trigger = no
			NOT = { trait = honest }

			opinion = {
				who = liege
				value < -75
			}
		}

		any_courtier_or_vassal = {
			ai = yes
			is_inaccessible_or_incapable_trigger = no
			NOT = { has_job_title = job_spymaster }
		}
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 2
			job_spymaster = { trait = deceitful }
		}

		mult_modifier = {
			factor = 2
			job_spymaster = { trait = arbitrary }
		}

		mult_modifier = {
			factor = 0.5
			job_spymaster = { trait = craven }
		}

		mult_modifier = {
			factor = 0.5
			job_spymaster = { trait = slothful }
		}
	}

	immediate = {
		job_spymaster = {
			save_event_target_as = spymaster
		}

		random_list = {
			40 = {
				trigger = {
					any_courtier = {
						ai = yes
						is_inaccessible_or_incapable_trigger = no
						NOT = { has_job_title = job_spymaster }
					}
				}

				random_courtier = {
					limit = {
						ai = yes
						is_inaccessible_or_incapable_trigger = no
						NOT = { has_job_title = job_spymaster }
					}

					save_event_target_as = blackmailed_target
				}
			}

			60 = {
				trigger = {
					any_vassal = {
						ai = yes
						is_inaccessible_or_incapable_trigger = no
						NOT = { has_job_title = job_spymaster }
					}
				}

				random_vassal = {
					limit = {
						ai = yes
						is_inaccessible_or_incapable_trigger = no
						NOT = { has_job_title = job_spymaster }
					}

					save_event_target_as = blackmailed_target
				}
			}
		}

		event_target:blackmailed_target = {
			show_scope_change = no

			if = {
				limit = { is_ruler = yes }

				transfer_scaled_wealth = {
					to = event_target:spymaster
					value = 1
					min = 100
					max = 100
				}
			}
			else = {
				transfer_scaled_wealth = {
					to = event_target:spymaster
					value = 1
					min = 50
					max = 50
				}
			}

			opinion = {
				name = opinion_blackmailed
				who = event_target:spymaster
				years = 15
			}
		}
	}

	option = {
		name = EVTOPTA_ZE_2071

		reverse_opinion = {
			name = opinion_pleased
			who = event_target:blackmailed_target
			years = 3
		}

		opinion = {
			name = abuse_of_office
			who = job_spymaster
			years = 3
		}

		job_spymaster = {
			show_scope_change = no

			remove_title = job_spymaster
			prestige = -50
			piety = -50
		}
	}

	option = {
		name = EVTOPTB_ZE_2071

		reverse_opinion = {
			name = opinion_corrupt
			who = event_target:blackmailed_target
		}
	}

	option = {
		name = EVTOPTC_ZE_2071
		tooltip_info = intrigue

		trigger = { intrigue >= 12 }

		event_target:blackmailed_target = {
			show_scope_change = no

			transfer_scaled_wealth = {
				to = ROOT
				value = 1
				min = 25
				max = 25
			}

			opinion = {
				name = opinion_blackmailed
				who = ROOT
				years = 15
			}
		}
	}
}

# Precautionary safety measures
character_event = {
	id = ZE.2075
	desc = EVTDESC_ZE_2075
	picture = GFX_evt_spymaster
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes # on_yearly_pulse, random_events

	only_playable = yes
	has_dlc = "Conclave"
	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		is_inaccessible_trigger = no

		NOR = {
			has_character_flag = had_spymaster_safety_help
			trait = blinded
		}

		job_spymaster = {
			OR = {
				trait = diligent
				trait = lunatic
			}

			is_inaccessible_trigger = no
		}
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 3

			any_known_plotter = {
				target = ROOT
			}
		}
	}

	immediate = {
		set_character_flag = had_spymaster_safety_help

		job_spymaster = {
			save_event_target_as = safety_measure_spymaster
		}
	}

	option = {
		name = EVTOPTA_ZE_2075

		trigger = { scaled_wealth = 0.15 }

		scaled_wealth = -0.15

		custom_tooltip = {
			text = EVTTOOLTIP_ZE_2075

			random_list = {
				10 = {
					character_event = {
						id = ZE.2076
						days = 100
						random = 60
					}
				}

				10 = {
					character_event = {
						id = ZE.2077
						days = 100
						random = 60
					}
				}

				80 = {
					trigger = {
						event_target:safety_measure_spymaster = {
							trait = lunatic
						}
					}

					character_event = {
						id = ZE.2078
						days = 100
						random = 60
					}
				}
			}
		}
	}

	option = {
		name = EVTOPTB_ZE_2075

		reverse_opinion = {
			name = opinion_disappointed
			who = event_target:safety_measure_spymaster
			years = 3
		}
	}
}

# Traps
character_event = {
	id = ZE.2076
	picture = GFX_evt_shadow
	border = GFX_event_normal_frame_intrigue

	desc = {
		text = EVTDESCA_ZE_2076
		trigger = {
			NOT = { has_character_flag = safety_measure_failure }
		}
	}
	desc = {
		text = EVTDESCB_ZE_2076
		trigger = { has_character_flag = safety_measure_failure }
	}

	is_triggered_only = yes

	trigger = {
		job_spymaster = {
			character = event_target:safety_measure_spymaster
		}
	}

	immediate = {
		random_list = {
			30 = {
				mult_modifier = {
					factor = 7

					event_target:safety_measure_spymaster = {
						intrigue < 10
						NOT = { trait = diligent }
					}
				}
				set_character_flag = safety_measure_failure
			}

			70 = { }
		}
	}

	option = {
		name = EVTOPTA_ZE_2076

		trigger = {
			NOT = { has_character_flag = safety_measure_failure }
		}

		add_character_modifier = {
			name = prepared_home
			duration = -1
		}
	}

	option = {
		name = EVTOPTB_ZE_2076

		trigger = { has_character_flag = safety_measure_failure }

		if = {
			limit = {
				is_maimed_trigger = no
				NOT = { trait = wounded }
			}

			random = {
				chance = 40
				add_trait_wounded_effect = yes
			}
		}
	}
}

# Guard Animal
character_event = {
	id = ZE.2077
	picture = GFX_evt_council
	border = GFX_event_normal_frame_intrigue

	desc = {
		text = EVTDESCA_ZE_2077
		trigger = {
			NOT = { has_character_flag = safety_measure_failure }
		}
	}
	desc = {
		text = EVTDESCB_ZE_2077
		trigger = { has_character_flag = safety_measure_failure }
	}

	is_triggered_only = yes

	trigger = {
		job_spymaster = {
			character = event_target:safety_measure_spymaster
		}
	}

	immediate = {
		random_list = {
			30 = {
				mult_modifier = {
					factor = 7

					event_target:safety_measure_spymaster = {
						intrigue < 10
						NOT = { trait = diligent }
					}
				}

				set_character_flag = safety_measure_failure
			}

			70 = { }
		}
	}

	option = {
		name = EVTOPTA_ZE_2077

		trigger = {
			NOT = { has_character_flag = safety_measure_failure }
		}

		add_character_modifier = {
			name = guard_dogs
			duration = -1
		}
	}

	option = {
		name = EVTOPTB_ZE_2077

		trigger = {
			has_character_flag = safety_measure_failure

			NOT = {
				any_sibling = {
					is_female = yes
					at_location = ROOT
					ai = yes
				}
			}
		}

		if = {
			limit = {
				is_maimed_trigger = no
				NOT = { trait = wounded }
			}

			random = {
				chance = 15
				add_trait_wounded_effect = yes
			}
		}

		reverse_opinion = {
			who = event_target:safety_measure_spymaster
			name = opinion_disappointed
			years = 3
		}
	}

	option = {
		name = EVTOPTC_ZE_2077

		trigger = {
			has_character_flag = safety_measure_failure

			any_sibling = {
				is_female = yes
				at_location = ROOT
				ai = yes
			}
		}

		random_sibling = {
			show_scope_change = no

			limit = {
				is_female = yes
				at_location = ROOT
				ai = yes
			}

			if = {
				limit = {
					is_maimed_trigger = no
					NOT = { trait = wounded }
				}

				random = {
					chance = 15
					add_trait = wounded
				}
			}
		}
	}
}

character_event = {
	id = ZE.2078
	desc = EVTDESC_ZE_2078
	picture = GFX_evt_lunatic
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes

	trigger = {
		job_spymaster = {
			character = event_target:safety_measure_spymaster
		}
	}

	option = {
		name = EVTOPTA_ZE_2078

		add_character_modifier = {
			name = bad_breath
			years = 1
		}

		character_event = {
			id = ZE.2080
			days = 100
			random = 50
		}
	}
}

character_event = {
	id = ZE.2080
	desc = EVTDESC_ZE_2080
	picture = GFX_evt_shadow
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes

	trigger = {
		job_spymaster = {
			character = event_target:safety_measure_spymaster
		}
	}

	option = {
		name = EVTOPTA_ZE_2080

		if = {
			limit = {
				NOT = { trait = impaler }
			}

			add_character_modifier = {
				name = suspected_impaler
				years = 3
			}
		}

		character_event = {
			id = ZE.2081
			days = 100
			random = 50
		}
	}

	option = {
		name = EVTOPTB_ZE_2080

		opinion = {
			name = opinion_disappointed
			who = event_target:safety_measure_spymaster
			years = 5
		}
	}
}

character_event = {
	id = ZE.2081
	desc = EVTDESC_ZE_2081
	picture = GFX_evt_shadowy_cabal
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes

	trigger = {
		job_spymaster = {
			character = event_target:safety_measure_spymaster
		}
	}

	option = {
		name = EVTOPTA_ZE_2081

		trigger = {
			NOT = { trait = zealous }
		}

		scaled_wealth = -0.05

		character_event = {
			id = ZE.2083
			days = 100
			random = 50
		}
	}

	option = {
		name = EVTOPTB_ZE_2081

		trigger = { trait = zealous }

		scaled_wealth = -0.05
		piety = 30

		character_event = {
			id = ZE.2083
			days = 100
			random = 50
		}
	}

	option = {
		name = EVTOPTC_ZE_2081

		scaled_wealth = -0.05

		opinion = {
			name = opinion_disappointed
			who = event_target:safety_measure_spymaster
			years = 5
		}
	}
}

character_event = {
	id = ZE.2083
	desc = EVTDESC_ZE_2083
	picture = GFX_evt_quarrel
	border = GFX_event_normal_frame_intrigue

	is_triggered_only = yes

	trigger = {
		job_spymaster = {
			character = event_target:safety_measure_spymaster
		}

		any_courtier_or_vassal = {
			is_priest = yes
			block_general_event_trigger = no
		}
	}

	immediate = {
		random_courtier_or_vassal = {
			limit = {
				is_priest = yes
				block_general_event_trigger = no
			}

			save_event_target_as = spiritual
		}
	}

	option = {
		name = EVTOPTA_ZE_2083

		reverse_opinion = {
			name = opinion_pleased
			who = event_target:spiritual
			years = 3
		}

		event_target:safety_measure_spymaster = {
			show_scope_change = no

			remove_title = job_spymaster
			prestige = -50
			piety = -50
			imprison = ROOT
		}
	}

	option = {
		name = EVTOPTB_ZE_2083

		reverse_opinion = {
			name = opinion_disapprove
			who = event_target:spiritual
			years = 5
		}
	}

	option = {
		name = EVTOPTC_ZE_2083

		trigger = {
			scaled_wealth = 0.2

			trigger_if = {
				limit = {
					event_target:spiritual = {
						trait = arbitrary
					}
				}

				diplomacy >= 9
			}
			trigger_else = {
				diplomacy >= 12
			}
		}

		transfer_scaled_wealth = {
			value = 0.2
			to = event_target:spiritual
		}

		add_character_modifier = {
			name = sanctuary
			years = 10
		}

		prestige = -30
	}
}