namespace = HFP

# Giant trait flavor - gain brawny or frail depending on lifestyle
character_event = {
	id = HFP.1

	is_triggered_only = yes # on_yearly_pulse, random_events
	hide_window = yes

	min_age = 16
	max_age = 50
	only_capable = yes
	prisoner = no

	trigger = {
		trait = tall

		NOR = {
			trait = frail
			trait = brawny
			has_character_flag = giant_condition
		}
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 1.5

			OR = {
				trait = weak
				trait = strong
			}
		}

		mult_modifier = {
			factor = 1.5
			practical_age >= 20
		}

		mult_modifier = {
			factor = 1.5
			practical_age >= 30
		}

		mult_modifier = {
			factor = 1.5
			practical_age >= 40
		}
	}

	immediate = {
		set_character_flag = giant_condition

		random_list = {
			75 = { # Gain Frail
				character_event = { id = HFP.2 }

				trigger = {
					NOT = { trait = strong }
				}

				mult_modifier = {
					factor = 1.5
					is_maimed_trigger = yes
				}

				mult_modifier = {
					factor = 1.5
					trait = clubfooted
				}

				mult_modifier = {
					factor = 1.5

					OR = {
						trait = scholar
						trait = theologian
					}
				}

				mult_modifier = {
					factor = 1.5
					trait = poet
				}

				mult_modifier = {
					factor = 1.5
					trait = slothful
				}

				mult_modifier = {
					factor = 1.5
					trait = shy
				}

				mult_modifier = {
					factor = 1.5
					trait = erudite
				}

				mult_modifier = {
					factor = 2
					has_education_learning_trigger = yes
				}
			}

			25 = { # Gain Robust
				character_event = { id = HFP.3 }

				trigger = {
					NOT = { trait = weak }
				}

				mult_modifier = {
					factor = 2

					OR = {
						is_nomadic = yes
						is_tribal = yes
					}
				}

				mult_modifier = {
					factor = 1.5
					trait = brave
				}

				mult_modifier = {
					factor = 1.5
					trait = diligent
				}

				mult_modifier = {
					factor = 1.5

					OR = {
						trait = duelist
						trait = strategist
					}
				}

				mult_modifier = {
					factor = 1.5
					trait = falconer
				}

				mult_modifier = {
					factor = 1.5
					trait = wroth
				}

				mult_modifier = {
					factor = 1.5
					trait = ambitious
				}

				mult_modifier = {
					factor = 1.5
					trait = adventurer
				}

				mult_modifier = {
					factor = 2
					has_education_martial_trigger = yes
				}
			}
		}
	}
}

# Gain frail
character_event = {
	id = HFP.2
	desc = EVTDESC_HF_2
	picture = GFX_evt_bad_news

	is_triggered_only = yes

	option = {
		name = EVTOPTA_HF_2
		tooltip_info = stubborn

		trigger = {
			trait = stubborn
			NOT = { trait = slothful }
		}

		random = {
			chance = 50
			add_trait = frail
		}

		random = {
			chance = 30
			add_trait_diligent_effect = yes
		}
	}

	option = {
		name = EVTOPTB_HF_2

		add_trait = frail
		prestige = -50
	}
}

# Gain brawny
character_event = {
	id = HFP.3
	desc = EVTDESC_HF_3
	picture = GFX_evt_powerful_ruler

	is_triggered_only = yes

	option = {
		name = EVTOPTA_HF_3

		add_trait = brawny
		prestige = 50
	}

}

# Failing health for older giants
character_event = {
	id = HFP.4
	desc = EVTDESC_HF_4
	picture = GFX_evt_drunk

	is_triggered_only = yes # on_yearly_pulse, random_events

	min_age = 30
	only_capable = yes
	prisoner = no

	trigger = {
		trait = tall
		NOT = { has_character_flag = worsening_health_giant }
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 0.25
			trait = strong
		}

		mult_modifier = {
			factor = 1.5
			trait = weak
		}

		mult_modifier = {
			factor = 1.5
			trait = frail
		}

		mult_modifier = {
			factor = 1.5
			practical_age >= 35
		}

		mult_modifier = {
			factor = 1.5
			practical_age >= 40
		}

		mult_modifier = {
			factor = 1.5
			practical_age >= 45
		}

		mult_modifier = {
			factor = 1.5
			practical_age >= 50
		}
	}

	immediate = {
		set_character_flag = worsening_health_giant
	}

	option = {
		name = EVTOPTA_HF_4

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

# Relative expresses concern about your drinking
character_event = {
	id = HFP.30000
	desc = EVTDESC_HFP_30000
	picture = GFX_evt_drunk
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes # on_yearly_pulse, random_events

	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		trait = drunkard
		NOT = { has_character_flag = relative_concerned_about_drinking }

		any_close_relative = {
			is_adult = yes
			prisoner = no
			is_incapable = no
			NOT = { trait = drunkard }
		}
	}

	immediate = {
		random_close_relative = {
			limit = {
				is_adult = yes
				prisoner = no
				is_incapable = no
				NOT = { trait = drunkard }
			}

			save_event_target_as = concerned_relative
		}

		set_character_flag = relative_concerned_about_drinking
	}

	option = { # Try to change
		name = EVTOPTA_HFP_30000

		character_event = {
			id = HFP.30001
			days = 30
			random = 30
			tooltip = EVTOPTA_HFP_30000_TT
		}
	}

	option = { # Lash out
		name = EVTOPTB_HFP_30000

		custom_tooltip = { text = EVTOPTB_HFP_30000_TT }

		reverse_opinion = {
			name = opinion_disappointed
			who = event_target:concerned_relative
			years = 5
		}
	}
}

# Event to check character is still alive
character_event = {
	id = HFP.30001

	is_triggered_only = yes
	hide_window = yes

	immediate = {
		if = {
			limit = { event_target:concerned_relative = { is_alive = yes } }

			random_list = {
				33 = {
					mult_modifier = {
						factor = 1.5
						trait = stubborn
					}

					mult_modifier = {
						factor = 1.5
						trait = temperate
					}

					character_event = { id = HFP.30003 }
				}

				33 = { character_event = { id = HFP.30004 } }
				33 = { character_event = { id = HFP.30005 } }
			}
		}
		else = {
			character_event = { id = HFP.30002 }
		}
	}
}

# Relative who asks you to stop drinking died
character_event = {
	id = HFP.30002
	desc = EVTDESC_HFP_30002
	picture = GFX_evt_drunk
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	only_capable = yes
	prisoner = no

	option = {
		name = EVTOPTA_HFP_30002

		remove_trait = drunkard
		add_trait_partially_silently_temperate_effect = yes
	}

	option = {
		name = EVTOPTB_HFP_30002
	}
}

# Relative says how happy they are that you stopped drinking
character_event = {
	id = HFP.30003
	desc = EVTDESC_HFP_30003
	picture = GFX_evt_courtiers_talking
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	only_capable = yes
	prisoner = no

	option = {
		name = EVTOPTA_HFP_30003

		remove_trait = drunkard
		add_trait_partially_silently_temperate_effect = yes

		reverse_opinion = {
			name = opinion_happy
			who = event_target:concerned_relative
			years = 5
		}
	}
}

# You become unwell from alcohol withdrawal
character_event = {
	id = HFP.30004
	desc = EVTDESC_HFP_30004
	picture = GFX_evt_illness
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	only_capable = yes

	option = {
		name = EVTOPTA_HFP_30004

		if = {
			limit = { has_dlc = "Reapers" }

			add_symptom_effect = yes
			remove_trait = drunkard
		}
		else = {
			add_trait = ill
			remove_trait = drunkard
		}

		add_trait_partially_silently_temperate_effect = yes
	}
}

# You fail to stop drinking
character_event = {
	id = HFP.30005
	desc = EVTDESC_HFP_30005
	picture = GFX_evt_drunk
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	only_capable = yes
	prisoner = no

	option = {
		name = EVTOPTA_HFP_30005

		reverse_opinion = {
			name = opinion_disappointed
			who = event_target:concerned_relative
			years = 5
		}
	}
}

# Event where you keep hitting your head on doors as a giant
character_event = {
	id = HFP.30010
	desc = EVTDESC_HFP_30010
	picture = GFX_evt_bad_news
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		trait = tall

		NOR = {
			trait = hunchback
			has_character_flag = giant_hitting_head
		}
	}

	immediate = {
		set_character_flag = giant_hitting_head
	}

	option = {
		name = EVTOPTA_HFP_30010

		add_trait_fully_silently_shy_effect = yes
	}

	option = {
		name = EVTOPTB_HFP_30010

		if = {
			limit = { has_dlc = "Reapers" }
			add_trait = headache
		}
		else = {
			add_trait = wounded
		}
	}
}

# Event where your court physician offers you a potion to make you not depressed
character_event = {
	id = HFP.30020
	desc = EVTDESC_HFP_30020
	picture = GFX_evt_bad_news
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes # on_yearly_pulse, random_events

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

	trigger = {
		trait = depressed
		has_assigned_minor_title = title_court_physician
		NOT = { has_character_flag = depression_potion_offer }
	}

	immediate = {
		random_courtier_or_vassal = {
			limit = { has_minor_title = title_court_physician }

			save_event_target_as = physician
			set_character_flag = depression_potion_offer
		}
	}

	option = {
		name = EVTOPTA_HFP_30020

		custom_tooltip = {
			text = EVTOPTA_HFP_30020_TT

			random_list = {
				60 = {
					if = {
						limit = { has_dlc = "Reapers"}
						add_symptom_effect = yes
					}
					else = {
						add_trait_ill_effect = yes
					}
				}

				40 = {
					mult_modifier = {
						factor = 1.2
						event_target:physician = { learning >= 15 }
					}

					mult_modifier = {
						factor = 1.5
						event_target:physician = { learning >= 15 }
					}

					mult_modifier = {
						factor = 2
						event_target:physician = { learning >= 20 }
					}

					mult_modifier = {
						factor = 2
						event_target:physician = { trait = physician }
					}

					remove_trait_depressed_effect = yes
				}
			}
		}
	}

	option = {
		name = EVTOPTB_HFP_30020

		reverse_opinion = {
			name = opinion_disappointed
			who = event_target:physician
			years = 5
		}
	}
}

# on_birth event to better tie freckles trait inheritance to graphical culture and avoid weird spawns

# Freckles traits from thinnest to thickest:
# freckles_3
# freckles_2
# freckles
# freckles_4
# freckles_5

character_event = {
	id = HFP.30030

	is_triggered_only = yes # on_birth
	hide_window = yes

	trigger = {
		OR = {
			graphical_culture = norsegfx
			graphical_culture = saxongfx
			graphical_culture = celticgfx

			trigger_if = {
				limit = { culture = uyghur }
				graphical_culture = cumangfx
			}

			mother_even_if_dead = {
				OR = {
					trait = freckles_3
					trait = freckles_2
					trait = freckles
					trait = freckles_4
					trait = freckles_5
				}
			}

			real_father_even_if_dead = {
				OR = {
					trait = freckles_3
					trait = freckles_2
					trait = freckles
					trait = freckles_4
					trait = freckles_5
				}
			}

			# Rare cases of a non-gfx gaining the trait anyway due to mixed-race union
			mother_even_if_dead = {
				OR = {
					graphical_culture = norsegfx
					graphical_culture = saxongfx
					graphical_culture = celticgfx

					trigger_if = {
						limit = { culture = uyghur }
						graphical_culture = cumangfx
					}
				}
			}

			real_father_even_if_dead = {
				OR = {
					graphical_culture = norsegfx
					graphical_culture = saxongfx
					graphical_culture = celticgfx

					trigger_if = {
						limit = { culture = uyghur }
						graphical_culture = cumangfx
					}
				}
			}

			real_father_even_if_dead = {
				real_father_even_if_dead = {
					OR = {
						graphical_culture = norsegfx
						graphical_culture = saxongfx
						graphical_culture = celticgfx

						trigger_if = {
							limit = { culture = uyghur }
							graphical_culture = cumangfx
						}
					}
				}
			}

			mother_even_if_dead = {
				mother_even_if_dead = {
					OR = {
						graphical_culture = norsegfx
						graphical_culture = saxongfx
						graphical_culture = celticgfx

						trigger_if = {
							limit = { culture = uyghur }
							graphical_culture = cumangfx
						}
					}
				}
			}
		}

		NOR = {
			trait = freckles
			trait = freckles_2
			trait = freckles_3
			trait = freckles_4
			trait = freckles_5
		}
	}

	immediate = {
		random_list = {
			2 = {
				add_trait = freckles_5

				# The thickest versions should only appear if a parent already has the freckles gene, not appear out of nowhere
				trigger = {
					mother_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}

					real_father_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
				}

				mult_modifier = {
					factor = 5
					mother_even_if_dead = { trait = freckles_5 }
				}

				mult_modifier = {
					factor = 5
					real_father_even_if_dead = { trait = freckles_5 }
				}

				# Grandparents
				mult_modifier = {
					factor = 4
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles_5 } }
				}

				mult_modifier = {
					factor = 4
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_5 } }
				}

				mult_modifier = {
					factor = 3
					mother_even_if_dead = { trait = freckles_4 }
				}

				mult_modifier = {
					factor = 3
					real_father_even_if_dead = { trait = freckles_4 }
				}

				# Grandparents
				mult_modifier = {
					factor = 2
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles_4 } }
				}

				mult_modifier = {
					factor = 2
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_4 } }
				}

				# Multiplier bonus
				mult_modifier = {
					factor = 2

					real_father_even_if_dead = { trait = freckles_4 }
					mother_even_if_dead = { trait = freckles_4 }
				}
			}

			6 = {
				add_trait = freckles_4

				# The thickest versions should only appear if a parent already has the freckles gene, not appear out of nowhere
				trigger = {
					mother_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}

					real_father_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
				}

				mult_modifier = {
					factor = 4
					mother_even_if_dead = { trait = freckles_4 }
				}

				mult_modifier = {
					factor = 4
					real_father_even_if_dead = { trait = freckles_4 }
				}

				mult_modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles }
				}

				mult_modifier = {
					factor = 2
					real_father_even_if_dead = { trait = freckles }
				}

				# Grandparents
				mult_modifier = {
					factor = 3
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles_4 } }
				}

				mult_modifier = {
					factor = 3
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_4 } }
				}

				mult_modifier = {
					factor = 1.5
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles } }
				}

				mult_modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles } }
				}

				# Multiplier bonus
				modifier = {
					factor = 2

					real_father_even_if_dead = { trait = freckles }
					mother_even_if_dead = { trait = freckles }
				}
			}

			7 = {
				add_trait = freckles

				# The thickest versions should only appear if a parent already has the freckles gene, not appear out of nowhere
				trigger = {
					mother_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
					real_father_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
				}

				mult_modifier = {
					factor = 4
					mother_even_if_dead = { trait = freckles }
				}

				mult_modifier = {
					factor = 4
					real_father_even_if_dead = { trait = freckles }
				}

				mult_modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles_2 }
				}

				mult_modifier = {
					factor = 2
					real_father_even_if_dead = { trait = freckles_2 }
				}

				# Grandparents
				mult_modifier = {
					factor = 3
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles } }
				}

				mult_modifier = {
					factor = 3
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles } }
				}

				mult_modifier = {
					factor = 1.5
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles_2 } }
				}

				mult_modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_2 } }
				}

				# Multiplier bonus
				mult_modifier = {
					factor = 2

					real_father_even_if_dead = { trait = freckles_2 }
					mother_even_if_dead = { trait = freckles_2 }
				}
			}

			7 = {
				add_trait = freckles_2

				mult_modifier = {
					factor = 4
					mother_even_if_dead = { trait = freckles_2 }
				}

				mult_modifier = {
					factor = 4
					real_father_even_if_dead = { trait = freckles_2 }
				}

				mult_modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles_3 }
				}

				mult_modifier = {
					factor = 2
					real_father_even_if_dead = { trait = freckles_3 }
				}

				# Grandparents
				mult_modifier = {
					factor = 3
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles_2 } }
				}

				mult_modifier = {
					factor = 3
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_2 } }
				}

				mult_modifier = {
					factor = 1.5
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles_3 } }
				}

				mult_modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_3 } }
				}

				# Multiplier bonus
				mult_modifier = {
					factor = 2

					real_father_even_if_dead = { trait = freckles_3 }
					mother_even_if_dead = { trait = freckles_3 }
				}
			}

			10 = {
				add_trait = freckles_3

				mult_modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles_3 }
				}

				mult_modifier = {
					factor = 2
					real_father_even_if_dead = { trait = freckles_3 }
				}

				# Grandparents
				mult_modifier = {
					factor = 1.5
					real_father_even_if_dead = { real_father_even_if_dead = { trait = freckles_3 } }
				}

				mult_modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_3 } }
				}
			}

			80 = { } # Nothing
		}
	}
}

# on_startup (only first time) event to scatter freckles through the pre-existing rulers.
character_event = {
	id = HFP.30031

	is_triggered_only = yes # on_startup
	hide_window = yes

	trigger = {
		is_save_game = no

		OR = {
			graphical_culture = norsegfx
			graphical_culture = saxongfx
			graphical_culture = celticgfx

			trigger_if = {
				limit = { culture = uyghur }
				graphical_culture = cumangfx
			}
		}
	}

	immediate = {
		random_list = {
			 2 = { add_trait = freckles_5 }
			 6 = { add_trait = freckles_4 }
			 7 = { add_trait = freckles }
			 7 = { add_trait = freckles_2 }
			10 = { add_trait = freckles_3 }
			70 = { }
		}
	}
}

# Event for left-handed kids
character_event = {
	id = HFP.30037

	is_triggered_only = yes # on_adolescence, random_events
	hide_window = yes

	only_capable = yes
	prisoner = no

	trigger = {
		trait = lefthanded

		NOR = {
			trait = maimed
			trait = mangled
		}
	}

	immediate = {
		educator = {
			character_event = {
				id = HFP.30032
				days = 400
				random = 200
			}
		}
	}
}

# Educator receives event
character_event = {
	id = HFP.30032
	picture = GFX_evt_child_sword

	desc = {
		text = EVTDESCHFPA30032
		trigger = {
			NOR = {
				religion_group = christian
				religion_group = muslim
				trait = lefthanded
			}
		}
	}
	desc = {
		text = EVTDESCHFPB30032
		trigger = {
			OR = {
				religion_group = christian
				religion_group = muslim
			}

			NOT = { trait = lefthanded }
		}
	}
	desc = {
		text = EVTDESCHFPC30032
		trigger = { trait = lefthanded }
	}

	is_triggered_only = yes

	only_capable = yes
	prisoner = no

	trigger = {
		FROM = {
			educator = { character = ROOT }
			trait = lefthanded
			is_alive = yes
			is_incapable = no
			prisoner = no
		}
	}

	option = { # Teach of how ungodly it is
		name = EVTOPTAHFP30032

		trigger = {
			OR = {
				religion_group = christian
				religion_group = muslim
			}
		}

		custom_tooltip = { text = tooltip_HFP30032_A }

		FROM = {
			set_character_flag = flag_lefthanded_learning
			character_event = { id = HFP.30033 }
		}

		ai_chance = {
			factor = 50

			trigger = {
				NOT = { trait = cynical }
			}

			mult_modifier = {
				factor = 0.2
				trait = lefthanded
			}

			mult_modifier = {
				factor = 1.5
				trait = zealous
			}

			mult_modifier = {
				factor = 1.5
				trait = theologian
			}
		}
	}

	option = { # Teach how impractical it is
		name = EVTOPTBHFP30032

		FROM = {
			show_scope_change = no

			character_event = {
				id = HFP.30033
				tooltip = tooltip_HFP30032_B
			}
		}

		ai_chance = {
			factor = 50

			mult_modifier = {
				factor = 0.2
				trait = lefthanded
			}

			mult_modifier = {
				factor = 1.5
				trait = skilled_tactician
			}

			mult_modifier = {
				factor = 1.5
				trait = brilliant_strategist
			}
		}
	}

	option = { # Do nothing
		name = EVTOPTCHFP30032

		ai_chance = {
			factor = 20

			mult_modifier = {
				factor = 4
				trait = lefthanded
			}
		}
	}
}

# Child receives event
character_event = {
	id = HFP.30033
	picture = GFX_evt_guardian

	desc = {
		text = EVTDESCHFPA30033
		trigger = {
			NOT = { has_character_flag = flag_lefthanded_learning }
		}
	}
	desc = {
		text = EVTDESCHFPB30033
		trigger = { has_character_flag = flag_lefthanded_learning }
	}

	is_triggered_only = yes

	option = { # Pretend to stop using it
		name = EVTOPTAHFP30033

		trigger = {
			OR = {
				trait = deceitful
				trait = willful
				trait = playful
			}
		}

		if = {
			limit = { has_character_flag = flag_lefthanded_learning }
			change_learning = 1
		}
		else = {
			change_martial = 1
		}

		FROM = {
			show_scope_change = no

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

			character_event = {
				id = HFP.30034
				days = 40
			}
		}

		ai_chance = {
			factor = 50

			mult_modifier = {
				factor = 0.5
				trait = dull
			}

			mult_modifier = {
				factor = 0.5
				trait = slow
			}

			mult_modifier = {
				factor = 0.25
				trait = imbecile
			}

			mult_modifier = {
				factor = 1.5
				trait = shrewd
			}

			mult_modifier = {
				factor = 1.5
				trait = genius
			}

			mult_modifier = {
				factor = 1.25
				trait = quick
			}

			mult_modifier = {
				factor = 0.25
				trait = idolizer
			}

			mult_modifier = {
				factor = 0.25
				trait = timid
			}

			mult_modifier = {
				factor = 0.25
				trait = trusting
			}

			mult_modifier = {
				factor = 0.5
				trait = shy
			}
		}
	}

	option = { # Obey
		name = EVTOPTBHFP30033

		if = {
			limit = { has_character_flag = flag_lefthanded_learning }
			change_learning = 2
		}
		else = {
			change_martial = 2
		}

		remove_trait = lefthanded

		FROM = {
			show_scope_change = no

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

			character_event = {
				id = HFP.30035
				days = 40
			}
		}

		ai_chance = { factor = 60 }
	}

	option = { # Stand up
		name = EVTOPTCHFP30033

		FROM = {
			show_scope_change = no

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

			character_event = {
				id = HFP.30036
				days = 10
			}
		}

		ai_chance = {
			factor = 20

			mult_modifier = {
				factor = 4
				trait = stubborn
			}

			mult_modifier = {
				factor = 0.5
				trait = dull
			}
		}
	}

	after = {
		clr_character_flag = flag_lefthanded_learning
	}
}

# Guardian was tricked
character_event = {
	id = HFP.30034
	desc = EVTDESCHFPA30034
	picture = GFX_evt_guardian

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTAHFP30034

		tooltip = {
			opinion = {
				name = opinion_disappointed
				who = FROM
				years = 2
			}
		}
	}
}

# Guardian was listened to
character_event = {
	id = HFP.30035
	desc = EVTDESCHFPA30035
	picture = GFX_evt_guardian

	is_triggered_only = yes

	ai = no

	option = {
		name = GOOD

		tooltip = {
			opinion = {
				name = opinion_happy
				who = FROM
				years = 2
			}
		}
	}
}

# Guardian was denied
character_event = {
	id = HFP.30036
	desc = EVTDESCHFPA30036
	picture = GFX_evt_guardian

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTAHFP30036

		tooltip = {
			opinion = {
				name = opinion_disappointed
				who = FROM
				years = 2
			}
		}
	}
}

# Meteorite falls
character_event = {
	id = HFP.30100
	desc = EVTDESC_HFP_30100
	picture = GFX_evt_comet
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	religion_group = christian
	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		is_feudal = yes
		NOT = { has_character_flag = meteorite_fall }
	}

	immediate = {
		set_character_flag = meteorite_fall
	}

	option = {
		name = EVTOPTA_HFP_30100

		character_event = {
			id = HFP.30102
			months = 1
			tooltip = EVTOPTA_HFP_30100_TOOLTIP
		}
	}

	option = {
		name = EVTOPTB_HFP_30100

		piety = 100
	}

	option = {
		name = EVTOPTC_HFP_30100

		wealth = 125
	}
}

# Meteorite falls
character_event = {
	id = HFP.30102
	desc = EVTDESC_HFP_30102
	picture = GFX_evt_comet
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	only_capable = yes
	prisoner = no

	option = {
		name = EVTOPTA_HFP_30102

		add_artifact = sword_from_heaven
	}
}

## Groomed/Uncouth events

# Children:
# Haughty or Indolent can get Groomed - handled directly in ze_adolescence_events
# Rowdy or Brooding can get Uncouth

# Adults:
# Focus_Family/Seduction: Losing Uncouth/Gaining Groomed
# Focus_Hunting/War: Gaining Uncouth

# HFP.20800 - Loc keys taken for the adolescence events

# Adult ruler losing Uncouth/becoming groomed due to Focus
character_event = {
	id = HFP.20801
	picture = GFX_evt_dancing
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESCAHFP20801
		trigger = {
			has_focus = focus_family
			is_female = yes
			is_married = no
		}
	}
	desc = {
		text = EVTDESCBHFP20801
		trigger = {
			has_focus = focus_family
			is_female = no
			is_married = no
		}
	}
	desc = {
		text = EVTDESCCHFP20801
		trigger = {
			has_focus = focus_family
			is_married = yes
		}
	}
	desc = {
		text = EVTDESCDHFP20801
		trigger = { has_focus = focus_seduction }
	}

	is_triggered_only = yes # on_five_year_pulse, random_events

	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		trigger_if = {
			limit = { is_playable = yes }

			OR = {
				has_focus = focus_family
				has_focus = focus_seduction
			}
		}

		NOR = {
			trait = groomed
			trait = attractive
			trait = disfigured
			trait = celibate
			trait = eunuch
		}
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 0.5
			trait = humble
		}

		mult_modifier = {
			factor = 0.25
			trait = malnourished
		}

		mult_modifier = {
			factor = 0.25
			trait = fat
		}

		mult_modifier = {
			factor = 0.15
			in_command = yes
			war = yes
		}

		mult_modifier = {
			factor = 0.5 # Too Busy
			is_landed = yes
		}

		mult_modifier = {
			factor = 1.5
			trait = proud
		}

		mult_modifier = {
			factor = 1.25
			practical_age >= 20
		}

		mult_modifier = {
			factor = 1.25
			practical_age >= 30
		}

		mult_modifier = {
			factor = 1.25
			practical_age >= 40
		}

		# Trophy Spouse
		mult_modifier = {
			factor = 1.5

			is_ruler = no
			any_spouse = { real_tier = KING }
		}

		mult_modifier = {
			factor = 1.75

			is_ruler = no
			any_spouse = { real_tier = EMPEROR }
		}
	}

	option = {
		name = EVTOPTAHFP20801

		if = {
			limit = { trait = uncouth }
			remove_trait = uncouth
		}
		else = {
			add_trait = groomed
		}
	}
}

# Adult ruler losing Groomed/becoming uncouth due to Focus
character_event = {
	id = HFP.20802
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESCAHFP20802
		picture = GFX_evt_mysterious_forest
		trigger = { has_focus = focus_hunting }
	}
	desc = {
		text = EVTDESCCHFP20802
		picture = GFX_evt_battle
		trigger = { has_focus = focus_war }
	}

	is_triggered_only = yes # on_five_year_pulse, random_events

	min_age = 16
	only_capable = yes
	prisoner = no

	trigger = {
		trigger_if = {
			limit = { is_playable = yes }

			OR = {
				has_focus = focus_war
				has_focus = focus_hunting
			}
		}

		NOT = { trait = uncouth }
	}

	weight_multiplier = {
		factor = 1

		mult_modifier = {
			factor = 1.25
			trait = humble
		}

		mult_modifier = {
			factor = 1.75
			in_command = yes
			war = yes
		}

		mult_modifier = {
			factor = 1.5
			trait = slothful
		}

		mult_modifier = {
			factor = 1.25
			is_landed = yes
		}

		mult_modifier = {
			factor = 0.5
			trait = proud
		}

		mult_modifier = {
			factor = 1.25
			practical_age >= 20
		}

		mult_modifier = {
			factor = 1.25
			practical_age >= 30
		}

		mult_modifier = {
			factor = 1.25
			practical_age >= 40
		}

		# Trophy Spouse
		mult_modifier = {
			factor = 0.5

			is_ruler = no
			any_spouse = { real_tier = KING }
		}

		mult_modifier = {
			factor = 0.25

			is_ruler = no
			any_spouse = { real_tier = EMPEROR }
		}
	}

	option = {
		name = EVTOPTAHFP20802
		tooltip_info = proud

		trigger = { trait = proud }

		add_trait_silently_stressed_effect = yes

		ai_chance = { factor = 10 }
	}

	option = {
		name = EVTOPTBHFP20802

		if = {
			limit = { trait = groomed }
			remove_trait = groomed
		}
		else = {
			add_trait = uncouth
		}

		ai_chance = { factor = 100 }
	}
}

# Good Byzantine commander was discharged (must be delayed to avoid scoping issues)
character_event = {
	id = HFP.20803

	is_triggered_only = yes # lose_effect, title_commander
	hide_window = yes

	trigger = {
		vassal_of = FROMFROM
		can_still_be_commander_byzantine_trigger = yes

		# Has not been given another title within the court
		has_job_title = no
		NOT = { has_minor_title = title_commander }
	}

	immediate = {
		if = {
			limit = { martial >= 28 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -10 } }
		}
		else_if = {
			limit = { martial >= 24 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -5 } }
		}
		else_if = {
			limit = { martial >= 20 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -4 } }
		}
		else_if = {
			limit = { martial >= 18 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -3 } }
		}
		else_if = {
			limit = { martial >= 14 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -2 } }
		}
		else_if = {
			limit = { martial >= 12 }
			liege = { change_variable =	 { which = byzantine_credibility_discharged_hero value = -1 } }
		}
	}
}

# Clear variables on first start for the Emperor
character_event = {
	id = HFP.20804

	is_triggered_only = yes # on_startup
	hide_window = yes

	trigger = {
		has_law = succ_byzantine_elective
		is_save_game = no
	}

	immediate = {
		set_variable = { which = byzantine_credibility_discharged_hero value = 0 }
		set_variable = { which = byzantine_credibility_appointed_sycophant value = 0 }
	}
}

# Poor Byzantine commander was employed (must be delayed to avoid scoping issues)
character_event = {
	id = HFP.20805

	is_triggered_only = yes # gain_effect, title_commander
	hide_window = yes

	trigger = {
		vassal_of = FROMFROM
		martial < 10

		liege = {
			has_law = succ_byzantine_elective

			# Check if any other eligible vassal has higher martial than current character
			any_vassal = {
				attribute_diff = {
					character = ROOT
					attribute = martial
					value >= 5
				}

				trigger_if = {
					limit = {
						NOT = { has_character_flag = special_marshal }
					}

					OR = {
						male_can_hold_minor_title_trigger = yes
						female_can_hold_minor_commander_title_trigger = yes
					}

					trigger_if = {
						limit = { religion = hindu }
						NOT = { trait = kshatriya }
					}

					is_adult = yes
				}

				is_inaccessible_or_incapable_trigger = no
				higher_real_tier_than = BARON # ...or potential commander is vassal...
				has_job_title = no

				NOR = {
					has_minor_title = title_commander
					character = PREVPREV
					primary_title = { temporary = yes }
					has_character_modifier = guru
					has_character_modifier = refusing_to_lead
				}
			}
		}
	}

	immediate = {
		if = {
			limit = { martial >= 8 }
			liege = { change_variable = { which = byzantine_credibility_appointed_sycophant value = -2 } }
		}
		else_if = {
			limit = { martial >= 6 }
			liege = { change_variable = { which = byzantine_credibility_appointed_sycophant value = -3 } }
		}
		else_if = {
			limit = { martial >= 4 }
			liege = { change_variable = { which = byzantine_credibility_appointed_sycophant value = -4 } }
		}
		else_if = {
			limit = { martial >= 2 }
			liege = { change_variable = { which = byzantine_credibility_appointed_sycophant value = -5 } }
		}
		else = {
			liege = { change_variable = { which = byzantine_credibility_appointed_sycophant value = -10 } }
		}
	}
}

# Good Byzantine Marshal was discharged (must be delayed to avoid scoping issues)
character_event = {
	id = HFP.20806

	is_triggered_only = yes
	hide_window = yes

	trigger = {
		vassal_of = FROMFROM
		can_still_be_marshal_byzantine_trigger = yes

		# Has not been given another title within the court
		has_job_title = no
		NOT = { has_minor_title = title_commander }
	}

	immediate = {
		if = {
			limit = { martial >= 28 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -10 } }
		}
		else_if = {
			limit = { martial >= 24 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -5 } }
		}
		else_if = {
			limit = { martial >= 20 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -4 } }
		}
		else_if = {
			limit = { martial >= 18 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -3 } }
		}
		else_if = {
			limit = { martial >= 14 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -2 } }
		}
		else_if = {
			limit = { martial >= 12 }
			liege = { change_variable = { which = byzantine_credibility_discharged_hero value = -1 } }
		}
	}
}

# Creation of the Russian Empire
character_event = {
	id = HFP.16001
	title = evt_TITLE_HFP_16001
	desc = EVTDESC_HFP_16001
	picture = GFX_evt_council
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_HFP_16001
	}
}

# News to other players of the creation of the Russian Empire
character_event = {
	id = HFP.16002
	title = evt_TITLE_HFP_16002
	desc = EVTDESC_HFP_16002
	picture = GFX_evt_council
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_HFP_16002
	}
}


###########################################################
###########    Deal with Inherited artifacts    ###########
###########################################################

# ROOT is new artifact owner
# FROM is inherited artifact
# FROMFROM is previous owner

# CleanSlate meta event to sort out artifact inheritance logic
character_event = {
	id = HFP.16004

	is_triggered_only = yes # on_artifact_inheritance
	hide_window = yes

	immediate = {
		if = {
			limit = { FROM = { has_artifact_flag = ingredient } }
			repeat_event = { id = MNM.5108 } # Deal with inherited ingredients
		}
		else = {
			random = {
				chance = 5 # Old destruction chance
				repeat_event = { id = HFP.16005 } # Deal with all other inherited artifacts
			}
		}
	}
}

character_event = {
	id = HFP.16005

	is_triggered_only = yes
	hide_window = yes

	trigger = {
		NOT = { has_character_flag = dealing_with_inherited_artifacts }
	}

	fail_trigger_effect = {
		# If you are already dealing with another artifact, queue this one up...
		repeat_event = {
			id = HFP.16005
			days = 12
		}
	}

	immediate = {
		if = { # AIs get the short stick...
			limit = {
				ai = yes
				FROM = { is_indestructible = no }
			}

			FROM = { destroy_artifact = yes }
		}
		else = { # Players get a choice... (CleanSlate: as does AI for indestructible artifacts)
			set_character_flag = dealing_with_inherited_artifacts
			FROM = { save_event_target_as = inherited_artifact }
			FROMFROM = { save_event_target_as = previous_owner }

			character_event = {
				id = HFP.16006 # Actual event
				days = 5
			}
		}
	}
}

# Inherited artifact - keep or no?
character_event = {
	id = HFP.16006
	title = title_HFP_16006
	picture = GFX_evt_experiment
	border = GFX_event_normal_frame_diplomacy
	portrait = event_target:previous_owner

	desc = {
		text = EVTDESC_HFP_16006_book
		picture = GFX_evt_library
		trigger = { event_target:inherited_artifact = { has_artifact_flag = book } }
	}
	desc = {
		text = EVTDESC_HFP_16006_combat_weapon
		picture = GFX_evt_armory
		trigger = { event_target:inherited_artifact = { has_artifact_flag = combat_weapon } }
	}
	desc = {
		text = EVTDESC_HFP_16006_armor
		picture = GFX_evt_armory
		trigger = { event_target:inherited_artifact = { has_artifact_flag = armor } }
	}
	desc = {
		text = EVTDESC_HFP_16006_quality_1
		picture = GFX_evt_relic_box
		trigger = { event_target:inherited_artifact = { quality == 1 } }
	}
	desc = {
		text = EVTDESC_HFP_16006_quality_2
		picture = GFX_evt_relic_box
		trigger = { event_target:inherited_artifact = { quality == 2 } }
	}
	desc = {
		text = EVTDESC_HFP_16006_quality_3 # or better
		picture = GFX_evt_relic_box
		trigger = {
			event_target:inherited_artifact = {
				quality >= 3
				NOR = {
					has_artifact_flag = book
					has_artifact_flag = armor
					has_artifact_flag = combat_weapon
				}
			}
		}
	}
	desc = {
		text = EVTDESC_HFP_16006_child
		trigger = { is_adult = no }
	}
	desc = {
		text = EVTDESC_HFP_16006_child
		trigger = { job_treasurer = { always = yes } }
	}

	is_triggered_only = yes

	trigger = {
		event_target:inherited_artifact = {
			owner = { character = ROOT }
		}
	}

	option = { # Spend money on maintenance
		name = {
			text = EVTOPTA_HFP_16006_1_A
			trigger = { event_target:inherited_artifact = { quality == 1 } }
		}
		name = {
			text = EVTOPTA_HFP_16006_1_B
			trigger = { event_target:inherited_artifact = { quality == 1 } }
		}
		name = {
			text = EVTOPTA_HFP_16006_2_A
			trigger = { event_target:inherited_artifact = { quality == 2 } }
		}
		name = {
			text = EVTOPTA_HFP_16006_2_B
			trigger = { event_target:inherited_artifact = { quality == 2 } }
		}
		name = {
			text = EVTOPTA_HFP_16006_3
			trigger = { event_target:inherited_artifact = { quality == 3 } }
		}
		name = {
			text = EVTOPTA_HFP_16006_4
			trigger = { event_target:inherited_artifact = { quality >= 4 } }
		}

		if = {
			limit = { event_target:inherited_artifact = { quality == 1 } }
			scaled_wealth = -0.3
		}
		else_if = {
			limit = { event_target:inherited_artifact = { quality == 2 } }
			scaled_wealth = -0.5
		}
		else_if = {
			limit = { event_target:inherited_artifact = { quality == 3 } }
			scaled_wealth = -0.8
		}
		else = {
			scaled_wealth = -1
		}

		prestige = 25
	}

	option = { # Destroy it
		name = {
			text = EVTOPTB_HFP_16006_1
			trigger = { event_target:inherited_artifact = { quality < 3 } }
		}
		name = {
			text = EVTOPTB_HFP_16006_2
			trigger = { event_target:inherited_artifact = { quality >= 3 } }
		}

		event_target:inherited_artifact = {
			show_scope_change = no

			destroy_artifact = yes
		}
	}

	after = {
		clr_character_flag = dealing_with_inherited_artifacts
	}
}