﻿# Scope : character
T_kCAFG_vassal_is_allowed_to_change_culture_tolerance_laws = {
	NOT = { any_liege_or_above = { T_kCAFG_overrides_culture_tolerance_law = yes } }
}

# Scope : character
T_kCAFG_should_start_with_intolerant_culture_law = {
    culture = {
        NOR = {
            has_cultural_pillar = ethos_egalitarian
            has_cultural_parameter = easier_to_hybridize
            has_cultural_parameter = cheaper_to_hybridize
            has_cultural_parameter = cheaper_convert_to_local_culture
            has_cultural_parameter = less_likely_to_force_conversion
            has_cultural_tradition = tradition_xenophilic
            has_cultural_tradition = tradition_religion_blending
            has_cultural_tradition = tradition_steppe_tolerance
            has_cultural_tradition = tradition_ruling_caste
        }
        OR = {
            has_cultural_parameter = less_likely_to_culture_convert
            has_cultural_parameter = expensive_convert_to_local_culture
            has_cultural_parameter = dislikes_marrying_outside_of_culture
            has_cultural_parameter = ai_doesnt_marry_outside_culture
            prev = { ai_compassion <= -90 }
        }
    }
}

# Scope : character
T_kCAFG_should_start_with_tolerant_culture_law = {
    culture = {
        NOR = {
            has_cultural_pillar = ethos_communal
            has_cultural_parameter = less_likely_to_culture_convert
            has_cultural_parameter = expensive_convert_to_local_culture
            has_cultural_parameter = dislikes_marrying_outside_of_culture
            has_cultural_parameter = ai_doesnt_marry_outside_culture
        }
        OR = {
            has_cultural_pillar = ethos_egalitarian
            has_cultural_parameter = easier_to_hybridize
            has_cultural_parameter = cheaper_to_hybridize
            has_cultural_parameter = cheaper_convert_to_local_culture
            has_cultural_parameter = less_likely_to_force_conversion
            has_cultural_tradition = tradition_xenophilic
            has_cultural_tradition = tradition_religion_blending
            has_cultural_tradition = tradition_steppe_tolerance
            has_cultural_tradition = tradition_ruling_caste
            prev = { ai_compassion >= 90 }
        }
    }
}

T_kCAFG_can_title_have_culture_tolerance_law = {
    NOT = { has_game_rule = kCAFG_tolerance_laws_off }
    tier >= tier_county
	exists = holder
	holder = { government_has_flag = government_is_settled }
}

T_kCAFG_can_have_culture_tolerance_law = {
    NOT = { has_game_rule = kCAFG_tolerance_laws_off }
    primary_title.tier >= tier_county
	government_has_flag = government_is_settled
}

T_kCAFG_overrides_culture_tolerance_law = {
	trigger_if = {
		limit = { has_realm_law_flag = max_authority_level }
		always = yes
	}
	trigger_else_if = {
		limit = { realm_law_use_tribal_authority = yes }
		custom_description = {
			text = kCAFG_overrides_culture_tolerance_law
			OR = {
				has_realm_law = tribal_authority_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_imperial_bureaucracy = yes }
		custom_description = {
			text = kCAFG_overrides_culture_tolerance_law
			OR = {
				has_realm_law = imperial_bureaucracy_2
				has_realm_law = imperial_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_meritocratic_bureaucracy = yes }
		custom_description = {
			text = kCAFG_overrides_culture_tolerance_law
			OR = {
				has_realm_law = meritocratic_bureaucracy_2
				has_realm_law = meritocratic_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_japanese_bureaucracy = yes }
		custom_description = {
			text = kCAFG_overrides_culture_tolerance_law
			OR = {
				has_realm_law = japanese_bureaucracy_2
				has_realm_law = japanese_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_celestial_bureaucracy = yes }
		custom_description = {
			text = kCAFG_overrides_culture_tolerance_law
			OR = {
				has_realm_law = celestial_bureaucracy_2
				has_realm_law = celestial_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_crown_authority = yes }
		custom_description = {
			text = kCAFG_overrides_culture_tolerance_law
			OR = {
				has_realm_law = crown_authority_2
				has_realm_law = crown_authority_3
			}
		}
	}
	trigger_else = {
		always = no
	}
}

T_kCAFG_has_culture_tolerance_realm_law = {
	NOT = { has_global_variable = kCAFG_ignore_tolerance_laws }
	NOT = { has_character_flag = kCAFG_TMP_applying_culture_indifference_law }
	OR = {
		has_realm_law_flag = F_kCAFG_tolerant_to_other_cultures
		has_character_flag = kCAFG_TMP_applying_culture_tolerance_law
	}
}

T_kCAFG_has_culture_intolerance_realm_law = {
	NOT = { has_global_variable = kCAFG_ignore_tolerance_laws }
	NOT = { has_character_flag = kCAFG_TMP_applying_culture_indifference_law }
	OR = {
		has_realm_law_flag = F_kCAFG_intolerant_to_other_cultures
		has_character_flag = kCAFG_TMP_applying_culture_intolerance_law
	}
}

T_kCAFG_can_decrease_culture_tolerance_law_trigger = {
	T_kCAFG_can_change_culture_tolerance_law_trigger = yes
	custom_description = {
		text = "no_powerful_vassal_with_negative_opinion"
		NOT = {
			any_vassal = {
				is_powerful_vassal = yes
				opposes_succession_law_change_trigger = yes
			}
		}
	}
}

T_kCAFG_can_increase_culture_tolerance_law_trigger = {
	T_kCAFG_can_change_culture_tolerance_law_trigger = yes
	custom_description = {
		text = "no_powerful_vassal_with_negative_opinion"
		NOT = {
			any_vassal = {
				is_powerful_vassal = yes
				opposes_succession_law_change_trigger = yes
				OR = {
					has_same_culture_as = liege
					ai_compassion < V_kCAFG_ai_law_change_negative_threshold
				}
			}
		}
	}
}

T_kCAFG_can_change_culture_tolerance_law_trigger = {
	trigger_if = {
		limit = { has_realm_law_flag = max_authority_level }
		always = yes
	}
	trigger_else_if = {
		limit = { realm_law_use_tribal_authority = yes }
		custom_description = {
			text = "kCAFG_has_tribal_law_allowing_faith_tolerance_law_change"
			OR = {
				has_realm_law = tribal_authority_2
				has_realm_law = tribal_authority_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_imperial_bureaucracy = yes }
		custom_description = {
			text = "kCAFG_has_imperial_bureaucracy_law_allowing_faith_tolerance_law_change"
			OR = {
				has_realm_law = imperial_bureaucracy_1
				has_realm_law = imperial_bureaucracy_2
				has_realm_law = imperial_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_meritocratic_bureaucracy = yes }
		custom_description = {
			text = "kCAFG_has_meritocratic_bureaucracy_law_allowing_faith_tolerance_law_change"
			OR = {
				has_realm_law = meritocratic_bureaucracy_1
				has_realm_law = meritocratic_bureaucracy_2
				has_realm_law = meritocratic_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_japanese_bureaucracy = yes }
		custom_description = {
			text = "kCAFG_has_japanese_bureaucracy_law_allowing_faith_tolerance_law_change"
			OR = {
				has_realm_law = japanese_bureaucracy_1
				has_realm_law = japanese_bureaucracy_2
				has_realm_law = japanese_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_celestial_bureaucracy = yes }
		custom_description = {
			text = "kCAFG_has_celestial_bureaucracy_law_allowing_faith_tolerance_law_change"
			OR = {
				has_realm_law = celestial_bureaucracy_1
				has_realm_law = celestial_bureaucracy_2
				has_realm_law = celestial_bureaucracy_3
			}
		}
	}
	trigger_else_if = {
		limit = { realm_law_use_crown_authority = yes }
		custom_description = {
			text = "kCAFG_has_crown_law_allowing_faith_tolerance_law_change"
			OR = {
				has_realm_law = crown_authority_1
				has_realm_law = crown_authority_2
				has_realm_law = crown_authority_3
			}
		}
	}
	trigger_else = {
		always = yes
	}
	custom_description = {
	    subject = root
	    text = "kCAFG_has_culture_tolerance_law_cooldown"
	    NAND = {
	        has_variable = kCAFG_culture_tolerance_law_cooldown
	        NOT = { culture = { has_innovation = innovation_all_things } }
	    }
	}
}