# ============================================================
# DREAD & TYRANNY MANAGEMENT TRIGGERS
# ============================================================

# Dread Assessment
qyv_ai_dread_too_low = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        dread < 10
        OR = {
            qyv_ai_has_faction_trouble = root
            qyv_ai_has_succession_crisis = root
            qyv_ai_realm_needs_stability = root
        }
    }
}

qyv_ai_dread_too_high = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        dread > 75
        any_vassal = { opinion_of_liege < -75 }
    }
}

qyv_ai_should_generate_dread = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        dread < 30
        OR = {
            qyv_ai_has_faction_trouble = root
            qyv_ai_has_succession_crisis = root
            any_vassal = {
                is_powerful = yes
                opinion_of_self < -50
            }
        }
        NOT = { has_trait = compassionate }
        NOT = { has_trait = forgiving }
    }
}

qyv_ai_should_reduce_dread = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        dread > 60
        any_vassal = { opinion_of_liege < -75 }
        NOT = { qyv_ai_has_faction_trouble = root }
        NOT = { qyv_ai_has_succession_crisis = root }
    }
}

# Execution Targets
qyv_ai_should_execute_traitor = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_prisoner = {
            is_vassal_of = root
            OR = {
                is_faction_leader = yes
                has_secret = yes
                is_rival_of = root
                is_claimant = yes
            }
            save_scope_as = execution_target
        }
        dread < 50
        NOT = { has_trait = compassionate }
        NOT = { has_trait = forgiving }
    }
}

qyv_ai_should_execute_rival_claimant = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_prisoner = {
            is_claimant = yes
            has_claim_on = root
        }
        save_scope_as = claimant_target
    }
}

qyv_ai_should_execute_incompetent_heir = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_child = {
            is_heir = yes
            OR = { has_trait = incapable has_trait = imbecile has_trait = stupid }
            is_imprisoned = yes
        }
        save_scope_as = bad_heir
    }
}

# Torture for Hooks
qyv_ai_should_torture_for_hook = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_prisoner = {
            is_vassal_of = root
            is_powerful = yes
            NOT = { has_hook_on = root }
        }
        save_scope_as = torture_target
    }
}

# Tyranny Management
qyv_ai_should_accept_tyranny = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_vassal = {
            is_powerful = yes
            is_faction_leader = yes
            opinion_of_self < -50
        }
        dread < 40
        NOT = { has_trait = compassionate }
        NOT = { has_trait = just }
    }
}

qyv_ai_should_revoke_title = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_vassal = {
            is_powerful = yes
            opinion_of_self < -75
            is_faction_leader = yes
        }
        dread >= 30
    }
}

qyv_ai_should_imprison_vassal = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_vassal = {
            is_powerful = yes
            is_faction_leader = yes
            opinion_of_self < -50
            NOT = { is_imprisoned = yes }
        }
        save_scope_as = imprison_target
    }
}

# Fear/Vassal Opinion Balance
qyv_ai_dread_opinion_balance = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        dread > 40
        any_vassal = { opinion_of_liege < -50 }
    }
}

qyv_ai_should_generate_dread_via_events = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        dread < 20
        OR = {
            num_active_factions > 0
            any_vassal = { is_powerful = yes opinion_of_self < -25 }
            has_heir = { is_child = yes }
        }
        NOT = { has_trait = compassionate }
    }
}

qyv_ai_should_use_hook_for_obedience = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_vassal = {
            has_hook_on = root
            opinion_of_self < 0
        }
        save_scope_as = hooked_vassal
    }
}

qyv_ai_should_demand_council_via_hook = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_vassal = {
            has_hook_on = root
            is_powerful = yes
            NOT = { is_on_council = yes }
        }
        save_scope_as = hooked_vassal
    }
}

qyv_ai_should_demand_gold_via_hook = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_vassal = {
            has_hook_on = root
            gold >= 500
        }
        save_scope_as = hooked_vassal
    }
}

qyv_ai_should_demand_levies_via_hook = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        any_vassal = {
            has_hook_on = root
            is_powerful = yes
        }
        save_scope_as = hooked_vassal
    }
}

# Dread from Traits
qyv_ai_should_acquire_dread_traits = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        NOT = { has_trait = cruel }
        NOT = { has_trait = sadistic }
        NOT = { has_trait = impaler }
        dread < 30
        OR = {
            qyv_ai_has_faction_trouble = root
            qyv_ai_has_succession_crisis = root
        }
        NOT = { has_trait = compassionate }
        NOT = { has_trait = forgiving }
    }
}

qyv_ai_should_acquire_just_trait = {
    trigger = {
        is_ai = yes
        is_ruler = yes
        dread > 50
        any_vassal = { opinion_of_liege < -75 }
        NOT = { has_trait = just }
        NOT = { has_trait = cruel }
    }
}