###################################
#
# 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
	}

	option = { # Leave unchanged / Ruler culture
		trigger = { gfx_culture_scope = { always = yes } }
		ai_chance = {
			factor = 6
		}
	}

	option = { # Local province
		ai_chance = { factor = 3 }
		trigger = {
			historical = no
			employer = {
				NOT = { character = no }
				is_landed = yes
				culture = ROOT
			}
			OR = {
				dynasty = none
				num_of_dynasty_members <= 1
			}
			blg_ethnicity_known = yes
			NOT = { has_game_rule = { name = blg_new_characters value = off } }
		}

		random_realm_province = {
			limit = {
				NOT = { province = no }
				blg_culture_unmixed = no
			}
			ROOT = {
				set_graphical_culture = PREV
			}
		}
	}

	option = { # Neighbour of local province
		ai_chance = { factor = 2 }
		trigger = {
			historical = no
			employer = {
				NOT = { character = no }
				is_landed = yes
				culture = ROOT
			}
			OR = {
				dynasty = none
				num_of_dynasty_members <= 1
			}
			blg_ethnicity_known = yes
			NOT = { has_game_rule = { name = blg_new_characters value = off } }
		}

		random_realm_province = {
			limit = { NOT = { province = no } }
			random_neighbor_province = {
				limit = {
					NOT = { province = no }
					blg_culture_unmixed = no
				}
				ROOT = {
					set_graphical_culture = PREV
				}
			}
		}
	}

	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 = { blg_ethnicity_static = yes }
			add_trait = blgcaoff
		}

		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 }
			}
		}

		if = {
			limit = {
				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
								}
							}
							event_target:maternalgrandfather = {
								OR = {
									trait = freckles_3
									trait = freckles_2
									trait = freckles
									trait = freckles_4
									trait = freckles_5
								}
							}
							blg_freckles_common = yes
						}
					}
					event_target:father = {
						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
								}
							}
							event_target:paternalgrandfather = {
								OR = {
									trait = freckles_3
									trait = freckles_2
									trait = freckles
									trait = freckles_4
									trait = freckles_5
								}
							}
							blg_freckles_common = yes
						}
					}
				}
			}

			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
			}
		}
	}
}

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

	trigger = {
		is_in_society = yes
		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
		}
	}

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

# 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 = {
			prisoner = no
			host = { character = ROOT }
			is_alive = yes
			ai = yes
		}
	}

	fail_trigger_effect = {
		clr_character_flag = secret_bear_chain
	}

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

			blg_set_ethnicity_bear = yes
			culture = bear
		}
	}

	option = {
		name = bear.6.a
	}
	option = {
		name = bear.6.undo
		custom_tooltip = {
			text = UNDO_BEAR_TRANSFORMATION
			event_target:bear = {
				set_graphical_culture = event_target:original_culture
				culture = event_target:original_gfx_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 = {
			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 = {
			death = {
				death_reason = death_execution_eaten
				killer = ROOT
			}
		}
	}
	option = {
		tooltip_info = hunter
		name = bear.6.f
		trigger = {
			trait = hunter
		}
		event_target:bear = {
			death = {
				death_reason = death_execution_hunt
				killer = ROOT
			}
		}
		prestige = 100
	}

	after = {
		clr_character_flag = secret_bear_chain
	}
}
