﻿# Scope : county
E_kCAFG_setup_default_county_provinces_faith = {
    save_temporary_scope_as = E_kCAFG_setup_default_county_provinces_faith_county
	every_county_province = {
        E_kCAFG_set_maximum_province_faith_factor = {
            FAITH = scope:E_kCAFG_setup_default_county_provinces_faith_county.faith
        }
    }
}

# Scope : county
E_kCAFG_clear_all_county_faiths = {
    every_county_province = {
        E_kCAFG_clear_all_province_faiths = yes
    }
	clear_variable_list = kCAFG_county_faiths
}

## Very expensive
# Scope : county
# REASON : flag containing the update reason
E_kCAFG_update_county_faith = {
	hidden_effect = {
        save_temporary_scope_as = kCAFG_county

        # Set the faith to the highest total faith level
        ordered_in_list = {
            variable = kCAFG_county_faiths
            order_by = {
                value = 0
                save_temporary_scope_as = kCAFG_faith # used by V_kCAFG_province_faith_amount
                scope:kCAFG_county = {
                    every_county_province = { add = V_kCAFG_province_faith_amount }
                }
            }
            position = 0

            if = {
                limit = {
                    scope:kCAFG_county.faith != this
                }

                scope:kCAFG_county = {
                    if = { 
                        limit = { NOT = { has_variable = kCAFG_county_faith_change_reason } }
                        set_variable = { name = kCAFG_county_faith_change_reason value = $REASON$ } 
                    }
                    set_county_faith = prev
                }
            }
        }
    }
}


# Scope : county
E_kCAFG_update_county_faiths_list = {
	hidden_effect = {
        save_temporary_scope_as = E_kCAFG_update_county_faiths_list_COUNTY
        clear_variable_list = kCAFG_county_faiths
        every_county_province = {
            every_in_list = {
                variable = kCAFG_province_faiths
                scope:E_kCAFG_update_county_faiths_list_COUNTY = {
                    add_to_variable_list = {
                        name = kCAFG_county_faiths
                        target = prev
                    }
                }
            }
        }
    }
}

# Completely replace a county faith with 100% of the chosen faith
# Scope : county
# FAITH 
E_kCAFG_replace_county_faith = {
    $FAITH$ = { save_temporary_scope_as = E_kCAFG_replace_county_faith_target_faith } # used by localization
    custom_tooltip = {
		text = kCAFG_E_replace_county_faith_tt
        E_kCAFG_clear_all_county_faiths = yes
        every_county_province = {
            E_kCAFG_set_maximum_province_faith_factor = {
                FAITH = $FAITH$
            }
        }
        add_to_variable_list = {
            name = kCAFG_county_faiths
            target = $FAITH$
        }
        set_global_variable = { name = kCAFG_county_faith_change_reason value = flag:kCAFG_replacement } 
        set_county_faith = $FAITH$
    }
}

# Scope : county 
# FACTOR : base factor conversion
# VARIANCE : randomization added to the base factor for each province
# FAITH : faith to convert to
# MAX : maximum factor in province (i.e. keep minorities)
E_kCAFG_convert_faith_in_all_county_provinces = {
    $FAITH$ = { save_temporary_scope_as = E_kCAFG_convert_faith_in_all_county_provinces_converting_faith } # used by localization
    custom_tooltip = {
		text = kCAFG_E_convert_faith_in_all_county_provinces_tt
        every_county_province = {
            E_kCAFG_province_randomized_weighted_faith_conversion = {
                FACTOR = $FACTOR$
                VARIANCE = $VARIANCE$
                FAITH = $FAITH$
                MAX = $MAX$
            }
        }
        E_kCAFG_update_county_faiths_list = yes
        E_kCAFG_update_county_faith = { REASON = flag:kCAFG_default_reason }
    }
}