namespace = fp3_struggle ### EVENT LIST #################################################################### ## 0001 - 0020 Internal Management Events by Hugo Cortell ## 0021 - 0030 Invalidation Events by Hugo Cortell ## 0031 - 0040 Empty block by Hugo Cortell ## 0051 - 0060 FP3 Struggle Intro Events by Hugo Cortell ## 0061 - 0070 Realm Shattering Events by Hugo Cortell ## 0071 - 0300 Struggle Endings by Thalassic Design Dept (Ola, Eren, Hugo) ## XXXX - XXXX Event Name Here by Author Name Here ## XXXX - XXXX Event Name Here by Author Name Here ## XXXX - XXXX Event Name Here by Author Name Here ## 9980 - 9999 Integrity Validation Tools by Hugo Cortell ################################################################################### ################################### # FP3 Maintenance Events # By Ewan Cowhig Croft ################################### scripted_trigger fp3_struggle_0001_valid_ai_struggle_char_trigger = { # Basic checks. can_execute_decision = fp3_name_read_in_friday_prayer_decision is_ai = yes # Suitability for switchin' checks. OR = { # If they're gonna become a supporter, it should make sense. AND = { opinion = { target = title:d_sunni.holder value >= low_positive_opinion } OR = { # We check for the opposite, since you're flipflopping. has_trait = fp3_struggle_detractor NOR = { has_trait = fp3_struggle_supporter has_trait = fp3_struggle_detractor } } } # If they're gonna become a detractor, that should make sense too. AND = { opinion = { target = title:d_sunni.holder value <= low_negative_opinion } OR = { # We check for the opposite, since you're flipflopping. has_trait = fp3_struggle_supporter NOR = { has_trait = fp3_struggle_supporter has_trait = fp3_struggle_detractor } } } } } # #fp3_struggle.0001 = { # hidden = yes # scope = none # scope = struggle # # # If the struggle ends, break the loop. # trigger = { exists = struggle:persian_struggle } # # immediate = { # if = { # # If there isn't a caliph at present, then stop trying to make people talk about them. # limit = { exists = title:d_sunni.holder } # struggle:persian_struggle = { # every_involved_ruler = { # limit = { fp3_struggle_0001_valid_ai_struggle_char_trigger = yes } # random = { # chance = fp3_struggle_switch_sides_value # execute_decision = fp3_name_read_in_friday_prayer_decision # } # } # every_interloper_ruler = { # limit = { fp3_struggle_0001_valid_ai_struggle_char_trigger = yes } # random = { # chance = fp3_struggle_switch_sides_value # execute_decision = fp3_name_read_in_friday_prayer_decision # } # } # } # } # # # Cue this event up again for the next time around. # trigger_event = { # id = fp3_struggle.0001 # years = { 3 5 } # } # } #} # #################################### ## FP3 Intro Events ## By Hugo Cortell, reworked by Ewan Cowhig Croft #################################### #fp3_struggle.0051 = { # BOOKMARK EVENT # type = character_event # window = fullscreen_event # title = fp3_struggle.0051.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # any_character_struggle = { # is_struggle_type = persian_struggle # is_struggle_phase = struggle_persia_phase_unrest # } # } # desc = fp3_struggle.0051.desc.unrest # } # desc = fp3_struggle.0051.desc.stabilization # } # first_valid = { # triggered_desc = { # trigger = { # any_character_struggle = { # is_struggle_type = persian_struggle # is_struggle_phase = struggle_persia_phase_stabilisation # } # } # desc = fp3_struggle.0051.desc.stabilization_actor # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_supporter # } # desc = fp3_struggle.0051.desc.supporter # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_detractor # } # desc = fp3_struggle.0051.desc.detractor # } # triggered_desc = { # trigger = { # fp3_struggle_is_the_caliph = yes # } # desc = fp3_struggle.0051.desc.caliph # } # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = involved # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0051.desc.involved # } # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = interloper # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0051.desc.interloper # } # } # } # theme = realm # trigger = { # we need to prevent this from firing for all players when a new player joins in MP # is_ai = no # NOT = { has_character_flag = fp3_struggle_intro_event_flag } # any_character_struggle = { is_struggle_type = persian_struggle } # } # override_background = { reference = fp3_fullscreen_intro } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # cooldown = { years = 100 } # # widgets = { # widget = { # gui = "event_window_widget_struggle_info" # container = "dynamic_content_widget" # controller = struggle_info # setup_scope = { struggle:persian_struggle = { save_scope_as = struggle } } # } # } # immediate = { # play_music_cue = strugglestart_cue # add_character_flag = fp3_struggle_intro_event_flag # add_to_global_variable_list = { # List is only checked for removal, comparing it in the trigger would be needlessly expensive # name = fp3_intro_flag_character_list # target = root # } # save_scope_value_as = { # name = start # value = yes # } # # # LOC SCOPES # character:34010 = { save_scope_as = Mutawakkil } # Stabbed by guards # character:34012 = { save_scope_as = Muntasir } # Poisoned probably # character:34013 = { save_scope_as = Mustain } # Betrayed by bookmark character (?) (Note: this char is listed as 3933 in some other files for some reason) # character:34014 = { save_scope_as = Mostaza } # Bookmark ruler # } # option = { # name = { # text = { # first_valid = { # triggered_desc = { # trigger = { # any_character_struggle = { is_struggle_type = persian_struggle } # has_title = character:34014.primary_title # } # desc = fp3_struggle.0051.b # } # desc = fp3_struggle.0051.a # } # } # } # clicksound = "event:/DLC/FP2/SFX/UI/fp2_struggle_start_select" # } #} # ################################################## ## Struggle Endings # ## By Hugo Cortell, Maxence Voleau, Ola Jentzsch & Eren Humphrey # #################################################################### ## Script is set up in this way to prevent out of order executions # #################################################################### # #### STRENGTHEN CALIPHATE ENDING ### 0071 = 0080 ### #fp3_struggle.0071 = { # Strengthen the Caliphate Ending # type = character_event # window = fullscreen_event # title = fp3_struggle.0071.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # fp3_struggle_is_the_caliph = yes # } # desc = fp3_struggle.0071.desc.caliph # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_supporter # } # desc = fp3_struggle.0071.desc.supporter # } # } # } # theme = court # override_background = { reference = fp3_fullscreen_strength } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # immediate = { # fp3_ending_effects_assertion = yes # character:34014 = { save_scope_as = Mostaza } # Bookmark ruler # play_music_cue = struggleend_cue # } # # option = { # name = fp3_struggle.0071.a # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # # ai_chance = { # base = 75 # # modifier = { # factor = 0.1 # realm_size >= 250 # } # } # } # # option = { # trigger = { # has_dlc_feature = roads_to_power # fp3_struggle_is_the_caliph = yes # NOT = { government_has_flag = government_is_administrative } # } # name = fp3_struggle.0071.b # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # # convert_to_administrative_from_feudalism_effect = { GOVERNMENT_TO_ADOPT = flag:administrative } # add_legitimacy_effect = { LEGITIMACY = admin_convert_legitimacy_value } #One Time Legitimacy Boost # # ai_chance = { # base = 0 # # modifier = { # add = 25 # realm_size >= 75 # } # modifier = { # add = 25 # realm_size >= 100 # } # modifier = { # add = 25 # realm_size >= 125 # } # modifier = { # add = 25 # realm_size >= 150 # } # modifier = { # add = 50 # realm_size >= 200 # } # } # } # # after = { # fp3_end_persian_struggle_effect = { # ENDING = struggle_persia_ending_assertion_decision # EVENT = fp3_struggle.0072 # FLAG = flag:fp3_struggle_strengthen_caliphate_ending # } # } #} # #fp3_struggle.0072 = { # Notification for relevant people # type = character_event # window = fullscreen_event # title = fp3_struggle.0071.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # fp3_struggle_is_the_caliph = yes # } # desc = fp3_struggle.0072.desc.caliph # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_supporter # } # desc = fp3_struggle.0072.desc.supporter # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_detractor # } # desc = fp3_struggle.0072.desc.detractor # } # # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = involved # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0072.desc.involved # } # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = interloper # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0072.desc.interloper # } # desc = fp3_struggle.0072.desc.uninvolved # } # } # theme = court # override_background = { reference = fp3_fullscreen_strength } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # trigger = { # NOT = { has_character_flag = struggle_end_notification } # } # # immediate = { # show_as_tooltip = { struggle:persian_struggle = { end_struggle = yes } } # add_character_flag = struggle_end_notification # # play_music_cue = struggleend_cue # } # # option = { # name = fp3_struggle.0072.a # trigger = { # OR = { # fp3_struggle_is_the_caliph = yes # has_trait = fp3_struggle_supporter # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { # name = fp3_struggle.0072.a # trigger = { # NOR = { # fp3_struggle_is_the_caliph = yes # has_trait = fp3_struggle_supporter # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_negative" # } # after = { # remove_character_flag = struggle_end_notification # } #} # #### CONCESSION ENDING ### 0081 = 0090 ### # #fp3_struggle.0081 = { # # type = character_event # window = fullscreen_event # title = fp3_struggle.0082.t # desc = { # first_valid = { # triggered_desc = { # trigger = { has_trait = fp3_struggle_supporter } # desc = fp3_struggle.0082.desc.supporter # } # triggered_desc = { # trigger = { has_trait = fp3_struggle_detractor } # desc = fp3_struggle.0082.desc.detractor # } # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = involved # is_struggle_type = persian_struggle # } # } # desc = { # desc = fp3_struggle.0082.desc.intro # desc = fp3_struggle.0082.desc.involved # } # } # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = interloper # is_struggle_type = persian_struggle # } # } # desc = { # desc = fp3_struggle.0082.desc.intro # desc = fp3_struggle.0082.desc.interloper # } # } # desc = fp3_struggle.0082.desc.uninvolved # } # } # theme = court # override_background = { reference = fp3_fullscreen_concession } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # immediate = { # play_music_cue = struggleend_cue # } # # option = { # name = fp3_struggle.0082.a # show_as_tooltip = { # struggle:persian_struggle = { end_struggle = yes } # fp3_struggle_ending_concession_effects = yes # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_negative" # } # # after = { # fp3_end_persian_struggle_effect = { # ENDING = yes # EVENT = fp3_struggle.0082 # FLAG = flag:fp3_struggle_concession_ending # } # } #} # #fp3_struggle.0082 = { # Notification for relevant people # type = character_event # window = fullscreen_event # title = fp3_struggle.0082.t # desc = { # first_valid = { # triggered_desc = { # trigger = { has_trait = fp3_struggle_supporter } # desc = fp3_struggle.0082.desc.supporter # } # triggered_desc = { # trigger = { has_trait = fp3_struggle_detractor } # desc = fp3_struggle.0082.desc.detractor # } # triggered_desc = { # trigger = { exists = scope:involved } # desc = { # desc = fp3_struggle.0082.desc.intro # desc = fp3_struggle.0082.desc.involved # } # } # triggered_desc = { # trigger = { exists = scope:interloper } # desc = { # desc = fp3_struggle.0082.desc.intro # desc = fp3_struggle.0082.desc.interloper # } # } # desc = fp3_struggle.0082.desc.uninvolved # } # } # theme = court # override_background = { reference = fp3_fullscreen_concession } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # There could, and should, be a event_window_widget_struggle_info widget here # # immediate = { # if = { # limit = { # any_character_struggle = { # involvement = involved # is_struggle_type = persian_struggle # } # } # save_scope_as = involved # } # else_if = { # limit = { # any_character_struggle = { # involvement = interloper # is_struggle_type = persian_struggle # } # } # save_scope_as = interloper # } # show_as_tooltip = { # struggle:persian_struggle ?= { end_struggle = yes } # fp3_struggle_ending_concession_effects = yes # } # play_music_cue = struggleend_cue # } # # option = { # name = fp3_struggle.0082.b # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_negative" # } #} # #### FOUNDATION ENDINGS ### 0091 = 0180 ### #fp3_struggle.0091 = { # Rekindle Iran # type = character_event # window = fullscreen_event # title = fp3_struggle.0091.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # has_trait = fp3_struggle_supporter # } # desc = fp3_struggle.0091.desc.supporter # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_detractor # } # desc = fp3_struggle.0091.desc.detractor # } # } # } # theme = court # override_background = { reference = fp3_fullscreen_rekindle } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # immediate = { # save_scope_as = struggle_ender # # Save Sunni caliph or previous one as scope:struggle_liege # fp3_save_sunni_caliph_or_previous_effect = yes # title:e_persia = { save_scope_as = persia_loc } # Persia gets renamed under clan govs # # fp3_struggle_rekindle_iran_effects = yes # # play_music_cue = struggleend_cue # # dynasty:1029100 = { save_scope_as = sassanid_dynasty } # } # # option = { # name = fp3_struggle.0091.a # # show_as_tooltip = { struggle:persian_struggle = { end_struggle = yes } } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # after = { # fp3_end_persian_struggle_effect = { # ENDING = struggle_persia_ending_rekindle_iran_decision # EVENT = fp3_struggle.0092 # FLAG = flag:fp3_struggle_rekindle_iran_ending # } # } #} # #fp3_struggle.0092 = { # Notification for relevant people # type = character_event # window = fullscreen_event # title = fp3_struggle.0091.t # desc = { # desc = fp3_struggle.0092.intro # first_valid = { # triggered_desc = { # trigger = { # culture = { has_cultural_pillar = heritage_iranian } # } # desc = fp3_struggle.0092.desc.iranian # } # desc = fp3_struggle.0092.desc.non-iranian # } # } # theme = court # override_background = { reference = fp3_fullscreen_rekindle } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # There could, and should, be a event_window_widget_struggle_info widget here # # immediate = { # show_as_tooltip = { # struggle:persian_struggle = { end_struggle = yes } # fp3_struggle_rekindle_iran_effects = yes # } # play_music_cue = struggleend_cue # } # # option = { # name = fp3_struggle.0092.a # trigger = { # culture = { has_cultural_pillar = heritage_iranian } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { # name = fp3_struggle.0092.a # trigger = { # NOT = { # culture = { has_cultural_pillar = heritage_iranian } # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_negative" # } #} # #fp3_struggle.0095 = { # Temper the Caliphate, Shia Ending # type = character_event # window = fullscreen_event # title = fp3_struggle.0095.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # faith = { # OR = { # has_doctrine = muhammad_succession_shia_doctrine # has_doctrine = muhammad_succession_zandaqa_doctrine # } # } # } # desc = fp3_struggle.0095.desc.shia_and_zandaqa # } # triggered_desc = { # trigger = { # faith = { # has_doctrine = muhammad_succession_muhakkima_doctrine # } # } # desc = fp3_struggle.0095.desc.muhakkima # } # desc = fp3_struggle.0095.desc.fallback # } # } # theme = court # override_background = { reference = fp3_fullscreen_temper } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # immediate = { # root = { save_scope_as = struggle_ender } # # Save Sunni caliph or previous one as scope:struggle_liege # fp3_save_sunni_caliph_or_previous_effect = yes # character:34005 = { save_scope_as = harun_the_rightly_guided } # # fp3_struggle_ending_shia_caliphate_effects = yes # # play_music_cue = struggleend_cue # # character:33911 = { save_scope_as = ali } # # } # # option = { # name = fp3_struggle.0095.a # show_as_tooltip = { struggle:persian_struggle = { end_struggle = yes } } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # after = { # fp3_end_persian_struggle_effect = { # ENDING = struggle_persia_ending_foundation_decision # EVENT = fp3_struggle.0096 # FLAG = flag:fp3_struggle_shia_caliphate_ending # } # } #} # #fp3_struggle.0096 = { # Notification for relevant people # type = character_event # window = fullscreen_event # title = fp3_struggle.0095.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # has_trait = fp3_struggle_supporter # } # desc = fp3_struggle.0096.desc.supporter # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_detractor # } # desc = fp3_struggle.0096.desc.detractor # } # # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = involved # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0096.desc.involved # } # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = interloper # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0096.desc.interloper # } # desc = fp3_struggle.0096.desc.uninvolved # } # } # theme = court # override_background = { reference = fp3_fullscreen_temper } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # There could, and should, be a event_window_widget_struggle_info widget here # # immediate = { # play_music_cue = struggleend_cue # show_as_tooltip = { # fp3_struggle_ending_shia_caliphate_effects = yes # struggle:persian_struggle = { end_struggle = yes } # } # } # # option = { # name = fp3_struggle.0096.a # trigger = { # NOR = { # has_trait = fp3_struggle_supporter # faith = { has_doctrine = muhammad_succession_sunni_doctrine } # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { # name = fp3_struggle.0096.a # trigger = { # OR = { # has_trait = fp3_struggle_supporter # faith = { has_doctrine = muhammad_succession_sunni_doctrine } # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_negative" # } #} # #fp3_struggle.0100 = { # Temper the Caliphate, Vassalize Caliphate Ending # type = character_event # window = fullscreen_event # title = fp3_struggle.0100.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # faith = { # OR = { # has_doctrine = muhammad_succession_shia_doctrine # has_doctrine = muhammad_succession_zandaqa_doctrine # } # } # } # desc = fp3_struggle.0100.desc.shia_and_zandaqa # } # triggered_desc = { # trigger = { # faith = { has_doctrine = muhammad_succession_muhakkima_doctrine } # } # desc = fp3_struggle.0100.desc.muhakkima # } # desc = fp3_struggle.0100.desc # } # } # # theme = court # override_background = { reference = fp3_fullscreen_temper } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # immediate = { # root = { save_scope_as = struggle_ender } # title:d_sunni.holder = { save_scope_as = struggle_liege } # fp3_struggle_ending_vassalize_caliph_effects = yes # # play_music_cue = struggleend_cue # } # # option = { # name = fp3_struggle.0100.a # show_as_tooltip = { struggle:persian_struggle = { end_struggle = yes } } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # after = { # fp3_end_persian_struggle_effect = { # ENDING = struggle_persia_ending_foundation_decision # EVENT = fp3_struggle.0101 # FLAG = flag:fp3_struggle_vassalize_caliph_ending # } # } #} # #fp3_struggle.0101 = { # Notification for relevant people # type = character_event # window = fullscreen_event # title = fp3_struggle.0100.t # desc = { # first_valid = { # triggered_desc = { # trigger = { # has_trait = fp3_struggle_supporter # } # desc = fp3_struggle.0101.desc.supporter # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_detractor # } # desc = fp3_struggle.0101.desc.detractor # } # # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = involved # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0101.desc.involved # } # triggered_desc = { # trigger = { # any_character_struggle = { # involvement = interloper # is_struggle_type = persian_struggle # } # } # desc = fp3_struggle.0101.desc.interloper # } # desc = fp3_struggle.0101.desc.uninvolved # } # } # theme = court # override_background = { reference = fp3_fullscreen_temper } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # immediate = { # show_as_tooltip = { struggle:persian_struggle = { end_struggle = yes } } # # play_music_cue = struggleend_cue # } # # option = { # name = fp3_struggle.0101.a # trigger = { # NOR = { # has_trait = fp3_struggle_supporter # faith = { has_doctrine = muhammad_succession_sunni_doctrine } # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { # name = fp3_struggle.0101.a # trigger = { # OR = { # has_trait = fp3_struggle_supporter # faith = { has_doctrine = muhammad_succession_sunni_doctrine } # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_negative" # } #} # #### SUNDERING THE CALIPHATE ### 0191 = 0200 ### #fp3_struggle.0191 = { # Sunder the Caliphate # type = character_event # title = fp3_struggle.0191.t # desc = fp3_struggle.0191.desc # theme = court # left_portrait = { # character = scope:sunderer # animation = war_over_win # } # lower_right_portrait = scope:struggle_liege # # immediate = { # # Select the caliph and destroy their title # fp3_sundered_caliphate_effects = yes # } # # option = { # name = fp3_struggle.0191.a # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } #} # #fp3_struggle.0192 = { # Notification for relevant people # type = character_event # title = fp3_struggle.0192.t # # desc = { # first_valid = { # triggered_desc = { # trigger = { # fp3_struggle_is_the_caliph = yes # } # desc = fp3_struggle.0192.desc.caliph # } # triggered_desc = { # trigger = { # OR = { # has_trait = fp3_struggle_supporter # is_vassal_of = scope:struggle_liege # } # } # desc = fp3_struggle.0192.desc.supporter_or_vassal # } # triggered_desc = { # trigger = { # has_trait = fp3_struggle_detractor # } # desc = fp3_struggle.0192.desc.detractor # } # } # } # # # theme = court # override_background = { reference = fp3_fullscreen_sunder } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # left_portrait = { # character = scope:sunderer # animation = war_over_win # } # lower_right_portrait = scope:struggle_liege # # option = { # name = fp3_struggle.0192.c # trigger = { # NOR = { # fp3_struggle_is_the_caliph = yes # has_trait = fp3_struggle_supporter # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { # name = fp3_struggle.0192.b # trigger = { # OR = { # fp3_struggle_is_the_caliph = yes # has_trait = fp3_struggle_supporter # } # } # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_negative" # } #} # #################################### ## FP3 casus belli events ## By Joe Parkin #################################### # ## Install loyal puppet - declared puppet ping #fp3_struggle.8000 = { # type = letter_event # opening = fp3_struggle.8000.t # desc = { # desc = fp3_struggle.8000.desc # } # sender = scope:attacker # # immediate = { # send_interface_message = { # type = event_struggle_neutral # title = install_loyalist_puppet_declared_puppet # left_icon = scope:attacker # right_icon = scope:defender # show_as_tooltip = { # scope:attacker = { # start_war = { # casus_belli = "fp3_install_loyalist_cb" # target = scope:defender # } # } # } # } # } # # # Indeed? # option = { # name = fp3_struggle.8000.a # } #} # ## Install loyal puppet - declared defender ping #fp3_struggle.8001 = { # type = letter_event # opening = fp3_struggle.8000.t # desc = { # desc = fp3_struggle.8001.desc # } # sender = scope:attacker # # immediate = { # send_interface_message = { # type = event_struggle_bad # title = install_loyalist_puppet_declared_defender # left_icon = scope:attacker # right_icon = scope:loyalist_puppet # show_as_tooltip = { # scope:attacker = { # start_war = { # casus_belli = "fp3_install_loyalist_cb" # target = scope:defender # } # } # } # } # } # # # Outrageous! # option = { # name = fp3_struggle.8001.a # } #} # ## Install loyal puppet - won puppet ping #fp3_struggle.8002 = { # type = letter_event # opening = fp3_struggle.8000.t # desc = { # desc = fp3_struggle.8002.desc # } # sender = scope:attacker # # immediate = { # send_interface_message = { # type = event_struggle_good # title = install_loyalist_puppet_won_puppet # left_icon = scope:attacker # right_icon = scope:defender # show_as_tooltip = { # every_in_list = { # list = title_to_steal # save_scope_as = stolen_title # root = { get_title = scope:stolen_title } # } # custom_tooltip = fp3_struggle.8002.alliance_tt # if = { # limit = { scope:defender.imprisoner ?= root } # imprison = { # target = scope:defender # type = house_arrest # } # } # } # } # } # # # Ok! # option = { # name = fp3_struggle.8002.a # } #} # #################################### ## Integrity Validation Events ## By Hugo Cortell #################################### #fp3_struggle.9980 = { # Validation of title # type = character_event # orphan = yes # title = { # desc = Hugo # desc = game_concept_struggle_struggles # desc = number_two # desc = debug # } # desc = { # desc = historical_commander_trait.0003.d # desc = stress_threshold.3201.depressed.effect # } # # theme = mental_break # left_portrait = title:e_arabia.holder # # immediate = { title:e_arabia.holder = { add_piety = 30000 } } # Hard title validation # # option = { # name = { # text = { # desc = martial_chivalry.2015.a # desc = rivalry.1016.a.exposed # } # } # } #} # #fp3_struggle.9981 = { # Destroy e_arabia (used mostly for checking invalidations) # hidden = yes # orphan = yes # immediate = { destroy_title = title:e_arabia } #} # #fp3_struggle.9982 = { # Revision 2 nav event, to make QA's life easier and avoid unecessary crashes # type = character_event # title = { # desc = Hugo # desc = CHARACTER_POSS # desc = intrigue_broken_modifier # desc = game_concept_struggle # desc = MENU # } # desc = { # desc = bp1_yearly.9018.c # desc = double_line_break # desc = childhood.7400_mother_dead # desc = double_line_break # desc = yearly.7021.b # } # # orphan = yes # theme = mental_break # # option = { # Dynamically start a struggle # trigger = { NOT = { exists = struggle:persian_struggle } } # name = FRONTEND_MP_GAME_SETUP_HOST_NEW_GAME # # random_ruler = { # limit = { # top_liege = this # location ?= { geographical_region = world_persian_empire } # } # primary_title = { save_scope_as = debug_caliph } # } # start_struggle = { # struggle_type = persian_struggle # start_phase = struggle_persia_phase_stabilisation # } # # send_interface_message = { # Informs you of who the "debug caliph" is # type = event_martial_bad # title = trait_beauty_bad_1_desc # left_icon = scope:debug_caliph # right_icon = scope:debug_caliph.holder # } # } # option = { # Go forward in the struggle flow # name = dynn_Daflos_motto # trigger = { exists = struggle:persian_struggle } # # if = { # limit = { struggle:persian_struggle = { is_struggle_phase = struggle_persia_phase_unrest } } # struggle:persian_struggle = { change_struggle_phase = { struggle_phase = struggle_persia_ending_phase_concession } } # } # else_if = { # limit = { struggle:persian_struggle = { is_struggle_phase = struggle_persia_phase_stabilisation } } # struggle:persian_struggle = { change_struggle_phase = { struggle_phase = struggle_persia_phase_unrest with_transition = yes } } # } # } # option = { # Go backwards in the struggle flow # name = default_retreat # trigger = { exists = struggle:persian_struggle } # # if = { # limit = { struggle:persian_struggle = { is_struggle_phase = struggle_persia_phase_unrest } } # struggle:persian_struggle = { change_struggle_phase = { struggle_phase = struggle_persia_phase_stabilisation } } # } # } # option = { name = EXIT_TO_DESKTOP } # Exit event without doing anything #} # #fp3_struggle.9983 = { # Create Persian Empire Test # hidden = yes # orphan = yes # immediate = { # create_title_and_vassal_change = { # type = created # save_scope_as = change # } # title:e_persia = { # change_title_holder = { # holder = root # change = scope:change # } # } # resolve_title_and_vassal_change = scope:change # } #} # #fp3_struggle.9984 = { # Ending simulator - Allows you to end the struggle in a clean way, works better/is safer than commands # type = character_event # window = fullscreen_event # title = ENDING_DECISION_AVAILABLE # desc = ENDING_DECISION_BUTTON_LABEL_MULTIPLE # orphan = yes # theme = realm # override_background = { reference = fp3_fullscreen_strength } # override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" } # # widgets = { # widget = { # gui = "event_window_widget_struggle_info" # container = "dynamic_content_widget" # controller = struggle_info # setup_scope = { struggle:persian_struggle = { save_scope_as = struggle } } # } # } # # immediate = { # # Save Sunni caliph or previous one as scope:struggle_liege # fp3_save_sunni_caliph_or_previous_effect = yes # } # # option = { # Concession # name = struggle_persia_ending_phase_concession # save_scope_value_as = { # name = ending_to_simulate # value = flag:concession # } # trigger_event = fp3_struggle.9985 # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # # option = { # Assertion (Strengthen) # name = struggle_persia_ending_assertion # save_scope_value_as = { # name = ending_to_simulate # value = flag:strength # } # trigger_event = fp3_struggle.9985 # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { # Sunni Caliphate # name = struggle_persia_ending_foundation_decision_option_shia # save_scope_value_as = { # name = ending_to_simulate # value = flag:sunni # } # trigger_event = fp3_struggle.9985 # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { # Consume/Vassalize # name = struggle_persia_ending_foundation_decision_option_vassalize # save_scope_value_as = { # name = ending_to_simulate # value = flag:vassal # } # trigger_event = fp3_struggle.9985 # clicksound = "event:/DLC/FP3/SFX/UI/Notifications/Toasts/struggle_end_positive" # } # # option = { name = EXIT_TO_DESKTOP } #} # #fp3_struggle.9985 = { # Simulator Follow-up (keeps it hidden and clean to prevent QA panic) # hidden = yes # immediate = { # struggle:persian_struggle = { # # Ensure we are in the correct position to fire the ending # if = { # limit = { # scope:ending_to_simulate = flag:strength # is_struggle_phase = struggle_persia_phase_unrest # } # change_struggle_phase = { struggle_phase = struggle_persia_phase_stabilisation } # } # else_if = { # limit = { # OR = { # scope:ending_to_simulate = flag:sunni # scope:ending_to_simulate = flag:vassal # } # is_struggle_phase = struggle_persia_phase_stabilisation # } # change_struggle_phase = { struggle_phase = struggle_persia_phase_unrest } # } # } # # Cases for firing the correct phase # switch = { # trigger = scope:ending_to_simulate # flag:concession = { trigger_event = fp3_struggle.0081 } # flag:sunni = { trigger_event = fp3_struggle.0095 } # flag:vassal = { trigger_event = fp3_struggle.0100 } # flag:strength = { trigger_event = fp3_struggle.0071 } # # fallback = { # assert_if = { # limit = { always = yes } # text = "FP3 ENDING SIMULATION DEBUG TOOL ERROR: NO VALID scope:ending_to_simulate STATE!" # } # } # } # } #} #