################################################## # Debug Triggers # Do we want to gather global variable tallies for the Persian struggle? ## Toggled off for release, toggle back on to check how often we change phases & which catalysts are firing. gather_debug_variables_for_persian_struggle_trigger = { always = no } ################################################## # General Triggers ## Miscellaneous assorted triggers related to bits of neutral struggle content. # Characters of some note within the struggle. is_important_struggle_character = { highest_held_title_tier = tier_duchy } # Characters who are very important within the struggle (generally enough that they matter for catalysts). is_vip_struggle_character = { OR = { highest_held_title_tier >= tier_kingdom AND = { exists = faith.religious_head this = faith.religious_head } this = culture.culture_head } } is_important_or_vip_struggle_character = { OR = { is_important_struggle_character = yes is_vip_struggle_character = yes } } is_semi_important_ruler_struggle_character = { OR = { highest_held_title_tier >= tier_county is_important_or_vip_struggle_character = yes } } is_secondary_character_involvement_involved_trigger = { save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { involvement = involved this = scope:struggle_temp } } } is_secondary_character_involvement_interloper_trigger = { save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { involvement = interloper this = scope:struggle_temp } } } is_secondary_character_involvement_either_trigger = { save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { this = scope:struggle_temp } } } is_secondary_character_involvement_neither_trigger = { save_temporary_scope_as = struggle_temp $CHAR$ = { NOT = { any_character_struggle = { this = scope:struggle_temp } } } } is_diff_faith_or_culture_trigger = { NAND = { culture = $CHAR$.culture faith = $CHAR$.faith } $CHAR$ = { any_character_struggle = { involvement = $STATUS$ } } # Removed the check for what struggle it is } is_same_faith_or_culture_trigger = { OR = { culture = $CHAR$.culture faith = $CHAR$.faith } $CHAR$ = { any_character_struggle = { involvement = $STATUS$ } } # Removed the check for what struggle it is } is_same_culture_trigger = { culture = $CHAR$.culture $CHAR$ = { any_character_struggle = { involvement = $STATUS$ } } # Removed the check for what struggle it is } is_same_faith_trigger = { culture = $CHAR$.culture $CHAR$ = { any_character_struggle = { involvement = $STATUS$ } } # Removed the check for what struggle it is } ################################################## # Catalyst Phase Triggers ## Should a catalyst be activating in this phase? ### Remember, that means it should activate in the phase _before_ the one that has it as a valid transitionary catalyst. ################################################## # Catalyst Triggers ## Some common rump triggers used in catalysts activation, plus preliminaries for catalysts triggered in multiple locations. catalyst_gave_independence_to_powerful_diff_faith_culture_vassal_preliminary_trigger = { $CHAR1$ = { NAND = { culture = $CHAR2$.culture faith = $CHAR2$.faith } } $CHAR2$ = { is_powerful_vassal_of = $CHAR1$ } } catalyst_granted_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { $CHAR$ = { any_in_list = { list = changed_obligations vassal_contract_type = { OR = { this = vassal_contract:religious_rights this = vassal_contract:jizya_special_rights } } obligation_level_score >= 1 } is_powerful_vassal = yes } } catalyst_revoked_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { $CHAR$ = { any_in_list = { list = changed_obligations vassal_contract_type = { OR = { this = vassal_contract:religious_rights this = vassal_contract:jizya_special_rights } } obligation_level_score >= 1 } is_powerful_vassal = yes } } catalyst_hybridise_or_diverge_regional_cultures_preliminary_trigger = { phase_has_catalyst = catalyst_hybridise_or_diverge_regional_cultures save_temporary_scope_as = struggle_temp OR = { AND = { exists = scope:parent_culture_2 scope:struggle_temp = { is_culture_involved_in_struggle = scope:parent_culture_1 is_culture_involved_in_struggle = scope:parent_culture_2 } } is_culture_involved_in_struggle = scope:parent_culture_1 } } catalyst_very_important_child_change_culture_or_faith_preliminary_trigger = { any_character_struggle = { phase_has_catalyst = catalyst_very_important_child_change_culture_or_faith } is_adult = no any_parent = { any_character_struggle ={ involvement = involved } is_vip_struggle_character = yes } } activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { phase_has_catalyst = $CATALYST$ save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { involvement = involved this = scope:struggle_temp } } } activate_struggle_catalyst_secondary_character_involvement_interloper_trigger = { phase_has_catalyst = $CATALYST$ save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { involvement = interloper this = scope:struggle_temp } } } activate_struggle_catalyst_secondary_character_involvement_either_trigger = { phase_has_catalyst = $CATALYST$ save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { this = scope:struggle_temp } } } activate_struggle_catalyst_secondary_character_involvement_neither_trigger = { phase_has_catalyst = $CATALYST$ save_temporary_scope_as = struggle_temp $CHAR$ = { NOT = { any_character_struggle = { this = scope:struggle_temp } } } } activate_struggle_catalyst_secondary_character_involvement_interloper_or_uninvolved_trigger = { phase_has_catalyst = $CATALYST$ save_temporary_scope_as = struggle_temp $CHAR$ = { OR = { any_character_struggle = { involvement = interloper this = scope:struggle_temp } NOT = { any_character_struggle = { this = scope:struggle_temp } } } } } activate_struggle_catalyst_warfare_check_attacker_involvement_trigger = { phase_has_catalyst = $CATALYST$ save_temporary_scope_as = struggle_temp $VAR_SCOPE$ = { trigger_if = { limit = { scope:attacker = scope:loser } has_variable = struggle_involvement_attacker has_variable = struggle_scope_attacker var:struggle_involvement_attacker = flag:$INVOLVEMENT$ var:struggle_scope_attacker = scope:struggle_temp } trigger_else = { has_variable = struggle_involvement_defender has_variable = struggle_scope_defender var:struggle_involvement_defender = flag:$INVOLVEMENT$ var:struggle_scope_defender = scope:struggle_temp } } } ################################################## # Parameter Triggers ## If a parameter is triggered in multiple places, we use a scripted trigger to keep things unified. is_struggle_parameter_active_interfaith_marriages_available_between_involved_characters_trigger = { scope:actor = { any_character_struggle = { involvement = involved has_struggle_phase_parameter = interfaith_marriages_available_between_involved_characters save_temporary_scope_as = struggle_temp scope:recipient = { any_character_struggle = { involvement = involved this = scope:struggle_temp } } } } } is_struggle_parameter_active_cheaper_to_convert_to_struggle_culture_trigger = { capital_county = { any_county_struggle = { has_struggle_phase_parameter = cheaper_to_convert_to_struggle_culture } } } is_struggle_parameter_active_secondary_character_involvement_involved_trigger = { has_struggle_phase_parameter = $PARAMETER$ save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { involvement = involved this = scope:struggle_temp } } } is_struggle_parameter_active_secondary_character_involvement_interloper_trigger = { has_struggle_phase_parameter = $PARAMETER$ save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { involvement = interloper this = scope:struggle_temp } } } is_struggle_parameter_active_secondary_character_involvement_either_trigger = { has_struggle_phase_parameter = $PARAMETER$ save_temporary_scope_as = struggle_temp $CHAR$ = { any_character_struggle = { this = scope:struggle_temp } } } is_struggle_parameter_active_secondary_character_involvement_neither_trigger = { has_struggle_phase_parameter = $PARAMETER$ save_temporary_scope_as = struggle_temp $CHAR$ = { NOT = { any_character_struggle = { this = scope:struggle_temp } } } } is_struggle_parameter_active_secondary_county_trigger = { has_struggle_phase_parameter = $PARAMETER$ save_temporary_scope_as = struggle_temp $COUNTY$ = { any_county_struggle = { this = scope:struggle_temp } } } is_struggle_parameter_active_variable_cb_target_secondary_county_trigger = { has_struggle_phase_parameter = $PARAMETER$ save_temporary_scope_as = struggle_temp any_in_list = { list = target_titles count >= 1 tier = tier_county any_county_struggle = { this = scope:struggle_temp } } } ################################################## # Casus Belli Triggers ## Struggle triggers related to wars & similar. # Is the scoped war using a CB we consider important enough to be a catalyst-worthy CB within the struggle? is_large_conquest_war_for_struggle_trigger = { $WAR$ = { OR = { # Large claim wars. AND = { using_cb = claim_cb any_in_list = { list = target_titles tier >= tier_kingdom } } using_cb = duchy_conquest_cb using_cb = individual_duchy_de_jure_cb using_cb = imperial_reconquest_cb using_cb = invasion_war using_cb = clan_invasion_war using_cb = mongol_invasion_war using_cb = mongol_realm_invasion_war using_cb = mpo_gok_onslaught_cb using_cb = major_religious_war using_cb = undirected_great_holy_war using_cb = directed_great_holy_war using_cb = tribal_subjugation_cb } } } # Can conquest holy wars be accessed in the current phase of the struggle? are_holy_wars_disabled_in_struggle_phase_trigger = { exists = scope:target trigger_if = { scope:target.tier = tier_county scope:target = { any_county_struggle = { NOT = { has_struggle_phase_parameter = holy_wars_in_region_cannot_be_declared } } } } trigger_else = { # For Duchy and Kingdom Holy War scope:target = { any_in_de_facto_hierarchy = { # We only consider county within the realm of the target's holder tier = tier_county any_county_struggle = { NOT = { has_struggle_phase_parameter = holy_wars_in_region_cannot_be_declared } } } } } } # Can the struggle conquest CB be used? ## Currently, we're generous with this. Rather than tying it to a parameter, you just need to be involved in a struggle. ## This should sync neatly with the various struggle_conquest_cb_is_XYZ_phase_triggers, but due to parameter requirements, can't easily be made to do so automagically. can_use_struggle_cbs_trigger = { OR = { any_character_struggle = { involvement = involved } # Execption if taking hostility ending AND = { exists = scope:attacker.house scope:attacker.house = { OR ={ has_house_modifier = fp2_struggle_hostility_house_combined_modifier has_house_modifier = fp2_struggle_hostility_house_faith_modifier has_house_modifier = fp2_struggle_hostility_house_culture_modifier } } } } } # These triggers govern the relative costs for the struggle conquest CB. ## These should sync neatly with can_use_struggle_cbs_trigger, but due to parameter requirements, can't easily be made to do so automagically. ## Cheap. struggle_conquest_cb_is_warlike_phase_trigger = { $CHAR1$ = { any_character_struggle = { involvement = involved is_struggle_type = iberian_struggle is_struggle_phase = struggle_iberia_phase_hostility is_secondary_character_involvement_either_trigger = { CHAR = $CHAR2$ } } } } ## Average. struggle_conquest_cb_is_average_phase_trigger = { $CHAR1$ = { any_character_struggle = { involvement = involved is_struggle_type = iberian_struggle is_struggle_phase = struggle_iberia_phase_opportunity is_secondary_character_involvement_either_trigger = { CHAR = $CHAR2$ } } } } ## Pricey. struggle_conquest_cb_is_peaceful_phase_trigger = { $CHAR1$ = { any_character_struggle = { involvement = involved is_struggle_type = iberian_struggle OR = { is_struggle_phase = struggle_iberia_phase_compromise is_struggle_phase = struggle_iberia_phase_conciliation } is_secondary_character_involvement_either_trigger = { CHAR = $CHAR2$ } } } } # Work out whether we need to vassalise someone vs. taking some of their stuff. struggle_conquest_cb_target_is_ocm_trigger = { any_in_list = { list = target_titles # Should only ever be one title, but just in case... count = all holder = { any_held_title = { count = 1 tier = tier_county } NOT = { any_vassal = { highest_held_title_tier >= tier_county } } } } } struggle_blocks_invasion_conquest_cb_trigger = { trigger_if = { limit = { scope:attacker = { any_character_struggle = { involvement = involved has_struggle_phase_parameter = invasion_conquest_war_cannot_be_declared } } exists = scope:defender } scope:defender = { NOR = { any_character_struggle = { involvement = involved has_struggle_phase_parameter = invasion_conquest_war_cannot_be_declared } any_character_struggle = { involvement = interloper has_struggle_phase_parameter = invasion_conquest_war_cannot_be_declared } } } } trigger_else = { always = yes } }