﻿namespace = tgp_decision_events

scripted_effect clear_movement_petition_variables = {
    remove_variable = movement_petition
    remove_variable = movement_petition_persuasion
    scope:actors_movement = {
        remove_variable = movement_petition_in_progress
    }
    remove_variable = province_change
    remove_variable = budget_change
}

#arrival event
tgp_decision_events.0100 = {
    type = character_event
    title = tgp_decision_events.0100.t
    desc = {
        desc = tgp_decision_events.0100.desc
        first_valid = {
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_candidate_score_law
                }
                desc = tgp_decision_events.0100.desc_change_candidate_score_law
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_bureaucracy_laws_increase
                }
                desc = tgp_decision_events.0100.desc_change_bureaucracy_laws_increase
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_bureaucracy_laws_decrease
                }
                desc = tgp_decision_events.0100.desc_change_bureaucracy_laws_decrease
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_army_laws_increase
                }
                desc = tgp_decision_events.0100.desc_change_army_laws_increase
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_army_laws_decrease
                }
                desc = tgp_decision_events.0100.desc_change_army_laws_decrease
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_province_metropolitan
                }
                desc = tgp_decision_events.0100.desc_change_province_metropolitan
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_province_industrial
                }
                desc = tgp_decision_events.0100.desc_change_province_industrial
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_province_military
                }
                desc = tgp_decision_events.0100.desc_change_province_military
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_province_protectorate
                }
                desc = tgp_decision_events.0100.desc_change_province_protectorate
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:hold_examinations
                }
                desc = tgp_decision_events.0100.desc_hold_examinations
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_retirement_law_increase
                }
                desc = { #Unop: Having 2 desc under a triggered_desc will only show the first
                    desc = tgp_decision_events.0100.desc_change_retirement_law_increase
                    desc = tgp_decision_events.0100.desc_change_retirement_law_outro
                }
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:change_retirement_law_decrease
                }
                desc = { #Unop: Having 2 desc under a triggered_desc will only show the first
                    desc = tgp_decision_events.0100.desc_change_retirement_law_decrease
                    desc = tgp_decision_events.0100.desc_change_retirement_law_outro
                }
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:increase_budget_salary
                }
                desc = { #Unop: Having 2 desc under a triggered_desc will only show the first
                    desc = tgp_decision_events.0100.desc_increase_budget_salary
                    desc = tgp_decision_events.0100.desc_increase_budget_outro
                }
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:increase_budget_ministry
                }
                desc = { #Unop: Having 2 desc under a triggered_desc will only show the first
                    desc = tgp_decision_events.0100.desc_increase_budget_ministry
                    desc = tgp_decision_events.0100.desc_increase_budget_outro
                }
            }
            triggered_desc = {
                trigger = {
                    var:movement_petition = flag:increase_budget_military
                }
                desc = { #Unop: Having 2 desc under a triggered_desc will only show the first
                    desc = tgp_decision_events.0100.desc_increase_budget_military
                    desc = tgp_decision_events.0100.desc_increase_budget_outro
                }
            }
        }
        triggered_desc = {
            trigger = {
                OR = {
                    var:movement_petition ?= flag:change_province_metropolitan
                    var:movement_petition ?= flag:change_province_industrial
                    var:movement_petition ?= flag:change_province_military
                    var:movement_petition ?= flag:change_province_protectorate
                }
                is_landless_ruler = no
            }
            desc = tgp_decision_events.0100.desc_change_province_petitioner
        }
        triggered_desc = {
            trigger = {
                OR = {
                    var:movement_petition ?= flag:change_province_metropolitan
                    var:movement_petition ?= flag:change_province_industrial
                    var:movement_petition ?= flag:change_province_military
                    var:movement_petition ?= flag:change_province_protectorate
                }
                is_landless_ruler = yes
            }
            desc = tgp_decision_events.0100.desc_change_province_no_petitioner
        }
        triggered_desc = {
            trigger = {
                exists = scope:house_movement_member
            }
            desc = tgp_decision_events.0100.desc_change_province_house
        }
        triggered_desc = {
            trigger = {
                exists = scope:disciple_movement_member
            }
            desc = tgp_decision_events.0100.desc_change_province_disciple
        }
        triggered_desc = {
            trigger = {
                exists = scope:other_movement_member
            }
            desc = tgp_decision_events.0100.desc_change_province_other
        }
    }
    theme = realm

    left_portrait = {
        character = scope:petitioner
        animation = wu_shu_bao_quan_li
    }
    right_portrait = {
        character = scope:petition_recipient
        animation = emperor
    }
    lower_left_portrait = scope:house_movement_member
    lower_center_portrait = scope:disciple_movement_member
    lower_right_portrait = scope:other_movement_member

    trigger = {
       scope:actors_movement.var:movement_leader ?= root
       has_variable = movement_petition
       #AI doesn't have to block players from doing the petition
       trigger_if = {
            limit = {
                is_ai = yes
            }
            any_player = {
                NOT = { has_variable = movement_petition }
            }
       }
    }
    on_trigger_fail = {
        trigger_event = tgp_decision_events.0199
    }

    immediate = {
        save_scope_as = petitioner
        current_travel_plan ?= {
            pause_travel_plan = yes
        }
        if = {
            limit = {
                OR = {
                    var:movement_petition ?= flag:change_province_metropolitan
                    var:movement_petition ?= flag:change_province_industrial
                    var:movement_petition ?= flag:change_province_military
                    var:movement_petition ?= flag:change_province_protectorate
                }
            }
            scope:actors_movement = {
                ordered_situation_group_participant = {
                    order_by = var:movement_power_individual
                    limit = {
                        is_landless_ruler = no
                        this != scope:petitioner
                        house = scope:petitioner.house
                        vassal_contract_has_modifiable_obligations = yes
                        NOT = { is_vassal_of = scope:petitioner }
                    }
                    save_scope_as = house_movement_member
                }
                ordered_situation_group_participant = {
                    order_by = var:movement_power_individual
                    limit = {
                        is_landless_ruler = no
                        this != scope:petitioner
                        has_relation_elder = scope:petitioner
                        vassal_contract_has_modifiable_obligations = yes
                    }
                    save_scope_as = disciple_movement_member
                }
                ordered_situation_group_participant = {
                    order_by = var:movement_power_individual
                    limit = {
                        is_landless_ruler = no
                        this != scope:petitioner
                        house != scope:petitioner.house
                        vassal_contract_has_modifiable_obligations = yes
                        NOT = { is_vassal_of = scope:petitioner }
                    }
                    save_scope_as = other_movement_member
                }
                if = {  
                    limit = {
                        NOT = { exists = scope:other_movement_member }
                    }
                    random_situation_group_participant = {
                        limit = {
                            is_landless_ruler = no
                            this != scope:petitioner
                            vassal_contract_has_modifiable_obligations = yes
                            trigger_if = {
                                limit = { exists = scope:house_movement_member }
                                this != scope:house_movement_member
                            }
                            trigger_if = {
                                limit = { exists = scope:disciple_movement_member }
                                this != scope:disciple_movement_member
                            }
                        }
                        save_scope_as = other_movement_member
                    }
                }
            }
        }
    }

    # trigger the petition event for the liege
    option = {
        name = tgp_decision_events.0100.a
        trigger = {
            NOR = {
                var:movement_petition ?= flag:increase_budget_salary
                var:movement_petition ?= flag:increase_budget_military
                var:movement_petition ?= flag:increase_budget_ministry
            }
            trigger_if = {
                limit = {
                    OR = {
                        var:movement_petition ?= flag:change_province_metropolitan
                        var:movement_petition ?= flag:change_province_industrial
                        var:movement_petition ?= flag:change_province_military
                        var:movement_petition ?= flag:change_province_protectorate
                    }
                }
                is_landless_ruler = no
            }
        }
        if = {
            limit = {
                OR = {
                    var:movement_petition ?= flag:change_province_metropolitan
                    var:movement_petition ?= flag:change_province_industrial
                    var:movement_petition ?= flag:change_province_military
                    var:movement_petition ?= flag:change_province_protectorate
                } 
            }
            change_influence = major_influence_loss
            set_variable = {
                name = province_change
                value = scope:petitioner
            }
        }
        ai_chance = {
            base = 50
            #don't change province admin if you already have a non-standard one
            modifier = {
                OR = {
                    var:movement_petition ?= flag:change_province_metropolitan
                    var:movement_petition ?= flag:change_province_industrial
                    var:movement_petition ?= flag:change_province_military
                    var:movement_petition ?= flag:change_province_protectorate
                }
                vassal_contract_obligation_level:celestial_provinces != 0
                factor = 0
            }
        }
    }
    option = {
        name = tgp_decision_events.0100.b
        trigger = {
            exists = scope:house_movement_member
        }
        set_variable = {
            name = province_change
            value = scope:house_movement_member
        }
        ai_chance = {
            base = 50
            modifier = {
                scope:house_movement_member = { is_ai = no }
                factor = 0
            }
        }
    }
    option = {
        name = tgp_decision_events.0100.c
        trigger = {
            exists = scope:disciple_movement_member
        }
        set_variable = {
            name = province_change
            value = scope:disciple_movement_member
        }
        ai_chance = {
            base = 50
            modifier = {
                scope:disciple_movement_member = { is_ai = no }
                factor = 0
            }
        }
    }
    option = {
        name = tgp_decision_events.0100.d
        trigger = {
            exists = scope:other_movement_member
        }
        set_variable = {
            name = province_change
            value = scope:other_movement_member
        }
        ai_chance = {
            base = 50
            modifier = {
                scope:other_movement_member = { is_ai = no }
                factor = 0
            }
        }
    }
    option = {
        name = tgp_decision_events.0100.f
        trigger = {
            OR = {
                var:movement_petition ?= flag:increase_budget_salary
                var:movement_petition ?= flag:increase_budget_ministry
            }
            scope:hegemon = {
                NOT = { realm_law_group_at_minimum_level = budget_allocation_military_law }
            }
        }
        set_variable = {
            name = budget_change
            value = flag:decrease_military
        }
        show_as_tooltip = {
            scope:hegemon = {
                if = {
                    limit = {
                        scope:petitioner.var:movement_petition ?= flag:increase_budget_salary
                    }
                    change_realm_law_level = { law_group = budget_allocation_salary_law change = 1 }
                }
                else = {
                    change_realm_law_level = { law_group = budget_allocation_ministry_law change = 1 }
                }
                change_realm_law_level = { law_group = budget_allocation_military_law change = -1 }
            }
        }
        ai_chance = {
            base = 50
            modifier = {
                OR = {
                    vassal_contract_obligation_level:celestial_provinces = 3
                    vassal_contract_obligation_level:celestial_provinces = 4
                }
                factor = 0
            }
        }
    }
    option = {
        name = tgp_decision_events.0100.g
        trigger = {
            OR = {
                var:movement_petition ?= flag:increase_budget_military
                var:movement_petition ?= flag:increase_budget_ministry
            }
            scope:hegemon = {
                NOT = { realm_law_group_at_minimum_level = budget_allocation_salary_law }
            }
        }
        set_variable = {
            name = budget_change
            value = flag:decrease_salary
        }
        show_as_tooltip = {
            scope:hegemon = {
                if = {
                    limit = {
                        scope:petitioner.var:movement_petition ?= flag:increase_budget_ministry
                    }
                    change_realm_law_level = { law_group = budget_allocation_ministry_law change = 1 }
                }
                else = {
                    change_realm_law_level = { law_group = budget_allocation_military_law change = 1 }
                }
                change_realm_law_level = { law_group = budget_allocation_salary_law change = -1 }
            }
        }
        ai_chance = {
            base = 50
            modifier = {
                NOR = {
                    vassal_contract_obligation_level:celestial_provinces = 3
                    vassal_contract_obligation_level:celestial_provinces = 4
                }
                factor = 0
            }
        }
    }
    option = {
        name = tgp_decision_events.0100.h
        trigger = {
            OR = {
                var:movement_petition ?= flag:increase_budget_salary
                var:movement_petition ?= flag:increase_budget_military
            }
            scope:hegemon = {
                NOT = { realm_law_group_at_minimum_level = budget_allocation_ministry_law }
            }
        }
        set_variable = {
            name = budget_change
            value = flag:decrease_ministry
        }
        show_as_tooltip = {
            scope:hegemon = {
                if = {
                    limit = {
                        scope:petitioner.var:movement_petition ?= flag:increase_budget_salary
                    }
                    change_realm_law_level = { law_group = budget_allocation_salary_law change = 1 }
                }
                else = {
                    change_realm_law_level = { law_group = budget_allocation_military_law change = 1 }
                }
                change_realm_law_level = { law_group = budget_allocation_ministry_law change = -1 }
            }
        }
        ai_chance = {
            base = 50
            modifier = {
                is_councillor_of = top_liege
                factor = 0
            }
        }
    }
    after = {
        if = { #Unop save missing scope:movement_petition_effect for petition types that bypass movement_petition_change_laws_decision
            limit = { NOT = { exists = scope:movement_petition_effect } }
            save_scope_value_as = { name = movement_petition_effect value = var:movement_petition }
        }
        display_movement_petition_recipient_acceptance_effect = yes
        scope:petition_recipient = {
            trigger_event = tgp_decision_events.0101
        }        
    }
}

#liege event
tgp_decision_events.0101 = {
    type = character_event
    title = tgp_decision_events.0101.t
    desc = {
        desc = tgp_decision_events.0101.desc
        first_valid = {
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_candidate_score_law
                }
                desc = tgp_decision_events.0101.desc_change_candidate_score_law
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_bureaucracy_laws_increase
                }
                desc = tgp_decision_events.0101.desc_change_bureaucracy_laws_increase
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_bureaucracy_laws_decrease
                }
                desc = tgp_decision_events.0101.desc_change_bureaucracy_laws_decrease
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_army_laws_increase
                }
                desc = tgp_decision_events.0101.desc_change_army_laws_increase
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_army_laws_decrease
                }
                desc = tgp_decision_events.0101.desc_change_army_laws_decrease
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_province_metropolitan
                }
                desc = tgp_decision_events.0101.desc_change_province_metropolitan
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_province_industrial
                }
                desc = tgp_decision_events.0101.desc_change_province_industrial
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_province_military
                }
                desc = tgp_decision_events.0101.desc_change_province_military
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_province_protectorate
                }
                desc = tgp_decision_events.0101.desc_change_province_protectorate
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:hold_examinations
                }
                desc = tgp_decision_events.0101.desc_hold_examinations
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_retirement_law_increase
                }
                desc = tgp_decision_events.0101.desc_change_retirement_law_increase
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:change_retirement_law_decrease
                }
                desc = tgp_decision_events.0101.desc_change_retirement_law_decrease
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:increase_budget_salary
                }
                desc = tgp_decision_events.0101.desc_increase_budget_salary
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:increase_budget_ministry
                }
                desc = tgp_decision_events.0101.desc_increase_budget_ministry
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition = flag:increase_budget_military
                }
                desc = tgp_decision_events.0101.desc_increase_budget_military
            }
        }
        triggered_desc = {
            trigger = {
                exists = scope:province_change_recipient
            }
            desc = tgp_decision_events.0101.desc_change_province
        }
        triggered_desc = {
            trigger = {
                scope:petitioner.var:budget_change = flag:decrease_salary
            }
            desc = tgp_decision_events.0101.desc_decrease_budget_salary
        }
        triggered_desc = {
            trigger = {
                scope:petitioner.var:budget_change = flag:decrease_ministry
            }
            desc = tgp_decision_events.0101.desc_decrease_budget_ministry
        }
        triggered_desc = {
            trigger = {
                scope:petitioner.var:budget_change = flag:decrease_military
            }
            desc = tgp_decision_events.0101.desc_decrease_budget_military
        }
        desc = tgp_decision_events.0101.desc_end
    }
    theme = realm

    left_portrait = {
        character = scope:petition_recipient
        animation = emperor
    }
    right_portrait = {
        character = scope:petitioner
        animation = wu_shu_bao_quan_li
    }
    lower_right_portrait = {
        trigger = { scope:province_change_recipient != scope:petitioner }
        character = scope:province_change_recipient
    }

    immediate = {
        scope:petitioner.var:province_change ?= {
            save_scope_as = province_change_recipient
        }
    }

    # agree
    option = {
        name = tgp_decision_events.0101.a
        scope:petitioner = {
            send_interface_message = {
                type = event_diplomacy_good
                title = tgp_decision_events.0101.a_title
                left_icon = scope:petition_recipient
                grant_movement_petition_effect = yes
            }
            #send the petitioner home and clear variables
            hidden_effect = {
                current_travel_plan ?= {
                    resume_travel_plan = yes
                }
                clear_movement_petition_variables = yes
            }
        }
        ai_chance = {
            base = 0
            modifier = {
                add = movement_demands_acceptance_value
            }
        }
    }

    # disagree
    option = {
        name = tgp_decision_events.0101.b
        scope:petitioner = {
            trigger_event = tgp_decision_events.0102
        }
        custom_tooltip = tgp_decision_events.0101.b_tt
        ai_chance = {
            base = 10
        }
    }
    # refuse outright - same as tgp_decision_events.0103.b
    option = {
        name = tgp_decision_events.0103.b
        scope:petitioner = {
            refuse_movement_petition_effect = yes
            #send the petitioner home and clear variables
            hidden_effect = {
                current_travel_plan ?= {
                    resume_travel_plan = yes
                }
                clear_movement_petition_variables = yes
            }
        }
        ai_chance = {
            base = 10
        }
    }
}
# propose a counter offer
tgp_decision_events.0102 = {
    type = character_event
    title = tgp_decision_events.0102.t
    desc = tgp_decision_events.0102.desc
    theme = realm

    left_portrait = {
        character = scope:petitioner
        animation = stunned
    }
    right_portrait = {
        character = scope:petition_recipient
        animation = dismissal
    }

    immediate = {
    }

    # press for change
    # spend influence
    option = {
        name = tgp_decision_events.0102.a
        show_as_tooltip = {
            change_influence = {
                value = major_influence_loss
                if = {
                    limit = {
                        scope:petition_recipient = title:h_china.holder
                    }
                    multiply = 2
                }
            }
        }
        set_variable = {
            name = movement_petition_persuasion
            value = flag:give_influence
        }
        display_movement_petition_recipient_acceptance_effect = yes
        scope:petition_recipient = {
            trigger_event = tgp_decision_events.0103
        }
        ai_chance = {
            base = 0
            modifier = {
                influence >= major_influence_loss
                add = 100
            }
        }
    }
    # spend MaA
    option = {
        name = tgp_decision_events.0102.b
        trigger = {
            primary_title = {
                any_owned_title_maa_regiment = {
                    exists = this  
                }
            }
            scope:petition_recipient = {
                maa_regiments_max_count > maa_regiments_count
            }
        }
        show_as_tooltip = {
            primary_title = {
                transfer_title_maa_ownership = scope:petition_recipient.primary_title
            }
        }
        set_variable = {
            name = movement_petition_persuasion
            value = flag:give_maa
        }
        display_movement_petition_recipient_acceptance_effect = yes
        scope:petition_recipient = {
            trigger_event = tgp_decision_events.0103
        }
        ai_chance = {
            base = 0
            modifier = {
                maa_regiments_count = maa_regiments_max_count
                add = 100
            }
        }
    }
    # spend hook
    option = {
        name = tgp_decision_events.0102.c
        trigger = {
            has_usable_hook = scope:petition_recipient
        }
        show_as_tooltip = {
            use_hook = scope:petition_recipient
        }
        set_variable = {
            name = movement_petition_persuasion
            value = flag:use_hook
        }
        display_movement_petition_recipient_acceptance_effect = yes
        scope:petition_recipient = {
            trigger_event = tgp_decision_events.0103
        }
        ai_chance = {
            base = 50
        }
    }
    # give out a hook
    option = {
        name = tgp_decision_events.0102.d
        trigger = {
            scope:petition_recipient = {
                can_add_hook = {
                    target = scope:petitioner
                    type = influence_hook
                }
            }
        }
        set_variable = {
            name = movement_petition_persuasion
            value = flag:give_hook
        }
        display_movement_petition_recipient_acceptance_effect = yes
        scope:petition_recipient = {
            show_as_tooltip = {
                add_hook = {
                    type = influence_hook
                    target = scope:petitioner
                }
            }
            trigger_event = tgp_decision_events.0103
        }
        ai_chance = {
            base = 10
        }
    }

    # forfeit the petition and go back home
    option = {
        name = tgp_decision_events.0102.forfeit
        custom_tooltip = tgp_decision_events.0102.petition_refused
        current_travel_plan ?= {
            resume_travel_plan = yes
        }
        clear_movement_petition_variables = yes
        ai_chance = {
            base = 10
        }
    }
}
#liege gets the counter
tgp_decision_events.0103 = {
    type = character_event
    title = tgp_decision_events.0103.t
    desc = {
        desc = tgp_decision_events.0103.desc
        first_valid = {
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition_persuasion ?= flag:give_influence
                }
                desc = tgp_decision_events.0103.desc_give_influence
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition_persuasion ?= flag:give_maa
                }
                desc = tgp_decision_events.0103.desc_give_maa
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition_persuasion ?= flag:use_hook
                }
                desc = tgp_decision_events.0103.desc_use_hook
            }
            triggered_desc = {
                trigger = {
                    scope:petitioner.var:movement_petition_persuasion ?= flag:give_hook
                }
                desc = tgp_decision_events.0103.desc_give_hook
            }
        }
    }
    theme = realm

    left_portrait = {
        character = scope:petition_recipient
        animation = emperor
    }
    right_portrait = {
        character = scope:petitioner
        animation = gongshou
    }

    immediate = {
    }

    # accept the counter-offer
    option = {
        name = tgp_decision_events.0103.a
        scope:petitioner = {
            send_interface_message = {
                type = event_diplomacy_good
                title = tgp_decision_events.0103.a_title
                left_icon = scope:petition_recipient
                switch = {
                    trigger = var:movement_petition_persuasion
                    flag:give_influence = {
                        change_influence = {
                            value = major_influence_loss
                            if = {
                                limit = {
                                    scope:petition_recipient = title:h_china.holder
                                }
                                multiply = 2
                            }
                        }
                        scope:petition_recipient = {
                            change_influence = {
                                value = major_influence_loss
                                if = {
                                    limit = {
                                        scope:petition_recipient = title:h_china.holder
                                    }
                                    multiply = 2
                                }
                                multiply = -1
                            }
                        }
                    }
                    flag:give_maa = {
                        primary_title = {
                            transfer_title_maa_ownership = scope:petition_recipient.primary_title
                        }
                    }
                    flag:use_hook = {
                        use_hook = scope:petition_recipient
                    }
                    flag:give_hook = {
                        scope:petition_recipient = {
                            add_hook = {
                                type = influence_hook
                                target = scope:petitioner
                            }
                        }
                    }
                }
                grant_movement_petition_effect = yes
            }
        }
        ai_chance = {
            base = 0
            #nudge the success chance even more, for players to feel good
            modifier = {
                add = movement_demands_acceptance_value
                add = 25
            }
        }
    }

    # refuse the counter-offer
    option = {
        name = tgp_decision_events.0103.b
        scope:petitioner = {
            refuse_movement_petition_effect = yes
        }
        ai_chance = {
            base = 10
        }
    }
    after = {
        hidden_effect = {
            scope:petitioner = {
                current_travel_plan ?= {
                    resume_travel_plan = yes
                }
                clear_movement_petition_variables = yes
            }
        }
    }
}
#invalidation event
tgp_decision_events.0199 = {
    type = letter_event
    opening = tgp_decision_events.0199.opening
    desc = tgp_decision_events.0199.desc
    sender = scope:petition_recipient
    # Go back home
    option = {
        name = tgp_decision_events.0199.a
        if = {
            limit = {
                exists = current_travel_plan
            }
            return_home = yes
        }
    }
    after = {
        clear_movement_petition_variables = yes
    }
}

# Divine Reincarnation event
tgp_decision_events.0200 = {
	 type = character_event
    title = tgp_decision_events.0200.t
    desc = tgp_decision_events.0200.desc
	theme = faith

    left_portrait = {
        character = root
        animation = ecstasy
    }
    right_portrait = {
        character = scope:target_child
        animation = prayer
    }

    immediate = {
		if = {
			limit = { scope:primary_heir = yes }
			primary_heir = { save_scope_as = target_child }
		}
		else = {
			random_relation = {
				type = favorite_child
				save_scope_as = target_child
			}
		}
		house = { save_scope_as = house }
		scope:target_child = { 
            assign_quirk_effect = yes

            ###Decide who they're a reincarnation of!###

            #Unop: Remade this using the newly available every_grandparent & every_great_grandparent introduced in 1.19
            every_grandparent = {
                even_if_dead = yes
                limit = {
                    can_reincarnate_trigger = yes #Unop: Sync with the other reincarnation (birth.8001)
                    sex_same_as = scope:target_child
                }
                add_to_list = grandparents_and_great_grandparents
            }
            every_great_grandparent = {
                even_if_dead = yes
                limit = {
                    can_reincarnate_trigger = yes #Unop: Sync with the other reincarnation (birth.8001)
                    sex_same_as = scope:target_child
                }
                add_to_list = grandparents_and_great_grandparents
            }

            #Unop: Disable all this and use optimised code above
            ##Build list of grandparents...
            #every_close_family_member = { #Unop: No need to use every_close_or_extended_family_member as we want the GP
            #    even_if_dead = yes
            #    limit = {
            #        #is_alive = no #Unop: We also want to iterate on the parents of the GP just after, so we need those still alive
            #        is_grandparent_of = scope:target_child
            #        sex_same_as = scope:target_child
            #    }
            #    add_to_list = grandparents_and_great_grandparents
            #    #debug_log = "Adding grandparents" #Unop: Disable logging
            #}
            ##... and great grandparents
            #every_in_list = {
            #    list = grandparents_and_great_grandparents
            #    every_parent = {
            #        even_if_dead = yes
            #        limit = {
            #            is_alive = no
            #            sex_same_as = scope:target_child
            #        }
            #        add_to_list = grandparents_and_great_grandparents
            #    }
            #    #debug_log = "Adding great grandparents" #Unop: Disable logging
            #}

            #Pick a random appropriate one
            random_in_list = {
                list = grandparents_and_great_grandparents
                weight = {
                    base = 1
                    modifier = {
                        is_grandparent_of = scope:target_child
                        add = 2
                    }
                    modifier = {
                        highest_held_title_tier >= tier_county #Unop: Was is_ruler = yes but since they are dead, it don't work
                        add = 4
                    }
                }
                #debug_log = "Finding ancestor" #Unop: Disable logging
                save_scope_as = ancestor
            }
        }  
    }
	
    option = { # You are a reincarnation
        name = tgp_decision_events.0200.a
		scope:target_child = {
            set_variable = {
                name = reincarnation_of
                value = scope:ancestor
            }
            copy_inheritable_appearance_from = scope:ancestor
            add_trait = reincarnation
        }
        ai_chance = {
            base = 100
        }
    }
	
	 option = { # Take it back
        name = tgp_decision_events.0200.b
		scope:target_child = {
			add_opinion = {
				target = root
				modifier = comforted_opinion
				opinion = 20
			}
		}
        ai_chance = { # The AI will never pick this
            base = 0
        }
    }
}
