# ============================================================
# ECONOMIC SPECIALIZATION EFFECTS
# ============================================================

# Building Effects
qyv_ai_build_coastal = {
    random_owned_province = {
        limit = {
            is_coastal = yes
            holding = { can_build = yes building_type = trade_port }
        }
        holding = { build_building = trade_port_1 }
    }
    add_gold = -500
}

qyv_ai_build_farmland = {
    random_owned_province = {
        limit = {
            terrain = farmlands
            holding = { can_build = yes building_type = farm }
        }
        holding = { build_building = farm_1 }
    }
    add_gold = -300
}

qyv_ai_build_mountain = {
    random_owned_province = {
        limit = {
            terrain = mountains
            holding = { can_build = yes building_type = mine }
        }
        holding = { build_building = mine_1 }
    }
    add_gold = -500
}

qyv_ai_build_forest = {
    random_owned_province = {
        limit = {
            terrain = forest
            holding = { can_build = yes building_type = logging_camp }
        }
        holding = { build_building = logging_camp_1 }
    }
    add_gold = -300
}

qyv_ai_build_city = {
    random_owned_province = {
        limit = {
            any_holding = {
                type = city
                can_build = yes
                building_type = guild
            }
        }
        holding = { build_building = guild_1 }
    }
    add_gold = -500
}

qyv_ai_build_temple = {
    random_owned_province = {
        limit = {
            any_holding = {
                type = temple
                can_build = yes
                building_type = monastery
            }
        }
        holding = { build_building = monastery_1 }
    }
    add_gold = -300
}

qyv_ai_build_capital = {
    random_owned_province = {
        limit = { is_capital = yes }
        any_holding = {
            limit = { can_build = yes }
            build_random_building = yes
        }
    }
    add_gold = -1000
}

qyv_ai_build_fort = {
    random_owned_province = {
        limit = {
            is_border = yes
            holding = { can_build = yes building_type = fort }
        }
        holding = { build_building = fort_1 }
    }
    add_gold = -500
}

qyv_ai_build_military = {
    random_owned_province = {
        limit = {
            holding = { can_build = yes building_type = barracks }
        }
        holding = { build_building = barracks_1 }
    }
    add_gold = -500
}

# Development Effects
qyv_ai_develop_capital = {
    capital_province = { add_development = 1 }
    add_gold = -500
}

qyv_ai_develop_border = {
    random_owned_province = {
        limit = {
            is_border = yes
            development < 15
        }
        add_development = 1
    }
    add_gold = -300
}

qyv_ai_promote_culture = {
    any_owned_province = {
        limit = {
            culture = root.culture
            development < 15
        }
        promote_culture = yes
    }
}

qyv_ai_convert_faith = {
    random_owned_province = {
        limit = {
            faith != root.faith
            development >= 10
        }
        convert_faith = { faith = root.faith }
    }
}

# Tax/Levy Optimization
qyv_ai_optimize_tax = {
    any_vassal = {
        limit = {
            contract_has = taxes_normal
            opinion_of_self >= 30
        }
        set_vassal_contract = { taxes = high }
    }
}

qyv_ai_optimize_levies = {
    any_vassal = {
        limit = {
            contract_has = levies_normal
            opinion_of_self >= 30
        }
        set_vassal_contract = { levies = high }
    }
}

# Loan Management
qyv_ai_take_loan = {
    take_loan = { amount = 500 }
}

qyv_ai_repay_loan = {
    repay_loan = { amount = 500 }
}

# Economic Specialization Strategy
qyv_ai_specialize_coastal = {
    if = {
        limit = { qyv_ai_economy_coastal = root }
        set_character_flag = qyv_econ_coastal
        if = { limit = { qyv_ai_should_build_coastal = root } qyv_ai_build_coastal = yes }
        if = { limit = { qyv_ai_should_build_fort = root } qyv_ai_build_fort = yes }
    }
}

qyv_ai_specialize_agrarian = {
    if = {
        limit = { qyv_ai_economy_agrarian = root }
        set_character_flag = qyv_econ_agrarian
        if = { limit = { qyv_ai_should_build_farmland = root } qyv_ai_build_farmland = yes }
        if = { limit = { qyv_ai_should_build_fort = root } qyv_ai_build_fort = yes }
    }
}

qyv_ai_specialize_mountain = {
    if = {
        limit = { qyv_ai_economy_mountain = root }
        set_character_flag = qyv_econ_mountain
        if = { limit = { qyv_ai_should_build_mountain = root } qyv_ai_build_mountain = yes }
        if = { limit = { qyv_ai_should_build_fort = root } qyv_ai_build_fort = yes }
    }
}

qyv_ai_specialize_city = {
    if = {
        limit = { qyv_ai_economy_city_focus = root }
        if = { limit = { qyv_ai_should_build_city = root } qyv_ai_build_city = yes }
    }
}

qyv_ai_specialize_temple = {
    if = {
        limit = { qyv_ai_economy_temple_focus = root }
        if = { limit = { qyv_ai_should_build_temple = root } qyv_ai_build_temple = yes }
    }
}

# Development Focus
qyv_ai_invest_in_development = {
    if = { limit = { qyv_ai_should_develop_capital = root } qyv_ai_develop_capital = yes }
    if = { limit = { qyv_ai_should_develop_border = root } qyv_ai_develop_border = yes }
    if = { limit = { qyv_eco_ai_should_promote_culture = root } qyv_ai_promote_culture = yes }
    if = { limit = { qyv_ai_should_convert_faith = root } qyv_ai_convert_faith = yes }
}

# Tax/Levy Optimization
qyv_ai_optimize_vassal_contracts = {
    if = { limit = { qyv_ai_should_optimize_tax = root } qyv_ai_optimize_tax = yes }
    if = { limit = { qyv_ai_should_optimize_levies = root } qyv_ai_optimize_levies = yes }
}

# Loan Management
qyv_ai_manage_loans = {
    if = { limit = { qyv_ai_should_take_loan = root } qyv_ai_take_loan = yes }
    if = { limit = { qyv_ai_should_repay_loan = root } qyv_ai_repay_loan = yes }
}

# War Chest Management
# AI keeps a reserve for expected wars instead of spending everything.
# Saves when facing a threat or planning expansion; spends the reserve
# when war is imminent and troops are needed.
qyv_ai_manage_war_chest = {
    if = {
        limit = { qyv_ai_should_save_gold = root }
        # Hold the reserve - do not spend on buildings this cycle
        set_character_flag = qyv_war_chest_active
    }
    if = {
        limit = {
            qyv_ai_should_spend_war_chest = root
            NOT = { has_character_flag = qyv_war_chest_active }
        }
        # Spend the reserve on military when war is imminent
        if = {
            limit = { gold >= 1500 }
            raise_men_at_arms = { type = men_at_arms_heavy_infantry }
        }
        remove_character_flag = qyv_war_chest_active
    }
}

# Economic Strategy by Specialization
qyv_ai_coastal_strategy = {
    if = { limit = { qyv_ai_economy_specialized_coastal = root } }
}

qyv_ai_agrarian_strategy = {
    if = { limit = { qyv_ai_economy_specialized_agrarian = root } }
}

qyv_ai_mountain_strategy = {
    if = { limit = { qyv_ai_economy_specialized_mountain = root } }
}