This commit is contained in:
Heidesommer 2026-05-26 08:04:35 -04:00
parent 72b0ebb938
commit 29b8e19ef6
58 changed files with 24636 additions and 24387 deletions

File diff suppressed because it is too large Load diff

View file

@ -668,7 +668,7 @@ fp2_other_decisions.0001 = {
# faith = {
# OR = {
# portrait_religious_faith_or_foundational_trigger = { FAITH = faith:mozarabic_church }
# portrait_religious_faith_or_foundational_trigger = { FAITH = faith:catholic }
# portrait_religious_faith_or_foundational_trigger = { faith = faith:roman_catholic }
# }
# }
# }

View file

@ -31,412 +31,412 @@
## 3011 - 3020 Order of the Hatchet by Veronica Pazos
## 3021 - 3030 The Wrath of Heaven by Veronica Pazos
###################################################################################
# Setting AI Intent
fp2_struggle.0003 = {
hidden = yes
scope = none
scope = struggle
trigger = { # Should not need this, but, redundancy check!
exists = struggle:iberian_struggle
struggle:iberian_struggle = { any_involved_ruler = { } } # For when the conflict is ongoing but nobody is left to fight it
}
immediate = {
# prepare needed variables; they will be destroyed at the end of the immediate
set_variable = {
name = agents_for_escalation
value = 0
}
set_variable = {
name = agents_for_deescalation
value = 0
}
# Go through the characters to distribute them between the potential transitions
struggle:iberian_struggle = {
every_involved_ruler = {
limit = { is_alive = yes }
#######################
# Play cue track
######################
if = {
limit = { is_ai = no }
play_music_cue = "mx_Struggle_Opening"
}
#######################
# Check existing flags
######################
if = {
limit = { has_character_flag = agenda_towards_escalation }
root = {
change_variable = {
name = agents_for_escalation
add = 1
}
}
}
else_if = {
limit = { has_character_flag = agenda_towards_deescalation }
root = {
change_variable = {
name = agents_for_deescalation
add = 1
}
}
}
else = { # Set a flag
#############################
# Current Phase: Opportunity
#############################
if = {
limit = { root = { is_struggle_phase = struggle_iberia_phase_opportunity } }
random_list = {
# Working towards Hostility
# It should be for characters looking for direct conflicts and domination, with the will and ability to expand their realms
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = hostility
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Conciliation
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = conciliation
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
#############################
# Current Phase: Hostility
#############################
if = {
limit = { root = { is_struggle_phase = struggle_iberia_phase_hostility } }
random_list = {
# Working towards Hostility: it means that the character wants to stay in
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = hostility
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Compromise
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = compromise
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
#############################
# Current Phase: Compromise
#############################
if = {
limit = { root = { is_struggle_phase = struggle_iberia_phase_compromise } }
random_list = {
# Working towards Opportunity
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = opportunity
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Compromise: they want to stay in the same phase
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = compromise
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
#############################
# Current Phase: Conciliation
#############################
if = {
limit = { root = { is_struggle_phase = struggle_iberia_phase_conciliation } }
random_list = {
# Working towards Compromise
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = compromise
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Conciliation: they want to stay in the same phase
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = conciliation
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
}
}
}
# Clean variables
remove_variable = agents_for_escalation
remove_variable = agents_for_deescalation
}
}
# Set AI Intent on join
fp2_struggle.004 = {
hidden = yes
scope = none
immediate = {
set_variable = {
name = agents_for_escalation
value = 0
}
set_variable = {
name = agents_for_deescalation
value = 0
}
############################
# Update the variables
############################
every_character_struggle = {
every_involved_ruler = {
limit = { is_alive = yes }
if = {
limit = { has_character_flag = agenda_towards_escalation }
root = {
change_variable = {
name = agents_for_escalation
add = 1
}
}
}
else_if = {
limit = { has_character_flag = agenda_towards_deescalation }
root = {
change_variable = {
name = agents_for_deescalation
add = 1
}
}
}
}
}
if = {
limit = {
NOR = {
has_character_flag = agenda_towards_escalation
has_character_flag = agenda_towards_deescalation
}
}
#############################
# Current Phase: Opportunity
#############################
if = {
limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_opportunity } }
random_list = {
# Working towards Hostility
# It should be for characters looking for direct conflicts and domination, with the will and ability to expand their realms
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = hostility
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Conciliation
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = conciliation
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
#############################
# Current Phase: Hostility
#############################
if = {
limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_hostility } }
random_list = {
# Working towards Hostility: it means that the character wants to stay in
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = hostility
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Compromise
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = compromise
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
#############################
# Current Phase: Compromise
#############################
if = {
limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_compromise } }
random_list = {
# Working towards Opportunity
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = opportunity
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Compromise: they want to stay in the same phase
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = compromise
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
#############################
# Current Phase: Conciliation
#############################
if = {
limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_conciliation } }
random_list = {
# Working towards Compromise
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = compromise
INTENT = escalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = escalation
}
}
# Working towards Conciliation: they want to stay in the same phase
100 = {
# Odds modifiers
fp2_struggle_set_ai_agenda_common_modifiers = {
PHASE = conciliation
INTENT = deescalation
}
# Apply effects
fp2_struggle_apply_ai_agenda_effect = {
INTENT = deescalation
}
}
}
}
}
# Clean variables
remove_variable = agents_for_escalation
remove_variable = agents_for_deescalation
}
}
#
## Setting AI Intent
#fp2_struggle.0003 = {
# hidden = yes
# scope = none
# scope = struggle
#
# trigger = { # Should not need this, but, redundancy check!
# exists = struggle:iberian_struggle
# struggle:iberian_struggle = { any_involved_ruler = { } } # For when the conflict is ongoing but nobody is left to fight it
# }
#
# immediate = {
# # prepare needed variables; they will be destroyed at the end of the immediate
# set_variable = {
# name = agents_for_escalation
# value = 0
# }
# set_variable = {
# name = agents_for_deescalation
# value = 0
# }
#
# # Go through the characters to distribute them between the potential transitions
# struggle:iberian_struggle = {
# every_involved_ruler = {
# limit = { is_alive = yes }
# #######################
# # Play cue track
# ######################
# if = {
# limit = { is_ai = no }
# play_music_cue = "mx_Struggle_Opening"
# }
#
# #######################
# # Check existing flags
# ######################
# if = {
# limit = { has_character_flag = agenda_towards_escalation }
# root = {
# change_variable = {
# name = agents_for_escalation
# add = 1
# }
# }
# }
# else_if = {
# limit = { has_character_flag = agenda_towards_deescalation }
# root = {
# change_variable = {
# name = agents_for_deescalation
# add = 1
# }
# }
# }
# else = { # Set a flag
# #############################
# # Current Phase: Opportunity
# #############################
# if = {
# limit = { root = { is_struggle_phase = struggle_iberia_phase_opportunity } }
# random_list = {
# # Working towards Hostility
# # It should be for characters looking for direct conflicts and domination, with the will and ability to expand their realms
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = hostility
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Conciliation
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = conciliation
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
#
# #############################
# # Current Phase: Hostility
# #############################
# if = {
# limit = { root = { is_struggle_phase = struggle_iberia_phase_hostility } }
# random_list = {
# # Working towards Hostility: it means that the character wants to stay in
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = hostility
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Compromise
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = compromise
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
#
# #############################
# # Current Phase: Compromise
# #############################
# if = {
# limit = { root = { is_struggle_phase = struggle_iberia_phase_compromise } }
# random_list = {
#
# # Working towards Opportunity
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = opportunity
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Compromise: they want to stay in the same phase
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = compromise
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
#
# #############################
# # Current Phase: Conciliation
# #############################
# if = {
# limit = { root = { is_struggle_phase = struggle_iberia_phase_conciliation } }
# random_list = {
# # Working towards Compromise
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = compromise
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Conciliation: they want to stay in the same phase
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = conciliation
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
# }
# }
# }
#
# # Clean variables
# remove_variable = agents_for_escalation
# remove_variable = agents_for_deescalation
# }
#}
#
## Set AI Intent on join
#fp2_struggle.004 = {
# hidden = yes
# scope = none
#
# immediate = {
# set_variable = {
# name = agents_for_escalation
# value = 0
# }
# set_variable = {
# name = agents_for_deescalation
# value = 0
# }
#
# ############################
# # Update the variables
# ############################
# every_character_struggle = {
# every_involved_ruler = {
# limit = { is_alive = yes }
# if = {
# limit = { has_character_flag = agenda_towards_escalation }
# root = {
# change_variable = {
# name = agents_for_escalation
# add = 1
# }
# }
# }
# else_if = {
# limit = { has_character_flag = agenda_towards_deescalation }
# root = {
# change_variable = {
# name = agents_for_deescalation
# add = 1
# }
# }
# }
# }
# }
#
# if = {
# limit = {
# NOR = {
# has_character_flag = agenda_towards_escalation
# has_character_flag = agenda_towards_deescalation
# }
# }
#
# #############################
# # Current Phase: Opportunity
# #############################
# if = {
# limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_opportunity } }
# random_list = {
# # Working towards Hostility
# # It should be for characters looking for direct conflicts and domination, with the will and ability to expand their realms
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = hostility
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Conciliation
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = conciliation
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
#
# #############################
# # Current Phase: Hostility
# #############################
# if = {
# limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_hostility } }
# random_list = {
# # Working towards Hostility: it means that the character wants to stay in
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = hostility
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Compromise
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = compromise
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
#
# #############################
# # Current Phase: Compromise
# #############################
# if = {
# limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_compromise } }
# random_list = {
#
# # Working towards Opportunity
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = opportunity
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Compromise: they want to stay in the same phase
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = compromise
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
#
# #############################
# # Current Phase: Conciliation
# #############################
# if = {
# limit = { any_character_struggle = { is_struggle_phase = struggle_iberia_phase_conciliation } }
# random_list = {
# # Working towards Compromise
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = compromise
# INTENT = escalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = escalation
# }
# }
# # Working towards Conciliation: they want to stay in the same phase
# 100 = {
# # Odds modifiers
# fp2_struggle_set_ai_agenda_common_modifiers = {
# PHASE = conciliation
# INTENT = deescalation
# }
#
# # Apply effects
# fp2_struggle_apply_ai_agenda_effect = {
# INTENT = deescalation
# }
# }
# }
# }
# }
#
# # Clean variables
# remove_variable = agents_for_escalation
# remove_variable = agents_for_deescalation
# }
#}
###################################
# Iberian Struggle Intro Events

File diff suppressed because it is too large Load diff

View file

@ -1,365 +1,366 @@
namespace = neutral_struggle
##################################################
# MAINTENANCE EVENTS
##################################################
# Activate Passing of Time
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################
neutral_struggle.0001 = {
hidden = yes
scope = struggle
immediate = {
# Passage of Time catalyst ticks towards default phases.
if = {
limit = { phase_has_catalyst = catalyst_passing_of_time }
activate_struggle_catalyst = catalyst_passing_of_time
}
# Other time-based catalysts.
## Missing the Arabian Empire or Sunni Caliphate.
if = {
limit = {
OR = {
NOT = { exists = title:e_arabia.holder }
NOT = { exists = title:d_sunni.holder }
}
}
if = {
limit = { phase_has_catalyst = catalyst_missing_caliphate_or_arabian_empire }
activate_struggle_catalyst = catalyst_missing_caliphate_or_arabian_empire
log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_missing_caliphate_or_arabian_empire }
}
}
# House Unity catalysts.
## Disharmonious houses.
if = {
limit = {
OR = {
phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_major
phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_medium
phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_minor
phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_minimal
}
}
# Calc how many relevant houses are in a bit of a state.
save_scope_value_as = {
name = antagonistic_influential_house_check
value = {
every_involved_ruler = {
limit = {
house ?= {
house_head = prev
has_house_unity_stage = antagonistic
}
}
add = 1
}
}
}
# Right, now we activate different sizes of catalyst depending on how many affected houses we have.
## Major
if = {
limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_major_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_major
log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_major }
}
## Medium
else_if = {
limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_medium_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_medium
log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_medium }
}
## Minor
else_if = {
limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_minor_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_minor
log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_minor }
}
## Minimal
else_if = {
limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_minimal_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_minimal
log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_minimal }
}
}
## Harmonious houses.
if = {
limit = {
OR = {
phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_major
phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_medium
phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_minor
phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_minimal
}
}
every_involved_ruler = {
limit = {
house ?= {
house_head = prev
has_house_unity_stage = harmonious
}
}
house = { add_to_list = harmonious_houses }
}
# Calc how many relevant houses are in a bit of a state.
save_scope_value_as = {
name = harmonious_influential_house_check
value = {
value = 0
every_in_list = {
list = harmonious_houses
add = 1
}
}
}
# Right, now we activate different sizes of catalyst depending on how many affected houses we have.
## Major
if = {
limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_major_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_major
log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_major }
}
## Medium
else_if = {
limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_medium_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_medium
log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_medium }
}
## Minor
else_if = {
limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_minor_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_minor
log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_minor }
}
## Minimal
else_if = {
limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_minimal_control_value }
activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_minimal
log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_minimal }
}
}
# Silk Road
tgp_silk_road_iranian_intermezzo_yearly_effect = yes
# Finally, queue the event up again for a year hence.
trigger_event = {
id = neutral_struggle.0001
years = 1
}
}
}
##################################################
# MAINTENANCE FOR SITUATIONS
#namespace = neutral_struggle
#
namespace = neutral_situation
neutral_situation.0001 = { # CHINA
hidden = yes
scope = situation
trigger = { exists = situation:silk_road_situation }
immediate = {
situation:silk_road_situation.situation_sub_region:region_silk_road_proper_china = { tgp_silk_road_downstream_effect = yes }
# Finally, queue the event up again for a year hence.
trigger_event = {
id = neutral_situation.0002 # Tibet
months = 2
}
}
}
neutral_situation.0002 = { # TIBET
hidden = yes
scope = situation
trigger = { exists = situation:silk_road_situation }
immediate = {
situation:silk_road_situation.situation_sub_region:region_silk_road_proper_tibet = { tgp_silk_road_downstream_effect = yes }
# Finally, queue the event up again for a year hence.
trigger_event = {
id = neutral_situation.0005 # Transcaspia
months = 2
}
}
}
neutral_situation.0003 = { # INDIA
hidden = yes
scope = situation
trigger = { exists = situation:silk_road_situation }
immediate = {
situation:silk_road_situation.situation_sub_region:region_silk_road_proper_india = { tgp_silk_road_downstream_effect = yes }
# Finally, queue the event up again for a year hence.
trigger_event = {
id = neutral_situation.0004 # Central Asia
months = 2
}
}
}
neutral_situation.0004 = { # CENTRAL ASIA
hidden = yes
scope = situation
trigger = { exists = situation:silk_road_situation }
immediate = {
situation:silk_road_situation.situation_sub_region:region_silk_road_proper_central_asia = { tgp_silk_road_downstream_effect = yes }
# Finally, queue the event up again for a year hence.
trigger_event = {
id = neutral_situation.0003 # Tibet
months = 2
}
}
}
neutral_situation.0005 = { # TRANSCASPIA
hidden = yes
scope = situation
trigger = { exists = situation:silk_road_situation }
immediate = {
situation:silk_road_situation.situation_sub_region:region_silk_road_proper_transcaspia = { tgp_silk_road_downstream_effect = yes }
# Finally, queue the event up again for a year hence.
trigger_event = {
id = neutral_situation.0006 # Occident
months = 2
}
}
}
neutral_situation.0006 = { # OCCIDENT
hidden = yes
scope = situation
trigger = { exists = situation:silk_road_situation }
immediate = {
situation:silk_road_situation.situation_sub_region:region_silk_road_proper_occident = { tgp_silk_road_downstream_effect = yes }
# Finally, queue the event up again for a year hence.
trigger_event = {
id = neutral_situation.0001 # China
months = 2
}
}
}
neutral_situation.0007 = { # INNOVATION SETUP
hidden = yes
scope = situation
trigger = { exists = situation:silk_road_situation }
immediate = {
if = {
limit = { has_game_rule = silk_road_starting_innovations_random }
while = {
count = 4
random_culture_innovation = {
limit = {
has_innovation_parameter = silk_road_innovation_parameter
is_known_by_culture = title:c_jingzhao.culture
NOR = {
scope:innovation_1 ?= this
scope:innovation_2 ?= this
scope:innovation_3 ?= this
}
}
if = {
limit = { exists = scope:innovation_3 }
save_scope_as = innovation_4
}
else_if = {
limit = { exists = scope:innovation_2 }
save_scope_as = innovation_3
}
else_if = {
limit = { exists = scope:innovation_1 }
save_scope_as = innovation_2
}
else = { save_scope_as = innovation_1 }
}
}
situation_sub_region:region_silk_road_proper_china = {
set_variable = { name = innovation value = scope:innovation_1 }
}
situation_sub_region:region_silk_road_proper_tibet = {
set_variable = { name = innovation value = scope:innovation_2 }
}
situation_sub_region:region_silk_road_proper_central_asia = {
set_variable = { name = innovation value = scope:innovation_2 }
}
situation_sub_region:region_silk_road_proper_india = {
set_variable = { name = innovation value = scope:innovation_3 }
}
situation_sub_region:region_silk_road_proper_transcaspia = {
set_variable = { name = innovation value = scope:innovation_3 }
}
situation_sub_region:region_silk_road_proper_occident = {
set_variable = { name = innovation value = scope:innovation_4 }
}
}
else = {
if = {
limit = { game_start_date = 867.1.1 }
situation_sub_region:region_silk_road_proper_china = {
set_variable = { name = innovation value = culture_innovation:innovation_dragon_kiln }
}
situation_sub_region:region_silk_road_proper_tibet = {
set_variable = { name = innovation value = culture_innovation:innovation_block_printing }
}
situation_sub_region:region_silk_road_proper_central_asia = {
set_variable = { name = innovation value = culture_innovation:innovation_block_printing }
}
situation_sub_region:region_silk_road_proper_india = {
set_variable = { name = innovation value = culture_innovation:innovation_waterworks }
}
situation_sub_region:region_silk_road_proper_transcaspia = {
set_variable = { name = innovation value = culture_innovation:innovation_waterworks }
}
situation_sub_region:region_silk_road_proper_occident = {
set_variable = { name = innovation value = culture_innovation:innovation_cupellation }
}
}
else_if = {
limit = { game_start_date = 1066.9.15 }
situation_sub_region:region_silk_road_proper_china = {
set_variable = { name = innovation value = culture_innovation:innovation_compass }
}
situation_sub_region:region_silk_road_proper_tibet = {
set_variable = { name = innovation value = culture_innovation:innovation_fire_medicine }
}
situation_sub_region:region_silk_road_proper_central_asia = {
set_variable = { name = innovation value = culture_innovation:innovation_fire_medicine }
}
situation_sub_region:region_silk_road_proper_india = {
set_variable = { name = innovation value = culture_innovation:innovation_champa_rice }
}
situation_sub_region:region_silk_road_proper_transcaspia = {
set_variable = { name = innovation value = culture_innovation:innovation_champa_rice }
}
situation_sub_region:region_silk_road_proper_occident = {
set_variable = { name = innovation value = culture_innovation:innovation_pharmacopoeia }
}
}
else_if = {
limit = { game_start_date = 1178.10.1 }
situation_sub_region:region_silk_road_proper_china = {
set_variable = { name = innovation value = culture_innovation:innovation_grenades }
}
situation_sub_region:region_silk_road_proper_tibet = {
set_variable = { name = innovation value = culture_innovation:innovation_pharmacopoeia }
}
situation_sub_region:region_silk_road_proper_central_asia = {
set_variable = { name = innovation value = culture_innovation:innovation_pharmacopoeia }
}
situation_sub_region:region_silk_road_proper_india = {
set_variable = { name = innovation value = culture_innovation:innovation_coking }
}
situation_sub_region:region_silk_road_proper_transcaspia = {
set_variable = { name = innovation value = culture_innovation:innovation_coking }
}
situation_sub_region:region_silk_road_proper_occident = {
set_variable = { name = innovation value = culture_innovation:innovation_bulkheads }
}
}
}
}
}
###################################################
## MAINTENANCE EVENTS
#
###################################################
## Activate Passing of Time
## by Ewan Cowhig Croft
## 0001 - 0010
###################################################
#
#neutral_struggle.0001 = {
# hidden = yes
# scope = struggle
#
# immediate = {
# # Passage of Time catalyst ticks towards default phases.
# if = {
# limit = { phase_has_catalyst = catalyst_passing_of_time }
# activate_struggle_catalyst = catalyst_passing_of_time
# }
# # Other time-based catalysts.
# ## Missing the Arabian Empire or Sunni Caliphate.
# if = {
# limit = {
# OR = {
# NOT = { exists = title:e_arabia.holder }
# NOT = { exists = title:d_sunni.holder }
# }
# }
# if = {
# limit = { phase_has_catalyst = catalyst_missing_caliphate_or_arabian_empire }
# activate_struggle_catalyst = catalyst_missing_caliphate_or_arabian_empire
# log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_missing_caliphate_or_arabian_empire }
# }
# }
# # House Unity catalysts.
# ## Disharmonious houses.
# if = {
# limit = {
# OR = {
# phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_major
# phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_medium
# phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_minor
# phase_has_catalyst = catalyst_yearly_influential_house_is_antagonistic_minimal
# }
# }
# # Calc how many relevant houses are in a bit of a state.
# save_scope_value_as = {
# name = antagonistic_influential_house_check
# value = {
# every_involved_ruler = {
# limit = {
# house ?= {
# house_head = prev
# has_house_unity_stage = antagonistic
# }
# }
# add = 1
# }
# }
# }
# # Right, now we activate different sizes of catalyst depending on how many affected houses we have.
# ## Major
# if = {
# limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_major_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_major
# log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_major }
# }
# ## Medium
# else_if = {
# limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_medium_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_medium
# log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_medium }
# }
# ## Minor
# else_if = {
# limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_minor_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_minor
# log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_minor }
# }
# ## Minimal
# else_if = {
# limit = { scope:antagonistic_influential_house_check >= catalyst_yearly_influential_house_is_antagonistic_minimal_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_antagonistic_minimal
# log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_yearly_influential_house_is_antagonistic_minimal }
# }
# }
# ## Harmonious houses.
# if = {
# limit = {
# OR = {
# phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_major
# phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_medium
# phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_minor
# phase_has_catalyst = catalyst_yearly_influential_house_is_harmonious_minimal
# }
# }
# every_involved_ruler = {
# limit = {
# house ?= {
# house_head = prev
# has_house_unity_stage = harmonious
# }
# }
# house = { add_to_list = harmonious_houses }
# }
# # Calc how many relevant houses are in a bit of a state.
# save_scope_value_as = {
# name = harmonious_influential_house_check
# value = {
# value = 0
# every_in_list = {
# list = harmonious_houses
# add = 1
# }
# }
# }
# # Right, now we activate different sizes of catalyst depending on how many affected houses we have.
# ## Major
# if = {
# limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_major_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_major
# log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_major }
# }
# ## Medium
# else_if = {
# limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_medium_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_medium
# log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_medium }
# }
# ## Minor
# else_if = {
# limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_minor_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_minor
# log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_minor }
# }
# ## Minimal
# else_if = {
# limit = { scope:harmonious_influential_house_check >= catalyst_yearly_influential_house_is_harmonious_minimal_control_value }
# activate_struggle_catalyst = catalyst_yearly_influential_house_is_harmonious_minimal
# log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_yearly_influential_house_is_harmonious_minimal }
# }
# }
# # Silk Road
# tgp_silk_road_iranian_intermezzo_yearly_effect = yes
#
# # Finally, queue the event up again for a year hence.
# trigger_event = {
# id = neutral_struggle.0001
# years = 1
# }
# }
#}
#
###################################################
## MAINTENANCE FOR SITUATIONS
##
#
#namespace = neutral_situation
#
#neutral_situation.0001 = { # CHINA
# hidden = yes
# scope = situation
# trigger = { exists = situation:silk_road_situation }
# immediate = {
# situation:silk_road_situation.situation_sub_region:region_silk_road_proper_china = { tgp_silk_road_downstream_effect = yes }
# # Finally, queue the event up again for a year hence.
# trigger_event = {
# id = neutral_situation.0002 # Tibet
# months = 2
# }
# }
#}
#
#neutral_situation.0002 = { # TIBET
# hidden = yes
# scope = situation
# trigger = { exists = situation:silk_road_situation }
# immediate = {
# situation:silk_road_situation.situation_sub_region:region_silk_road_proper_tibet = { tgp_silk_road_downstream_effect = yes }
# # Finally, queue the event up again for a year hence.
# trigger_event = {
# id = neutral_situation.0005 # Transcaspia
# months = 2
# }
# }
#}
#
#neutral_situation.0003 = { # INDIA
# hidden = yes
# scope = situation
# trigger = { exists = situation:silk_road_situation }
# immediate = {
# situation:silk_road_situation.situation_sub_region:region_silk_road_proper_india = { tgp_silk_road_downstream_effect = yes }
# # Finally, queue the event up again for a year hence.
# trigger_event = {
# id = neutral_situation.0004 # Central Asia
# months = 2
# }
# }
#}
#
#neutral_situation.0004 = { # CENTRAL ASIA
# hidden = yes
# scope = situation
# trigger = { exists = situation:silk_road_situation }
# immediate = {
# situation:silk_road_situation.situation_sub_region:region_silk_road_proper_central_asia = { tgp_silk_road_downstream_effect = yes }
# # Finally, queue the event up again for a year hence.
# trigger_event = {
# id = neutral_situation.0003 # Tibet
# months = 2
# }
# }
#}
#
#neutral_situation.0005 = { # TRANSCASPIA
# hidden = yes
# scope = situation
# trigger = { exists = situation:silk_road_situation }
# immediate = {
# situation:silk_road_situation.situation_sub_region:region_silk_road_proper_transcaspia = { tgp_silk_road_downstream_effect = yes }
# # Finally, queue the event up again for a year hence.
# trigger_event = {
# id = neutral_situation.0006 # Occident
# months = 2
# }
# }
#}
#
#neutral_situation.0006 = { # OCCIDENT
# hidden = yes
# scope = situation
# trigger = { exists = situation:silk_road_situation }
# immediate = {
# situation:silk_road_situation.situation_sub_region:region_silk_road_proper_occident = { tgp_silk_road_downstream_effect = yes }
# # Finally, queue the event up again for a year hence.
# trigger_event = {
# id = neutral_situation.0001 # China
# months = 2
# }
# }
#}
#
#neutral_situation.0007 = { # INNOVATION SETUP
# hidden = yes
# scope = situation
# trigger = { exists = situation:silk_road_situation }
# immediate = {
# if = {
# limit = { has_game_rule = silk_road_starting_innovations_random }
# while = {
# count = 4
# random_culture_innovation = {
# limit = {
# has_innovation_parameter = silk_road_innovation_parameter
# is_known_by_culture = title:c_jingzhao.culture
# NOR = {
# scope:innovation_1 ?= this
# scope:innovation_2 ?= this
# scope:innovation_3 ?= this
# }
# }
# if = {
# limit = { exists = scope:innovation_3 }
# save_scope_as = innovation_4
# }
# else_if = {
# limit = { exists = scope:innovation_2 }
# save_scope_as = innovation_3
# }
# else_if = {
# limit = { exists = scope:innovation_1 }
# save_scope_as = innovation_2
# }
# else = { save_scope_as = innovation_1 }
# }
# }
# situation_sub_region:region_silk_road_proper_china = {
# set_variable = { name = innovation value = scope:innovation_1 }
# }
# situation_sub_region:region_silk_road_proper_tibet = {
# set_variable = { name = innovation value = scope:innovation_2 }
# }
# situation_sub_region:region_silk_road_proper_central_asia = {
# set_variable = { name = innovation value = scope:innovation_2 }
# }
# situation_sub_region:region_silk_road_proper_india = {
# set_variable = { name = innovation value = scope:innovation_3 }
# }
# situation_sub_region:region_silk_road_proper_transcaspia = {
# set_variable = { name = innovation value = scope:innovation_3 }
# }
# situation_sub_region:region_silk_road_proper_occident = {
# set_variable = { name = innovation value = scope:innovation_4 }
# }
# }
# else = {
# if = {
# limit = { game_start_date = 867.1.1 }
# situation_sub_region:region_silk_road_proper_china = {
# set_variable = { name = innovation value = culture_innovation:innovation_dragon_kiln }
# }
# situation_sub_region:region_silk_road_proper_tibet = {
# set_variable = { name = innovation value = culture_innovation:innovation_block_printing }
# }
# situation_sub_region:region_silk_road_proper_central_asia = {
# set_variable = { name = innovation value = culture_innovation:innovation_block_printing }
# }
# situation_sub_region:region_silk_road_proper_india = {
# set_variable = { name = innovation value = culture_innovation:innovation_waterworks }
# }
# situation_sub_region:region_silk_road_proper_transcaspia = {
# set_variable = { name = innovation value = culture_innovation:innovation_waterworks }
# }
# situation_sub_region:region_silk_road_proper_occident = {
# set_variable = { name = innovation value = culture_innovation:innovation_cupellation }
# }
# }
# else_if = {
# limit = { game_start_date = 1066.9.15 }
# situation_sub_region:region_silk_road_proper_china = {
# set_variable = { name = innovation value = culture_innovation:innovation_compass }
# }
# situation_sub_region:region_silk_road_proper_tibet = {
# set_variable = { name = innovation value = culture_innovation:innovation_fire_medicine }
# }
# situation_sub_region:region_silk_road_proper_central_asia = {
# set_variable = { name = innovation value = culture_innovation:innovation_fire_medicine }
# }
# situation_sub_region:region_silk_road_proper_india = {
# set_variable = { name = innovation value = culture_innovation:innovation_champa_rice }
# }
# situation_sub_region:region_silk_road_proper_transcaspia = {
# set_variable = { name = innovation value = culture_innovation:innovation_champa_rice }
# }
# situation_sub_region:region_silk_road_proper_occident = {
# set_variable = { name = innovation value = culture_innovation:innovation_pharmacopoeia }
# }
# }
# else_if = {
# limit = { game_start_date = 1178.10.1 }
# situation_sub_region:region_silk_road_proper_china = {
# set_variable = { name = innovation value = culture_innovation:innovation_grenades }
# }
# situation_sub_region:region_silk_road_proper_tibet = {
# set_variable = { name = innovation value = culture_innovation:innovation_pharmacopoeia }
# }
# situation_sub_region:region_silk_road_proper_central_asia = {
# set_variable = { name = innovation value = culture_innovation:innovation_pharmacopoeia }
# }
# situation_sub_region:region_silk_road_proper_india = {
# set_variable = { name = innovation value = culture_innovation:innovation_coking }
# }
# situation_sub_region:region_silk_road_proper_transcaspia = {
# set_variable = { name = innovation value = culture_innovation:innovation_coking }
# }
# situation_sub_region:region_silk_road_proper_occident = {
# set_variable = { name = innovation value = culture_innovation:innovation_bulkheads }
# }
# }
# }
# }
#}
#