N3OW/events/dlc/tgp/tgp_china_yearly_events.txt
2026-05-23 20:45:31 -04:00

1162 lines
24 KiB
Text

#China Yearly Events
namespace = tgp_china_yearly
# tgp_china_yearly.0001 - Charitable Acts
# tgp_china_yearly.0005 - Child mourns the loss of a father
# tgp_china_yearly.0010 - Hack poet peddles supposedly lucky poems
# tgp_china_yearly.0015 - Settle a dispute between a merchant and a peasant
# tgp_china_yearly.0020 - County has unpaid back-taxes
###########################################
# Charitable Acts
# 0001 - 0004
###########################################
tgp_china_yearly.0001 = {
type = character_event
title = tgp_china_yearly.0001.t
desc = tgp_china_yearly.0001.desc
theme = merit
override_background = { reference = tgp_holysite_asia }
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:begging_peasant
animation = beg
outfit_tags = { beggar_rags }
hide_info = yes
}
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
highest_held_title_tier <= tier_kingdom
is_independent_ruler = no
short_term_gold >= medium_gold_value
any_held_county = {
county_control <= 60
root.location.county = this
}
}
immediate = {
random_held_county = {
limit = {
county_control <= 60
root.location.county = this
}
save_scope_as = poor_county
}
create_character = {
template = generic_peasant_character
location = root.location
save_scope_as = begging_peasant
}
}
option = { #Donate money to the poor.
name = tgp_china_yearly.0001.a
flavor = tgp_china_yearly.0001.a.flavor
remove_short_term_gold = medium_gold_value
scope:poor_county = {
change_county_control = 10
}
change_merit = minor_merit_gain
stress_impact = {
greedy = medium_stress_impact_gain
generous = medium_stress_impact_loss
compassionate = medium_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = medium_chance_impact_positive_ai_value
}
modifier = {
OR = {
has_trait = greedy
}
factor = 0
}
modifier = {
short_term_gold <= medium_gold_value
factor = 0
}
}
}
option = { #Beat them back to work!
name = tgp_china_yearly.0001.b
scope:poor_county = {
add_county_modifier = {
modifier = tgp_forced_labor_modifier
years = 5
}
}
random_list = {
80 = {
send_interface_toast = {
type = event_toast_effect_neutral
title = tgp_china_yearly.0001.b.success
add_character_modifier = {
modifier = tgp_lowborn_chastiser_modifier
years = 5
}
}
}
20 = {
send_interface_toast = {
type = event_toast_effect_good
title = tgp_china_yearly.0001.b.critical
add_character_modifier = {
modifier = tgp_lowborn_tenderizer_modifier
years = 5
}
}
}
}
stress_impact = {
greedy = medium_stress_impact_loss
generous = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = medium_chance_impact_positive_ai_value
ai_zeal = tiny_chance_impact_positive_ai_value
}
modifier = {
OR = {
has_trait = generous
has_trait = compassionate
}
factor = 0
}
}
}
option = { #I'm not learned enough to settle this.
name = tgp_china_yearly.0001.c
flavor = tgp_china_yearly.0001.c.flavor
trigger = {
OR = {
has_trait_xp = {
trait = confucian_education
value < 100
}
NOT = { has_trait = confucian_education }
}
}
#Add small amount of Confucian Education trait. If root does not have the trait, add stress.
if = {
limit = {
has_trait = confucian_education
}
add_trait_xp = {
trait = confucian_education
value = lifestyle_confucian_education_xp_gain_minor_value
}
}
else = {
stress_impact = {
base = miniscule_stress_impact_gain
lazy = medium_stress_impact_loss
diligent = medium_stress_impact_gain
}
custom_description_no_bullet = { text = tgp_china_yearly_no_education }
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = tiny_chance_impact_positive_ai_value
}
modifier = {
has_trait = diligent
factor = 0
}
}
}
option = { #These worldly matters are beneath me.
name = tgp_china_yearly.0001.d
trigger = {
has_trait_xp = {
trait = confucian_education
value = 100
}
}
add_stress = medium_stress_impact_loss
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = tiny_chance_impact_positive_ai_value
}
}
}
}
###########################################
# Child mourns the loss of a parent
# 0005 - 0009
###########################################
tgp_china_yearly.0005 = {
type = character_event
title = tgp_china_yearly.0005.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:messenger = { is_knight = yes }
}
desc = tgp_china_yearly.0005.knight
}
desc = tgp_china_yearly.0005.eunuch
}
desc = tgp_china_yearly.0005.outro
}
theme = merit
override_background = { reference = courtyard }
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:grieving_child
animation = beg
}
lower_right_portrait = scope:messenger
lower_center_portrait = scope:guardian
cooldown = { years = 5 }
trigger = {
is_ai = no
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
highest_held_title_tier <= tier_kingdom
is_independent_ruler = no
any_held_county = { development_level <= terrible_development_level }
OR = {
any_courtier_or_guest = {
is_available_ai_adult = yes
}
number_of_knights > 0
}
}
immediate = {
every_pool_character = {
province = root.location
limit = {
age = { 6 12 }
num_of_good_genetic_traits >= 1
num_of_bad_genetic_traits >= 1
any_parent = {
count = all
is_alive = no
}
}
save_scope_as = grieving_child
}
if = {
limit = {
NOT = { exists = scope:grieving_child }
}
hidden_effect = {
#Create orphan.
create_character = {
template = tgp_orphan_character
location = root.location
save_scope_as = grieving_child
}
#Orphan needs dead parents (sorry).
create_character = {
template = generic_peasant_character
location = root.location
gender = female
age = { 25 27 }
save_scope_as = orphan_mother
}
create_character = {
template = generic_peasant_character
location = root.location
gender = male
age = { 29 33 }
save_scope_as = orphan_father
}
scope:grieving_child = {
set_mother = scope:orphan_mother
set_father = scope:orphan_father
}
scope:orphan_mother ?= {
silent_disappearance_effect = yes
}
scope:orphan_father ?= {
silent_disappearance_effect = yes
}
}
}
else = {
scope:grieving_child.mother ?= {
save_scope_as = orphan_mother
}
scope:grieving_child.father ?= {
save_scope_as = orphan_father
}
}
#Is mentioned parent woman or man?
if = {
limit = {
faith = { has_doctrine = doctrine_gender_equal }
}
random_list = {
50 = {
scope:orphan_mother ?= { save_scope_as = parent }
}
50 = {
scope:orphan_father ?= { save_scope_as = parent }
}
}
}
else_if = {
limit = {
faith = { has_doctrine = doctrine_gender_female_dominated }
}
scope:orphan_mother ?= { save_scope_as = parent }
}
else_if = {
limit = {
faith = { has_doctrine = doctrine_gender_male_dominated }
}
scope:orphan_father ?= { save_scope_as = parent }
}
#Find suitable guardian.
random_courtier = {
limit = {
is_available_ai_adult = yes
num_of_relation_ward < 2
save_temporary_scope_as = compare_character
scope:grieving_child = { has_ward_guardian_education_match_compare_character_trigger = yes } #Get same education
}
alternative_limit = {
is_available_ai_adult = yes
num_of_relation_ward < 2
} #Get backup
save_scope_as = guardian
}
#Find eunuch to bring you the child.
random_courtier = {
limit = {
has_court_position = chief_eunuch_court_position
is_available_ai_adult = yes
}
save_scope_as = messenger
}
#if no eunuch, find knight
if = {
limit = {
NOT = { exists = scope:messenger }
}
random_knight = {
limit = { has_trait = compassionate }
save_scope_as = messenger
}
}
#if no knight, find anyone
if = {
limit = {
NOT = { exists = scope:messenger }
}
random_courtier_or_guest = {
limit = {
is_available_ai_adult = yes
}
save_scope_as = messenger
}
}
}
option = { #I will find a suitable custodian.
name = tgp_china_yearly.0005.a
trigger = { exists = scope:guardian }
scope:grieving_child = {
set_relation_guardian = scope:guardian
}
add_prestige = medium_prestige_gain
change_influence = major_influence_loss
add_courtier = scope:grieving_child
stress_impact = {
compassionate = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = tiny_chance_impact_positive_ai_value
ai_greed = tiny_chance_impact_negative_ai_value
}
modifier = {
has_trait = callous
factor = 0
}
}
}
option = { #The child cannot honor their father if we take them in.
name = tgp_china_yearly.0005.b
change_merit = minor_merit_gain
stress_impact = {
compassionate = medium_stress_impact_gain
callous = medium_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
ai_energy = tiny_chance_impact_positive_ai_value
}
modifier = {
add = 15
has_trait = callous
}
modifier = {
has_trait = compassionate
factor = 0
}
}
}
option = { #I am not ready to decide on this.
name = tgp_china_yearly.0005.c
flavor = tgp_china_yearly.0005.c.flavor
trigger = {
OR = {
has_trait_xp = {
trait = confucian_education
value < 100
}
NOT = { has_trait = confucian_education }
}
}
#Add small amount of Confucian Education trait. If root does not have the trait, add stress.
if = {
limit = {
has_trait = confucian_education
}
add_trait_xp = {
trait = confucian_education
value = lifestyle_confucian_education_xp_gain_minor_value
}
}
else = {
stress_impact = {
base = miniscule_stress_impact_gain
lazy = medium_stress_impact_loss
diligent = medium_stress_impact_gain
}
custom_description_no_bullet = { text = tgp_china_yearly_no_education }
}
scope:grieving_child = {
silent_disappearance_effect = yes
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = tiny_chance_impact_positive_ai_value
}
modifier = {
has_trait = compassionate
has_trait = diligent
factor = 0
}
modifier = {
add = 10
has_trait = callous
}
}
}
option = { #We cannot lord over life and death.
name = tgp_china_yearly.0005.d
trigger = {
has_trait_xp = {
trait = confucian_education
value = 100
}
}
add_stress = medium_stress_impact_loss
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = tiny_chance_impact_positive_ai_value
}
}
}
}
###########################################
# Hack poet peddles supposedly lucky poems
# 0010 - 0014
###########################################
tgp_china_yearly.0010 = {
type = character_event
title = tgp_china_yearly.0010.t
desc = tgp_china_yearly.0010.desc
theme = merit
override_background = { reference = market }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:starving_lowborn
animation = obsequious_bow
}
cooldown = { years = 5 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
highest_held_title_tier <= tier_kingdom
is_independent_ruler = no
is_ai = no
}
immediate = {
create_character = {
template = generic_peasant_character
location = root.location
trait = deceitful
trait = fickle
trait = eccentric
age = { 21 35 }
save_scope_as = starving_lowborn
}
hidden_effect = {
scope:starving_lowborn ?= {
change_current_weight = -75
}
scope:starving_lowborn ?= {
random_list = {
30 = {
add_trait = physique_good_1
}
30 = {
add_trait = beauty_good_1
}
30 = {
add_trait = intellect_good_1
}
10 = {
add_trait = shrewd
}
}
}
}
}
option = { #Banish him.
name = tgp_china_yearly.0010.a
custom_tooltip = tgp_china_yearly.0010.a.tt
add_dread = minor_dread_gain
change_merit = minor_merit_gain
scope:starving_lowborn = {
silent_disappearance_effect = yes
}
stress_impact = {
zealous = medium_stress_impact_loss
callous = minor_stress_impact_loss
}
}
option = { #Hire him. He could prove useful.
name = tgp_china_yearly.0010.b
add_courtier = scope:starving_lowborn
add_character_modifier = {
modifier = tgp_recruited_charlatan_modifier
years = 5
}
stress_impact = { ambitious = medium_stress_impact_loss }
}
option = { #I wonder what the books say about this.
name = tgp_china_yearly.0010.c
trigger = {
OR = {
has_trait_xp = {
trait = confucian_education
value < 100
}
NOT = { has_trait = confucian_education }
}
}
#Add small amount of Confucian Education trait. If root does not have the trait, add stress.
if = {
limit = {
has_trait = confucian_education
}
add_trait_xp = {
trait = confucian_education
value = lifestyle_confucian_education_xp_gain_minor_value
}
}
else = {
stress_impact = {
base = miniscule_stress_impact_gain
lazy = medium_stress_impact_loss
diligent = medium_stress_impact_gain
}
custom_description_no_bullet = { text = tgp_china_yearly_no_education }
}
scope:starving_lowborn = {
silent_disappearance_effect = yes
}
}
option = { #I have more important matters to attend.
name = tgp_china_yearly.0010.d
trigger = {
has_trait_xp = {
trait = confucian_education
value = 100
}
}
add_stress = medium_stress_impact_loss
}
}
###########################################
# Settle a dispute between a merchant and a peasant
# 0015 - 0019
###########################################
tgp_china_yearly.0015 = {
type = character_event
title = tgp_china_yearly.0015.t
desc = tgp_china_yearly.0015.desc
theme = merit
override_background = { reference = market }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:market_vendor
animation = disapproval
}
lower_right_portrait = { character = scope:traveling_merchant }
cooldown = { years = 5 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
highest_held_title_tier <= tier_kingdom
is_independent_ruler = no
}
immediate = {
create_character = {
template = merchant_template
location = root.location
culture = root.culture
faith = root.faith
trait = honest
trait = diligent
trait = honest
save_scope_as = market_vendor
}
create_character = {
template = merchant_template
location = root.location
culture = root.culture
faith = root.faith
trait = gluttonous
trait = greedy
trait = gregarious
save_scope_as = traveling_merchant
}
}
option = { #Drive the merchant out.
name = tgp_china_yearly.0015.a
change_merit = minor_merit_gain
hidden_effect = {
scope:market_vendor = { silent_disappearance_effect = yes }
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = tiny_chance_impact_positive_ai_value
}
}
}
option = { #Allow the merchant to stay, at a cost.
name = tgp_china_yearly.0015.b
add_treasury_or_gold = medium_treasury_or_gold_value
change_merit = minor_merit_loss
stress_impact = {
greedy = medium_stress_loss
diligent = medium_stress_gain
}
hidden_effect = {
if = {
limit = { is_ai = yes }
scope:traveling_merchant = { silent_disappearance_effect = yes }
}
else = {
scope:traveling_merchant = { move_to_pool = yes }
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = medium_chance_impact_positive_ai_value
}
modifier = {
has_trait = diligent
factor = 0
}
}
}
option = { #I sush them so I can meditate on my studies.
name = tgp_china_yearly.0015.c
trigger = {
OR = {
has_trait_xp = {
trait = confucian_education
value < 100
}
NOT = { has_trait = confucian_education }
}
}
#Add small amount of Confucian Education trait. If root does not have the trait, lose stress.
if = {
limit = {
has_trait = confucian_education
}
add_trait_xp = {
trait = confucian_education
value = lifestyle_confucian_education_xp_gain_minor_value
}
}
else = {
stress_impact = {
base = miniscule_stress_impact_gain
lazy = medium_stress_impact_loss
diligent = medium_stress_impact_gain
}
custom_description_no_bullet = { text = tgp_china_yearly_no_education }
}
hidden_effect = {
scope:traveling_merchant = { silent_disappearance_effect = yes }
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = tiny_chance_impact_positive_ai_value
}
modifier = {
has_trait = impatient
has_trait = diligent
factor = 0
}
}
}
option = { #Such a petty squabble.
name = tgp_china_yearly.0015.d
trigger = {
has_trait_xp = {
trait = confucian_education
value = 100
}
}
add_stress = medium_stress_impact_loss
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = tiny_chance_impact_positive_ai_value
}
}
}
after = {
scope:market_vendor = { silent_disappearance_effect = yes }
}
}
###########################################
# County has unpaid back-taxes
# 0020 - 0024
###########################################
tgp_china_yearly.0020 = {
type = character_event
title = tgp_china_yearly.0020.t
desc = tgp_china_yearly.0020.desc
theme = merit
override_background = { reference = tgp_garden_asia }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:tax_official
animation = personality_dishonorable
}
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
highest_held_title_tier <= tier_kingdom
is_independent_ruler = no
any_held_county = {
is_landless_type_title = no
}
}
immediate = {
random_held_county = {
limit = {
is_landless_type_title = no
}
save_scope_as = taxless_county
}
root.liege = {
random_councillor = {
limit = {
has_council_position = councillor_steward
NOT = { this = root }
}
alternative_limit = {
NOT = { this = root }
}
save_scope_as = tax_official
}
save_scope_as = tax_liege
}
}
option = { #Send out the tax collectors.
name = tgp_china_yearly.0020.a
scope:taxless_county = {
change_county_control = medium_county_control_loss
}
scope:tax_liege = {
add_treasury = 50
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 25
}
}
stress_impact = {
ambitious = medium_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 1
}
}
}
option = { #Refuse.
name = tgp_china_yearly.0020.b
change_influence = major_influence_loss
scope:taxless_county = {
add_county_modifier = {
modifier = tgp_unpressed_taxes_modifier
years = 5
}
}
change_merit = minor_merit_gain
stress_impact = {
compassionate = medium_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
}
}
}
}
###########################################
# Governor Appointment Available
# 0030 - 0035
###########################################
#tgp_china_yearly.0030 = {
# type = letter_event
# opening = tgp_china_yearly.0030.t
# desc = {
# first_valid = {
# triggered_desc = {
# trigger = {
# scope:title_offerer = {
# has_council_position = minister_personnel
# }
# }
# desc = tgp_china_yearly.0030.desc_minister_of_personel
# }
# triggered_desc = {
# trigger = {
# scope:title_offerer = {
# has_relation_disciple = root
# }
# }
# desc = tgp_china_yearly.0030.desc_elder
# }
# desc = tgp_china_yearly.0030.desc_fellow_confucian
# }
# desc = tgp_china_yearly.0030.desc_intro_outro
# }
#
# sender = scope:title_offerer
#
# cooldown = { years = 10 }
#
# trigger = {
# is_ai = no
# is_landed = no # gentlefolk only
# # You have enough merit to become duke tier, but not enough to become king tier
# merit_level >= merit_level_expected_duchy_value
# merit_level < merit_level_expected_kingdom_value
# liege = { is_available_ai_adult = yes }
# is_available_healthy_adult = yes
# top_liege = {
# any_vassal = {
# government_has_flag = government_is_celestial
# is_governor = yes
# primary_title = {
# tier = tier_duchy
# current_heir != root
# }
# is_ai = yes
# }
# }
# dynasty != top_liege.dynasty
# }
#
# immediate = {
# top_liege = {
# random_vassal = {
# limit = {
# government_has_flag = government_is_celestial
# is_governor = yes
# primary_title = {
# tier = tier_duchy
# current_heir != root
# }
# is_ai = yes
# }
# save_scope_as = title_holder
# primary_title = { save_scope_as = free_title }
# }
# }
# liege = {
# if = {
# limit = {
# this = title:h_china.holder
# }
# if = {
# limit = {
# any_councillor = {
# is_available_ai_adult = yes
# NOT = {
# any_learning_councillor = { exists = this }
# }
# }
# }
# random_councillor = {
# limit = {
# is_available_ai_adult = yes
# NOT = {
# any_learning_councillor = { exists = this }
# }
# }
# weight = {
# base = 1
# modifier = {
# has_council_position = minister_personnel
# add = 100
# }
# }
# save_scope_as = title_offerer
# }
# }
# else_if = {
# limit = {
# any_relation = {
# type = elder
# is_available = yes
# }
# }
# random_relation = {
# type = elder
# limit = {
# is_available = yes
# }
# save_scope_as = title_offerer
# }
# }
# else = {
# ordered_vassal_or_below = {
# limit = {
# is_available_ai_adult = yes
# has_trait = governor
# NOT = { this = root }
# }
# order_by = {
# value = 0
# if = {
# limit = { has_trait_xp = { trait = confucian_education value >= 50 } }
# add = 5
# }
# if = {
# limit = { has_trait_xp = { trait = confucian_education value >= 75 } }
# add = 25
# }
# if = {
# limit = { has_trait_xp = { trait = confucian_education value >= 100 } }
# add = 100
# }
# }
# save_scope_as = title_offerer
# }
# }
# }
# else = { save_scope_as = title_offerer }
# }
# scope:title_offerer = {
# change_influence = medium_influence_loss
# }
# }
#
# option = { # I graciously accept!
# name = tgp_china_yearly.0030.a
# scope:free_title = {
# change_appointment_investment = {
# target = root
# value = root.automated_nomination_merit_investment_value
# }
# }
# reverse_add_opinion = {
# modifier = pleased_opinion
# target = scope:title_offerer
# opinion = 30
# }
# }
#
# option = { # My education is not yet complete.
# name = tgp_china_yearly.0030.b
# if = {
# limit = {
# NOT = {
# has_trait_xp = {
# trait = confucian_education
# value >= 100
# }
# }
# }
# if = {
# limit = {
# NOT = { has_trait = confucian_education }
# }
# add_trait = confucian_education
# }
# add_trait_xp = {
# trait = confucian_education
# value = lifestyle_confucian_education_xp_gain_medium_value
# }
# }
# else = {
# add_learning_lifestyle_xp = minor_lifestyle_xp
# }
# reverse_add_opinion = {
# modifier = insulted_opinion
# target = scope:title_offerer
# opinion = -20
# }
# }
#}