namespace = qyv_raiding

# Yearly: AI raids strategically as economic strategy
character_event = {
    id = qyv_raid.0100
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        can_raid_trigger = yes
        NOT = { is_at_war = yes }
        any_neighbor_independent_ruler = {
            limit = {
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
                NOT = { is_vassal_of = root }
                NOT = { is_liege_of = root }
            }
        }
    }

    mean_time_to_happen = { months = 24 }

    immediate = {
        qyv_ai_raid_strategically = yes
    }

    option = { name = "OK" }
}

# Monthly: AI coordinates raids with wars
character_event = {
    id = qyv_raid.0200
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        can_raid_trigger = yes
        is_at_war = yes
        war = {
            attacker = { is_ruler = root }
            war_score >= 20
        }
    }

    mean_time_to_happen = { months = 6 }

    immediate = {
        qyv_ai_coordinate_raids = yes
    }

    option = { name = "OK" }
}

# Quarterly: AI evaluates raid risk vs reward
character_event = {
    id = qyv_raid.0300
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        can_raid_trigger = yes
        any_neighbor_independent_ruler = {
            limit = {
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
                gold >= 300
                military_strength < root.military_strength * 3.0
            }
        }
    }

    mean_time_to_happen = { months = 12 }

    immediate = {
        qyv_ai_evaluate_raid_risk = yes
    }

    option = { name = "OK" }
}

# Monthly: AI raises raiding parties
character_event = {
    id = qyv_raid.0400
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        can_raid_trigger = yes
        NOT = { is_at_war = yes }
        any_men_at_arms = {
            limit = {
                type = light_cavalry
            }
        }
        any_neighbor_independent_ruler = {
            limit = {
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
            }
        }
    }

    mean_time_to_happen = { months = 12 }

    immediate = {
        qyv_ai_raise_raid_party = yes
    }

    option = { name = "OK" }
}

# Monthly: AI targets specific settlements
character_event = {
    id = qyv_raid.0500
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        can_raid_trigger = yes
        any_neighbor_independent_ruler = {
            limit = {
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
                any_realm_province = {
                    limit = {
                        OR = {
                            has_building = market_villages
                            has_building = trade_port
                            has_building = farms
                            has_building = mines
                        }
                    }
                }
            }
        }
    }

    mean_time_to_happen = { months = 12 }

    immediate = {
        qyv_ai_target_settlement = yes
    }

    option = { name = "OK" }
}

# Quarterly: AI builds anti-raid defenses
character_event = {
    id = qyv_raid.0600
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        has_character_flag = qyv_raided_recently
        any_realm_province = {
            limit = {
                is_border_province = yes
                NOT = { has_building = fort_1 }
                NOT = { has_building = fort_2 }
                NOT = { has_building = fort_3 }
            }
        }
        gold >= 200
        NOT = { in_debt = yes }
    }

    mean_time_to_happen = { months = 24 }

    immediate = {
        qyv_ai_build_anti_raid = yes
    }

    option = { name = "OK" }
}

# Quarterly: AI raids disloyal vassals
character_event = {
    id = qyv_raid.0700
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        any_vassal = {
            limit = {
                opinion_of_liege < -20
                NOT = { is_ally = root }
            }
        }
        can_raid_trigger = yes
    }

    mean_time_to_happen = { months = 12 }

    immediate = {
        qyv_ai_raid_vassal = yes
    }

    option = { name = "OK" }
}

# Monthly: AI raids during truces
character_event = {
    id = qyv_raid.0800
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        can_raid_trigger = yes
        NOT = { is_at_war = yes }
        any_neighbor_independent_ruler = {
            limit = {
                has_truce_with = root
                NOT = { is_allied_to = root }
                gold >= 300
            }
        }
    }

    mean_time_to_happen = { months = 12 }

    immediate = {
        qyv_ai_raid_during_truce = yes
    }

    option = { name = "OK" }
}

# On Actions
on_actions = {
    on_ai_consider_declare_war = {
        trigger_if = {
            limit = {
                is_ai = yes
                is_ruler = yes
                is_independent_ruler = yes
                target = { has_character_flag = qyv_raid_target }
            }
            ai_will_do = { base = 5 }
        }
    }

    on_ai_consider_declare_war = {
        trigger_if = {
            limit = {
                is_ai = yes
                is_ruler = yes
                is_independent_ruler = yes
                target = { has_character_flag = qyv_settlement_raid_target }
            }
            ai_will_do = { base = 8 }
        }
    }

    on_ai_consider_declare_war = {
        trigger_if = {
            limit = {
                is_ai = yes
                is_ruler = yes
                is_independent_ruler = yes
                target = { has_character_flag = qyv_truce_raid_target }
            }
            ai_will_do = { base = 10 }
        }
    }
}
