﻿namespace = warlord

# Liege-facing notification: informs the ruler that warlords are rising among vassals
warlord.1001 = {
    type = character_event
    title = warlord.1001.t
    desc = warlord.1001.d
    theme = realm

    left_portrait = root

    option = {
        name = warlord.1001.a
        ai_chance = { base = 100 }
        # Grant the liege a realm law and run the hidden_effect so the iteration runs in effect scope
        if = {
            limit = { NOT = { has_realm_law = crown_authority_0 } }
            add_realm_law = crown_authority_0
        }
        hidden_effect = {
            if = {
                limit = { exists = primary_title }
                primary_title = {
                    set_variable = { name = rf_warlord_era_active value = 1 }
                    # A new or renewed uprising must endure for a decade before
                    # the Loyal Warlord majority can formally end the era.
                    set_variable = { name = rf_warlord_loyal_victory_locked value = 1 years = 10 }
                    set_variable = { name = rf_warlord_era_age_initialized value = 1 }
                }
            }
            riseandfall_warlord_notify_vassals = yes
            # Set the title-based cooldown so it survives succession.
            riseandfall_set_low_stability_cooldown_se = yes
        }
    }
}

# Liege-facing ending after the movement has been suppressed or disbanded.
warlord.1010 = {
    type = character_event
    title = warlord.1010.t
    desc = warlord.1010.d
    theme = realm

    left_portrait = {
        character = root
        animation = personality_bold
    }

    option = {
        name = warlord.1010.a
        ai_chance = { base = 100 }
    }
}

# Liege-facing ending when the Crown and Loyal Warlords control 51% of the realm.
warlord.1011 = {
    type = character_event
    title = warlord.1011.t
    desc = warlord.1011.d
    theme = realm

    left_portrait = {
        character = root
        animation = personality_bold
    }

    option = {
        name = warlord.1011.a
        ai_chance = { base = 100 }
    }
}

# Player Warlords receive explicit notice when the loyal bloc wins the era.
warlord.1012 = {
    type = character_event
    title = warlord.1012.t
    desc = warlord.1012.d
    theme = realm

    left_portrait = root
    right_portrait = liege

    option = {
        name = warlord.1012.a
        ai_chance = { base = 100 }
    }
}
# Player-facing notice when an inherited legacy banner expires.
warlord.1013 = {
    type = character_event
    title = warlord.1013.t
    desc = warlord.1013.d
    theme = realm
    left_portrait = root
    option = {
        name = warlord.1013.a
        ai_chance = { base = 100 }
    }
}

# Player liege notice when one of their inherited legacy banners expires.
warlord.1014 = {
    type = character_event
    title = warlord.1014.t
    desc = warlord.1014.d
    theme = realm
    left_portrait = root
    option = {
        name = warlord.1014.a
        ai_chance = { base = 100 }
    }
}

# Vassal-facing decision: vassals may choose to become a warlord or remain loyal
warlord.1002 = {
    type = character_event
    title = warlord.1002.t
    desc = warlord.1002.d
    theme = realm

    left_portrait = liege
    right_portrait = root

    option = {
        name = warlord.1002.a
        remove_variable = riseandfall_warlord_invitation_pending
        # Become a regional Warlord and join the internal power struggle.
        riseandfall_warlord_become_warlord = yes
        ai_chance = {
            # A Warlord crisis is a broad uprising; most AI vassals join unless
            # their personality or loyalty gives them a clear reason not to.
            base = 120
            modifier = { has_trait = ambitious add = 25 }
            modifier = { has_trait = disloyal add = 25 }
            modifier = { has_trait = content add = -25 }
            modifier = { has_trait = craven add = -20 }
            modifier = { opinion = { target = liege value <= -25 } add = 25 }
            modifier = { opinion = { target = liege value >= 25 } add = -20 }
            modifier = {
                military_power >= { value = liege.military_power multiply = 5 }
                add = 65
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 4 }
                military_power < { value = liege.military_power multiply = 5 }
                add = 55
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 3 }
                military_power < { value = liege.military_power multiply = 4 }
                add = 45
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 2.5 }
                military_power < { value = liege.military_power multiply = 3 }
                add = 40
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 2 }
                military_power < { value = liege.military_power multiply = 2.5 }
                add = 35
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 1.5 }
                military_power < { value = liege.military_power multiply = 2 }
                add = 25
            }
            modifier = {
                military_power >= liege.military_power
                military_power < { value = liege.military_power multiply = 1.5 }
                add = 15
            }
        }
    }

    option = {
        name = warlord.1002.b
        remove_variable = riseandfall_warlord_invitation_pending
        # Join the Crown as a Loyal Warlord.
        riseandfall_warlord_remain_loyal = yes
        ai_chance = {
            base = 100
            modifier = { has_trait = loyal add = 30 }
            modifier = { has_trait = content add = 20 }
            modifier = { has_trait = just add = 15 }
            modifier = { has_trait = honest add = 10 }
            modifier = { has_trait = ambitious add = -20 }
            modifier = { has_trait = disloyal add = -30 }
            modifier = { opinion = { target = liege value >= 25 } add = 25 }
            modifier = { opinion = { target = liege value <= -25 } add = -25 }
            modifier = {
                military_power >= { value = liege.military_power multiply = 5 }
                add = -65
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 4 }
                military_power < { value = liege.military_power multiply = 5 }
                add = -55
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 3 }
                military_power < { value = liege.military_power multiply = 4 }
                add = -45
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 2.5 }
                military_power < { value = liege.military_power multiply = 3 }
                add = -40
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 2 }
                military_power < { value = liege.military_power multiply = 2.5 }
                add = -35
            }
            modifier = {
                military_power >= { value = liege.military_power multiply = 1.5 }
                military_power < { value = liege.military_power multiply = 2 }
                add = -25
            }
            modifier = {
                military_power >= liege.military_power
                military_power < { value = liege.military_power multiply = 1.5 }
                add = -15
            }
            modifier = {
                military_power < liege.military_power
                add = 10
            }
        }
    }
}
