﻿entitled_tradition_setup = {
	save_scope_value_as = {
		name = tradition
		value = flag:$TRADITION$
	}
	add_to_global_variable_list = {
		name = entitled_traditions_$GROUPING$
		target = scope:tradition
	}
}

entitled_toggle_tradition = {
	if = {
		limit = { has_cultural_tradition = $TRADITION$ }
		remove_culture_tradition = $TRADITION$
		remove_list_variable = {
			name = current_traditions
			target = flag:$TRADITION$
		}
	}
	else_if = {
		limit = { scope:add = flag:yes }
		add_culture_tradition = $TRADITION$
		add_to_variable_list = {
			name = current_traditions
			target = flag:$TRADITION$
		}
	}
}

entitled_record_tradition = {
	if = {
		limit = { has_cultural_tradition = $TRADITION$ }
		add_to_variable_list = {
			name = traditions target = flag:$TRADITION$
		}

	}	
}

entitled_reset_ethos = {
	if = {
		limit = {
			var:ethos ?= flag:$ETHOS$
			NOT = { has_cultural_pillar = $ETHOS$ }
		}
		set_culture_pillar = $ETHOS$
	}
}

entitled_record_ethos = {
	set_variable = {
		name = ethos
		value = flag:$ETHOS$
	}
}

entitled_reset_martial = {
	if = {
		limit = {
			var:martial ?= flag:$MARTIAL$
			NOT = { has_cultural_pillar = $MARTIAL$ }
		}
		set_culture_pillar = $MARTIAL$
	}
}

entitled_reset_tradition = {
	save_scope_value_as = {
		name = tradition
		value = flag:$TRADITION$
	}
	if = {
		limit = {
			has_cultural_tradition = $TRADITION$
			NOT = {
				is_target_in_variable_list = {
					name = traditions
					target = scope:tradition
				}
			}
		}
		remove_culture_tradition = $TRADITION$
	}
	else_if = {
		limit = {
			NOT = { has_cultural_tradition = $TRADITION$ }
			is_target_in_variable_list = {
				name = traditions
				target = scope:tradition
			}
		}
		add_culture_tradition = $TRADITION$
	}
}

entitled_doctrine_setup = {
	add_to_global_variable_list = {
		name = $GROUP$
		target = flag:$DOCTRINE$
	}
	add_to_global_variable_list = {
		name = $GUI_GROUP$
		target = flag:$DOCTRINE$
	}
	set_global_variable = {
		name = $DOCTRINE$
		value = flag:$GROUP$
	}
}

entitled_record_doctrine = {
	if = {
		limit = { has_doctrine = $DOCTRINE$ }
		debug_log = $DOCTRINE$_yes
		add_to_variable_list = {
			name = doctrines
			target = flag:$DOCTRINE$
		}
		add_to_variable_list = {
			name = current_doctrines
			target = flag:$DOCTRINE$
		}
		add_to_variable_list = {
			name = $GUI_GROUP$
			target = flag:$DOCTRINE$
		}
	}
	else = {
		debug_log = $DOCTRINE$_no
	}
	if = {
		limit = { exists = scope:$GROUP$_$GUI_GROUP$ }
	}
}

entitled_toggle_doctrine = {
	debug_log = $DOCTRINE$_name
	debug_log_scopes = yes
	if = {
		limit = { has_doctrine = $DOCTRINE$ }
		remove_list_variable = {
			name = current_doctrines
			target = flag:$DOCTRINE$
		}
		remove_list_variable = {
			name = $GUI_GROUP$
			target = flag:$DOCTRINE$
		}
		remove_doctrine = $DOCTRINE$
	}
	else = {
		add_to_variable_list = {
			name = current_doctrines
			target = flag:$DOCTRINE$
		}
		add_to_variable_list = {
			name = $GUI_GROUP$
			target = flag:$DOCTRINE$
		}
		add_doctrine = $DOCTRINE$
		set_global_variable = {
			name = entitled_doctrine_for_toggle
			value = flag:$DOCTRINE$
		}
	}
	if = {
		limit = { exists = scope:$GROUP$ }
	}
	entitled_get_faith_sins_and_virtues = yes
}

entitled_get_faith_sins_and_virtues = {
	clear_variable_list = sins
	clear_variable_list = virtues
	every_trait = {
		save_scope_as = trait
		prev = {
			if = {
				limit = { trait_is_sin = scope:trait }
				add_to_variable_list = {
					name = sins
					target = scope:trait
				}
			}
			else_if = {
				limit = { trait_is_virtue = scope:trait }
				add_to_variable_list = {
					name = virtues
					target = scope:trait
				}
			}
		}
	}
}

entitled_set_de_jure_liege = {
	debug_log = "entitled_set_de_jure_liege"
	if = {
		limit = { global_var:entitled_de_jure_liege_display ?= flag:reset }
		global_var:capital_county ?= {
			ordered_this_title_or_de_jure_above = {
				limit = { tier > global_var:custom_title.tier }
				order_by = { subtract = tier }
				save_scope_as = de_jure_liege
			}
		}
		if = {
			limit = { exists = scope:de_jure_liege }
			set_global_variable = {
				name = entitled_de_jure_liege_auto
				value = scope:de_jure_liege
			}
		}
		else = { remove_global_variable = entitled_de_jure_liege_auto }
	}
	else = { remove_global_variable = entitled_de_jure_liege_auto }
}

entitled_set_de_facto_liege = {
	debug_log = "entitled_set_de_facto_liege"
	if = {
		limit = { global_var:entitled_de_facto_liege_display ?= flag:reset }
		global_var:capital_county.holder.top_liege ?= {
			debug_log_scopes = no
			add_gold = 1
			# ordered_liege_or_above = {
			# 	limit = { highest_held_title_tier > global_var:custom_title.tier }
			# 	order_by = { subtract = highest_held_title_tier }
			# 	save_scope_as = de_facto_liege
			# 	debug_log_scopes = no
			# 	add_prestige = 1
			# }
			if = {
				limit = { highest_held_title_tier > global_var:custom_title.tier }
				ordered_vassal_or_below = {
					limit = {
						highest_held_title_tier > global_var:custom_title.tier
						any_sub_realm_county = {
							this = global_var:capital_county
						}
					}
					order_by = { subtract = highest_held_title_tier }
					save_scope_as = de_facto_liege
				}
				if = {
					limit = { NOT = { exists = scope:de_facto_liege }}
					save_scope_as = de_facto_liege
				}
			}
		}
		if = {
			limit = { exists = scope:de_facto_liege }
			set_global_variable = {
				name = entitled_de_facto_liege_auto
				value = scope:de_facto_liege
			}
		}
		else = { remove_global_variable = entitled_de_facto_liege_auto }
	}
	else = { remove_global_variable = entitled_de_facto_liege_auto }
}

entitled_set_faith = {
	set_global_variable = {
		name = entitled_faith_auto
		value = global_var:capital_county.faith
	}
}

entitled_set_culture = {
	set_global_variable = {
		name = entitled_culture_auto
		value = global_var:capital_county.culture
	}
}

entitled_record_heritage = {
	set_variable = {
		name = heritage
		value = flag:$HERITAGE$
	}
}

entitled_record_language = {
	set_variable = {
		name = language
		value = flag:$LANGUAGE$
	}
}