namespace = qyv_ai_memory

# ============================================================
# MONTHLY: MEMORY FORMATION
# ============================================================

character_event = {
    id = qyv_mem.0100
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
    }

    mean_time_to_happen = { months = 1 }

    immediate = {
        # Remember aggression
        if = {
            limit = { qyv_ai_should_remember_aggression = root }
            qyv_ai_remember_aggression = yes
        }

        # Remember diplomacy
        if = {
            limit = { qyv_ai_should_remember_diplomacy = root }
            qyv_ai_remember_diplomacy = yes
        }

        # Remember opportunism
        if = {
            limit = { qyv_ai_should_remember_opportunism = root }
            qyv_ai_remember_opportunism = yes
        }

        # Remember isolationism
        if = {
            limit = { qyv_ai_should_remember_isolationism = root }
            qyv_ai_remember_isolationism = yes
        }

        # Remember reliable allies
        if = {
            limit = { qyv_ai_should_remember_reliable_ally = root }
            qyv_ai_remember_reliable_ally = yes
        }

        # Remember betrayal
        if = {
            limit = { qyv_ai_should_remember_betrayal = root }
            qyv_ai_remember_betrayal = yes
        }

        # Remember broken truces
        if = {
            limit = { qyv_ai_should_remember_broken_truce = root }
            qyv_ai_remember_broken_truce = yes
        }
    }

    option = { name = "OK" }
}

# ============================================================
# QUARTERLY: STRATEGY ADJUSTMENT BASED ON MEMORY
# ============================================================

character_event = {
    id = qyv_mem.0200
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
    }

    mean_time_to_happen = { months = 3 }

    immediate = {
        # Adjust vs aggressive neighbors
        if = { limit = { qyv_ai_memory_aggressive = root } qyv_ai_adjust_vs_aggressive = yes }

        # Adjust vs diplomatic neighbors
        if = { limit = { qyv_ai_memory_diplomatic = root } qyv_ai_adjust_vs_diplomatic = yes }

        # Adjust vs opportunistic neighbors
        if = { limit = { qyv_ai_memory_opportunistic = root } qyv_ai_adjust_vs_opportunistic = yes }

        # Adjust vs isolationist neighbors
        if = { limit = { qyv_ai_memory_isolationist = root } qyv_ai_adjust_vs_isolationist = yes }

        # Adjust vs reliable allies
        if = { limit = { qyv_ai_memory_reliable_ally = root } qyv_ai_adjust_vs_reliable_ally = yes }

        # Adjust vs betrayed
        if = { limit = { qyv_ai_memory_betrayed = root } qyv_ai_adjust_vs_betrayed = yes }
    }

    option = { name = "OK" }
}

# ============================================================
# QUARTERLY: TRUST BEHAVIOR
# ============================================================

character_event = {
    id = qyv_mem.0300
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
    }

    mean_time_to_happen = { months = 3 }

    immediate = {
        # Low trust behavior
        if = { limit = { qyv_ai_low_trust = root } qyv_ai_low_trust_behavior = yes }

        # High trust behavior
        if = { limit = { qyv_ai_high_trust = root } qyv_ai_high_trust_behavior = yes }
    }

    option = { name = "OK" }
}

# ============================================================
# YEARLY: SUCCESSION TRACKING
# ============================================================

character_event = {
    id = qyv_mem.0400
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
    }

    mean_time_to_happen = { months = 12 }

    immediate = {
        # Track neighbor successions
        if = {
            limit = { qyv_ai_should_track_succession = root }
            qyv_ai_track_succession = yes
        }
    }

    option = { name = "OK" }
}

# ============================================================
# WAR STRATEGY BASED ON MEMORY
# ============================================================

character_event = {
    id = qyv_mem.0500
    hidden = yes
    is_triggered_only = no

    trigger = {
        is_ai = yes
        is_ruler = yes
        is_at_war = yes
    }

    mean_time_to_happen = { months = 1 }

    immediate = {
        # War vs aggressive
        if = { limit = { qyv_ai_war_vs_aggressive = root } qyv_ai_war_vs_aggressive = yes }

        # War vs opportunistic
        if = { limit = { qyv_ai_war_vs_opportunistic = root } qyv_ai_war_vs_opportunistic = yes }

        # Peace with diplomatic
        if = { limit = { qyv_ai_peace_vs_diplomatic = root } qyv_ai_peace_vs_diplomatic = yes }
    }

    option = { name = "OK" }
}

# ============================================================
# ON_ACTIONS
# ============================================================

on_actions = {
    on_monthly_pulse = { events = { qyv_mem.0100 } }
    on_quarterly_pulse = { events = { qyv_mem.0200 qyv_mem.0300 } }
    on_yearly_pulse = { events = { qyv_mem.0400 } }
}