﻿
#From broadest to most specific components
ccu_initialize_culture_effect = {
	#Heritages
	ccu_initialize_heritage_group_effect = yes
	ccu_initialize_heritage_family_effect = yes
	ccu_initialize_kulturbund_effect = yes
	#Languages
	ccu_initialize_language_family_effect = yes
	ccu_initialize_language_branch_effect = yes
	ccu_initialize_language_group_effect = yes
	ccu_initialize_dialect_continua_effect = yes
	#Additional language effects
	ccu_initialize_language_creole_effect = yes
	ccu_initialize_language_union_effect = yes
}

#Heritages:
# Heritage Family => Heritage Groups

ccu_initialize_heritage_family_effect = {
	if = { limit = { has_cultural_parameter = heritage_family_african } add_to_variable_list = { name = heritage_family target = flag:heritage_family_african } }
	if = { limit = { has_cultural_parameter = heritage_family_east_asian } add_to_variable_list = { name = heritage_family target = flag:heritage_family_east_asian } }
	if = { limit = { has_cultural_parameter = heritage_family_eurasian } add_to_variable_list = { name = heritage_family target = flag:heritage_family_eurasian } }
	if = { limit = { has_cultural_parameter = heritage_family_european } add_to_variable_list = { name = heritage_family target = flag:heritage_family_european } }
	if = { limit = { has_cultural_parameter = heritage_family_middle_eastern } add_to_variable_list = { name = heritage_family target = flag:heritage_family_middle_eastern } }
	if = { limit = { has_cultural_parameter = heritage_family_native_american } add_to_variable_list = { name = heritage_family target = flag:heritage_family_native_american } }
	if = { limit = { has_cultural_parameter = heritage_family_south_asian } add_to_variable_list = { name = heritage_family target = flag:heritage_family_south_asian } }
	if = { limit = { has_cultural_parameter = heritage_family_southeast_asian } add_to_variable_list = { name = heritage_family target = flag:heritage_family_southeast_asian } }
	if = { limit = { has_cultural_parameter = heritage_family_west_asian } add_to_variable_list = { name = heritage_family target = flag:heritage_family_west_asian } }
}

ccu_initialize_heritage_group_effect = {
	if = { limit = { has_cultural_parameter = heritage_group_arabic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_arabic } }
	if = { limit = { has_cultural_parameter = heritage_group_arctic_native_american } add_to_variable_list = { name = heritage_group target = flag:heritage_group_arctic_native_american } }
	# if = { limit = { has_cultural_parameter = heritage_group_balto_finnic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_balto_finnic } }
	# if = { limit = { has_cultural_parameter = heritage_group_balto_slavic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_balto_slavic } }
	if = { limit = { has_cultural_parameter = heritage_group_berber } add_to_variable_list = { name = heritage_group target = flag:heritage_group_berber } }
	# if = { limit = { has_cultural_parameter = heritage_group_burmese } add_to_variable_list = { name = heritage_group target = flag:heritage_group_burmese } }
	if = { limit = { has_cultural_parameter = heritage_group_byzantine } add_to_variable_list = { name = heritage_group target = flag:heritage_group_byzantine } }
	if = { limit = { has_cultural_parameter = heritage_group_celtic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_celtic } }
	if = { limit = { has_cultural_parameter = heritage_group_central_african } add_to_variable_list = { name = heritage_group target = flag:heritage_group_central_african } }
	if = { limit = { has_cultural_parameter = heritage_group_chinese } add_to_variable_list = { name = heritage_group target = flag:heritage_group_chinese } }
	# if = { limit = { has_cultural_parameter = heritage_group_dravidian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_dravidian } }
	if = { limit = { has_cultural_parameter = heritage_group_east_african } add_to_variable_list = { name = heritage_group target = flag:heritage_group_east_african } }
	# if = { limit = { has_cultural_parameter = heritage_group_finno_ugric } add_to_variable_list = { name = heritage_group target = flag:heritage_group_finno_ugric } }
	if = { limit = { has_cultural_parameter = heritage_group_germanic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_germanic } }
	if = { limit = { has_cultural_parameter = heritage_group_indo_aryan } add_to_variable_list = { name = heritage_group target = flag:heritage_group_indo_aryan } }
	if = { limit = { has_cultural_parameter = heritage_group_iranian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_iranian } }
	if = { limit = { has_cultural_parameter = heritage_group_latin } add_to_variable_list = { name = heritage_group target = flag:heritage_group_latin } }
	if = { limit = { has_cultural_parameter = heritage_group_levantine } add_to_variable_list = { name = heritage_group target = flag:heritage_group_levantine } }
	# if = { limit = { has_cultural_parameter = heritage_group_mongolic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_mongolic } }
	if = { limit = { has_cultural_parameter = heritage_group_northeast_native_american } add_to_variable_list = { name = heritage_group target = flag:heritage_group_northeast_native_american } }
	# if = { limit = { has_cultural_parameter = heritage_group_sahelian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_sahelian } }
	if = { limit = { has_cultural_parameter = heritage_group_siberian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_siberian } }
	if = { limit = { has_cultural_parameter = heritage_group_tibeto_qiangic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_tibeto_qiangic } }
	# if = { limit = { has_cultural_parameter = heritage_group_tocharian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_tocharian } }
	# if = { limit = { has_cultural_parameter = heritage_group_turkic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_turkic } }
	if = { limit = { has_cultural_parameter = heritage_group_ugro_permian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_ugro_permian } }
	if = { limit = { has_cultural_parameter = heritage_group_volga_finnic } add_to_variable_list = { name = heritage_group target = flag:heritage_group_volga_finnic } }
	if = { limit = { has_cultural_parameter = heritage_group_west_african } add_to_variable_list = { name = heritage_group target = flag:heritage_group_west_african } }
	if = { limit = { has_cultural_parameter = heritage_group_fennoscandian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_fennoscandian } }
	if = { limit = { has_cultural_parameter = heritage_group_balkan } add_to_variable_list = { name = heritage_group target = flag:heritage_group_balkan } }
	if = { limit = { has_cultural_parameter = heritage_group_iberian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_iberian } }
	if = { limit = { has_cultural_parameter = heritage_group_steppe } add_to_variable_list = { name = heritage_group target = flag:heritage_group_steppe } }
	if = { limit = { has_cultural_parameter = heritage_group_north_african } add_to_variable_list = { name = heritage_group target = flag:heritage_group_north_african } }
	if = { limit = { has_cultural_parameter = heritage_group_central_european } add_to_variable_list = { name = heritage_group target = flag:heritage_group_central_european } }
	if = { limit = { has_cultural_parameter = heritage_group_eastern_european } add_to_variable_list = { name = heritage_group target = flag:heritage_group_eastern_european } }
	if = { limit = { has_cultural_parameter = heritage_group_north_asian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_north_asian } }
	if = { limit = { has_cultural_parameter = heritage_group_mon_khmer } add_to_variable_list = { name = heritage_group target = flag:heritage_group_mon_khmer } }
	if = { limit = { has_cultural_parameter = heritage_group_kra_dai } add_to_variable_list = { name = heritage_group target = flag:heritage_group_kra_dai } }
	# if = { limit = { has_cultural_parameter = heritage_group_loloish } add_to_variable_list = { name = heritage_group target = flag:heritage_group_loloish } }
	if = { limit = { has_cultural_parameter = heritage_group_austronesian } add_to_variable_list = { name = heritage_group target = flag:heritage_group_austronesian } }
	if = { limit = { has_cultural_parameter = heritage_group_japanese } add_to_variable_list = { name = heritage_group target = flag:heritage_group_japanese } }
	if = { limit = { has_cultural_parameter = heritage_group_korean } add_to_variable_list = { name = heritage_group target = flag:heritage_group_korean } }
	if = { limit = { has_cultural_parameter = heritage_group_central_african } add_to_variable_list = { name = heritage_group target = flag:heritage_group_central_african } }
	if = { limit = { has_cultural_parameter = heritage_group_south_african } add_to_variable_list = { name = heritage_group target = flag:heritage_group_south_african } }
}

ccu_initialize_kulturbund_effect = {
	set_variable = { name = kulturbund value = flag:none }
	if = { limit = { has_cultural_parameter = kulturbund_altaic } set_variable = { name = kulturbund value = flag:kulturbund_altaic } }
	if = { limit = { has_cultural_parameter = kulturbund_himmalyan } set_variable = { name = kulturbund value = flag:kulturbund_himmalyan } }
	if = { limit = { has_cultural_parameter = kulturbund_north_sea } set_variable = { name = kulturbund value = flag:kulturbund_north_sea } }
	if = { limit = { has_cultural_parameter = kulturbund_scythian } set_variable = { name = kulturbund value = flag:kulturbund_scythian } }
}

#Languages
#Language Family => Language Branch => Language Group (Optional) => Dialect Continua (Optional)
#Branches are first level divisions of families
#Groups are sub-branch divisions (e.g., Balto-Slavic => Baltic + Slavic)

ccu_initialize_language_family_effect = {
	if = { limit = { has_cultural_parameter = language_family_afro_asiatic } set_variable = { name = language_family value = flag:language_family_afro_asiatic } }
	else_if = { limit = { has_cultural_parameter = language_family_algic } set_variable = { name = language_family value = flag:language_family_algic } }
	else_if = { limit = { has_cultural_parameter = language_family_amuric } set_variable = { name = language_family value = flag:language_family_amuric } }
	else_if = { limit = { has_cultural_parameter = language_family_atlantic_congo } set_variable = { name = language_family value = flag:language_family_atlantic_congo } }
	else_if = { limit = { has_cultural_parameter = language_family_austroasiatic } set_variable = { name = language_family value = flag:language_family_austroasiatic } }
	else_if = { limit = { has_cultural_parameter = language_family_austronesian } set_variable = { name = language_family value = flag:language_family_austronesian } }
	else_if = { limit = { has_cultural_parameter = language_family_beothuk_family } set_variable = { name = language_family value = flag:language_family_beothuk_family } }
	else_if = { limit = { has_cultural_parameter = language_family_burushaski } set_variable = { name = language_family value = flag:language_family_burushaski } }
	else_if = { limit = { has_cultural_parameter = language_family_dene_yeniseian } set_variable = { name = language_family value = flag:language_family_dene_yeniseian } }
	else_if = { limit = { has_cultural_parameter = language_family_dravidian } set_variable = { name = language_family value = flag:language_family_dravidian } }
	else_if = { limit = { has_cultural_parameter = language_family_east_caucasian } set_variable = { name = language_family value = flag:language_family_east_caucasian } }
	else_if = { limit = { has_cultural_parameter = language_family_elamite_family } set_variable = { name = language_family value = flag:language_family_elamite_family } }
	else_if = { limit = { has_cultural_parameter = language_family_eskaleut } set_variable = { name = language_family value = flag:language_family_eskaleut } }
	else_if = { limit = { has_cultural_parameter = language_family_indo_european } set_variable = { name = language_family value = flag:language_family_indo_european } }
	else_if = { limit = { has_cultural_parameter = language_family_iroquoian } set_variable = { name = language_family value = flag:language_family_iroquoian } }
	else_if = { limit = { has_cultural_parameter = language_family_kartvelian } set_variable = { name = language_family value = flag:language_family_kartvelian } }
	else_if = { limit = { has_cultural_parameter = language_family_mande } set_variable = { name = language_family value = flag:language_family_mande } }
	else_if = { limit = { has_cultural_parameter = language_family_mongolic } set_variable = { name = language_family value = flag:language_family_mongolic } }
	else_if = { limit = { has_cultural_parameter = language_family_nilo_saharan } set_variable = { name = language_family value = flag:language_family_nilo_saharan } }
	else_if = { limit = { has_cultural_parameter = language_family_northwest_caucasian } set_variable = { name = language_family value = flag:language_family_northwest_caucasian } }
	else_if = { limit = { has_cultural_parameter = language_family_old_european } set_variable = { name = language_family value = flag:language_family_old_european } }
	else_if = { limit = { has_cultural_parameter = language_family_sino_tibetan } set_variable = { name = language_family value = flag:language_family_sino_tibetan } }
	else_if = { limit = { has_cultural_parameter = language_family_tungusic } set_variable = { name = language_family value = flag:language_family_tungusic } }
	else_if = { limit = { has_cultural_parameter = language_family_turkic } set_variable = { name = language_family value = flag:language_family_turkic } }
	else_if = { limit = { has_cultural_parameter = language_family_uralic } set_variable = { name = language_family value = flag:language_family_uralic } }
	else_if = { limit = { has_cultural_parameter = language_family_yukaghir } set_variable = { name = language_family value = flag:language_family_yukaghir } }
	else_if = { limit = { has_cultural_parameter = language_family_kra_dai } set_variable = { name = language_family value = flag:language_family_kra_dai } }
	# else_if = { limit = { has_cultural_parameter = language_family_malayo_polynesian } set_variable = { name = language_family value = flag:language_family_malayo_polynesian } }
	else_if = { limit = { has_cultural_parameter = language_family_koreanic } set_variable = { name = language_family value = flag:language_family_koreanic } }
	else_if = { limit = { has_cultural_parameter = language_family_japonic } set_variable = { name = language_family value = flag:language_family_japonic } }
	else_if = { limit = { has_cultural_parameter = language_family_ainu } set_variable = { name = language_family value = flag:language_family_ainu } }
	else_if = { limit = { has_cultural_parameter = language_family_atlantic_congo } set_variable = { name = language_family value = flag:language_family_atlantic_congo } }
	else_if = { limit = { has_cultural_parameter = language_family_hmong_mien } set_variable = { name = language_family value = flag:language_family_hmong_mien } }
	else_if = { limit = { has_cultural_parameter = language_family_papuan } set_variable = { name = language_family value = flag:language_family_papuan } }
	# else_if = { limit = { has_cultural_parameter = language_family_burusho } set_variable = { name = language_family value = flag:language_family_burusho } }
}

ccu_initialize_language_branch_effect = {
	if = { limit = { has_cultural_parameter = language_branch_algonquian } set_variable = { name = language_branch value = flag:language_branch_algonquian } }
	else_if = { limit = { has_cultural_parameter = language_branch_armenian } set_variable = { name = language_branch value = flag:language_branch_armenian } }
	else_if = { limit = { has_cultural_parameter = language_branch_avar_andic } set_variable = { name = language_branch value = flag:language_branch_avar_andic } }
	else_if = { limit = { has_cultural_parameter = language_branch_balto_slavic } set_variable = { name = language_branch value = flag:language_branch_balto_slavic } }
	else_if = { limit = { has_cultural_parameter = language_branch_basque } set_variable = { name = language_branch value = flag:language_branch_basque } }
	else_if = { limit = { has_cultural_parameter = language_branch_beothuk_group } set_variable = { name = language_branch value = flag:language_branch_beothuk_group } }
	else_if = { limit = { has_cultural_parameter = language_branch_berber } set_variable = { name = language_branch value = flag:language_branch_berber } }
	else_if = { limit = { has_cultural_parameter = language_branch_burusho } set_variable = { name = language_branch value = flag:language_branch_burusho } }
	else_if = { limit = { has_cultural_parameter = language_branch_celtic } set_variable = { name = language_branch value = flag:language_branch_celtic } }
	else_if = { limit = { has_cultural_parameter = language_branch_chadic } set_variable = { name = language_branch value = flag:language_branch_chadic } }
	else_if = { limit = { has_cultural_parameter = language_branch_circassian } set_variable = { name = language_branch value = flag:language_branch_circassian } }
	else_if = { limit = { has_cultural_parameter = language_branch_cushitic } set_variable = { name = language_branch value = flag:language_branch_cushitic } }
	else_if = { limit = { has_cultural_parameter = language_branch_elamite_group } set_variable = { name = language_branch value = flag:language_branch_elamite_group } }
	else_if = { limit = { has_cultural_parameter = language_branch_finno_saamic } set_variable = { name = language_branch value = flag:language_branch_finno_saamic } }
	else_if = { limit = { has_cultural_parameter = language_branch_germanic } set_variable = { name = language_branch value = flag:language_branch_germanic } }
	else_if = { limit = { has_cultural_parameter = language_branch_hellenic } set_variable = { name = language_branch value = flag:language_branch_hellenic } }
	else_if = { limit = { has_cultural_parameter = language_branch_indo_aryan } set_variable = { name = language_branch value = flag:language_branch_indo_aryan } }
	else_if = { limit = { has_cultural_parameter = language_branch_indo_iranian } set_variable = { name = language_branch value = flag:language_branch_indo_iranian } }
	else_if = { limit = { has_cultural_parameter = language_branch_inuit } set_variable = { name = language_branch value = flag:language_branch_inuit } }
	else_if = { limit = { has_cultural_parameter = language_branch_italic } set_variable = { name = language_branch value = flag:language_branch_italic } }
	else_if = { limit = { has_cultural_parameter = language_branch_karto_zan } set_variable = { name = language_branch value = flag:language_branch_karto_zan } }
	else_if = { limit = { has_cultural_parameter = language_branch_kru } set_variable = { name = language_branch value = flag:language_branch_kru } }
	else_if = { limit = { has_cultural_parameter = language_branch_lezgic } set_variable = { name = language_branch value = flag:language_branch_lezgic } }
	else_if = { limit = { has_cultural_parameter = language_branch_malayo_polynesian } set_variable = { name = language_branch value = flag:language_branch_malayo_polynesian } }
	else_if = { limit = { has_cultural_parameter = language_branch_manding } set_variable = { name = language_branch value = flag:language_branch_manding } }
	else_if = { limit = { has_cultural_parameter = language_branch_mongolic } set_variable = { name = language_branch value = flag:language_branch_mongolic } }
	else_if = { limit = { has_cultural_parameter = language_branch_monic } set_variable = { name = language_branch value = flag:language_branch_monic } }
	else_if = { limit = { has_cultural_parameter = language_branch_nivkh } set_variable = { name = language_branch value = flag:language_branch_nivkh } }
	else_if = { limit = { has_cultural_parameter = language_branch_north_dravidian } set_variable = { name = language_branch value = flag:language_branch_north_dravidian } }
	else_if = { limit = { has_cultural_parameter = language_branch_northern_iroquoian } set_variable = { name = language_branch value = flag:language_branch_northern_iroquoian } }
	else_if = { limit = { has_cultural_parameter = language_branch_oghuric } set_variable = { name = language_branch value = flag:language_branch_oghuric } }
	else_if = { limit = { has_cultural_parameter = language_branch_omotic } set_variable = { name = language_branch value = flag:language_branch_omotic } }
	else_if = { limit = { has_cultural_parameter = language_branch_permic } set_variable = { name = language_branch value = flag:language_branch_permic } }
	else_if = { limit = { has_cultural_parameter = language_branch_qiangic } set_variable = { name = language_branch value = flag:language_branch_qiangic } }
	else_if = { limit = { has_cultural_parameter = language_branch_romance } set_variable = { name = language_branch value = flag:language_branch_romance } }
	else_if = { limit = { has_cultural_parameter = language_branch_samoyedic } set_variable = { name = language_branch value = flag:language_branch_samoyedic } }
	else_if = { limit = { has_cultural_parameter = language_branch_savannas } set_variable = { name = language_branch value = flag:language_branch_savannas } }
	else_if = { limit = { has_cultural_parameter = language_branch_semitic } set_variable = { name = language_branch value = flag:language_branch_semitic } }
	else_if = { limit = { has_cultural_parameter = language_branch_egyptian } set_variable = { name = language_branch value = flag:language_branch_egyptian } }
	else_if = { limit = { has_cultural_parameter = language_branch_senegabrian } set_variable = { name = language_branch value = flag:language_branch_senegabrian } }
	else_if = { limit = { has_cultural_parameter = language_branch_shaz_turkic } set_variable = { name = language_branch value = flag:language_branch_shaz_turkic } }
	else_if = { limit = { has_cultural_parameter = language_branch_sinitic } set_variable = { name = language_branch value = flag:language_branch_sinitic } }
	else_if = { limit = { has_cultural_parameter = language_branch_songhay } set_variable = { name = language_branch value = flag:language_branch_songhay } }
	else_if = { limit = { has_cultural_parameter = language_branch_soninke } set_variable = { name = language_branch value = flag:language_branch_soninke } }
	else_if = { limit = { has_cultural_parameter = language_branch_sudanic } set_variable = { name = language_branch value = flag:language_branch_sudanic } }
	else_if = { limit = { has_cultural_parameter = language_branch_tamil_kannada } set_variable = { name = language_branch value = flag:language_branch_tamil_kannada } }
	else_if = { limit = { has_cultural_parameter = language_branch_telugu } set_variable = { name = language_branch value = flag:language_branch_telugu } }
	else_if = { limit = { has_cultural_parameter = language_branch_tibeto_burman } set_variable = { name = language_branch value = flag:language_branch_tibeto_burman } }
	else_if = { limit = { has_cultural_parameter = language_branch_tocharian } set_variable = { name = language_branch value = flag:language_branch_tocharian } }
	else_if = { limit = { has_cultural_parameter = language_branch_tubu } set_variable = { name = language_branch value = flag:language_branch_tubu } }
	else_if = { limit = { has_cultural_parameter = language_branch_tungusic } set_variable = { name = language_branch value = flag:language_branch_tungusic } }
	else_if = { limit = { has_cultural_parameter = language_branch_ugric } set_variable = { name = language_branch value = flag:language_branch_ugric } }
	else_if = { limit = { has_cultural_parameter = language_branch_volga_finnic } set_variable = { name = language_branch value = flag:language_branch_volga_finnic } }
	else_if = { limit = { has_cultural_parameter = language_branch_volta_congo } set_variable = { name = language_branch value = flag:language_branch_volta_congo } }
	else_if = { limit = { has_cultural_parameter = language_branch_yeniseian } set_variable = { name = language_branch value = flag:language_branch_yeniseian } }
	else_if = { limit = { has_cultural_parameter = language_branch_yukaghir } set_variable = { name = language_branch value = flag:language_branch_yukaghir } }
	else_if = { limit = { has_cultural_parameter = language_branch_albanian } set_variable = { name = language_branch value = flag:language_branch_albanian } }
	else_if = { limit = { has_cultural_parameter = language_branch_eastern_austroasiatic } set_variable = { name = language_branch value = flag:language_branch_eastern_austroasiatic } }
	else_if = { limit = { has_cultural_parameter = language_branch_southern_austroasiatic } set_variable = { name = language_branch value = flag:language_branch_southern_austroasiatic } }
	else_if = { limit = { has_cultural_parameter = language_branch_tai } set_variable = { name = language_branch value = flag:language_branch_tai } }
	# else_if = { limit = { has_cultural_parameter = language_branch_malay } set_variable = { name = language_branch value = flag:language_branch_malay } }
	else_if = { limit = { has_cultural_parameter = language_branch_philippine } set_variable = { name = language_branch value = flag:language_branch_philippine } }
	else_if = { limit = { has_cultural_parameter = language_branch_japanese } set_variable = { name = language_branch value = flag:language_branch_japanese } }
	else_if = { limit = { has_cultural_parameter = language_branch_korean } set_variable = { name = language_branch value = flag:language_branch_korean } }
	else_if = { limit = { has_cultural_parameter = language_branch_baipho } set_variable = { name = language_branch value = flag:language_branch_baipho } }
	else_if = { limit = { has_cultural_parameter = language_branch_bantu } set_variable = { name = language_branch value = flag:language_branch_bantu } }
	else_if = { limit = { has_cultural_parameter = language_branch_svan } set_variable = { name = language_branch value = flag:language_branch_svan } }
	else_if = { limit = { has_cultural_parameter = language_branch_ainu } set_variable = { name = language_branch value = flag:language_branch_ainu } }
	# else_if = { limit = { has_cultural_parameter = language_branch_mienic } set_variable = { name = language_branch value = flag:language_branch_mienic } }
	else_if = { limit = { has_cultural_parameter = language_branch_hmong } set_variable = { name = language_branch value = flag:language_branch_hmong } }
	else_if = { limit = { has_cultural_parameter = language_branch_papuan } set_variable = { name = language_branch value = flag:language_branch_papuan } }
	else_if = { limit = { has_cultural_parameter = language_branch_burusho } set_variable = { name = language_branch value = flag:language_branch_burusho } }
}

ccu_initialize_language_group_effect = {
	set_variable = { name = language_group value = flag:none }
	if = { limit = { has_cultural_parameter = language_group_latino_faliscan } set_variable = { name = language_group value = flag:language_group_latino_faliscan } }
	else_if = { limit = { has_cultural_parameter = language_group_iranic } set_variable = { name = language_group value = flag:language_group_iranic } }
	else_if = { limit = { has_cultural_parameter = language_group_insular_celtic } set_variable = { name = language_group value = flag:language_group_insular_celtic } }
	else_if = { limit = { has_cultural_parameter = language_group_west_germanic } set_variable = { name = language_group value = flag:language_group_west_germanic } }
	else_if = { limit = { has_cultural_parameter = language_group_central_germanic } set_variable = { name = language_group value = flag:language_group_central_germanic } }
	else_if = { limit = { has_cultural_parameter = language_group_east_germanic } set_variable = { name = language_group value = flag:language_group_east_germanic } }
	else_if = { limit = { has_cultural_parameter = language_group_north_germanic } set_variable = { name = language_group value = flag:language_group_north_germanic } }
	else_if = { limit = { has_cultural_parameter = language_group_zan } set_variable = { name = language_group value = flag:language_group_zan } }
	else_if = { limit = { has_cultural_parameter = language_group_slavic } set_variable = { name = language_group value = flag:language_group_slavic } }
	#else = { set_variable = { name = language_group value =flag:none } }
}

#NB: Dialect continua should *not* be mutually exclusive, so only use if statements here
ccu_initialize_dialect_continua_effect = {
	if = { limit = { has_cultural_parameter = dialect_continua_romance } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_romance } }
	if = { limit = { has_cultural_parameter = dialect_continua_eastern_romance } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_eastern_romance } }
	if = { limit = { has_cultural_parameter = dialect_continua_southern_romance } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_southern_romance } }
	if = { limit = { has_cultural_parameter = dialect_continua_proto_romance } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_proto_romance } }
	if = { limit = { has_cultural_parameter = dialect_continua_eastern_iranian } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_eastern_iranian } }
	if = { limit = { has_cultural_parameter = dialect_continua_western_iranian } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_western_iranian } }
	if = { limit = { has_cultural_parameter = dialect_continua_brythonic } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_brythonic } }
	if = { limit = { has_cultural_parameter = dialect_continua_goidelic } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_goidelic } }
	if = { limit = { has_cultural_parameter = dialect_continua_high_german } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_high_german } }
	if = { limit = { has_cultural_parameter = dialect_continua_central_german } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_central_german } }
	if = { limit = { has_cultural_parameter = dialect_continua_low_german } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_low_german } }
	if = { limit = { has_cultural_parameter = dialect_continua_scandinavian } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_scandinavian } }
	if = { limit = { has_cultural_parameter = dialect_continua_anglic } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_anglic } }
	if = { limit = { has_cultural_parameter = dialect_continua_netherlandic } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_netherlandic } }
	if = { limit = { has_cultural_parameter = dialect_continua_north_slavic } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_north_slavic } }
	if = { limit = { has_cultural_parameter = dialect_continua_south_slavic } add_to_variable_list = { name = dialect_continuum target = flag:dialect_continua_south_slavic } }
}

#Additional language effects

#For Creoles (like Mozarabic)
#NB: Make sure value matches the desired language group, otherwise it'll be a problem
#NB: If negative numbers are assigned to language groups above, this will break
ccu_initialize_language_creole_effect = {
	set_variable = { name = language_creole value = flag:none }
	#else = { set_variable = { name = language_creole value =flag:none } }
}

#Groupings of Genetic Unrelated languages that still possess some superficial similarity
#Caucus, India, Altaic
ccu_initialize_language_union_effect = {
	if = { limit = { has_cultural_parameter = language_union_british } set_variable = { name = language_union value = flag:language_union_british } }
	else_if = { limit = { has_cultural_parameter = language_union_caucasus } set_variable = { name = language_union value = flag:language_union_caucasus } }
	else_if = { limit = { has_cultural_parameter = language_union_indian } set_variable = { name = language_union value = flag:language_union_indian } }
	else_if = { limit = { has_cultural_parameter = language_union_steppe_siberian } set_variable = { name = language_union value = flag:language_union_steppe_siberian } }
	else_if = { limit = { has_cultural_parameter = language_union_balkan } set_variable = { name = language_union value = flag:language_union_balkan } }
	else = { set_variable = { name = language_union value = flag:none } }
}

### Additional Effects
ccu_update_variable_list_effect = { #Just a little helper tool
	random_parent_culture = {
		limit = { has_same_culture_language = $CULTURE$ }
		if = {
			limit = { has_variable_list = $THE_LIST$ }
			every_in_list = {
				variable = $THE_LIST$
				save_temporary_scope_as = parent_list_item
				root = { add_to_variable_list = { name = $THE_LIST$ target = scope:parent_list_item } }
			}
		}
	}
}
ccu_unset_culture_variables_effect = { #Culture scope
	#Languages
	if = { limit = { exists = var:language_union } remove_variable = language_union }
	if = { limit = { exists = var:language_family } remove_variable = language_family }
	if = { limit = { exists = var:language_branch } remove_variable = language_branch }
	if = { limit = { exists = var:language_creole } remove_variable = language_creole }
	if = { limit = { has_variable_list = dialect_continuum } clear_variable_list = dialect_continuum }
	#Heritages
	if = { limit = { has_variable_list = heritage_group } clear_variable_list = heritage_group }
	if = { limit = { has_variable_list = heritage_family } clear_variable_list = heritage_family }
}
#Root is culture in question
ccu_culture_created_or_changed_effect = {
	#If we're changing a culture feature, we'll first need to unset everything, then reset the values
	#Simpler than checking parentage; doubtful we'll see actual performance impact
	
	#Unset everything
	ccu_unset_culture_variables_effect = yes
	#Reset Everything
	ccu_initialize_culture_effect = yes
}
