###################################
#
# Better Looking Garbs
#
# Events to alter ethnicity on newly created characters.
#
###################################

namespace = blg

# Ethnic diversity in random courtier spawns.
character_event = {
	id = blg.1
	hide_window = yes
	is_triggered_only = yes

	ai = yes
	min_age = 1
	trigger = {
		trait = blgspawn
		has_character_flag = diversity
	}

	option = { # Leave unchanged / Ruler culture
		ai_chance = { factor = 1 }
	}

	option = { # Bear species
		ai_chance = { factor = 100 }
		trigger = {
			OR = {
				graphical_culture = beargfx
				graphical_culture = polarbeargfx
				graphical_culture = blackbeargfx
			}
		}

		blg_set_ethnicity_bear = yes
	}

	### Post Processing.
	after = {
		remove_trait = blgspawn

		blg_character_processing = yes
	}
}

# Mixed ethnicity for children.
# Called from on_birth
character_event = {
	id = blg.2
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		remove_trait = blgspawn

		if = {
			limit = { is_father_real_father = yes }
			father_even_if_dead = { save_event_target_as = father }
		}
		else = {
			real_father_even_if_dead = { save_event_target_as = father }
		}
	}

	option = { # Leave unchanged
		ai_chance = { factor = 4 }

		trigger = {
			NOT = { has_game_rule = { name = blg_child_birth value = primary } }
		}
	}

	option = { # Mixed
		ai_chance = { factor = 6 }

		trigger = { #Only handle known graphical cultures
			OR = {
				has_game_rule = { name = blg_child_birth value = on }
				has_game_rule = { name = blg_child_birth value = limited }
			}

			event_target:father = { blg_ethnicity_known = yes }
			mother_even_if_dead = { blg_ethnicity_known = yes }
		}

		blg_child_mixed = yes
	}

	option = { # Primary parent game rule
		trigger = {
			has_game_rule = { name = blg_child_birth value = primary }
		}

		if = {
			limit = {
				mother_even_if_dead = {
					trigger_if = {
						limit = { is_married = event_target:father }
						is_married_matrilineally = yes
					}
					trigger_else_if = {
						limit = { is_consort = event_target:father }
						is_senior_consort_party = yes
					}
					trigger_else = {
						higher_tier_than = event_target:father
					}
				}
			}
			mother_even_if_dead = {
				gfx_culture_scope = {
					ROOT = { set_graphical_culture = PREV }
				}
			}
		}
		else = {
			event_target:father = {
				gfx_culture_scope = {
					ROOT = { set_graphical_culture = PREV }
				}
			}
		}
	}

	# Change hairstyles etc. to the childs cultural upbringing.
	after = {
		if = {
			limit = { has_game_rule = { name = blg_child_birth value = on } }

			blg_child_upbringing = yes
		}
		gfx_culture_scope = { save_event_target_as = gfxchild }

		# Match twins
		if = {
			limit = {
				trait = twin
				NOT = { has_game_rule = { name = blg_child_birth value = off } }
			}
			twin = {
				set_graphical_culture = event_target:gfxchild
			}
		}

		if = {
			limit = { blg_ethnicity_static = yes }
			add_trait = blgcaoff
		}

		# Testing log
		event_target:father = { gfx_culture_scope = { save_event_target_as = gfxfather } }
		mother_even_if_dead = { gfx_culture_scope = { save_event_target_as = gfxmother } }

		if = {
			limit = {
				event_target:gfxchild = {
					NOR = {
						event_target:gfxfather = { culture = PREV }
						event_target:gfxmother = { culture = PREV }
					}
				}
			}

			log = "MIXED CHILD: [Root.GetFullName] is a [Root.Culture.GetName] [gfxchild.Culture.GetName] from [gfxfather.Culture.GetName] and [gfxmother.Culture.GetName]."
		}
	}
}

# Check when new society quests start.
character_event = {
	id = blg.3
	hide_window = yes
	is_triggered_only = yes

	is_in_society = yes
	trigger = {
		NOT = { trait = blgcaoff }
	}

	immediate = {
		if = {
			limit = {
				has_any_quest = yes
			}
			add_trait = blgquesting
		}
		else_if = {
			limit = {
				NOT = { has_character_modifier = quest_cooldown_timer }
			}
			repeat_event = { id = blg.3 days = 7}
		}
	}
}

# Installatian check event.
character_event = {
	id = blg.4
	title = BETTER_LOOKING_GARBS
	desc = blg.4.desc

	picture = GFX_evt_church_council
	border = GFX_event_normal_frame_intrigue
	hide_from = yes

	is_triggered_only = yes

	ai = no
	trigger = {
		OR = {
			has_dlc = "The Sword of Islam"
			has_dlc = "Legacy of Rome"
			has_dlc = "Sunset Invasion"
			has_dlc = "The Republic"
			has_dlc = "The Old Gods"
			has_dlc = "Sons of Abraham"
			has_dlc = "Rajas of India"
			has_dlc = "Charlemagne"
			has_dlc = "Way of Life"
			has_dlc = "Horse Lords"
			has_dlc = "Conclave"
			has_dlc = "Reapers"
			has_dlc = "Mystics"
			has_dlc = "Jade Dragon"
			has_dlc = "Holy Fury"
		}
	}

	option = {
		name = blg.4.opt
	}
}

# Initial ethnic diversity.
character_event = {
	id = blg.5
	hide_window = yes
	is_triggered_only = yes

	trigger = {
		OR = {
			is_multiplayer_host_character = yes
			is_local_human_observer = yes
		}
	}

	option = {
		any_character = { character_event = { id = blg.1 } }
	}
}

# Replacement for the original event since Paradox fucked up on the father scope.
# Add additional freckled graphical cultures.
character_event = {
	id = HFP.30030
	hide_window = yes
	is_triggered_only = yes

	trigger = {
		NOR = {
			trait = freckles
			trait = freckles_2
			trait = freckles_3
			trait = freckles_4
			trait = freckles_5
		}
		OR = {
			blg_freckles_common = yes
			mother_even_if_dead = {
				OR = {
					trait = freckles_3
					trait = freckles_2
					trait = freckles
					trait = freckles_4
					trait = freckles_5
					mother_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
					true_father_even_if_dead = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
					blg_freckles_common = yes
				}
			}
			trigger_if = {
				limit = { is_father_real_father = yes }
				father_even_if_dead = {
					OR = {
						trait = freckles_3
						trait = freckles_2
						trait = freckles
						trait = freckles_4
						trait = freckles_5
						mother_even_if_dead = {
							OR = {
								trait = freckles_3
								trait = freckles_2
								trait = freckles
								trait = freckles_4
								trait = freckles_5
							}
						}
						true_father_even_if_dead = {
							OR = {
								trait = freckles_3
								trait = freckles_2
								trait = freckles
								trait = freckles_4
								trait = freckles_5
							}
						}
						blg_freckles_common = yes
					}
				}
			}
			trigger_else = {
				real_father_even_if_dead = {
					OR = {
						trait = freckles_3
						trait = freckles_2
						trait = freckles
						trait = freckles_4
						trait = freckles_5
						mother_even_if_dead = {
							OR = {
								trait = freckles_3
								trait = freckles_2
								trait = freckles
								trait = freckles_4
								trait = freckles_5
							}
						}
						true_father_even_if_dead = {
							OR = {
								trait = freckles_3
								trait = freckles_2
								trait = freckles
								trait = freckles_4
								trait = freckles_5
							}
						}
						blg_freckles_common = yes
					}
				}
			}
		}
	}

	immediate = {
		if = {
			limit = { is_father_real_father = yes }
			father_even_if_dead = { save_event_target_as = father }
		}
		else = {
			real_father_even_if_dead = { save_event_target_as = father }
		}
		event_target:father = {
			if = {
				limit = { is_father_real_father = yes }
				father_even_if_dead = { save_event_target_as = paternalgrandfather }
			}
			else = {
				real_father_even_if_dead = { save_event_target_as = paternalgrandfather }
			}
		}
		mother_even_if_dead = {
			if = {
				limit = { is_father_real_father = yes }
				father_even_if_dead = { save_event_target_as = maternalgrandfather }
			}
			else = {
				real_father_even_if_dead = { save_event_target_as = maternalgrandfather }
			}
		}

		random_list = {
			2 = {
				add_trait = freckles_5
				modifier = {
					factor = 5
					mother_even_if_dead = { trait = freckles_5 }
				}
				modifier = {
					factor = 5
					event_target:father = { trait = freckles_5 }
				}
				#Grandparents
				modifier = {
					factor = 4
					event_target:paternalgrandfather = { trait = freckles_5 }
				}
				modifier = {
					factor = 4
					event_target:father = { mother_even_if_dead = { trait = freckles_5 } }
				}
				modifier = {
					factor = 4
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_5 } }
				}
				modifier = {
					factor = 4
					event_target:maternalgrandfather = { trait = freckles_5 }
				}

				modifier = {
					factor = 3
					mother_even_if_dead = { trait = freckles_4 }
				}
				modifier = {
					factor = 3
					event_target:father = { trait = freckles_4 }
				}
				#Grandparents
				modifier = {
					factor = 2
					event_target:paternalgrandfather = { trait = freckles_4 }
				}
				modifier = {
					factor = 2
					event_target:father = { mother_even_if_dead = { trait = freckles_4 } }
				}
				modifier = {
					factor = 2
					event_target:maternalgrandfather = { trait = freckles_4 }
				}
				modifier = {
					factor = 2
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_4 } }
				}
				#Multiplier bonus
				modifier = {
					factor = 2
					event_target:father = { trait = freckles_4 }
					mother_even_if_dead = { 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
						}
					}
					event_target:father = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
				}
			}
			6 = {
				add_trait = freckles_4
				modifier = {
					factor = 4
					mother_even_if_dead = { trait = freckles_4 }
				}
				modifier = {
					factor = 4
					event_target:father = { trait = freckles_4 }
				}
				#Grandparents
				modifier = {
					factor = 3
					event_target:paternalgrandfather = { trait = freckles_4 }
				}
				modifier = {
					factor = 3
					event_target:father = { mother_even_if_dead = { trait = freckles_4 } }
				}
				modifier = {
					factor = 3
					event_target:maternalgrandfather = { trait = freckles_4 }
				}
				modifier = {
					factor = 3
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_4 } }
				}

				modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles }
				}
				modifier = {
					factor = 2
					event_target:father = { trait = freckles }
				}
				#Grandparents
				modifier = {
					factor = 1.5
					event_target:paternalgrandfather = { trait = freckles }
				}
				modifier = {
					factor = 1.5
					event_target:father = { mother_even_if_dead = { trait = freckles } }
				}
				modifier = {
					factor = 1.5
					event_target:maternalgrandfather = { trait = freckles }
				}
				modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles } }
				}
				#Multiplier bonus
				modifier = {
					factor = 2
					event_target:father = { trait = freckles }
					mother_even_if_dead = { 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
						}
					}
					event_target:father = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
				}
			}
			7 = {
				add_trait = freckles
				modifier = {
					factor = 4
					mother_even_if_dead = { trait = freckles }
				}
				modifier = {
					factor = 4
					event_target:father = { trait = freckles }
				}
				#Grandparents
				modifier = {
					factor = 3
					event_target:paternalgrandfather = { trait = freckles }
				}
				modifier = {
					factor = 3
					event_target:father = { mother_even_if_dead = { trait = freckles } }
				}
				modifier = {
					factor = 3
					event_target:maternalgrandfather = { trait = freckles }
				}
				modifier = {
					factor = 3
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles } }
				}

				modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles_2 }
				}
				modifier = {
					factor = 2
					event_target:father = { trait = freckles_2 }
				}
				#Grandparents
				modifier = {
					factor = 1.5
					event_target:paternalgrandfather = { trait = freckles_2 }
				}
				modifier = {
					factor = 1.5
					event_target:father = { mother_even_if_dead = { trait = freckles_2 } }
				}
				modifier = {
					factor = 1.5
					event_target:maternalgrandfather = { trait = freckles_2 }
				}
				modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_2 } }
				}
				#Multiplier bonus
				modifier = {
					factor = 2
					event_target:father = { trait = freckles_2 }
					mother_even_if_dead = { trait = freckles_2 }
				}
				#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
						}
					}
					event_target:father = {
						OR = {
							trait = freckles_3
							trait = freckles_2
							trait = freckles
							trait = freckles_4
							trait = freckles_5
						}
					}
				}
			}
			7 = {
				add_trait = freckles_2
				modifier = {
					factor = 4
					mother_even_if_dead = { trait = freckles_2 }
				}
				modifier = {
					factor = 4
					event_target:father = { trait = freckles_2 }
				}
				#Grandparents
				modifier = {
					factor = 2
					event_target:paternalgrandfather = { trait = freckles_2 }
				}
				modifier = {
					factor = 2
					event_target:father = { mother_even_if_dead = { trait = freckles_2 } }
				}
				modifier = {
					factor = 2
					event_target:maternalgrandfather = { trait = freckles_2 }
				}
				modifier = {
					factor = 2
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_2 } }
				}

				modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles_3 }
				}
				modifier = {
					factor = 2
					event_target:father = { trait = freckles_3 }
				}
				#Grandparents
				modifier = {
					factor = 1.5
					event_target:paternalgrandfather = { trait = freckles_3 }
				}
				modifier = {
					factor = 1.5
					event_target:father = { mother_even_if_dead = { trait = freckles_3 } }
				}
				modifier = {
					factor = 1.5
					event_target:maternalgrandfather = { trait = freckles_3 }
				}
				modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_3 } }
				}
				#Multiplier bonus
				modifier = {
					factor = 2
					event_target:father = { trait = freckles_3 }
					mother_even_if_dead = { trait = freckles_3 }
				}
			}
			10 = {
				add_trait = freckles_3
				modifier = {
					factor = 2
					mother_even_if_dead = { trait = freckles_3 }
				}
				modifier = {
					factor = 2
					event_target:father = { trait = freckles_3 }
				}
				#Grandparents
				modifier = {
					factor = 1.5
					event_target:paternalgrandfather = { trait = freckles_3 }
				}
				modifier = {
					factor = 1.5
					event_target:father = { mother_even_if_dead = { trait = freckles_3 } }
				}
				modifier = {
					factor = 1.5
					event_target:maternalgrandfather = { trait = freckles_3 }
				}
				modifier = {
					factor = 1.5
					mother_even_if_dead = { mother_even_if_dead = { trait = freckles_3 } }
				}
			}
			80 = { } #Nothing
		}
	}
}

# Bearly Legal
long_character_event = {
	id = bear.6

	title = bear.6.title
	desc = bear.6.desc
	picture = GFX_evt_feast

	is_triggered_only = yes

	prisoner = no
	only_capable = yes

	trigger = {
		event_target:bear_character = {
			prisoner = no
			host = { character = ROOT }
			is_alive = yes
			ai = yes
		}
	}

	fail_trigger_effect = {
		clr_character_flag = secret_bear_chain
	}

	immediate = {
		event_target:bear_character = {
			culture_scope = { save_event_target_as = original_culture }
			gfx_culture_scope = { save_event_target_as = original_gfx_culture }
			clr_character_flag = secret_bear

			culture = bear
			blg_set_ethnicity_bear = yes
		}
	}

	option = {
		name = bear.6.a
	}

	option = {
		name = bear.6.undo
		custom_tooltip = {
			text = UNDO_BEAR_TRANSFORMATION
			event_target:bear_character = {
				set_graphical_culture = event_target:original_gfx_culture
				culture = event_target:original_culture
			}
		}
	}

	option = {
		name = bear.6.b
		trigger = {
			NOT = { trait = hunter }
		}
	}

	option = {
		name = bear.6.d
		trigger = {
			NOR = {
				trait = cannibal_trait
				trait = lunatic
			}
		}
	}

	option = {
		tooltip_info = cannibal_trait
		name = bear.6.e
		trigger = {
			trait = cannibal_trait
		}
		event_target:bear_character = {
			death = {
				death_reason = death_execution_eaten
				killer = ROOT
			}
		}
	}

	option = {
		tooltip_info = lunatic
		name = bear.6.e
		trigger = {
			NOT = { trait = cannibal_trait }
			trait = lunatic
		}
		event_target:bear_character = {
			death = {
				death_reason = death_execution_eaten
				killer = ROOT
			}
		}
	}

	option = {
		tooltip_info = hunter
		name = bear.6.f
		trigger = {
			trait = hunter
		}
		event_target:bear_character = {
			death = {
				death_reason = death_execution_hunt
				killer = ROOT
			}
		}
		prestige = 100
	}

	after = {
		clr_character_flag = secret_bear_chain
	}
}
