﻿namespace = multie

multie.1 = {
	type = character_event
	hidden = yes

	immediate = { #Decide how many languages they should master
		
		culture = { add_to_list = known_languages }

		if = {
			limit = { exists = scope:story.var:lang_1 }
			scope:story.var:lang_1 = { save_scope_as = lang_1 }
			multie_determine_if_lang_learned = { LANG_NR = 1 }

			if = {
				limit = {
					NOT = { culture = { has_same_culture_language = scope:lang_1 } }
				}

				if = {
					limit = { scope:lang_1_learned = no }
					scope:lang_1 = { add_to_list = languages_failed_to_learn }
				} else = {
					scope:lang_1 = { add_to_list = known_languages }
				}
			}
		}

		if = {
			limit = { exists = scope:story.var:lang_2 }
			scope:story.var:lang_2 = { save_scope_as = lang_2 }
			multie_determine_if_lang_learned = { LANG_NR = 2 }

			if = {
				limit = {
					NOT = { culture = { has_same_culture_language = scope:lang_2 } }
				}

				if = {
					limit = { scope:lang_2_learned = no }
					scope:lang_2 = { add_to_list = languages_failed_to_learn }
				} else = {
					scope:lang_2 = { add_to_list = known_languages }
				}
			}
		}
		if = {
			limit = { exists = scope:story.var:lang_3 }
			scope:story.var:lang_3 = { save_scope_as = lang_3 }
			multie_determine_if_lang_learned = { LANG_NR = 3 }

			if = {
				limit = {
					NOT = { culture = { has_same_culture_language = scope:lang_3 } }
				}
				
				if = {
					limit = { scope:lang_3_learned = no }
					scope:lang_3 = { add_to_list = languages_failed_to_learn }
				} else = {
					scope:lang_3 = { add_to_list = known_languages }
				}
			}
		}

		multie_list_to_numbered_entries = {
			LIST = known_languages
			PREFIX = known_lang_
		}

		multie_list_to_numbered_entries = {
			LIST = languages_failed_to_learn
			PREFIX = failed_lang_
		}

		save_scope_value_as = {
			name = no_of_languages_failed_to_learn
			value = {
				every_in_list = {
					list = languages_failed_to_learn
					add = 1
				}
			}
		}
		save_scope_value_as = {
			name = no_of_known_languages
			value = {
				every_in_list = {
					list = known_languages
					add = 1
				}
			}
		}
		if = { #If char knows one language...
			limit = { scope:no_of_known_languages = 1 }
			if = { #...and failed to learn none
				limit = { scope:no_of_languages_failed_to_learn = 0 }
				#Nothing
			} else = { #...and failed to learn one or several
				trigger_event = multie.11
			}
		} else = { #If char knows several languages...
			if = { #...and failed to learn none
				limit = { scope:no_of_languages_failed_to_learn = 0 }
				trigger_event = multie.20
			} else_if = { #...and failed to learn one
				limit = { scope:no_of_languages_failed_to_learn = 1 }
				trigger_event = multie.21
			} else_if = {  #...and failed to learn several
				limit = { scope:no_of_languages_failed_to_learn > 1 }
				trigger_event = multie.22
			}
		}
	}
}

multie.11 = { #Knows one, failed one or several
	type = character_event
	theme = education
	title = multie.11.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:failed_lang_3
				}
				desc = multie.11.desc.3
			}
			triggered_desc = {
				trigger = {
					exists = scope:failed_lang_2
				}
				desc = multie.11.desc.2
			}
			desc = multie.11.desc.1
		}
	}
	left_portrait = {
		character = root
		animation = stress
	}
	immediate = {
		multie_learn_learned_languages = yes
		if = {
			limit = {
				scope:story.var:edu_mode = flag:active
			}
			add_stress = {
				value = 0
				every_in_list = {
					list = known_languages
					add = minor_stress_gain
				}
			}
			add_stress = {
				value = 0
				every_in_list = {
					list = languages_failed_to_learn
					add = major_stress_gain
				}
			}
			multie_learn_all_selected_languages = yes
		}
		multie_notify_host_effect = yes
	}

	option = { 
		trigger = {
			scope:story.var:edu_mode = flag:passive
		}
		name = multie.11.a
	}

	option = {
		trigger = {
			scope:story.var:edu_mode = flag:active
		}
		name = multie.opt.active
	}
}

multie.20 = { #Knows several, failed none
	type = character_event
	theme = education
	title = multie.20.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:known_lang_3
				}
				desc = multie.20.desc.3
			}
			desc = multie.20.desc.2
		}
	}
	left_portrait = {
		character = root
		animation = personality_content
	}
	immediate = {
		multie_learn_learned_languages = yes
		multie_notify_host_effect = yes
	}

	option = {
		name = multie.20.a
	}
}

multie.21 = { #Knows several, failed one
	type = character_event
	theme = education
	title = multie.21.t
	desc = multie.21.desc
	left_portrait = {
		character = root
		animation = stress
	}
	immediate = {
		multie_learn_learned_languages = yes
		if = {
			limit = {
				scope:story.var:edu_mode = flag:active
			}
			add_stress = {
				value = 0
				every_in_list = {
					list = known_languages
					add = minor_stress_gain
				}
			}
			add_stress = {
				value = 0
				every_in_list = {
					list = languages_failed_to_learn
					add = major_stress_gain
				}
			}
			multie_learn_all_selected_languages = yes
		}
		multie_notify_host_effect = yes
	}

	option = { 
		trigger = {
			scope:story.var:edu_mode = flag:passive
		}
		name = multie.21.a
	}

	option = {
		trigger = {
			scope:story.var:edu_mode = flag:active
		}
		name = multie.opt.active
	}
}

multie.22 = { #Knows several, failed several
	type = character_event
	theme = education
	title = multie.22.t
	desc = multie.22.desc
	left_portrait = {
		character = root
		animation = anger
	}
	immediate = {
		multie_learn_learned_languages = yes
		if = {
			limit = {
				scope:story.var:edu_mode = flag:active
			}
			add_stress = {
				value = 0
				every_in_list = {
					list = known_languages
					add = minor_stress_gain
				}
			}
			add_stress = {
				value = 0
				every_in_list = {
					list = languages_failed_to_learn
					add = major_stress_gain
				}
			}
			multie_learn_all_selected_languages = yes
		}
		multie_notify_host_effect = yes
	}

	option = { #Ok
	trigger = {
		scope:story.var:edu_mode = flag:passive
	}
		name = multie.22.a
	}

	option = {
		trigger = {
			scope:story.var:edu_mode = flag:active
		}
		name = multie.opt.active
	}
}

multie.100 = { #Start it up for AI
	type = character_event
	hidden = yes
	cooldown = { years = 24 }

	trigger = {
		is_ai = yes
		is_ruler = yes #Keeping this ruler-only - no multilingualism for AI laamps
		is_landless_ruler = no
		highest_held_title_tier > tier_county
		has_more_than_one_language_in_court = yes
	}

	immediate = {
		random = {
			chance = 10 #10% odds for dukes
			modifier = { #50% odds for kings
				highest_held_title_tier > tier_duchy
				add = 40
			}
			modifier = { #100% odds for emperors
				highest_held_title_tier > tier_duchy
				add = 50
			}
			modifier = {
				add = 10
				has_trait = education_diplomacy
			}
			modifier = {
				add = 20
				has_trait = education_learning
			}

			#Select language(s) and start story
			trigger_event = multie.101
		}
	}
}

multie.101 = {
	type = character_event
	hidden = yes
	immediate = {
		save_scope_as = ruler
		remove_variable = multie_lang_1
		remove_variable = multie_lang_2
		remove_variable = multie_lang_3

		#First just gather every available language
		multie_list_available_languages_effect = yes
		#Pick most relevant one
		multie_select_best_language_effect = yes

		#If ruler has at least 5 learning, pick second one
		if = {
			limit = { learning > 4 }
			multie_select_best_language_effect = yes
		}
		#If ruler has at least 15 learning, pick third one
		if = {
			limit = { learning > 14 }
			multie_select_best_language_effect = yes
		}

		#Finally, select passive/active mode based just on ruler kindness
		if = {
			limit = {
				ai_compassion > 0
			}
			set_variable = {
				name = multie_edu_mode
				value = flag:passive
				days = 10
			}
		} else = {
			set_variable = {
				name = multie_edu_mode
				value = flag:active
				days = 10
			}
		}

		#Start story
		multie_selection_to_story_effect = yes
	}
}