﻿namespace = domcom_intimacy

# Isolated Invite to Bed event chain. Kept outside domcom_events.txt so unrelated
# event validation errors cannot prevent the player-facing intimacy menu from registering.
domcom_intimacy.0001 = {
    type = character_event
    title = domcom.800.t
    desc = domcom.800.desc
    theme = seduction
    left_portrait = { character = root animation = personality_bold }

    immediate = {
        hidden_effect = {
            save_scope_as = domcom_intimacy_patron
            if = {
                limit = {
                    has_variable = domcom_intimacy_pending_partner
                    var:domcom_intimacy_pending_partner = { is_alive = yes age >= 18 }
                }
                var:domcom_intimacy_pending_partner = { save_scope_as = domcom_intimacy_partner }
                scope:domcom_intimacy_partner = {
                    if = {
                        limit = {
                            NOT = { is_consort_of = root }
                            exists = primary_spouse
                            primary_spouse = { is_alive = yes NOT = { this = root } }
                        }
                        primary_spouse = { save_scope_as = domcom_intimacy_cuckold }
                    }
                }
            }
            remove_variable = domcom_intimacy_pending_partner
        }
    }

    option = {
        name = domcom.800.a
        trigger = { exists = scope:domcom_intimacy_partner }
        custom_tooltip = domcom.800.a.tt
        save_scope_value_as = { name = domcom_intimacy_xp value = 40 }
        save_scope_value_as = { name = domcom_intimacy_prestige_loss value = -100 }
        save_scope_value_as = { name = domcom_intimacy_style value = flag:discreet }
        hidden_effect = {
            domcom_intimacy_resolve_effect = yes
            if = {
                limit = { NOT = { has_character_flag = domcom_intimacy_intercepted_by_guard } }
                random_list = {
                    10 = { domcom_intimacy_discovered_effect = yes }
                    90 = { domcom_intimacy_undetected_effect = yes }
                }
            }
            else = { remove_character_flag = domcom_intimacy_intercepted_by_guard }
        }
    }

    option = {
        name = domcom.800.b
        trigger = { exists = scope:domcom_intimacy_partner }
        custom_tooltip = domcom.800.b.tt
        save_scope_value_as = { name = domcom_intimacy_xp value = 90 }
        save_scope_value_as = { name = domcom_intimacy_prestige_loss value = -250 }
        save_scope_value_as = { name = domcom_intimacy_style value = flag:open }
        hidden_effect = {
            domcom_intimacy_resolve_effect = yes
            if = {
                limit = { NOT = { has_character_flag = domcom_intimacy_intercepted_by_guard } }
                random_list = {
                    35 = { domcom_intimacy_discovered_effect = yes }
                    65 = { domcom_intimacy_undetected_effect = yes }
                }
            }
            else = { remove_character_flag = domcom_intimacy_intercepted_by_guard }
        }
    }

    option = {
        name = domcom.800.c
        trigger = { exists = scope:domcom_intimacy_partner }
        custom_tooltip = domcom.800.c.tt
        save_scope_value_as = { name = domcom_intimacy_xp value = 180 }
        save_scope_value_as = { name = domcom_intimacy_prestige_loss value = -500 }
        save_scope_value_as = { name = domcom_intimacy_style value = flag:brazen }
        hidden_effect = {
            domcom_intimacy_resolve_effect = yes
            if = {
                limit = { NOT = { has_character_flag = domcom_intimacy_intercepted_by_guard } }
                random_list = {
                    65 = { domcom_intimacy_discovered_effect = yes }
                    35 = { domcom_intimacy_undetected_effect = yes }
                }
            }
            else = { remove_character_flag = domcom_intimacy_intercepted_by_guard }
        }
    }

    option = {
        name = domcom.800.d
        trigger = { exists = scope:domcom_intimacy_partner }
        custom_tooltip = domcom.800.d.tt
        hidden_effect = {
            root = {
                remove_interaction_cooldown_against = {
                    interaction = domcom_invite_to_bed_interaction
                    target = scope:domcom_intimacy_partner
                }
            }
        }
    }

    # Diagnostic-safe fallback: if the bridge ever fails, the event still opens instead of silently vanishing.
    option = {
        name = domcom_intimacy_bridge_failed
        trigger = { NOT = { exists = scope:domcom_intimacy_partner } }
    }
}

# Discovered, but the Patron won the confrontation.
domcom_intimacy.0002 = {
    type = character_event
    title = domcom.801.t
    desc = domcom.801.desc
    theme = intrigue
    left_portrait = { character = root animation = personality_bold }
    right_portrait = { character = scope:domcom_intimacy_partner animation = fear }
    trigger = { exists = scope:domcom_intimacy_partner }
    option = { name = domcom.801.a }
}

# Discovered and cornered.
domcom_intimacy.0003 = {
    type = character_event
    title = domcom.802.t
    desc = domcom.802.desc
    theme = intrigue
    left_portrait = { character = root animation = shame }
    right_portrait = { character = scope:domcom_intimacy_partner animation = fear }
    trigger = { exists = scope:domcom_intimacy_partner }
    option = { name = domcom.802.a }
}

# Final Submission household exposure: visible scandal, no confrontation.
domcom_intimacy.0004 = {
    type = character_event
    title = domcom.803.t
    desc = domcom.803.desc
    theme = intrigue
    left_portrait = { character = root animation = personality_bold }
    right_portrait = { character = scope:domcom_intimacy_partner animation = flirtation }
    trigger = { exists = scope:domcom_intimacy_partner }
    option = { name = domcom.803.a }
}
