unfucking the mod

This commit is contained in:
trashmasteruni 2026-01-06 14:25:21 +01:00
parent cbe3fbcda2
commit d887392b56
1167 changed files with 26982 additions and 13 deletions

View file

@ -0,0 +1,552 @@
namespace = fp2_struggle
######################################
# EL CID'S BIZARRE ADVENTURE SYSTEM
# By Hugo Cortell
######################################
fp2_struggle.2045 = {
hidden = yes
trigger = {
is_landless_adventurer = no
}
immediate = {
if = { # Startup changes (give the cid his full nickname when he starts adventuring)
limit = { NOT = { has_character_flag = has_already_begun_travelling } }
remove_nickname = yes
give_nickname = nick_the_cid_campeador
add_character_flag = has_already_begun_travelling # Prevents yearly pulse from stacking up requests
add_character_flag = blocked_from_leaving # Prevents el cid from vacationing in far away lands
}
if = {
limit = { NOT = { has_character_flag = finished_el_cids_travels } } # In case several requests for the event are stacked up
if = { # Being a guest is used as a boolean to check if the character is in an "evaluation" phase or already in a court. DO NOT USE THE GUEST SYSTEM FOR THIS.
limit = {
OR = {
is_pool_guest = yes
is_pool_character = yes
is_foreign_court_guest = yes
}
}
random_county_in_region = { # Naturally biased in favor of larger states
limit = { exists = holder.liege }
weight = {
base = 1
modifier = {
add = 10
holder.liege = { has_relation_friend = root }
}
modifier = {
add = 30
holder.liege = { has_relation_best_friend = root }
}
compare_modifier = {
value = holder.prestige_level
multiplier = 1.5
}
}
region = world_europe_west_iberia # Locks el cid's forced travels to iberia
holder.liege = { trigger_event = fp2_struggle.2051 }
}
}
else = {
if = {
limit = { exists = liege }
liege = { trigger_event = fp2_struggle.2050 } # This is you, you get the event, while el cid gets the "system event"
}
else = {
employer = { trigger_event = fp2_struggle.2050 } # ditto
}
}
}
}
}
#############################################################
# Unease About El Sidi
# By The Content Design Team (And scripted by Hugo Cortell)
#############################################################
scripted_trigger el_cid_too_important_trigger = {
OR = {
any_extended_family_member = { this = scope:fp2_2050_el_cid }
scope:fp2_2050_el_cid = { is_vassal_of = ROOT }
has_relation_best_friend = scope:fp2_2050_el_cid
is_spouse_of = scope:fp2_2050_el_cid
}
}
fp2_struggle.2050 = {
type = character_event
title = {
random_valid = {
triggered_desc = { # Muslim Titles
trigger = { religion = religion:islam_religion }
desc = {
random_valid = {
desc = fp2_struggle.2050.t_muslim_one
desc = fp2_struggle.2050.t_muslim_two
desc = fp2_struggle.2050.t_muslim_three
desc = fp2_struggle.2050.t_muslim_four
}
}
}
triggered_desc = { # Generic (Christian, nickname-like) Titles
trigger = { NOT = { religion = religion:islam_religion } }
desc = {
random_valid = {
desc = fp2_struggle.2050.t_generic_one
desc = fp2_struggle.2050.t_generic_two
desc = fp2_struggle.2050.t_generic_three
desc = fp2_struggle.2050.t_generic_four
}
}
}
}
}
desc = { # See immediate for flags
first_valid = {
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:generic_court }
desc = fp2_struggle.2050.desc_court
}
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:jelly_knights }
desc = fp2_struggle.2050.desc_knights
}
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:upset_nobles }
desc = fp2_struggle.2050.desc_nobles
}
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:faith_discomfort }
desc = fp2_struggle.2050.desc_faith
}
desc = board_games.0001.desc.i_am_winning.trait.rowdy # Theoretically impossible to trigger, but if something breaks, players will see this and report it for sure
}
}
theme = corruption
override_background = { reference = throne_room }
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:fp2_2050_el_cid
animation = throne_room_two_handed_passive_1
}
immediate = {
character:107590 = { save_scope_as = fp2_2050_el_cid }
random_list = { # Spin the wheel to decide who and why wishes ill on el cid
10 = { # Generic "the court thinks he is bad"
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:generic_court
}
}
10 = { # Your knights are all sore losers
modifier = {
add = 30
any_knight = {
OR = {
has_relation_rival = scope:fp2_2050_el_cid
has_relation_nemesis = scope:fp2_2050_el_cid
}
}
}
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:jelly_knights
}
}
10 = { # Nobles dislike upstart poor people
modifier = {
add = 30
any_vassal = {
OR = {
has_relation_rival = scope:fp2_2050_el_cid
has_relation_nemesis = scope:fp2_2050_el_cid
}
}
}
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:upset_nobles
}
}
10 = { # Generic faith concerns from your bishop
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:faith_discomfort
}
}
}
}
option = { # Family, Friend or Vassal
name = fp2_struggle.2050.a
trigger = { el_cid_too_important_trigger = yes }
hidden_effect = {
scope:fp2_2050_el_cid = { add_character_flag = finished_el_cids_travels } # At this point we can imagine that this character has settled, this stops the cycle to prevent spam
}
custom_tooltip = fp2_struggle.2050.a.serve_tooltip
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
reverse_add_opinion = {
target = scope:fp2_2050_el_cid
modifier = stood_by_me_opinion
opinion = 10
years = 20
}
}
stress_impact = {
fickle = minor_stress_impact_gain
}
ai_chance = { base = 1000 }
}
option = { # No, I stand by my knight and he can stay!
name = fp2_struggle.2050.b
trigger = {
is_ai = no
NOT = { scope:fp2_2050_el_cid = { is_vassal_of = ROOT } }
}
custom_tooltip = fp2_struggle.2050.a.serve_tooltip
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:generic_court }
add_character_modifier = {
modifier = fp2_kept_accused_traitor_in_court_modifier
years = 10
}
}
else_if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:jelly_knights }
add_character_modifier = {
modifier = fp2_kept_op_knight_in_court_modifier
years = 10
}
}
else_if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:upset_nobles }
add_character_modifier = {
modifier = fp2_kept_upstart_knight_in_court_modifier
years = 10
}
}
else_if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:faith_discomfort }
add_character_modifier = {
modifier = fp2_kept_godless_mercenary_in_court_modifier
years = 10
}
}
reverse_add_opinion = {
target = scope:fp2_2050_el_cid
modifier = stood_by_me_opinion
opinion = 10
years = 20
}
scope:fp2_2050_el_cid = {
trigger_event = {
id = fp2_struggle.2045
years = { 4 12 }
}
}
}
stress_impact = {
fickle = minor_stress_impact_gain
}
}
option = { # Okay, please do not give me malus
name = fp2_struggle.2050.c
trigger = {
NOT = { scope:fp2_2050_el_cid = { is_vassal_of = ROOT } }
}
send_interface_toast = {
type = event_toast_effect_bad
title = fp2_struggle.2051.t
right_icon = scope:fp2_2050_el_cid
scope:fp2_2050_el_cid = {
move_to_pool = yes
trigger_event = {
id = fp2_struggle.2045
days = { 1 4 }
}
}
}
stress_impact = {
generous = minor_stress_impact_gain
}
ai_chance = { base = 1 }
}
option = { # Vanish el cid, even though he is your vassal (suggested by Max)
name = fp2_struggle.2050.c
trigger = {
is_ai = no
scope:fp2_2050_el_cid = { is_vassal_of = ROOT }
}
# The only reason to ever select this option is to gain those "repossessed" lands, but it is very mean.
# It will give you tyranny, but it won't directly anger your vassals as they are *narratively* the reason why this is happening.
# The primary reason this exists is to prevent ludonarrative dissonance with the event's description. It is less resource intensive than making new loc.
# We set the tyranny and opinion loss based on how much was lost (Placed outside the toast to prevent clutter)
add_tyranny = {
value = medium_tyranny_gain
multiply = scope:fp2_2050_el_cid.primary_title.tier
}
if = {
limit = { can_set_relation_rival_trigger = { CHARACTER = scope:fp2_2050_el_cid } }
set_relation_rival = scope:fp2_2050_el_cid
}
if = { # This is not out of order, it is WAD. If can_set_relation_rival_trigger fails, you just lose a friend but not gain a rival.
limit = { has_relation_friend = scope:fp2_2050_el_cid }
remove_relation_friend = scope:fp2_2050_el_cid
}
if = {
limit = { scope:fp2_2050_el_cid.primary_title.tier < tier_kingdom }
scope:fp2_2050_el_cid = {
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -100
}
}
}
else = {
scope:fp2_2050_el_cid = {
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -200
}
}
}
create_title_and_vassal_change = { # This tells the engine to start paying closer attention to title changes (and not butt in)
type = revoked
save_scope_as = change
}
scope:fp2_2050_el_cid = {
every_held_title = {
change_title_holder = {
holder = root
change = scope:change
}
}
}
resolve_title_and_vassal_change = scope:change # Tells the engine that it is safe to go about its buisness with titles
show_as_tooltip = { scope:fp2_2050_el_cid = { move_to_pool = yes } } # Just jomini things~
hidden_effect = { # Prevents rendering of toast on option highlight
send_interface_toast = {
type = event_toast_effect_bad
title = fp2_struggle.2051.t
right_icon = scope:fp2_2050_el_cid
show_as_tooltip = { # Condensed version to fit into the toast
if = {
limit = { scope:fp2_2050_el_cid.primary_title.tier > tier_duchy }
scope:fp2_2050_el_cid = {
if = {
limit = { has_relation_nemesis = ROOT }
set_relation_nemesis = ROOT
}
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -200
}
}
}
else = {
if = {
limit = { has_relation_rival = ROOT }
set_relation_rival = ROOT
}
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -100
}
}
}
# Standard stuff
scope:fp2_2050_el_cid = {
move_to_pool = yes
trigger_event = {
id = fp2_struggle.2045
days = { 1 4 }
}
}
}
}
stress_impact = { # This kind of action comes with quite a bit of stress
generous = minor_stress_impact_gain
brave = medium_stress_impact_gain
forgiving = major_stress_impact_gain
gregarious = medium_stress_impact_gain
honest = minor_stress_impact_gain
humble = medium_stress_impact_gain
just = major_stress_impact_gain
trusting = medium_stress_impact_gain
compassionate = major_stress_impact_gain
august = minor_stress_impact_gain
gallant = medium_stress_impact_gain
}
}
}
############################################################
# El Cid Arrives At Your Court
# By The Content Design Team (And scripted by Hugo Cortell)
############################################################
fp2_struggle.2051 = {
type = character_event
title = fp2_struggle.2051.t
desc = fp2_struggle.2051.desc
theme = vassal
override_background = { reference = throne_room }
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:fp2_2050_el_cid
animation = throne_room_one_handed_passive_1
}
immediate = {
character:107590 = { save_scope_as = fp2_2050_el_cid }
add_visiting_courtier = scope:fp2_2050_el_cid
}
option = { # You will enjoy a high position at my court!
name = fp2_struggle.2051.a
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
pay_treasury_or_gold = {
target = scope:fp2_2050_el_cid
value = medium_treasury_or_gold_value
}
add_courtier = scope:fp2_2050_el_cid
}
if = {
limit = { exists = cp:councillor_marshal }
fire_councillor = cp:councillor_marshal
}
assign_councillor_type = {
type = councillor_marshal
target = scope:fp2_2050_el_cid
}
scope:fp2_2050_el_cid = {
add_opinion = {
target = root
modifier = hired_me_opinion
opinion = 20
}
add_opinion = {
target = root
modifier = given_luxuries_opinion
opinion = 10
}
trigger_event = {
id = fp2_struggle.2045
years = { 4 12 }
}
}
trigger = { is_ai = no }
}
option = { # Welcome or whatever
name = fp2_struggle.2051.b
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
pay_treasury_or_gold = {
target = scope:fp2_2050_el_cid
value = minor_treasury_or_gold_value
}
add_courtier = scope:fp2_2050_el_cid
}
scope:fp2_2050_el_cid = {
trigger_event = {
id = fp2_struggle.2045
years = { 4 10 }
}
}
ai_chance = { base = 65 }
}
option = { # Away with you vile beggar!
name = fp2_struggle.2051.c
send_interface_toast = {
type = event_toast_effect_bad
title = fp2_struggle.2051.t
right_icon = scope:fp2_2050_el_cid
custom_tooltip = fp2_struggle.2050.c.notif
scope:fp2_2050_el_cid = {
move_to_pool = yes
trigger_event = {
id = fp2_struggle.2045
days = { 1 4 }
}
}
}
ai_chance = { base = 45 }
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,365 @@
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_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 }
}
}
}
}
}