eoanb_change_prestige_score = {
    custom_effect_tooltip = eoanb_change_prestige_score_tt
    add_to_variable = { prestige_score = eoanb_prestige_change }
}

eoanb_change_tech_score = {
    custom_effect_tooltip = eoanb_change_tech_score_tt
    add_to_variable = { tech_score = eoanb_tech_score_change }
}

eoanb_score_system_calc = {
    clear_array = global.score_array
    clear_array = global.score_array_position
    clear_array = global.score_tag_array

    every_country = {
        limit = { is_non_player_tag = no }

        # Initialize variables and ensure prestige_score exists
        set_variable = { overall_score = 0 }
        set_variable = { industrial_score = 0 }
        if = {
            limit = { NOT = { has_variable = prestige_score } }
            set_variable = { prestige_score = 0 }
        }
        set_variable = { military_score = 0 }

        add_to_variable = { modified_industrial_score = num_of_military_factories }
        add_to_variable = { modified_industrial_score = num_of_civilian_factories }
        add_to_variable = { modified_industrial_score = num_of_naval_factories }

        set_temp_variable = { resource_producedwood_temp = resource_produced@wood }
        multiply_temp_variable = { resource_producedwood_temp = 0.10 }
        add_to_variable = { modified_industrial_score = resource_producedwood_temp }

        set_temp_variable = { resource_producedcoal_temp = resource_produced@coal }
        multiply_temp_variable = { resource_producedcoal_temp = 0.45 }
        add_to_variable = { modified_industrial_score = resource_producedcoal_temp }

        set_temp_variable = { resource_producedcotton_temp = resource_produced@cotton }
        multiply_temp_variable = { resource_producedcotton_temp = 0.20 }
        add_to_variable = { modified_industrial_score = resource_producedcotton_temp }

        set_temp_variable = { resource_producedfabric_temp = resource_produced@fabric }
        multiply_temp_variable = { resource_producedfabric_temp = 0.30 }
        add_to_variable = { modified_industrial_score = resource_producedfabric_temp }

        set_temp_variable = { resource_producediron_temp = resource_produced@iron }
        multiply_temp_variable = { resource_producediron_temp = 0.35 }
        add_to_variable = { modified_industrial_score = resource_producediron_temp }

        set_temp_variable = { resource_producedsteel_temp = resource_produced@steel }
        multiply_temp_variable = { resource_producedsteel_temp = 0.45 }
        add_to_variable = { modified_industrial_score = resource_producedsteel_temp }

        set_temp_variable = { resource_producedrubber_temp = resource_produced@rubber }
        multiply_temp_variable = { resource_producedrubber_temp = 0.35 }
        add_to_variable = { modified_industrial_score = resource_producedrubber_temp }

        set_temp_variable = { resource_producedoil_temp = resource_produced@oil }
        multiply_temp_variable = { resource_producedoil_temp = 0.70 }
        add_to_variable = { modified_industrial_score = resource_producedoil_temp }

        set_temp_variable = { resource_producedaluminium_temp = resource_produced@aluminium }
        multiply_temp_variable = { resource_producedaluminium_temp = 0.60 }
        add_to_variable = { modified_industrial_score = resource_producedaluminium_temp }

        set_temp_variable = { resource_producedtungsten_temp = resource_produced@tungsten }
        multiply_temp_variable = { resource_producedtungsten_temp = 0.45 }
        add_to_variable = { modified_industrial_score = resource_producedtungsten_temp }

        set_temp_variable = { resource_producedchromium_temp = resource_produced@chromium }
        multiply_temp_variable = { resource_producedchromium_temp = 0.40 }
        add_to_variable = { modified_industrial_score = resource_producedchromium_temp }

        set_temp_variable = { resource_producedmachine_parts_temp = resource_produced@machine_parts }
        multiply_temp_variable = { resource_producedmachine_parts_temp = 0.55 }
        add_to_variable = { modified_industrial_score = resource_producedmachine_parts_temp }

        set_temp_variable = { mod_factory_temp = modifier@industrial_capacity_factory }
        add_to_temp_variable = { mod_factory_temp = 1 }
        multiply_temp_variable = { mod_factory_temp = 1.5 }
        add_to_variable = { modified_industrial_score = mod_factory_temp }

        set_temp_variable = { mod_speed_temp = modifier@production_speed_industrial_complex_factor }
        add_to_temp_variable = { mod_speed_temp = 1 }
        multiply_temp_variable = { mod_speed_temp = 1.5 }
        add_to_variable = { modified_industrial_score = mod_speed_temp }

        set_temp_variable = { mod_efficiency_temp = modifier@production_factory_efficiency_gain_factor }
        add_to_temp_variable = { mod_efficiency_temp = 1 }
        multiply_temp_variable = { mod_efficiency_temp = 1.5 }
        add_to_variable = { modified_industrial_score = mod_efficiency_temp }

        set_temp_variable = { mod_consumer_temp = modifier@consumer_goods_expected_value }
        add_to_temp_variable = { mod_consumer_temp = 1 }
        multiply_temp_variable = { mod_consumer_temp = 1.5 }
        add_to_variable = { modified_industrial_score = mod_consumer_temp }

        set_temp_variable = { mod_start_eff_temp = modifier@production_factory_start_efficiency_factor }
        add_to_temp_variable = { mod_start_eff_temp = 1 }
        multiply_temp_variable = { mod_start_eff_temp = 1.5 }
        add_to_variable = { modified_industrial_score = mod_start_eff_temp }

        if = {
            limit = { is_puppet = yes }
            set_temp_variable = { ind_temp = modified_industrial_score }
            multiply_temp_variable = { ind_temp = 0.20 }
            set_variable = { modified_industrial_score = ind_temp }
            OVERLORD = {
                add_to_variable = { modified_industrial_score = PREV.modified_industrial_score }
            }
        }
        else_if = {
            limit = { has_idea = agrarian }
            set_temp_variable = { ind_temp = modified_industrial_score }
            multiply_temp_variable = { ind_temp = 0.50 }
            set_variable = { modified_industrial_score = ind_temp }
        }
        else_if = {
            limit = { has_idea = industrializing }
            set_temp_variable = { ind_temp = modified_industrial_score }
            multiply_temp_variable = { ind_temp = 0.75 }
            set_variable = { modified_industrial_score = ind_temp }
        }
        else_if = {
            limit = { has_idea = industrialized }
            set_temp_variable = { ind_temp = modified_industrial_score }
            multiply_temp_variable = { ind_temp = 0.85 }
            set_variable = { modified_industrial_score = ind_temp }
        }
        else_if = {
            limit = { has_idea = electrification }
            set_temp_variable = { ind_temp = modified_industrial_score }
            multiply_temp_variable = { ind_temp = 0.90 }
            set_variable = { modified_industrial_score = ind_temp }
        }

        add_to_variable = { industrial_score = modified_industrial_score }
        set_variable = { modified_industrial_score = 0 }

        set_temp_variable = { div_temp = num_divisions }
        multiply_temp_variable = { div_temp = 2 }
        add_to_variable = { modified_military_score = div_temp }

        set_temp_variable = { war_support_temp = has_war_support }
        add_to_temp_variable = { war_support_temp = 1 }
        multiply_temp_variable = { war_support_temp = 1.5 }
        add_to_variable = { modified_military_score = war_support_temp }

        set_temp_variable = { doctrine_temp = land_doctrine_level }
        multiply_temp_variable = { doctrine_temp = 2 }
        add_to_variable = { modified_military_score = doctrine_temp }

        set_temp_variable = { planning_temp = modifier@max_planning }
        add_to_temp_variable = { planning_temp = 1 }
        multiply_temp_variable = { planning_temp = 2 }
        add_to_variable = { modified_military_score = planning_temp }

        set_temp_variable = { ships_temp = num_ships }
        multiply_temp_variable = { ships_temp = 2 }
        add_to_variable = { modified_military_score = ships_temp }

        if = {
            limit = { is_puppet = yes }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.20 }
            set_variable = { modified_military_score = mil_temp }
            OVERLORD = {
                add_to_variable = { modified_military_score = PREV.modified_military_score }
            }
        }

        if = {
            limit = { has_idea = law_army_tribal_neolithic }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.35 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_army_tribal_basic }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.45 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_army_tribal_improved }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.55 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_army_tribal_advanced }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.60 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_pre_industrial_army_chinese }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.33 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_pre_industrial_army }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.65 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = doctrine_victorian_army_1 }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.75 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = doctrine_victorian_army_5 }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.80 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_trench_infantry }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.85 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_combined_arms }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.90 }
            set_variable = { modified_military_score = mil_temp }
        }
        else_if = {
            limit = { has_idea = law_modern_army }
            set_temp_variable = { mil_temp = modified_military_score }
            multiply_temp_variable = { mil_temp = 0.95 }
            set_variable = { modified_military_score = mil_temp }
        }

        add_to_variable = { military_score = modified_military_score }
        set_variable = { modified_military_score = 0 }

        multiply_variable = { industrial_score = 0.5 }
        multiply_variable = { military_score = 0.5 }
        add_to_variable = { overall_score = industrial_score }
        add_to_variable = { overall_score = military_score }

        clamp_variable = {
            var = prestige_score
            min = 0
            max = 1000000
        }
        add_to_variable = { overall_score = prestige_score }
        add_to_variable = { overall_score = tech_score }

        clamp_variable = {
            var = overall_score
            min = 0
            max = 1000000
        }

        add_to_array = { global.score_array = overall_score }
        add_to_array = { global.score_tag_array = THIS.id }
        set_temp_variable = { length_temp = global.score_array^num }
    }

    for_loop_effect = {
        start = 0
        end = length_temp
        add = 1
        value = v
        break = b

        find_highest_in_array = {
            array = global.score_array
            value = score_array_highest_value
            index = score_array_highest_index
        }
        remove_from_array = { array = global.score_array index = score_array_highest_index }
        add_to_temp_array = { array = global.score_array_temp value = score_array_highest_value }

        set_temp_variable = { tag_temp = global.score_tag_array^score_array_highest_index }
        remove_from_array = { array = global.score_tag_array index = score_array_highest_index }
        add_to_temp_array = { array = global.score_tag_array_temp value = tag_temp }

        add_to_array = { global.score_array_position = v }
        add_to_variable = { global.score_array_position^v = 1 }
    }

    for_loop_effect = {
        start = 0
        end = length_temp
        add = 1
        value = v
        break = b
        add_to_array = { global.score_array = global.score_array_temp^v }
        add_to_array = { global.score_tag_array = global.score_tag_array_temp^v }
    }

    every_country = {
        limit = { is_non_player_tag = no }
        for_loop_effect = {
            start = 0
            end = length_temp
            add = 1
            value = v
            break = b
            if = {
                limit = { check_variable = { global.score_tag_array^v = THIS } }
                set_variable = { score_array_position_var = v }
                set_variable = { b = 0 }
            }
        }
        add_to_variable = { score_array_position_var = 1 }
    }
}

eoanb_ledger_system_calc = {
    clear_array = global.population_array 
    clear_array = global.factories_array
    clear_array = global.divisions_array
    clear_array = global.ships_array

    set_temp_variable = { length_temp = global.score_tag_array^num }
    for_loop_effect = {
        start = 0
        end = length_temp
        add = 1
        value = v  
        add_to_array = { global.population_array = 1 }	
        add_to_array = { global.factories_array = 1 }	
        add_to_array = { global.divisions_array = 1 }
        add_to_array = { global.ships_array = 1 }
    }

    every_country = {
        limit = {
            NOT = { tag = UCT tag = AFR }
        }
        for_loop_effect = {
            start = 0
            end = length_temp
            add = 1
            value = v  
            break = b 
            if = {
                limit = { check_variable = { global.score_tag_array^v = THIS } }
                set_variable = { score_array_position_var_real = score_array_position_var }
                subtract_from_variable = { score_array_position_var_real = 1 }
                set_variable = { global.population_array^v = max_manpower_k } 
                multiply_variable = { global.population_array^v = 0.001 }	
                set_variable = { global.population_array_b^v = global.population_array^v } 
                multiply_variable = { global.population_array_b^v = 0.001 }				
                set_variable = { global.factories_array^v = num_of_factories }
                set_variable = { global.divisions_array^v = num_divisions }
                set_variable = { global.ships_array^v = num_ships }
                set_variable = { b = 0 }
            }		
        }		
    }
}
