hopefully updated on actions and scripted triggers

This commit is contained in:
trashmasteruni 2026-10-19 21:12:02 +02:00
parent 84ac41f6ca
commit a4d812a52c
27 changed files with 10879 additions and 4415 deletions

View file

@ -24,29 +24,6 @@ on_army_monthly = {
}
}
}
ROOT = {
if = {
limit = {
ROOT = { is_at_war = yes }
NOT = {
has_character_modifier = armies_raised_modifier
}
}
add_character_modifier = {
modifier = armies_raised_modifier
years = 5
}
}
else_if = {
limit = {
ROOT = { NOT = { is_at_war = yes } }
has_character_modifier = armies_raised_modifier
}
remove_character_modifier = armies_raised_modifier
}
else = {
}
}
}
}
@ -482,7 +459,7 @@ on_siege_completion = {
# If you have the Miles Christi tenet get SP
pam_miles_christi_fulfillment_from_combat_effect = yes
if = {
limit = {
has_personal_tenet_flag = tenet_aniconism_destruction_fulfillment
@ -495,7 +472,7 @@ on_siege_completion = {
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
}
}
# We change your legend to reflect this siege
if = {
limit = {

View file

@ -258,7 +258,7 @@ on_death = {
}
if = {
limit = {
player_heir = { is_ai = no NOT = { government_has_flag = government_allows_nomad_domicile_titles }}
player_heir = { is_ai = no }
}
player_heir = {
every_held_title = {
@ -273,16 +273,11 @@ on_death = {
limit = {
is_ai = no
}
if = {
every_held_title = {
limit = {
NOT = { government_has_flag = government_allows_nomad_domicile_titles }
}
every_held_title = {
limit = {
is_nomad_title = yes
}
set_variable = player_domicile_title
is_nomad_title = yes
}
set_variable = player_domicile_title
}
player_heir = {
add_character_flag = {
@ -351,7 +346,7 @@ on_death = {
# destroy_title = title:e_mongol_empire
# }
# Fix gods-damned Bavaria splitting from East Francia in an ugly fashion in 867.
# Ludwig the Younger inherits East Francia and Karlmann Bavaria, as historically.
if = {
limit = {
# Make sure we're looking at the right guy & that the circumstances haven't changed too much.
@ -374,28 +369,60 @@ on_death = {
}
}
NOT = { has_primary_title = title:k_bavaria }
# Players can sort this themselves: you just need to have Bavaria as your primary title and it's all fine.
is_ai = yes
NOT = { exists = designated_heir }
is_valid_designated_heir = character:42019
}
# If we've got no Bavaria, create it.
if = {
limit = {
title:k_bavaria = { is_title_created = no }
}
create_title_and_vassal_change = {
type = created
save_scope_as = change
}
title:k_bavaria = {
change_title_holder = {
holder = root
change = scope:change
set_designated_heir = character:42019
}
else_if = {
limit = {
this = character:90107
has_variable = ludwig_younger_designated_by_history
designated_heir ?= character:42019
NAND = {
highest_held_title_tier = tier_kingdom
has_realm_law = confederate_partition_succession_law
title:k_bavaria = {
OR = {
is_title_created = no
holder = root
}
any_in_de_jure_hierarchy = {
tier = tier_county
count >= 22
holder = {
any_liege_or_above = { this = root }
}
}
}
NOT = { has_primary_title = title:k_bavaria }
}
resolve_title_and_vassal_change = scope:change
}
# Then switch around.
set_primary_title_to = title:k_bavaria
clear_designated_heir = yes
}
# Salzburg sits outside any de jure kingdom, so it would follow Ludwig the Younger into East Francia instead of going to Bavaria with Karlmann
if = {
limit = {
this = character:90107
designated_heir ?= character:42019
title:d_et_salzburg.holder ?= { is_vassal_of = root }
character:42018 ?= {
is_alive = yes
is_vassal_of = root
}
}
create_title_and_vassal_change = {
type = granted
save_scope_as = salzburg_change
add_claim_on_loss = no
}
title:d_et_salzburg.holder = {
change_liege = {
liege = character:42018
change = scope:salzburg_change
}
}
resolve_title_and_vassal_change = scope:salzburg_change
}
# Diarchies
@ -784,12 +811,6 @@ on_death = {
limit = { ep1_artifact_is_court_artifact_trigger = yes }
set_variable = equipped_court_succession
}
if = {
limit = {
any_equipped_character_artifact = { artifact_visual_after_death_trigger = yes }
}
trigger_event = death_management.0150
}
}
if = {
@ -2341,6 +2362,25 @@ on_death = {
}
}
}
# CE3 achievement: The Father, the Son, and the Holy Grandson - pass the theocrat dynasty chain to the player's same-dynasty heir
if = {
limit = {
is_ai = no
has_variable = ce3_theocrat_dynasty_chain
exists = dynasty
player_heir ?= { dynasty ?= root.dynasty }
}
save_scope_value_as = {
name = ce3_theocrat_dynasty_chain_predecessor
value = var:ce3_theocrat_dynasty_chain
}
player_heir = {
trigger_event = {
on_action = ce3_theocrat_dynasty_chain_succession
days = 1
}
}
}
#If you are a Christian ruler who does not take pam_decision_last_rites their will have their legitimacy and vassal opinion lowered
if = {
limit = {
@ -2603,6 +2643,33 @@ pam_dulia_personal_sainthood_convert = {
}
}
# Root = the player's heir, one day after the player's same-dynasty predecessor died
# scope:ce3_theocrat_dynasty_chain_predecessor = the predecessor's chain length
ce3_theocrat_dynasty_chain_succession = {
trigger = {
is_ai = no
exists = scope:ce3_theocrat_dynasty_chain_predecessor
government_has_flag = government_is_theocracy
any_held_title = { has_clerical_region = yes }
}
effect = {
set_variable = {
name = ce3_theocrat_dynasty_chain
value = {
add = scope:ce3_theocrat_dynasty_chain_predecessor
add = 1
}
}
if = {
limit = { var:ce3_theocrat_dynasty_chain >= 3 }
add_achievement_global_variable_effect = {
VARIABLE = ce3_07_the_father_the_son_and_the_holy_grandson_achievement_unlocked
VALUE = yes
}
}
}
}
# Root = character
# Triggered when someone is about to die from a natural death but is given a second chance by meeting
# the has_natural_death_second_chance scripted rule

View file

@ -1,699 +0,0 @@
mpo_yearly_events_nomads = {
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
}
random_events = {
chance_to_happen = 100
# EVENT CHAINS/STORY CYCLE EVENTS
100 = nomad_events.0001 # Starts the Achmach Fanakiti event chain
# Regular events
150 = mpo_nomad_events.1030 # You choose a sport for your son to tryhard
200 = mpo_nomad_events.1020 # Your kin wants to break off from your tribe
250 = court_astrologer_events.0002 # Your Astrologer suggest a better place to migrate to
250 = nomad_events.0100 # Two vassals have a herd dispute
250 = nomad_events.0120 # You take an evening ride with someone
200 = nomad_events.0130 # A merchant offers you some herd
150 = nomad_events.0140 # A foreign merchant passes by your capital and asks to stay
250 = nomad_events.0150 # You share a drink with a courtier
300 = nomad_events.0160 # Your spouse tells you they admire you
300 = nomad_events.0170 # Your spouse is scared of your high dread
250 = nomad_events.0180 # Random courtier laughs at your child low prowess
250 = nomad_events.0190 # Reminisce of a past memory
250 = nomad_events.0200 # Someone tells you of a dream they had
250 = nomad_events.0220 # Spouse scolds you for your low Prowess
250 = nomad_events.0230 # Spouse is feeling homesick
200 = nomad_events.0240 # Neighbouring Nomad's herd shows up in your capital
100 = nomad_events.0250 # Enthusiastic priest asks you to convert
100 = nomad_events.0260 # Distant priest arrives at your court
100 = mpo_nomad_events.1050 # A neighboring herder is salty at you
300 = mpo_nomad_events.1060 # You trade with non-nomad neighbors
50 = mpo_nomad_events.1070 #You wake up after having ridden off alone
200 = mpo_nomad_events.1080 #Neighbor is intruding on your land hunting a criminal
150 = mpo_nomad_events.1100 #You adapt your herds to the local terrain
150 = mpo_nomad_events.1110 #Your capital is by a place you can fish
200 = mpo_events_tova.0025 # You are invited to a knucklebone shooting game
200 = mpo_events_tova.0030 # No astrologer? Someone comes to you with a vision
200 = mpo_events_tova.0035 # Anda comes to you with marital concerns
200 = mpo_events_tova.0045 # A Treasured Friend
250 = nomad_events_oltner.0001 # Hunt sighting in your lands
250 = nomad_events_oltner.0002 # Bird sighting in your lands
250 = nomad_events_oltner.0003 # Dangerous Hunt sighting in your lands
150 = nomad_events_oltner.0004 # Zud - Dangerous animals eat your herd
250 = nomad_events_oltner.0005 # Good season! Animals aplenty.
200 = nomad_events_oltner.0006 # You are offered a skilled Master of the Chase from a tributary
200 = nomad_events_oltner.0007 # You are offered a falcon from a tributary
50 = mpo_bb_events.0001 # blood brother comes by for a wrestling match
100 = mpo_events_anna.0001 #Train Them Young - teach a child how to ride a horse
200 = mpo_events_anna.0005 #Stories from the Past - choose a story to be told
200 = mpo_events_anna.0010 #Whistle Like an Arrow - being taught how to whistle as a child
250 = mpo_events_ariana.0001 # Nest Sighting
50 = mpo_events_ariana.0010 # Your Heir wants to convert to a different faith
250 = mpo_events_ariana.0020 # A spouse is suspicious of a councillor
250 = mpo_events_ariana.0050 # A family member risks being branded
150 = mpo_events_ariana.0060 # A child in your family spots an eagles nest with treasure
250 = mpo_events_ariana.0080 # Someone tells you about a magical tree
150 = pet_animal.3050 # Your rival has an eagle
250 = mpo_events_ariana.0090 # Your child wants to be a herder
250 = mpo_events_ariana.0100 # A non-martial gender family member is very skilled
150 = mpo_events_ariana.0110 # Your court astrologer wants you to move your capital
# SEASON SPECIFIC EVENTS
300 = mpo_nomads_season_events.0001 # Herders robbed during drought
300 = mpo_nomads_season_events.0005 # A hungry neighbour asks for herd
300 = mpo_nomads_season_events.0010 # A well-to-do neighbor offers herd
300 = mpo_nomads_season_events.0015 # Two Kurultai members fight over food
150 = nomad_events.0110 # A snow wolf attacks a child (weighted up during white zud/cold zud)
300 = nomad_events.0210 # Spouse/Child is worried about low herd
150 = mpo_nomad_events.1120 #It's winter. wolves are hungry for your herd (weighted up during white zud/cold zud)
}
}
mpo_migration_finished = {
effect = {
if = { # We send an event if you're migrating into a Tributary's lands
limit = {
has_variable = migrating_into_tributary_war_var
}
trigger_event = {
id = migration_events.0002
days = 1
}
}
set_variable = {
name = recently_migrated
years = 3
}
every_held_county = {
limit = {
exists = duchy
duchy = root.capital_province.duchy
}
change_county_control = -50
}
every_realm_province = {
limit = {
has_province_modifier = recently_looted_modifier
}
remove_province_modifier = recently_looted_modifier
}
if = {
limit = {
highest_held_title_tier >= tier_duchy
}
while = {
count = 2
trigger_event = {
on_action = mpo_migration_contract
months = 1
}
}
}
else = {
trigger_event = {
on_action = mpo_migration_contract
months = 1
}
}
domicile ?= {
move_domicile = root.capital_province
}
every_vassal = {
domicile ?= {
move_domicile = prev.capital_province
}
}
if = {
limit = {
has_character_modifier = mpo_migrating_accolade_duke_modifier
}
remove_character_modifier = mpo_migrating_accolade_duke_modifier
}
else_if = {
limit = {
has_character_modifier = mpo_migrating_accolade_king_modifier
}
remove_character_modifier = mpo_migrating_accolade_king_modifier
}
else_if = {
limit = {
has_character_modifier = mpo_migrating_accolade_emperor_modifier
}
remove_character_modifier = mpo_migrating_accolade_emperor_modifier
}
if = {
limit = {
has_variable = nomad_migration_preserve_coronation
}
remove_variable = nomad_migration_preserve_coronation
}
}
}
mpo_migration_contract = {
trigger = {
is_landed = yes
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
has_variable = recently_migrated
any_held_county = {
is_landless_type_title = no
exists = title_province
county_control < 90
}
}
random_events = {
100 = mpo_contract_events.0001
100 = mpo_contract_events.0011
100 = mpo_contract_events.0021
100 = mpo_contract_events.0031
20 = mpo_contract_events.0041
100 = mpo_contract_events.0051
100 = mpo_contract_events.0061
100 = mpo_contract_events.0071
100 = mpo_contract_events.0081
100 = mpo_contract_events.0091
}
}
# Triggered from code on the day after a migration travel ends
#
# root - migrating ruler
# scope:actor - migration ruler (compatibility with triggers and effects used in migration interaction)
# scope:recipient - holder of the target title
# scope:target_title - higher tier title target of the migration. Can be of any tier
# scope:domain - county or duchy tier title, all land within it shall become new personal domain of the migrating ruler
#
on_migration_travel_end = {
events = {
migration_events.0001
}
effect = {
if = { # MPO ACHIEVEMENT Steppe by Steppe
limit = {
is_ai = no
exists = global_var:started_steppe_by_steppe_achievement
situation:the_great_steppe ?= {
situation_sub_region:steppe_west = {
situation_sub_region_has_county = root.capital_county
}
}
}
add_achievement_global_variable_effect = {
VARIABLE = mpo_steppe_by_steppe_achievement_unlocked
VALUE = yes
}
}
migration_title_and_vassal_change_effect = yes
trigger_event = {
on_action = mpo_migration_finished
}
}
}
# triggered from code when migration war ends
#
# root - migrating ruler
# scope:actor - migration ruler (compatibility with triggers and effects used in migration interaction)
# scope:recipient - primary defender in migration war
# scope:target_title - higher tier title target of the migration. Can be of any tier
# scope:domain - county or duchy tier title, all land within it shall become new personal domain of the migrating ruler
# scope:war - migration war. War will disappear after this onaction
on_migration_war_end = {
effect = {
if = { # MPO ACHIEVEMENT Steppe by Steppe
limit = {
is_ai = no
exists = global_var:started_steppe_by_steppe_achievement
location = {
geographical_region = world_steppe_west
}
}
add_achievement_global_variable_effect = {
VARIABLE = mpo_steppe_by_steppe_achievement_unlocked
VALUE = yes
}
}
if = {
limit = {
scope:war = { has_variable = migration_victory }
}
migration_title_and_vassal_change_effect = yes
trigger_event = {
on_action = mpo_migration_finished
}
if = {
limit = {
has_variable = nomad_migration_preserve_coronation
}
remove_variable = nomad_migration_preserve_coronation
}
every_character_situation = {
limit = {
any_participant_group = {
participant_group_type = nomad_rulers_capital
participant_group_has_character = root
}
}
every_participant_group = {
limit = {
participant_group_type = nomad_rulers_capital
participant_group_has_character = root
}
every_situation_group_participant = {
limit = {
save_temporary_scope_as = temp_scope
NOT = { this = root }
is_migrating = yes
exists = current_travel_plan
OR = {
current_travel_plan.final_destination_province.county = scope:target_title
scope:domain = {
any_in_de_jure_hierarchy = {
tier = tier_county
this = scope:temp_scope.current_travel_plan.final_destination_province.county
}
}
}
}
save_scope_as = invalidated_ruler
scope:invalidated_ruler = {
send_interface_message = {
type = msg_migration_into_realm
title = war_invalidated_migration
desc = war_invalidated_migration_desc
left_icon = root
right_icon = scope:invalidated_ruler
}
}
}
}
}
}
}
}
# triggered from code right after kurultai succession has been resolved
#
# root - new heir (character)
# scope:was_kurultai - (bool) if new heir was part of the predecessor's Kurultai Council
# scope:kurultai_members - list all characters who were part of the predecessor's Kurultai Council
# scope:obedient_kurultai - list all obedient characters who were part of the Kurultai Election (both Council and Children)
# scope:disobedient_kurultai - list all disobedient characters who were part of the Kurultai Election (both Council and Children)
#
on_kurultai_succession_stable = {
trigger = {
has_realm_law = single_heir_succession_kurultai_law
}
effect = {
root = {
if = {
limit = {
exists = this
"list_size(obedient_kurultai)" > 0
}
every_in_list = {
list = obedient_kurultai
limit = {
exists = this
this != root
}
add_opinion = {
target = root
modifier = obedience_opinion
years = 5
}
}
create_character_memory = {
type = had_stable_kurultai_succession
}
}
}
}
}
# triggered from code right after kurultai succession has been resolved
#
# root - new heir (character)
# scope:was_kurultai - (bool) if new heir was part of the predecessor's Kurultai Council
# scope:kurultai_members - list all characters who were part of the predecessor's Kurultai Council
# scope:obedient_kurultai - list all obedient characters who were part of the Kurultai Election (both Council and Children)
# scope:disobedient_kurultai - list all disobedient characters who were part of the Kurultai Election (both Council and Children)
#
on_kurultai_succession_chaotic = {
trigger = {
has_realm_law = single_heir_succession_kurultai_law
primary_title = {
title_held_years < 1
}
}
effect = {
root = {
if = {
limit = {
exists = this
"list_size(obedient_kurultai)" > 0
}
every_in_list = {
list = obedient_kurultai
limit = {
exists = this
this != root
}
add_opinion = {
target = root
modifier = obedience_opinion
years = 5
}
}
}
# Siblings gain claims on all your titles
every_held_title = {
limit = {
tier >= tier_county
}
save_scope_as = title_claim
root = {
every_sibling = {
limit = {
OR = {
AND = {
is_male = yes
faith_dominant_gender_male_or_equal = yes
}
AND = {
is_female = yes
faith_dominant_gender_female_or_equal = yes
}
}
NOT = {
has_claim_on = scope:title_claim
}
}
add_pressed_claim = scope:title_claim
add_to_list = ai_claimant_faction_preference
}
every_in_list = {
list = disobedient_kurultai
limit = {
OR = {
AND = {
is_male = yes
faith_dominant_gender_male_or_equal = yes
}
AND = {
is_female = yes
faith_dominant_gender_female_or_equal = yes
}
}
NOT = {
has_claim_on = scope:title_claim
}
}
add_pressed_claim = scope:title_claim
add_to_list = ai_claimant_faction_preference
}
}
}
random_in_list = {
list = ai_claimant_faction_preference
limit = {
is_physically_able = yes
}
weight = {
base = 1
modifier = {
add = martial
}
modifier = {
add = prowess
}
modifier = {
add = dread
}
modifier = {
add = -250
is_adult = no
}
}
add_character_flag = nomad_preferred_claimant
}
create_character_memory = {
type = had_chaotic_kurultai_succession
}
}
}
random_on_action = {
10 = kurultai_succession_chaotic_minor
20 = kurultai_succession_chaotic_medium
90 = kurultai_succession_chaotic_major
}
}
kurultai_succession_chaotic_minor = {
trigger = {
# No trigger for Minor penalties
NOT = {
has_character_flag = had_mongolia_split
}
}
weight_multiplier = {
base = 1
modifier = { # be a bit kinder to the AI
factor = 2
is_ai = yes
}
}
random_events = {
100 = mpo_chaotic_kurultai_succession.0001 # Siblings become your rivals
150 = mpo_chaotic_kurultai_succession.0002 # Brother seizes the lands of a Tributary and becomes independent
150 = mpo_chaotic_kurultai_succession.0003 # Tributary leaves
100 = mpo_chaotic_kurultai_succession.0004 # County Control loss
100 = mpo_chaotic_kurultai_succession.0005 # Loss of Prestige Level
100 = mpo_chaotic_kurultai_succession.0006 # 10% of Herd defects to Neighboring realm
100 = mpo_chaotic_kurultai_succession.0007 # Good Courtiers defect to Neighbor
100 = mpo_chaotic_kurultai_succession.0008 # MaA Regiment defects to neighbor
}
}
kurultai_succession_chaotic_medium = {
trigger = {
OR = {
"list_size(disobedient_kurultai)" >= 2
"list_size(obedient_kurultai)" <= 0
}
OR = {
highest_held_title_tier >= tier_kingdom
any_tributary = {
count >= 10
}
}
NOT = {
has_character_flag = had_mongolia_split
}
}
random_events = {
100 = mpo_chaotic_kurultai_succession.0009 # Gold divided by Siblings
100 = mpo_chaotic_kurultai_succession.0010 # Legitimacy -500
100 = mpo_chaotic_kurultai_succession.0011 # 20% of Herd defects to Neighboring realm
350 = mpo_chaotic_kurultai_succession.0013 # 20% Realm Split
150 = mpo_chaotic_kurultai_succession.0016 # 3 Tributaries leave
}
}
kurultai_succession_chaotic_major = {
trigger = {
OR = {
"list_size(disobedient_kurultai)" >= "list_size(obedient_kurultai)"
"list_size(obedient_kurultai)" <= 0
}
OR = {
highest_held_title_tier >= tier_kingdom
any_tributary = {
count >= 10
}
}
NOT = {
has_character_flag = had_mongolia_split
}
}
weight_multiplier = {
base = 1
modifier = { # be a bit kinder to the AI
factor = 0.5
is_ai = yes
}
}
random_events = {
300 = mpo_chaotic_kurultai_succession.0012 # 50% Split realm De Jure with Sibling
50 = mpo_chaotic_kurultai_succession.0014 # Extreme kurultai disapproval: shatter realm
100 = mpo_chaotic_kurultai_succession.0015 # 40% of Herd defects to Neighboring realm
100 = mpo_chaotic_kurultai_succession.0017 # All Tributaries leave
}
}
mpo_tributary_check_pulse = {
trigger = {
is_landed = no
is_migrating = no
is_at_war = no
number_of_tributaries > 0
}
effect = {
every_tributary = {
root = {
send_interface_message = {
type = msg_tributaries_breaking_free_bad
title = tributaries_breaking_free_message_title
left_icon = root
right_icon = prev
show_as_tooltip = {
prev = { end_tributary = yes }
}
}
}
send_interface_message = {
type = msg_tributaries_breaking_free_good
title = tributaries_breaking_free_message_player_title
left_icon = this
right_icon = root
end_tributary = yes
}
}
}
}
mpo_de_jure_shift = {
trigger = {
government_has_flag = government_is_nomadic
highest_held_title_tier >= tier_kingdom
}
effect = {
switch = {
trigger = root.highest_held_title_tier
# TODO: TIT-72244 we don't have lists for hegemony for now
#tier_hegemony = {
# de_jure_shifting_effect = {
# UPPER_TIER = hegemony
# LOWER_TIER = empire
# }
#}
tier_empire = {
de_jure_shifting_effect = {
UPPER_TIER = empire
LOWER_TIER = kingdom
}
}
tier_kingdom = {
de_jure_shifting_effect = {
UPPER_TIER = kingdom
LOWER_TIER = duchy
}
}
}
}
}
# root - Character who changed government
# scope:old_government - Character's old government type
on_government_change = {
effect = {
if = {
limit = {
scope:old_government = government_type:nomad_government
NOT = { government_has_flag = government_allows_nomad_domicile_titles }
}
every_held_title = {
limit = { is_nomad_title = yes }
root = {
destroy_title = prev
}
}
}
if = {
limit = {
is_confederation_member = yes
NAND = {
government_is_japanese_trigger = yes
exists = house.house_confederation
}
NOR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_tribal
}
}
confederation = {
remove_confederation_member = root
}
}
if = {
limit = {
has_variable = crowned_emperor_var
NOR = {
has_game_rule = coronation_laws_off
has_realm_law = crowned_emperor
}
}
add_realm_law = crowned_emperor
}
if = {
limit = {
has_variable = crowned_king_var
NOR = {
has_game_rule = coronation_laws_off
has_realm_law = crowned_king
}
}
add_realm_law = crowned_king
}
if = {
limit = { scope:old_government = government_type:mandala_government }
#Remove Aspect modifiers/variables
if = {
limit = { has_character_modifier = mandala_increments_of_peace_modifier }
remove_character_modifier = mandala_increments_of_peace_modifier
}
if = {
limit = { has_character_modifier = mandala_creator_modifier }
remove_character_modifier = mandala_creator_modifier
}
remove_variable = mandala_house_power_accumulated_increments_of_peace
remove_variable = mandala_house_power_accumulated_creator
#Remove max piety cap modifiers/variables
if = {
limit = { has_character_modifier = budding_divinity_modifier }
remove_character_modifier = budding_divinity_modifier
}
if = {
limit = { has_character_modifier = budding_deity_modifier }
remove_character_modifier = budding_deity_modifier
}
if = {
limit = { has_character_modifier = budding_godhood_modifier }
remove_character_modifier = budding_godhood_modifier
}
remove_variable = not_subject_to_succession_trials
remove_variable = tribute_mission_grace
}
if = {
limit = {
government_has_flag = government_is_mandala
is_house_head = yes
}
#Set the house aspect to default, please
house = {
set_house_aspiration = { type = no_aspect }
}
}
}
}

View file

@ -1,544 +0,0 @@
# referenced by code. Fired yearly on every rite
# root = rite
on_rite_yearly = {
effect = {
rite_yearly_hor_passive_learning_effect = yes
rite_yearly_hor_divergence_drift_effect = yes
}
}
pam_the_christian_church_yearly_on_action = {
effect = {
# Non Christian presence in Europe
pam_the_christian_church_non_christian_kingdom_in_europe_catalyst_effect = yes
# Non-Catholic ruler controls the Papal State's de jure capital
pam_the_christian_church_catholic_hof_weak_papal_state_control_catalyst_effect = yes
# Byzantine emperor is not Christian
pam_the_christian_church_byzantine_emperor_non_christian_catalyst_effect = yes
}
}
# Tier 1 is paced once from pam_cathedral_01 on_start_build (years = 2).
pam_cathedral_great_project_yearly_on_action = {
effect = {
every_great_project = {
limit = {
OR = {
great_project_type = pam_cathedral_02
great_project_type = pam_cathedral_03
}
}
great_project_founder = {
save_scope_as = founder
trigger_event = {
on_action = pam_cathedral_great_project_yearly_founder_events_on_action
years = 5
}
}
great_project_owner = {
if = {
limit = {
this = scope:founder
}
trigger_event = {
on_action = pam_cathedral_great_project_yearly_owner_events_on_action
years = 10
}
}
else = {
trigger_event = {
on_action = pam_cathedral_great_project_yearly_owner_events_on_action
years = 5
}
}
}
}
}
}
pam_cathedral_great_project_yearly_founder_events_on_action = {
random_events = {
1 = pam_great_projects_events.0007
1 = pam_great_projects_events.0008
1 = pam_great_projects_events.0011
1 = pam_great_projects_events.0013
}
}
pam_cathedral_great_project_yearly_owner_events_on_action = {
random_events = {
1 = pam_great_projects_events.0012
}
}
study_faith_success = {
on_actions = {
pam_study_faith_personal_tenet_on_action
}
}
on_travel_plan_movement = {
on_actions = {
pam_mountain_travel_personal_tenet_on_action
sun_worship_desert_travel_personal_tenet_on_action
pam_sanctity_of_nature_travel_on_action
}
}
on_building_completed = {
on_actions = {
pam_sanctity_of_nature_building_completed_on_action
}
}
on_faith_conversion = {
on_actions = {
pam_tax_nonbelievers_faith_conversion_on_action
}
}
on_birth_child = {
on_actions = {
pam_auspicious_birthright_birth_on_action
}
}
pam_study_faith_personal_tenet_on_action = {
effect = {
if = {
limit = {
scope:owner = {
has_personal_tenet_flag = adaptive_study_rite_cultural_acceptance
culture != scope:target.culture
}
}
scope:owner = {
culture = {
change_cultural_acceptance = {
target = scope:target.culture
value = minor_cultural_acceptance_gain
desc = pam_adaptive_study_rite_cultural_acceptance
}
}
send_interface_toast = {
type = event_toast_effect_good
title = pam_adaptive_study_rite_cultural_acceptance_toast
left_icon = scope:owner
right_icon = scope:target
}
}
}
}
}
pam_mountain_travel_personal_tenet_on_action = {
effect = {
if = {
limit = {
has_personal_tenet_flag = cthonic_redoubts_mountain_travel_fulfillment
current_travel_plan.current_location = {
OR = {
terrain = mountains
terrain = desert_mountains
}
}
current_travel_plan = {
NOT = { has_variable = pam_mountain_travel_fulfillment_awarded }
}
}
current_travel_plan = {
set_variable = pam_mountain_travel_fulfillment_awarded
}
send_interface_toast = {
type = event_toast_effect_good
title = pam_cthonic_redoubts_mountain_travel_toast
left_icon = root
add_piety = minor_piety_gain
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
}
}
}
}
sun_worship_desert_travel_personal_tenet_on_action = {
effect = {
if = {
limit = {
has_personal_tenet_flag = tenet_sun_worship_desert_pilgrim
current_travel_plan.current_location = {
OR = {
terrain = desert
terrain = desert_mountains
terrain = oasis
}
}
current_travel_plan = {
NOT = { has_variable = sun_worship_desert_fulfillment_awarded }
}
}
current_travel_plan = {
set_variable = sun_worship_desert_fulfillment_awarded
}
send_interface_toast = {
type = event_toast_effect_good
title = sun_worship_desert_travel_toast
left_icon = root
add_piety = minor_piety_gain
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
}
}
}
}
pam_sanctity_of_nature_travel_on_action = {
effect = {
if = {
limit = {
current_travel_plan.current_location = {
has_province_modifier = preserved_wilderness_modifier
}
}
current_travel_plan = {
if = {
limit = {
NOT = { has_travel_plan_modifier = preserved_wilderness_travel_modifier }
}
add_travel_plan_modifier = preserved_wilderness_travel_modifier
}
}
}
else_if = {
limit = {
current_travel_plan = {
has_travel_plan_modifier = preserved_wilderness_travel_modifier
}
}
current_travel_plan = {
remove_travel_plan_modifier = preserved_wilderness_travel_modifier
}
}
if = {
limit = {
has_personal_tenet_flag = tenet_sanctity_of_nature_wilderness_fulfillment
current_travel_plan.current_location = {
has_holding = no
is_sea_province = no
}
current_travel_plan = {
OR = {
NOT = { has_variable_list = pam_sanctity_of_nature_visited_wilderness }
AND = {
has_variable_list = pam_sanctity_of_nature_visited_wilderness
NOT = {
is_target_in_variable_list = {
name = pam_sanctity_of_nature_visited_wilderness
target = root.current_travel_plan.current_location
}
}
}
}
}
}
change_spiritual_fulfillment = miniscule_spiritual_fulfillment_value
current_travel_plan = {
add_to_variable_list = {
name = pam_sanctity_of_nature_visited_wilderness
target = root.current_travel_plan.current_location
}
}
}
}
}
pam_sanctity_of_nature_building_completed_on_action = {
# add_great_building fires on_building_completed during history setup.
trigger = {
has_global_variable = game_has_started
}
effect = {
if = {
limit = {
has_holding = yes
has_province_modifier = preserved_wilderness_modifier
}
remove_province_modifier = preserved_wilderness_modifier
}
}
}
pam_tax_nonbelievers_faith_conversion_on_action = {
trigger = {
exists = scope:actor
root != scope:actor
scope:actor = {
has_personal_tenet_flag = tax_nonbelievers_fulfillment_from_conversion
}
}
effect = {
scope:actor = {
pam_tax_nonbelievers_conversion_fulfillment_effect = yes
}
}
}
pam_auspicious_birthright_birth_on_action = {
effect = {
if = {
limit = {
OR = {
scope:mother = {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
}
scope:real_father ?= {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
}
}
}
# Base 5% chance for later children; the first-child modifiers shift the chance to 20%.
random_list = {
95 = {
modifier = {
add = -15
OR = {
scope:mother = {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
NOR = {
any_child = {
even_if_dead = yes
this != scope:child
}
}
}
scope:real_father ?= {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
NOR = {
any_child = {
even_if_dead = yes
this != scope:child
}
}
}
}
}
}
5 = {
modifier = {
add = 15
OR = {
scope:mother = {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
NOR = {
any_child = {
even_if_dead = yes
this != scope:child
}
}
}
scope:real_father ?= {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
NOR = {
any_child = {
even_if_dead = yes
this != scope:child
}
}
}
}
}
random_list = {
1 = {
trigger = {
NOR = {
has_trait = dwarf
has_trait = giant
}
}
add_trait = dwarf
}
1 = {
trigger = {
NOR = {
has_trait = giant
has_trait = dwarf
}
}
add_trait = giant
}
1 = {
trigger = {
NOT = { has_trait = albino }
}
add_trait = albino
}
1 = {
trigger = {
NOT = { has_trait = clubfooted }
}
add_trait = clubfooted
}
1 = {
trigger = {
NOT = { has_trait = bleeder }
}
add_trait = bleeder
}
1 = {
trigger = {
NOT = { has_trait = hunchbacked }
}
add_trait = hunchbacked
}
1 = {
trigger = {
NOT = { has_trait = lisping }
}
add_trait = lisping
}
1 = {
trigger = {
NOT = { has_trait = stuttering }
}
add_trait = stuttering
}
1 = {
trigger = {
NOR = {
has_trait = spindly
has_trait = physique_good
}
}
add_trait = spindly
}
1 = {
trigger = {
NOT = { has_trait = scaly }
}
add_trait = scaly
}
1 = {
trigger = {
NOT = { has_trait = wheezing }
}
add_trait = wheezing
}
1 = {
trigger = {
NOR = {
has_trait = beauty_bad
has_trait = beauty_good
}
}
add_trait = beauty_bad_2
}
}
}
}
}
if = {
limit = {
scope:child = {
OR = {
has_trait = dwarf
has_trait = albino
has_trait = clubfooted
has_trait = bleeder
has_trait = scaly
has_trait = giant
has_trait = hunchbacked
has_trait = spindly
has_trait = wheezing
has_trait = lisping
has_trait = stuttering
has_trait = beauty_bad
}
}
OR = {
scope:mother = {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
}
scope:real_father ?= {
has_personal_tenet_flag = mystical_birthright_spiritual_leader
}
}
}
scope:child = {
add_character_modifier = {
modifier = pam_mystical_birthright_spiritual_leader_modifier
}
}
if = {
limit = {
scope:mother = {
is_ai = no
}
}
scope:mother = {
send_interface_toast = {
type = event_toast_effect_good
title = pam_mystical_birthright_spiritual_leader_toast
left_icon = scope:child
custom_tooltip = {
text = pam_mystical_birthright_spiritual_leader_toast_tt
}
}
}
}
if = {
limit = {
scope:real_father ?= {
is_ai = no
}
}
scope:real_father = {
send_interface_toast = {
type = event_toast_effect_good
title = pam_mystical_birthright_spiritual_leader_toast
left_icon = scope:child
custom_tooltip = {
text = pam_mystical_birthright_spiritual_leader_toast_tt
}
}
}
}
}
}
}
# used by code, do not rename or remove.
# root = clerical region holder
# scope:title = clerical region title
# scope:county = capital county
# scope:reason = reason that triggered this mismatch. flag can be:
# - county_converted (county is now of different faith, holder stayed old faith)
# - character_converted (character converted away from county faith)
# - changed_tenets_or_doctrines (county and character are still matching faith but the faith doesn't support clerical regions anymore)
on_clerical_region_faith_mismatch = {
# TIT-75963 player choice when capital converts; TIT-75964 other succession cases
events = {
# Capital converted; both Faiths have Clerical Regions (player)
pam_clergy_events.0051
# AI / other mismatch reasons / new Faith lacks Clerical Regions
pam_clergy_events.0052
}
}
# used by code, do not rename or remove.
# root = challenger character
# scope:sponsor = former sponsor title
# scope:title = challenger title
on_challenger_removed = {
effect = {
if = {
limit = {
is_alive = yes
has_character_flag = antipope_flag
}
remove_character_flag = antipope_flag
}
# TODO_PAM move antipope removal cleanup effects here
#if = {
# limit = { root = scope:title.holder }
# destroy_title = scope:title
#}
}
}

View file

@ -9,7 +9,6 @@
# scope:diverged (true/false) optional scope, true if the faith was created because of a Rite diverging too much. Notice create a 100+ divergence heresy at the start does not count.
on_faith_created = {
effect = {
main_rite = { force_refresh_head_of_rite = yes }
# Faiths created by a rite diverging too far start at 0 fervor
if = {
limit = {
@ -177,26 +176,6 @@ on_faith_created = {
}
}
}
# The founding wave (founder and vassals who already accepted) brings their courts, as with a new rite
# Listed first, since the conversions below add characters to the faith being iterated
if = {
limit = {
NOT = { scope:diverged ?= yes }
}
root = {
every_faith_character = {
limit = { is_ruler = yes }
add_to_temporary_list = pam_reform_founding_wave
}
}
every_in_list = {
list = pam_reform_founding_wave
pam_convert_court_to_faith_effect = {
FAITH = root
OLD_FAITH = scope:old_faith
}
}
}
}
else = {
scope:founder ?= {
@ -292,6 +271,109 @@ on_faith_created = {
pam_seed_cardinals_effect = yes
}
}
# Achievements - evaluated on the acting character, as add_achievement_* gate on is_ai.
scope:founder ?= {
if = {
limit = { faith = root }
add_achievement_flag_effect = { FLAG = achievement_its_not_a_cult_flag }
if = {
limit = {
scope:old_faith = {
religion_tag = west_african_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_siguic
VALUE = yes
}
}
if = {
limit = {
scope:old_faith = {
religion_tag = west_african_orisha_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_orisha
VALUE = yes
}
}
if = {
limit = {
scope:old_faith = {
religion_tag = west_african_bori_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_bori
VALUE = yes
}
}
if = {
limit = {
scope:old_faith = {
religion_tag = west_african_roog_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_roog_sene
VALUE = yes
}
}
if = {
limit = {
scope:old_faith = {
religion_tag = akom_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_akom
VALUE = yes
}
}
if = {
limit = {
scope:old_faith = {
religion_tag = kushitism_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_kushitism
VALUE = yes
}
}
if = {
limit = {
scope:old_faith = {
religion_tag = waaqism_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_waaqism
VALUE = yes
}
}
if = {
limit = {
scope:old_faith = {
religion_tag = north_african_religion
has_doctrine_parameter = unreformed
}
}
add_achievement_global_variable_effect = {
VARIABLE = achievement_mother_of_us_all_achamanism
VALUE = yes
}
}
}
}
# These events need a character, so they fire on the new faith's head, never a founder outside the faith
root.main_rite.head_of_rite ?= {
trigger_event = faith_conversion.0001 # Convert capital county
@ -438,11 +520,13 @@ on_rite_created = {
has_character_flag = forced_conversion_on_reform
}
set_character_faith = root.faith
set_character_rite = root.rite
every_vassal_or_below = {
limit = { faith = scope:old_faith }
random = {
chance = 75
set_character_faith = root.faith
set_character_rite = root.rite
}
}
every_sub_realm_county = {
@ -450,6 +534,7 @@ on_rite_created = {
random = {
chance = 75
set_county_faith = root.faith
set_county_rite = root.rite
}
}
}
@ -641,10 +726,18 @@ on_faith_conversion = {
}
}
trigger_event = NEOW_dynamic_titles.1000
}
######################################################
}
set_variable = {
name = old_rite
value = scope:old_rite
days = 30
}
pam_on_conversion_effect = yes
pam_remove_forbidden_personal_tenet_secret_if_invalid_effect = yes
update_syncretism_personal_tenet_effect = yes
# EP3 - State Faith
if = {
limit = {
@ -967,12 +1060,12 @@ on_rite_change = {
}
}
random_held_title = {
limit = {
tier = tier_county
limit = {
tier = tier_county
any_county_province = {
has_variable = monastic_order_capital
}
}
}
random_county_province = {
limit = {
has_variable = monastic_order_capital
@ -1469,7 +1562,7 @@ pagan_conversion_pulse = {
}
events = {
# global_religion.0001 #Pagan reformed by neighbor, spouse, soulmate, friend, or geographic location
global_religion.0001 #Pagan reformed by neighbor, spouse, soulmate, friend, or geographic location
}
}
@ -1862,304 +1955,3 @@ on_character_holy_site_created = {
}
}
}
on_character_faith_change = {
effect = {
check_for_equal_doctrine_effect = yes
every_held_title = {
update_dynamic_coa = yes
}
# Struggles
## Struggle Catalysts
### Heir changes culture while under age
if = {
limit = {
catalyst_very_important_child_change_culture_or_faith_preliminary_trigger = yes
}
random_parent = {
limit = {
any_character_struggle = {
involvement = involved
}
}
every_character_struggle = {
involvement = involved
activate_struggle_catalyst = {
catalyst = catalyst_very_important_child_change_culture_or_faith
character = root
}
}
}
}
# ## Struggle Effects
## ### persian_struggle: switching faith to anything that isn't an orthodox Sunni creed'll flip you to detractor.
## if = {
## limit = {
## # Gotta be in the appropriate struggle.
## any_character_struggle = { this = struggle:persian_struggle }
## # Filter out pre-existing detractors.
## NOT = { has_trait = fp3_struggle_detractor }
## # Now, check the new faith.
## exists = title:d_sunni.holder
## OR = {
## NOT = { exists = faith.religious_head }
## NOT = { faith.religious_head = title:d_sunni.holder }
## }
## }
## send_interface_toast = {
## type = event_toast_effect_neutral
## title = persian_struggle.tt.converted_away_from_sunni_orthodoxy
## left_icon = root
## hidden_effect = { remove_trait = fp3_struggle_supporter }
## add_trait_force_tooltip = fp3_struggle_detractor
## }
## }
#
# # Local conversion
# if = {
# limit = {
# exists = root.capital_province
# root.capital_province.faith = root.faith
# any_character_struggle = {
# involvement = involved
# phase_has_catalyst = catalyst_convert_local_culture_faith
# is_faith_involved_in_struggle = root.faith
# }
# }
# every_character_struggle = {
# involvement = involved
# activate_struggle_catalyst = {
# catalyst = catalyst_convert_local_culture_faith
# character = root
# }
# }
# }
# else_if = { # Forced conversion
# limit = {
# any_character_struggle = {
# involvement = involved
# is_faith_involved_in_struggle = root.faith
# phase_has_catalyst = catalyst_forced_conversion
# }
# }
# every_character_struggle = {
# involvement = involved
# activate_struggle_catalyst = {
# catalyst = catalyst_forced_conversion
# character = root
# }
# }
# }
# else_if = {
# limit = {
# has_trait = fp3_struggle_supporter
# any_character_struggle = {
# involvement = involved
# is_faith_involved_in_struggle = root.faith
# phase_has_catalyst = catalyst_supporter_forced_conversion
# }
# }
# every_character_struggle = {
# involvement = involved
# activate_struggle_catalyst = {
# catalyst = catalyst_supporter_forced_conversion
# character = root
# }
# log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_supporter_forced_conversion }
# }
# }
# else_if = {
# limit = {
# has_trait = fp3_struggle_detractor
# any_character_struggle = {
# involvement = involved
# is_faith_involved_in_struggle = root.faith
# phase_has_catalyst = catalyst_detractor_forced_conversion
# }
# }
# every_character_struggle = {
# involvement = involved
# activate_struggle_catalyst = {
# catalyst = catalyst_detractor_forced_conversion
# character = root
# }
# log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_detractor_forced_conversion }
# }
# }
# Achievements
if = {
limit = { is_ai = no }
if = { # FP2 - Basque In My Glory
limit = { faith = faith:basque_pagan }
add_achievement_global_variable_effect = {
VARIABLE = fp2_basque_in_my_glory_achievement_unlocked
VALUE = yes
}
}
}
# Hostage story cycle
if = {
limit = {
is_hostage = yes
is_adult = no
# Did they just change to their captor's culture
faith = warden.faith
}
save_scope_as = hostage
warden = {
trigger_event = bp2_yearly.8050
}
}
if = {
limit = {
has_variable = japan_1010_discount
var:japan_1010_discount = faith
}
remove_variable = japan_1010_discount
}
if = {
limit = {
has_character_flag = tgp_japan_1040_discount
faith.religion = religion:shintoism_religion
}
remove_character_flag = tgp_japan_1040_discount
}
#Lose Mandala if you change to a monotheist faith
mandala_no_longer_polytheist_effect = yes
}
events = {
faith_conversion.0002 # Remove obsolete modifiers
faith_conversion.0004 # Convert Theocracies
faith_conversion.0005 # Update marriage opinions
great_holy_war.0025 # Replace Recipient for ongoing GHW
great_holy_war.0029 # Beneficiary converted, remove and replace.
great_holy_war.0059 # Clear Crusader traits on conversion.
great_holy_war.0084 # Replace fallback ghw recipient
great_holy_war.0085 # Remove pledged vassals upon conversion of their liege.
war_event.3100 # Handles invalidation of religious wars
}
}
faith_fervor_events_pulse = {
trigger = {
NOR = {
has_doctrine_parameter = unreformed
has_variable = recent_fervor_event
}
}
random_events = {
chance_to_happen = 6 # ~53% chance of occurring within a given year. 90% chance within 3 years, 99.8% chance within 5.
100 = fervor.1001
100 = fervor.2001
}
}
on_rite_updated = {
events = {
}
effect = {
root = {
save_scope_as = rite
}
if = { # slient it for EC since EC has unique evvent to inform
limit = {
exists = scope:changed_tenets_or_doctrines
OR = {
NOT = {
faith = { has_variable = ecumenical_council_ongoing }
}
exists = scope:consume_rite_edit_token
}
}
# The message icon slot must never be left unset, hence the fall-through to the rite itself
if = {
limit = { any_in_list = { list = added_tenets count >= 1 } }
every_in_list = {
list = added_tenets
save_scope_as = rite_change_icon
}
}
else_if = {
limit = { any_in_list = { list = added_doctrines count >= 1 } }
every_in_list = {
list = added_doctrines
save_scope_as = rite_change_icon
}
}
else_if = {
limit = { any_in_list = { list = removed_tenets count >= 1 } }
every_in_list = {
list = removed_tenets
save_scope_as = rite_change_icon
}
}
else_if = {
limit = { any_in_list = { list = removed_doctrines count >= 1 } }
every_in_list = {
list = removed_doctrines
save_scope_as = rite_change_icon
}
}
else = {
root = { save_scope_as = rite_change_icon }
}
every_player = {
limit = {
OR = {
rite = root
AND = {
faith = root.faith
root.faith.main_rite = root
}
}
}
send_interface_message = {
type = msg_rite_updated
title = msg_rite_updated
left_icon = scope:rite_change_icon
show_as_tooltip = {
every_in_list = {
list = removed_doctrines
root = { remove_rite_doctrine = prev }
}
every_in_list = {
list = added_doctrines
root = { add_rite_doctrine = prev }
}
every_in_list = {
list = removed_tenets
root = { remove_rite_tenet = prev }
}
every_in_list = {
list = added_tenets
root = { add_rite_tenet = prev }
}
}
}
}
}
head_of_rite ?= {
trigger_event = faith_creation.0004 # Update HoF succession law
trigger_event = faith_creation.0001 # Temporal rel head setup
trigger_event = faith_creation.0002 # Spiritual rel head setup
trigger_event = faith_creation.0011 # Restore Temporal rel head
trigger_event = faith_creation.0012 # Restore Spiritual rel head
trigger_event = faith_creation.1100 # Destroy HoF title if no longer valid
}
}
}

View file

@ -36,6 +36,28 @@ on_title_destroyed = {
owner = { destroy_title = prev }
}
# If the title of an independent admin ruler is destroyed, let's make sure we handle any stray admin vassals
################ N3OW Dynamic Titles ##################
if = {
limit = {
OR = {
scope:title = title:k_kuban
scope:title = title:d_volgorad
scope:title = title:c_volgograd
scope:title = title:b_volgograd
scope:title = title:e_france
scope:title = title:e_nistrenia
scope:title = title:e_europa
scope:title = title:e_britannia
scope:title = title:e_germany
}
}
trigger_event = NEOW_dynamic_titles.1000
}
######################################################
if = {
limit = {
government_has_mechanic = administrative
@ -179,37 +201,6 @@ on_title_destroyed = {
}
}
}
}
}
# A title is transferred to a new character
# root = the new holder
# scope:title = the title that changes hands
# scope:previous_holder = previous holder. Might be dead
on_title_gain = {
effect = {
################ N3OW Dynamic Titles ##################
if = {
limit = {
OR = {
scope:title = title:k_kuban
scope:title = title:d_volgorad
scope:title = title:c_volgograd
scope:title = title:b_volgograd
scope:title = title:e_france
scope:title = title:e_nistrenia
scope:title = title:e_europa
scope:title = title:e_britannia
scope:title = title:e_germany
}
}
trigger_event = NEOW_dynamic_titles.1000
}
######################################################
# Empire Faith Gate: refresh contested-empire modifiers immediately when an empire is destroyed.
if = {
@ -219,7 +210,241 @@ on_title_gain = {
}
root = { efg_recalculate_contested_empire_for_faith_effect = yes }
}
if = {
limit = {
scope:landed_title = {
has_title_law = confederation_elective_succession_law
}
}
if = {
limit = {
has_character_modifier = confederate_king_modifier
}
remove_character_modifier = confederate_king_modifier
}
if = {
limit = {
has_character_modifier = coronated_confed_modifier
}
remove_character_modifier = coronated_confed_modifier
}
}
#########
# PAM #
#########
# if = {
# limit = {
# scope:landed_title = {
# has_clerical_region = yes
# root = { religion = religion:christianity_religion }
# }
# }
# situation:the_christian_church.situation_sub_region:core = {
# remove_clerical_realm_from_sub_region = scope:landed_title
# }
# }
}
}
# A title is transferred to a new character
# root = the new holder
# scope:title = the title that changes hands
# scope:previous_holder = previous holder. Might be dead
on_title_gain = {
effect = {
# refresh the state rite if conquered in a GHW, otherwise crusader kings will follow muslim faith in egypt.
if = {
limit = {
scope:transfer_type = flag:conquest_holy_war
exists = scope:title.state_rite
}
scope:title = {
set_state_rite = root.rite
}
}
if = {
limit = { clerical_elector_title ?= scope:title }
pam_strip_illegal_cardinalate_effect = yes
}
if = {
limit = {
exists = clerical_elector_title
scope:title = clerical_elector_title
}
add_character_flag = cardinal_flag
situation:the_christian_church ?= {
add_manual_participant = prev
}
}
# Unconditional: also catches a sitting Head of Faith who is handed a cardinalate
pam_vacate_head_of_faith_cardinalate_effect = yes
if = {
limit = {
scope:title = { has_clerical_region = yes }
religion = religion:christianity_religion
}
situation:the_christian_church ?= {
add_manual_participant = prev
}
}
if = {
limit = {
government_has_flag = government_is_landless_adventurer
OR = {
scope:transfer_type = flag:inheritance
scope:transfer_type = flag:appointment_succession
}
religion = religion:christianity_religion
OR = {
scope:title = { has_clerical_region = yes }
scope:title = { has_title_law = clerical_appointment_law }
scope:previous_holder = { has_realm_law = clerical_appointment_law }
}
any_held_title = { has_variable = adventurer_creation_reason }
}
destroy_laamp_effect = { ADVENTURER = root }
change_government = ecclesiastical_government
}
if = {
limit = {
OR = {
scope:title = title:d_coptic_papacy
scope:title = title:d_apostolic_church
}
}
change_government = ecclesiastical_government
}
pam_align_theocracy_with_faith_government_effect = yes
# The three-year pulse is too slow for a non-Christian clerical court landed mid-game, which has no other Clerical Appointment candidates
if = {
limit = {
pam_government_is_religious_playable_trigger = yes
religion != religion:christianity_religion
NOT = { exists = primary_heir }
}
pam_seed_monk_courtiers_effect = yes
}
if = {
limit = { scope:title = title:d_benedictine_order }
set_variable = { name = benedictine }
}
if = {
limit = { scope:title = title:k_papal_state }
enforce_papal_latin_court_language_effect = yes
# PAM - track how many Popes in a row have been of the same dynasty
pam_the_christian_church_papal_dynasty_capture_catalyst_effect = yes
if = {
limit = {
faith = { has_doctrine_parameter = has_clerical_electors }
NOT = { has_realm_law = theocratic_elective_succession_law }
}
add_realm_law_skip_effects = theocratic_elective_succession_law
}
}
# Move a county+ Realm Priest Puppet to Clerical Ruler while the puppeteer slot is still free
if = {
limit = {
is_clergy = yes
scope:title.tier >= tier_county
highest_held_title_tier = scope:title.tier
exists = puppeteer
is_puppet_of_type = theological_agent_puppet
}
pam_make_clerical_ruler_puppet_effect = { PUPPETEER = puppeteer }
}
scope:previous_holder ?= {
if = {
limit = {
NOT = { exists = clerical_elector_title }
is_alive = yes
}
remove_character_flag = cardinal_flag
}
if = {
limit = {
is_alive = yes
OR = {
scope:title = { has_clerical_region = yes }
root.clerical_elector_title ?= scope:title
}
NOR = {
exists = clerical_elector_title
any_held_title = { has_clerical_region = yes }
}
}
situation:the_christian_church ?= {
if = {
limit = { is_manual_participant = prev }
remove_manual_participant = prev
}
}
}
}
# An inherited antipope title carries its Flavourization flag to the heir
if = {
limit = {
scope:title.tier = tier_kingdom
pam_is_antipope_trigger = yes
}
add_character_flag = antipope_flag
}
scope:previous_holder ?= {
if = {
limit = {
is_alive = yes
has_character_flag = antipope_flag
pam_is_antipope_trigger = no
}
remove_character_flag = antipope_flag
}
}
# PAM: a player's kin takes a great office of the Church
# pam_establish_antipope_effect waits for this
# The challenger registers only after the title change
if = {
limit = {
religion = religion:christianity_religion
pam_title_is_church_seat_trigger = { TITLE = scope:title }
}
pam_family_becomes_prelate_effect = {
TITLE = scope:title
KIND = flag:head_of_faith
}
}
else_if = {
limit = {
religion = religion:christianity_religion
scope:title = { has_clerical_region = yes }
NOT = {
any_held_title = {
has_clerical_region = yes
this != scope:title
}
}
}
pam_family_becomes_prelate_effect = {
TITLE = scope:title
KIND = flag:archbishop
}
}
# PAM - a Christian prelate takes a landed title outside the clerical regions
pam_the_christian_church_clergy_gained_landed_title_catalyst_effect = yes
if = {
limit = {
religion = religion:christianity_religion
scope:title = { has_clerical_region = yes }
exists = scope:previous_holder
}
pam_react_to_new_archbishop_effect = { TITLE = scope:title }
}
pam_offer_great_schism_stance_effect = yes
######################
# COUNTY-TIER TITLES #
######################
if = {
limit = {
scope:title.tier = tier_county
@ -230,7 +455,6 @@ on_title_gain = {
###########
if = {
limit = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
scope:title = {
is_nomad_title = yes
exists = title_domicile
@ -240,7 +464,6 @@ on_title_gain = {
if = {
limit = {
root = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
any_held_title = {
is_nomad_title = yes
exists = title_domicile
@ -251,7 +474,6 @@ on_title_gain = {
if = {
limit = {
root = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
any_held_title = {
is_nomad_title = yes
exists = title_domicile
@ -287,7 +509,6 @@ on_title_gain = {
}
else_if = {
limit = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
exists = var:player_domicile_title
}
root = {
@ -303,7 +524,6 @@ on_title_gain = {
title_domicile = {
if = {
limit = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
exists = root.dynasty
scope:previous_holder.dynasty ?= root.dynasty
}
@ -330,7 +550,6 @@ on_title_gain = {
root = {
random_held_title = {
limit = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
is_nomad_title = yes
exists = title_domicile
NOT = { this = scope:title }
@ -355,9 +574,6 @@ on_title_gain = {
root = {
random_held_title = {
limit = {
root = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
}
is_nomad_title = yes
exists = title_domicile
NOT = { this = scope:title }
@ -368,7 +584,6 @@ on_title_gain = {
title_domicile = {
if = {
limit = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
exists = root.dynasty
scope:previous_holder.dynasty ?= root.dynasty
}
@ -385,7 +600,6 @@ on_title_gain = {
if = {
limit = {
exists = global_var:game_has_started
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
NOT = {
exists = previous_holder
}
@ -393,7 +607,6 @@ on_title_gain = {
if = {
limit = {
root = {
NOR = { liege = { government_has_flag = government_allows_nomad_domicile_titles } government_has_flag = government_allows_nomad_domicile_titles }
OR = {
house.house_head ?= {
this != root
@ -586,12 +799,12 @@ on_title_gain = {
has_character_flag = domicile_culture_and_faith_check
OR = {
domicile.domicile_culture != scope:title.culture
domicile.domicile_faith != scope:title.faith
domicile.domicile_rite != scope:title.rite
}
}
domicile = {
set_domicile_culture = scope:title.culture
set_domicile_faith = scope:title.faith
set_domicile_rite = scope:title.rite
}
remove_character_flag = domicile_culture_and_faith_check
}
@ -607,8 +820,8 @@ on_title_gain = {
}
}
if = {
limit = { domicile.domicile_faith != scope:title.faith }
scope:title = { set_county_faith = root.domicile.domicile_faith }
limit = { domicile.domicile_rite != scope:title.rite }
scope:title = { set_county_rite = root.domicile.domicile_rite }
}
}
}
@ -796,6 +1009,24 @@ on_title_gain = {
}
}
###########
# CE1 - Isolated Capital only carries over to a successor
###########
if = {
limit = {
scope:title = { has_county_modifier = isolate_capital_decision_modifier }
NOR = {
scope:transfer_type = flag:inheritance
scope:transfer_type = flag:abdication
scope:transfer_type = flag:appointment_succession
scope:transfer_type = flag:election
}
}
scope:title = {
remove_county_modifier = isolate_capital_decision_modifier
}
}
###########
# EP3 ADVENTURERS BECOMING LANDED
###########
@ -1673,6 +1904,30 @@ on_title_gain = {
# trigger_event = roman_restoration.0005
# }
#Mongol empire and GoK should lose other empires
if = {
limit = {
primary_title ?= {
OR = {
this = title:e_mongol_empire
AND = {
exists = global_var:greatest_of_khans_title
this = global_var:greatest_of_khans_title
}
}
}
scope:title = {
NOR = {
this = title:e_mongol_empire
AND = {
exists = global_var:greatest_of_khans_title
this = global_var:greatest_of_khans_title
}
}
}
is_ai = yes
}
destroy_title = scope:title
}
# You just inherited an Emperor title!!
if = {
limit = {
@ -1792,6 +2047,70 @@ on_title_gain = {
# value = yes
# }
# }
# TGP CEREMONIAL RULER
# IMPERIAL INHERITANCE
else_if = {
limit = {
scope:title = {
this = title:k_france
}
NOR = {
dynasty = { this = dynasty:25061 } # Not held by a Karling
any_liege_or_above = {
dynasty = { this = dynasty:25061 } # And does not have a liege that is a Karling
}
has_global_variable = west_francia_renamed
}
}
trigger_event = {
id = title_event.0001
days = 1
}
}
# East Francia becomes Germany when no longer controlled by a Karling
else_if = {
limit = {
scope:title = {
this = title:k_east_francia
}
NOR = {
dynasty = { this = dynasty:25061 } # Not held by a Karling
any_liege_or_above = {
dynasty = { this = dynasty:25061 } # And does not have a liege that is a Karling
}
has_global_variable = east_francia_renamed
}
}
trigger_event = {
id = title_event.0002
days = 1
}
}
# Hidden management event to determine if we need to axe Asturias &, if we do, what notification events to send out afterwards.
else_if = {
limit = {
scope:title = title:k_castille
title:k_asturias = {
# Leon must be de jure part of Asturias, or else there's no reason to ever stop calling it Asturias.
any_in_de_jure_hierarchy = { this = title:d_leon }
}
}
trigger_event = {
id = title_event.0011
days = 1
}
}
# FP2 El Cid Achievement
else_if = {
limit = {
scope:title = title:k_valencia
has_character_flag = fp2_el_cid_blood_relation_legacy
}
set_global_variable = { # DO. NOT. USE. add_achievement_global_variable_effect. IT BREAKS THE ACHIEVEMENT.
name = fp2_el_cid_achievement_unlocked
value = yes
}
}
# TGP CEREMONIAL RULER
# IMPERIAL INHERITANCE
else_if = {
@ -2095,7 +2414,6 @@ on_title_gain = {
}
if = { # Get legitimacy from Reception Hall House Bonus
limit = {
exists = house
house = { has_variable = ep3_legacy_legitimacy_counter }
primary_title = scope:title
}
@ -2243,7 +2561,6 @@ on_title_gain = {
top_liege = root.top_liege
government_has_mechanic = administrative
this != scope:title_gainer
# scope:title != title:k_chrysanthemum_throne
}
send_interface_message = {
type = msg_admin_title_gained
@ -2343,7 +2660,7 @@ on_title_gain = {
# TGP, bow before liege mandated
if = {
limit = {
culture ?= { has_cultural_parameter = must_pledge_loyalty_to_liege }
culture = { has_cultural_parameter = must_pledge_loyalty_to_liege }
}
if = { # if you are now the top liege, all your direct vassals with the same parameter who have not yet sworn fealty to you must swear fealty
limit = {
@ -2353,7 +2670,7 @@ on_title_gain = {
every_vassal = {
if = {
limit = {
culture ?= { has_cultural_parameter = must_pledge_loyalty_to_liege }
culture = { has_cultural_parameter = must_pledge_loyalty_to_liege }
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
@ -2372,7 +2689,7 @@ on_title_gain = {
}
else_if = { # if you now have a new liege, and they also follow a culture with the Pay Homage requirement, you must swear continued fealty
limit = {
liege.culture ?= { has_cultural_parameter = must_pledge_loyalty_to_liege }
liege.culture = { has_cultural_parameter = must_pledge_loyalty_to_liege }
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
@ -2535,7 +2852,7 @@ on_title_gain = {
if = {
limit = {
has_character_flag = peasant_outfit
NOT = { government_has_flag = government_is_true_herder }
NOT = { government_has_flag = government_is_herder }
}
remove_character_flag = peasant_outfit
}
@ -3056,8 +3373,15 @@ on_title_gain = {
}
}
events = {
roman_restoration.0005 #New Roman Emperor gets Augustus trait. (old holder, if still alive, loses it)
roman_restoration.0199 #Restoring the Pentarchy.
title_event.0021 # Rename/recolor Britannia based on founder's culture; applied immediately on creation
delay = { days = 1 }
realm_maintenance.2001 #Big notification about inheriting emperor tier title
british_isles.1032 # Danelaw-England partition calc.
title_event.0001 # Rename West Francia to France
title_event.0002 # Rename East Francia to Germany
title_event.0011 # Asturias becomes Leon upon emergence of Castille
# If we weren't already in a diarchy but should be, put us in one.
diarchy.0011
ep3_emperor_yearly.2020 # EP3: The Patriarch refuses to crown you as new emperor because you have a criminal trait
@ -3110,7 +3434,6 @@ on_title_gain_inheritance = {
root = {
becomes_independent = { change = scope:change }
}
resolve_title_and_vassal_change = scope:change
}
# if = {
# limit = {
@ -3258,7 +3581,7 @@ on_title_gain_usurpation = {
# scope:new_holder = new holder.
on_title_lost = {
events = {
# british_isles.1033 # Danelaw-England partition calc.
british_isles.1033 # Danelaw-England partition calc.
}
effect = {
@ -3296,7 +3619,7 @@ on_title_lost = {
if = {
limit = {
#We only want to grab tribal cultures.
culture ?= {
culture = {
NOT = { has_cultural_era_or_later = culture_era_early_medieval }
}
#Must have lost their last piece of land.
@ -3400,7 +3723,7 @@ on_title_lost = {
custom_tooltip = msg_rival_dethroned_desc
stress_and_fulfillment_impact = {
stress_impact = {
base = medium_stress_loss
vengeful = medium_stress_loss
}
@ -4725,8 +5048,37 @@ on_vassal_change = {
limit = {
liege = root # I.e. root is independent
}
# And is not of a high enough rank, change government
if = {
limit = {
is_landed = no
any_held_title = {
is_noble_family_title = yes
}
}
if = {
limit = {
domicile.domicile_location.county.holder.top_liege ?= {
government_allows = noble_families
highest_held_title_tier > root.highest_held_title_tier
}
}
create_title_and_vassal_change = {
type = swear_fealty
save_scope_as = change
add_claim_on_loss = no
}
change_liege = {
liege = domicile.domicile_location.county.holder.top_liege
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
else = {
trigger_event = ep3_laamps.0002
}
}
# And is not of a high enough rank, change government
else_if = {
limit = {
administrative_tier_allows_independence = no
}

File diff suppressed because it is too large Load diff

View file

@ -97,7 +97,7 @@ ai_has_warlike_personality = {
ai_greed >= 25
}
government_has_flag = government_is_tribal
culture ?= { has_cultural_pillar = ethos_bellicose }
culture = { has_cultural_pillar = ethos_bellicose }
}
NOR = {
@ -105,8 +105,8 @@ ai_has_warlike_personality = {
has_trait = compassionate
has_trait = craven
has_trait = calm
faith ?= { has_doctrine_parameter = pacifist }
culture ?= { has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith }
faith = { has_doctrine_parameter = pacifist }
culture = { has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith }
house ?= {
has_house_modifier = unity_house_focused_on_economy_modifier
}

View file

@ -967,7 +967,10 @@ is_landed_or_landless_administrative_or_theocratic = {
is_playable_character = {
is_ruler = yes
OR = {
exists = domicile
custom_tooltip = {
text = GAME_OVER_CANNOT_PLAY_ESTATELESS
has_domicile = yes
}
# exclude barons
trigger_if = {
limit = {

View file

@ -237,12 +237,8 @@ building_orchards_requirement_terrain = {
terrain = floodplains
terrain = oasis
has_building_or_higher = qanats_05
AND = {
exists = culture
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = vegetarian_fruit_orchard_allowed }
}
culture = {
has_cultural_parameter = vegetarian_fruit_orchard_allowed
}
}
}
@ -255,13 +251,7 @@ building_farm_estates_requirement_terrain = {
terrain = hills
terrain = jungle
}
AND = {
exists = county.culture
trigger_if = {
limit = { exists = county.culture }
county.culture ?= { has_cultural_parameter = rice_cultivators_can_construct_paddy_fields_in_hills_and_jungle }
}
}
county.culture = { has_cultural_parameter = rice_cultivators_can_construct_paddy_fields_in_hills_and_jungle }
}
}
}
@ -335,26 +325,14 @@ building_paddy_fields_requirement_terrain = {
}
AND = {
terrain = wetlands
AND = {
exists = county.culture
trigger_if = {
limit = { exists = county.culture }
county.culture ?= { has_cultural_parameter = champa_rice_wet_land_paddies }
}
}
county.culture = { has_cultural_parameter = champa_rice_wet_land_paddies }
}
AND = {
OR = {
terrain = hills
terrain = jungle
}
AND = {
exists = county.culture
trigger_if = {
limit = { exists = county.culture }
county.culture ?= { has_cultural_parameter = rice_cultivators_can_construct_paddy_fields_in_hills_and_jungle }
}
}
county.culture = { has_cultural_parameter = rice_cultivators_can_construct_paddy_fields_in_hills_and_jungle }
}
}
}
@ -469,13 +447,7 @@ building_elephant_pens_requirement_terrain = {
terrain = jungle
OR = {
geographical_region = world_innovation_elephants
AND = {
exists = culture
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = elephant_pens_building_bonuses }
}
}
culture = { has_cultural_parameter = elephant_pens_building_bonuses }
}
}
@ -483,13 +455,7 @@ building_horse_pastures_requirement_terrain = {
OR = {
terrain = steppe
geographical_region = world_steppe_east
AND = {
exists = culture
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = unlock_horse_pastures_building }
}
}
culture = { has_cultural_parameter = unlock_horse_pastures_building }
}
}
@ -505,13 +471,7 @@ building_quarries_requirement_terrain = {
OR = {
terrain = mountains
terrain = desert_mountains
AND = {
exists = culture
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = can_build_quarries_everywhere }
}
}
culture = { has_cultural_parameter = can_build_quarries_everywhere }
}
}
@ -526,13 +486,7 @@ building_warrior_lodges_requirement_terrain = {
}
NOT = { geographical_region = world_horse_buildings_in_hills_and_mountains }
}
AND = {
exists = culture
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = warrior_lodges_lift_restrictions }
}
}
culture = { has_cultural_parameter = warrior_lodges_lift_restrictions }
}
}
@ -569,7 +523,7 @@ building_wind_furnace_requirement_terrain = {
}
scope:holder.culture ?= { has_innovation = innovation_wootz_steel }
scope:holder.culture = { has_innovation = innovation_wootz_steel }
}
building_hill_forts_requirement_terrain = {
@ -633,13 +587,7 @@ building_caravanserai_requirement_terrain = {
building_qanats_requirement_terrain = {
county ?= {
AND = {
exists = culture
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = unlocks_qanat_building }
}
}
culture = { has_cultural_parameter = unlocks_qanat_building }
county_has_province_with_terrain = {
terrain = hills
terrain = tells
@ -700,7 +648,34 @@ barony_cannot_construct_holding = {
terrain = desert
terrain = desert_mountains
}
geographical_region = world_africa_sahara
# the corridors
trigger_if = {
limit = { geographical_region = world_africa_sahara }
OR = {
this = province:6650
this = province:6651
this = province:6652
this = province:6653
this = province:6654
this = province:6655
this = province:6656
this = province:6657
this = province:6658
this = province:6659
this = province:6660
this = province:6661
this = province:6662
this = province:6663
this = province:6664
this = province:6665
this = province:6666
this = province:6667
this = province:6668
}
}
trigger_else = {
always = no
}
}
}
@ -809,22 +784,22 @@ add_random_building_trigger = {
generic_economic_building_innovation_trigger = {
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_01 }
scope:build_owner.culture ?= { has_innovation = innovation_crop_rotation }
scope:build_owner.culture = { has_innovation = innovation_crop_rotation }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_02 }
building_requirement_castle_city_church = { LEVEL = 02 }
scope:build_owner.culture ?= { has_innovation = innovation_manorialism }
scope:build_owner.culture = { has_innovation = innovation_manorialism }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_04 }
building_requirement_castle_city_church = { LEVEL = 03 }
scope:build_owner.culture ?= { has_innovation = innovation_guilds }
scope:build_owner.culture = { has_innovation = innovation_guilds }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_06 }
building_requirement_castle_city_church = { LEVEL = 04 }
scope:build_owner.culture ?= { has_innovation = innovation_cranes }
scope:build_owner.culture = { has_innovation = innovation_cranes }
}
}
@ -832,22 +807,22 @@ generic_economic_building_innovation_trigger = {
generic_fortification_building_innovations_trigger = {
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_01 }
scope:build_owner.culture ?= { has_innovation = innovation_motte }
scope:build_owner.culture = { has_innovation = innovation_motte }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_02 }
building_requirement_castle_city_church = { LEVEL = 02 }
scope:build_owner.culture ?= { has_innovation = innovation_battlements }
scope:build_owner.culture = { has_innovation = innovation_battlements }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_04 }
building_requirement_castle_city_church = { LEVEL = 03 }
scope:build_owner.culture ?= { has_innovation = innovation_hoardings }
scope:build_owner.culture = { has_innovation = innovation_hoardings }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_06 }
building_requirement_castle_city_church = { LEVEL = 04 }
scope:build_owner.culture ?= { has_innovation = innovation_machicolations }
scope:build_owner.culture = { has_innovation = innovation_machicolations }
}
}
@ -855,22 +830,22 @@ generic_fortification_building_innovations_trigger = {
generic_recruitment_building_innovations_trigger = {
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_01 }
scope:build_owner.culture ?= { has_innovation = innovation_barracks }
scope:build_owner.culture = { has_innovation = innovation_barracks }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_02 }
building_requirement_castle_city_church = { LEVEL = 02 }
scope:build_owner.culture ?= { has_innovation = innovation_burhs }
scope:build_owner.culture = { has_innovation = innovation_burhs }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_04 }
building_requirement_castle_city_church = { LEVEL = 03 }
scope:build_owner.culture ?= { has_innovation = innovation_castle_baileys }
scope:build_owner.culture = { has_innovation = innovation_castle_baileys }
}
trigger_if = {
limit = { has_building_or_higher = $BUILDING$_06 }
building_requirement_castle_city_church = { LEVEL = 04 }
scope:build_owner.culture ?= { has_innovation = innovation_royal_armory }
scope:build_owner.culture = { has_innovation = innovation_royal_armory }
}
}
@ -998,7 +973,7 @@ religious_special_building_exclusion_trigger = { # checks if any special buildin
building_monastic_schools_holding_level_requirement_trigger = {
trigger_if = {
limit = { scope:holder.rite ?= { rite_has_parameter = monastic_schools_allowed_in_every_holding_type } }
limit = { scope:holder.rite = { rite_has_parameter = monastic_schools_allowed_in_every_holding_type } }
OR = {
has_building_or_higher = castle_$LEVEL$
has_building_or_higher = city_$LEVEL$
@ -1027,11 +1002,7 @@ building_waterworks_requirement_terrain = {
terrain = mountains
terrain = desert_mountains
}
exists = scope:holder.culture
trigger_if = {
limit = { exists = scope:holder.culture }
scope:holder.culture ?= { has_cultural_parameter = unlocks_waterworks_buildings }
}
scope:holder.culture = { has_cultural_parameter = unlocks_waterworks_buildings }
}
building_spice_plantation_requirement_terrain = {
@ -1070,22 +1041,12 @@ building_breweries_requirement = {
}
OR = {
religion = religion:catholic_religion
AND = {
exists = faith
trigger_if = {
limit = { exists = faith }
faith ?= { has_doctrine_parameter = allows_brewery }
}
}
rite = { rite_has_parameter = allows_brewery }
}
}
trigger_else = {
building_requirement_castle_city_church = { LEVEL = $NUMBER$ }
exists = culture
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = allows_brewery }
}
building_requirement_castle_city_church = { LEVEL = $NUMBER$ }
culture = { has_cultural_parameter = allows_brewery }
}
}

View file

@ -8,7 +8,7 @@ coa_african_trigger = {
}
coa_african_culture_trigger = {
scope:culture ?= {
scope:culture = {
OR = {
has_coa_gfx = central_african_group_coa_gfx
has_coa_gfx = east_african_coa_gfx
@ -41,7 +41,7 @@ coa_bishopric_trigger = {
coa_breton_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = breton_coa_gfx }
scope:culture = { has_coa_gfx = breton_coa_gfx }
scope:title ?= {
any_this_title_or_de_jure_above = {
this = title:k_brittany
@ -52,12 +52,12 @@ coa_breton_trigger = {
coa_byzantine_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = byzantine_group_coa_gfx }
# scope:title ?= {
# any_this_title_or_de_jure_above = {
# this = title:e_byzantium
# }
# }
scope:culture = { has_coa_gfx = byzantine_group_coa_gfx }
}
}
@ -124,7 +124,7 @@ coa_switch_to_norse_trigger = {
}
OR = {
faith.religion = religion:folk_germanic_religion
culture ?= { has_coa_gfx = norse_coa_gfx }
culture = { has_coa_gfx = norse_coa_gfx }
}
}
}
@ -147,7 +147,7 @@ coa_feudal_trigger = {
coa_french_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = french_coa_gfx }
scope:culture = { has_coa_gfx = french_coa_gfx }
AND = {
exists = root
any_liege_or_above = {
@ -161,7 +161,7 @@ coa_french_trigger = {
coa_irish_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = irish_coa_gfx }
scope:culture = { has_coa_gfx = irish_coa_gfx }
scope:title ?= {
any_this_title_or_de_jure_above = {
this = title:k_ireland
@ -172,7 +172,7 @@ coa_irish_trigger = {
coa_indian_culture_trigger = {
scope:culture ?= {
scope:culture = {
OR = {
has_coa_gfx = burman_group_coa_gfx
has_coa_gfx = dravidian_group_coa_gfx
@ -189,22 +189,16 @@ coa_indian_region_trigger = {
}
}
coa_indian_religion_trigger = {
trigger_if = {
limit = { exists = scope:faith.religion }
scope:faith.religion = {
save_temporary_scope_as = religion
}
}
trigger_else = {
always = no
scope:faith.religion = {
save_temporary_scope_as = religion
}
scope:religion = {
OR = {
this = { is_in_family = rf_eastern }
# this = religion:bon_religion
this = religion:buddhism_religion
# this = religion:hinduism_religion
# this = religion:jainism_religion
this = religion:hinduism_religion
}
}
}
@ -214,27 +208,19 @@ coa_indian_trigger = {
coa_indian_region_trigger = yes
coa_indian_religion_trigger = yes
}
scope:culture ?= { has_graphical_east_asia_culture_group_trigger = no }
scope:culture = { has_graphical_east_asia_culture_group_trigger = no }
}
coa_jewish_trigger = {
OR = {
trigger_if = {
limit = { exists = scope:faith.religion }
scope:faith.religion = religion:judaism_religion
}
trigger_else = { always = no }
trigger_if = {
limit = { exists = scope:culture }
scope:culture ?= { has_coa_gfx = israelite_group_coa_gfx }
}
trigger_else = { always = no }
scope:faith.religion = religion:judaism_religion
scope:culture = { has_coa_gfx = israelite_group_coa_gfx }
}
}
coa_leonese_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = leonese_coa_gfx }
scope:culture = { has_coa_gfx = leonese_coa_gfx }
scope:title ?= {
any_this_title_or_de_jure_above = {
this = title:k_leon
@ -267,7 +253,7 @@ coa_manx_trigger = {
coa_mena_trigger = {
OR = {
scope:faith.religion = religion:islam_religion
scope:culture ?= {
scope:culture = {
OR = {
has_coa_gfx = arabic_group_coa_gfx
has_coa_gfx = berber_group_coa_gfx
@ -279,7 +265,7 @@ coa_mena_trigger = {
coa_suomenusko_trigger = {
OR = {
scope:faith.religion = religion:uralic_religion
scope:culture ?= {
scope:culture = {
OR = {
has_coa_gfx = balto_finnic_group_coa_gfx
has_coa_gfx = ugro_permian_group_coa_gfx
@ -291,7 +277,7 @@ coa_suomenusko_trigger = {
coa_polish_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = polish_coa_gfx }
scope:culture = { has_coa_gfx = polish_coa_gfx }
AND = {
exists = root
any_liege_or_above = {
@ -305,7 +291,7 @@ coa_polish_trigger = {
coa_scottish_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = scottish_coa_gfx }
scope:culture = { has_coa_gfx = scottish_coa_gfx }
scope:title ?= {
any_this_title_or_de_jure_above = {
this = title:k_scotland
@ -323,15 +309,15 @@ coa_theocratic_trigger = {
}
coa_welsh_trigger = {
scope:culture ?= { has_coa_gfx = welsh_coa_gfx }
scope:culture = { has_coa_gfx = welsh_coa_gfx }
}
coa_tamga_trigger = {
scope:culture ?= { has_coa_gfx = steppe_coa_gfx }
scope:culture = { has_coa_gfx = steppe_coa_gfx }
}
coa_scandinavian_trigger = {
scope:culture ?= {
scope:culture = {
OR = {
has_coa_gfx = swedish_coa_gfx
has_coa_gfx = norwegian_coa_gfx
@ -341,18 +327,18 @@ coa_scandinavian_trigger = {
}
coa_norse_trigger = {
scope:culture ?= { has_coa_gfx = norse_coa_gfx }
scope:culture = { has_coa_gfx = norse_coa_gfx }
}
coa_germanic_trigger = {
scope:culture ?= { has_coa_gfx = german_group_coa_gfx }
scope:culture = { has_coa_gfx = german_group_coa_gfx }
}
coa_iberian_trigger = {
OR = {
scope:culture ?= { has_coa_gfx = iberian_group_coa_gfx }
scope:culture = { has_coa_gfx = iberian_group_coa_gfx }
AND = {
scope:culture ?= { has_coa_gfx = arabic_group_coa_gfx }
scope:culture = { has_coa_gfx = arabic_group_coa_gfx }
scope:title ?= {
OR = {
this = title:e_spain
@ -364,7 +350,7 @@ coa_iberian_trigger = {
}
coa_iranian_trigger = {
scope:culture ?= { has_coa_gfx = iranian_group_coa_gfx }
scope:culture = { has_coa_gfx = iranian_group_coa_gfx }
}
has_recognizable_chinese_seal = {

View file

@ -33,11 +33,7 @@ can_be_councillor_gender_trigger = {
has_variable = can_be_councillor_override
AND = {
is_female = yes
exists = $COURT_OWNER$.rite
trigger_if = {
limit = { exists = $COURT_OWNER$.rite }
$COURT_OWNER$.rite ?= { NOT = { rite_has_parameter = male_dominated_council } }
}
$COURT_OWNER$.rite = { NOT = { rite_has_parameter = male_dominated_council } }
}
AND = {
is_female = yes
@ -47,11 +43,7 @@ can_be_councillor_gender_trigger = {
}
AND = {
is_male = yes
exists = $COURT_OWNER$.rite
trigger_if = {
limit = { exists = $COURT_OWNER$.rite }
$COURT_OWNER$.rite ?= { NOT = { rite_has_parameter = female_dominated_council } }
}
$COURT_OWNER$.rite = { NOT = { rite_has_parameter = female_dominated_council } }
}
}
}
@ -63,7 +55,7 @@ can_be_chancellor_trigger = {
}
NAND = {
has_council_position = councillor_court_chaplain
rite ?= { rite_has_parameter = clerical_appointment_fixed }
rite = { rite_has_parameter = clerical_appointment_fixed }
}
NOR = {
has_council_position = councillor_spouse
@ -82,7 +74,7 @@ can_be_steward_trigger = {
}
NAND = {
has_council_position = councillor_court_chaplain
rite ?= { rite_has_parameter = clerical_appointment_fixed }
rite = { rite_has_parameter = clerical_appointment_fixed }
}
NOR = {
has_council_position = councillor_spouse
@ -102,7 +94,7 @@ can_be_marshal_trigger = {
is_hostage = no
NAND = {
has_council_position = councillor_court_chaplain
rite ?= { rite_has_parameter = clerical_appointment_fixed }
rite = { rite_has_parameter = clerical_appointment_fixed }
}
NOR = {
has_council_position = councillor_spouse
@ -115,7 +107,7 @@ can_be_marshal_trigger = {
can_be_councillor_gender_trigger = { COURT_OWNER = $COURT_OWNER$ }
AND = {
has_trait = shieldmaiden
$COURT_OWNER$.culture ?= { has_cultural_parameter = has_access_to_shieldmaidens }
$COURT_OWNER$.culture = { has_cultural_parameter = has_access_to_shieldmaidens }
}
}
}
@ -124,7 +116,7 @@ can_be_spymaster_trigger = {
can_be_councillor_basics_trigger = yes
NAND = {
has_council_position = councillor_court_chaplain
rite ?= { rite_has_parameter = clerical_appointment_fixed }
rite = { rite_has_parameter = clerical_appointment_fixed }
}
NOR = {
has_council_position = councillor_spouse
@ -149,18 +141,12 @@ can_be_court_chaplain_trigger = {
liege = { has_diarchy_active_parameter = diarchy_is_vizierate }
}
}
exists = $COURT_OWNER$.rite
trigger_if = {
limit = { exists = $COURT_OWNER$.rite }
$COURT_OWNER$.rite ?= { rite_has_allowed_gender_for_clergy = scope:court_chaplain_check }
}
trigger_if = {
limit = { exists = $COURT_OWNER$.rite }
rite = $COURT_OWNER$.rite
}
$COURT_OWNER$.rite = { rite_has_allowed_gender_for_clergy = scope:court_chaplain_check }
faith = $COURT_OWNER$.faith
rite = { rite_has_allowed_gender_for_clergy = scope:court_chaplain_check }
trigger_if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_theocracy_temporal }
rite = { rite_has_doctrine = doctrine_theocracy_temporal }
}
OR = {
is_ruler = no
@ -181,7 +167,7 @@ can_be_court_chaplain_trigger = {
}
trigger_if = { # Married characters are excluded if the doctrine is not there
limit = {
rite ?= {
rite = {
NOT = { rite_has_parameter = clergy_can_marry }
}
}
@ -193,7 +179,7 @@ can_be_court_chaplain_trigger = {
can_appoint_own_court_chaplain_trigger = {
OR = {
religious_head_or_challenger ?= this # The appointment authority itself has no one to request a chaplain from
rite ?= {
rite = {
NOT = { rite_has_parameter = clerical_appointment_fixed }
}
tgp_has_access_to_ministry_trigger = yes
@ -281,23 +267,15 @@ can_be_kurultai_trigger = {
is_ruler = yes
AND = {
is_female = yes
exists = $COURT_OWNER$.rite
trigger_if = {
limit = { exists = $COURT_OWNER$.rite }
$COURT_OWNER$.rite ?= { NOT = { rite_has_parameter = male_dominated_council } }
}
$COURT_OWNER$.rite = { NOT = { rite_has_parameter = male_dominated_council } }
}
AND = {
is_male = yes
exists = $COURT_OWNER$.rite
trigger_if = {
limit = { exists = $COURT_OWNER$.rite }
$COURT_OWNER$.rite ?= { NOT = { rite_has_parameter = female_dominated_council } }
}
$COURT_OWNER$.rite = { NOT = { rite_has_parameter = female_dominated_council } }
}
AND = {
has_trait = shieldmaiden
$COURT_OWNER$.culture ?= { has_cultural_parameter = has_access_to_shieldmaidens }
$COURT_OWNER$.culture = { has_cultural_parameter = has_access_to_shieldmaidens }
}
}
}
@ -336,15 +314,15 @@ can_be_any_kurultai_trigger = {
is_ruler = yes
AND = {
is_female = yes
$COURT_OWNER$.rite ?= { NOT = { rite_has_parameter = male_dominated_council } }
$COURT_OWNER$.rite = { NOT = { rite_has_parameter = male_dominated_council } }
}
AND = {
is_male = yes
$COURT_OWNER$.rite ?= { NOT = { rite_has_parameter = female_dominated_council } }
$COURT_OWNER$.rite = { NOT = { rite_has_parameter = female_dominated_council } }
}
AND = {
has_trait = shieldmaiden
$COURT_OWNER$.culture ?= { has_cultural_parameter = has_access_to_shieldmaidens }
$COURT_OWNER$.culture = { has_cultural_parameter = has_access_to_shieldmaidens }
}
}
}
@ -459,7 +437,7 @@ can_be_fired_from_council_trigger = {
has_council_position = councillor_court_chaplain
liege = { tgp_has_access_to_ministry_trigger = no }
}
rite ?= {
rite = {
OR = {
rite_has_doctrine = doctrine_clerical_succession_temporal_appointment
rite_has_doctrine = doctrine_clerical_succession_spiritual_appointment
@ -1117,7 +1095,7 @@ task_conversion_valid_county_trigger = {
}
}
NOT = {
rite ?= { has_variable = pam_rite_grace_period }
rite = { has_variable = pam_rite_grace_period }
}
}
trigger_if = {
@ -1126,7 +1104,7 @@ task_conversion_valid_county_trigger = {
trigger_if = {
limit = {
scope:councillor_liege = {
faith ?= {
faith = {
has_doctrine_parameter = unreformed
}
}
@ -1137,7 +1115,7 @@ task_conversion_valid_county_trigger = {
vassal_is_valid_and_follows_directive_trigger = { VASSAL = this LIEGE = liege }
}
scope:councillor_liege = { ai_zeal >= 50 }
scope:county_check.faith ?= { has_doctrine_parameter = unreformed }
scope:county_check.faith = { has_doctrine_parameter = unreformed }
scope:county_check = { # Always convert holy sites
any_county_province = {
barony = {
@ -1151,7 +1129,7 @@ task_conversion_valid_county_trigger = {
trigger_if = {
limit = {
scope:councillor_liege = {
faith ?= {
faith = {
faith_hostility_level = {
target = scope:county_check.faith
value <= faith_fully_accepted_level
@ -1181,7 +1159,7 @@ task_conversion_valid_county_trigger = {
trigger_if = {
limit = {
scope:councillor_liege = {
faith ?= {
faith = {
faith_hostility_level = {
target = scope:county_check.faith
value <= faith_astray_level
@ -1214,7 +1192,7 @@ task_conversion_valid_county_trigger = {
trigger_else_if = {
limit = {
scope:councillor_liege = {
rite ?= { rite_has_doctrine = doctrine_pluralism_fundamentalist }
rite = { rite_has_doctrine = doctrine_pluralism_fundamentalist }
}
}
OR = {
@ -1284,11 +1262,11 @@ task_conversion_valid_county_trigger = {
limit = {
scope:councillor_liege = {
OR = {
rite ?= { rite_has_tenet = tenet_tax_nonbelievers }
faith ?= { has_doctrine = special_doctrine_jizya }
rite = { rite_has_tenet = tenet_tax_nonbelievers }
faith = { has_doctrine = special_doctrine_jizya }
}
}
scope:councillor_liege.faith ?= { faith_is_in_same_rf = { FAITH = scope:county_check.faith } }
scope:councillor_liege.faith = { faith_is_in_same_rf = { FAITH = scope:county_check.faith } }
}
OR = {
scope:councillor_liege = {
@ -1296,8 +1274,8 @@ task_conversion_valid_county_trigger = {
vassal_is_valid_and_follows_directive_trigger = { VASSAL = this LIEGE = liege }
}
scope:councillor_liege = { ai_zeal >= 50 }
scope:county_check.faith ?= { has_doctrine_parameter = unreformed }
scope:councillor_liege.faith ?= {
scope:county_check.faith = { has_doctrine_parameter = unreformed }
scope:councillor_liege.faith = {
any_holy_site_barony = {
kingdom = scope:county_check.kingdom
}
@ -1456,7 +1434,7 @@ can_be_trained_as_knight_now_light_trigger = {
is_in_army = no
has_contagious_deadly_disease_trigger = no
is_incapable = no
is_in_activity = yes
is_in_activity = no
}
teacher_has_trait_that_student_does_not_trigger = {

View file

@ -397,37 +397,39 @@ can_recruit_character_to_court_trigger = {
trigger_if = {
limit = { exists = host }
#Are they employed?
is_councillor_of = scope:recruitee.host
is_knight_of = scope:recruitee.host
any_relation = {
type = ward
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
OR = {
is_councillor_of = scope:recruitee.host
is_knight_of = scope:recruitee.host
any_relation = {
type = ward
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
}
any_relation = {
type = guardian
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
any_relation = {
type = guardian
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
}
any_relation = {
type = mentor
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
any_relation = {
type = mentor
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
}
any_relation = {
type = student
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
any_relation = {
type = student
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_court_position_employer = { this = scope:recruitee.host }
}
any_court_position_employer = { this = scope:recruitee.host }
}
trigger_if = {
limit = {
@ -850,14 +852,7 @@ is_courtier_or_knight_of_root = {
guest_herder_candidate_trigger = {
government_has_flag = government_is_herder
has_trait = lifestyle_seasoned_pastor
trigger_if = {
limit = { root.rite = { rite_has_doctrine = doctrine_gender_male_dominated } }
is_male = yes
}
trigger_if = {
limit = { root.rite = { rite_has_doctrine = doctrine_gender_female_dominated } }
is_female = yes
}
root.rite = { rite_has_dominant_ruling_gender = prev }
age < 45
age >= 25
}

View file

@ -165,20 +165,7 @@ diarch_callable_in_internal_war_trigger = {
}
diarch_matches_liege_faith_gender_preference_trigger = {
OR = {
# Female preference.
AND = {
is_female = yes
liege.rite = { rite_has_doctrine = doctrine_gender_female_dominated }
}
# Male preference.
AND = {
is_male = yes
liege.rite = { rite_has_doctrine = doctrine_gender_male_dominated }
}
# Equality.
liege.rite = { rite_has_doctrine = doctrine_gender_equal }
}
liege.rite = { rite_has_dominant_ruling_gender = prev }
}
##################################################

View file

@ -1,447 +0,0 @@
remove_guardian_interaction_visible_ward_trigger = {
OR = {
#If I am the child
this = scope:actor
#The ward has actor as its liege
employer ?= scope:actor
#The guardian is actor
any_relation = {
type = guardian
this = scope:actor
}
#The guardian is actor's courtier
any_relation = {
type = guardian
is_courtier_of = scope:actor
}
}
}
remove_guardian_interaction_available_ward_trigger = {
#is_imprisoned = no
}
kick_from_court_validity_trigger = {
NOR = {
is_spouse_of = scope:actor
is_concubine_of = scope:actor
is_close_family_of = scope:actor
has_council_position = councillor_court_chaplain
is_diarch = yes
# Marriage major partners of diarchs.
## Female.
AND = {
is_married = yes
is_female = yes
matrilinear_marriage = yes
any_consort = { is_diarch = yes }
}
## Male.
AND = {
is_married = yes
is_male = yes
patrilinear_marriage = yes
any_consort = { is_diarch = yes }
}
}
}
ask_for_pardon_available_trigger = {
$ACTOR$ = {
top_liege != this
any_liege_or_above = {
OR = {
has_imprisonment_reason = $ACTOR$
has_banish_reason = $ACTOR$
has_execute_reason = $ACTOR$
has_revoke_title_reason = $ACTOR$
}
}
}
}
has_extra_criminal_reason_against_trigger = {
OR = {
has_banish_reason = $CRIMINAL$
has_execute_reason = $CRIMINAL$
has_revoke_title_reason = $CRIMINAL$
}
}
title_revocation_standard_valid_showing_failures_only_trigger = {
scope:puppet_or_actor = {
NOR = {
is_at_war_with = scope:recipient
has_truce = scope:recipient
}
custom_description = {
text = "character_interactions_revoke_title_from_ally_without_reason"
object = scope:recipient
OR = {
NOT = {
is_allied_to = scope:recipient
}
has_revoke_title_reason = scope:recipient
}
}
}
scope:recipient = {
NOT = { has_strong_hook = scope:puppet_or_actor }
}
}
title_revocation_standard_can_pick_title_trigger = {
is_contested = no
custom_description = {
text = "revoke_title_not_noble_family_title"
is_noble_family_title = no
}
NOT = {
recent_history = {
type = granted
years = 1
}
}
custom_description = {
text = "character_interactions_not_rel_head_title"
is_head_of_faith = no
}
custom_description = {
text = "character_interactions_not_clerical_region_title"
has_clerical_region = no
}
custom_description = {
text = "character_interactions_not_clerical_elector_title"
pam_title_is_clerical_elector_trigger = no
}
custom_description = {
text = "character_interactions_not_antipope_office_title"
pam_title_is_antipope_office_trigger = no
}
custom_tooltip = {
text = special_title_cannot_be_revoked.tt
NOR = {
this = title:k_papal_state
this = title:k_orthodox
}
}
}
diarch_revocation_has_claim_check_trigger = {
custom_description = {
text = diarch_has_claim_on_revokable_title
object = scope:recipient
scope:actor = {
any_claim = {
holder ?= scope:recipient
}
}
}
}
title_revocation_is_admin_governor_trigger = {
government_has_mechanic = administrative
top_liege = this
save_temporary_scope_as = liege_temp
$VASSAL$ = {
government_has_mechanic = administrative
target_is_liege_or_above = scope:liege_temp
}
}
title_revocation_is_tyrannical_trigger = {
NOR = {
exists = scope:administrative_revocation
has_revoke_title_reason = $VASSAL$
trigger_if = {
limit = { exists = scope:landed_title }
has_claim_on = scope:landed_title
}
title_revocation_is_admin_governor_trigger = { VASSAL = $VASSAL$ }
AND = {
rite = { rite_has_parameter = tenet_legalism_sinful_revocation }
$VASSAL$ = {
num_sinful_traits = {
value > 0
target = prev.rite
}
}
}
AND = {
$VASSAL$ = {
NOT = { vassal_contract_has_flag = religiously_protected }
}
OR = {
AND = {
rite = { rite_has_parameter = pluralism_righteous_revocation_tyranny_reduced }
faith = {
faith_hostility_level = {
target = $VASSAL$.faith
value = faith_evil_level
}
}
}
AND = {
rite = { rite_has_parameter = pluralism_fundamentalist_revocation_tyranny_minimal }
faith = {
faith_hostility_level = {
target = $VASSAL$.faith
value >= faith_hostile_level
}
}
}
}
}
}
}
# The liege is root, and $VASSAL$ is the target
# Sets liege_temp and rebel_temp for revoke_refusal_war_rising_strength_value
revoke_refusal_war_would_be_massive_trigger = {
NOT = { has_revoke_title_reason = $VASSAL$ }
NOT = { government_has_flag = no_powerful_vassals }
save_temporary_scope_as = liege_temp
$VASSAL$ = { save_temporary_scope_as = rebel_temp }
current_military_strength < revoke_refusal_war_rising_strength_value
}
vassal_revocation_is_tyrannical_trigger = {
NOR = {
exists = scope:administrative_revocation
AND = {
government_has_mechanic = administrative
$VASSAL$ = {
government_has_mechanic = administrative
}
}
has_revoke_title_reason = $VASSAL$
OR = {
AND = {
rite = { rite_has_parameter = pluralism_righteous_revocation_tyranny_reduced }
faith = {
faith_hostility_level = {
target = $VASSAL$.faith
value = faith_evil_level
}
}
}
AND = {
rite = { rite_has_parameter = pluralism_fundamentalist_revocation_tyranny_minimal }
faith = {
faith_hostility_level = {
target = $VASSAL$.faith
value >= faith_hostile_level
}
}
}
}
}
}
vassal_retraction_standard_valid_showing_failures_only_trigger = {
NOT = {
scope:puppet_or_actor = { is_at_war_with = scope:recipient }
}
scope:recipient = {
NOT = { has_strong_hook = scope:puppet_or_actor }
}
}
diarch_retraction_is_de_jure_liege_trigger = {
custom_description = {
text = "diarch_is_de_jure_liege_of_retractable_vassal"
object = scope:recipient
scope:actor = {
any_held_title = {
any_direct_de_jure_vassal_title = { holder.liege = scope:recipient }
}
}
}
}
is_de_jure_vassal_of_liege_trigger = {
liege = {
save_temporary_scope_as = my_liege
}
primary_title = {
OR = {
de_jure_liege = {
holder ?= scope:my_liege
}
trigger_if = {
limit = {
tier = tier_duchy
}
de_jure_liege = {
de_jure_liege = {
holder ?= scope:my_liege
}
}
}
}
}
}
send_poem_positive_poem_lock_trigger = {
OR = {
is_ai = no
NOT = { has_relation_rival = scope:recipient }
NOT = { has_relation_nemesis = scope:recipient }
}
}
send_poem_negative_poem_lock_trigger = {
OR = {
is_ai = no
has_relation_rival = scope:recipient
has_relation_nemesis = scope:recipient
}
}
can_any_traveling_family_members_travel_trigger = {
NOR = {
this = scope:recipient
is_in_pool_at = scope:actor.capital_province
}
is_ruler = no
trigger_if = {
limit = {
exists = scope:recipient.host
is_child_of = scope:recipient.host
is_adult = no
}
dynasty != scope:recipient.host.dynasty
}
}
imprison_neutral_is_valid_showing_failures_only_triggers_trigger = {
scope:puppet_or_actor.liege = {
trigger_if = {
limit = { has_realm_law_flag = imprisonment_toggle_enable }
# TIT-43801
#has_realm_law_flag = imprisonment_toggle_on
NOT = { has_realm_law = tribal_authority_0 }
}
}
scope:puppet_or_actor = { is_imprisoned = no }
custom_description = {
text = cannot_imprison_almohad_leader
subject = scope:recipient
NOT = {
scope:recipient = { has_character_modifier = almohad_leader_modifier }
}
}
}
grant_title_rivalry_trigger = {
is_ai = yes
is_playable_character = yes
top_liege = scope:actor
faith = scope:actor.faith
reverse_opinion = {
target = top_liege
value > -50
}
opinion = {
target = top_liege
value > -50
}
trigger_if = {
limit = {
is_female = yes
faith_dominant_gender_female_or_equal = no
}
scope:recipient = { is_female = yes }
}
trigger_if = {
limit = {
is_male = yes
faith_dominant_gender_male_or_equal = no
}
scope:recipient = { is_male = yes }
}
has_dread_level_towards = {
target = scope:actor
level < 1
}
is_eunuch_trigger = no
NOR = {
this = scope:actor
this = scope:recipient
has_trait = content
has_trait = humble
has_trait = blind
has_trait = devoted
is_close_family_of = scope:recipient
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor }
has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:actor }
}
}
should_prioritise_hostile_action_against_due_to_personal_relations_trigger = {
$ACTOR$ = {
OR = {
has_any_bad_relationship_with_character_trigger = { CHARACTER = $RECIPIENT$ }
opinion = {
target = $RECIPIENT$
value <= very_high_negative_opinion
}
}
}
}
should_avoid_hostile_action_against_due_to_personal_relations_trigger = {
$ACTOR$ = {
OR = {
has_any_good_relationship_with_character_trigger = { CHARACTER = $RECIPIENT$ }
is_allied_to = $RECIPIENT$
opinion = {
target = $RECIPIENT$
value >= very_high_positive_opinion
}
# Plus filter out heirs & other family, unless we hate 'em.
AND = {
OR = {
is_close_or_extended_family_of = $RECIPIENT$
any_spouse = { this = $RECIPIENT$ }
is_heir_of = $RECIPIENT$
}
NOR = {
has_any_bad_relationship_with_character_trigger = { CHARACTER = $RECIPIENT$ }
exposed_cheating_on_spouse_trigger = { SPOUSE = $RECIPIENT$ }
AND = {
is_ai = yes
opinion = {
target = $RECIPIENT$
value <= low_negative_opinion
}
}
}
}
}
}
}
should_avoid_hostile_action_against_due_to_liege_relations_trigger = {
$ACTOR$ = {
liege ?= {
OR = {
has_any_good_relationship_with_character_trigger = { CHARACTER = $RECIPIENT$ }
is_allied_to = $RECIPIENT$
opinion = {
target = $RECIPIENT$
value >= very_high_positive_opinion
}
}
}
}
}
is_asking_for_gold_in_ransom_trigger = {
OR = {
scope:extortionate_gold ?= yes
scope:extortionate_current_gold ?= yes
scope:gold ?= yes
scope:current_gold ?= yes
}
}

View file

@ -26,7 +26,7 @@ maa_regiments_valid_to_refill_trigger = {
maa_current_troops_count < maa_max_troops_count
trigger_if = {
limit = {
scope:actor = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
regiment_owner ?= { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
is_unit_type = elephant_cavalry
}
regiment_owner.domicile ?= { has_domicile_parameter = camp_reinforce_elephant_regiments_anywhere }

View file

@ -100,8 +100,11 @@ realm_law_use_government_authority = {
}
realm_law_authority_level_0 = {
has_realm_law_flag = authority_level_0
NOT = { has_realm_law_flag = authority_level_1 }
custom_description = {
text = has_lowest_government_authority
has_realm_law_flag = authority_level_0
NOT = { has_realm_law_flag = authority_level_1 }
}
}
realm_law_authority_level_1 = {

View file

@ -21,7 +21,7 @@ valid_for_maa_trigger = {
has_perk = planned_cultivation_perk
location.county.culture ?= { has_cultural_parameter = $PARAMETER$ }
}
culture ?= { has_cultural_parameter = $PARAMETER$ }
culture = { has_cultural_parameter = $PARAMETER$ }
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -276,7 +276,7 @@ allows_declaring_war_against_target_trigger = {
is_in_activity = no
trigger_if = {
limit = {
culture ?= { has_cultural_parameter = cannot_attack_allies }
culture = { has_cultural_parameter = cannot_attack_allies }
}
NOT = {
is_allied_to = scope:defender_check
@ -284,7 +284,7 @@ allows_declaring_war_against_target_trigger = {
}
trigger_if = {
limit = {
culture ?= { has_cultural_parameter = cannot_attack_truces }
culture = { has_cultural_parameter = cannot_attack_truces }
}
NOT = {
has_truce = scope:defender_check
@ -487,16 +487,8 @@ can_use_conquest_cbs_trigger = {
government_has_flag = government_is_clan
government_has_flag = government_is_nomadic
government_has_flag = government_is_steppe_admin
trigger_if = {
limit = { exists = rite }
rite ?= { rite_has_parameter = conquest_cb_enabled }
}
trigger_else = { always = no }
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = can_use_conquest_cbs }
}
trigger_else = { always = no }
rite = { rite_has_parameter = conquest_cb_enabled }
culture = { has_cultural_parameter = can_use_conquest_cbs }
AND = {
government_has_flag = government_is_japan_feudal
has_realm_law = imperial_expansion_law
@ -514,13 +506,7 @@ can_be_warrior_trigger = {
OR = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $ARMY_OWNER$ }
AND = {
$ARMY_OWNER$ = {
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = high_prowess_ignores_knight_restrictions }
}
trigger_else = { always = no }
}
$ARMY_OWNER$.culture = { has_cultural_parameter = high_prowess_ignores_knight_restrictions }
prowess >= 10
}
# Japan Onna-musha
@ -531,17 +517,9 @@ can_be_warrior_trigger = {
NOT = {
government_has_mechanic = administrative
}
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = non_admin_close_family_non_martial_gender_knights_in_defensive_wars }
}
trigger_else = { always = no }
culture = { has_cultural_parameter = non_admin_close_family_non_martial_gender_knights_in_defensive_wars }
}
trigger_if = {
limit = { exists = culture }
culture ?= { has_cultural_parameter = non_admin_close_family_non_martial_gender_knights_in_defensive_wars }
}
trigger_else = { always = no }
culture = { has_cultural_parameter = non_admin_close_family_non_martial_gender_knights_in_defensive_wars }
}
AND = {
$ARMY_OWNER$ = { is_at_war_as_defender = yes }
@ -580,12 +558,8 @@ can_be_knight_trigger = {
}
trigger_if = {
limit = {
exists = $ARMY_OWNER$.culture
trigger_if = {
limit = { exists = $ARMY_OWNER$.culture }
$ARMY_OWNER$.culture ?= {
has_cultural_parameter = minimum_prowess_for_knights
}
$ARMY_OWNER$.culture = {
has_cultural_parameter = minimum_prowess_for_knights
}
}
prowess >= 12
@ -595,21 +569,17 @@ can_be_knight_trigger = {
is_clergy = yes
}
OR = {
rite ?= { rite_has_parameter = clergy_can_fight }
rite = { rite_has_parameter = clergy_can_fight }
AND = {
has_personal_tenet_flag = clergy_can_fight_personal
NOT = {
rite ?= { rite_has_parameter = pacifist }
rite = { rite_has_parameter = pacifist }
}
}
culture ?= { has_cultural_parameter = culture_clergy_can_fight }
culture = { has_cultural_parameter = culture_clergy_can_fight }
AND = {
exists = $ARMY_OWNER$.culture
trigger_if = {
limit = { exists = $ARMY_OWNER$.culture }
$ARMY_OWNER$.culture ?= {
has_cultural_parameter = high_prowess_ignores_knight_restrictions
}
$ARMY_OWNER$.culture = {
has_cultural_parameter = high_prowess_ignores_knight_restrictions
}
prowess >= 10
}
@ -617,12 +587,8 @@ can_be_knight_trigger = {
}
OR = {
AND = {
exists = $ARMY_OWNER$.culture
trigger_if = {
limit = { exists = $ARMY_OWNER$.culture }
$ARMY_OWNER$.culture ?= {
has_cultural_parameter = high_prowess_ignores_knight_restrictions
}
$ARMY_OWNER$.culture = {
has_cultural_parameter = high_prowess_ignores_knight_restrictions
}
prowess >= 10
}
@ -987,14 +953,14 @@ religious_cb_holder_under_target_can_be_vassalized = {
OR = {
# For all Faiths, if the attacker views this vassal's faith more favorably than the defender does, they are 'liberated' and become vassals under the attacker.
# For example, if Catholics are crusading against Ash'aris(viewed as Evil), any Messalian vassals (viewed as Hostile) will become vassals under the Catholic attacker.
scope:attacker.faith ?= {
scope:attacker.faith = {
faith_hostility_level_comparison = {
prev.holder.faith < scope:defender.faith
}
}
# Pluralist faiths always attempt to preserve vassals if possible, even if the vassal follows an Evil faith.
scope:attacker.rite ?= { rite_has_parameter = pluralism_pluralistic_holy_wars_preserve_vassals }
scope:attacker.rite = { rite_has_parameter = pluralism_pluralistic_holy_wars_preserve_vassals }
}
}
@ -1043,16 +1009,8 @@ can_use_viking_invasion_cbs_trigger = {
}
can_use_viking_invasion_cbs_dlc_trigger = {
trigger_if = {
limit = { exists = culture }
culture ?= { has_innovation = innovation_longboats }
}
trigger_else = { always = no }
trigger_if = {
limit = { exists = rite }
rite ?= { rite_has_tenet = tenet_warmonger }
}
trigger_else = { always = no }
culture = { has_innovation = innovation_longboats }
rite = { rite_has_tenet = tenet_warmonger }
any_sub_realm_county = { is_coastal_county = yes }
trigger_if = {
limit = { is_ai = yes }
@ -1064,11 +1022,7 @@ can_use_viking_invasion_cbs_dlc_trigger = {
NOT = {
any_liege_or_above = {
NOT = {
trigger_if = {
limit = { exists = rite }
rite ?= { rite_has_tenet = tenet_warmonger }
}
trigger_else = { always = no }
rite = { rite_has_tenet = tenet_warmonger }
}
}
}

View file

@ -1876,7 +1876,7 @@ laamp_as_mercenary_payout_trigger = {
scope:merc_temp = { is_attacker_in_war = scope:war_temp }
}
trigger_else = {
scope:merc_temp = { is_attacker_in_war = scope:war_temp }
scope:merc_temp = { is_defender_in_war = scope:war_temp }
}
}
NOT = { is_leader_in_war = scope:war_temp }

View file

@ -1,278 +0,0 @@
# Any theocratic vassal of $LIEGE$'s faith, no matter the rite
pam_valid_antipope_clergy_vassal_trigger = {
save_temporary_scope_as = antipope_temp
is_clergy = yes
custom_tooltip = {
text = pam_antipope_clerical_gender_tt
$LIEGE$.rite = { rite_has_allowed_gender_for_clergy = scope:antipope_temp }
}
faith = $LIEGE$.faith
NOT = { any_held_title = { is_head_of_faith = yes } }
pam_is_antipope_trigger = no
}
# Holds one of their faith's antipope titles
pam_is_antipope_trigger = {
save_temporary_scope_as = pam_antipope_holder_check
faith ?= {
any_religious_head_challenger = {
holder ?= scope:pam_antipope_holder_check
}
}
}
pam_title_is_antipope_office_trigger = {
has_variable = pam_antipope_office
}
# Holds the sponsor title behind one of their faith's antipopes. A self-declared antipope sponsors themselves
pam_is_antipope_sponsor_trigger = {
save_temporary_scope_as = pam_antipope_sponsor_check
faith = {
any_religious_head_challenger = {
challenger_sponsor ?= {
holder ?= scope:pam_antipope_sponsor_check
}
}
}
}
pam_sponsors_other_antipope_trigger = {
save_temporary_scope_as = pam_other_antipope_sponsor_check
faith = {
any_religious_head_challenger = {
NOT = { holder ?= scope:pam_other_antipope_sponsor_check }
challenger_sponsor ?= {
holder ?= scope:pam_other_antipope_sponsor_check
}
}
}
}
# Scoped to an antipope: $SPONSOR$ is the ruler whose title backs them
pam_antipope_is_sponsored_by_trigger = {
save_temporary_scope_as = pam_checked_antipope
$SPONSOR$ = { save_temporary_scope_as = pam_expected_sponsor }
faith = {
any_religious_head_challenger = {
holder ?= scope:pam_checked_antipope
challenger_sponsor ?= {
holder ?= scope:pam_expected_sponsor
}
}
}
}
pam_is_sponsored_antipope_trigger = {
pam_is_antipope_trigger = yes
pam_is_antipope_sponsor_trigger = no
}
pam_antipope_declaration_discounted_trigger = {
situation:the_christian_church ?= {
has_situation_top_phase_parameter = the_christian_church_cheaper_antipope_declaration
}
}
# Covers the antipope, their sponsor, and anyone under either of them
pam_antipope_protected_from_excommunication_trigger = {
is_following_religious_head_challenger = yes
faith.religious_head ?= $EXCOMMUNICATOR$
NOT = { has_personal_tenet_flag = tenet_apostolic_succession_antipope_opposition }
}
# Clerical requests that the mainline hierarchy would answer
# Anyone under an antipope has to take them to that antipope instead
pam_antipope_clerical_request_trigger = {
trigger_if = {
limit = { pam_is_antipope_trigger = yes }
custom_tooltip = {
text = pam_clerical_request_actor_is_antipope_tt
religious_head_or_challenger ?= $RECIPIENT$
}
}
trigger_else_if = {
limit = { pam_is_antipope_sponsor_trigger = yes }
custom_tooltip = {
text = pam_clerical_request_actor_is_antipope_sponsor_tt
religious_head_or_challenger ?= $RECIPIENT$
}
}
trigger_else_if = {
limit = { is_following_religious_head_challenger = yes }
custom_tooltip = {
text = pam_clerical_request_in_antipope_realm_tt
religious_head_or_challenger ?= $RECIPIENT$
}
}
trigger_else = {
always = yes
}
}
pam_antipope_may_grant_clerical_region_trigger = {
trigger_if = {
limit = { scope:actor = { pam_is_antipope_trigger = yes } }
trigger_if = {
limit = { exists = $SEE$.holder }
$SEE$.holder.religious_head_or_challenger ?= scope:actor
}
trigger_else = {
$SEE$.title_capital_county.holder.religious_head_or_challenger ?= scope:actor
}
}
trigger_else = {
always = yes
}
}
# Antipope + Sponsor
pam_can_use_challenge_hof_cb_trigger = {
OR = {
pam_is_antipope_trigger = yes
pam_is_antipope_sponsor_trigger = yes
}
faith = {
exists = religious_head
NOT = { religious_head = scope:attacker }
}
}
pam_challenge_hof_join_war_trigger = {
is_ai = yes
highest_held_title_tier >= tier_county
NOR = {
is_participant_in_war = scope:war
# Don't add vassals of targets
is_vassal_or_below_of = scope:defender
is_vassal_or_below_of = scope:attacker
# Not part of an attacker's realm
any_liege_or_above = { is_participant_in_war = scope:war }
}
OR = {
# Military Holy Orders always join
government_has_flag = government_is_military_holy_order
AND = {
# Landed rulers join if zealous independents or theocrats, prevent every cardinal and monastic abbot joining
is_landed = yes
OR = {
AND = {
is_independent_ruler = yes
# Attackers always join if rite is different, to reward spreading rite
trigger_if = {
limit = {
scope:defender.rite != scope:attacker.rite
rite = scope:attacker.rite
}
always = yes
}
# Otherwise attackers/defenders join only if zealous
trigger_else = {
ai_zeal >= very_high_positive_ai_value
}
}
government_has_flag = government_is_theocracy
}
}
}
}
# Against the Antipope sponsor (which can be the antipope themselves if self-declared)
pam_can_target_antiking_cb_trigger = {
scope:defender = {
pam_is_antipope_sponsor_trigger = yes
faith = scope:attacker.faith
top_liege = this
}
scope:attacker = {
is_landed = yes
faith = scope:defender.faith
NOT = { this = scope:defender }
NOR = {
pam_is_antipope_sponsor_trigger = yes
pam_is_antipope_trigger = yes
}
}
}
antipope_requirements_trigger = {
calc_true_if = {
amount >= $AMOUNT$
has_trait = herald
trigger_if = {
limit = { religion = religion:islam_religion }
# Sayyids get a free pass.
has_trait = sayyid
}
trigger_else_if = {
limit = { religion = religion:zoroastrianism_religion }
OR = {
has_trait = saoshyant
has_trait = saoshyant_descendant
}
}
# to prevent "false" visible, but you should not get this as a potential antipope since this can only be granted to a HoF
trigger_else = {
has_trait = savior
}
has_trait_xp = {
trait = lifestyle_scholar
value >= 100
}
custom_description = {
text = is_head_of_rite_tt
subject = root
rite.head_of_rite ?= this
}
# has_relation_rival has no first-person trigger localization, so describe it explicitly
custom_description = {
text = declare_yourself_antipope_decision_hof_rival_tt
has_relation_rival = faith.religious_head
}
custom_description = {
text = appoint_a_righteous_caliph_decision.caliph_not_in_diplo_range
NOT = { in_diplomatic_range = faith.religious_head }
}
# Having a holy site.
custom_description = {
text = appoint_a_righteous_caliph_decision.control_one_holy_site
faith = {
any_holy_site_barony = {
count >= 1
holder ?= { target_is_same_character_or_above = root }
}
}
}
# Having *2* holy sites.
custom_description = {
text = appoint_a_righteous_caliph_decision.control_two_holy_sites
faith = {
any_holy_site_barony = {
count >= 2
holder ?= { target_is_same_character_or_above = root }
}
}
}
# Having a higher-than-minimum piety level.
piety_level >= very_high_piety_level
custom_description = {
text = declare_yourself_antipope_decision_hof_piety_level_tt
piety_level > faith.religious_head.piety_level
}
# And just having a caliph who doesn't live up to the root's faith's ideals.
custom_description = {
text = appoint_a_righteous_caliph_decision.caliph_has_x_or_more_traits_sinful_to_your_faith
faith.religious_head = {
num_sinful_traits = {
value >= 2
target = root.rite
}
}
}
# Has planned to schism off for a *while*.
custom_description = {
text = appoint_a_righteous_caliph_decision.has_wishes_to_schism_caliphate_flag
has_character_flag = wishes_to_schism_caliphate_flag
}
}
}

View file

@ -0,0 +1,378 @@
######################################
# Heresy system - scripted triggers #
######################################
# Per-heresy gating, geography helpers, and component eligibility checks.
# Resurgence model: each historical heresy can fire more than once per game.
# first outbreak: pam_heresy_X_first_fired global var is unset
# resurgence: first_fired set, plus pam_heresy_X_cooldown timed flag absent
# A 50-year cooldown is set after every outbreak via timed global variable.
# --- Component eligibility (faith scope) ---
# The second and third heresy components are blocked below this
# The first still fires, but we dampen the pulse with pam_heresy_pulse_no_event_value
pam_heresy_main_rite_substantial_trigger = {
main_rite.rite_counties >= pam_heresy_main_rite_county_threshold_value
}
# Component 2 gate: main rite must be substantial (size floor) AND hold at least 60% of faith counties (dominance share).
pam_heresy_c2_main_rite_dominant_trigger = {
pam_heresy_main_rite_substantial_trigger = yes
main_rite.rite_counties >= pam_heresy_c2_main_rite_share_required_value
}
#pam_heresy_c3_eligible_trigger = {
# religion = religion:christianity_religion
# pam_heresy_main_rite_substantial_trigger = yes
# OR = {
# pam_heresy_lollard_eligible_trigger = yes
# pam_heresy_hussite_eligible_trigger = yes
# pam_heresy_joachimite_eligible_trigger = yes
# pam_heresy_cathar_eligible_trigger = yes
# pam_heresy_waldensian_eligible_trigger = yes
# pam_heresy_bogomilist_eligible_trigger = yes
# pam_heresy_paulician_eligible_trigger = yes
# pam_heresy_iconoclast_eligible_trigger = yes
# pam_heresy_adoptionist_eligible_trigger = yes
# pam_heresy_messalian_eligible_trigger = yes
# }
#}
# --- Per-heresy "is this heresy still available?" ---
# Each heresy can fire if past its earliest_date, the parent faith of the outbreak
# (root) is not the heresy faith itself, optional time windows pass, and the
# 50-year resurgence cooldown has elapsed since the last outbreak (if any).
#pam_heresy_lollard_eligible_trigger = {
# current_date >= 1340.1.1
# this != faith:lollard
# pam_heresy_lollard_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_lollard_cooldown }
#}
#pam_heresy_hussite_eligible_trigger = {
# current_date >= 1360.1.1
# this != faith:hussite
# pam_heresy_hussite_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_hussite_cooldown }
#}
#pam_heresy_joachimite_eligible_trigger = {
# current_date >= 1200.1.1
# this != faith:joachimite
# pam_heresy_joachimite_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_joachimite_cooldown }
#}
#pam_heresy_cathar_eligible_trigger = {
# current_date >= 1140.1.1
# this != faith:cathar
# pam_heresy_cathar_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_cathar_cooldown }
#}
#pam_heresy_waldensian_eligible_trigger = {
# current_date >= 1160.1.1
# this != faith:waldensian
# pam_heresy_waldensian_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_waldensian_cooldown }
#}
#pam_heresy_bogomilist_eligible_trigger = {
# current_date >= 950.1.1
# this != faith:bogomilist
# pam_heresy_bogomilist_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_bogomilist_cooldown }
#}
# Always-anonymous repeating outbreaks. No first-historical figure - founder is always a generic resurgence preacher.
#pam_heresy_paulician_eligible_trigger = {
# current_date >= 870.1.1
# this != faith:paulician
# pam_heresy_paulician_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_paulician_cooldown }
#}
#pam_heresy_iconoclast_eligible_trigger = {
# current_date >= 900.1.1
# this != faith:iconoclast
# pam_heresy_iconoclast_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_iconoclast_cooldown }
#}
# Adoptionism: Felix of Urgell died ~818, the Spanish argument fades after the first millennium - hard time-gate to before 1000.
#pam_heresy_adoptionist_eligible_trigger = {
# current_date >= 870.1.1
# current_date <= 999.12.31
# this != faith:adoptionist
# NOT = { exists = global_var:pam_heresy_adoptionist_cooldown }
#}
#pam_heresy_messalian_eligible_trigger = {
# current_date >= 870.1.1
# this != faith:messalian
# pam_heresy_messalian_strict_window_ok_trigger = yes
# NOT = { exists = global_var:pam_heresy_messalian_cooldown }
#}
# --- Strict-rule per-heresy historical windows ---
# Only enforced when game rule = strict_regional_heresy.
# The "strict" window is the historical lifetime of the named founder; outside that, strict mode rejects the outbreak entirely.
# Always-anonymous heresies have no strict window (they're resurgence-flavoured by default).
#pam_heresy_lollard_strict_window_ok_trigger = {
# OR = {
# NOT = { has_game_rule = strict_regional_heresy }
# current_date <= 1430.1.1
# }
#}
#pam_heresy_hussite_strict_window_ok_trigger = {
# OR = {
# NOT = { has_game_rule = strict_regional_heresy }
# current_date <= 1450.1.1
# }
#}
# Joachimite: strict mode cuts off after Fra Dolcino's burning, as later Fraticelli are too institutional
#pam_heresy_joachimite_strict_window_ok_trigger = {
# OR = {
# NOT = { has_game_rule = strict_regional_heresy }
# current_date <= 1310.1.1
# }
#}
#pam_heresy_cathar_strict_window_ok_trigger = {
# OR = {
# NOT = { has_game_rule = strict_regional_heresy }
# current_date <= 1230.1.1
# }
#}
#pam_heresy_waldensian_strict_window_ok_trigger = {
# OR = {
# NOT = { has_game_rule = strict_regional_heresy }
# current_date <= 1250.1.1
# }
#}
#pam_heresy_bogomilist_strict_window_ok_trigger = {
# OR = {
# NOT = { has_game_rule = strict_regional_heresy }
# current_date <= 1100.1.1
# }
#}
# Always-anonymous: strict mode just lets them through (no historical figure to anchor).
pam_heresy_paulician_strict_window_ok_trigger = { always = yes }
pam_heresy_iconoclast_strict_window_ok_trigger = { always = yes }
pam_heresy_messalian_strict_window_ok_trigger = { always = yes }
# --- Resurgence detection (faith scope on the parent faith) ---
# Always-anonymous heresies skip this and set scope:is_resurgence in the router
#pam_heresy_lollard_is_resurgence_trigger = {
# exists = global_var:pam_heresy_lollard_first_fired
#}
#pam_heresy_hussite_is_resurgence_trigger = {
# exists = global_var:pam_heresy_hussite_first_fired
#}
#pam_heresy_joachimite_is_resurgence_trigger = {
# exists = global_var:pam_heresy_joachimite_first_fired
#}
#pam_heresy_cathar_is_resurgence_trigger = {
# exists = global_var:pam_heresy_cathar_first_fired
#}
#pam_heresy_waldensian_is_resurgence_trigger = {
# exists = global_var:pam_heresy_waldensian_first_fired
#}
#pam_heresy_bogomilist_is_resurgence_trigger = {
# exists = global_var:pam_heresy_bogomilist_first_fired
#}
# --- Pre-declaration vs already-declared (faith scope on the heresy faith) ---
pam_heresy_faith_is_pre_declaration_trigger = {
has_variable = block_conversion_till_decision_taken
}
# True when the recipient is already on the heresy's rite.
# Used to gate "embrace" / reframe "reject" options and description text so the
# event does not address one of the heresy's own followers as an outside observer.
pam_heresy_player_is_heresy_insider_trigger = {
trigger_if = {
limit = { exists = scope:new_rite }
rite = scope:new_rite
}
trigger_else_if = {
limit = { exists = scope:heresy_faith }
faith = scope:heresy_faith
}
trigger_else = {
always = no
}
}
# --- Geography helpers (province scope) ---
# Callers in county scope must wrap with title_province = { ... }.
#pam_heresy_lollard_region_trigger = {
# OR = {
# geographical_region = world_europe_west_britannia
# geographical_region = world_europe_west_germania
# }
#}
#pam_heresy_hussite_region_trigger = {
# # Bohemia / Moravia sit inside world_europe_west_germania.
# geographical_region = world_europe_west_germania
#}
#pam_heresy_joachimite_region_trigger = {
# # Calabria, the Italian peninsula, Provence, and southern France
# OR = {
# geographical_region = world_europe_south_italy
# geographical_region = world_europe_west_francia
# }
#}
#pam_heresy_cathar_region_trigger = {
# OR = {
# geographical_region = world_europe_west_francia
# geographical_region = world_europe_south_italy
# }
#}
#pam_heresy_waldensian_region_trigger = {
# OR = {
# geographical_region = world_europe_west_francia
# geographical_region = world_europe_south_italy
# }
#}
#pam_heresy_bogomilist_region_trigger = {
# geographical_region = world_europe_south_east
#}
#pam_heresy_paulician_region_trigger = {
# geographical_region = world_asia_minor
#}
#pam_heresy_iconoclast_region_trigger = {
# OR = {
# geographical_region = world_asia_minor
# geographical_region = world_europe_south_east
# }
#}
#pam_heresy_adoptionist_region_trigger = {
# geographical_region = world_europe_west_iberia
#}
#pam_heresy_messalian_region_trigger = {
# geographical_region = world_middle_east
#}
# --- Component 2 founder eligibility (character scope) ---
# Mirrors is_eligible_rite_growth_founder_trigger but is permissive about existing heresiarch / herald carriers
# C2 is the "charismatic schismatic" path and those traits are an asset here.
# Archbishop-only candidates (no held county on the source rite) are accepted via the clerical_region branch.
is_eligible_pam_heresy_c2_founder_trigger = {
is_available_ai_adult = yes
rite = scope:source_rite
learning >= medium_skill_rating
NOR = {
recently_converted_faith_trigger = yes
has_character_flag = recently_converted_by_heresy
has_character_flag = recently_converted_by_rite_growth
faith.religious_head ?= this
scope:source_rite.head_of_rite ?= this
highest_held_title_tier >= tier_empire
government_has_flag = government_is_nomadic
government_has_flag = government_is_herder
}
OR = {
AND = {
is_landed = yes
highest_held_title_tier >= tier_duchy
any_held_title = {
tier = tier_county
rite = scope:source_rite
}
}
any_held_title = { has_clerical_region = yes }
}
}
# Test convenience trigger for narrative branching (e.g. event text).
pam_heresy_c2_founder_is_archbishop_trigger = {
scope:founder = {
any_held_title = { has_clerical_region = yes }
}
}
# --- Epicenter ruler eligibility (character scope) ---
# A duke+ same-faith landed AI ruler.
# Capital-in-region check is applied separately by the picker (with title_province wrapping).
is_eligible_heresy_epicenter_ruler_trigger = {
is_landed = yes
is_ai = yes
highest_held_title_tier >= tier_duchy
NOR = {
this = faith.religious_head
has_trait = heresiarch
has_trait = herald
recently_converted_faith_trigger = yes
}
}
# --- Component 3 game-rule gates ---
pam_heresy_relaxed_rule_trigger = {
has_game_rule = relaxed_regional_heresy
}
pam_heresy_strict_rule_trigger = {
has_game_rule = strict_regional_heresy
}
pam_heresy_default_rule_trigger = {
OR = {
has_game_rule = default_regional_heresy
# Defensive: if no rule explicitly matches, treat as default.
AND = {
NOT = { has_game_rule = strict_regional_heresy }
NOT = { has_game_rule = relaxed_regional_heresy }
}
}
}
# Province scope, branching on scope:heresy_faith
#pam_heresy_capital_in_heresy_region_trigger = {
# OR = {
# AND = {
# scope:heresy_faith = faith:lollard
# pam_heresy_lollard_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:hussite
# pam_heresy_hussite_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:joachimite
# pam_heresy_joachimite_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:cathar
# pam_heresy_cathar_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:waldensian
# pam_heresy_waldensian_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:bogomilist
# pam_heresy_bogomilist_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:paulician
# pam_heresy_paulician_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:iconoclast
# pam_heresy_iconoclast_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:adoptionist
# pam_heresy_adoptionist_region_trigger = yes
# }
# AND = {
# scope:heresy_faith = faith:messalian
# pam_heresy_messalian_region_trigger = yes
# }
# }
#}

View file

@ -0,0 +1,254 @@
############################################
# Canonizing Saints - scripted triggers
# pam_can_canonize_saint_trigger
# pam_is_canonization_candidate_trigger
# pam_faith_uses_cathedrals_trigger
# pam_character_has_cathedral_trigger
# pam_has_consecration_site_trigger
# pam_site_free_trigger
# pam_province_is_free_burial_site_trigger
# pam_has_free_primary_site_trigger
# pam_county_has_actor_primary_site_trigger
# pam_has_free_adjacent_site_trigger
# pam_needs_hof_approval_for_canonization_trigger
# pam_hof_thinks_well_of_canonizer_trigger
# pam_saint_is_buried_in_my_lands_trigger
# pam_can_extract_relic_from_saint_trigger
# pam_saint_relic_drawable_trigger
# pam_venerated_the_saints_personally_trigger
############################################
has_corpse_trigger = {
trigger_if = {
limit = { is_alive = no }
NOR = {
has_dead_character_variable = no_corpse_left
saint_burial_location ?= { has_variable = no_corpse_left }
death_reason = death_disappearance
death_reason = death_vanished
death_reason = death_hunted_by_wild_beast
death_reason = death_disappeared_into_slave_markets
death_reason = death_killed_by_monstrous_dog
death_reason = death_killed_by_monstrous_wolf
death_reason = death_killed_by_monstrous_hyena
death_reason = death_killed_by_monstrous_lion
death_reason = death_killed_by_monstrous_tiger
death_reason = death_killed_by_monstrous_leopard
death_reason = death_killed_by_monstrous_panther
death_reason = death_killed_by_monstrous_lynx
death_reason = death_killed_by_monstrous_caracal
death_reason = death_killed_by_monstrous_bear
death_reason = death_killed_by_monstrous_hippo
death_reason = death_killed_by_monstrous_crocodile
}
}
}
# Can this ruler canonize saints at all? (the actor of the decision)
pam_can_canonize_saint_trigger = {
has_pam_dlc_trigger = yes
is_landed_or_landless_administrative_or_theocratic = yes
is_adult = yes
is_ruler = yes
exists = faith
# Christian sainthood needs Dulia not forbidden or unknown; non-Christian (Venerated Ancestor) faiths are unaffected.
trigger_if = {
limit = {
OR = {
faith.religion = religion:catholic_religion
faith.religion = religion:protestant_religion
faith.religion = religion:eastern_orthodox_religion
faith.religion = religion:oriental_orthodox_religion
}
}
rite = {
NOT = { has_tenet_status = { tenet = tenet_dulia status = unknown } }
NOT = { has_tenet_status = { tenet = tenet_dulia status = prohibited } }
}
}
}
# Can this dead ancestor be canonized? CANONIZER is passed in because the picker runs with root = none; virtue/sin are judged by the canonizer's rite.
pam_is_canonization_candidate_trigger = {
is_alive = no
NOT = { has_trait = saint }
faith ?= $CANONIZER$.faith
dynasty ?= $CANONIZER$.dynasty
# Saintly life: at least one virtue and no sins by our rite's reckoning.
num_virtuous_traits = {
value >= 1
target = this.rite
}
num_sinful_traits = {
value = 0
target = this.rite
}
}
# Faiths with clerical regions and a temporal/appointed clergy build cathedrals; every other faith, including all non-Christian ones, consecrates at a holy site instead. Mirrors the ecclesiastical_government gate (see 02_theocratic_government_types.txt).
pam_faith_uses_cathedrals_trigger = {
faith ?= { has_doctrine_parameter = has_clerical_regions }
NOT = { rite = { rite_has_doctrine = doctrine_theocracy_lay_clergy } }
}
# We start with government because it is quick, then ecclesiastical_domicile_main_01 or higher
pam_character_has_cathedral_trigger = {
has_government = ecclesiastical_government
domicile ?= { has_domicile_building_or_higher = ecclesiastical_domicile_main_01 }
}
# Does the actor have somewhere to consecrate a saint? A free (unoccupied) cathedral / holy site, or - once those are all taken - a free county-capital barony neighbouring one. Burial is one saint per province, so "free" means the province holds no saint yet.
pam_has_consecration_site_trigger = {
OR = {
pam_has_free_primary_site_trigger = yes
pam_has_free_adjacent_site_trigger = yes
}
}
# A consecration barony (barony scope) whose province has no saint buried yet. Burial is province-anchored (the poi_buried_saint marks the province), so one province holds at most one saint.
pam_site_free_trigger = {
title_province ?= {
NOR = {
has_variable = hide_location_for_saint
has_travel_point_of_interest = poi_buried_saint
}
}
}
# Province can take add_saint: holding present, no buried-saint PoI yet.
pam_province_is_free_burial_site_trigger = {
has_holding = yes
NOR = {
has_variable = hide_location_for_saint
has_travel_point_of_interest = poi_buried_saint
}
}
# Does the actor have a free primary consecration site? Cathedral faiths: an unoccupied cathedral in their realm. Others: an unoccupied holy site of their faith in realm.
pam_has_free_primary_site_trigger = {
trigger_if = {
limit = { pam_faith_uses_cathedrals_trigger = yes }
OR = {
AND = {
pam_character_has_cathedral_trigger = yes
domicile ?= { domicile_location = { barony ?= { pam_site_free_trigger = yes } } }
}
any_realm_province = {
barony ?= { pam_site_free_trigger = yes }
any_province_domicile = { owner = { pam_character_has_cathedral_trigger = yes } }
}
}
}
trigger_else = {
save_temporary_scope_as = pam_primary_site_actor
any_realm_province = {
barony ?= { is_holy_site_of = scope:pam_primary_site_actor.faith }
NOT = { has_travel_point_of_interest = poi_buried_saint }
}
}
}
# Does this county (title scope) hold one of $ACTOR$'s primary consecration sites? Used to find provinces adjacent to a real site. Cathedral faiths: a cathedral (an ecclesiastical domicile) in $ACTOR$'s realm sits in the county, whoever owns it. Others: a holy site of $ACTOR$'s faith sits in the county, in realm. Identified from the province's domicile side (same walk as pam_has_free_primary_site_trigger and setup_items) - a cathedral barony's holder isn't reliably the bishop, so a barony->holder lookup misses them. Intentionally intrinsic (cathedral/holy-site nature, not occupancy) so an adjacency burial never seeds further neighbours.
pam_county_has_actor_primary_site_trigger = {
save_temporary_scope_as = pam_primary_site_county
trigger_if = {
limit = { $ACTOR$ = { pam_faith_uses_cathedrals_trigger = yes } }
$ACTOR$ = {
OR = {
AND = {
pam_character_has_cathedral_trigger = yes
domicile ?= { domicile_location ?= { county = scope:pam_primary_site_county } }
}
any_realm_province = {
county = scope:pam_primary_site_county
any_province_domicile = { owner = { pam_character_has_cathedral_trigger = yes } }
}
}
}
}
trigger_else = {
$ACTOR$ = {
any_realm_province = {
barony ?= { is_holy_site_of = $ACTOR$.faith }
county = scope:pam_primary_site_county
}
}
}
}
# Once every primary site is taken, may the actor consecrate in a neighbouring province instead? True when a free county-capital barony in realm borders a county that holds one of the actor's primary sites (one candidate per county, keeping the picker focused).
pam_has_free_adjacent_site_trigger = {
save_temporary_scope_as = pam_adjacency_actor
any_realm_province = {
is_county_capital = yes
NOT = { has_travel_point_of_interest = poi_buried_saint }
county = {
any_neighboring_county = {
pam_county_has_actor_primary_site_trigger = { ACTOR = scope:pam_adjacency_actor }
}
}
}
}
# Approval is needed when a Head of Faith exists and it is not the actor.
pam_needs_hof_approval_for_canonization_trigger = {
exists = faith.religious_head
NOT = { faith.religious_head = root }
}
# A Head of Faith who thinks poorly of the actor will not entertain the petition at all. Vacuously true where approval is not sought anyway - no Head of Faith, or the actor holds the office - and for a puppeted Head of Faith, who cannot refuse their puppeteer (mirrors the certain-approval branch in the canonize decision).
pam_hof_thinks_well_of_canonizer_trigger = {
trigger_if = {
limit = {
pam_needs_hof_approval_for_canonization_trigger = yes
NOT = { faith.religious_head.puppeteer ?= root }
}
faith.religious_head ?= {
opinion = {
target = root
value >= high_positive_opinion
}
}
}
}
# Is this burial province within $EXTRACTOR$'s realm (held by them or a vassal/sub-vassal)? EXTRACTOR is passed in because the relic picker runs with root = none.
pam_saint_is_buried_in_my_lands_trigger = {
county.holder ?= {
target_is_same_character_or_above = $EXTRACTOR$
}
}
# Can $EXTRACTOR$ draw another relic from this site? The AI always leaves one relic
# $SAINT$ is the saint being evaluated
pam_can_extract_relic_from_saint_trigger = {
# add_saint deliberately accepts living characters for modders, so the registry can hold one - never offer them as a relic source
$SAINT$ = { is_alive = no }
pam_saint_is_buried_in_my_lands_trigger = { EXTRACTOR = $EXTRACTOR$ }
trigger_if = {
limit = { $EXTRACTOR$ = { is_ai = yes } }
$SAINT$ = {
remaining_saint_relics > 1
}
}
trigger_else = {
$SAINT$ = {
remaining_saint_relics > 0
}
}
}
# Relic picker is_item_valid helper (scope = picked saint): can $EXTRACTOR$ still draw from this saint? Resolve their burial province, then defer to the shared eligibility trigger (prev = the saint).
pam_saint_relic_drawable_trigger = {
saint_burial_location = {
pam_can_extract_relic_from_saint_trigger = { EXTRACTOR = $EXTRACTOR$ SAINT = prev }
}
}
pam_venerated_the_saints_personally_trigger = {
trigger_if = {
limit = { is_alive = yes }
has_personal_tenet_flag = tenet_dulia_personal_sainthood_chance
}
trigger_else = {
has_dead_character_variable = pam_dulia_personal_sainthood
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,65 @@

# Base gate shared by every Secular Faith event.
pam_secular_faith_base_trigger = {
has_pam_dlc_trigger = yes
is_available_adult = yes
}
# The default ambient actor.
pam_secular_faith_landed_actor_trigger = {
pam_secular_faith_base_trigger = yes
is_landed_or_landless_administrative = yes
}
# As above, but also open to clergy rulers (visions, scripture, hermits, etc. make sense for them too).
pam_secular_faith_clergy_ok_actor_trigger = {
pam_secular_faith_base_trigger = yes
is_landed_or_landless_administrative_or_theocratic = yes
}
# Christian-primary convenience gate.
pam_secular_faith_christian_actor_trigger = {
pam_secular_faith_landed_actor_trigger = yes
OR = {
religion = religion:catholic_religion
religion = religion:protestant_religion
religion = religion:eastern_orthodox_religion
religion = religion:oriental_orthodox_religion
}
}
pam_can_adopt_forbidden_personal_tenet_trigger = {
any_desired_tenet = {
only_positive = yes
threshold = 1
selection_count = 97
save_temporary_scope_as = pam_sf_forbidden_candidate
NOT = { root = { any_personal_tenet = { this = scope:pam_sf_forbidden_candidate } } }
root.faith.main_rite = {
has_tenet_status = {
tenet = scope:pam_sf_forbidden_candidate
status = prohibited
}
}
}
}
pam_sf_carnal_art_indian_setting_trigger = {
OR = {
culture = { has_cultural_pillar = heritage_indo_aryan }
culture = { has_cultural_pillar = heritage_dravidian }
location = { geographical_region = world_india }
}
}
pam_poverty_tenets_trigger = {
OR = {
this = tenet:tenet_mendicant_preachers
this = tenet:tenet_vows_of_poverty
this = tenet:tenet_asceticism
this = tenet:tenet_sanctity_of_nature
this = tenet:tenet_communal_possessions
this = tenet:tenet_philanthropia
}
}