508 lines
14 KiB
Text
508 lines
14 KiB
Text
|
|
##################################################
|
|
# 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 }
|
|
}
|