﻿activity_domcom_power_trip_v2 = {
    is_shown = {
        is_ai = no
        has_trait = domcom_human_among_ai_trait
        age >= 18
        is_landed = yes
        is_independent_ruler = yes
        NOT = { has_character_modifier = domcom_human_ai_contained_modifier }
        NOT = { has_character_modifier = domcom_human_ai_godsbane_modifier }
    }

    can_always_plan = no

    can_start_showing_failures_only = {
        NOT = { is_activity_type_on_cooldown = activity_domcom_power_trip_v2 }
        is_alive = yes
        is_imprisoned = no
        age >= 18
        is_landed = yes
        is_independent_ruler = yes
        NOT = { has_character_modifier = domcom_human_ai_contained_modifier }
        NOT = { has_character_modifier = domcom_human_ai_godsbane_modifier }
    }

    is_valid = {
        scope:host = {
            is_alive = yes
            is_imprisoned = no
            has_trait = domcom_human_among_ai_trait
            NOT = { has_character_modifier = domcom_human_ai_contained_modifier }
            NOT = { has_character_modifier = domcom_human_ai_godsbane_modifier }
        }
    }

    is_location_valid = {
        exists = county_controller
        county_controller.top_liege = {
            is_alive = yes
            is_landed = yes
            is_independent_ruler = yes
            this != scope:host
            NOT = { has_trait = domcom_human_among_ai_trait }
            in_diplomatic_range = scope:host
            capital_province = root
        }
    }

    on_invalidated = {
        invalidation_imprisoned_effect = yes
        invalidation_incapable_effect = yes
    }

    on_enter_active_state = {
        scope:activity = { save_scope_as = domcom_power_trip_activity }
        scope:host = {
            remove_variable = domcom_power_trip_roll_success
            remove_variable = domcom_power_trip_aborted
            save_scope_as = domcom_power_trip_actor
            location.county_controller.top_liege = { save_scope_as = domcom_power_trip_target }
            scope:domcom_power_trip_target.primary_title = { save_scope_as = domcom_power_trip_target_primary_title }
            domcom_power_trip_prepare_effect = yes
            trigger_event = { id = domcom_power_trip.100 }
        }
    }

    province_filter = all
    ai_province_filter = domain
    province_description = { desc = activity_domcom_power_trip_v2_province_desc }
    province_score = {
        value = 1
        if = {
            limit = { county_controller.top_liege.primary_title.tier >= tier_kingdom }
            add = 2
        }
    }

    is_single_location = yes
    max_province_icons = 5
    max_route_deviation_mult = 10.0
    allow_zero_guest_invites = yes
    open_invite = no
    max_guests = 1
    cooldown = { years = 5 }

    # In-progress Power Trip presentation. This is separate from the pre-start
    # Activities-page header, which CK3 resolves through common/event_backgrounds.
    background = {
        texture = "gfx/interface/illustrations/event_scenes/battlefield.dds"
        environment = "environment_event_battlefield"
        ambience = "event:/SFX/Events/Backgrounds/battlefield_gloomy"
    }

    # Use CK3's native activity conclusion presentation after the arrival choices resolve.
    conclusion_description = {
        desc = {
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_aborted var:domcom_power_trip_aborted = 1 } } desc = domcom_power_trip.conclusion.aborted }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 1 var:domcom_power_trip_mode = 3 } } desc = domcom_power_trip.conclusion.success.enslave }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 1 var:domcom_power_trip_mode = 2 } } desc = domcom_power_trip.conclusion.success.inverse }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 1 NOT = { var:domcom_power_trip_mode = 2 } NOT = { var:domcom_power_trip_mode = 3 } } } desc = domcom_power_trip.conclusion.success.default }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 var:domcom_power_trip_mode = 3 var:domcom_power_trip_godsbane_found = 1 var:domcom_power_trip_captured = 1 } } desc = domcom_power_trip.conclusion.failure.enslave_godsbane_captured }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 var:domcom_power_trip_mode = 3 var:domcom_power_trip_godsbane_found = 1 NOT = { var:domcom_power_trip_captured = 1 } } } desc = domcom_power_trip.conclusion.failure.enslave_godsbane }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 var:domcom_power_trip_mode = 3 var:domcom_power_trip_captured = 1 NOT = { var:domcom_power_trip_godsbane_found = 1 } } } desc = domcom_power_trip.conclusion.failure.enslave_captured }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 var:domcom_power_trip_mode = 3 NOT = { var:domcom_power_trip_godsbane_found = 1 } NOT = { var:domcom_power_trip_captured = 1 } } } desc = domcom_power_trip.conclusion.failure.enslave_default }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 NOT = { var:domcom_power_trip_mode = 3 } var:domcom_power_trip_godsbane_found = 1 var:domcom_power_trip_captured = 1 } } desc = domcom_power_trip.conclusion.failure.godsbane_captured }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 NOT = { var:domcom_power_trip_mode = 3 } var:domcom_power_trip_godsbane_found = 1 NOT = { var:domcom_power_trip_captured = 1 } } } desc = domcom_power_trip.conclusion.failure.godsbane }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 NOT = { var:domcom_power_trip_mode = 3 } var:domcom_power_trip_captured = 1 NOT = { var:domcom_power_trip_godsbane_found = 1 } } } desc = domcom_power_trip.conclusion.failure.captured }
            triggered_desc = { trigger = { this = scope:host scope:host = { has_variable = domcom_power_trip_roll_success var:domcom_power_trip_roll_success = 0 NOT = { var:domcom_power_trip_mode = 3 } NOT = { var:domcom_power_trip_godsbane_found = 1 } NOT = { var:domcom_power_trip_captured = 1 } } } desc = domcom_power_trip.conclusion.failure.default }
        }
    }

    phases = {
        phase_domcom_power_trip = {
            is_predefined = yes
            location_source = pickable
            on_phase_active = {
                scope:activity = { progress_activity_phase_after = { days = 14 } }
            }
        }
    }

    # CK3 requires both host and guest intent defaults even when guests are functionally disabled.
    # Keep one framework guest slot so the activity type validates, then reject all actual guests below.
    host_intents = {
        intents = { reduce_stress_intent }
        default = reduce_stress_intent
    }

    guest_intents = {
        intents = { reduce_stress_intent }
        default = reduce_stress_intent
    }

    guest_join_chance = { base = 0 }
    can_be_activity_guest = { always = no }
    guest_invite_rules = { }

    ai_will_do = { value = 0 }
    ai_check_interval = 0
    ai_will_select_province = { value = 0 }
}
