1339 lines
33 KiB
Text
1339 lines
33 KiB
Text
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!"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|