# AI Tribute & Gift System Triggers

# AI can afford to send gifts/tribute
qyv_ai_can_send_tribute = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        gold >= 300
        NOT = { in_debt = yes }
        NOT = { has_character_flag = qyv_tribute_exhausted }
    }
}

# AI is threatened and should pay tribute
qyv_ai_should_pay_tribute = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        any_neighbor_independent_ruler = {
            limit = {
                military_strength > root.military_strength * 1.3
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
                NOT = { is_vassal_of = root }
                NOT = { is_liege_of = root }
            }
            save_scope_as = threat
        }
    }
}

# AI receives tribute - sets modifier to prevent war
qyv_is_receiving_tribute = {
    trigger = {
        has_character_modifier = qyv_receiving_tribute
    }
}

# AI gives tribute to specific target
qyv_is_paying_tribute_to = {
    trigger = {
        has_character_flag = qyv_paying_tribute_to_target
    }
}

# Tribute modifier exists on target
qyv_tribute_active = {
    trigger = {
        target = {
            has_character_modifier = qyv_receiving_tribute_from_payer
        }
    }
}

# AI can send diplomatic gift to prevent war
qyv_ai_can_send_gift = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        gold >= 500
        NOT = { in_debt = yes }
        any_neighbor_independent_ruler = {
            limit = {
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
                opinion_of_self < 0
                OR = {
                    military_strength > root.military_strength * 1.2
                    threat = { threat_level = high }
                }
            }
            save_scope_as = gift_target
        }
    }
}

# AI evaluates if gift is worth it vs war cost
qyv_gift_prevents_war = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_neighbor_independent_ruler = {
            limit = {
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
                opinion_of_self < -20
                military_strength > root.military_strength * 1.1
            }
            save_scope_as = gift_target
        }
        gold >= 500
        NOT = { in_debt = yes }
    }
}

# AI receives gift/tribute - applies opinion modifier
qyv_received_gift_recently = {
    trigger = {
        has_character_modifier = qyv_received_diplomatic_gift
    }
}

# AI receiving tribute from specific ruler
qyv_receiving_tribute_from = {
    trigger = {
        target = {
            has_character_modifier = qyv_receiving_tribute_from_payer
        }
    }
}

# AI that pays tribute gets opinion boost
qyv_paying_tribute_opinion = {
    trigger = {
        has_character_modifier = qyv_paying_tribute
    }
}

# Player pays tribute to AI
qyv_player_pays_tribute = {
    trigger = {
        is_human = yes
        is_ruler = yes
        any_neighbor_independent_ruler = {
            limit = {
                is_ai = yes
                military_strength > root.military_strength * 1.2
                NOT = { is_allied_to = root }
                NOT = { has_truce_with = root }
            }
            save_scope_as = tribute_target
        }
        gold >= 200
        NOT = { in_debt = yes }
    }
}
# ============================================================
# DIPLOMACY EXPANSION (v1.20.12)
# Hostages, alliances, marriages, troop requests, gold reserves,
# genetic optimization, culture/faith unity.
# ============================================================

# --- Hostages ---
# AI takes hostages from defeated rivals to secure peace
qyv_ai_should_take_hostage = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        is_at_war = yes
        war = {
            attacker = { is_ruler = root }
            war_score >= 50
        }
        # Target has family members we can take
        any_war_participant = {
            limit = {
                is_at_war_with = root
                any_family_member = {
                    limit = {
                        is_ruler = no
                        is_child = no
                        is_married = no
                        is_hostage = no
                        age >= 10
                    }
                }
            }
            save_scope_as = defeated_rival
        }
    }
}

# AI gives hostages to stronger neighbors to buy peace
qyv_ai_should_give_hostage = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        is_at_war = yes
        war = {
            defender = { is_ruler = root }
            war_score < -30
        }
        # We have family members to give
        any_family_member = {
            limit = {
                is_ruler = no
                is_child = no
                is_married = no
                age >= 10
                NOT = { is_hostage = yes }
            }
        }
    }
}

# --- Alliances ---
# AI offers alliances to sensible neighbors
qyv_ai_should_offer_alliance = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        qyv_ai_is_secure = root
        NOT = { is_at_war = yes }
        any_neighbor_independent_ruler = {
            limit = {
                is_ally = no
                has_truce = no
                is_rival = no
                military_strength < root.military_strength * 3.0
                military_strength > root.military_strength * 0.3
                OR = {
                    same_culture = yes
                    same_faith = yes
                    opinion_of_self >= 0
                }
            }
        }
    }
}

# --- Troop Requests ---
# Small nations can ask local powers for troops
qyv_ai_should_request_troops = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        qyv_ai_is_struggling = root
        is_at_war = yes
        war = {
            defender = { is_ruler = root }
        }
        # Has a stronger neighbor who could help
        any_neighbor_independent_ruler = {
            limit = {
                is_ally = no
                military_strength > root.military_strength * 1.5
                has_truce = no
            }
            save_scope_as = potential_ally
        }
    }
}

# --- Gold Reserves ---
# AI keeps 500+ gold reserve, scaled by realm size
qyv_ai_should_keep_gold_reserve = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        # Reserve floor: 500 base, scaled by realm size
        gold < 500
        realm_size >= 10
        NOT = { in_debt = yes }
    }
}

qyv_ai_gold_reserve_scaled = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        # Scaled reserve: 500 + (realm_size * 10)
        gold < 500
        realm_size >= 10
        NOT = { in_debt = yes }
    }
}

# --- Genetic Optimization ---
# AI prioritizes good genetics for heirs when no alliance needed
qyv_ai_should_prioritize_genetics = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        qyv_ai_is_secure = root
        NOT = { is_at_war = yes }
        has_heir = yes
        heir = { is_child = yes }
        # Heir has weak genetics
        NOT = { has_trait = genius }
        NOT = { has_trait = beautiful }
        NOT = { has_trait = herculean }
        NOT = { has_trait = fecund }
    }
}

# --- Culture/Faith Unity ---
# Same-culture/same-faith realms get opinion bonus to ally
qyv_same_culture_friendly = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_neighbor_independent_ruler = {
            limit = {
                OR = {
                    same_culture = yes
                    same_faith = yes
                }
                is_ally = no
            }
        }
    }
}

qyv_ai_should_unite_by_culture_faith = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        is_independent_ruler = yes
        qyv_ai_is_secure = root
        NOT = { is_at_war = yes }
        any_neighbor_independent_ruler = {
            limit = {
                OR = {
                    same_culture = yes
                    same_faith = yes
                }
                is_ally = no
                has_truce = no
                is_rival = no
                military_strength < root.military_strength * 2.0
            }
        }
    }
}
