More rel bugs

This commit is contained in:
Heidesommer 2026-05-23 20:45:31 -04:00
parent 16e7f0de2a
commit c6d5c01c61
125 changed files with 337211 additions and 3069 deletions

View file

@ -144,7 +144,7 @@
OR = {
NOT = { exists = scope:new_landless_adventurer }
scope:new_landless_adventurer ?= {
NOT = { religion = faith:ashari.religion }
NOT = { religion = faith:aqlani.religion }
}
}
}
@ -607,7 +607,7 @@
location = {
geographical_region = world_africa
}
NOT = { religion = faith:ashari.religion }
NOT = { religion = faith:aqlani.religion }
}
}
}
@ -1067,7 +1067,7 @@
OR = {
NOT = { exists = scope:new_landless_adventurer }
scope:new_landless_adventurer ?= {
NOT = { religion = faith:ashari.religion }
NOT = { religion = faith:aqlani.religion }
ai_honor > 0
}
}

File diff suppressed because it is too large Load diff

View file

@ -139,34 +139,61 @@ DeathMessageIntro = {
}
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_ELYSIAN_1
trigger = {
faith = faith:elysian
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_ELYSIAN_2
trigger = {
faith = faith:elysian
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_CHRISTIANITY_1
trigger = {
faith.religion = faith:catholic.religion
OR = {
faith.religion = faith:roman_catholic.religion
faith.religion = faith:lutheran.religion
faith.religion = faith:orthodox.religion
}
NOT = { faith = faith:elysian }
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_CHRISTIANITY_2
trigger = {
faith.religion = faith:catholic.religion
OR = {
faith.religion = faith:roman_catholic.religion
faith.religion = faith:lutheran.religion
faith.religion = faith:orthodox.religion
}
NOT = { faith = faith:elysian }
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_ISLAM_1
trigger = {
faith.religion = faith:ashari.religion
OR = {
faith.religion = faith:roman_catholic.religion
faith.religion = faith:lutheran.religion
faith.religion = faith:orthodox.religion
}
NOT = { faith = faith:elysian }
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_ISLAM_2
trigger = {
faith.religion = faith:ashari.religion
faith.religion = faith:aqlani.religion
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_ISLAM_3
trigger = {
faith.religion = faith:ashari.religion
faith.religion = faith:aqlani.religion
}
}
text = {
@ -191,6 +218,14 @@ DeathMessageIntro = {
}
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_EURO_1
trigger = {
OR = {
faith.religion = faith:mysteriosophy.religion
}
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_INTRO_TRIBAL_1
trigger = {

File diff suppressed because it is too large Load diff

View file

@ -336,7 +336,7 @@ form_rum_sultanate_decision = {
NOT = { OR = { faith.religion = religion:eastern_orthodox_religion faith.religion = religion:catholic_religion faith.religion = religion:protestant_religion } }
OR = {
top_liege = this
top_liege = { faith.religion = faith:ashari.religion }
top_liege = { faith.religion = faith:aqlani.religion }
}
capital_province = {
OR = {

File diff suppressed because it is too large Load diff

View file

@ -265,7 +265,7 @@
holy_order_names = { #placeholder
}
}
}
khurul = { # Kalmyk Buddhism
color = { 191 76 19 }
icon = kalmyk_buddhist
@ -394,133 +394,5 @@
}
}
}
rime = { # Nangchos aka Tibetan Buddhism - syncretic of Mahayana, Vajrayana and native Tibetan elements
color = { 230 200 180 }
icon = lamaism_buddhism
holy_site = kusinagara
holy_site = bodh_gaya
holy_site = lhasa
holy_site = sagya
holy_site = purang
doctrine = doctrine_gender_equal
doctrine = doctrine_polygamy
doctrine = doctrine_adultery_men_accepted
doctrine = doctrine_adultery_women_accepted
doctrine = doctrine_deviancy_accepted
doctrine = doctrine_witchcraft_accepted
# Carried over from pre-Buddhist Tibet. Similar theological motivations as cremation, demonstrating the impermanence of life
doctrine = doctrine_funeral_sky_burial
doctrine = tenet_dharmic_pacifism
doctrine = tenet_monasticism
doctrine = tenet_esotericism
localization = {
ReligiousText = lamaism_religious_text
ReligiousText2 = lamaism_religious_text_2
ReligiousText3 = lamaism_religious_text_3
HouseOfWorship = lamaism_house_of_worship
HouseOfWorship2 = lamaism_house_of_worship_2
HouseOfWorship3 = lamaism_house_of_worship_3
HouseOfWorshipPlural = lamaism_house_of_worship_plural
ReligiousHeadName = lamaism_religious_head_title
DevoteeMale = lamaism_devotee_male
DevoteeMalePlural = lamaism_devotee_male_plural
DevoteeFemale = lamaism_devotee_female
DevoteeFemalePlural = lamaism_devotee_female_plural
DevoteeNeuter = lamaism_devotee_neuter
DevoteeNeuterPlural = lamaism_devotee_neuter_plural
PriestMale = lamaism_priest
PriestMalePlural = lamaism_priest_plural
PriestFemale = lamaism_priest
PriestFemalePlural = lamaism_priest_plural
PriestNeuter = lamaism_priest
PriestNeuterPlural = lamaism_priest_plural
AltPriestTermPlural = lamaism_priest_term_plural
BishopMale = lamaism_bishop
BishopMalePlural = lamaism_bishop_plural
BishopFemale = lamaism_bishop
BishopFemalePlural = lamaism_bishop_plural
BishopNeuter = lamaism_bishop
BishopNeuterPlural = lamaism_bishop_plural
WitchGodName = bon_evil_god_shinje
WitchGodNamePossessive = bon_evil_god_shinje_possessive
WitchGodHerHis = CHARACTER_HERHIS_HIS
WitchGodSheHe = CHARACTER_SHEHE_HE
WitchGodHerHim = CHARACTER_HERHIM_HIM
WitchGodMistressMaster = master
WitchGodMotherFather = father
#Creator
CreatorName = lamaism_creator_god_name
CreatorNamePossessive = lamaism_creator_god_name_possessive
CreatorSheHe = CHARACTER_HERHIM_IT
CreatorHerHis = CHARACTER_HERHIS_ITS
CreatorHerHim = CHARACTER_HERHIM_IT
#HealthGod
HealthGodName = lamaism_health_god_name
HealthGodNamePossessive = lamaism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
#FertilityGod
FertilityGodName = lamaism_fertility_god_name
FertilityGodNamePossessive = lamaism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_HE
FertilityGodHerHis = CHARACTER_HERHIS_HIS
FertilityGodHerHim = CHARACTER_HERHIM_HIM
#WealthGod
WealthGodName = lamaism_wealth_god_name
WealthGodNamePossessive = lamaism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = lamaism_household_god_name
HouseholdGodNamePossessive = lamaism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_SHE
HouseholdGodHerHis = CHARACTER_HERHIS_HER
HouseholdGodHerHim = CHARACTER_HERHIM_HER
#KnowledgeGod
KnowledgeGodName = lamaism_knowledge_god_name
KnowledgeGodNamePossessive = lamaism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = lamaism_war_god_name
WarGodNamePossessive = lamaism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#NightGod
NightGodName = lamaism_night_god_name
NightGodNamePossessive = lamaism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_HE
NightGodHerHis = CHARACTER_HERHIS_HIS
NightGodHerHim = CHARACTER_HERHIM_HIM
#WaterGod
WaterGodName = lamaism_water_god_name
WaterGodNamePossessive = lamaism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_SHE
WaterGodHerHis = CHARACTER_HERHIS_HER
WaterGodHerHim = CHARACTER_HERHIM_HER
GoodGodNames = {
bon_good_god_gyalpo_pehar
}
}
}
}
}

View file

@ -0,0 +1,196 @@
confucianism_religion = {
family = rf_sinitic
graphical_faith = sinitic_gfx
doctrine = eastern_hostility_doctrine
#Main Group
doctrine = doctrine_polytheist
doctrine = doctrine_no_head
doctrine = doctrine_gender_male_dominated
doctrine = doctrine_pluralism_pluralistic
doctrine = doctrine_theocracy_lay_clergy
#Marriage
doctrine = doctrine_concubines
doctrine = doctrine_divorce_allowed
doctrine = doctrine_bastardry_legitimization
doctrine = doctrine_consanguinity_dynastic
#Crimes
doctrine = doctrine_homosexuality_shunned
doctrine = doctrine_adultery_men_crime
doctrine = doctrine_adultery_women_crime
doctrine = doctrine_kinslaying_any_dynasty_member_crime
doctrine = doctrine_deviancy_crime
doctrine = doctrine_witchcraft_crime
#Clerical Functions
doctrine = doctrine_clerical_function_taxation
doctrine = doctrine_clerical_gender_male_only
doctrine = doctrine_clerical_marriage_allowed
doctrine = doctrine_clerical_succession_temporal_appointment
#Allow pilgrimages
doctrine = doctrine_pilgrimage_local_rites
doctrine = special_doctrine_immaterial_harmony
doctrine = special_doctrine_is_sinitic_faith
#Funeral tradition
doctrine = doctrine_family_rites
#Coronation tradition
doctrine = doctrine_no_anointment
traits = {
virtues = { compassionate just honest scholar }
sins = { lazy greedy deceitful }
}
piety_icon_group = "confucianism"
custom_faith_icons = {
custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 dualism_custom_1 zoroastrian_custom_1 zoroastrian_custom_2 buddhism_custom_1 buddhism_custom_2 buddhism_custom_3 buddhism_custom_4 taoism_custom_1 yazidi_custom_1 sunni_custom_2 sunni_custom_3 sunni_custom_4 muhakkima_1 muhakkima_2 muhakkima_4 muhakkima_5 muhakkima_6 judaism_custom_1 custom_faith_fp1_fenrir custom_faith_fp1_irminsul custom_faith_fp1_jormungandr custom_faith_fp1_odins_ravens custom_faith_fp1_runestone_moon custom_faith_fp1_thors_hammer custom_faith_fp1_valknut custom_faith_fp1_yggdrasil custom_faith_boromian_circles custom_faith_lotus custom_faith_aum_tibetan custom_faith_pentagram custom_faith_pentagram_inverted custom_faith_burning_bush custom_faith_allah custom_faith_gankyil custom_faith_eye_of_providence custom_faith_dove custom_faith_ichthys custom_faith_lamb custom_faith_black_sheep custom_faith_ankh custom_faith_chi_rho custom_faith_hamsa custom_faith_cool_s custom_faith_magatama custom_faith_soto custom_faith_benzhuism
}
holy_order_names = {
{ name = "holy_order_guardians_of_divinerealm" }
{ name = "holy_order_faithful_of_highgod" }
{ name = "holy_order_warriors_of_the_symbol" }
}
localization = {
HighGodName = confucianism_high_god_name
HighGodName2 = confucianism_high_god_name_2
HighGodNamePossessive = confucianism_high_god_name_possessive
HighGodNameSheHe = CHARACTER_SHEHE_HE
HighGodHerselfHimself = CHARACTER_HIMSELF
HighGodHerHis = CHARACTER_HERHIS_HIS
HighGodNameAlternate = confucianism_high_god_name_alternate
HighGodNameAlternatePossessive = confucianism_high_god_name_alternate_possessive
CreatorName = confucianism_creator_god_name
CreatorNamePossessive = confucianism_creator_god_name_possessive
CreatorSheHe = CHARACTER_SHEHE_HE
CreatorHerHis = CHARACTER_HERHIS_HIS
CreatorHerHim = CHARACTER_HERHIM_HIM
HealthGodName = confucianism_health_god_name
HealthGodNamePossessive = confucianism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
FertilityGodName = confucianism_fertility_god_name
FertilityGodNamePossessive = confucianism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_HE
FertilityGodHerHis = CHARACTER_HERHIS_HIS
FertilityGodHerHim = CHARACTER_HERHIM_HIM
WealthGodName = confucianism_wealth_god_name
WealthGodNamePossessive = confucianism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
HouseholdGodName = confucianism_household_god_name
HouseholdGodNamePossessive = confucianism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_HE
HouseholdGodHerHis = CHARACTER_HERHIS_HIS
HouseholdGodHerHim = CHARACTER_HERHIM_HIM
FateGodName = confucianism_fate_god_name
FateGodNamePossessive = confucianism_fate_god_name_possessive
FateGodSheHe = CHARACTER_SHEHE_IT
FateGodHerHis = CHARACTER_HERHIS_ITS
FateGodHerHim = CHARACTER_HERHIM_IT
KnowledgeGodName = confucianism_knowledge_god_name
KnowledgeGodNamePossessive = confucianism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
WarGodName = confucianism_war_god_name
WarGodNamePossessive = confucianism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
TricksterGodName = confucianism_trickster_god_name
TricksterGodNamePossessive = confucianism_trickster_god_name_possessive
TricksterGodSheHe = CHARACTER_SHEHE_SHE
TricksterGodHerHis = CHARACTER_HERHIS_HER
TricksterGodHerHim = CHARACTER_HERHIM_HER
NightGodName = confucianism_night_god_name
NightGodNamePossessive = confucianism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_HE
NightGodHerHis = CHARACTER_HERHIS_HIS
NightGodHerHim = CHARACTER_HERHIM_HIM
WaterGodName = confucianism_water_god_name
WaterGodNamePossessive = confucianism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_HE
WaterGodHerHis = CHARACTER_HERHIS_HIS
WaterGodHerHim = CHARACTER_HERHIM_HIM
PantheonTerm = confucianism_pantheon_term
PantheonTerm2 = confucianism_pantheon_term_2
PantheonTerm3 = confucianism_pantheon_term_3
PantheonTermHasHave = pantheon_term_have
GoodGodNames = { confucianism_high_god_name confucianism_wealth_god_name confucianism_war_god_name }
DevilName = confucianism_devil_name
DevilNamePossessive = confucianism_devil_name_possessive
DevilSheHe = CHARACTER_SHEHE_SHE
DevilHerHis = CHARACTER_HERHIS_HER
DevilHerselfHimself = CHARACTER_HERSELF
EvilGodNames = { confucian_evil_god }
HouseOfWorship = confucianism_house_of_worship
HouseOfWorship2 = confucianism_house_of_worship_2
HouseOfWorship3 = confucianism_house_of_worship_3
HouseOfWorshipPlural = confucianism_house_of_worship_plural
ReligiousSymbol = confucianism_religious_symbol
ReligiousSymbol2 = confucianism_religious_symbol_2
ReligiousSymbol3 = confucianism_religious_symbol_3
ReligiousText = confucianism_religious_text
ReligiousText2 = confucianism_religious_text_2
ReligiousText3 = confucianism_religious_text_3
ReligiousHeadName = confucianism_religious_head_title
ReligiousHeadTitleName = confucianism_religious_head_title_name
DevoteeMale = confucianism_devotee
DevoteeMalePlural = confucianism_devotee_plural
DevoteeFemale = confucianism_devotee
DevoteeFemalePlural = confucianism_devotee_plural
DevoteeNeuter = confucianism_devotee
DevoteeNeuterPlural = confucianism_devotee_plural
PriestMale = confucianism_priest
PriestMalePlural = confucianism_priest_plural
PriestFemale = confucianism_priest
PriestFemalePlural = confucianism_priest_plural
PriestNeuter = confucianism_priest
PriestNeuterPlural = confucianism_priest_plural
AltPriestTermPlural = confucianism_priest_plural
BishopMale = confucianism_priest
BishopMalePlural = confucianism_priest_plural
BishopFemale = confucianism_priest
BishopFemalePlural = confucianism_priest_plural
BishopNeuter = confucianism_priest
BishopNeuterPlural = confucianism_priest_plural
DivineRealm = confucianism_divine_realm
DivineRealm2 = confucianism_divine_realm_2
DivineRealm3 = confucianism_divine_realm_3
PositiveAfterLife = confucianism_positive_afterlife
PositiveAfterLife2 = confucianism_positive_afterlife_2
PositiveAfterLife3 = confucianism_positive_afterlife_3
NegativeAfterLife = confucianism_negative_afterlife
NegativeAfterLife2 = confucianism_negative_afterlife_2
NegativeAfterLife3 = confucianism_negative_afterlife_3
DeathDeityName = confucianism_death_deity_name
DeathDeityNamePossessive = confucianism_death_deity_name_possessive
DeathDeitySheHe = CHARACTER_SHEHE_HE
DeathDeityHerHis = CHARACTER_HERHIS_HIS
DeathDeityHerHim = CHARACTER_HERHIM_HIM
WitchGodName = confucian_evil_god
WitchGodNamePossessive = confucian_evil_god_possessive
WitchGodSheHe = CHARACTER_SHEHE_HE
WitchGodHerHim = CHARACTER_HERHIM_HER
WitchGodMistressMaster = mistress
WitchGodMotherFather = mother
WitchGodHerHis = CHARACTER_HERHIS_HER
GHWName = ghw_great_holy_war
GHWNamePlural = ghw_great_holy_wars
}
faiths = {
}
}

View file

@ -0,0 +1,307 @@
hinduism_religion = {
family = rf_eastern #Dharmic
graphical_faith = dharmic_gfx
doctrine = eastern_hostility_doctrine
#Main Group
doctrine = doctrine_polytheist
doctrine = doctrine_no_head
doctrine = doctrine_gender_male_dominated
doctrine = doctrine_pluralism_pluralistic
doctrine = doctrine_theocracy_temporal
#Marriage
doctrine = doctrine_polygamy
doctrine = doctrine_divorce_allowed
doctrine = doctrine_bastardry_none
doctrine = doctrine_consanguinity_restricted
#Crimes
doctrine = doctrine_homosexuality_accepted
doctrine = doctrine_adultery_men_shunned
doctrine = doctrine_adultery_women_shunned
doctrine = doctrine_kinslaying_close_kin_crime
doctrine = doctrine_deviancy_shunned
doctrine = doctrine_witchcraft_accepted
#Clerical Functions
doctrine = doctrine_clerical_function_taxation
doctrine = doctrine_clerical_gender_male_only
doctrine = doctrine_clerical_marriage_allowed
doctrine = doctrine_clerical_succession_temporal_appointment
#Special Doctrine for Eastern Syncretism
doctrine = special_doctrine_is_eastern_faith
#Allow pilgrimages
doctrine = doctrine_pilgrimage_encouraged
#Funeral tradition
doctrine = doctrine_funeral_cremation
#Coronation tradition
doctrine = doctrine_no_anointment
traits = {
virtues = {
temperate
content
honest
}
sins = {
greedy
wrathful
ambitious
}
}
custom_faith_icons = {
custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 dualism_custom_1 zoroastrian_custom_1 zoroastrian_custom_2 buddhism_custom_1 buddhism_custom_2 buddhism_custom_3 buddhism_custom_4 taoism_custom_1 yazidi_custom_1 sunni_custom_2 sunni_custom_3 sunni_custom_4 muhakkima_1 muhakkima_2 muhakkima_4 muhakkima_5 muhakkima_6 judaism_custom_1 custom_faith_fp1_fenrir custom_faith_fp1_irminsul custom_faith_fp1_jormungandr custom_faith_fp1_odins_ravens custom_faith_fp1_runestone_moon custom_faith_fp1_thors_hammer custom_faith_fp1_valknut custom_faith_fp1_yggdrasil custom_faith_boromian_circles custom_faith_lotus custom_faith_aum_tibetan custom_faith_pentagram custom_faith_pentagram_inverted custom_faith_burning_bush custom_faith_allah custom_faith_gankyil custom_faith_eye_of_providence custom_faith_dove custom_faith_ichthys custom_faith_lamb custom_faith_black_sheep custom_faith_ankh custom_faith_chi_rho custom_faith_hamsa custom_faith_cool_s custom_faith_magatama custom_faith_soto custom_faith_benzhuism
}
holy_order_names = {
{ name = "holy_order_followers_of_arjuna" }
{ name = "holy_order_faith_maharatas" }
{ name = "holy_order_vyuha_of_highgod" }
{ name = "holy_order_vyuha_of_the_temple_of_place" }
{ name = "holy_order_maharatas_of_highgod" }
}
holy_order_maa = { war_elephant }
localization = {
#HighGod
HighGodName = hinduism_high_god_name
HighGodName2 = hinduism_high_god_name_2
HighGodNamePossessive = hinduism_high_god_name_possessive
HighGodNameSheHe = CHARACTER_SHEHE_IT
HighGodHerselfHimself = CHARACTER_ITSELF
HighGodHerHis = CHARACTER_HERHIS_ITS
HighGodNameAlternate = hinduism_high_god_name_alternate
HighGodNameAlternatePossessive = hinduism_high_god_name_alternate_possessive
#Creator
CreatorName = hinduism_creator_god_name
CreatorNamePossessive = hinduism_creator_god_name_possessive
CreatorSheHe = CHARACTER_SHEHE_HE
CreatorHerHis = CHARACTER_HERHIS_HIS
CreatorHerHim = CHARACTER_HERHIM_HIM
#HealthGod
HealthGodName = hinduism_health_god_name
HealthGodNamePossessive = hinduism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_SHE
HealthGodHerHis = CHARACTER_HERHIS_HER
HealthGodHerHim = CHARACTER_HERHIM_HER
#FertilityGod
FertilityGodName = hinduism_fertility_god_name
FertilityGodNamePossessive = hinduism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_SHE
FertilityGodHerHis = CHARACTER_HERHIS_HER
FertilityGodHerHim = CHARACTER_HERHIM_HER
#WealthGod
WealthGodName = hinduism_wealth_god_name
WealthGodNamePossessive = hinduism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = hinduism_household_god_name
HouseholdGodNamePossessive = hinduism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_SHE
HouseholdGodHerHis = CHARACTER_HERHIS_HER
HouseholdGodHerHim = CHARACTER_HERHIM_HER
#FateGod
FateGodName = hinduism_fate_god_name
FateGodNamePossessive = hinduism_fate_god_name_possessive
FateGodSheHe = CHARACTER_SHEHE_IT
FateGodHerHis = CHARACTER_HERHIS_ITS
FateGodHerHim = CHARACTER_HERHIM_IT
#KnowledgeGod
KnowledgeGodName = hinduism_knowledge_god_name
KnowledgeGodNamePossessive = hinduism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_SHE
KnowledgeGodHerHis = CHARACTER_HERHIS_HER
KnowledgeGodHerHim = CHARACTER_HERHIM_HER
#WarGod
WarGodName = hinduism_war_god_name
WarGodNamePossessive = hinduism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_SHE
WarGodHerHis = CHARACTER_HERHIS_HER
WarGodHerHim = CHARACTER_HERHIM_HER
#TricksterGod
TricksterGodName = hinduism_trickster_god_name
TricksterGodNamePossessive = hinduism_trickster_god_name_possessive
TricksterGodSheHe = CHARACTER_SHEHE_HE
TricksterGodHerHis = CHARACTER_HERHIS_HIS
TricksterGodHerHim = CHARACTER_HERHIM_HIM
#NightGod
NightGodName = hinduism_night_god_name
NightGodNamePossessive = hinduism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_SHE
NightGodHerHis = CHARACTER_HERHIS_HER
NightGodHerHim = CHARACTER_HERHIM_HER
#WaterGod
WaterGodName = hinduism_water_god_name
WaterGodNamePossessive = hinduism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_SHE
WaterGodHerHis = CHARACTER_HERHIS_HER
WaterGodHerHim = CHARACTER_HERHIM_HER
PantheonTerm = religion_the_gods
PantheonTerm2 = religion_the_gods_2
PantheonTerm3 = religion_the_gods_3
PantheonTermHasHave = pantheon_term_have
GoodGodNames = {
hinduism_high_god_name
hinduism_high_god_name_alternate
hinduism_good_god_brahma
hinduism_good_god_vishnu
hinduism_good_god_shiva
hinduism_good_god_ganesh
hinduism_good_god_surya
shaktism_good_god_devi
}
DevilName = hinduism_devil_name
DevilNamePossessive = hinduism_devil_name_possessive
DevilSheHe = CHARACTER_SHEHE_THEY
DevilHerHis = CHARACTER_HERHIS_THEIR
DevilHerselfHimself = hinduism_devil_herselfhimself
EvilGodNames = {
hinduism_devil_name
hinduism_evil_god_pishachas
hinduism_evil_god_krodha
}
HouseOfWorship = hinduism_house_of_worship
HouseOfWorship2 = hinduism_house_of_worship_2
HouseOfWorship3 = hinduism_house_of_worship_3
HouseOfWorshipPlural = hinduism_house_of_worship_plural
ReligiousSymbol = hinduism_religious_symbol
ReligiousSymbol2 = hinduism_religious_symbol_2
ReligiousSymbol3 = hinduism_religious_symbol_3
ReligiousText = hinduism_religious_text
ReligiousText2 = hinduism_religious_text_2
ReligiousText3 = hinduism_religious_text_3
ReligiousHeadName = hinduism_religious_head_title
ReligiousHeadTitleName = hinduism_religious_head_title_name
DevoteeMale = hinduism_devotee_male
DevoteeMalePlural = hinduism_devotee_male_plural
DevoteeFemale = hinduism_devotee_female
DevoteeFemalePlural = hinduism_devotee_female_plural
DevoteeNeuter = hinduism_devotee_neuter
DevoteeNeuterPlural = hinduism_devotee_neuter_plural
PriestMale = hinduism_priest
PriestMalePlural = hinduism_priest_plural
PriestFemale = hinduism_priest
PriestFemalePlural = hinduism_priest_plural
PriestNeuter = hinduism_priest
PriestNeuterPlural = hinduism_priest_plural
AltPriestTermPlural = hinduism_priest_term_plural
BishopMale = hinduism_bishop
BishopMalePlural = hinduism_bishop_plural
BishopFemale = hinduism_bishop
BishopFemalePlural = hinduism_bishop_plural
BishopNeuter = hinduism_bishop
BishopNeuterPlural = hinduism_bishop_plural
DivineRealm = hinduism_divine_realm
DivineRealm2 = hinduism_divine_realm_2
DivineRealm3 = hinduism_divine_realm_3
PositiveAfterLife = hinduism_positive_afterlife
PositiveAfterLife2 = hinduism_positive_afterlife_2
PositiveAfterLife3 = hinduism_positive_afterlife_3
NegativeAfterLife = hinduism_negative_afterlife
NegativeAfterLife2 = hinduism_negative_afterlife_2
NegativeAfterLife3 = hinduism_negative_afterlife_3
DeathDeityName = hinduism_death_name
DeathDeityNamePossessive = hinduism_death_name_possessive
DeathDeitySheHe = CHARACTER_SHEHE_HE
DeathDeityHerHis = CHARACTER_HERHIS_HIS
DeathDeityHerHim = CHARACTER_HERHIM_HIM
WitchGodName = shaktism_good_god_kali
WitchGodNamePossessive = shaktism_good_god_kali_possessive
WitchGodHerHis = CHARACTER_HERHIS_HER
WitchGodSheHe = CHARACTER_SHEHE_SHE
WitchGodHerHim = CHARACTER_HERHIM_HER
WitchGodMistressMaster = mistress
WitchGodMotherFather = mother
GHWName = ghw_purification
GHWNamePlural = ghw_purifications
}
faiths = {
vaishnavism = {
color = { 1.0 0.0 0.0 }
icon = hinduism
holy_site = varanasi
holy_site = ayodhya
holy_site = mathura
holy_site = bantey_srei
holy_site = kanchipuram
holy_site = ujjayini
holy_site = khao_khlang_nai
doctrine = tenet_reincarnation
doctrine = tenet_bhakti
doctrine = tenet_preservation
localization = {
HighGodName = vaishnavism_high_god_name
HighGodName2 = vaishnavism_high_god_name_2
HighGodNamePossessive = vaishnavism_high_god_name_possessive
HighGodNameSheHe = CHARACTER_SHEHE_HE
HighGodHerselfHimself = CHARACTER_HIMSELF
HighGodHerHis = CHARACTER_HERHIS_HIS
#WealthGod
WealthGodName = vaishnavism_wealth_god_name
WealthGodNamePossessive = vaishnavism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_SHE
WealthGodHerHis = CHARACTER_HERHIS_HER
WealthGodHerHim = CHARACTER_HERHIM_HER
#KnowledgeGod
KnowledgeGodName = vaishnavism_knowledge_god_name
KnowledgeGodNamePossessive = vaishnavism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = vaishnavism_war_god_name
WarGodNamePossessive = vaishnavism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#TricksterGod
TricksterGodName = vaishnavism_trickster_god_name
TricksterGodNamePossessive = vaishnavism_trickster_god_name_possessive
TricksterGodSheHe = CHARACTER_SHEHE_HE
TricksterGodHerHis = CHARACTER_HERHIS_HIS
TricksterGodHerHim = CHARACTER_HERHIM_HIM
GoodGodNames = {
vaishnavism_high_god_name
hinduism_high_god_name_alternate
hinduism_good_god_brahma
hinduism_good_god_shiva
hinduism_good_god_krishna
hinduism_good_god_shakti
hinduism_good_god_narayana
}
}
}
}
}

View file

@ -377,32 +377,6 @@
#Leadership
doctrine = doctrine_temporal_head
}
ashari = { #Arabian Sunni Islam
color = { 0 0.6 0 }
icon = sunni
religious_head = d_sunni
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = baghdad
holy_site = sinai
#Tenet:
doctrine = tenet_struggle_submission
doctrine = tenet_religious_legal_pronouncements
doctrine = tenet_legalism
#DOCTRINES:
#Sunni
doctrine = muhammad_succession_sunni_doctrine
# Jizya
doctrine = special_doctrine_jizya
#Leadership
doctrine = doctrine_temporal_head
}
jadidi = { #placeholder - modernists from central asia
color = { 8 89 89 }
icon = jadidi
@ -458,651 +432,5 @@
doctrine = doctrine_pluralism_pluralistic
}
muwalladi = { # Iberian Sunni Islam
color = { 0 0.4 0 }
icon = muwalladi
religious_head = d_sunni
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = cordoba
holy_site = fes
#Tenet:
doctrine = tenet_struggle_submission
doctrine = tenet_communal_identity
doctrine = tenet_adaptive
#DOCTRINES:
#Sunni
doctrine = muhammad_succession_sunni_doctrine
# Jizya
doctrine = special_doctrine_jizya
#Homosexuality is a sin, but a much more tolerated one.
doctrine = doctrine_homosexuality_accepted
#Pluralistic
doctrine = doctrine_pluralism_pluralistic
}
maturidi = { # Persian Sunni Islam
color = { 0.1 0.5 0.3 }
icon = maturidi
religious_head = d_sunni
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = baghdad
holy_site = samarkand
#Tenet
doctrine = tenet_adaptive
doctrine = tenet_religious_legal_pronouncements
doctrine = tenet_legalism
#DOCTRINES
#Sunni
doctrine = muhammad_succession_sunni_doctrine
# Jizya
doctrine = special_doctrine_jizya
#Pluralistic
doctrine = doctrine_pluralism_pluralistic
}
masmudi = { # Reformist Sunni Islam (Almohads)
color = { 0 0.6 0.2 }
icon = masmudi
religious_head = d_masmudi
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = tinmallal
holy_site = fes
#Tenet:
doctrine = tenet_struggle_submission
doctrine = tenet_warmonger
doctrine = tenet_literalism
#DOCTRINES:
#Sunni
doctrine = muhammad_succession_sunni_doctrine
#Pluralistic
doctrine = doctrine_pluralism_fundamentalist
localization = {
ReligiousHeadName = masmudi_religious_head_title
ReligiousHeadTitleName = masmudi_religious_head_title_name
}
}
mutazila = { # Rationalist school of Sunni Islam. Dominant between 8th and 10th centuries in the Abbasid Caliphate (Persia).
color = { 0 0.7 0.5 }
icon = mutazila
religious_head = d_sunni
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = baghdad
holy_site = sinai
#Tenet:
doctrine = tenet_struggle_submission
doctrine = tenet_alexandrian_catechism #FP3 change
doctrine = tenet_legalism
#DOCTRINES:
#Sunni
doctrine = muhammad_succession_sunni_doctrine
# Jizya
doctrine = special_doctrine_jizya
doctrine = doctrine_divorce_allowed
doctrine = doctrine_witchcraft_shunned
}
quranist = {
color = { 0.2 0.7 0.1 }
icon = quranist
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = kufa
holy_site = sinai
#Tenet
doctrine = tenet_literalism
doctrine = tenet_religious_legal_pronouncements
doctrine = tenet_false_conversion_sanction
#DOCTRINES
#Sunni
#No Head
#Homosexuality is a crime
#Adultery is a crime
#Deviancy is a crime
#Fundamentalist
# Jizya
doctrine = special_doctrine_jizya
doctrine = muhammad_succession_zandaqa_doctrine #Technically Shia
doctrine = doctrine_no_head
doctrine = doctrine_homosexuality_crime
doctrine = doctrine_adultery_men_crime
doctrine = doctrine_adultery_women_crime
doctrine = doctrine_deviancy_crime
doctrine = doctrine_pluralism_fundamentalist
}
ismaili = { #Seveners (default Shia)
color = { 0.2 0.8 0 }
icon = shia
religious_head = d_shiite
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = damascus
doctrine = tenet_struggle_submission
doctrine = tenet_esotericism
doctrine = tenet_false_conversion_sanction
#DOCTRINES
# Jizya
doctrine = special_doctrine_jizya
#Leadership
doctrine = doctrine_temporal_head
#Shia
#Witchcraft is frowned upon
doctrine = muhammad_succession_shia_doctrine
doctrine = doctrine_witchcraft_shunned
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
qarmatian = { #A branch of the Isma'ili with syncretic Zoroastrian elements
#Founded a utopian republic in al-Hasa
color = { 0.1 0.8 0.1 }
icon = qarmatian
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = damascus
doctrine = tenet_unrelenting_faith
doctrine = tenet_aniconism
doctrine = tenet_gnosticism
#Shia
#Homosexuality is a sin, but a much more tolerated one.
#Witchcraft is frowned upon
doctrine = muhammad_succession_zandaqa_doctrine #Technically Shia
doctrine = doctrine_no_head # Believes in the Imams, but disagree with mainline Shias as to who they are. Does not believe the true Imam has been reincarnated yet.
doctrine = doctrine_pluralism_fundamentalist
doctrine = doctrine_homosexuality_accepted
doctrine = doctrine_witchcraft_shunned
doctrine = doctrine_monogamy
doctrine = doctrine_gender_equal # While the differences between men and women were a bit more complex, Equal is a suitable abstraction for lack of male-pref
doctrine = doctrine_pilgrimage_forbidden
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
nizari = {
color = { 0.2 0.7 0.1 }
icon = nizari
religious_head = d_nizari
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = qom # Very important religious center in Iran
doctrine = tenet_religious_legal_pronouncements
doctrine = tenet_false_conversion_sanction
# Fedayeen, else Struggle & Submission
doctrine_selection_pair = {
requires_dlc_flag = legacy_of_persia
doctrine = tenet_fp3_fedayeen
fallback_doctrine = tenet_struggle_submission
}
#Shia
doctrine = muhammad_succession_shia_doctrine
# Jizya
doctrine = special_doctrine_jizya
#Hereditary clerical succession
doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
# Assassins
doctrine = doctrine_clerical_function_recruitment
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
zayidi = {
color = { 0.3 0.8 0.2 }
icon = zayidi
religious_head = d_zayidi
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = damascus
doctrine = tenet_struggle_submission
doctrine = tenet_unrelenting_faith
doctrine = tenet_legalism
#Shia
#Witchcraft is a sin
doctrine = muhammad_succession_shia_doctrine
# Jizya
doctrine = special_doctrine_jizya
doctrine = doctrine_witchcraft_shunned
doctrine = doctrine_pluralism_pluralistic
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
imami = { #Twelver
color = { 0.1 0.5 0.1 }
icon = imami
religious_head = d_imami
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = baghdad
doctrine = tenet_legalism
doctrine = tenet_false_conversion_sanction
doctrine = tenet_religious_legal_pronouncements
#Shia
#No religious head
#Homosexuality is a sin
#Witchcraft is a sin
doctrine = muhammad_succession_shia_doctrine
# Jizya
doctrine = special_doctrine_jizya
doctrine = doctrine_witchcraft_shunned
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
BishopMale = islam_ayatollah
BishopMalePlural = islam_ayatollah_plural
BishopFemale = islam_ayatollah
BishopFemalePlural = islam_ayatollah_plural
BishopNeuter = islam_ayatollah
BishopNeuterPlural = islam_ayatollah_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
ghulat = {
color = { 0.4 0.8 0.3 }
icon = ghulat
religious_head = d_ghulat
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = damascus
doctrine = tenet_struggle_submission
doctrine = tenet_false_conversion_sanction
doctrine = tenet_communion
#Shia
#No religious head
#Witchcraft is a sin
doctrine = muhammad_succession_zandaqa_doctrine #Technically Shia
# Jizya
doctrine = special_doctrine_jizya
doctrine = doctrine_witchcraft_shunned
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
alawite = {
color = { 0.2 0.4 0.1 }
icon = alawite
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = damascus
doctrine = tenet_esotericism
doctrine = tenet_reincarnation
doctrine = tenet_communion
#Shia
#No head of faith: or, technically should be no head, but one is required for their communion tenet to work, so we give them a chief imam.
#Monogamy
#Free divorce
#Adultery is a crime
#Clergy - equal
doctrine = muhammad_succession_zandaqa_doctrine #Technically Shia
doctrine = doctrine_monogamy
doctrine = doctrine_divorce_allowed
doctrine = doctrine_adultery_men_crime
doctrine = doctrine_spiritual_head
doctrine = doctrine_adultery_women_crime
doctrine = doctrine_clerical_gender_either
doctrine = doctrine_pilgrimage_forbidden
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
druze = {
color = { 0.3 0.7 0.1 }
icon = islam_druze
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = beirut
holy_site = zozan
doctrine = tenet_gnosticism
doctrine = tenet_reincarnation
doctrine = tenet_false_conversion_sanction
#Shia
#Divorce forbidden
#Homosexuality is a sin
#Witchcraft is a sin
doctrine = doctrine_monogamy
doctrine = muhammad_succession_zandaqa_doctrine #Technically Shia
doctrine = doctrine_divorce_allowed
doctrine = doctrine_adultery_women_crime
doctrine = doctrine_adultery_men_crime
doctrine = doctrine_witchcraft_shunned
doctrine = doctrine_clerical_gender_either
doctrine = doctrine_pilgrimage_forbidden
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousText = druze_religious_text
ReligiousText2 = druze_religious_text_2
ReligiousText3 = druze_religious_text_3
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
ibadi = {
color = { 0.3 0.6 0.3 }
icon = ibadi
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = basra
holy_site = nizwa
#Tenet
doctrine = tenet_literalism
doctrine = tenet_religious_legal_pronouncements
doctrine = tenet_false_conversion_sanction
#DOCTRINES
#Muhakkima
#No religious head
#Witchcraft is a sin
doctrine = muhammad_succession_muhakkima_doctrine
# Jizya
doctrine = special_doctrine_jizya
doctrine = doctrine_no_head
doctrine = doctrine_witchcraft_shunned
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
holy_order_names = {
{ name = "holy_order_haruriyya" }
}
}
azariqa = {
color = { 0.3 0.7 0.7 }
icon = azariqa
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = siffa
holy_site = kufa
#Tenet
doctrine = tenet_legalism
doctrine = tenet_warmonger
# Fedayeen, else Struggle & Submission
doctrine_selection_pair = {
requires_dlc_flag = legacy_of_persia
doctrine = tenet_fp3_fedayeen
fallback_doctrine = tenet_struggle_submission
}
doctrine = muhammad_succession_muhakkima_doctrine
doctrine = doctrine_temporal_head
doctrine = doctrine_witchcraft_shunned
doctrine = doctrine_adultery_men_crime
doctrine = doctrine_adultery_women_crime
doctrine = doctrine_gender_equal
doctrine = doctrine_pluralism_fundamentalist
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
najdat = {
color = { 0.6 0.7 0.7 }
icon = nadjat
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = bahrein
holy_site = yamama
#Tenet
doctrine = tenet_struggle_submission
doctrine = tenet_religious_legal_pronouncements
doctrine = tenet_esotericism
#Doctrines
doctrine = muhammad_succession_muhakkima_doctrine
# Jizya
doctrine = special_doctrine_jizya
doctrine = doctrine_temporal_head
doctrine = doctrine_witchcraft_shunned
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
sufri = {
color = { 0.3 0.5 0.5 }
icon = muhakkima_3
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = sijilmasa
holy_site = siffa
#Tenet
doctrine = tenet_struggle_submission
doctrine = tenet_literalism
doctrine = tenet_false_conversion_sanction
#Doctrines
doctrine = muhammad_succession_muhakkima_doctrine
# Jizya
doctrine = special_doctrine_jizya
doctrine = doctrine_no_head
doctrine = doctrine_divorce_allowed
doctrine = doctrine_witchcraft_shunned
doctrine = doctrine_gender_equal
doctrine = doctrine_clerical_gender_either
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
hafizi = { #Sub-set of Ismaili Shiites that fervently supported the primacy of their caliph.
color = { 0.5 0.8 0.4 }
icon = ibadi_custom
religious_head = d_shiite
holy_site = mecca
holy_site = medina
holy_site = jerusalem
holy_site = nadjaf
holy_site = damascus
doctrine = tenet_struggle_submission
doctrine = tenet_unrelenting_faith
doctrine = tenet_false_conversion_sanction
# Leadership
doctrine = doctrine_temporal_head
# Shia
doctrine = muhammad_succession_shia_doctrine
# Main Doctrines
doctrine = doctrine_pluralism_fundamentalist
# Criminal Doctrines
doctrine = doctrine_witchcraft_shunned
# Clergy Doctrines
doctrine = doctrine_clerical_function_recruitment
localization = {
PriestMale = islam_shia_priest
PriestMalePlural = islam_shia_priest_plural
PriestFemale = islam_shia_priest
PriestFemalePlural = islam_shia_priest_plural
PriestNeuter = islam_shia_priest
PriestNeuterPlural = islam_shia_priest_plural
ReligiousHeadName = islam_shia_religious_head_title
ReligiousHeadTitleName = islam_shia_religious_head_title_name
}
}
}
}

View file

@ -0,0 +1,247 @@
jainism_religion = {
family = rf_eastern #Dharmic
graphical_faith = dharmic_gfx
doctrine = eastern_hostility_doctrine
#Main Group
doctrine = doctrine_polytheist
doctrine = doctrine_no_head
doctrine = doctrine_gender_male_dominated
doctrine = doctrine_pluralism_righteous
doctrine = doctrine_theocracy_temporal
#Marriage
doctrine = doctrine_polygamy
doctrine = doctrine_divorce_allowed
doctrine = doctrine_bastardry_none
doctrine = doctrine_consanguinity_cousins
#Crimes
doctrine = doctrine_homosexuality_accepted
doctrine = doctrine_adultery_men_shunned
doctrine = doctrine_adultery_women_shunned
doctrine = doctrine_kinslaying_close_kin_crime
doctrine = doctrine_deviancy_shunned
doctrine = doctrine_witchcraft_accepted
#Clerical Functions
doctrine = doctrine_clerical_function_alms_and_pacification
doctrine = doctrine_clerical_gender_male_only
doctrine = doctrine_clerical_marriage_disallowed
doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
#Special Doctrine for Eastern Syncretism
doctrine = special_doctrine_is_eastern_faith
#Allow pilgrimages
doctrine = doctrine_pilgrimage_encouraged
#Funeral tradition
doctrine = doctrine_funeral_cremation
#Coronation tradition
doctrine = doctrine_no_anointment
traits = {
virtues = { calm compassionate honest }
sins = { wrathful sadistic deceitful }
}
custom_faith_icons = {
custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 dualism_custom_1 zoroastrian_custom_1 zoroastrian_custom_2 buddhism_custom_1 buddhism_custom_2 buddhism_custom_3 buddhism_custom_4 taoism_custom_1 yazidi_custom_1 sunni_custom_2 sunni_custom_3 sunni_custom_4 muhakkima_1 muhakkima_2 muhakkima_4 muhakkima_5 muhakkima_6 judaism_custom_1 custom_faith_fp1_fenrir custom_faith_fp1_irminsul custom_faith_fp1_jormungandr custom_faith_fp1_odins_ravens custom_faith_fp1_runestone_moon custom_faith_fp1_thors_hammer custom_faith_fp1_valknut custom_faith_fp1_yggdrasil custom_faith_boromian_circles custom_faith_lotus custom_faith_aum_tibetan custom_faith_pentagram custom_faith_pentagram_inverted custom_faith_burning_bush custom_faith_allah custom_faith_gankyil custom_faith_eye_of_providence custom_faith_dove custom_faith_ichthys custom_faith_lamb custom_faith_black_sheep custom_faith_ankh custom_faith_chi_rho custom_faith_hamsa custom_faith_cool_s custom_faith_magatama custom_faith_soto custom_faith_benzhuism
}
holy_order_names = {
{ name = "holy_order_bulls_of_rishabha" }
{ name = "holy_order_jivas_of_madhya_loka" }
{ name = "holy_order_guardians_of_the_lotus_ocean" }
{ name = "holy_order_sacrifices_of_devloka" }
}
holy_order_maa = { khandayat }
localization = {
#HighGodName
HighGodName = jainism_high_god_name
HighGodName2 = jainism_high_god_name_2
HighGodNamePossessive = jainism_high_god_name_possessive
HighGodNameSheHe = jainism_high_god_shehe
HighGodHerselfHimself = jainism_high_god_herselfhimself
HighGodHerHis = jainism_high_god_herhis
HighGodNameAlternate = jainism_high_god_alternate
HighGodNameAlternatePossessive = jainism_high_god_alternate_possessive
#Creator
CreatorName = jainism_creator_god_name
CreatorNamePossessive = jainism_creator_god_name_possessive
CreatorSheHe = CHARACTER_SHEHE_IT
CreatorHerHis = CHARACTER_HERHIS_ITS
CreatorHerHim = CHARACTER_HERHIM_IT
#HealthGod
HealthGodName = jainism_health_god_name
HealthGodNamePossessive = jainism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
#FertilityGod
FertilityGodName = jainism_fertility_god_name
FertilityGodNamePossessive = jainism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_HE
FertilityGodHerHis = CHARACTER_HERHIS_HIS
FertilityGodHerHim = CHARACTER_HERHIM_HIM
#WealthGod
WealthGodName = jainism_wealth_god_name
WealthGodNamePossessive = jainism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = jainism_household_god_name
HouseholdGodNamePossessive = jainism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_HE
HouseholdGodHerHis = CHARACTER_HERHIS_HIS
HouseholdGodHerHim = CHARACTER_HERHIM_HIM
#FateGod
FateGodName = jainism_fate_god_name
FateGodNamePossessive = jainism_fate_god_name_possessive
FateGodSheHe = CHARACTER_SHEHE_IT
FateGodHerHis = CHARACTER_HERHIS_ITS
FateGodHerHim = CHARACTER_HERHIM_IT
#KnowledgeGod
KnowledgeGodName = jainism_knowledge_god_name
KnowledgeGodNamePossessive = jainism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = jainism_war_god_name
WarGodNamePossessive = jainism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#TricksterGod
TricksterGodName = jainism_trickster_god_name
TricksterGodNamePossessive = jainism_trickster_god_name_possessive
TricksterGodSheHe = CHARACTER_SHEHE_IT
TricksterGodHerHis = CHARACTER_HERHIS_ITS
TricksterGodHerHim = CHARACTER_HERHIM_IT
#NightGod
NightGodName = jainism_night_god_name
NightGodNamePossessive = jainism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_HE
NightGodHerHis = CHARACTER_HERHIS_HIS
NightGodHerHim = CHARACTER_HERHIM_HIM
#WaterGod
WaterGodName = jainism_water_god_name
WaterGodNamePossessive = jainism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_HE
WaterGodHerHis = CHARACTER_HERHIS_HIS
WaterGodHerHim = CHARACTER_HERHIM_HIM
PantheonTerm = religion_the_gods
PantheonTerm2 = religion_the_gods_2
PantheonTerm3 = religion_the_gods_3
PantheonTermHasHave = pantheon_term_have
GoodGodNames = {
jainism_high_god_name
jainism_high_god_alternate
jainism_good_god_rishabhanatha
jainism_good_god_mahavira
}
DevilName = jainism_devil_name
DevilNamePossessive = jainism_devil_name_possessive
DevilSheHe = CHARACTER_SHEHE_THEY
DevilHerHis = CHARACTER_HERHIS_THEIR
DevilHerselfHimself = jainism_devil_herselfhimself
EvilGodNames = {
jainism_devil_name
jainism_evil_god_hellish_beings
jainism_evil_god_ignorance
}
HouseOfWorship = jainism_house_of_worship
HouseOfWorship2 = jainism_house_of_worship_2
HouseOfWorship3 = jainism_house_of_worship_3
HouseOfWorshipPlural = jainism_house_of_worship_plural
ReligiousSymbol = jainism_religious_symbol
ReligiousSymbol2 = jainism_religious_symbol_2
ReligiousSymbol3 = jainism_religious_symbol_3
ReligiousText = jainism_religious_text
ReligiousText2 = jainism_religious_text_2
ReligiousText3 = jainism_religious_text_3
ReligiousHeadName = jainism_religious_head_title
ReligiousHeadTitleName = jainism_religious_head_title_name
DevoteeMale = jainism_devotee_male
DevoteeMalePlural = jainism_devotee_male_plural
DevoteeFemale = jainism_devotee_female
DevoteeFemalePlural = jainism_devotee_female_plural
DevoteeNeuter = jainism_devotee_neuter
DevoteeNeuterPlural = jainism_devotee_neuter_plural
PriestMale = jainism_devotee_male
PriestMalePlural = jainism_devotee_male_plural
PriestFemale = jainism_devotee_female
PriestFemalePlural = jainism_devotee_female_plural
PriestNeuter = jainism_devotee_neuter
PriestNeuterPlural = jainism_devotee_neuter_plural
AltPriestTermPlural = jainism_alternate_priest_term_plural
BishopMale = jainism_bishop
BishopMalePlural = jainism_bishop_plural
BishopFemale = jainism_bishop
BishopFemalePlural = jainism_bishop_plural
BishopNeuter = jainism_bishop
BishopNeuterPlural = jainism_bishop_plural
DivineRealm = jainism_divine_realm
DivineRealm2 = jainism_divine_realm_2
DivineRealm3 = jainism_divine_realm_3
PositiveAfterLife = jainism_positive_afterlife
PositiveAfterLife2 = jainism_positive_afterlife_2
PositiveAfterLife3 = jainism_positive_afterlife_3
NegativeAfterLife = jainism_negative_afterlife
NegativeAfterLife2 = jainism_negative_afterlife_2
NegativeAfterLife3 = jainism_negative_afterlife_3
DeathDeityName = jainism_death_deity
DeathDeityNamePossessive = jainism_death_deity_possessive
DeathDeitySheHe = jainism_death_deity_shehe
DeathDeityHerHis = jainism_death_deity_herhis
DeathDeityHerHim = CHARACTER_HERHIM_IT
WitchGodName = witchgod_jainism_the_devas
WitchGodNamePossessive = witchgod_jainism_the_devas_possessive
WitchGodSheHe = witchgod_shehe_they
WitchGodHerHis = witchgod_herhis_their
WitchGodHerHim = witchgod_herhim_them
WitchGodMistressMaster = witch_spirit
WitchGodMotherFather = witch_source
GHWName = ghw_purification
GHWNamePlural = ghw_purifications
}
faiths = {
digambara = {
color = { 1.0 1.0 0.4 }
icon = jainism
holy_site = palitana
holy_site = shikharj
holy_site = ranakpur
holy_site = ellora
holy_site = sittannavasal
doctrine = tenet_dharmic_pacifism
doctrine = tenet_asceticism
doctrine = tenet_ritual_hospitality
doctrine = doctrine_clerical_gender_male_only
doctrine = special_doctrine_naked_priests # Digambara, or "sky-clad", these Jain monks do not wear clothes as part of their religious practices.
}
}
}

View file

@ -0,0 +1,241 @@
shintoism_religion = {
family = rf_pagan
doctrine = pagan_hostility_doctrine
graphical_faith = shinto_gfx
#Main Group
doctrine = doctrine_polytheist
doctrine = doctrine_no_head
doctrine = doctrine_gender_male_dominated
doctrine = doctrine_pluralism_pluralistic
doctrine = doctrine_theocracy_temporal
#Marriage
doctrine = doctrine_polygamy
doctrine = doctrine_divorce_allowed
doctrine = doctrine_bastardry_none
doctrine = doctrine_consanguinity_cousins
#Crimes
doctrine = doctrine_homosexuality_accepted
doctrine = doctrine_adultery_men_accepted
doctrine = doctrine_adultery_women_accepted
doctrine = doctrine_kinslaying_any_dynasty_member_crime
doctrine = doctrine_deviancy_shunned
doctrine = doctrine_witchcraft_shunned
#Clerical Functions
doctrine = doctrine_clerical_function_alms_and_pacification
doctrine = doctrine_clerical_gender_either
doctrine = doctrine_clerical_marriage_allowed
doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
#Allow pilgrimages
doctrine = doctrine_pilgrimage_local_rites
#Funeral tradition
doctrine = doctrine_funeral_stoic
#Coronation tradition
doctrine = doctrine_no_anointment
#Special Doctrine for Shinto mechanics
doctrine = special_doctrine_immaterial_harmony
traits = {
virtues = {
compassionate
content
humble
}
sins = {
sadistic
ambitious
arrogant
}
}
custom_faith_icons = {
custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 dualism_custom_1 zoroastrian_custom_1 zoroastrian_custom_2 buddhism_custom_1 buddhism_custom_2 buddhism_custom_3 buddhism_custom_4 taoism_custom_1 yazidi_custom_1 sunni_custom_2 sunni_custom_3 sunni_custom_4 muhakkima_1 muhakkima_2 muhakkima_4 muhakkima_5 muhakkima_6 judaism_custom_1 custom_faith_fp1_fenrir custom_faith_fp1_irminsul custom_faith_fp1_jormungandr custom_faith_fp1_odins_ravens custom_faith_fp1_runestone_moon custom_faith_fp1_thors_hammer custom_faith_fp1_valknut custom_faith_fp1_yggdrasil custom_faith_boromian_circles custom_faith_lotus custom_faith_aum_tibetan custom_faith_pentagram custom_faith_pentagram_inverted custom_faith_burning_bush custom_faith_allah custom_faith_gankyil custom_faith_eye_of_providence custom_faith_dove custom_faith_ichthys custom_faith_lamb custom_faith_black_sheep custom_faith_ankh custom_faith_chi_rho custom_faith_hamsa custom_faith_cool_s custom_faith_magatama custom_faith_soto custom_faith_benzhuism
}
localization = {
HighGodName = shintoism_high_god_name
HighGodName2 = shintoism_high_god_name_2
HighGodNamePossessive = shintoism_high_god_name_possessive
HighGodNameSheHe = CHARACTER_SHEHE_SHE
HighGodHerselfHimself = CHARACTER_HERSELF
HighGodHerHis = CHARACTER_HERHIS_HER
HighGodNameAlternate = shintoism_high_god_name_alternate
HighGodNameAlternatePossessive = shintoism_high_god_name_alternate_possessive
#Creator
CreatorName = shintoism_creator_god_name
CreatorNamePossessive = shintoism_creator_god_name_possessive
CreatorSheHe = CHARACTER_SHEHE_SHE
CreatorHerHis = CHARACTER_HERHIS_HER
CreatorHerHim = CHARACTER_HERHIM_HER
#HealthGod
HealthGodName = shintoism_health_god_name
HealthGodNamePossessive = shintoism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
#FertilityGod
FertilityGodName = shintoism_fertility_god_name
FertilityGodNamePossessive = shintoism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_THEY
FertilityGodHerHis = CHARACTER_HERHIS_THEIR
FertilityGodHerHim = CHARACTER_HERHIM_THEM
#WealthGod
WealthGodName = shintoism_wealth_god_name
WealthGodNamePossessive = shintoism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = shintoism_household_god_name
HouseholdGodNamePossessive = shintoism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_HE
HouseholdGodHerHis = CHARACTER_HERHIS_HIS
HouseholdGodHerHim = CHARACTER_HERHIM_HIM
#FateGod
FateGodName = shintoism_fate_god_name
FateGodNamePossessive = shintoism_fate_god_name_possessive
FateGodSheHe = CHARACTER_SHEHE_HE
FateGodHerHis = CHARACTER_HERHIS_HIS
FateGodHerHim = CHARACTER_HERHIM_HIM
#KnowledgeGod
KnowledgeGodName = shintoism_knowledge_god_name
KnowledgeGodNamePossessive = shintoism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = shintoism_war_god_name
WarGodNamePossessive = shintoism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#TricksterGod
TricksterGodName = shintoism_trickster_god_name
TricksterGodNamePossessive = shintoism_trickster_god_name_possessive
TricksterGodSheHe = CHARACTER_SHEHE_HE
TricksterGodHerHis = CHARACTER_HERHIS_HIS
TricksterGodHerHim = CHARACTER_HERHIM_HIM
#NightGod
NightGodName = shintoism_night_god_name
NightGodNamePossessive = shintoism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_THEY
NightGodHerHis = CHARACTER_HERHIS_THEIR
NightGodHerHim = CHARACTER_HERHIM_THEM
#WaterGod
WaterGodName = shintoism_water_god_name
WaterGodNamePossessive = shintoism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_HE
WaterGodHerHis = CHARACTER_HERHIS_HIS
WaterGodHerHim = CHARACTER_HERHIM_HIM
#Devil
DevilName = shintoism_devil_name
DevilNamePossessive = shintoism_devil_name_possessive
DevilSheHe = CHARACTER_SHEHE_HE
DevilHerHis = CHARACTER_HERHIS_HIS
DevilHerselfHimself = CHARACTER_HIMSELF
#Death
DeathDeityName = shintoism_death_deity_name
DeathDeityNamePossessive = shintoism_death_deity_name_possessive
DeathDeitySheHe = CHARACTER_SHEHE_SHE
DeathDeityHerHis = CHARACTER_HERHIS_HER
DeathDeityHerHim = CHARACTER_HERHIM_HER
#Witch
WitchGodName = shintoism_witch_god_name
WitchGodNamePossessive = shintoism_witch_god_name_possessive
WitchGodSheHe = CHARACTER_SHEHE_HE
WitchGodHerHim = CHARACTER_HERHIM_HIM
WitchGodMistressMaster = master
WitchGodMotherFather = father
WitchGodHerHis = CHARACTER_HERHIS_HIS
GoodGodNames = { shintoism_high_god_name }
EvilGodNames = { shintoism_evil_god_amatsu_mikaboshi }
PantheonTerm = religion_the_gods
PantheonTerm2 = religion_the_gods_2
PantheonTerm3 = religion_the_gods_3
PantheonTermHasHave = pantheon_term_have
HouseOfWorship = shintoism_house_of_worship
HouseOfWorship2 = shintoism_house_of_worship_2
HouseOfWorship3 = shintoism_house_of_worship_3
HouseOfWorshipPlural = shintoism_house_of_worship_plural
ReligiousSymbol = shintoism_religious_symbol
ReligiousSymbol2 = shintoism_religious_symbol_2
ReligiousSymbol3 = shintoism_religious_symbol_3
ReligiousText = shintoism_religious_text
ReligiousText2 = shintoism_religious_text_2
ReligiousText3 = shintoism_religious_text_3
ReligiousHeadName = shintoism_religious_head_title
ReligiousHeadTitleName = shintoism_religious_head_title_name
DevoteeMale = shintoism_devotee
DevoteeMalePlural = shintoism_devoteeplural
DevoteeFemale = shintoism_devotee
DevoteeFemalePlural = shintoism_devoteeplural
DevoteeNeuter = shintoism_devotee
DevoteeNeuterPlural = shintoism_devoteeplural
PriestMale = shinto_priest_male
PriestMalePlural = shinto_priest_male_plural
PriestFemale = shinto_priest_female
PriestFemalePlural = shinto_priest_female_plural
PriestNeuter = shinto_priest_neuter
PriestNeuterPlural = shinto_priest_neuter_plural
AltPriestTermPlural = shintoism_priest_alternate_plural
BishopMale = shinto_priest_male
BishopMalePlural = shinto_priest_male_plural
BishopFemale = shinto_priest_female
BishopFemalePlural = shinto_priest_female_plural
BishopNeuter = shinto_priest_male
BishopNeuterPlural = shinto_priest_male_plural
DivineRealm = shintoism_divine_realm
DivineRealm2 = shintoism_divine_realm_2
DivineRealm3 = shintoism_divine_realm_3
PositiveAfterLife = shintoism_afterlife
PositiveAfterLife2 = shintoism_afterlife_2
PositiveAfterLife3 = shintoism_afterlife_3
NegativeAfterLife = shintoism_afterlife
NegativeAfterLife2 = shintoism_afterlife_2
NegativeAfterLife3 = shintoism_afterlife_3
GHWName = ghw_great_holy_war
GHWNamePlural = ghw_great_holy_wars
}
faiths = {
shinto = {
color = { 188 0 45 }
icon = shinto
holy_site = ise_jingu
holy_site = itsukushima
holy_site = hachimangu
holy_site = kizuki
holy_site = kashima
doctrine = tenet_communal_identity
doctrine = tenet_ancestor_worship
doctrine = tenet_ritual_celebrations
}
}
}

View file

@ -0,0 +1,257 @@
taoism_religion = {
family = rf_sinitic
doctrine = eastern_hostility_doctrine
graphical_faith = sinitic_gfx
#Main Group
doctrine = doctrine_polytheist
doctrine = doctrine_no_head
doctrine = doctrine_gender_male_dominated
doctrine = doctrine_pluralism_pluralistic
doctrine = doctrine_theocracy_temporal
#Marriage
doctrine = doctrine_concubines
doctrine = doctrine_divorce_allowed
doctrine = doctrine_bastardry_none
doctrine = doctrine_consanguinity_dynastic
#Crimes
doctrine = doctrine_homosexuality_accepted
doctrine = doctrine_adultery_men_shunned
doctrine = doctrine_adultery_women_shunned
doctrine = doctrine_kinslaying_any_dynasty_member_crime
doctrine = doctrine_deviancy_shunned
doctrine = doctrine_witchcraft_accepted
#Clerical Functions
doctrine = doctrine_clerical_function_alms_and_pacification
doctrine = doctrine_clerical_gender_male_only
doctrine = doctrine_clerical_marriage_disallowed
doctrine = doctrine_clerical_succession_temporal_appointment
#Special Doctrine for Eastern Syncretism
doctrine = special_doctrine_is_sinitic_faith
doctrine = special_doctrine_immaterial_harmony
#Allow pilgrimages
doctrine = doctrine_pilgrimage_local_rites
#Funeral tradition
doctrine = doctrine_funeral_stoic
#Coronation tradition
doctrine = doctrine_no_anointment
traits = {
virtues = {
compassionate
content
humble
}
sins = {
sadistic
ambitious
arrogant
}
}
custom_faith_icons = {
custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 dualism_custom_1 zoroastrian_custom_1 zoroastrian_custom_2 buddhism_custom_1 buddhism_custom_2 buddhism_custom_3 buddhism_custom_4 taoism_custom_1 yazidi_custom_1 sunni_custom_2 sunni_custom_3 sunni_custom_4 muhakkima_1 muhakkima_2 muhakkima_4 muhakkima_5 muhakkima_6 judaism_custom_1 custom_faith_fp1_fenrir custom_faith_fp1_irminsul custom_faith_fp1_jormungandr custom_faith_fp1_odins_ravens custom_faith_fp1_runestone_moon custom_faith_fp1_thors_hammer custom_faith_fp1_valknut custom_faith_fp1_yggdrasil custom_faith_boromian_circles custom_faith_lotus custom_faith_aum_tibetan custom_faith_pentagram custom_faith_pentagram_inverted custom_faith_burning_bush custom_faith_allah custom_faith_gankyil custom_faith_eye_of_providence custom_faith_dove custom_faith_ichthys custom_faith_lamb custom_faith_black_sheep custom_faith_ankh custom_faith_chi_rho custom_faith_hamsa custom_faith_cool_s custom_faith_magatama custom_faith_soto custom_faith_benzhuism
}
localization = {
HighGodName = taoism_high_god_name
HighGodName2 = taoism_high_god_name_2
HighGodNamePossessive = taoism_high_god_name_possessive
HighGodNameSheHe = CHARACTER_SHEHE_IT
HighGodHerselfHimself = CHARACTER_ITSELF
HighGodHerHis = CHARACTER_HERHIS_ITS
HighGodNameAlternate = taoism_high_god_name_alternate
HighGodNameAlternatePossessive = taoism_high_god_name_alternate_possessive
#Creator
CreatorName = taoism_creator_god_name
CreatorNamePossessive = taoism_creator_god_name_possessive
CreatorSheHe = CHARACTER_SHEHE_HE
CreatorHerHis = CHARACTER_HERHIS_HIS
CreatorHerHim = CHARACTER_HERHIM_HIM
#HealthGod
HealthGodName = taoism_health_god_name
HealthGodNamePossessive = taoism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
#FertilityGod
FertilityGodName = taoism_fertility_god_name
FertilityGodNamePossessive = taoism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_HE
FertilityGodHerHis = CHARACTER_HERHIS_HIS
FertilityGodHerHim = CHARACTER_HERHIM_HIM
#WealthGod
WealthGodName = taoism_wealth_god_name
WealthGodNamePossessive = taoism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = taoism_household_god_name
HouseholdGodNamePossessive = taoism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_HE
HouseholdGodHerHis = CHARACTER_HERHIS_HIS
HouseholdGodHerHim = CHARACTER_HERHIM_HIM
#FateGod
FateGodName = taoism_fate_god_name
FateGodNamePossessive = taoism_fate_god_name_possessive
FateGodSheHe = CHARACTER_SHEHE_IT
FateGodHerHis = CHARACTER_HERHIS_ITS
FateGodHerHim = CHARACTER_HERHIM_IT
#KnowledgeGod
KnowledgeGodName = taoism_knowledge_god_name
KnowledgeGodNamePossessive = taoism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = taoism_war_god_name
WarGodNamePossessive = taoism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#TricksterGod
TricksterGodName = taoism_trickster_god_name
TricksterGodNamePossessive = taoism_trickster_god_name_possessive
TricksterGodSheHe = CHARACTER_SHEHE_SHE
TricksterGodHerHis = CHARACTER_HERHIS_HER
TricksterGodHerHim = CHARACTER_HERHIM_HER
#NightGod
NightGodName = taoism_night_god_name
NightGodNamePossessive = taoism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_SHE
NightGodHerHis = CHARACTER_HERHIS_HER
NightGodHerHim = CHARACTER_HERHIM_HER
#WaterGod
WaterGodName = taoism_water_god_name
WaterGodNamePossessive = taoism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_HE
WaterGodHerHis = CHARACTER_HERHIS_HIS
WaterGodHerHim = CHARACTER_HERHIM_HIM
PantheonTerm = religion_the_gods
PantheonTerm2 = religion_the_gods_2
PantheonTerm3 = religion_the_gods_3
PantheonTermHasHave = pantheon_term_have
GoodGodNames = {
taoism_good_god_name_three_pure_ones
taoism_wealth_god_name
taoism_health_god_name
taoism_knowledge_god_name
taoism_war_god_name
taoism_night_god_name
taoism_water_god_name
}
DevilName = taoism_devil_name
DevilNamePossessive = taoism_devil_name_possessive
DevilSheHe = CHARACTER_SHEHE_IT
DevilHerHis = CHARACTER_HERHIS_ITS
DevilHerselfHimself = CHARACTER_ITSELF
EvilGodNames = { taoism_devil_name }
HouseOfWorship = taoism_house_of_worship
HouseOfWorship2 = taoism_house_of_worship_2
HouseOfWorship3 = taoism_house_of_worship_3
HouseOfWorshipPlural = taoism_house_of_worship_plural
ReligiousSymbol = taoism_religious_symbol
ReligiousSymbol2 = taoism_religious_symbol_2
ReligiousSymbol3 = taoism_religious_symbol_3
ReligiousText = taoism_religious_text
ReligiousText2 = taoism_religious_text_2
ReligiousText3 = taoism_religious_text_3
ReligiousHeadName = taoism_religious_head_title
ReligiousHeadTitleName = taoism_religious_head_title_name
DevoteeMale = taoism_devotee_male
DevoteeMalePlural = taoism_devotee_male_plural
DevoteeFemale = taoism_devotee_female
DevoteeFemalePlural = taoism_devotee_female_plural
DevoteeNeuter = taoism_devotee_neuter
DevoteeNeuterPlural = taoism_devotee_neuter_plural
PriestMale = taoism_priest_male
PriestMalePlural = taoism_priest_male_plural
PriestFemale = taoism_priest_female
PriestFemalePlural = taoism_priest_female_plural
PriestNeuter = taoism_priest_neuter
PriestNeuterPlural = taoism_priest_neuter_plural
AltPriestTermPlural = taoism_alternate_priest_term_plural
BishopMale = taoism_priest_male
BishopMalePlural = taoism_priest_male_plural
BishopFemale = taoism_priest_female
BishopFemalePlural = taoism_priest_female_plural
BishopNeuter = taoism_priest_neuter
BishopNeuterPlural = taoism_priest_neuter_plural
DivineRealm = taoism_divine_realm
DivineRealm2 = taoism_divine_realm_2
DivineRealm3 = taoism_divine_realm_3
PositiveAfterLife = taoism_positive_afterlife
PositiveAfterLife2 = taoism_positive_afterlife_2
PositiveAfterLife3 = taoism_positive_afterlife_3
NegativeAfterLife = taoism_negative_afterlife
NegativeAfterLife2 = taoism_negative_afterlife_2
NegativeAfterLife3 = taoism_negative_afterlife_3
DeathDeityName = paganism_death_deity_name
DeathDeityNamePossessive = paganism_death_deity_name_possessive
DeathDeitySheHe = CHARACTER_SHEHE_IT
DeathDeityHerHis = CHARACTER_HERSHIS_ITS
DeathDeityHerHim = CHARACTER_HERHIM_IT
WitchGodName = witchgodname_taoism_daode_tianzun
WitchGodNamePossessive = witchgodname_taoism_daode_tianzun_possessive
WitchGodHerHis = CHARACTER_HERHIS_HER
WitchGodSheHe = CHARACTER_SHEHE_SHE
WitchGodHerHim = CHARACTER_HERHIM_HER
WitchGodMistressMaster = mistress
WitchGodMotherFather = mother
GHWName = ghw_purification
GHWNamePlural = ghw_purifications
}
faiths = {
zhengyi = {
color = { 8 140 131 }
icon = taoism
holy_site = mount_longhu # Where Zhang Daoling had obtained the Tao
holy_site = mount_wudang
holy_site = mount_qingcheng
holy_site = mount_tai
holy_site = luyi
#Main Group
doctrine = doctrine_spiritual_head
doctrine = doctrine_pluralism_righteous
#Crimes
doctrine = doctrine_adultery_men_crime
doctrine = doctrine_adultery_women_crime
doctrine = doctrine_deviancy_crime
#Clerical Functions
doctrine = doctrine_clerical_function_taxation
doctrine = doctrine_clerical_marriage_disallowed
doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
doctrine = tenet_communion
doctrine = tenet_esotericism
doctrine = tenet_mendicant_preachers
}
}
}

View file

@ -0,0 +1,257 @@
yazidi_religion = {
family = rf_abrahamic
graphical_faith = "islamic_gfx"
#STANDARD DOCTRINES:
#Abrahamic hostiliy group
doctrine = abrahamic_hostility_doctrine
# Main group
doctrine = doctrine_monotheist
doctrine = doctrine_gender_male_dominated
doctrine = doctrine_pluralism_righteous
doctrine = doctrine_temporal_head
doctrine = doctrine_clerical_succession_temporal_fixed_appointment
# Marriage
doctrine = doctrine_polygamy
doctrine = doctrine_divorce_allowed
doctrine = doctrine_bastardry_none
doctrine = doctrine_consanguinity_cousins
# Crimes
doctrine = doctrine_homosexuality_shunned
doctrine = doctrine_adultery_men_shunned
doctrine = doctrine_adultery_women_shunned
doctrine = doctrine_kinslaying_any_dynasty_member_crime
doctrine = doctrine_deviancy_shunned
doctrine = doctrine_witchcraft_crime
# Clerical
doctrine = doctrine_theocracy_lay_clergy
doctrine = doctrine_clerical_function_taxation
doctrine = doctrine_clerical_gender_male_only
doctrine = doctrine_clerical_marriage_allowed
#Allow pilgrimages
doctrine = doctrine_pilgrimage_encouraged
#Funeral tradition
doctrine = doctrine_funeral_stoic
#Coronation tradition
doctrine = doctrine_no_anointment
traits = {
virtues = { temperate generous just }
sins = { gluttonous greedy arbitrary }
}
custom_faith_icons = {
custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 dualism_custom_1 zoroastrian_custom_1 zoroastrian_custom_2 buddhism_custom_1 buddhism_custom_2 buddhism_custom_3 buddhism_custom_4 taoism_custom_1 yazidi_custom_1 sunni_custom_2 sunni_custom_3 sunni_custom_4 muhakkima_1 muhakkima_2 muhakkima_4 muhakkima_5 muhakkima_6 judaism_custom_1 custom_faith_fp1_fenrir custom_faith_fp1_irminsul custom_faith_fp1_jormungandr custom_faith_fp1_odins_ravens custom_faith_fp1_runestone_moon custom_faith_fp1_thors_hammer custom_faith_fp1_valknut custom_faith_fp1_yggdrasil custom_faith_boromian_circles custom_faith_lotus custom_faith_aum_tibetan custom_faith_pentagram custom_faith_pentagram_inverted custom_faith_burning_bush custom_faith_allah custom_faith_gankyil custom_faith_eye_of_providence custom_faith_dove custom_faith_ichthys custom_faith_lamb custom_faith_black_sheep custom_faith_ankh custom_faith_chi_rho custom_faith_hamsa custom_faith_cool_s custom_faith_magatama custom_faith_soto custom_faith_benzhuism
}
holy_order_names = {
{ name = "holy_order_servants_of_melek_taus" }
}
localization = {
#HighGod
HighGodName = yazidi_high_god_name
HighGodName2 = yazidi_high_god_name_2
HighGodNamePossessive = yazidi_high_god_name_possessive
HighGodNameSheHe = CHARACTER_SHEHE_HE
HighGodHerselfHimself = CHARACTER_HIMSELF
HighGodHerHis = CHARACTER_HERHIS_HIS
HighGodNameAlternate = yazidi_high_god_name_alternate
HighGodNameAlternatePossessive = yazidi_high_god_name_alternate_possessive
#Creator
CreatorName = yazidi_creator_god_name
CreatorNamePossessive = yazidi_creator_god_name_possessive
CreatorSheHe = CHARACTER_SHEHE_HE
CreatorHerHis = CHARACTER_HERHIS_HIS
CreatorHerHim = CHARACTER_HERHIM_HIM
#HealthGod
HealthGodName = yazidi_good_god_dadrail
HealthGodNamePossessive = yazidi_good_god_dadrail_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
#FertilityGod
FertilityGodName = yazidi_good_god_dadrail
FertilityGodNamePossessive = yazidi_good_god_dadrail_possessive
FertilityGodSheHe = CHARACTER_SHEHE_HE
FertilityGodHerHis = CHARACTER_HERHIS_HIS
FertilityGodHerHim = CHARACTER_HERHIM_HIM
#WealthGod
WealthGodName = yazidi_good_god_shemnail
WealthGodNamePossessive = yazidi_good_god_shemnail_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = yazidi_good_god_dadrail
HouseholdGodNamePossessive = yazidi_good_god_dadrail_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_HE
HouseholdGodHerHis = CHARACTER_HERHIS_HIS
HouseholdGodHerHim = CHARACTER_HERHIM_HIM
#FateGod
FateGodName = yazidi_high_god_name
FateGodNamePossessive = yazidi_high_god_name_possessive
FateGodSheHe = CHARACTER_SHEHE_HE
FateGodHerHis = CHARACTER_HERHIS_HIS
FateGodHerHim = CHARACTER_HERHIM_HIM
#KnowledgeGod
KnowledgeGodName = yazidi_good_god_azazil
KnowledgeGodNamePossessive = yazidi_good_god_azazil_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = yazidi_good_god_mikhail
WarGodNamePossessive = yazidi_good_god_mikhail_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#TricksterGod
TricksterGodName = islam_trickster_god_name
TricksterGodNamePossessive = islam_trickster_god_name_possessive
TricksterGodSheHe = CHARACTER_SHEHE_HE
TricksterGodHerHis = CHARACTER_HERHIS_HIS
TricksterGodHerHim = CHARACTER_HERHIM_HIM
#NightGod
NightGodName = yazidi_good_god_azazil
NightGodNamePossessive = yazidi_good_god_azazil_possessive
NightGodSheHe = CHARACTER_SHEHE_HE
NightGodHerHis = CHARACTER_HERHIS_HIS
NightGodHerHim = CHARACTER_HERHIM_HIM
#WaterGod
WaterGodName = yazidi_good_god_azrafil
WaterGodNamePossessive = yazidi_good_god_azrafil_possessive
WaterGodSheHe = CHARACTER_SHEHE_HE
WaterGodHerHis = CHARACTER_HERHIS_HIS
WaterGodHerHim = CHARACTER_HERHIM_HIM
PantheonTerm = christianity_high_god_name
PantheonTerm2 = christianity_high_god_name_2
PantheonTerm3 = christianity_high_god_name_3
PantheonTermHasHave = pantheon_term_has
GoodGodNames = {
yazidi_good_god_peacock_angel
yazidi_good_god_tawuse_melek
yazidi_good_god_seven_mysteries
islam_good_god_the_one
yazidi_good_god_azazil
yazidi_good_god_jabrail
yazidi_good_god_mikhail
yazidi_good_god_rafail
yazidi_good_god_dadrail
yazidi_good_god_azrafil
yazidi_good_god_shemnail
}
PriestMale = yazidi_priest
PriestMalePlural = yazidi_priest_plural
PriestFemale = yazidi_priest
PriestFemalePlural = yazidi_priest_plural
PriestNeuter = yazidi_priest
PriestNeuterPlural = yazidi_priest_plural
ReligiousHeadName = yazidi_religious_head_title
DevilName = islam_devil_name
DevilNamePossessive = islam_devil_name_possessive
DevilSheHe = CHARACTER_SHEHE_HE
DevilHerHis = CHARACTER_HERHIS_HIS
DevilHerselfHimself = CHARACTER_HIMSELF
EvilGodNames = {
islam_evil_god_iblis
}
HouseOfWorship = yazidi_house_of_worship
HouseOfWorship2 = yazidi_house_of_worship_2
HouseOfWorship3 = yazidi_house_of_worship_3
HouseOfWorshipPlural = yazidi_house_of_worship_plural
ReligiousSymbol = yazidi_religious_symbol
ReligiousSymbol2 = yazidi_religious_symbol_2
ReligiousSymbol3 = yazidi_religious_symbol_3
ReligiousText = yazidi_religious_text
ReligiousText2 = yazidi_religious_text_2
ReligiousText3 = yazidi_religious_text_3
ReligiousHeadName = yazidi_religious_head_title
ReligiousHeadTitleName = yazidi_religious_head_title_name
DevoteeMale = yazidi_devotee
DevoteeMalePlural = yazidi_devotee_plural
DevoteeFemale = yazidi_devotee
DevoteeFemalePlural = yazidi_devotee_plural
DevoteeNeuter = yazidi_devotee
DevoteeNeuterPlural = yazidi_devotee_plural
PriestMale = yazidi_priest
PriestMalePlural = yazidi_priest_plural
PriestFemale = yazidi_priest
PriestFemalePlural = yazidi_priest_plural
PriestNeuter = yazidi_priest
PriestNeuterPlural = yazidi_priest_plural
AltPriestTermPlural = yazidi_priest_alternate_plural
BishopMale = yazidi_bishop
BishopMalePlural = yazidi_bishop_plural
BishopFemale = yazidi_bishop
BishopFemalePlural = yazidi_bishop_plural
BishopNeuter = yazidi_bishop
BishopNeuterPlural = yazidi_bishop_plural
DivineRealm = yazidi_positive_afterlife
DivineRealm2 = yazidi_positive_afterlife_2
DivineRealm3 = yazidi_positive_afterlife_3
PositiveAfterLife = yazidi_positive_afterlife
PositiveAfterLife2 = yazidi_positive_afterlife_2
PositiveAfterLife3 = yazidi_positive_afterlife_3
NegativeAfterLife = yazidi_negative_afterlife
NegativeAfterLife2 = yazidi_negative_afterlife_2
NegativeAfterLife3 = yazidi_negative_afterlife_3
DeathDeityName = yazidi_good_god_azazil
DeathDeityNamePossessive = yazidi_good_god_azazil_possessive
DeathDeitySheHe = CHARACTER_SHEHE_HE
DeathDeityHerHis = CHARACTER_HERHIS_HIS
DeathDeityHerHim = CHARACTER_HERHIM_HIM
WitchGodName = christianity_witchgodname_iblis
WitchGodNamePossessive = christianity_witchgodname_iblis_possessive
WitchGodHerHis = CHARACTER_HERHIS_HIS
WitchGodSheHe = CHARACTER_SHEHE_HE
WitchGodHerHim = CHARACTER_HERHIM_HIM
WitchGodMistressMaster = master
WitchGodMotherFather = father
GHWName = ghw_great_holy_war
GHWNamePlural = ghw_great_holy_wars
}
faiths = {
yazidi = {
color = { 0.2 0.2 0.7 }
icon = yazidism
holy_site = sinjar
holy_site = baalbek
holy_site = lalish
holy_site = nishapur
holy_site = dashtestan
#Tenet
doctrine = tenet_communal_identity
doctrine = tenet_reincarnation
doctrine = tenet_islamic_syncretism
}
}
}

View file

@ -2148,7 +2148,7 @@ roman_restoration.0130 = {
# Muslim Reaction
triggered_desc = {
trigger = {
root.faith.religion = faith:ashari.religion
root.faith.religion = faith:aqlani.religion
}
desc = roman_restoration.0130.desc.muslim
}
@ -2163,7 +2163,7 @@ roman_restoration.0130 = {
triggered_desc = {
trigger = {
NOR = {
root.faith.religion = faith:ashari.religion
root.faith.religion = faith:aqlani.religion
root.faith.religion = faith:hellenic_pagan.religion
}
}
@ -2235,7 +2235,7 @@ roman_restoration.0130 = {
option = {
name = {
trigger = {
faith.religion = faith:ashari.religion
faith.religion = faith:aqlani.religion
}
text = roman_restoration.0130.a.a
}
@ -2248,7 +2248,7 @@ roman_restoration.0130 = {
name = {
trigger = {
NOR = {
faith.religion = faith:ashari.religion
faith.religion = faith:aqlani.religion
faith.religion = faith:hellenic_pagan.religion
}
}

View file

@ -0,0 +1,720 @@
namespace = ach_maintenance_events
ach_maintenance_events.0001 = { # Clean up of Coronation realm law, will happen 1 tick after you gain the title (due to on_actions)
type = character_event
hidden = yes
trigger = {
coronation_trigger = yes
}
immediate = {
if = {
limit = {
NOT = {
has_game_rule = coronation_laws_off
}
}
if = {
limit = {
has_variable = crowned_king_var
NOT = { has_realm_law = crowned_king }
}
add_realm_law_skip_effects = crowned_king
}
else_if = {
limit = {
has_variable = crowned_emperor_var
NOT = { has_realm_law = crowned_emperor }
}
add_realm_law_skip_effects = crowned_emperor
}
else_if = {
limit = {
NOR = {
has_variable = crowned_king_var
has_variable = crowned_emperor_var
}
NOT = { has_realm_law = uncrowned }
}
add_realm_law_skip_effects = uncrowned
}
}
}
}
ach_maintenance_events.0002 = { # ACH Oath synergy culture rewards
type = character_event
hidden = yes
trigger = {
has_variable = mend_the_fracture_oath_target_culture
culture ?= {
has_cultural_tradition = oath_mend_the_fracture_tradition
}
top_liege = root
var:mend_the_fracture_oath_target_culture = {
has_cultural_tradition = oath_mend_the_fracture_tradition
NOT = { this = root.culture }
any_culture_county = {
count >= 3
top_liege = root.top_liege
}
}
}
immediate = {
# calculate the chances of a positive thing happening
set_variable = {
name = synergy_cultures_chance
value = 0.1
}
set_variable = {
name = synergy_cultures_amount
value = 0
}
var:mend_the_fracture_oath_target_culture = {
if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 99
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.4
}
}
}
else_if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 80
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.3
}
}
}
else_if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 60
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
}
else_if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 40
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
}
if = {
limit = {
culture_head ?= {
opinion = {
target = root
value >= 80
}
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.3
}
}
}
else_if = {
limit = {
culture_head ?= {
opinion = {
target = root
value >= 40
}
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
}
else_if = {
limit = {
culture_head ?= {
opinion = {
target = root
value >= 20
}
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
}
}
if = {
limit = {
exists = var:mend_the_fracture_oath_target_culture.culture_head
}
if = {
limit = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value >= 80
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.3
}
}
}
else_if = {
limit = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value >= 40
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
}
else_if = {
limit = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value >= 20
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
}
}
if = {
limit = {
prestige_level = 5
}
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
else_if = {
limit = {
prestige_level = 4
}
change_variable = {
name = synergy_cultures_chance
add = 0.15
}
}
else_if = {
limit = {
prestige_level = 3
}
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
else_if = {
limit = {
prestige_level = 2
}
change_variable = {
name = synergy_cultures_chance
add = 0.05
}
}
else_if = {
limit = {
prestige_level = 1
}
change_variable = {
name = synergy_cultures_chance
add = 0.02
}
}
if = {
limit = {
var:synergy_cultures_chance >= 1
}
change_variable = {
name = synergy_cultures_amount
add = var:synergy_cultures_chance
multiply = 2
}
set_variable = {
name = synergy_cultures_chance
value = 1
}
}
# calculate the amount of a positive things happening
var:mend_the_fracture_oath_target_culture = {
every_culture_county = {
limit = {
top_liege = root.top_liege
}
change_variable = {
name = synergy_cultures_amount
add = 1
}
}
}
change_variable = {
name = synergy_cultures_amount
multiply = 0.2
multiply = var:synergy_cultures_chance
min = 1
}
while = {
limit = {
var:synergy_cultures_amount > 0
}
random_list = {
1 = {
culture ?= {
random_culture_county = {
limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
holder = root
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
top_liege = root.top_liege
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
}
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 2
}
add_to_list = synergy_culture_counties
}
}
var:mend_the_fracture_oath_target_culture = {
random_culture_county = {
limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
holder = root
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
top_liege = root.top_liege
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
}
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 3
}
add_to_list = synergy_culture_counties
}
}
save_scope_as = county_reward
}
1 = {
modifier = {
NOT = {
root.culture.culture_head ?= root
}
factor = 0
}
spawn_army = {
name = ach_culture_synergy_troops
men_at_arms = {
type = accolade_maa_archers
stacks = 1
}
men_at_arms = {
type = accolade_maa_skirmishers
stacks = 1
}
location = root.capital_province
uses_supply = no
inheritable = yes
}
var:mend_the_fracture_oath_target_culture = {
if = {
limit = {
NOT = {
culture_head ?= root
}
}
}
culture_head ?= {
spawn_army = {
name = ach_culture_synergy_troops
men_at_arms = {
type = accolade_maa_skirmishers
stacks = 1
}
location = root.capital_province
uses_supply = no
inheritable = yes
}
}
}
save_scope_as = army_reward
}
1 = {
modifier = {
NOT = {
root.culture.culture_head ?= root
var:mend_the_fracture_oath_target_culture.culture_head != root
}
factor = 0
}
modifier = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value = 100
}
factor = 0
}
add_opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
opinion = 20
modifier = ach_synergy_culture_opinion
}
save_scope_as = opinion_reward
}
}
change_variable = {
name = synergy_cultures_amount
subtract = 1
}
}
# inform the player about what happened
send_interface_message = {
title = ach_maintenance_events.0002.title
if = {
limit = {
exists = scope:army_reward
}
custom_tooltip = ach_maintenance_events.0002.army_reward
}
if = {
limit = {
exists = scope:opinion_reward
}
custom_tooltip = ach_maintenance_events.0002.opinion_reward
}
if = {
limit = {
exists = scope:county_reward
}
every_in_list = {
list = synergy_culture_counties
show_as_tooltip = {
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 2
}
}
}
}
}
if = {
limit = {
var:mend_the_fracture_oath_target_culture = {
any_culture_county = {
holder = {
culture = var:mend_the_fracture_oath_target_culture
is_ai = no
}
}
}
}
send_interface_message = {
title = ach_maintenance_events.0002.title
if = {
limit = {
exists = scope:army_reward
}
custom_tooltip = ach_maintenance_events.0002.army_reward
}
if = {
limit = {
exists = scope:opinion_reward
}
custom_tooltip = ach_maintenance_events.0002.opinion_reward
}
if = {
limit = {
exists = scope:county_reward
}
every_in_list = {
list = synergy_culture_counties
show_as_tooltip = {
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 2
}
}
}
}
}
}
remove_variable = synergy_cultures_chance
remove_variable = synergy_cultures_amount
}
}
ach_maintenance_events.0100 = { #Coronation host is ded, notify guests
type = character_event
title = ach_maintenance_events.0100.t
desc = ach_maintenance_events.0100.desc
theme = realm
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:host
animation = dead
}
immediate = {
}
option = {
name = ach_maintenance_events.0100.a
}
}
ach_maintenance_events.0101 = { #Coronation host has been imprisoned, notify guests
type = character_event
title = ach_maintenance_events.0101.t
desc = ach_maintenance_events.0101.desc
theme = realm
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:host
animation = prisonhouse
}
lower_left_portrait = {
character = scope:gaoler
}
immediate = {
scope:host.imprisoner = {
save_scope_as = gaoler
}
}
trigger = {
NOT = { #you know what you did
this = scope:host.imprisoner
}
}
option = {
name = ach_maintenance_events.0101.a
}
}
ach_maintenance_events.0102 = { #Coronation host has been imprisoned, notify host and cancellation
type = character_event
title = ach_maintenance_events.0102.t
desc = ach_maintenance_events.0102.desc
theme = realm
left_portrait = {
character = root
animation = prisonhouse
}
right_portrait = {
character = scope:gaoler
animation = manic
}
immediate = {
scope:host.imprisoner = {
save_scope_as = gaoler
}
}
option = {
name = ach_maintenance_events.0102.a
}
}
ach_maintenance_events.0103 = { #No one shows up, notify host
type = character_event
title = ach_maintenance_events.0103.t
desc = ach_maintenance_events.0103.desc
theme = realm
left_portrait = {
character = root
animation = worry
}
immediate = {
}
option = {
name = ach_maintenance_events.0103.a
}
}
ach_maintenance_events.0104 = { #Officiator ded, host cancelled the coronation, notify guests
type = character_event
title = ach_maintenance_events.0104.t
desc = ach_maintenance_events.0104.desc
theme = realm
left_portrait = {
character = root
animation = stunned
}
right_portrait = {
character = scope:host
animation = wailing
}
lower_right_portrait = {
character = scope:dead_officiator
}
immediate = {
scope:activity.var:officiator ?= { save_scope_as = dead_officiator }
}
option = {
name = ach_maintenance_events.0104.a
}
}
ach_maintenance_events.0105 = { #Host excommunicated, notify guests
type = character_event
title = ach_maintenance_events.0105.t
desc = ach_maintenance_events.0105.desc
theme = realm
left_portrait = {
character = root
animation = worry
}
center_portrait = {
character = scope:host
animation = shame
}
right_portrait = {
character = scope:hof
animation = go_to_your_room
}
immediate = {
scope:host.faith.religious_head = { save_scope_as = hof }
}
option = {
name = ach_maintenance_events.0105.a
}
}
ach_maintenance_events.0106 = { #Host excommunicated, notify host
type = character_event
title = ach_maintenance_events.0106.t
desc = ach_maintenance_events.0106.desc
theme = realm
left_portrait = {
character = root
animation = shame
}
right_portrait = {
character = scope:hof
animation = go_to_your_room
}
immediate = {
scope:hof.faith.religious_head = { save_scope_as = hof }
}
option = {
name = ach_maintenance_events.0106.a
}
}

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,514 @@
namespace = bp2_character_interaction
# Influence Ward's Personality - Success Event
bp2_character_interaction.1001 = {
type = character_event
content_source = dlc_009
title = bp2_character_interaction.1001.t
desc = {
desc = bp2_character_interaction.1001.desc_intro
first_valid = {
triggered_desc = {
trigger = { scope:target_trait = trait:lustful }
desc = bp2_character_interaction.1001.desc_lustful
}
triggered_desc = {
trigger = { scope:target_trait = trait:chaste }
desc = bp2_character_interaction.1001.desc_chaste
}
triggered_desc = {
trigger = { scope:target_trait = trait:gluttonous }
desc = bp2_character_interaction.1001.desc_gluttonous
}
triggered_desc = {
trigger = { scope:target_trait = trait:temperate }
desc = bp2_character_interaction.1001.desc_temperate
}
triggered_desc = {
trigger = { scope:target_trait = trait:greedy }
desc = bp2_character_interaction.1001.desc_greedy
}
triggered_desc = {
trigger = { scope:target_trait = trait:generous }
desc = bp2_character_interaction.1001.desc_generous
}
triggered_desc = {
trigger = { scope:target_trait = trait:lazy }
desc = bp2_character_interaction.1001.desc_lazy
}
triggered_desc = {
trigger = { scope:target_trait = trait:diligent }
desc = bp2_character_interaction.1001.desc_diligent
}
triggered_desc = {
trigger = { scope:target_trait = trait:wrathful }
desc = bp2_character_interaction.1001.desc_wrathful
}
triggered_desc = {
trigger = { scope:target_trait = trait:calm }
desc = bp2_character_interaction.1001.desc_calm
}
triggered_desc = {
trigger = { scope:target_trait = trait:patient }
desc = bp2_character_interaction.1001.desc_patient
}
triggered_desc = {
trigger = { scope:target_trait = trait:impatient }
desc = bp2_character_interaction.1001.desc_impatient
}
triggered_desc = {
trigger = { scope:target_trait = trait:arrogant}
desc = bp2_character_interaction.1001.desc_arrogant
}
triggered_desc = {
trigger = { scope:target_trait = trait:humble }
desc = bp2_character_interaction.1001.desc_humble
}
triggered_desc = {
trigger = { scope:target_trait = trait:deceitful }
desc = bp2_character_interaction.1001.desc_deceitful
}
triggered_desc = {
trigger = { scope:target_trait = trait:honest }
desc = bp2_character_interaction.1001.desc_honest
}
triggered_desc = {
trigger = { scope:target_trait = trait:craven }
desc = bp2_character_interaction.1001.desc_craven
}
triggered_desc = {
trigger = {
scope:target_trait = trait:brave
scope:recipient = { is_landed = yes }
}
desc = bp2_character_interaction.1001.desc_brave_self
}
triggered_desc = {
trigger = {
scope:target_trait = trait:brave
scope:recipient = { exists = liege }
}
desc = bp2_character_interaction.1001.desc_brave_liege
}
triggered_desc = {
trigger = {
scope:target_trait = trait:brave
}
desc = bp2_character_interaction.1001.desc_brave_root
}
triggered_desc = {
trigger = { scope:target_trait = trait:shy }
desc = bp2_character_interaction.1001.desc_shy
}
triggered_desc = {
trigger = { scope:target_trait = trait:gregarious }
desc = bp2_character_interaction.1001.desc_gregarious
}
triggered_desc = {
trigger = { scope:target_trait = trait:ambitious }
desc = bp2_character_interaction.1001.desc_ambitious
}
triggered_desc = {
trigger = { scope:target_trait = trait:content }
desc = bp2_character_interaction.1001.desc_content
}
triggered_desc = {
trigger = { scope:target_trait = trait:arbitrary }
desc = bp2_character_interaction.1001.desc_arbitrary
}
triggered_desc = {
trigger = { scope:target_trait = trait:just }
desc = bp2_character_interaction.1001.desc_just
}
triggered_desc = {
trigger = { scope:target_trait = trait:cynical }
desc = bp2_character_interaction.1001.desc_cynical
}
triggered_desc = {
trigger = { scope:target_trait = trait:zealous }
desc = bp2_character_interaction.1001.desc_zealous
}
triggered_desc = {
trigger = { scope:target_trait = trait:paranoid }
desc = bp2_character_interaction.1001.desc_paranoid
}
triggered_desc = {
trigger = { scope:target_trait = trait:trusting }
desc = bp2_character_interaction.1001.desc_trusting
}
triggered_desc = {
trigger = { scope:target_trait = trait:compassionate }
desc = bp2_character_interaction.1001.desc_compassionate
}
triggered_desc = {
trigger = { scope:target_trait = trait:callous }
desc = bp2_character_interaction.1001.desc_callous
}
triggered_desc = {
trigger = { scope:target_trait = trait:sadistic }
desc = bp2_character_interaction.1001.desc_sadistic
}
triggered_desc = {
trigger = { scope:target_trait = trait:stubborn }
desc = bp2_character_interaction.1001.desc_stubborn
}
triggered_desc = {
trigger = { scope:target_trait = trait:fickle }
desc = bp2_character_interaction.1001.desc_fickle
}
triggered_desc = {
trigger = { scope:target_trait = trait:eccentric }
desc = bp2_character_interaction.1001.desc_eccentric
}
triggered_desc = {
trigger = { scope:target_trait = trait:vengeful }
desc = bp2_character_interaction.1001.desc_vengeful
}
triggered_desc = {
trigger = { scope:target_trait = trait:forgiving }
desc = bp2_character_interaction.1001.desc_forgiving
}
}
}
theme = family
override_background = {
trigger = {
scope:recipient = {
age < 12
}
}
reference = bp2_nursery
}
override_background = {
trigger = {
scope:recipient = {
age >= 12
}
}
reference = garden
}
left_portrait = {
character = root
animation = happiness
}
right_portrait = {
character = scope:recipient
triggered_animation = {
trigger = {
OR = {
scope:target_trait = trait:greedy
scope:target_trait = trait:generous
}
}
animation = hunting_shortbow_rest_arrow_default
}
animation = admiration
}
trigger = {
exists = scope:target_trait
}
immediate = {
scope:recipient = {
set_favorite_toy_effect = yes
}
}
option = {
name = bp2_character_interaction.1001.a
flavor = bp2_character_interaction.1001.a.flavor
add_opinion = {
target = scope:recipient
modifier = pleased_opinion
opinion = 20
}
scope:recipient = {
add_trait = scope:target_trait
add_opinion = {
target = root
modifier = admiration_opinion
opinion = 20
}
}
if = {
limit = {
scope:recipient = {
any_parent = {
this != root
is_ai = no
}
}
}
scope:recipient = {
every_parent = {
limit = {
this != root
is_ai = no
}
send_interface_message = {
type = event_childhood_good_text
title = guardian_influenced_personality
desc = guardian_influenced_personality_desc
left_icon = scope:recipient
right_icon = scope:actor
}
}
}
}
stress_impact = {
base = minor_stress_impact_gain
}
}
}
# Influence Ward's Personality - Basic Failure Event
bp2_character_interaction.1002 = {
type = character_event
content_source = dlc_009
title = bp2_character_interaction.1002.t
desc = {
desc = bp2_character_interaction.1002.desc_intro
first_valid = {
triggered_desc = {
trigger = { scope:target_trait = trait:lustful }
desc = bp2_character_interaction.1002.desc_lustful
}
triggered_desc = {
trigger = { scope:target_trait = trait:chaste }
desc = bp2_character_interaction.1002.desc_chaste
}
triggered_desc = {
trigger = { scope:target_trait = trait:gluttonous }
desc = bp2_character_interaction.1002.desc_gluttonous
}
triggered_desc = {
trigger = { scope:target_trait = trait:temperate }
desc = bp2_character_interaction.1002.desc_temperate
}
triggered_desc = {
trigger = { scope:target_trait = trait:greedy }
desc = bp2_character_interaction.1002.desc_greedy
}
triggered_desc = {
trigger = { scope:target_trait = trait:generous }
desc = bp2_character_interaction.1002.desc_generous
}
triggered_desc = {
trigger = { scope:target_trait = trait:lazy }
desc = bp2_character_interaction.1002.desc_lazy
}
triggered_desc = {
trigger = { scope:target_trait = trait:diligent }
desc = bp2_character_interaction.1002.desc_diligent
}
triggered_desc = {
trigger = { scope:target_trait = trait:wrathful }
desc = bp2_character_interaction.1002.desc_wrathful
}
triggered_desc = {
trigger = { scope:target_trait = trait:calm }
desc = bp2_character_interaction.1002.desc_calm
}
triggered_desc = {
trigger = { scope:target_trait = trait:patient }
desc = bp2_character_interaction.1002.desc_patient
}
triggered_desc = {
trigger = { scope:target_trait = trait:impatient }
desc = bp2_character_interaction.1002.desc_impatient
}
triggered_desc = {
trigger = { scope:target_trait = trait:arrogant}
desc = bp2_character_interaction.1002.desc_arrogant
}
triggered_desc = {
trigger = { scope:target_trait = trait:humble }
desc = bp2_character_interaction.1002.desc_humble
}
triggered_desc = {
trigger = { scope:target_trait = trait:deceitful }
desc = bp2_character_interaction.1002.desc_deceitful
}
triggered_desc = {
trigger = { scope:target_trait = trait:honest }
desc = bp2_character_interaction.1002.desc_honest
}
triggered_desc = {
trigger = { scope:target_trait = trait:craven }
desc = bp2_character_interaction.1002.desc_craven
}
triggered_desc = {
trigger = { scope:target_trait = trait:brave }
desc = bp2_character_interaction.1002.desc_brave
}
triggered_desc = {
trigger = { scope:target_trait = trait:shy }
desc = bp2_character_interaction.1002.desc_shy
}
triggered_desc = {
trigger = { scope:target_trait = trait:gregarious }
desc = bp2_character_interaction.1002.desc_gregarious
}
triggered_desc = {
trigger = { scope:target_trait = trait:ambitious }
desc = bp2_character_interaction.1002.desc_ambitious
}
triggered_desc = {
trigger = { scope:target_trait = trait:content }
desc = bp2_character_interaction.1002.desc_content
}
triggered_desc = {
trigger = { scope:target_trait = trait:arbitrary }
desc = bp2_character_interaction.1002.desc_arbitrary
}
triggered_desc = {
trigger = { scope:target_trait = trait:just }
desc = bp2_character_interaction.1002.desc_just
}
triggered_desc = {
trigger = { scope:target_trait = trait:cynical }
desc = bp2_character_interaction.1002.desc_cynical
}
triggered_desc = {
trigger = { scope:target_trait = trait:zealous }
desc = bp2_character_interaction.1002.desc_zealous
}
triggered_desc = {
trigger = { scope:target_trait = trait:paranoid }
desc = bp2_character_interaction.1002.desc_paranoid
}
triggered_desc = {
trigger = { scope:target_trait = trait:trusting }
desc = bp2_character_interaction.1002.desc_trusting
}
triggered_desc = {
trigger = { scope:target_trait = trait:compassionate }
desc = bp2_character_interaction.1002.desc_compassionate
}
triggered_desc = {
trigger = { scope:target_trait = trait:callous }
desc = bp2_character_interaction.1002.desc_callous
}
triggered_desc = {
trigger = { scope:target_trait = trait:sadistic }
desc = bp2_character_interaction.1002.desc_sadistic
}
triggered_desc = {
trigger = { scope:target_trait = trait:stubborn }
desc = bp2_character_interaction.1002.desc_stubborn
}
triggered_desc = {
trigger = { scope:target_trait = trait:fickle }
desc = bp2_character_interaction.1002.desc_fickle
}
triggered_desc = {
trigger = { scope:target_trait = trait:eccentric }
desc = bp2_character_interaction.1002.desc_eccentric
}
triggered_desc = {
trigger = { scope:target_trait = trait:vengeful }
desc = bp2_character_interaction.1002.desc_vengeful
}
triggered_desc = {
trigger = { scope:target_trait = trait:forgiving }
desc = bp2_character_interaction.1002.desc_forgiving
}
}
}
theme = family
override_background = {
trigger = {
scope:recipient = {
age < 12
}
}
reference = bp2_nursery
}
override_background = {
trigger = {
scope:recipient = {
age >= 12
}
}
reference = garden
}
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:recipient
triggered_animation = {
trigger = {
OR = {
scope:target_trait = trait:greedy
scope:target_trait = trait:generous
}
}
animation = hunting_shortbow_rest_arrow_default
}
triggered_animation = {
trigger = { scope:target_trait = trait:paranoid }
animation = disapproval
}
triggered_animation = {
trigger = { scope:recipient = { age >= 12 } }
animation = shame
}
animation = clutching_toy
}
immediate = {
scope:recipient = {
set_favorite_toy_effect = yes
}
}
option = {
name = bp2_character_interaction.1002.a
flavor = bp2_character_interaction.1002.a.flavor
scope:recipient = {
add_opinion = {
target = root
modifier = confused_opinion
opinion = -20
}
}
add_opinion = {
target = scope:recipient
modifier = disappointed_opinion
opinion = -20
}
if = {
limit = {
scope:recipient = {
any_parent = {
this != root
is_ai = no
}
}
}
scope:recipient = {
every_parent = {
limit = {
this != root
is_ai = no
}
send_interface_message = {
type = event_childhood_bad_text
title = guardian_influenced_personality_fail
desc = guardian_influenced_personality_fail_desc
left_icon = scope:recipient
right_icon = scope:actor
}
}
}
}
stress_impact = {
base = medium_stress_impact_gain
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,831 @@
namespace = bp2_decision
##################################################
#
# FIND WET NURSE
# 0001 Find a character to be a wet nurse
#
##################################################
bp2_decision.0001 = { #find wet nurse candidates
type = character_event
content_source = dlc_009
title = bp2_decision.0001.t
desc = {
first_valid = {
triggered_desc = {
trigger = { exists = root.primary_spouse }
desc = bp2_decision.0001.desc
}
desc = bp2_decision.0001.desc_widower
}
}
theme = family
override_background = {
reference = bp2_nursery
}
left_portrait = {
character = scope:wet_nurse_candidate_1
}
right_portrait = {
character = scope:wet_nurse_candidate_2
}
immediate = {
if = {
limit = {
any_spouse = { }
}
random_spouse = {
save_scope_as = spouse
}
}
hidden_effect = {
if = {
limit = {
exists = capital_province
any_pool_character = {
province = root.capital_province
can_be_employed_as = wet_nurse_court_position
}
}
random_pool_character = {
province = root.capital_province
limit = { can_be_employed_as = wet_nurse_court_position}
save_scope_as = wet_nurse_candidate_1
}
if = {
limit = {
exists = capital_province
any_pool_character = {
province = root.capital_province
can_be_employed_as = wet_nurse_court_position
this != scope:wet_nurse_candidate_1
}
}
save_scope_as = wet_nurse_candidate_2
}
else = {
create_character = { #create poor candidate without a child
template = generic_peasant_character
gender = female
age = { 18 25 }
culture = root.culture
faith = root.faith
location = root.location
save_scope_as = wet_nurse_candidate_2
}
}
}
else = {
create_character = { #create a good candidate with a child
template = bp2_wet_nurse_template
location = root.location
save_scope_as = wet_nurse_candidate_1
}
create_character = {
template = peasant_child_character
age = { 0 5 }
culture = root.culture
faith = root.faith
location = root.location
save_scope_as = wet_nurse_candidate_1_child
}
scope:wet_nurse_candidate_1_child = {
set_mother = scope:wet_nurse_candidate_1
}
create_character = { #create poor candidate without a child
template = generic_peasant_character
gender = female
age = { 18 25 }
culture = root.culture
faith = root.faith
location = root.location
save_scope_as = wet_nurse_candidate_2
}
}
}
}
# Expensive wet nurse with great health and a chance for good trait
option = {
name = bp2_decision.0001.a
custom_tooltip = bp2_decision.0001.a.aptitude
pay_treasury_or_gold = {
target = scope:wet_nurse_candidate_1
value = tiny_treasury_or_gold_value
}
hidden_effect = {
add_courtier = scope:wet_nurse_candidate_1
add_courtier = scope:wet_nurse_candidate_1_child
}
if = { #reappoint the former wet nurse, fire current one if exists
limit = {
employs_court_position = wet_nurse_court_position
}
every_court_position_holder = {
type = wet_nurse_court_position
save_temporary_scope_as = current_wet_nurse
}
replace_court_position = {
recipient = scope:wet_nurse_candidate_1
holder = scope:current_wet_nurse
court_position = wet_nurse_court_position
}
}
else = {
appoint_court_position = {
recipient = scope:wet_nurse_candidate_1
court_position = wet_nurse_court_position
}
}
stress_impact = {
greedy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = greedy
add = -100
}
modifier = {
short_term_gold < minor_gold_value
factor = 0
}
}
}
# Cheaper wet nurse; all random traits
option = {
name = bp2_decision.0001.b
custom_tooltip = bp2_decision.0001.b.aptitude
pay_treasury_or_gold = {
target = scope:wet_nurse_candidate_2
value = {
add = tiny_treasury_or_gold_value
divide = 3
}
}
hidden_effect = {
add_courtier = scope:wet_nurse_candidate_2
}
if = { #reappoint the former wet nurse, fire current one if exists
limit = {
employs_court_position = wet_nurse_court_position
}
every_court_position_holder = {
type = wet_nurse_court_position
save_temporary_scope_as = current_wet_nurse
}
replace_court_position = {
recipient = scope:wet_nurse_candidate_2
holder = scope:current_wet_nurse
court_position = wet_nurse_court_position
}
}
else = {
appoint_court_position = {
recipient = scope:wet_nurse_candidate_2
court_position = wet_nurse_court_position
}
}
stress_impact = {
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
short_term_gold < tiny_gold_value_check
factor = 0
}
}
}
# On seconds thoughts, I won't hire a wet nurse at all...
option = {
name = bp2_decision.0001.c
ai_chance = {
base = 0
modifier = {
short_term_gold < tiny_gold_value_check
add = 10
}
}
}
after = {
if = {
limit = { scope:wet_nurse_candidate_1 = { has_court_position = wet_nurse_court_position } }
scope:wet_nurse_candidate_2 = {
silent_disappearance_effect = yes
}
}
else_if = {
limit = { scope:wet_nurse_candidate_2 = { has_court_position = wet_nurse_court_position } }
scope:wet_nurse_candidate_1 = {
silent_disappearance_effect = yes
}
scope:wet_nurse_candidate_1_child = {
silent_disappearance_effect = yes
}
}
else = {
scope:wet_nurse_candidate_1 = {
silent_disappearance_effect = yes
}
scope:wet_nurse_candidate_2 = {
silent_disappearance_effect = yes
}
scope:wet_nurse_candidate_1_child = {
silent_disappearance_effect = yes
}
}
}
}
bp2_decision.0002 = { #rites of passage
type = character_event
content_source = dlc_009
title = bp2_decision.0002.t
desc = {
first_valid = {
triggered_desc = {
trigger = { scope:teentribal != root }
desc = bp2_decision.0002.desc
}
desc = bp2_decision.0002.desc_root
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:duel
}
}
}
desc = bp2_decision.0002.desc_duel
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:scarification
}
}
}
desc = bp2_decision.0002.desc_scarification
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:seclusion
}
}
}
desc = bp2_decision.0002.desc_seclusion
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:hair_shaving
}
}
}
desc = bp2_decision.0002.desc_hair_shaving
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:cleansing
}
}
}
desc = bp2_decision.0002.desc_cleansing
}
first_valid = {
triggered_desc = {
trigger = { scope:teentribal != root }
desc = bp2_decision.0002.desc_end
}
desc = bp2_decision.0002.desc_end_root
}
}
theme = family
override_background = {
reference = holy_site_generic_scope
}
left_portrait = {
character = root
animation = war_defender
}
right_portrait = {
trigger = { scope:teentribal != root }
character = scope:teentribal
animation = throne_room_bow_1
}
lower_right_portrait = {
trigger = { exists = scope:priest }
character = scope:priest
}
immediate = {
capital_province = {
save_scope_as = holy_site_scope
}
location = {
save_scope_as = rite_location
}
if = {
limit = {
is_landed = yes
character_can_rites_of_passage_trigger = yes
}
save_scope_as = teentribal
}
else_if = {
limit = {
any_child = {
character_can_rites_of_passage_trigger = yes
}
}
save_scope_as = liege
random_child = {
limit = {
character_can_rites_of_passage_trigger = yes
}
weight = {
base = 1
modifier = {
has_character_flag = unproven_adult_flag
add = 100
}
modifier = {
is_primary_heir_of = scope:liege
add = 100
}
modifier = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
add = 10
}
}
save_scope_as = teentribal
}
}
else_if = {
limit = {
any_courtier = {
is_hostage_of = root
character_can_rites_of_passage_trigger = yes
}
}
save_scope_as = liege
random_courtier = {
limit = {
is_hostage_of = root
character_can_rites_of_passage_trigger = yes
}
weight = {
base = 1
modifier = {
has_character_flag = unproven_adult_flag
add = 100
}
modifier = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
add = 10
}
}
save_scope_as = teentribal
}
}
if = { #grab a court chaplain if you have one
limit = {
cp:councillor_court_chaplain ?= {
is_available_ai_adult = yes
}
}
cp:councillor_court_chaplain = {
save_scope_as = priest
}
}
if = { #duel rite for warrior cultures
limit = {
culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:duel
}
}
}
if = { #scarification rite for warrior cultures
limit = {
culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
has_cultural_pillar = ethos_communal
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:scarification
}
}
}
if = { #seclusion rite for non-communal cultures
limit = {
culture = {
NOT = {
has_cultural_pillar = ethos_communal
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:seclusion
}
}
}
if = { #hair shaving rite non-warrior cultures
limit = {
culture = {
OR = {
has_cultural_pillar = ethos_spiritual
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_egalitarian
has_cultural_pillar = ethos_bureaucratic
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:hair_shaving
}
}
}
if = { #cleansing for non-warrior cultures
limit = {
culture = {
NOT = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:cleansing
}
if = {
limit = {
scope:rite_location = {
OR = {
is_riverside_province = yes
is_coastal = yes
}
}
}
set_variable = {
name = cleansing_type
value = flag:water_cleanse
}
}
else = {
set_variable = {
name = cleansing_type
value = flag:fire_cleanse
}
}
}
}
}
option = { #combat duel
name = bp2_decision.0002.a
flavor = bp2_decision.0002.a.flavor
custom_tooltip = bp2_decision.0002.a.tt
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:duel
}
}
}
show_as_tooltip = {
random_list = {
1 = {
desc = bp2_decision.0002.a.win
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
1= {
desc = bp2_decision.0002.a.lose
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:dueling_rite_memory
}
}
trigger_event = bp2_yearly.7021
ai_chance = {
base = 1
}
}
option = { #scarification
name = bp2_decision.0002.b
flavor = bp2_decision.0002.b.tt
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:scarification
}
}
}
show_as_tooltip = {
random_list = {
1 = {
desc = bp2_decision.0002.b_scarred
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
custom_tooltip = bp2_decision.0002.b_scarred.tt
}
}
1= {
desc = bp2_decision.0002.b_modifier
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:scarification_rite_memory
}
}
trigger_event = bp2_yearly.7023
ai_chance = {
base = 1
}
}
option = { #seclusion
name = bp2_decision.0002.c
flavor = bp2_decision.0002.c.tt
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:seclusion
}
}
}
show_as_tooltip = {
custom_tooltip = bp2_decision.0002.c.destination
random_list = {
1 = {
desc = bp2_decision.0002.c_win
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.c_trait
}
}
1= {
desc = bp2_decision.0002.c_lose
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
add_trait_xp = {
trait = lifestyle_traveler
track = danger
value = 25
}
increase_wounds_no_death_effect = { REASON = wild_animal }
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:seclusion_rite_memory
}
}
trigger_event = bp2_yearly.7024
ai_chance = {
base = 1
}
}
option = { #hair shave
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:hair_shaving
}
}
}
name = bp2_decision.0002.d
flavor = bp2_decision.0002.d.tt
show_as_tooltip = {
random_list = {
1 = {
show_chance = no
desc = bp2_decision.0002.d_bald
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
add_character_modifier = {
modifier = shaven_bald_modifier
years = 3
}
custom_tooltip = bp2_decision.0002.effect_tt
add_piety = medium_piety_gain
}
}
1 = {
show_chance = no
desc = bp2_decision.0002.d_shave
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
custom_tooltip = bp2_decision.0002.d_artifact
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:shaving_hair_rite_memory
}
}
trigger_event = bp2_yearly.7026
ai_chance = {
base = 1
}
}
option = { #fire/water cleansing
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:cleansing
}
}
}
name = bp2_decision.0002.e
flavor = bp2_decision.0002.e.tt
show_as_tooltip = {
random_list = {
1 = {
show_chance = no
desc = bp2_decision.0002.e.full
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
if = {
limit = {
num_sinful_traits > 0
}
custom_tooltip = bp2_decision.0002.e_flip
}
custom_tooltip = bp2_decision.0002.effect_tt
add_piety = medium_piety_gain
if = {
limit = {
scope:teentribal.var:cleansing_type = flag:water_cleanse
}
add_stress = minor_stress_gain
}
else = {
add_character_modifier = {
modifier = scorched_soles_modifier
years = 5
}
}
}
}
1 = {
show_chance = no
desc = bp2_decision.0002.e.partially
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
}
}
if = {
limit = {
scope:teentribal.var:cleansing_type = flag:water_cleanse
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:water_cleanse_rite_memory
}
}
trigger_event = bp2_yearly.7027
}
else_if = {
limit = {
scope:teentribal.var:cleansing_type = flag:fire_cleanse
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:fire_cleanse_rite_memory
}
}
trigger_event = bp2_yearly.7028
}
ai_chance = {
base = 1
}
}
option = { # opt out - trigger the decision cooldown, don't get your money back. Think of it as a non-refundable deposit.
name = bp2_decision.0002.f
flavor = bp2_decision.0002.tt
scope:teentribal ?= {
remove_variable ?= cleansing_type
remove_variable ?= chosen_rite_memory
clear_variable_list ?= possible_rites
}
ai_chance = { #there is no reason for the AI to back out at this point
base = 0
}
}
}

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,538 @@
namespace = bp2_yearly
# bp2_yearly.3000 - Asserting yourself in your studies or loafing
################################
# What's a Study Day Worth? #
# by Claudia Baldassi #
# bp2_yearly.3000 #
################################
# Asserting yourself in your studies or loafing
bp2_yearly.3000 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.3000.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:educator
}
desc = bp2_yearly.3000.desc
}
desc = bp2_yearly.3000.desc_no_educator
}
desc = bp2_yearly.3000.desc_ending
}
theme = education
left_portrait = {
character = root
animation = boredom
}
right_portrait = {
trigger = { exists = scope:educator }
character = scope:educator
animation = personality_rational
}
cooldown = { years = 10 } #Should not happen more than once for the same child
trigger = {
has_bp2_dlc_trigger = yes
age >= 8
is_available_child = yes
has_education_focus_trigger = yes
OR = {
exists = warden
any_relation = {
type = guardian
location = root.location
}
exists = liege
AND = {
top_liege = this
employs_court_position = court_tutor_court_position
}
any_parent = {
is_alive = yes
location = root.location
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
if = {
limit = {
is_hostage = yes
location = warden.location
}
warden = {
save_scope_as = educator
}
}
else_if = {
limit = {
any_relation = {
type = guardian
location = root.location
}
}
random_relation = {
type = guardian
limit = {
location = root.location
}
save_scope_as = educator
}
}
else_if = {
limit = {
exists = liege
root.liege = {
employs_court_position = court_tutor_court_position
court_position:court_tutor_court_position = { location = root.location }
}
}
root.liege.court_position:court_tutor_court_position = {
save_scope_as = educator
}
}
else_if = {
limit = {
top_liege = this
employs_court_position = court_tutor_court_position
court_position:court_tutor_court_position = { location = root.location }
}
court_position:court_tutor_court_position = {
save_scope_as = educator
}
}
else_if = {
limit = {
any_parent = {
is_alive = yes
location = root.location
}
}
random_parent = {
limit = {
is_alive = yes
location = root.location
}
save_scope_as = educator
}
}
else_if = {
limit = { exists = liege }
liege = {
save_scope_as = educator
}
}
}
# Option A: study hard
option = {
name = bp2_yearly.3000.a
if = {
limit = {
has_focus = education_diplomacy
}
add_diplomacy_skill = 1
}
else_if = {
limit = {
has_focus = education_martial
}
add_martial_skill = 1
}
else_if = {
limit = {
has_focus = education_stewardship
}
add_stewardship_skill = 1
}
else_if = {
limit = {
has_focus = education_intrigue
}
add_intrigue_skill = 1
}
else_if = {
limit = {
has_focus = education_learning
}
add_learning_skill = 1
}
hidden_effect = { education_point_acquisition_effect = yes }
custom_tooltip = bp2_yearly.3000.a.tt
stress_impact = {
base = medium_stress_impact_gain
diligent = medium_stress_impact_loss
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
add = 100
}
modifier = {
has_trait = lazy
add = -100
}
modifier = {
has_trait = curious
add = 100
}
modifier = {
has_trait = pensive
add = 150
}
}
}
# Option B: study a bit
option = {
name = bp2_yearly.3000.b
hidden_effect = { education_point_acquisition_effect = yes }
custom_tooltip = bp2_yearly.3000.a.tt
stress_impact = {
base = minor_stress_impact_gain
diligent = minor_stress_impact_loss
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
add = 50
}
modifier = {
has_trait = lazy
add = -50
}
modifier = {
has_trait = curious
add = 50
}
modifier = {
has_trait = pensive
add = 75
}
}
}
# Option C: play
option = {
name = bp2_yearly.3000.c
add_prowess_skill = 1
stress_impact = {
base = minor_stress_impact_loss
diligent = major_stress_impact_gain
pensive = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
add = -100
}
modifier = {
has_trait = lazy
add = 100
}
modifier = {
has_trait = pensive
add = -75
}
modifier = {
has_trait = rowdy
add = 100
}
}
}
}
################################
# SheHe Knows This Room #
# by Claudia Baldassi #
# bp2_yearly.3010 #
################################
# Child returns home: This home is unfamiliar to me: parent POV
bp2_yearly.3010 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.3010.t
desc = bp2_yearly.3010.desc
theme = hostage
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:child
animation = sadness
}
override_background = { reference = corridor_day }
cooldown = { years = 20 }
trigger = {
has_bp2_dlc_trigger = yes
is_available_adult = yes
is_landless_adventurer = no
any_child = {
age >= 12
location = root.location
NOT = { has_relation_ward = root } # Your ward grew up here
any_memory = {
memory_type = hostage_returned_hostage
memory_age_years <= 1
}
any_memory = {
memory_type = hostage_created_hostage
memory_age_years >= 6
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
has_trait = compassionate
}
}
immediate = {
# for the responding event
save_scope_as = parent
random_child = {
limit = {
any_memory = {
memory_type = hostage_returned_hostage
memory_age_years <= 1
}
any_memory = {
memory_type = hostage_created_hostage
memory_age_years >= 6
}
age >= 12
location = root.location
}
save_scope_as = child
}
}
# Option A: I wanna help
option = {
name = bp2_yearly.3010.a
scope:child = {
add_character_flag = helpful_parent_flag
add_opinion = {
target = scope:parent
modifier = feel_accepted_opinion
opinion = 20
}
trigger_event = bp2_yearly.3011
}
stress_impact = {
callous = medium_stress_impact_gain
fickle = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
content = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
}
}
# Option B: he'll manage
option = {
name = bp2_yearly.3010.b
scope:child = {
add_opinion = {
target = root
modifier = ignored_opinion
opinion = -15
}
scope:child = { trigger_event = bp2_yearly.3011 }
}
stress_impact = {
compassionate = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
family_first = medium_stress_impact_gain
patient = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = callous
add = 50
}
}
}
}
# Child returns home: This home is unfamiliar to me: child POV
bp2_yearly.3011 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.3011.t
desc = {
desc = bp2_yearly.3011.desc
first_valid = {
triggered_desc = {
trigger = {
has_character_flag = helpful_parent_flag
}
desc = bp2_yearly.3011.desc_parent
}
desc = bp2_yearly.3011.desc_no_parent
}
}
theme = hostage
left_portrait = {
character = root
animation = sadness
}
right_portrait = {
character = scope:parent
animation = worry
}
override_background = { reference = corridor_day }
# Option A: accept you're a stranger now
option = {
name = bp2_yearly.3011.a
if = {
limit = {
has_character_flag = helpful_parent_flag
}
scope:parent = {
send_interface_toast = {
title = bp2_yearly.3010.a.tt
left_icon = scope:child
scope:child = {
add_character_modifier = {
modifier = bp2_stranger_at_home_modifier
years = 30
}
}
}
}
}
else = {
add_character_modifier = {
modifier = bp2_stranger_at_home_modifier
years = 30
}
}
stress_impact = {
gregarious = medium_stress_impact_gain
humble = medium_stress_impact_gain
patient = minor_stress_impact_gain
pensive = medium_stress_impact_loss
bossy = medium_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 0.5
}
modifier = {
has_trait = pensive
add = 100
}
modifier = {
has_trait = bossy
add = 100
}
}
}
# Option B: try to integrate again
option = {
name = bp2_yearly.3011.b
if = {
limit = {
has_character_flag = helpful_parent_flag
}
scope:parent = {
send_interface_toast = {
title = bp2_yearly.3010.b.tt
left_icon = scope:child
scope:child = {
add_character_modifier = {
modifier = bp2_stranger_no_more_modifier
years = 30
}
}
}
}
}
else = {
add_character_modifier = {
modifier = bp2_stranger_no_more_modifier
years = 30
}
}
stress_impact = {
stubborn = major_stress_impact_gain
lazy = medium_stress_impact_gain
reclusive = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
wrathful = minor_stress_impact_gain
impatient = minor_stress_impact_gain
charming = medium_stress_impact_loss
curious = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
has_character_flag = helpful_parent_flag
add = 100
}
modifier = {
has_trait = lazy
add = -50
}
modifier = {
has_trait = reclusive
add = -50
}
modifier = {
has_trait = charming
add = 100
}
modifier = {
has_trait = curious
add = 100
}
ai_value_modifier = {
ai_energy = -0.5
}
}
}
after = {
if = {
limit = {
has_character_flag = helpful_parent_flag
}
remove_character_flag = helpful_parent_flag
}
}
}

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,206 @@
namespace = bp2_yearly_extra
################################
# My Favorite Councilor #
# by Johan Husén #
# bp2_yearly_extra #
################################
# Gaining some skills from your councilor
bp2_yearly_extra.0001 = {
type = character_event
content_source = dlc_009
title = bp2_yearly_extra.0001.t
desc = bp2_yearly_extra.0001.desc
theme = education
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:target_councilor
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_court_chaplain }
}
animation = chaplain
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_steward }
}
animation = steward
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_marshal }
}
animation = marshal
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_spymaster }
}
animation = spymaster
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_chancellor }
}
animation = chancellor
}
}
cooldown = { years = 15 }
trigger = {
has_bp2_dlc_trigger = yes
is_available_child = yes
OR = {
AND = {
has_focus = education_diplomacy
exists = cp:councillor_chancellor
}
AND = {
has_focus = education_martial
exists = cp:councillor_marshal
}
AND = {
has_focus = education_stewardship
exists = cp:councillor_steward
}
AND = {
has_focus = education_intrigue
exists = cp:councillor_spymaster
}
AND = {
has_focus = education_learning
exists = cp:councillor_court_chaplain
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
if = {
limit = {
has_focus = education_diplomacy
exists = cp:councillor_chancellor
}
cp:councillor_chancellor = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_martial
exists = cp:councillor_marshal
}
cp:councillor_marshal = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_stewardship
exists = cp:councillor_steward
}
cp:councillor_steward = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_intrigue
exists = cp:councillor_spymaster
}
cp:councillor_spymaster = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_learning
exists = cp:councillor_court_chaplain
}
cp:councillor_court_chaplain = { save_scope_as = target_councilor }
}
}
# Option A: I want to help out!
option = {
name = bp2_yearly_extra.0001.a
flavor = bp2_yearly_extra.0001.a.tt
if = {
limit = { has_focus = education_diplomacy }
add_diplomacy_skill = 1
}
else_if = {
limit = { has_focus = education_martial }
add_martial_skill = 1
}
else_if = {
limit = { has_focus = education_stewardship }
add_stewardship_skill = 1
}
else_if = {
limit = { has_focus = education_intrigue }
add_intrigue_skill = 1
}
else_if = {
limit = { has_focus = education_learning }
add_learning_skill = 1
}
stress_impact = {
base = miniscule_stress_impact_gain
diligent = minor_stress_impact_loss
lazy = minor_stress_impact_gain
}
scope:target_councilor = {
add_opinion = {
target = root
modifier = frustrated_opinion
opinion = -20
}
}
ai_chance = {
base = 100
modifier = {
has_trait = lazy
factor = 0
}
}
}
# Option B: I just like to see them work.
option = {
name = bp2_yearly_extra.0001.b
flavor = bp2_yearly_extra.0001.b.tt
scope:target_councilor = {
add_opinion = {
target = root
modifier = thankful_opinion
opinion = 20
}
}
stress_impact = {
base = minor_stress_impact_loss
diligent = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
factor = 0
}
modifier = {
has_trait = lazy
add = 50
}
modifier = {
has_trait = curious
add = 50
}
modifier = {
has_trait = pensive
add = 50
}
}
}
}

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,951 @@
namespace = epidemic_events
epidemic_events.2001 = { #defender trying to status quo the vassal war cuz he's sick
type = character_event
title = epidemic_events.2001.t
desc = epidemic_events.2001.desc
theme = plague
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:pleading_vassal
animation = beg
}
lower_right_portrait = {
character = scope:attacking_vassal
}
override_background = {
reference = army_camp
}
override_effect_2d = {
reference = fog
}
cooldown = { years = 30 }
trigger = {
is_available_adult = yes
any_vassal = {
is_ai = yes
is_at_war = yes
any_character_war = {
primary_attacker = {
is_vassal_of = root
is_ai = yes
}
is_defender = prev
attacker_war_score > 30
}
realm_has_any_epidemic = { SIZE = 3 INTENSITY = minor }
current_gold_value > minor_gold_value
}
}
immediate = {
random_vassal = {
limit = {
is_ai = yes
is_at_war = yes
any_character_war = {
primary_attacker = {
is_vassal_of = root
is_ai = yes
}
is_defender = prev
attacker_war_score > 30
}
realm_has_any_epidemic = { SIZE = 2 INTENSITY = minor }
current_gold_value > minor_gold_value
}
save_scope_as = pleading_vassal
get_random_realm_epidemic = { INTENSITY = minor }
random_character_war = {
limit = {
primary_attacker = {
is_vassal_of = root
is_ai = yes
}
is_defender = prev
attacker_war_score > 30
}
save_scope_as = vassal_war
}
}
scope:vassal_war = {
primary_attacker = {
save_scope_as = attacking_vassal
}
}
set_variable = {
name = gold_transfer_value
value = scope:pleading_vassal.current_gold_value
}
scope:pleading_vassal = {
pay_short_term_gold = {
target = root
gold = current_gold_value
}
hidden_effect = {
if = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
random = {
chance = 25
infect_with_epidemic = scope:epidemic_scope
}
}
}
}
}
option = { #send a royal order for white peace
name = epidemic_events.2001.c
duel = {
skill = diplomacy
target = scope:attacking_vassal
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
}
send_interface_toast = {
title = epidemic_events.2001.c.success
left_icon = scope:pleading_vassal
right_icon = scope:attacking_vassal
scope:vassal_war = {
end_war = white_peace
}
add_legitimacy_effect = { LEGITIMACY = minor_legitimacy_gain }
scope:pleading_vassal = {
add_opinion = {
modifier = thankful_opinion
opinion = 30
target = root
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
send_interface_toast = {
title = epidemic_events.2001.c.failure
left_icon = scope:pleading_vassal
right_icon = scope:attacking_vassal
scope:pleading_vassal = {
add_opinion = {
modifier = disappointed_opinion
opinion = -25
target = root
}
}
custom_tooltip = epidemic_events.2001.danger
}
hidden_effect = {
random = {
chance = 10
trigger_event = {
months = 4
id = epidemic_events.2002
}
}
}
}
}
stress_impact = {
greedy = medium_stress_gain
compassionate = medium_stress_loss
just = medium_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
}
option = { #imprison the other guy from traveling to you during a pandemic and wash whatever he touched
name = epidemic_events.2001.b
flavor = epidemic_events.2001.b.desc
imprison = {
target = scope:pleading_vassal
type = dungeon
}
scope:pleading_vassal = {
add_opinion = {
modifier = angry_opinion
opinion = -40
target = root
}
}
custom_tooltip = epidemic_events.2001.danger
hidden_effect = {
random = {
chance = 10
trigger_event = {
months = 4
id = epidemic_events.2002
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
compassionate = medium_stress_gain
just = medium_stress_gain
paranoid = major_stress_loss
}
}
option = { #pay money to end war
name = epidemic_events.2001.a
scope:vassal_war = {
end_war = white_peace
}
pay_treasury_or_gold = {
target = scope:attacking_vassal
value = {
value = root.var:gold_transfer_value
multiply = 0.5
}
}
scope:pleading_vassal = {
add_opinion = {
modifier = thankful_opinion
opinion = 30
target = root
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_negative_ai_value
ai_compassion = low_chance_impact_positive_ai_value
}
}
stress_impact = {
greedy = medium_stress_gain
compassionate = medium_stress_loss
}
}
after = {
hidden_effect = {
if = {
limit = {
scope:pleading_vassal = {
has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait
is_imprisoned = no
}
}
random_list = {
60 = {
random_courtier = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
save_scope_as = infected_courtier
}
send_interface_toast = {
title = epidemic_events.2001.epidemic_spread.t
left_icon = scope:pleading_vassal
right_icon = scope:infected_courtier
scope:infected_courtier = {
infect_with_epidemic = scope:epidemic_scope
}
}
}
20 = {
if = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
}
random_courtier = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
save_scope_as = first_infected_courtier
}
random_courtier = {
limit = {
NOT = {
has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait
scope:first_infected_courtier = this
}
}
save_scope_as = second_infected_courtier
}
send_interface_toast = {
title = epidemic_events.2001.epidemic_spread.t
left_icon = scope:second_infected_courtier
right_icon = scope:first_infected_courtier
scope:first_infected_courtier = {
infect_with_epidemic = scope:epidemic_scope
}
scope:second_infected_courtier = {
infect_with_epidemic = scope:epidemic_scope
}
}
}
}
}
}
}
}
epidemic_events.2002 = {
type = character_event
title = epidemic_events.2002.t
desc = epidemic_events.2002.desc
theme = plague
left_portrait = {
character = root
animation = stress
}
lower_left_portrait = scope:attacking_vassal
lower_right_portrait = scope:pleading_vassal
trigger = {
exists = scope:epidemic_scope
exists = scope:vassal_war
is_ai = no
}
override_background = {
reference = battlefield
}
override_effect_2d = {
reference = fog
}
immediate = {
if = {
limit = {
scope:epidemic_scope = {
outbreak_intensity = minor
}
}
scope:epidemic_scope = {
set_epidemic_outbreak_intensity = major
}
}
else = {
scope:epidemic_scope = {
set_epidemic_outbreak_intensity = apocalyptic
}
}
add_legitimacy = miniscule_legitimacy_loss
}
option = {
name = epidemic_events.2002.a
stress_impact = {
base = minor_stress_gain
}
}
}
epidemic_events.2003 = { #maa are dying from war
type = character_event
title = epidemic_events.2003.t
desc = epidemic_events.2003.desc
theme = plague
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:marshal
animation = marshal_shield
}
override_background = {
reference = army_camp
}
override_effect_2d = {
reference = flies
}
cooldown = { years = 8 }
trigger = {
is_available_adult = yes
any_held_county = {
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
save_temporary_scope_as = first_county
}
any_held_county = {
this != scope:first_county
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
}
exists = cp:councillor_marshal
}
immediate = {
random_held_county = {
limit = {
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
}
random_county_province = {
limit = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
save_scope_as = first_epidemic_province
random_province_epidemic = {
save_scope_as = epidemic_scope
}
}
save_scope_as = first_epidemic_county
}
random_held_county = {
limit = {
this != scope:first_epidemic_county
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
}
random_county_province = {
limit = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
save_scope_as = second_epidemic_province
}
}
cp:councillor_marshal = { save_scope_as = marshal }
}
option = { #pay more to get more recruits
name = epidemic_events.2003.a
every_maa_regiment = {
change_maa_troops_count = {
value = {
value = this.maa_current_troops_count
multiply = -0.25
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_negative_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
greedy = medium_stress_gain
ambitious = medium_stress_loss
}
}
option = { #dont care, press peasants as maa
name = epidemic_events.2003.b
scope:first_epidemic_province = {
add_province_modifier = {
modifier = epidemic_pressed_levies
years = 5
}
}
scope:second_epidemic_province = {
add_province_modifier = {
modifier = epidemic_pressed_levies
years = 5
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_positive_ai_value
ai_compassion = low_chance_impact_negative_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
just = medium_stress_gain
}
}
option = { #close the barracks!
name = epidemic_events.2003.c
scope:first_epidemic_province = {
add_province_modifier = {
modifier = epidemic_closed_barracks
years = 5
}
}
scope:second_epidemic_province = {
add_province_modifier = {
modifier = epidemic_closed_barracks
years = 5
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
paranoid = medium_stress_loss
}
}
}
epidemic_events.2004 = { #Medicinal Jar creation event
hidden = yes
trigger = {
is_available_adult = yes
court_position:court_physician_court_position ?= {
is_available_ai_adult = yes
culture != root.culture
NOT = {
has_character_flag = physician_medicinal_jar
}
}
realm_has_any_nearby_epidemic = { SIZE = 4 INTENSITY = minor }
}
cooldown = { years = 160 }
immediate = {
court_position:court_physician_court_position = {
save_scope_as = physician
}
scope:physician = {
create_artifact = {
name = medicine_jar
description = medicine_jar_desc
type = miscellaneous
visuals = glazed_jar
modifier = artifact_epidemic_resistance_1_modifier
modifier = artifact_learning_lifestyle_xp_2_modifier
save_scope_as = medicine_jar
quality = 50
}
add_character_flag = physician_medicinal_jar
}
if = {
limit = {
scope:physician = {
can_equip_artifact = scope:medicine_jar
}
}
scope:medicine_jar = {
equip_artifact_to_owner = yes
}
get_random_nearby_realm_epidemic = { INTENSITY = minor }
trigger_event = {
days = { 3 7 }
id = epidemic_events.2005
}
}
}
}
epidemic_events.2005 = { #Glass jar artifact
type = character_event
title = epidemic_events.2005.t
desc = epidemic_events.2005.desc
theme = plague
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:physician
animation = physician
}
artifact = {
target = scope:medicine_jar
position = lower_center_portrait
}
override_background = {
reference = physicians_study
}
trigger = {
scope:physician = { is_alive = yes }
}
option = { #politely ask the physisican to part with the jar
name = epidemic_events.2005.a
duel = {
skill = diplomacy
target = scope:physician
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
}
send_interface_toast = {
title = epidemic_events.2005.a.success
left_icon = scope:physician
scope:medicine_jar = {
set_owner = root
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
send_interface_toast = {
title = epidemic_events.2005.a.failure
left_icon = scope:physician
scope:medicine_jar = {
add_artifact_modifier = artifact_physician_aptitude_1_modifier
}
}
}
}
stress_impact = {
craven = minor_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = low_chance_impact_negative_ai_value
}
}
}
option = { #violently grab the jar from physician
name = epidemic_events.2005.b
scope:physician = {
add_opinion = {
modifier = fp3_stole_from_me
opinion = -25
target = root
}
progress_towards_rival_effect = {
REASON = rival_stole_artifact
CHARACTER = root
OPINION = 0
}
}
scope:medicine_jar = {
set_owner = root
}
stress_impact = {
temperate = medium_stress_gain
just = medium_stress_gain
paranoid = medium_stress_loss
wrathful = medium_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_positive_ai_value
ai_energy = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_negative_ai_value
}
}
}
option = { #let phycisian keep his precious jar
name = epidemic_events.2005.c
scope:medicine_jar = {
add_artifact_modifier = artifact_physician_aptitude_1_modifier
}
stress_impact = {
temperate = medium_stress_loss
just = medium_stress_loss
trusting = medium_stress_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
ai_greed = low_chance_impact_negative_ai_value
}
}
}
}
epidemic_events.2006 = { #Dancing plague
type = character_event
title = epidemic_events.2006.t
desc = epidemic_events.2006.desc
theme = plague
override_background = courtyard
override_effect_2d = { reference = flies }
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:dance_victim
animation = dancing_plague
}
trigger = {
is_available_adult = yes
OR = {
is_ai = no
this = top_liege
}
capital_province = {
any_province_epidemic = {
#epidemic_type = epidemic_type:ergotism
intensity < apocalyptic
}
}
NOT = {
has_character_flag = had_event_dancing_plague
}
}
weight_multiplier = {
base = 1
modifier = { #Since a big outbreak occurred in Aachen 1374
add = 9
capital_province = {
county = title:c_aachen
}
current_date >= 1370.1.1
current_date <= 1380.1.1
}
modifier = { #Since an outbreak occurred in Erfurt 1247
add = 9
capital_province = {
duchy = title:d_thuringia
}
current_date >= 1240.1.1
current_date <= 1250.1.1
}
modifier = { #Since an outbreak occurred in Kolbigk 1021
add = 9
capital_province = {
geographical_region = ghw_region_saxony
}
current_date >= 1020.1.1
current_date <= 1030.1.1
}
modifier = { #Since it historically occurred in Europe
add = 1
capital_province = {
geographical_region = world_europe
}
}
}
immediate = {
capital_province = {
random_province_epidemic = {
limit = {
epidemic_type = epidemic_type:ergotism
outbreak_intensity < apocalyptic
}
save_scope_as = dancing_plague
}
}
create_character = {
template = servant_character
dynasty = none
location = root.capital_province
save_scope_as = dance_victim
}
hidden_effect = {
scope:dance_victim = {
add_trait = ergotism
}
}
scope:dancing_plague = {
set_epidemic_outbreak_intensity = apocalyptic
}
add_character_flag = had_event_dancing_plague
}
option = { #let's join the paaartey
trigger = {
has_trait = eccentric
}
name = epidemic_events.2006.a
add_character_modifier = {
modifier = ce1_gone_dancing
years = 2
}
hidden_effect = {
random = {
chance = 10
trigger_event = { id = health.1017 days = { 5 15 } } #You contract ergotism
}
}
stress_impact = {
eccentric = medium_stress_loss
}
ai_chance = {
base = 100
}
}
option = { #slay the demon!
trigger = {
has_trait = zealous
}
name = epidemic_events.2006.d
add_piety = minor_piety_gain
scope:dance_victim = {
death = {
death_reason = death_murder
killer = root
}
}
stress_impact = {
zealous = medium_stress_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_negative_ai_value
ai_zeal = low_chance_impact_positive_ai_value
}
}
}
option = { #eh, every dance stops eventually, right?
name = epidemic_events.2006.b
capital_county = {
add_county_modifier = {
modifier = dance_plague_modifier
years = 4
}
}
stress_impact = {
compassionate = minor_stress_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_negative_ai_value
}
}
}
option = { #tie them down! allieviate their pains somehow
name = epidemic_events.2006.c
hidden_effect = {
random = {
chance = 10
trigger_event = { id = health.1017 days = { 5 15 } } #You contract ergotism
}
}
stress_impact = {
lustful = medium_stress_loss
compassionate = medium_stress_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
}
}
}
}

View file

@ -0,0 +1,880 @@
namespace = legend_events
############################
## Legend Spawn Events
## 0001-1000
## by James Beaumont
############################
# legend_events.0001 - Chronicler gives you a legend seed
# legend_events.0010 - Chronicler convinces someone to promote your legend
# legend_events.0020 - Hold Court presentation of a legend seed
# Chronicler gives you a legend seed :D
legend_events.0001 = {
type = character_event
title = legend_events.0001.t
desc = {
desc = legend_events.0001.desc.intro
first_valid = {
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:slew_dragon
}
desc = legend_events.0001.desc.mid.slew_dragon
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:ancestral_saint
}
desc = legend_events.0001.desc.mid.ancestral_saint
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:old_godly_descent
}
desc = legend_events.0001.desc.mid.old_godly_descent
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:raised_by_animals
}
desc = legend_events.0001.desc.mid.raised_by_animals
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:auspicious_stars
}
desc = legend_events.0001.desc.mid.auspicious_stars
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:virgin_birth
}
desc = legend_events.0001.desc.mid.virgin_birth
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:spoke_to_angels
}
desc = legend_events.0001.desc.mid.spoke_to_angels
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:fought_the_devil
}
desc = legend_events.0001.desc.mid.fought_the_devil
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:exotic_backstory
}
desc = legend_events.0001.desc.mid.exotic_backstory
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:ancient_people
}
desc = legend_events.0001.desc.mid.ancient_people
}
}
desc = legend_events.0001.desc.outro
}
theme = legend
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:chronicler
animation = chancellor
}
lower_center_portrait = {
trigger = {
exists = scope:legend_character
}
character = scope:legend_character
}
# The Court Chronicler needs to be alive
trigger = {
scope:chronicler = {
is_alive = yes
}
}
immediate = {
random_list = { # Determine the seed to hand out
10 = { # Ancestor killed a dragon
trigger = {
any_ancestor = {
even_if_dead = yes
is_adult = yes
is_alive = no
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
is_adult = yes
is_alive = no
}
weight = {
base = 1
modifier = {
add = prowess
}
modifier = {
add = martial
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:slew_dragon
}
}
10 = { # Ancestor was/should be a saint
trigger = {
any_ancestor = {
even_if_dead = yes
is_adult = yes
is_alive = no
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
is_adult = yes
is_alive = no
}
weight = {
base = 1
modifier = {
add = learning
}
modifier = {
factor = 3
OR = {
num_virtuous_traits = {
target = root.faith
value >= 1
}
has_trait = saint
}
}
modifier = {
factor = 0.1
OR = {
num_sinful_traits = {
target = root.faith
value >= 1
}
has_trait = excommunicated
}
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:ancestral_saint
}
}
10 = { # I am descended from an old God
trigger = {
NOT = { religion = { is_in_family = rf_pagan } }
any_ancestor = {
even_if_dead = yes
is_alive = no
religion = { is_in_family = rf_pagan }
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
religion = { is_in_family = rf_pagan }
is_alive = no
}
weight = {
base = 1
modifier = {
add = learning
}
modifier = {
factor = 3
OR = {
num_virtuous_traits = {
target = root.faith
value >= 1
}
has_trait = saint
}
}
modifier = {
factor = 0.1
OR = {
num_sinful_traits = {
target = root.faith
value >= 1
}
has_trait = excommunicated
}
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:old_godly_descent
}
}
10 = { # I was raised by dangerous animals
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
select_local_animal_effect = { TYPE = dangerous }
set_variable = {
name = legend_seed_to_give
value = flag:raised_by_animals
}
}
10 = { # Born under auspicious stars
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:auspicious_stars
}
}
10 = { # Virgin birth
trigger = {
has_any_bastard_trait_trigger = yes
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:virgin_birth
}
}
10 = { # Spoke to an angel
trigger = {
religion_has_angels_trigger = yes
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:spoke_to_angels
}
}
10 = { # Fought a demon
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:fought_the_devil
}
}
10 = { # Exotic backstory
get_appropriate_exotic_location = yes
set_variable = {
name = legend_seed_to_give
value = flag:exotic_backstory
}
}
10 = { # Ancient people
trigger = {
# The ancient cultures we have for now aren't appropriate for these regions
root.culture = {
NOR = {
culture_overlaps_geographical_region = world_burma
culture_overlaps_geographical_region = custom_arakan_mountains
culture_overlaps_geographical_region = world_tibet
}
}
}
get_appropriate_ancient_people = yes
set_variable = {
name = legend_seed_to_give
value = flag:ancient_people
}
}
}
}
option = { # Wowie zowie, really?
name = legend_events.0001.a
if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:slew_dragon
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = beast_slayer
properties = {
beast = flag:dragon
location = root.location
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:ancestral_saint
}
create_legend_seed = {
type = holy
quality = famed
chronicle = saintly_deed
properties = {
ancestor = scope:legend_character
religion = root.religion
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:old_godly_descent
}
generate_religion_descent_effect = {
RELIGION = scope:legend_character.religion
GOD = high_god
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:raised_by_animals
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = raised_by_animals
properties = {
beast = var:animal_type
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:auspicious_stars
}
create_legend_seed = {
type = holy
quality = famed
chronicle = sacred_birth
properties = {
reason = flag:auspicious
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:virgin_birth
}
create_legend_seed = {
type = holy
quality = famed
chronicle = sacred_birth
properties = {
reason = flag:virgin
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:spoke_to_angels
}
create_legend_seed = {
type = holy
quality = famed
chronicle = divine_intervention
properties = {
god = flag:the_angels
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:fought_the_devil
}
create_legend_seed = {
type = holy
quality = famed
chronicle = fought_devil
properties = {
faith = root.faith
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:exotic_backstory
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = exotic_backstory
properties = {
location = scope:exotic_location
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:ancient_people
}
create_legend_seed = {
type = legitimizing
quality = famed
chronicle = ancient_people
properties = {
culture = scope:ancient_culture
title = root.primary_title
original_region = var:original_region
}
}
}
ai_chance = {
base = 100
}
}
option = { # I don't want this legend
name = legend_events.0001.b
ai_chance = {
base = 0
}
}
}
# Chronicler convinces someone to promote your legend
legend_events.0010 = {
type = character_event
title = legend_events.0010.t
desc = legend_events.0010.desc
theme = legend
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:chronicler
animation = chancellor
}
lower_center_portrait = scope:potential_promoter
trigger = {
OR = {
scope:chronicler ?= {
is_alive = yes
has_court_position = chronicler_court_position
employer = root
}
employs_court_position = chronicler_court_position
}
OR = {
# Vassals
any_vassal_or_below = {
# No barons
highest_held_title_tier >= tier_county
# Not promoting their own legend
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
# Neighbourinos
any_neighboring_and_across_water_top_liege_realm_owner = {
# Not promoting their own legend
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
}
immediate = {
if = {
limit = {
NOT = {
scope:chronicler ?= {
is_alive = yes
has_court_position = chronicler_court_position
employer = root
}
}
}
court_position:chronicler_court_position ?= { save_scope_as = chronicler }
}
random_list = {
# Vassals
75 = {
trigger = {
any_vassal_or_below = {
highest_held_title_tier >= tier_county
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
random_vassal_or_below = {
limit = {
highest_held_title_tier >= tier_county
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
save_scope_as = potential_promoter
}
}
# Neighbourinos
25 = {
trigger = {
any_neighboring_and_across_water_top_liege_realm_owner = {
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
random_neighboring_and_across_water_top_liege_realm_owner = {
limit = {
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
save_scope_as = potential_promoter
}
}
}
}
option = { # Diplo duel option
name = legend_events.0010.a
duel = {
skill = diplomacy
target = scope:potential_promoter
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.success
right_icon = scope:potential_promoter
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.failure
right_icon = scope:potential_promoter
add_prestige = minor_prestige_loss
}
}
}
ai_chance = {
base = 100
modifier = { # I'd have better odds with option B
intrigue > diplomacy
factor = 0
}
}
}
option = { # Lie
name = legend_events.0010.b
duel = {
skill = intrigue
target = scope:potential_promoter
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.success
right_icon = scope:potential_promoter
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.failure
right_icon = scope:potential_promoter
add_prestige = minor_prestige_loss
}
}
}
stress_impact = {
honest = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = { # I'd have better odds with option A
intrigue < diplomacy
factor = 0
}
}
}
option = { # Nah not interested, go away.
name = legend_events.0010.c
ai_chance = {
base = 0
}
}
}
legend_events.0020 = { #hold court presentation of a potential seed
type = court_event
title = legend_events.0020.t
desc = legend_events.0020.desc
theme = legend
court_scene = {
button_position_character = scope:seed_presenter
court_event_force_open = yes
show_timeout_info = no
should_pause_time = yes
roles = {
scope:seed_presenter = {
group = petitioners_group
animation = personality_rational
}
}
}
widget = {
gui = "event_window_widget_event_chain_progress"
container = "custom_widgets_container"
controller = event_chain_progress
}
weight_multiplier = {
base = 1
modifier = {
factor = 2
court_grandeur_current_level > court_grandeur_minimum_expected_level
}
# Court weightings.
ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
}
trigger = {
any_pool_guest = {
count >= 1
is_available_adult = yes
has_court_event_flag = no
culture != root.culture
opinion = {
target = root
value >= high_positive_opinion
}
}
NOR = {
has_personal_legend_seed = heroic
has_personal_legend_seed = holy
has_personal_legend_seed = legitimizing
}
}
immediate = {
random_pool_guest = {
limit = {
is_available_adult = yes
has_court_event_flag = no
culture != root.culture
opinion = {
target = root
value >= high_positive_opinion
}
}
save_scope_as = seed_presenter
court_event_character_flag_effect = yes
}
hold_court_queue_next_event_effect = yes
}
option = { #yes, it is my about my dynasty and I shall prove it!
name = legend_events.0020.a
legend_seed_great_deed_dynasty_effect = yes
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 100
}
}
option = { #yes, it is about me ruling the title and I shall prove it!
name = legend_events.0020.b
legend_seed_great_deed_title_effect = {
TITLE = root.primary_title
}
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 100
}
}
option = { #no, I don't need to humor your culture fairy tales
name = legend_events.0020.c
add_prestige = medium_prestige_gain
dynasty = {
add_dynasty_prestige = minor_dynasty_prestige_gain
}
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_gain
compassionate = minor_stress_gain
callous = medium_stress_loss
sadistic = medium_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 0
}
}
after = {
scope:seed_presenter = {
clear_court_event_participation = yes
}
# Finish up the chain if relevant.
hold_court_queue_post_event_effect = yes
}
}
legend_events.1000 = {
type = letter_event
opening = { desc = legend_events.1000.t }
desc = legend_events.1000.desc
sender = scope:legend_owner
immediate = {
scope:legend = {
legend_owner = { save_scope_as = legend_owner }
}
}
option = { #I did a silly
name = legend_events.1000.a
pay_short_term_gold = {
target = scope:legend_owner
gold = medium_gold_value
}
stress_impact = {
deceitful = major_stress_impact_loss
honest = medium_stress_impact_gain
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { #If you have really high Intrigue you get away with paying just half
name = legend_events.1000.b
trigger = {
intrigue >= very_high_skill_rating
}
#trait = deceitful
pay_short_term_gold = {
target = scope:legend_owner
gold = {
value = medium_gold_value
multiply = 0.5
}
}
stress_impact = {
deceitful = massive_stress_impact_loss
honest = major_stress_impact_gain
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = {
remove_variable = accepted_promote_legend_var
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
namespace = legitimacy_events
############################
## Legitimacy Maintenance Events
## 0001-1000
## by Joe Parkin
############################
# legitimacy_events.0001 - Debug event for testing base legitimacy values with breakdowns of sources
legitimacy_events.0001 = {
type = character_event
title = LOREM_IPSUM_TITLE
desc = LOREM_IPSUM_DESCRIPTION
theme = realm
orphan = yes
left_portrait = root
trigger = {
exists = dynasty
# Exclude unplayable for now
NOR = {
government_has_flag = government_is_republic
government_has_flag = government_is_theocracy
}
}
option = {
add_legitimacy = base_legitimacy_value
custom_tooltip = base_legitimacy_debug_tt
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,719 @@
namespace = ep1_character_interaction
##################################################
#
# Character Interaction Events
#
# 0001 - 0010 Indebt Guest
##################################################
##################################################
# CHARACTER INTERACTION EVENTS
##################################################
# A Sensible Recompense
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################
scripted_trigger ep1_character_interaction_0001_valid_hostile_relation_trigger = {
# Must be at a court of some kind *other* than your own.
exists = host
scope:actor != host
# And not in scope:actor's prison.
NOR = {
imprisoner ?= scope:actor
}
# Double check that this'd be an appropriate court to send a plant.
save_temporary_scope_as = current_target
scope:actor = {
OR = {
# Either you've got a scheme on the go...
any_scheme = {
hostile_scheme_trigger = yes
scheme_target_character = scope:current_target
}
# ... or you could start one.
can_start_hostile_scheme_against_trigger = { TARGET = scope:current_target}
}
}
}
scripted_trigger ep1_character_interaction_0001_valid_rival_trigger = {
ep1_character_interaction_0001_valid_hostile_relation_trigger = yes
OR = {
NOT = { exists = scope:actor_nemesis }
this != scope:actor_nemesis
}
}
scripted_effect ep1_character_interaction_0001_move_character_and_family_effect = {
scope:recipient = {
# Whatever else happens, just move them.
scope:actor = { remove_courtier_or_guest = scope:recipient }
$DESTINATION$ = { add_courtier = scope:recipient }
# If they have any family, quietly send them along too.
hidden_effect = {
if = {
limit = {
any_traveling_family_member = { }
}
every_traveling_family_member = {
save_temporary_scope_as = family_to_shunt
scope:actor = { remove_courtier_or_guest = scope:family_to_shunt }
$DESTINATION$ = { add_courtier = scope:family_to_shunt }
}
}
}
}
}
# Trick a guest into a debt & turn them into an agent.
ep1_character_interaction.0001 = {
type = character_event
title = ep1_character_interaction.0001.t
desc = {
desc = ep1_character_interaction.0001.desc.intro
first_valid = {
triggered_desc = {
trigger = { scope:false_flag_type = flag:lustful }
desc = ep1_character_interaction.0001.desc.lustful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:chaste }
desc = ep1_character_interaction.0001.desc.chaste
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:gluttonous }
desc = ep1_character_interaction.0001.desc.gluttonous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:temperate }
desc = ep1_character_interaction.0001.desc.temperate
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:greedy }
desc = ep1_character_interaction.0001.desc.greedy
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:generous }
desc = ep1_character_interaction.0001.desc.generous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:lazy }
desc = ep1_character_interaction.0001.desc.lazy
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:diligent }
desc = ep1_character_interaction.0001.desc.diligent
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:wrathful }
desc = ep1_character_interaction.0001.desc.wrathful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:calm }
desc = ep1_character_interaction.0001.desc.calm
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:patient }
desc = ep1_character_interaction.0001.desc.patient
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:impatient }
desc = ep1_character_interaction.0001.desc.impatient
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:arrogant }
desc = ep1_character_interaction.0001.desc.arrogant
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:humble }
desc = ep1_character_interaction.0001.desc.humble
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:deceitful }
desc = ep1_character_interaction.0001.desc.deceitful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:honest }
desc = ep1_character_interaction.0001.desc.honest
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:craven }
desc = ep1_character_interaction.0001.desc.craven
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:brave }
desc = ep1_character_interaction.0001.desc.brave
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:shy }
desc = ep1_character_interaction.0001.desc.shy
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:gregarious }
desc = ep1_character_interaction.0001.desc.gregarious
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:ambitious }
desc = ep1_character_interaction.0001.desc.ambitious
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:content }
desc = ep1_character_interaction.0001.desc.content
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:arbitrary }
desc = ep1_character_interaction.0001.desc.arbitrary
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:just }
desc = ep1_character_interaction.0001.desc.just
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:cynical }
desc = ep1_character_interaction.0001.desc.cynical
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:zealous }
desc = ep1_character_interaction.0001.desc.zealous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:paranoid }
desc = ep1_character_interaction.0001.desc.paranoid
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:trusting }
desc = ep1_character_interaction.0001.desc.trusting
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:compassionate }
desc = ep1_character_interaction.0001.desc.compassionate
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:callous }
desc = ep1_character_interaction.0001.desc.callous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:sadistic }
desc = ep1_character_interaction.0001.desc.sadistic
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:stubborn }
desc = ep1_character_interaction.0001.desc.stubborn
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fickle }
desc = ep1_character_interaction.0001.desc.fickle
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:vengeful }
desc = ep1_character_interaction.0001.desc.vengeful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:forgiving }
desc = ep1_character_interaction.0001.desc.forgiving
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_1 }
desc = ep1_character_interaction.0001.desc.fallback_1
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_2 }
desc = ep1_character_interaction.0001.desc.fallback_2
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_3 }
desc = ep1_character_interaction.0001.desc.fallback_3
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_4 }
desc = ep1_character_interaction.0001.desc.fallback_4
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_5 }
desc = ep1_character_interaction.0001.desc.fallback_5
}
}
desc = ep1_character_interaction.0001.desc.outro
}
theme = intrigue_skulduggery_focus
left_portrait = {
character = scope:actor
animation = schadenfreude
}
right_portrait = {
character = scope:recipient
animation = fear
}
lower_center_portrait = scope:actor_nemesis
lower_right_portrait = scope:actor_rival
override_background = { reference = throne_room }
immediate = {
# Apply the interaction's effects.
indebt_guest_interaction_accepted_effect = yes
# Roll the offending crime.
## Percentages even throughout: we're not fussed about which result you roll.
scope:recipient = {
random_list = {
# lustful
100 = {
trigger = { has_trait = lustful }
save_scope_value_as = {
name = false_flag_type
value = flag:lustful
}
}
# chaste
100 = {
trigger = { has_trait = chaste }
save_scope_value_as = {
name = false_flag_type
value = flag:chaste
}
}
# gluttonous
100 = {
trigger = { has_trait = gluttonous }
save_scope_value_as = {
name = false_flag_type
value = flag:gluttonous
}
}
# temperate
100 = {
trigger = { has_trait = temperate }
save_scope_value_as = {
name = false_flag_type
value = flag:temperate
}
}
# greedy
100 = {
trigger = { has_trait = greedy }
save_scope_value_as = {
name = false_flag_type
value = flag:greedy
}
}
# generous
100 = {
trigger = { has_trait = generous }
save_scope_value_as = {
name = false_flag_type
value = flag:generous
}
}
# lazy
100 = {
trigger = { has_trait = lazy }
save_scope_value_as = {
name = false_flag_type
value = flag:lazy
}
}
# diligent
100 = {
trigger = { has_trait = diligent }
save_scope_value_as = {
name = false_flag_type
value = flag:diligent
}
}
# wrathful
100 = {
trigger = { has_trait = wrathful }
save_scope_value_as = {
name = false_flag_type
value = flag:wrathful
}
}
# calm
100 = {
trigger = { has_trait = calm }
save_scope_value_as = {
name = false_flag_type
value = flag:calm
}
}
# patient
100 = {
trigger = { has_trait = patient }
save_scope_value_as = {
name = false_flag_type
value = flag:patient
}
}
# impatient
100 = {
trigger = { has_trait = impatient }
save_scope_value_as = {
name = false_flag_type
value = flag:impatient
}
}
# arrogant
100 = {
trigger = { has_trait = arrogant }
save_scope_value_as = {
name = false_flag_type
value = flag:arrogant
}
}
# humble
100 = {
trigger = { has_trait = humble }
save_scope_value_as = {
name = false_flag_type
value = flag:humble
}
}
# deceitful
100 = {
trigger = { has_trait = deceitful }
save_scope_value_as = {
name = false_flag_type
value = flag:deceitful
}
}
# honest
100 = {
trigger = { has_trait = honest }
save_scope_value_as = {
name = false_flag_type
value = flag:honest
}
}
# craven
100 = {
trigger = { has_trait = craven }
save_scope_value_as = {
name = false_flag_type
value = flag:craven
}
}
# brave
100 = {
trigger = { has_trait = brave }
save_scope_value_as = {
name = false_flag_type
value = flag:brave
}
}
# shy
100 = {
trigger = { has_trait = shy }
save_scope_value_as = {
name = false_flag_type
value = flag:shy
}
}
# gregarious
100 = {
trigger = { has_trait = gregarious }
save_scope_value_as = {
name = false_flag_type
value = flag:gregarious
}
}
# ambitious
100 = {
trigger = { has_trait = ambitious }
save_scope_value_as = {
name = false_flag_type
value = flag:ambitious
}
}
# content
100 = {
trigger = { has_trait = content }
save_scope_value_as = {
name = false_flag_type
value = flag:content
}
}
# arbitrary
100 = {
trigger = { has_trait = arbitrary }
save_scope_value_as = {
name = false_flag_type
value = flag:arbitrary
}
}
# just
100 = {
trigger = { has_trait = just }
save_scope_value_as = {
name = false_flag_type
value = flag:just
}
}
# cynical
100 = {
trigger = { has_trait = cynical }
save_scope_value_as = {
name = false_flag_type
value = flag:cynical
}
}
# zealous
100 = {
trigger = { has_trait = zealous }
save_scope_value_as = {
name = false_flag_type
value = flag:zealous
}
}
# paranoid
100 = {
trigger = { has_trait = paranoid }
save_scope_value_as = {
name = false_flag_type
value = flag:paranoid
}
}
# trusting
100 = {
trigger = { has_trait = trusting }
save_scope_value_as = {
name = false_flag_type
value = flag:trusting
}
}
# compassionate
100 = {
trigger = { has_trait = compassionate }
save_scope_value_as = {
name = false_flag_type
value = flag:compassionate
}
}
# callous
100 = {
trigger = { has_trait = callous }
save_scope_value_as = {
name = false_flag_type
value = flag:callous
}
}
# sadistic
100 = {
trigger = { has_trait = sadistic }
save_scope_value_as = {
name = false_flag_type
value = flag:sadistic
}
}
# stubborn
100 = {
trigger = { has_trait = stubborn }
save_scope_value_as = {
name = false_flag_type
value = flag:stubborn
}
}
# fickle
100 = {
trigger = { has_trait = fickle }
save_scope_value_as = {
name = false_flag_type
value = flag:fickle
}
}
# vengeful
100 = {
trigger = { has_trait = vengeful }
save_scope_value_as = {
name = false_flag_type
value = flag:vengeful
}
}
# forgiving
100 = {
trigger = { has_trait = forgiving }
save_scope_value_as = {
name = false_flag_type
value = flag:forgiving
}
}
# fallback_1
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_1
}
}
# fallback_2
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_2
}
}
# fallback_3
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_3
}
}
# fallback_4
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_4
}
}
# fallback_5
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_5
}
}
}
}
# Sort scopes for event options.
scope:actor = {
# If scope:actor has a nemesis, save them for loc.
if = {
limit = {
any_relation = {
type = nemesis
count >= 1
ep1_character_interaction_0001_valid_hostile_relation_trigger = yes
}
}
random_relation = {
type = nemesis
limit = { ep1_character_interaction_0001_valid_hostile_relation_trigger = yes }
save_scope_as = actor_nemesis
}
}
# If scope:actor has any valid rivals, pick a random one for option B.
if = {
limit = {
any_relation = {
type = rival
count >= 1
ep1_character_interaction_0001_valid_rival_trigger = yes
}
}
random_relation = {
type = rival
# Prefer rivals that are targets of hostile schemes.
limit = {
any_targeting_scheme = {
scheme_owner = scope:actor
is_hostile = yes
}
ep1_character_interaction_0001_valid_rival_trigger = yes
}
# Failing that, rivals who are targets of any schemes.
alternative_limit = {
any_targeting_scheme = {
scheme_owner = scope:actor
is_hostile = no
}
ep1_character_interaction_0001_valid_rival_trigger = yes
}
# Otherwise just any rando rival who could be schemed against.
alternative_limit = { ep1_character_interaction_0001_valid_rival_trigger = yes }
save_scope_as = actor_rival
}
}
}
}
# *Cackling* Oh yes, [actor_nemesis.GetFirstName] will never see this coming!
option = {
name = ep1_character_interaction.0001.a
trigger = { exists = scope:actor_nemesis }
# Quietly add scope:recipient as a courtier of scope:actor_nemesis.
ep1_character_interaction_0001_move_character_and_family_effect = { DESTINATION = scope:actor_nemesis }
stress_impact = {
patient = miniscule_stress_impact_loss
vengeful = minor_stress_impact_loss
impatient = medium_stress_impact_gain
trusting = major_stress_impact_gain
}
ai_chance = {
# If valid, this should always be the choice selected.
base = 100
}
}
# Excellent! Now, you will deliver yourself to [actor_rival.GetFirstNamePossessive] court...
option = {
name = ep1_character_interaction.0001.b
trigger = { exists = scope:actor_rival }
# Quietly add scope:recipient as a courtier of scope:actor_rival.
ep1_character_interaction_0001_move_character_and_family_effect = { DESTINATION = scope:actor_rival }
stress_impact = {
patient = miniscule_stress_impact_loss
vengeful = minor_stress_impact_loss
impatient = medium_stress_impact_gain
trusting = major_stress_impact_gain
}
ai_chance = {
# Never pick this option...
base = 0
# ... unless there's no nemesis, in which case it should be the default.
modifier = {
add = 100
NOT = { exists = scope:actor_rival }
}
}
}
# Now, begone till I have need of you.
option = {
name = ep1_character_interaction.0001.c
# Boot 'em out.
hidden_effect = {
scope:recipient = { select_and_move_to_pool_effect = yes }
}
show_as_tooltip = {
remove_courtier_or_guest = scope:recipient
}
stress_impact = {
shy = minor_stress_impact_loss
gregarious = minor_stress_impact_gain
}
ai_chance = {
# AI should never be taking this without a nemesis, but if they do, it doesn't matter where they send scope:recipient.
base = 0
}
}
# Naturally, you will stay where I can keep an eye on you.
option = {
name = ep1_character_interaction.0001.d
# Status quo: no extra changes here.
# No stress impact necessary for the fallback option.
ai_chance = {
# AI should never be taking this without a nemesis, but if they do, it doesn't matter where they send scope:recipient.
base = 0
}
}
}

View file

@ -0,0 +1,552 @@
namespace = court_position
################################
# FLAVOR EVENTS
# 1001 - 8999
################################
#############################
# MURDER SAVE EVENTS
# 9001 - 9199
# by Linnéa Thimrén
#############################
###############
# SAVED BY FOOD TASTER
# FOR MURDERER: Saved from poisoned food by food taster
# by Linnéa Thimrén
court_position.9001 = {
type = character_event
window = scheme_failed_event
title = court_position.9001.t
desc = {
desc = court_position.9001.desc
triggered_desc = {
trigger = { exists = local_var:food_taster_dies }
desc = court_position.9001.food_taster_dies
}
}
theme = murder_scheme
left_portrait = {
character = scope:owner
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
override_background = { reference = feast }
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
trigger = {
scope:target = {
employs_court_position = food_taster_court_position
any_court_position_holder = {
type = food_taster_court_position
foodtaster_will_actually_do_job_trigger = yes
}
}
}
immediate = {
scope:target = {
random_court_position_holder = {
type = food_taster_court_position
limit = { is_physically_able = yes }
save_scope_as = food_taster
}
}
murder_failure_effect = yes
hidden_effect = {
random = {
chance = 75
set_local_variable = {
name = food_taster_dies
value = yes
}
}
}
}
option = {
name = murder_save.0001.a
scope:scheme = { end_scheme = yes }
}
option = {
name = murder_save.0001.b
restart_murder_scheme_effect = yes
}
after = {
# Fire the rest of the outcome.
scope:target = { trigger_event = court_position.9002 }
if = {
limit = { exists = local_var:food_taster_dies }
show_as_tooltip = {
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:food_taster
REASON = death_poison
}
}
}
}
}
# FOR TARGET: Food taster dies to poison
court_position.9002 = {
type = character_event
window = scheme_conclusion_event_no_header
title = court_position.9001.t
desc = {
desc = court_position.9002.desc
triggered_desc = {
trigger = { exists = local_var:food_taster_dies }
desc = court_position.9002.food_taster_dies
}
triggered_desc = {
trigger = { exists = scope:scheme_discovered }
desc = court_position.9002.owner_discovered
}
}
theme = murder_scheme
left_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:owner_to_reveal
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
immediate = {
set_variable = {
name = block_death_event_from
value = scope:food_taster
days = 3
}
# Handle the death of the food taster, if necessary
if = {
limit = { exists = local_var:food_taster_dies }
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:food_taster
REASON = death_poison
}
}
}
# Who could do such a thing?
option = {
name = murder_save.1001.a
trigger = {
NOT = { exists = scope:scheme_discovered }
}
custom_tooltip = murder_save.failure_unknown_owner_tt
}
# Vengeance!
option = {
name = murder_save.1001.b
trigger = { exists = scope:scheme_discovered }
custom_tooltip = murder_save.failure_known_owner_tt
}
after = {
add_character_modifier = {
modifier = watchful_modifier
days = watchful_modifier_duration
}
}
}
###############
# SAVED BY CUP-BEARER
# FOR MURDERER: Saved from poisoned drink by cup-bearer
# by Linnéa Thimrén
court_position.9011 = {
type = character_event
window = scheme_failed_event
title = court_position.9011.t
desc = {
desc = court_position.9011.desc
triggered_desc = {
trigger = { exists = local_var:cupbearer_dies }
desc = court_position.9011.cupbearer_dies
}
}
theme = murder_scheme
left_portrait = {
character = scope:owner
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
trigger = {
scope:target = {
employs_court_position = cupbearer_court_position
any_court_position_holder = {
type = cupbearer_court_position
cupbearer_will_actually_do_job_trigger = yes
}
}
}
immediate = {
scope:target = {
random_court_position_holder = {
type = cupbearer_court_position
limit = { is_physically_able = yes }
save_scope_as = cupbearer
}
}
murder_failure_effect = yes
hidden_effect = {
random = {
chance = 75
set_local_variable = {
name = cupbearer_dies
value = yes
}
}
}
}
option = {
name = murder_save.0001.a
scope:scheme = { end_scheme = yes }
}
option = {
name = murder_save.0001.b
restart_murder_scheme_effect = yes
}
after = {
# Fire the rest of the outcome.
scope:target = { trigger_event = court_position.9012 }
if = {
limit = { exists = local_var:cupbearer_dies }
show_as_tooltip = {
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:cupbearer
REASON = death_poison
}
}
}
}
}
# FOR TARGET: Cup-bearer dies to poison
court_position.9012 = {
type = character_event
window = scheme_conclusion_event_no_header
title = court_position.9011.t
desc = {
desc = court_position.9012.desc
triggered_desc = {
trigger = { exists = local_var:cupbearer_dies }
desc = court_position.9012.cupbearer_dies
}
triggered_desc = {
trigger = { exists = scope:scheme_discovered }
desc = court_position.9002.owner_discovered
}
}
theme = murder_scheme
left_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:owner_to_reveal
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
immediate = {
set_variable = {
name = block_death_event_from
value = scope:cupbearer
days = 3
}
# Handle the death of the cupbearer, if necessary
if = {
limit = { exists = local_var:cupbearer_dies }
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:cupbearer
REASON = death_poison
}
}
}
# Who could do such a thing?
option = {
name = murder_save.1001.a
trigger = {
NOT = { exists = scope:scheme_discovered }
}
custom_tooltip = murder_save.failure_unknown_owner_tt
}
# Vengeance!
option = {
name = murder_save.1001.b
trigger = { exists = scope:scheme_discovered }
custom_tooltip = murder_save.failure_known_owner_tt
}
after = {
add_character_modifier = {
modifier = watchful_modifier
days = watchful_modifier_duration
}
}
}
###############
# SAVED BY BODYGUARD
# FOR MURDERER: Saved from assassin by bodyguard
# by Linnéa Thimrén
court_position.9021 = {
type = character_event
window = scheme_failed_event
title = court_position.9021.t
desc = {
desc = court_position.9021.desc
triggered_desc = {
trigger = { exists = local_var:bodyguard_dies }
desc = court_position.9021.bodyguard_dies
}
}
theme = murder_scheme
left_portrait = {
character = scope:owner
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
center_portrait = {
character = scope:bodyguard
triggered_animation = {
trigger = { is_alive = no }
animation = map_fear
}
animation = random_weapon_aggressive
camera = camera_event_center_pointing_left
}
right_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
trigger = {
scope:target = {
employs_court_position = bodyguard_court_position
any_court_position_holder = {
type = bodyguard_court_position
bodyguard_will_actually_do_job_trigger = yes
}
}
}
immediate = {
scope:target = {
random_court_position_holder = {
type = bodyguard_court_position
limit = { is_physically_able = yes }
save_scope_as = bodyguard
}
}
murder_failure_effect = yes
hidden_effect = {
random = {
chance = 75
set_local_variable = {
name = bodyguard_dies
value = yes
}
}
}
}
option = {
name = murder_save.0001.a
scope:scheme = { end_scheme = yes }
}
option = {
name = murder_save.0001.b
restart_murder_scheme_effect = yes
}
after = {
# Fire the rest of the outcome.
scope:target = { trigger_event = court_position.9022 }
if = {
limit = { exists = local_var:bodyguard_dies }
show_as_tooltip = {
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:bodyguard
REASON = death_murder
}
}
}
}
}
# FOR TARGET: Bodyguard dies to assassin
court_position.9022 = {
type = character_event
window = scheme_conclusion_event_no_header
title = court_position.9021.t
desc = {
desc = court_position.9022.desc
triggered_desc = {
trigger = { exists = local_var:bodyguard_dies }
desc = court_position.9022.bodyguard_dies
}
triggered_desc = {
trigger = { exists = scope:scheme_discovered }
desc = court_position.9002.owner_discovered
}
}
theme = murder_scheme
left_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
center_portrait = {
character = scope:bodyguard
triggered_animation = {
trigger = { is_alive = no }
animation = map_fear
}
animation = random_weapon_aggressive
}
right_portrait = {
character = scope:owner_to_reveal
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
immediate = {
set_variable = {
name = block_death_event_from
value = scope:bodyguard
days = 3
}
# Handle the death of the bodyguard, if necessary
if = {
limit = { exists = local_var:bodyguard_dies }
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:bodyguard
REASON = death_murder
}
}
}
# Who could do such a thing?
option = {
name = murder_save.1001.a
trigger = {
NOT = { exists = scope:scheme_discovered }
}
custom_tooltip = murder_save.failure_unknown_owner_tt
}
# Vengeance!
option = {
name = murder_save.1001.b
trigger = { exists = scope:scheme_discovered }
custom_tooltip = murder_save.failure_known_owner_tt
}
after = {
add_character_modifier = {
modifier = watchful_modifier
days = watchful_modifier_duration
}
}
}

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

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

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,329 @@
namespace = ep3_laamp_flavor_oltner
scripted_trigger suitable_pool_marriage_trigger = {
save_temporary_scope_as = pool_marriage_target
is_physically_able_adult = yes
allowed_to_marry_character_gender_trigger = { CHARACTER = $FOLLOWER_TARGET$ }
$FOLLOWER_TARGET$ ?= { allowed_to_marry_character_gender_trigger = { CHARACTER = prev } }
are_characters_sensible_lovers_trigger = { INSTIGATING_LOVER = $FOLLOWER_TARGET$ TARGET_OF_LOVE = scope:pool_marriage_target }
is_married = no
can_marry_trigger = yes
is_concubine = no
NOT = {
exists = betrothed
}
has_no_particular_noble_roots_trigger = yes
}
scripted_trigger suitable_follower_marriage_character_trigger = {
is_physically_able_adult = yes
this != root
is_married = no
can_marry_trigger = yes
is_concubine = no
age <= 50
health >= fine_health
is_faith_dominant_gender = no
NOR = {
house = root.house
is_close_family_of = root
exists = betrothed
has_relation_rival = root
}
save_temporary_scope_as = entourage_member
any_pool_character = {
province = root.location
age <= 40
health >= fine_health
suitable_pool_marriage_trigger = { FOLLOWER_TARGET = scope:entourage_member }
}
}
# A Follower's Heart
ep3_laamp_flavor_oltner.0001 = {
type = character_event
title = ep3_laamp_flavor_oltner.3001.t
desc = ep3_laamp_flavor_oltner.3001.desc
theme = marriage
override_background = { reference = market_scope }
left_portrait = {
character = scope:entourage_to_marry_2
animation = beg
camera = camera_event_very_left
}
right_portrait = {
character = scope:marriage_material
animation = dismissal
camera = camera_event_right_pointing_left
}
cooldown = { years = 10 }
trigger = {
has_government = landless_adventurer_government
location = {
has_holding = yes
}
any_courtier = {
suitable_follower_marriage_character_trigger = yes
}
}
immediate = {
save_scope_as = root_char
random_courtier = {
limit = {
suitable_follower_marriage_character_trigger = yes
}
save_scope_as = entourage_to_marry_2
}
random_pool_character = {
province = root.location
limit = {
suitable_pool_marriage_trigger = { FOLLOWER_TARGET = scope:entourage_to_marry_2 }
}
save_scope_as = marriage_material
}
location.county.title_province = { save_scope_as = background_market_scope }
}
option = { # Tell them to pay it themselves
name = ep3_laamp_flavor_oltner.0001.a
trigger = {
scope:entourage_to_marry_2.gold >= {
add = scope:marriage_material.sum_of_all_skills_and_prowess_value
}
}
scope:entourage_to_marry_2 = {
remove_short_term_gold = {
add = scope:marriage_material.sum_of_all_skills_value
add = scope:marriage_material.prowess
}
}
add_courtier = scope:marriage_material
scope:entourage_to_marry_2 = {
if = {
limit = {
is_female = yes
is_lowborn = no
scope:marriage_material = {
is_lowborn = yes
}
}
marry_matrilineal = scope:marriage_material
}
else_if = {
limit = {
is_male = yes
is_lowborn = yes
scope:marriage_material = {
is_lowborn = no
}
}
marry_matrilineal = scope:marriage_material
}
else = {
marry = scope:marriage_material
}
}
ai_chance = {
base = 100
}
}
option = { # Pay the dowry
name = ep3_laamp_flavor_oltner.0001.b
stress_impact = {
generous = massive_stress_impact_loss
greedy = medium_stress_impact_gain
}
remove_short_term_gold = {
add = scope:marriage_material.sum_of_all_skills_and_prowess_value
}
add_courtier = scope:marriage_material
scope:entourage_to_marry_2 = {
if = {
limit = {
is_female = yes
is_lowborn = no
scope:marriage_material = {
is_lowborn = yes
}
}
marry_matrilineal = scope:marriage_material
}
else_if = {
limit = {
is_male = yes
is_lowborn = yes
scope:marriage_material = {
is_lowborn = no
}
}
marry_matrilineal = scope:marriage_material
}
else = {
marry = scope:marriage_material
}
progress_towards_friend_effect = {
CHARACTER = root
OPINION = 0
REASON = friend_helped_me_marry
}
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 50
}
}
scope:marriage_material = { save_scope_as = relationship_reason_involved_character }
clear_saved_scope = relationship_reason_involved_character
ai_chance = {
base = 10
modifier = {
factor = 0
OR = {
has_trait = greedy
gold <= {
add = scope:marriage_material.sum_of_all_skills_and_prowess_value
multiply = 2
}
}
}
}
}
option = { # Convince them to run away with you
name = ep3_laamp_flavor_oltner.0001.c
skill = intrigue
stress_impact = {
generous = medium_stress_impact_gain
}
duel = {
skill = intrigue
value = high_skill_rating
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = ep3_laamp_flavor_oltner.0001.c.success
send_interface_toast = {
title = ep3_laamp_flavor_oltner.0001.c.success
left_icon = scope:entourage_to_marry_2
right_icon = scope:marriage_material
add_courtier = scope:marriage_material
scope:entourage_to_marry_2 = {
if = {
limit = {
is_female = yes
is_lowborn = no
scope:marriage_material = {
is_lowborn = yes
}
}
marry_matrilineal = scope:marriage_material
}
else_if = {
limit = {
is_male = yes
is_lowborn = yes
scope:marriage_material = {
is_lowborn = no
}
}
marry_matrilineal = scope:marriage_material
}
else = {
marry = scope:marriage_material
}
progress_towards_friend_effect = {
CHARACTER = root
OPINION = 0
REASON = friend_helped_me_marry
}
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 50
}
}
scope:marriage_material = { save_scope_as = relationship_reason_involved_character }
clear_saved_scope = relationship_reason_involved_character
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = ep3_laamp_flavor_oltner.0001.c.failure
send_interface_toast = {
title = ep3_laamp_flavor_oltner.0001.c.failure
left_icon = scope:entourage_to_marry_2
right_icon = scope:marriage_material
scope:entourage_to_marry_2 = {
add_stress = medium_stress_gain
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -30
}
}
}
}
}
ai_chance = {
base = 10
modifier = {
factor = 0
has_trait = generous
}
}
}
option = { # Ignore your follower
name = ep3_laamp_flavor_oltner.0001.d
stress_impact = {
compassionate = medium_stress_impact_gain
generous = medium_stress_impact_gain
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
chaste = minor_stress_impact_loss
shy = minor_stress_impact_loss
}
scope:entourage_to_marry_2 = {
add_opinion = {
target = root
modifier = heartbroken_opinion
opinion = -30
}
}
ai_chance = {
base = 10
modifier = {
factor = 0
OR = {
has_trait = compassionate
has_trait = generous
}
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,533 @@
namespace = ep3_roman_restoration
#######################################
###
### EP3 RESTORE ROME STORY CYCLE EVENTS
### by Chad Uhl
###
### 0100 Justinian's Dream
### 0101-0109 Rome Reformed Notifications
### 0300-0590 Post-Restoration Difficulties
###
#######################################
# Justinian's Dream
# Event fired on story cycle setup informing the player that they can form the roman empire
ep3_roman_restoration.0001 = {
type = character_event
title = ep3_roman_restoration.0001.t
desc = ep3_roman_restoration.0001.desc
theme = emperor
override_background = {
trigger = { capital_county = title:c_byzantion }
reference = ep3_constantinople
}
left_portrait = {
character = root
animation = emotion_thinking_scepter
}
trigger = {
NOT = { has_global_variable = flag_restored_roman_empire }
}
option = {
name = ep3_roman_restoration.0001.a
custom_tooltip = ep3_roman_restoration.0001.a.tt
decision:restore_roman_empire_decision = {
open_view_data = {
view = decision_detail
player = root
}
}
}
}
# Should I LARP or nah?
ep3_roman_restoration.0100 = {
type = character_event
window = fullscreen_event
title = ep3_roman_restoration.0100.t
desc = ep3_roman_restoration.0100.desc
theme = emperor
override_background = { reference = ep3_fullscreen_restore_rome }
immediate = {
save_scope_as = scoped_emperor
}
option = { # LARP (Hard Mode)
name = ep3_roman_restoration.0100.a
custom_tooltip = ep3_roman_restoration.hard_mode
custom_tooltip = ep3_roman_restoration.end_hard_mode
custom_tooltip = ep3_roman_restoration.invasion_cb
every_held_title = {
limit = {
is_head_of_faith = yes
}
root = {
destroy_title = prev
}
}
set_character_faith = faith:hellenic_pagan
if = {
limit = {
faith:hellenic_pagan = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
primary_title = { set_state_faith = faith:hellenic_pagan }
every_held_title = {
custom = custom.every_held_county
title_tier = county
set_county_faith = faith:hellenic_pagan
}
every_vassal = {
custom = custom.every_vassal
limit = {
NOT = {
any_held_title = {
is_head_of_faith = yes # you cannot convert the Ecumenical Patriarch, sorry
}
}
}
custom_tooltip = {
text = may_choose_to_convert_hellenic_desc
run_interaction = { # We use the same interaction as when creating a new faith to keep a consistent behaviour, since that is essentially what you're doing here
interaction = ask_for_conversion_interaction
actor = root
recipient = this
execute_threshold = accept
}
}
}
custom_tooltip = {
text = ep3_roman_restoration.household_gods_tenet
set_global_variable = household_gods_tenet_unlocked
}
custom_tooltip = {
text = uses_custom_caesar_flavourization_tt
set_variable = uses_custom_caesar_flavourization
}
if = {
limit = {
any_owned_story = { type = ep3_story_cycle_restoring_rome }
}
random_owned_story = {
type = ep3_story_cycle_restoring_rome
set_variable = roman_empire_hard_mode
}
}
}
option = { # Roleplay option (become Hellenic without Hard Mode)
name = ep3_roman_restoration.0100.c
custom_tooltip = ep3_roman_restoration.easy_mode
every_held_title = {
limit = {
is_head_of_faith = yes
}
root = {
destroy_title = prev
}
}
set_character_faith = faith:hellenic_pagan
if = {
limit = {
faith:hellenic_pagan = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
primary_title = { set_state_faith = faith:hellenic_pagan }
every_held_title = {
custom = custom.every_held_county
title_tier = county
set_county_faith = faith:hellenic_pagan
}
every_vassal = {
custom = custom.every_vassal
limit = {
NOT = {
any_held_title = {
is_head_of_faith = yes # you cannot convert the Ecumenical Patriarch, sorry
}
}
}
custom_tooltip = {
text = may_choose_to_convert_hellenic_desc
run_interaction = { # We use the same interaction as when creating a new faith to keep a consistent behaviour, since that is essentially what you're doing here
interaction = ask_for_conversion_interaction
actor = root
recipient = this
execute_threshold = accept
}
}
}
custom_tooltip = {
text = ep3_roman_restoration.household_gods_tenet
set_global_variable = household_gods_tenet_unlocked
}
custom_tooltip = {
text = uses_custom_caesar_flavourization_tt
set_variable = uses_custom_caesar_flavourization
}
}
option = { # Easy Mode
name = ep3_roman_restoration.0100.b
custom_tooltip = ep3_roman_restoration.easy_mode
}
after = {
create_roman_empire_scripted_effect = yes
set_nickname_effect = { NICKNAME = nick_the_glorious }
# Send narrative fluff to other players (if any).
every_player = {
limit = { this != root }
trigger_event = ep3_roman_restoration.0101
}
}
}
# Some chucklefuck restored Rome
ep3_roman_restoration.0101 = {
type = character_event
window = fullscreen_event
title = roman_restoration.0002.t
desc = {
desc = ep3_roman_restoration.0101.intro
first_valid = {
triggered_desc = {
trigger = { scope:scoped_emperor.primary_title.state_faith ?= faith:hellenic_pagan }
desc = ep3_roman_restoration.0101.hellenic
}
triggered_desc = {
trigger = { scope:scoped_emperor.primary_title.state_faith ?= faith:orthodox }
desc = ep3_roman_restoration.0101.orthodox
}
desc = ep3_roman_restoration.0101.fallback
}
desc = ep3_roman_restoration.0101.outro
}
theme = emperor
override_background = { reference = ep3_fullscreen_restore_rome }
immediate = {
#Same-faith non-empire tier rulers are over-awed.
if = {
limit = { faith = scope:scoped_emperor.primary_title.state_faith }
play_music_cue = "mx_cue_epic_sacral_moment"
}
#Otherwise, this is a tacit statement of imperial threat.
else = { play_music_cue = "mx_cue_combat_2" }
}
option = {
name = ep3_roman_restoration.0101.a
}
}
#######################################
### POST-ROME DIFFICULTIES
# Your inefficient governor messed up, causing mass loss in popular opinion. Can you fix it?
ep3_roman_restoration.0300 = {
type = character_event
title = ep3_roman_restoration.0300.t
desc = ep3_roman_restoration.0300.desc
theme = emperor
left_portrait = {
character = root
animation = anger
}
right_portrait = {
character = scope:inefficient_governor
animation = shock
}
cooldown = { years = 20 }
immediate = {
ordered_vassal = {
limit = {
is_governor = yes
is_ai = yes
}
order_by = { # Mostly sort by governor efficiency
value = governor_efficiency
multiply = -10
# Prefer governors with a larger realm size for more difficulty
add = sub_realm_size
}
save_scope_as = inefficient_governor
}
custom_tooltip = ep3_roman_restoration.0300.efficiency
}
option = { # Stewardship Challenge
name = ep3_roman_restoration.0300.a
duel = {
skill = stewardship
value = excellent_skill_level
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_good
title = ep3_roman_restoration.0300.a.success
left_icon = scope:inefficient_governor
right_icon = scope:inefficient_governor.primary_title
scope:inefficient_governor = {
every_sub_realm_county = {
custom = ep3_roman_restoration.0300.every_sub_realm_county
add_county_modifier = {
modifier = restore_rome_recuperated_county_opinion_modifier
years = 10
}
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_bad
title = ep3_roman_restoration.0300.a.failure
left_icon = scope:inefficient_governor
right_icon = scope:inefficient_governor.primary_title
scope:inefficient_governor = {
every_sub_realm_county = {
custom = ep3_roman_restoration.0300.every_sub_realm_county
add_county_modifier = {
modifier = restore_rome_devastated_county_opinion_modifier
years = 10
}
}
}
}
}
}
}
option = { # Fire the Governor
name = ep3_roman_restoration.0300.b
change_influence = massive_influence_loss
save_scope_as = actor
scope:inefficient_governor = {
save_scope_as = recipient
primary_title = { save_scope_as = landed_title }
}
save_scope_value_as = {
name = hook
value = no
}
scope:inefficient_governor = {
every_sub_realm_county = {
custom = ep3_roman_restoration.0300.every_sub_realm_county
add_county_modifier = {
modifier = restore_rome_recuperated_county_opinion_modifier
years = 10
}
}
force_step_down_landed_titles = yes
}
}
option = { # Opt-Out
name = ep3_roman_restoration.0300.c
scope:inefficient_governor = {
every_sub_realm_county = {
custom = ep3_roman_restoration.0300.every_sub_realm_county
add_county_modifier = {
modifier = restore_rome_lowered_county_opinion_modifier
years = 10
}
}
}
stress_impact = {
base = medium_stress_impact_loss
lazy = minor_stress_impact_loss
diligent = medium_stress_impact_gain
ambitious = minor_stress_impact_gain
}
}
}
# Every 10-30 years, a random kingdom will raid you
ep3_roman_restoration.0500 = {
type = character_event
title = ep3_roman_restoration.0500.t
desc = ep3_roman_restoration.0500.desc
theme = emperor
left_portrait = {
character = root
animation = emotion_thinking_scepter
}
right_portrait = {
character = scope:marshal
animation = inspect_weapon
}
lower_center_portrait = scope:target_kingdom
cooldown = { years = { 10 30 } }
trigger = {
exists = cp:councillor_marshal
any_neighboring_top_liege_realm_owner = {
is_ai = yes
is_at_war = no
primary_title = { tier >= tier_kingdom }
NOR = {
is_allied_to = root
any_truce_target = { this = root }
has_relation_friend = root
has_relation_lover = root
}
any_top_realm_border_county = {
any_neighboring_county = {
holder.top_liege = root
NOT = {
title_province = { has_province_modifier = recently_looted_modifier }
}
}
}
}
}
immediate = {
cp:councillor_marshal = { save_scope_as = marshal }
ordered_neighboring_top_liege_realm_owner = {
limit = {
is_ai = yes
is_at_war = no
primary_title = { tier >= tier_kingdom }
any_top_realm_border_county = {
any_neighboring_county = {
holder.top_liege = root
NOT = {
title_province = { has_province_modifier = recently_looted_modifier }
}
}
}
}
order_by = {
value = 1
add = { # inverted opinion since we're looking for ppl who hate you
value = "opinion(root)"
multiply = -1
}
if = {
limit = { can_raid_trigger = yes }
add = 50
}
}
save_scope_as = target_kingdom
}
scope:target_kingdom = {
random_top_realm_border_county = {
limit = {
any_neighboring_county = {
holder.top_liege = root
NOT = {
title_province = { has_province_modifier = recently_looted_modifier }
}
}
}
random_neighboring_county = {
limit = {
holder.top_liege = root
NOT = {
title_province = { has_province_modifier = recently_looted_modifier }
}
}
save_scope_as = target_county
}
}
}
}
option = {
name = ep3_roman_restoration.0500.a
}
after = {
scope:target_kingdom = {
start_war = {
cb = ep3_roman_empire_border_war
target = root
target_title = scope:target_county
}
}
}
}
# Special Bubonic Plague Spawns - Commented out and disabled because this is not very fun
#ep3_roman_restoration.0510 = {
# hidden = yes
#
# immediate = {
# random_realm_county = {
# limit = { exists = holder }
# holder = { save_scope_as = target_holder }
# save_scope_as = infected_county
# title_province = {
# save_scope_as = target_province
# create_epidemic_outbreak = {
# type = bubonic_plague
# intensity = major
# save_scope_as = epidemic
# }
# }
# }
# trigger_event = epidemic_events.1100
# }
#}
# Mongol Invasion Spawns
ep3_roman_restoration.0520 = {
scope = none
hidden = yes
trigger = {
NOR = {
has_global_variable = mongols_have_appeared
any_player = {
THIS = culture:mongol.culture_head
realm_size >= 100
}
}
}
immediate = {
set_global_variable = {
name = mongols_have_appeared
value = yes
}
debug_log = "Mongols appeared!"
debug_log_date = yes
spawn_temujin_character_effect = yes
scope:temujin = {
save_scope_as = story_owner
create_story = story_mongol_invasion
}
}
}

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

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,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

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,153 @@
namespace = fp3_story_cycle_seljuks_invasion_events
### RISE OF THE SELJUKS #############################################
## 0001 Leader and Story Cycle Creation by Maxence Voleau
## 0002 The First Settlers by Hugo Cortell
#####################################################################
###################################
# Setup: we create the leader and start the story cycle
# By Maxence Voleau
###################################
fp3_story_cycle_seljuks_invasion_events.0001 = {
scope = none
hidden = yes
immediate = {
spawn_seljuk_character_effect = yes
scope:lead_seljuk = {
create_story = story_seljuk_invasion
}
}
}
###################################
# The First Settlers
# By Hugo Cortell
###################################
fp3_story_cycle_seljuks_invasion_events.0002 = {
type = character_event
title = fp3_story_cycle_seljuks_invasion_events.0001.t
desc = {
desc = fp3_story_cycle_seljuks_invasion_events.0001.desc
first_valid = {
triggered_desc = {
trigger = { highest_held_title_tier > tier_duchy }
desc = fp3_story_cycle_seljuks_invasion_events.0001.desc_vassal
}
desc = fp3_story_cycle_seljuks_invasion_events.0001.desc_independent
}
}
theme = realm
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:lead_seljuk
animation = personality_honorable
}
immediate = {
save_scope_as = seljuk_victim
random_sub_realm_county = {
limit = {
any_neighboring_county = {
exists = holder
holder.top_liege != scope:seljuk_victim
}
de_jure_liege = scope:fp3_seljuk_settle_target
}
alternative_limit = {
any_neighboring_county = {
exists = holder
holder.top_liege != scope:seljuk_victim
}
any_neighboring_county = { de_jure_liege = scope:fp3_seljuk_settle_target }
}
alternative_limit = {
any_neighboring_county = {
exists = holder
holder.top_liege != scope:seljuk_victim
}
}
random_county_province = {
limit = {
this != scope:fp3_seljuk_settle_target.title_capital_county.title_province
}
save_scope_as = spawn_location
}
}
save_scope_value_as = {
name = victim_strength_modifier
value = {
value = current_military_strength
divide = 10000
add = 1.25
}
}
scope:lead_seljuk = {
#move to the army spawn location, so it's less confusing when you want to see where they are
set_location = scope:spawn_location
var:seljuk_birthplace = { save_scope_as = seljuk_birthplace }
}
}
option = { # Yes - Serve me well!
name = fp3_story_cycle_seljuks_invasion_events.0001.a_liege
fp3_story_cycle_seljuks_invasion_events_grant_seljuks_land_effect = yes
scope:lead_seljuk = {
add_trait = loyal
culture = {
change_cultural_acceptance = {
target = scope:seljuk_victim.culture
value = 30
desc = STEWARD_PROMOTE_CULTURE_ALLOWED_NOMAD_SETTLEMENT
}
}
}
create_seljuk_army_at_peace_effect = yes
debug_log = "Seljuk got the land and were vassalized"
ai_chance = {
base = 50
ai_value_modifier = {
ai_boldness = -0.5
ai_compassion = 0.2
ai_greed = -0.5
ai_energy = -0.5
ai_rationality = 0.3
ai_sociability = 0.3
}
}
}
option = { # No - To war with you!
name = fp3_story_cycle_seljuks_invasion_events.0001.b
# Start war
scope:lead_seljuk = {
start_war = {
casus_belli = fp3_seljuk_invasion_cb
target = root
target_title = scope:fp3_seljuk_settle_target
}
random_character_war = { save_scope_as = war }
}
create_seljuk_army_effect = yes
debug_log = "Seljuk have to win a war"
ai_chance = {
base = 50
ai_value_modifier = {
ai_boldness = 0.5
ai_greed = 0.5
ai_energy = 0.5
ai_vengefulness = 0.5
}
}
}
}

View file

@ -0,0 +1,726 @@
namespace = fp3_story_cycle_zanj_rebellion_events
### Ali Ibn Muhammad and Zanj Rebellion Setup
fp3_story_cycle_zanj_rebellion_events.0001 = {
scope = none
hidden = yes
immediate = {
spawn_zanj_leader_character_effect = yes
scope:zanj_leader = {
save_scope_as = story_owner
create_story = story_zanj_rebellion
give_nickname = nick_albaghid
}
title:c_basra.holder = {
add_visiting_courtier = scope:zanj_leader
}
title:c_basra.holder.top_liege = {
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0002
}
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0005
days = { 60 120 }
}
}
}
}
### Ali Ibn Muhammad riling up locals in Basra
fp3_story_cycle_zanj_rebellion_events.0002 = {
type = character_event
theme = intrigue
override_background = { reference = wilderness_wetlands }
title = fp3_story_cycle_zanj_rebellion_events.0002.t
desc = fp3_story_cycle_zanj_rebellion_events.0002.desc
left_portrait = {
character = root
animation = marshal
}
right_portrait = {
character = scope:zanj_leader
animation = scheme
}
immediate = {
scope:zanj_leader = {
save_scope_as = outspoken_rebel
}
}
#Try to arrest Ali
option = {
name = fp3_story_cycle_zanj_rebellion_events.0002.a
duel = {
skill = intrigue
target = scope:outspoken_rebel
50 = {
# You arrest Ali Ibn Muhammad
desc = fp3_story_cycle_zanj_rebellion_events.0002.a.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
send_interface_toast = {
title = fp3_story_cycle_zanj_rebellion_events.0002.a.success
left_icon = root
right_icon = scope:outspoken_rebel
rightfully_imprison_character_effect = {
TARGET = scope:outspoken_rebel
IMPRISONER = root
}
}
inherit_zanj_rebellion_effect = yes
}
50 = {
# Ali Ibn Muhammad escapes
desc = fp3_story_cycle_zanj_rebellion_events.0002.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_toast = {
title = fp3_story_cycle_zanj_rebellion_events.0002.a.failure
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
custom_tooltip = fp3_story_cycle_zanj_rebellion_leaves_for_baghdad
left_icon = root
right_icon = scope:outspoken_rebel
}
hidden_effect = {
scope:zanj_leader = {
change_variable = {
name = zanj_rebellion_strength_score
add = 4
}
}
title:c_baghdad.holder = {
hidden_effect = {
title:c_baghdad.holder = {
add_visiting_courtier = scope:outspoken_rebel
}
}
}
title:c_basra.holder.top_liege = {
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0003
days = { 30 60 }
}
}
}
}
}
root = {
progress_towards_rival_effect = {
REASON = fp3_zanj_rebellion_opressed_me
CHARACTER = scope:outspoken_rebel
OPINION = default_rival_opinion
}
}
stress_impact = {
paranoid = medium_stress_impact_loss
just = minor_stress_impact_loss
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
trusting = medium_stress_impact_gain
forgiving = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0.5
OR = {
has_trait = trusting
has_trait = forgiving
has_trait = compassionate
}
}
}
}
#Ignore Ali
option = {
name = fp3_story_cycle_zanj_rebellion_events.0002.c
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
scope:zanj_leader = {
change_variable = {
name = zanj_rebellion_strength_score
add = 2
}
}
custom_tooltip = fp3_story_cycle_zanj_rebellion_leaves_for_baghdad
hidden_effect = {
title:c_baghdad.holder = {
add_visiting_courtier = scope:outspoken_rebel
}
}
title:c_basra.holder.top_liege = {
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0003
days = { 30 60 }
}
}
stress_impact = {
paranoid = medium_stress_impact_gain
just = minor_stress_impact_gain
callous = minor_stress_impact_gain
sadistic = medium_stress_impact_gain
trusting = medium_stress_impact_loss
forgiving = medium_stress_impact_loss
compassionate = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 0.5
OR = {
has_trait = paranoid
has_trait = just
has_trait = callous
has_trait = sadistic
}
}
}
}
}
### Setup to find correct scope for event 0004 and check if Ali is dead or imprisoned
fp3_story_cycle_zanj_rebellion_events.0003 = {
scope = none
hidden = yes
immediate = {
if ={
#check if Ali is still alive and not in prison and is not an inheritor of the rebellion
limit = {
scope:zanj_leader = {
AND = {
is_alive = yes
is_imprisoned = no
NOT = { has_character_flag = new_zanj_leader }
}
}
}
title:c_baghdad.holder.top_liege = {
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0004
}
}
}
}
}
### Ali Ibn Muhammad claims divinity
fp3_story_cycle_zanj_rebellion_events.0004 = {
type = character_event
theme = faith
title = fp3_story_cycle_zanj_rebellion_events.0004.t
desc = fp3_story_cycle_zanj_rebellion_events.0004.desc
left_portrait = {
character = root
animation = dismissal
}
right_portrait = {
character = scope:zanj_leader
animation = personality_zealous
}
#Contest Ali Ibn Muhammad's claims
option = {
name = fp3_story_cycle_zanj_rebellion_events.0004.a
duel = {
skill = learning
target = scope:zanj_leader
50 = {
# You disprove Ali's claims
desc = fp3_story_cycle_zanj_rebellion_events.0004.a.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
send_interface_toast = {
title = fp3_story_cycle_zanj_rebellion_events.0004.a.success
add_piety = medium_piety_gain
add_prestige = minor_prestige_gain
left_icon = root
right_icon = scope:zanj_leader
}
}
50 = {
# Ali Ibn Muhammad validates his claims
desc = fp3_story_cycle_zanj_rebellion_events.0004.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
send_interface_toast = {
title = fp3_story_cycle_zanj_rebellion_events.0004.a.failure
left_icon = root
right_icon = scope:zanj_leader
scope:zanj_leader = {
add_trait = sayyid
add_pressed_claim = title:e_arabia
change_variable = {
name = zanj_rebellion_strength_score
add = 4
}
}
}
}
}
root = {
progress_towards_rival_effect = {
REASON = fp3_zanj_rebellion_opressed_me
CHARACTER = scope:zanj_leader
OPINION = default_rival_opinion
}
}
stress_impact = {
paranoid = minor_stress_impact_loss
just = minor_stress_impact_loss
zealous = medium_stress_impact_loss
trusting = medium_stress_impact_gain
forgiving = medium_stress_impact_gain
cynical = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0.5
OR = {
has_trait = cynical
has_trait = trusting
has_trait = forgiving
}
}
}
}
#Ignore Ali
option = {
name = fp3_story_cycle_zanj_rebellion_events.0004.b
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
scope:zanj_leader = {
add_trait = sayyid
add_pressed_claim = title:e_arabia
change_variable = {
name = zanj_rebellion_strength_score
add = 2
}
}
stress_impact = {
paranoid = minor_stress_impact_gain
just = minor_stress_impact_gain
zealous = medium_stress_impact_gain
trusting = minor_stress_impact_loss
forgiving = medium_stress_impact_loss
cynical = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 0.5
OR = {
has_trait = paranoid
has_trait = just
has_trait = zealous
}
}
}
}
}
### Setup event to find the correct scope and check if Ali or the current Zanj Leader is dead or imprisoned
fp3_story_cycle_zanj_rebellion_events.0005 = {
scope = none
hidden = yes
immediate = {
if = {
limit = {
scope:zanj_leader = {
OR = {
is_imprisoned = yes
is_alive = no
is_landed = yes
}
}
}
inherit_zanj_rebellion_effect = yes
}
title:c_basra.holder.top_liege = {
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0006
}
}
}
}
### A Zanj Steps Forth
fp3_story_cycle_zanj_rebellion_events.0006 = {
type = character_event
theme = corruption
title = fp3_story_cycle_zanj_rebellion_events.0006.t
desc = {
desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.a
triggered_desc = {
trigger = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.b
}
desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.c
}
left_portrait = {
character = root
animation = eyeroll
}
right_portrait = {
character = scope:outspoken_rebel
animation = worry
}
lower_left_portrait = {
trigger = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
character = scope:zanj_leader
}
immediate = {
if = {
limit = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
spawn_zanj_representative_character_effect = yes
scope:zanj_representative = { save_scope_as = outspoken_rebel }
}
else = {
scope:zanj_leader = { save_scope_as = outspoken_rebel }
}
}
#Give Basra to the Zanj
option = {
name = fp3_story_cycle_zanj_rebellion_events.0006.a
create_title_and_vassal_change = {
type = independency
save_scope_as = change
add_claim_on_loss = no
}
title:c_basra = {
set_county_culture = culture:east_bantu
set_county_faith = faith:azariqa
}
show_as_tooltip = { # UI/UX
title:c_basra = {
change_title_holder = {
holder = scope:outspoken_rebel
change = scope:change
}
}
}
scope:outspoken_rebel = {
becomes_independent = {
change = scope:change
}
add_truce_both_ways = {
character = root
years = 10
name = fp3_landed_zanj_reason
}
}
if = {
limit = {
NOT = { title:c_basra.holder = root }
}
add_tyranny = 30
set_relation_rival = {
reason = fp3_rival_gave_title_away
target = title:c_basra.holder
}
}
hidden_effect = {
title:c_basra = {
change_title_holder = {
holder = scope:outspoken_rebel
change = scope:change
}
every_de_jure_county = {
change_title_holder = {
holder = scope:outspoken_rebel
change = scope:change
}
}
}
scope:zanj_leader = {
random_owned_story = {
type = story_zanj_rebellion
end_story = yes
}
}
}
resolve_title_and_vassal_change = scope:change
stress_impact = {
compassionate = medium_stress_impact_loss
just = minor_stress_impact_loss
forgiving = minor_stress_impact_loss
generous = medium_stress_impact_loss
content = medium_stress_impact_loss
callous = medium_stress_impact_gain
sadistic = major_stress_impact_gain
ambitious = medium_stress_impact_gain
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0.5
OR = {
has_trait = callous
has_trait = sadistic
has_trait = ambitious
has_trait = greedy
}
}
}
}
#Make minor concessions to the Zanj
option = {
name = fp3_story_cycle_zanj_rebellion_events.0006.b
scope:zanj_leader = {
change_variable = {
name = zanj_rebellion_strength_score
add = 3
}
}
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
hidden_effect = {
title:c_basra.holder = {
if = {
limit = { scope:zanj_leader != scope:outspoken_rebel}
add_visiting_courtier = scope:zanj_leader
}
add_visiting_courtier = scope:outspoken_rebel
}
}
if = {
limit = {
NOT = { title:c_basra.holder = root }
}
progress_towards_rival_effect = {
REASON = fp3_zanj_rebellion_interfered_with_my_workers
CHARACTER = title:c_basra.holder
OPINION = default_rival_opinion
}
}
title:c_basra = {
add_county_modifier = {
modifier = fp3_zanj_rebellion_work_concessions_modifier
years = 5
}
}
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0007
days = { 30 60 }
}
stress_impact = {
compassionate = minor_stress_impact_loss
just = minor_stress_impact_loss
forgiving = minor_stress_impact_loss
generous = minor_stress_impact_loss
content = minor_stress_impact_loss
callous = minor_stress_impact_gain
sadistic = medium_stress_impact_gain
ambitious = minor_stress_impact_gain
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0.5
OR = {
has_trait = callous
has_trait = sadistic
has_trait = ambitious
has_trait = greedy
}
}
}
}
#Ignore the Zanj
option = {
name = fp3_story_cycle_zanj_rebellion_events.0006.c
scope:zanj_leader = {
change_variable = {
name = zanj_rebellion_strength_score
add = 5
}
}
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
hidden_effect = {
title:c_basra.holder = {
add_visiting_courtier = scope:zanj_leader
add_visiting_courtier = scope:zanj_representative
}
}
if = {
limit = {
NOT = { title:c_basra.holder = root }
}
progress_towards_friend_effect = {
REASON = fp3_rival_stayed_out_of_my_business
CHARACTER = title:c_basra.holder
OPINION = default_friend_opinion
}
}
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0007
days = { 30 60 }
}
stress_impact = {
compassionate = minor_stress_impact_gain
just = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
generous = minor_stress_impact_gain
content = minor_stress_impact_gain
callous = minor_stress_impact_loss
sadistic = medium_stress_impact_loss
ambitious = minor_stress_impact_loss
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 0.5
OR = {
has_trait = compassionate
has_trait = just
has_trait = forgiving
has_trait = generous
}
}
}
}
}
fp3_story_cycle_zanj_rebellion_events.0007 = {
scope = none
hidden = yes
immediate = {
if = {
limit = {
scope:zanj_leader = {
OR = {
is_imprisoned = yes
is_alive = no
is_landed = yes
}
}
}
inherit_zanj_rebellion_effect = yes
}
title:c_basra.holder.top_liege = {
trigger_event = {
id = fp3_story_cycle_zanj_rebellion_events.0008
}
}
}
}
### The Zanj Rebellion
fp3_story_cycle_zanj_rebellion_events.0008 = {
type = character_event
theme = battle
override_background = { reference = wilderness_wetlands }
title = fp3_story_cycle_zanj_rebellion_events.0008.t
desc = {
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.a
triggered_desc = {
trigger = {
scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader}}
}
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.b
}
triggered_desc = {
trigger = {
scope:zanj_leader = { has_character_flag = new_zanj_leader }
}
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.c
}
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.d
}
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:zanj_leader
animation = celebrate_sword
}
immediate = {
scope:zanj_leader = {
give_nickname = nick_chief_of_the_zanj
hidden_effect = {
random_owned_story = {
type = story_zanj_rebellion
end_story = yes
}
}
}
hidden_effect = {
fp3_start_zanj_rebellion_effect = {
TARGET_COUNTY = title:c_basra
REBEL_LEADER = scope:zanj_leader
}
create_zanj_courtier_effect = {
EMPLOYER = scope:zanj_leader
LOCATION = scope:zanj_leader.location
}
create_zanj_courtier_effect = {
EMPLOYER = scope:zanj_leader
LOCATION = scope:zanj_leader.location
}
create_zanj_courtier_effect = {
EMPLOYER = scope:zanj_leader
LOCATION = scope:zanj_leader.location
}
create_zanj_courtier_effect = {
EMPLOYER = scope:zanj_leader
LOCATION = scope:zanj_leader.location
}
}
}
option = {
name = fp3_story_cycle_zanj_rebellion_events.0008.a
}
}

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,286 @@
namespace = fp3_h_yearly
###################################
# You have pissed off your ulema and you're a drunkard
# By Hugo Cortell
# Rewritten by Henrik Lohmander
###################################
fp3_h_yearly.0001 = {
type = character_event
title = fp3_h_yearly.0001.t
desc = {
triggered_desc = {
trigger = { always = yes }
desc = fp3_h_yearly.0001.desc.main
}
}
theme = feast_activity
override_background = { reference = throne_room }
left_portrait = {
character = root
animation = drink_goblet
}
right_portrait = {
character = scope:ulema_member
animation = disapproval
}
cooldown = { years = 10 }
weight_multiplier = {
base = 1
modifier = {
exists = cp:councillor_court_chaplain
cp:councillor_court_chaplain = { has_trait = drunkard }
factor = 0.4
}
modifier = {
any_character_struggle = {
is_struggle_type = persian_struggle
}
add = 0.5
}
modifier = {
has_trait = fp3_struggle_supporter
add = -0.5
}
modifier = {
has_trait = fp3_struggle_detractor
add = 0.5
}
}
trigger = {
has_fp3_dlc_trigger = yes
has_trait = drunkard
NOT = { has_character_modifier = ulema_displeased_drinking }
exists = cp:councillor_court_chaplain
NOT = {
has_hook = cp:councillor_court_chaplain
}
cp:councillor_court_chaplain = {
is_ai = yes
faith = { trait_is_sin = drunkard }
trigger_if = {
limit = { exists = house }
house != root.house
}
NOT = {
has_trait = lifestyle_mystic
}
OR = {
opinion = { # They will not do this unless they have reason to dislike you
target = root
value < -25
}
has_relation_rival = root
}
}
}
immediate = {
cp:councillor_court_chaplain = { save_scope_as = ulema_member }
save_scope_as = actor
scope:ulema_member = { save_scope_as = recipient }
}
option = { #Deflection (They are a drunkard too) Look who is talking!
name = fp3_h_yearly.0001.a
trigger = { scope:ulema_member = { has_trait = drunkard } }
#No duel, this deflection always succeeds.
stress_impact = {
craven = minor_stress_gain
deceitful = minor_stress_loss
callous = minor_stress_loss
}
add_prestige = medium_prestige_gain
reverse_add_opinion = {
target = scope:ulema_member
modifier = ignored_concerns
}
}
option = { #Deflection - Argue that drinking is healthy to the human spirit
name = fp3_h_yearly.0001.b
trigger = {
OR = {
has_trait = scholar
has_trait = theologian
has_trait = whole_of_body
has_trait = lifestyle_physician
has_trait = lifestyle_poet
faith = { trait_is_virtue = drunkard }
}
}
reverse_add_opinion = {
target = scope:ulema_member
modifier = ignored_concerns
}
duel = {
desc = fp3_h_yearly.0001.b.desc
skill = learning
target = scope:annoying_clergy
35 = { #Success
desc = fp3_h_yearly.0001.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_good
title = fp3_h_yearly.0001.b.success
left_icon = root
add_prestige = minor_prestige_gain
}
}
65 = {
desc = fp3_h_yearly.0001.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_toast = {
title = fp3_h_yearly.0001.b.failure
left_icon = root
add_piety = medium_piety_loss
add_character_modifier = {
modifier = ulema_displeased_drinking
years = 10
}
}
}
}
stress_impact = {
honest = minor_stress_gain
humble = minor_stress_gain
callous = minor_stress_loss
deceitful = minor_stress_loss
}
}
option = { # You do not get to speak to me in this way!
name = fp3_h_yearly.0001.e
add_dread = medium_dread_gain
imprison_court_chaplain_consequences_effect = yes
imprison_character_effect = {
TARGET = scope:recipient
IMPRISONER = scope:actor
}
stress_impact = {
just = medium_stress_gain
zealous = medium_stress_gain
deceitful = minor_stress_loss
callous = minor_stress_loss
}
}
option = { #Bribery - Offer a generous donation
name = fp3_h_yearly.0001.c
trigger = { NOT = { scope:ulema_member = { has_trait = drunkard } } } #If you can deflect we don't show this option
custom_tooltip = fp3_h_yearly.0001.c.tt
pay_short_term_gold = {
target = scope:ulema_member
gold = medium_gold_value
}
random_list = {
75 = {
modifier = {
scope:ulema_member = {
has_trait = greedy
}
factor = 2
}
modifier = {
scope:ulema_member = {
has_trait = deceitful
}
factor = 2
}
modifier = {
scope:ulema_member = {
has_trait = ambitious
}
factor = 2
}
desc = fp3_h_yearly.0001.c.success
send_interface_toast = {
title = fp3_h_yearly.0001.c.success
left_icon = root
add_prestige = minor_prestige_gain
}
}
25 = {
modifier = {
scope:ulema_member = {
has_trait = zealous
}
factor = 2
}
modifier = {
scope:ulema_member = {
has_trait = honest
}
factor = 2
}
modifier = {
scope:ulema_member = {
has_trait = just
}
factor = 2
}
desc = fp3_h_yearly.0001.c.failure
send_interface_toast = {
title = fp3_h_yearly.0001.c.failure
left_icon = root
add_piety = medium_piety_loss
add_character_modifier = {
modifier = ulema_displeased_drinking
years = 10
}
reverse_add_opinion = {
target = scope:ulema_member
modifier = ignored_concerns
}
}
}
}
stress_impact = {
just = medium_stress_gain
greedy = minor_stress_gain
honest = minor_stress_gain
callous = minor_stress_loss
deceitful = minor_stress_loss
}
}
option = { # There is nothing I can do!
name = fp3_h_yearly.0001.d
add_piety = minor_piety_loss
add_character_modifier = {
modifier = ulema_displeased_drinking
years = 5
}
stress_impact = {
arrogant = minor_stress_gain
deceitful = minor_stress_gain
drunkard = minor_stress_gain
honest = minor_stress_loss
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,824 @@
namespace = fp3_yearly
scripted_trigger not_steppe_nomad_trigger = {
culture = {
NOR = {
has_cultural_pillar = heritage_mongolic
has_cultural_pillar = heritage_turkic
has_cultural_tradition = tradition_horse_lords
}
}
}
scripted_trigger suitable_nomad_settling_province_trigger = {
has_holding_type = castle_holding
barony = {
is_under_holy_order_lease = no
#is_capital_barony = no
}
}
fp3_yearly.8888 = { #Nomads story cycle
type = character_event
title = fp3_yearly.8888.t
desc = fp3_yearly.8888.desc
theme = vassal
left_portrait = {
character = scope:upset_vassal
animation = anger
}
right_portrait = {
character = root
animation = personality_rational
triggered_animation = {
trigger = {
diplomacy >= decent_skill_rating
}
animation = personality_honorable
}
}
lower_left_portrait = {
character = scope:possibly_capable_marshal
}
lower_right_portrait = {
character = scope:turkic_leader
}
trigger = {
#standard checks
has_fp3_dlc_trigger = yes
root.capital_province = { geographical_region = world_persian_empire }
is_available_at_peace_adult = yes
#event fluff triggers
not_steppe_nomad_trigger = yes
NOT = { has_character_flag = had_turkic_tribe_story } #since this event starts the story
exists = cp:councillor_marshal
cp:councillor_marshal = {
NOT = { has_trait = craven }
is_ai = yes
}
any_vassal = {
not_steppe_nomad_trigger = yes
is_ai = yes
NOT = {
this = root.cp:councillor_marshal
}
any_held_county = {
any_county_province = {
geographical_region = dlc_fp3_eastern_persian_frontier_regions
NOT = { terrain = steppe }
}
}
}
any_held_county = { any_county_province = { suitable_nomad_settling_province_trigger = yes } }
}
cooldown = { years = 50 }
immediate = {
random_vassal = {
limit = {
not_steppe_nomad_trigger = yes
is_ai = yes
NOT = {
this = root.cp:councillor_marshal
}
any_held_county = {
any_county_province = {
geographical_region = dlc_fp3_eastern_persian_frontier_regions
NOT = { terrain = steppe }
}
}
}
save_scope_as = upset_vassal
random_held_county = {
limit = {
any_county_province = {
geographical_region = dlc_fp3_eastern_persian_frontier_regions
NOT = { terrain = steppe }
}
}
save_scope_as = nomads_county
}
}
random_held_county = {
limit = {
any_county_province = { suitable_nomad_settling_province_trigger = yes }
}
save_scope_as = nomads_new_county #for use in the claim the former_master might get
}
scope:nomads_new_county = {
random_county_province = {
limit = { suitable_nomad_settling_province_trigger = yes }
barony = { save_scope_as = nomads_barony }
}
}
cp:councillor_marshal = { save_scope_as = possibly_capable_marshal }
scope:nomads_county = {
add_county_modifier = {
modifier = fp3_nomad_friction_county_modifier
years = 50
}
}
create_character = {
location = root.capital_province
template = fp3_turko-mongol_leader
save_scope_as = turkic_leader
}
}
option = {
name = fp3_yearly.8888.a
duel = {
skill = diplomacy
value = average_skill_rating
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
root = {
custom_tooltip = fp3_treating_with_turks.success.tt
trigger_event = {
id = fp3_yearly.8889
days = { 2 3 }
}
}
}
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
custom_tooltip = fp3_treating_with_turks.failure.tt
send_interface_toast = {
title = fp3_treating_with_turks_toast.failure
left_icon = root
}
}
}
scope:upset_vassal = {
if = {
limit = {
OR = { #if he's diplomatically minded, he'll appreciate this
has_trait = forgiving
has_trait = trusting
has_trait = compassionate
has_diplomacy_lifestyle_trait_trigger = yes
}
}
add_opinion = {
target = root
opinion = 20
modifier = respect_opinion
}
}
else = {
add_opinion = { #but otherwise, they're not on board
target = root
opinion = -10
modifier = fp3_treats_with_barbarians_opinion
}
}
}
scope:possibly_capable_marshal = {
add_opinion = {
target = root
opinion = -10
modifier = disappointed_opinion
}
}
stress_impact = {
craven = medium_stress_impact_gain
lazy = medium_stress_impact_gain
shy = medium_stress_impact_gain
gregarious = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 0.5
ai_boldness = 1
ai_compassion = 0.5
}
}
}
option = {
name = fp3_yearly.8888.b
scope:upset_vassal = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
scope:possibly_capable_marshal = {
add_opinion = {
target = root
opinion = 10
modifier = trusted_me_opinion
}
}
scope:possibly_capable_marshal = {
duel = {
skill = martial
value = average_skill_rating
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
root = {
custom_tooltip = fp3_fighting_turks.success.tt
trigger_event = {
id = fp3_yearly.8890
days = { 2 3 }
}
}
}
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
root = {
custom_tooltip = fp3_fighting_turks.failure.tt
send_interface_toast = {
title = fp3_fighting_turks_toast.failure
left_icon = scope:possibly_capable_marshal
}
}
}
}
}
stress_impact = {
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_vengefulness = 0.5
}
}
}
option = { #Ignore the issue
name = fp3_yearly.8888.c
scope:upset_vassal = {
add_opinion = {
target = root
opinion = -20
modifier = angry_opinion
}
}
scope:possibly_capable_marshal = {
add_opinion = {
target = root
opinion = -10
modifier = disappointed_opinion
}
}
stress_impact = {
ambitious = minor_stress_impact_gain
diligent = minor_stress_impact_gain
just = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = -1
}
}
}
}
fp3_yearly.8889 = { #Nomads story cycle
type = character_event
title = fp3_yearly.8889.t
desc = fp3_yearly.8889.desc
theme = vassal
left_portrait = {
character = scope:turkic_leader
animation = disapproval
}
right_portrait = {
character = root
animation = drink_goblet
triggered_animation = {
trigger = {
diplomacy >= decent_skill_rating
NOR = {
has_trait = callous
has_trait = wrathful
has_trait = vengeful
}
}
animation = personality_compassionate
}
}
lower_left_portrait = {
character = scope:upset_vassal
}
override_background = { reference = wilderness }
trigger = {
#standard checks
is_available_adult = yes
#event not breaking sanity triggers
exists = scope:upset_vassal
scope:upset_vassal = { is_alive = yes }
exists = scope:turkic_leader
scope:turkic_leader = { is_alive = yes }
exists = scope:nomads_county
exists = scope:nomads_new_county
}
option = {
name = fp3_yearly.8889.a
if = {
limit = {
scope:upset_vassal = {
NOT = {
has_relation_rival = root
has_relation_nemesis = root
}
}
}
root = {
progress_towards_rival_effect = {
CHARACTER = scope:upset_vassal
REASON = rival_let_hostile_nomads_roam_free
OPINION = -20
}
}
}
else = {
scope:upset_vassal = {
add_opinion = {
target = root
opinion = -40
modifier = hate_opinion
}
}
}
add_courtier = scope:turkic_leader
spawn_army = {
men_at_arms = {
type = horse_archers
stacks = 1
}
location = root.capital_province
war_keep_on_attacker_victory = yes
uses_supply = yes
inheritable = no
save_scope_as = horsemen_army
name = turkic_tribal_event_troops
}
#This is needed to make the story cycle able to pick up the scopes
set_variable = {
name = turkic_leader
value = scope:turkic_leader
}
set_variable = {
name = upset_vassal
value = scope:upset_vassal
}
set_variable = {
name = nomads_county
value = scope:nomads_county
}
set_variable = {
name = nomads_new_county
value = scope:nomads_new_county
}
create_story = turkic_tribe_story
stress_impact = {
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 0.4
ai_boldness = 0.7
ai_vengefulness = 0.3
}
}
}
option = {
name = fp3_yearly.8889.b
scope:upset_vassal = {
add_opinion = {
target = root
opinion = -10
modifier = disappointed_opinion
}
}
add_courtier = scope:turkic_leader
spawn_army = {
men_at_arms = {
type = horse_archers
stacks = 1
}
location = root.capital_province
war_keep_on_attacker_victory = yes
uses_supply = yes
inheritable = no
save_scope_as = horsemen_army
name = turkic_tribal_event_troops
}
#This is needed to make the story cycle able to pick up the scopes
set_variable = {
name = turkic_leader
value = scope:turkic_leader
}
set_variable = {
name = upset_vassal
value = scope:upset_vassal
}
set_variable = {
name = nomads_county
value = scope:nomads_county
}
set_variable = {
name = nomads_new_county
value = scope:nomads_new_county
}
create_story = turkic_tribe_story
scope:nomads_county = {
remove_county_modifier = fp3_nomad_friction_county_modifier
}
scope:nomads_new_county = {
add_county_modifier = {
modifier = fp3_nomad_friction_county_modifier
years = 30
}
}
stress_impact = {
generous = medium_stress_impact_loss
content = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 0.6
ai_boldness = 1
ai_compassion = 0.2
}
}
}
option = { #no deal
name = fp3_yearly.8889.c
scope:upset_vassal = {
add_opinion = {
target = root
opinion = 20
modifier = pleased_opinion
}
}
stress_impact = {
ambitious = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = -0.5
ai_vengefulness = 0.5
}
}
}
}
fp3_yearly.8890 = { #Nomads story cycle
type = character_event
title = fp3_yearly.8890.t
desc = {
desc = fp3_yearly.8890.desc_beginning
first_valid = {
triggered_desc = {
trigger = {
scope:upset_vassal = {
AND = {
ai_compassion < medium_positive_ai_value
ai_vengefulness > medium_positive_ai_value
}
}
}
desc = fp3_yearly.8890_brutal_demands
}
desc = fp3_yearly.8890_nonbrutal_demands
}
desc = fp3_yearly.8890.desc_ending
}
theme = vassal
left_portrait = {
character = scope:turkic_leader
animation = prisonhouse
}
right_portrait = {
character = root
animation = personality_rational
triggered_animation = {
trigger = {
diplomacy < high_skill_rating
NOR = {
has_trait = compassionate
has_trait = forgiving
has_trait = just
}
}
animation = personality_callous
}
}
lower_left_portrait = {
character = scope:upset_vassal
}
lower_right_portrait = {
character = scope:possibly_capable_marshal
}
trigger = {
#standard checks
is_available_adult = yes
#event not breaking sanity triggers
exists = scope:upset_vassal
scope:upset_vassal = { is_alive = yes }
exists = scope:turkic_leader
scope:turkic_leader = { is_alive = yes }
exists = scope:nomads_county
exists = scope:nomads_new_county
}
option = {
name = fp3_yearly.8890.a
scope:upset_vassal = {
add_opinion = {
target = root
opinion = -15
modifier = fp3_suspicious_motives_opinion
}
}
add_courtier = scope:turkic_leader
add_hook = {
type = indebted_hook
target = scope:turkic_leader
}
spawn_army = {
men_at_arms = {
type = horse_archers
stacks = 1
}
location = root.capital_province
war_keep_on_attacker_victory = yes
uses_supply = yes
inheritable = no
save_scope_as = horsemen_army
name = turkic_tribal_event_troops
}
#This is needed to make the story cycle able to pick up the scopes
set_variable = {
name = turkic_leader
value = scope:turkic_leader
}
set_variable = {
name = upset_vassal
value = scope:upset_vassal
}
set_variable = {
name = nomads_county
value = scope:nomads_county
}
set_variable = {
name = nomads_new_county
value = scope:nomads_new_county
}
create_story = turkic_tribe_story
scope:nomads_county = {
remove_county_modifier = fp3_nomad_friction_county_modifier
}
scope:nomads_new_county = {
add_county_modifier = {
modifier = fp3_nomad_friction_county_modifier
years = 30
}
}
stress_impact = {
content = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 0.5
ai_rationality = 0.5
}
}
}
option = { #execute the nomad leader
name = fp3_yearly.8890.b
add_dread = medium_dread_gain
scope:upset_vassal = {
if = {
limit = {
AND = { #if they're cruel, he'll enjoy this
ai_compassion < 0
ai_vengefulness > medium_positive_ai_value
}
}
add_opinion = {
target = root
opinion = 30
modifier = fp3_very_very_pleased_opinion
}
}
else = {
add_opinion = { #but otherwise, they're not on board
target = root
opinion = -10
modifier = fp3_went_too_far_opinion
}
}
}
scope:turkic_leader = {
death = {
death_reason = death_execution
killer = root
}
}
random_list = {
50 = {
send_interface_toast = {
title = nomad_friction_gone.tt
left_icon = root
scope:nomads_county = { remove_county_modifier = fp3_nomad_friction_county_modifier }
}
}
50 = {
send_interface_toast = {
title = nomad_friction_active.tt
left_icon = root
scope:nomads_county = {
add_county_modifier = {
modifier = fp3_vengeful_nomads_county_modifier
years = 10
}
}
}
}
}
stress_impact = {
compassionate = medium_stress_impact_gain
just = medium_stress_impact_gain
arbitrary = medium_stress_impact_loss
sadistic = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 0.5
ai_compassion = -1
}
}
}
option = {
name = fp3_yearly.8890.c
add_dread = minor_dread_gain
scope:turkic_leader = {
hard_imprison_character_effect = {
TARGET = this
IMPRISONER = root
}
}
scope:upset_vassal = {
add_opinion = {
target = root
opinion = 20
modifier = pleased_opinion
}
}
random = {
chance = 75
send_interface_toast = {
title = nomad_friction_gone.tt
left_icon = root
scope:nomads_county = { remove_county_modifier = fp3_nomad_friction_county_modifier }
}
}
stress_impact = {
compassionate = minor_stress_impact_gain
just = minor_stress_impact_gain
arbitrary = minor_stress_impact_loss
cynical = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 0.5
ai_rationality = 1
ai_compassion = -0.5
}
}
}
}

View file

@ -0,0 +1,307 @@
namespace = court_astrologer_events
#Triggered by the "Consult the Skies" decision
court_astrologer_events.0001 = {
type = character_event
title = court_astrologer_events.0001.t
desc = court_astrologer_events.0001.desc
theme = faith
override_effect_2d = {
reference = legend_glow
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = zealous
}
animation = beg
}
triggered_animation = {
trigger = {
OR = {
has_trait = craven
has_trait = paranoid
}
}
animation = worry
}
triggered_animation = {
trigger = {
OR = {
has_trait = cynical
has_trait = arrogant
}
}
animation = boredom
}
animation = prayer
}
right_portrait = {
character = scope:astrologer
animation = holding_staff
}
immediate = {
random_courtier = {
limit = { has_court_position = court_astrologer_court_position }
save_scope_as = astrologer
}
}
option = { # Tell me about my love life
name = court_astrologer_events.0001.a
random_list = {
50 = {
desc = court_astrologer_events.0001.a.success
send_interface_toast = {
title = court_astrologer_events.0001.a.success
left_icon = root
custom_tooltip = court_astrologer_events.0001.a.success.tt
if = {
limit = {
culture ?= { has_cultural_pillar = ethos_spiritual }
}
add_character_modifier = {
modifier = mpo_divination_love_spiritual_modifier
years = 5
}
}
else = {
add_character_modifier = {
modifier = mpo_divination_love_modifier
years = 5
}
}
}
}
50 = {
desc = court_astrologer_events.0001.a.failure
send_interface_toast = {
title = court_astrologer_events.0001.a.failure
left_icon = root
add_stress = minor_stress_loss
}
}
}
stress_impact = {
paranoid = miniscule_stress_impact_gain
cynical = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Tell me about war
name = court_astrologer_events.0001.b
random_list = {
50 = {
desc = court_astrologer_events.0001.b.success
send_interface_toast = {
title = court_astrologer_events.0001.b.success
left_icon = root
if = {
limit = {
culture ?= { has_cultural_pillar = ethos_spiritual }
}
add_character_modifier = {
modifier = mpo_divination_war_spiritual_modifier
years = 5
}
}
else = {
add_character_modifier = {
modifier = mpo_divination_war_modifier
years = 5
}
}
}
}
50 = {
desc = court_astrologer_events.0001.a.failure
send_interface_toast = {
title = court_astrologer_events.0001.a.failure
left_icon = root
add_stress = minor_stress_loss
}
}
}
stress_impact = {
paranoid = miniscule_stress_impact_gain
cynical = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Just tell me about life
name = court_astrologer_events.0001.c
random_list = {
50 = {
desc = court_astrologer_events.0001.c.success
send_interface_toast = {
title = court_astrologer_events.0001.c.success
left_icon = root
if = {
limit = {
culture ?= { has_cultural_pillar = ethos_spiritual }
}
add_character_modifier = {
modifier = mpo_divination_life_spiritual_modifier
years = 5
}
}
else = {
add_character_modifier = {
modifier = mpo_divination_life_modifier
years = 5
}
}
}
}
50 = {
desc = court_astrologer_events.0001.a.failure
send_interface_toast = {
title = court_astrologer_events.0001.a.failure
left_icon = root
add_stress = minor_stress_loss
}
}
}
stress_impact = {
paranoid = miniscule_stress_impact_gain
cynical = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Actually, not right now
name = court_astrologer_events.0001.d
remove_decision_cooldown = mpo_divination_decision
ai_chance = {
base = 0
}
}
}
# Migration Suggestion
scripted_trigger court_astrologer_events_0002_neighbour_trigger = {
government_has_flag = government_is_nomadic
current_domain_fertility >= root.current_domain_fertility
is_independent_ruler = yes
}
court_astrologer_events.0002 = {
type = character_event
title = court_astrologer_events.0002.t
desc = {
desc = court_astrologer_events.0002.desc.intro
first_valid = {
triggered_desc = {
trigger = {
location.county.county_fertility <= bad_county_fertility_level
}
desc = court_astrologer_events.0002.desc.bad
}
desc = court_astrologer_events.0002.desc.meh
}
desc = court_astrologer_events.0002.desc.outro
}
theme = nomads
override_background = { reference = mpo_steppe_evening }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:astrologer
animation = holding_staff
}
lower_center_portrait = scope:target_realm_owner
cooldown = { years = 5 }
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
is_available = yes
employs_court_position = court_astrologer_court_position
court_position:court_astrologer_court_position = { is_available = yes }
any_neighboring_realm_same_rank_owner = {
court_astrologer_events_0002_neighbour_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
current_domain_fertility <= bad_county_fertility_level
factor = 2
}
}
immediate = {
court_position:court_astrologer_court_position = {
save_scope_as = astrologer
get_quirk_character_effect = yes
}
ordered_neighboring_realm_same_rank_owner = {
limit = {
court_astrologer_events_0002_neighbour_trigger = yes
}
order_by = current_domain_fertility
save_scope_as = target_realm_owner
primary_title = { save_scope_as = target_realm }
}
}
option = { # Sounds like a great idea
name = court_astrologer_events.0002.a
custom_tooltip = court_astrologer_events.0002.a.tt
set_variable = {
name = astrologer_desired_area
value = scope:target_realm
years = 5
}
stress_impact = {
paranoid = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Thank you for your feedback
name = court_astrologer_events.0002.b
scope:astrologer = {
add_opinion = {
target = root
modifier = respect_opinion
opinion = 20
}
}
stress_impact = {
paranoid = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # I'm good
name = court_astrologer_events.0002.c
add_prestige = minor_prestige_gain
stress_impact = {
paranoid = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
}

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,456 @@
namespace = mpo_flavor_events_settled
# mpo_flavor_events_settled.0001 - You hear of a Havsarsan Zud
# mpo_flavor_events_settled.0010 - Horse Lord at your door
#######################
# You hear of a Havsarsan Zud
#######################
mpo_flavor_events_settled.0001 = {
type = character_event
title = mpo_flavor_events_settled.0001.t
desc = mpo_flavor_events_settled.0001.desc
theme = nomads
override_background = { reference = ep3_city_gate }
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = callous
has_trait = sadistic
}
}
animation = schadenfreude
}
triggered_animation = {
trigger = {
OR = {
has_trait = brave
has_trait = arrogant
}
}
animation = dismissal
}
animation = worry
}
right_portrait = {
character = scope:nomad
animation = horse_exhausted
camera = camera_event_horse_right
}
widget = {
gui = "event_window_widget_vfx_snowstorm"
container = "foreground_shader_vfx_container"
}
cooldown = { years = 10 }
trigger = {
has_mpo_dlc_trigger = yes
NOT = { government_has_flag = government_is_nomadic }
OR = {
any_character_situation = { # You are a settled ruler in the Great Steppe
any_participant_group = {
participant_group_type = settled_rulers
participant_group_has_character = root
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_havsarsan_zud_season
}
}
any_sub_realm_county = { # You are neighbouring the Great Steppe
any_neighboring_county = {
holder != root
any_county_situation = {
situation:the_great_steppe ?= this
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_havsarsan_zud_season
}
}
}
}
}
}
immediate = {
if = {
limit = {
any_neighboring_top_liege_realm_owner = {
government_has_flag = government_is_nomadic
}
}
random_neighboring_top_liege_realm_owner = {
limit = { government_has_flag = government_is_nomadic }
save_scope_as = nomad_lord
}
}
else = {
random_ruler = {
limit = {
in_diplomatic_range = root
government_has_flag = government_is_nomadic
}
save_scope_as = nomad_lord
}
}
create_character = {
location = root.location
template = nomadic_hunter_template
faith = scope:nomad_lord.faith
culture = scope:nomad_lord.culture
save_scope_as = nomad
}
scope:nomad = { add_trait = nomadic_philosophy }
}
option = { # Get out
name = mpo_flavor_events_settled.0001.aa
reason = faith
add_internal_flag = special
trigger = {
faith = {
trait_is_virtue = callous
}
}
add_piety = medium_piety_gain
stress_impact = {
callous = major_stress_impact_loss
generous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = callous
}
modifier = {
factor = 0
OR = {
has_trait = generous
has_trait = paranoid
}
}
}
}
option = { # Let's prepare
name = mpo_flavor_events_settled.0001.a
remove_short_term_gold = medium_gold_value
every_sub_realm_county = {
limit = { holder = root }
add_county_modifier = {
modifier = mpo_settled_preparations_war_county_modifier
years = 15
}
}
stress_impact = {
wrathful = medium_stress_impact_loss
brave = medium_stress_impact_loss
craven = medium_stress_impact_gain
greedy = medium_stress_impact_gain
avaricious = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = wrathful
has_trait = brave
}
factor = 0
}
modifier = {
OR = {
short_term_gold <= major_gold_value
has_trait = greedy
has_trait = avaricious
has_trait = craven
}
factor = 0
}
}
}
option = { # We should focus on building
name = mpo_flavor_events_settled.0001.b
every_sub_realm_county = {
limit = { holder = root }
add_county_modifier = {
modifier = mpo_settled_preparations_building_county_modifier
years = 10
}
}
stress_impact = {
compassionate = major_stress_impact_loss
greedy = medium_stress_impact_gain
avaricious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Recruit this guy
name = mpo_flavor_events_settled.0001.c
trigger = {
NOT = {
faith = {
trait_is_virtue = callous
}
}
}
add_courtier = scope:nomad
if = {
limit = {
faith = { trait_is_virtue = compassionate }
}
add_piety = major_piety_gain
}
else = {
add_piety = medium_piety_gain
}
stress_impact = {
compassionate = major_stress_impact_loss
callous = major_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = {
custom_tooltip = mpo_flavor_events_settled.0001.tt
if = {
limit = { is_ai = yes }
scope:nomad = { silent_disappearance_effect = yes }
}
}
}
#######################
# Horse Lord at your door
#######################
scripted_trigger mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = {
government_has_flag = government_is_nomadic
NOR = {
is_close_family_of = root
is_vassal_of = root
is_tributary_of = root
this = root.liege
this = root.suzerain
}
any_character_situation = {
situation:the_great_steppe ?= this
}
}
mpo_flavor_events_settled.0010 = {
type = character_event
title = mpo_flavor_events_settled.0010.t
desc = mpo_flavor_events_settled.0010.desc
theme = nomads
override_background = { reference = ep3_city_gate }
left_portrait = {
character = root
animation = anger
}
right_portrait = {
character = scope:nomad
animation = horse_conversing_left
camera = camera_event_horse_right
}
lower_right_portrait = scope:nomad_lord
cooldown = { years = 10 }
trigger = {
has_mpo_dlc_trigger = yes
NOR = {
government_has_flag = government_is_nomadic
any_primary_war_enemy = { government_has_flag = government_is_nomadic }
}
any_neighboring_top_liege_realm_owner = {
mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
any_neighboring_top_liege_realm_owner = {
government_has_flag = government_is_nomadic
highest_held_title_tier >= tier_kingdom
}
factor = 2
}
}
immediate = {
random_neighboring_top_liege_realm_owner = {
limit = { mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = yes }
weight = {
base = 1
modifier = {
highest_held_title_tier >= tier_kingdom
add = 5
}
}
save_scope_as = nomad_lord
}
create_character = {
location = root.location
template = nomadic_commander_template
faith = scope:nomad_lord.faith
culture = scope:nomad_lord.culture
save_scope_as = nomad
}
hidden_effect = {
scope:nomad = { add_trait = nomadic_philosophy }
scope:nomad_lord = { add_courtier = scope:nomad }
}
}
option = { # Pay tribute
name = mpo_flavor_events_settled.0010.a
trigger = {
OR = {
scope:nomad_lord.primary_title.tier > root.primary_title.tier
scope:nomad_lord.current_military_strength > root.current_military_strength
}
}
start_tributary_interaction_effect = {
TRIBUTARY = root
SUZERAIN = scope:nomad_lord
}
scope:nomad_lord = {
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 25
}
}
add_prestige = medium_prestige_gain
stress_impact = {
vengeful = major_stress_impact_loss
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 0
}
}
option = { # Pay to get truce
name = mpo_flavor_events_settled.0010.b
trigger = {
NOR = {
scope:nomad_lord.primary_title.tier > root.primary_title.tier
scope:nomad_lord.current_military_strength > root.current_military_strength
}
}
if = {
limit = {
has_perk = defensive_measures_perk
}
custom_tooltip = mpo_flavor_events_settled.0010.b_perk_tt
pay_short_term_gold = {
target = scope:nomad_lord
gold = root.purchase_truce_interaction_small_sum
}
add_truce_both_ways = {
character = scope:nomad_lord
days = purchase_truce_interaction_truce_days_medium_value
name = TRUCE_PURCHASED
}
}
else = {
pay_short_term_gold = {
target = scope:nomad_lord
gold = root.purchase_truce_interaction_medium_sum
}
add_truce_both_ways = {
character = scope:nomad_lord
days = purchase_truce_interaction_truce_days_medium_value
name = TRUCE_PURCHASED
}
}
stress_impact = {
brave = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
OR = {
has_trait = content
has_trait = craven
}
factor = 2
}
modifier = {
OR = {
has_trait = brave
has_trait = ambitious
has_trait = arrogant
has_trait = greedy
gold <= root.purchase_truce_interaction_major_sum
}
factor = 0
}
}
}
option = { # Offend them
name = mpo_flavor_events_settled.0010.c
add_dread = medium_dread_value
scope:nomad_lord = {
progress_towards_rival_effect = {
CHARACTER = root
OPINION = -40
REASON = rival_disrespected_envoy
}
}
stress_impact = {
callous = major_stress_impact_loss
craven = major_stress_impact_gain
vengeful = major_stress_impact_gain
}
ai_chance = {
base = 0
modifier = {
add = 150
has_trait = callous
current_military_strength > scope:nomad_lord.current_military_strength
}
}
}
option = { # Let's just be friends
name = mpo_flavor_events_settled.0010.d
add_diplomacy_lifestyle_xp = minor_lifestyle_xp
scope:nomad_lord = {
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 5
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
}
ai_chance = {
base = 200
}
}
after = {
if = {
limit = { is_ai = yes }
scope:nomad = { silent_disappearance_effect = yes }
}
}
}

View file

@ -0,0 +1,450 @@
namespace = mpo_jamukha_flavor
#######################
# Become Blood Brothers with Temujin
#######################
mpo_jamukha_flavor.0001 = {
type = character_event
title = mpo_jamukha_flavor.0001.t
desc = mpo_jamukha_flavor.0001.desc
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = happiness
camera = camera_event_very_left
}
right_portrait = {
character = scope:temujin
animation = inspect_weapon
}
trigger = {
scope:temujin = {
is_alive = yes
NOR = {
has_relation_blood_brother = root
has_relation_rival = root
}
}
is_alive = yes
}
immediate = {
play_music_cue = "mx_cue_touching_moment"
scope:temujin = {
save_scope_as = blood_bro
}
}
option = { # Yay
name = mpo_jamukha_flavor.0001.a
name = mpo_jamukha_flavor.0001.a.tt
scope:temujin = {
set_relation_blood_brother = {
target = scope:jamukha
reason = blood_brother_temujin_jamukha
}
}
if = {
limit = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
scope:jamukha = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
}
}
custom_tooltip = temujin_warhorse_jamukha_tt
custom_tooltip = jamukha_warhorse_jamukha_tt
hidden_effect = {
start_warhorse_story_cycle_effect = yes
scope:temujin = {
start_warhorse_story_cycle_effect = yes
}
}
}
custom_tooltip = blood_brother_gains_hook_tt
custom_tooltip = blood_brother_gains_hook_other_tt
add_character_modifier = blood_brother_warrior_modifier
scope:temujin = {
add_character_modifier = blood_brother_warrior_modifier
}
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Not a chance
name = mpo_jamukha_flavor.0001.b
add_dread = minor_dread_gain
add_prestige = minor_prestige_gain
scope:temujin = {
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -25
}
}
stress_impact = {
base = minor_stress_impact_gain
callous = medium_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 0
}
}
}
#######################
# You consider breaking free from Temujin
#######################
scripted_effect mpo_jamukha_flavor_0010_jamukha_leaving_effect = {
if = {
limit = { is_vassal_of = scope:temujin }
create_title_and_vassal_change = {
type = independency
save_scope_as = change
add_claim_on_loss = no
}
becomes_independent = {
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
else = {
end_tributary = yes
}
add_truce_both_ways = {
character = scope:temujin
years = 5
name = temujin_jamukha_truce
}
if = {
limit = {
current_military_strength < scope:temujin.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:temujin.domicile.herd
multiply = 0.5
}
}
}
if = {
limit = {
exists = scope:togrul
}
show_as_tooltip = {
custom_tooltip = negotiate_togrul_alliance_effect_tooltip
create_alliance = {
target = scope:togrul
allied_through_owner = root
allied_through_target = scope:togrul
}
scope:togrul = {
add_opinion = {
target = scope:jamukha
modifier = event_negotiated_alliance_opinion
}
}
}
}
custom_tooltip = jamukha_temujin_response_warning_tt
}
scripted_trigger mpo_jamukha_flavor_0010_togrul_trigger = {
is_ai = yes
is_at_war = no
is_alive = yes
is_ruler = yes
NOR = {
is_at_war_with = root
has_relation_rival = root
is_vassal_of = scope:temujin
}
in_diplomatic_range = root
NOT = {
government_has_flag = government_is_herder
}
}
mpo_jamukha_flavor.0010 = {
type = character_event
title = mpo_jamukha_flavor.0010.t
desc = {
desc = mpo_jamukha_flavor.0010.desc
triggered_desc = {
trigger = {
exists = scope:togrul
}
desc = mpo_jamukha_flavor.0010.desc_togrul
}
}
theme = nomads
override_background = {
reference = mpo_steppe_evening
}
left_portrait = {
character = root
animation = war_attacker
camera = camera_event_very_left
}
right_portrait = {
character = scope:temujin
animation = dismissal
camera = camera_event_very_right
}
lower_right_portrait = scope:togrul
trigger = {
character:125501 = {
has_variable = had_mpo_temujin_flavor_0001
}
is_alive = yes
is_ruler = yes
character:125501 = {
is_alive = yes
is_available = yes
}
OR = {
is_vassal_of = character:125501
is_tributary_of = character:125501
}
NOT = {
is_at_war_with = character:125501
}
}
immediate = {
save_scope_as = jamukha
character:125501 = {
save_scope_as = temujin
}
if = {
limit = {
character:303211 = {
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
}
character:303211 = {
save_scope_as = togrul
}
}
else_if = {
limit = {
character:303211.house ?= {
any_house_member = {
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
}
}
character:303211.house ?= {
ordered_house_member = {
order_by = current_military_strength
limit = {
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
save_scope_as = togrul
}
}
}
else = {
capital_county.empire ?= {
ordered_de_jure_county_holder = {
order_by = current_military_strength
limit = {
highest_held_title_tier <= tier_duchy
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
save_scope_as = togrul
}
}
}
}
#I want to leave Temujin and take Togrul as an ally
option = {
name = mpo_jamukha_flavor.0010.a
show_as_tooltip = {
mpo_jamukha_flavor_0010_jamukha_leaving_effect = yes
}
scope:temujin = {
trigger_event = mpo_temujin_flavor.0010
add_opinion = {
target = root
modifier = betrayal_opinion
opinion = -40
}
}
ai_chance = {
base = 100
}
}
#I want to stay with Temujin and be friends forever
option = {
name = mpo_jamukha_flavor.0010.b
add_character_modifier = {
modifier = jamukha_chose_loyalty_modifier
years = 5
}
scope:temujin = {
add_opinion = {
target = root
modifier = loyalty_opinion
opinion = 30
}
}
stress_impact = {
base = miniscule_stress_impact_gain
}
ai_chance = {
base = 0
}
}
on_trigger_fail = { # Jamukha becomes your rival anyways if you've migrated away
if = {
limit = {
is_independent_ruler = yes
NOT = { is_tributary_of = scope:temujin }
}
hidden_effect = {
scope:temujin = {
trigger_event = {
days = { 360 420 }
id = mpo_temujin_flavor.0020
}
}
}
}
}
}
#######################
# Temujin becomes your rival -- now you must kill him
#######################
mpo_jamukha_flavor.0020 = {
type = character_event
title = mpo_jamukha_flavor.0020.t
desc = mpo_jamukha_flavor.0020.desc
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = threatening
camera = camera_event_very_left
}
right_portrait = {
character = scope:temujin
animation = aggressive_sword
outfit_tags = { nightgown }
camera = camera_event_very_right
}
window = scheme_conclusion_event_no_header
immediate = {
play_music_cue = "mx_cue_murder"
custom_tooltip = jamukha_temujin_no_more_positive_tt
custom_tooltip = jamukha_temujin_rivals_tt
custom_tooltip = mpo_temujin_flavor.0020.cb.tt
if = {
limit = {
current_military_strength < scope:temujin.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:temujin.domicile.herd
multiply = 1.5
}
}
add_prestige = major_prestige_gain # For MAA maintenance, mainly
custom_tooltip = jamukha_gain_from_defectors_tt
}
}
option = { # You who I once called brother
name = mpo_jamukha_flavor.0020.a
reason = blood_brother
add_internal_flag = special
trigger = { has_character_flag = was_temujins_bro }
custom_tooltip = {
text = mpo_jamukha_flavor.0020.a_war_win
set_variable = temujin_jamukha_war_var
}
add_character_modifier = {
modifier = temujin_jamukha_war_modifier
years = 5
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Murderrrrrrr
name = mpo_jamukha_flavor.0020.b
custom_tooltip = {
text = mpo_jamukha_flavor.0020.b_murder
set_variable = {
name = temujin_jamukha_murder_var
value = scope:temujin
}
}
stress_impact = {
deceitful = massive_stress_impact_loss
sadistic = massive_stress_impact_loss
}
ai_chance = {
base = 0
}
}
option = { # I'm going to crush your skull
name = mpo_jamukha_flavor.0020.c
trigger = {
NOT = { has_relation_blood_brother = scope:jamukha }
}
add_character_modifier = {
modifier = temujin_jamukha_war_smaller_modifier
years = 5
}
stress_impact = {
wrathful = massive_stress_impact_loss
vengeful = massive_stress_impact_loss
}
ai_chance = {
base = 100
}
}
}

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,835 @@
namespace = mpo_temujin_flavor
# mpo_temujin_flavor.0001 - Become Blood Brothers with Jamukha
# mpo_temujin_flavor.0010 - Jamukha stops being your vassal
# mpo_temujin_flavor.0020 - Jamukha becomes your rival
# mpo_temujin_flavor.0030 - Borte announces she's pregnant
#######################
# Become Blood Brothers with Jamukha
#######################
mpo_temujin_flavor.0001 = {
type = character_event
title = mpo_temujin_flavor.0001.t
desc = mpo_temujin_flavor.0001.desc
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = aggressive_dagger
}
right_portrait = {
character = scope:jamukha
animation = celebrate_dagger
}
trigger = {
NOR = {
has_variable = had_mpo_temujin_flavor_0001
has_variable = had_mpo_temujin_flavor_0010
has_variable = had_mpo_temujin_flavor_0020
}
is_physically_able = yes
character:mpo_mongol_1 = {
is_alive = yes
is_physically_able = yes
NOR = {
has_relation_blood_brother = root
has_relation_rival = root
}
}
}
immediate = {
play_music_cue = "mx_cue_touching_moment"
set_variable = had_mpo_temujin_flavor_0001
character:mpo_mongol_1 = {
save_scope_as = jamukha
save_scope_as = blood_bro
}
}
option = { # Yay
name = mpo_temujin_flavor.0001.a
if = {
limit = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
scope:jamukha = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
}
}
custom_tooltip = temujin_warhorse_tt
custom_tooltip = jamukha_warhorse_tt
if = {
limit = {
scope:jamukha = {
is_ai = yes
}
}
hidden_effect = {
start_warhorse_story_cycle_effect = yes
}
}
if = {
limit = {
scope:jamukha = {
is_ai = yes
}
}
hidden_effect = {
scope:jamukha = {
start_warhorse_story_cycle_effect = yes
}
}
}
}
if = {
limit = {
scope:jamukha = {
is_ai = yes
}
}
set_relation_blood_brother = {
target = scope:jamukha
reason = blood_brother_temujin_jamukha
}
add_character_modifier = blood_brother_warrior_modifier
scope:jamukha = {
add_character_modifier = blood_brother_warrior_modifier
}
}
else = {
custom_tooltip = jamukha_choose_blood_brother_tt
save_scope_as = temujin
scope:jamukha = {
trigger_event = mpo_jamukha_flavor.0001
}
show_as_tooltip = {
add_character_modifier = blood_brother_warrior_modifier
scope:jamukha = {
add_character_modifier = blood_brother_warrior_modifier
}
}
}
custom_tooltip = blood_brother_gains_hook_tt
custom_tooltip = blood_brother_gains_hook_other_tt
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Not a chance
name = mpo_temujin_flavor.0001.b
add_dread = minor_dread_gain
add_prestige = minor_prestige_gain
set_variable = rejected_jamukha_var
scope:jamukha = {
add_opinion = {
target = root
modifier = insult_opinion
opinion = -25
}
}
stress_impact = {
base = minor_stress_impact_gain
callous = medium_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 0
}
}
after = {
hidden_effect = {
scope:jamukha = {
trigger_event = {
days = { 180 360 }
id = mpo_jamukha_flavor.0010
}
}
}
}
}
#######################
# Jamukha stops being your vassal
#######################
scripted_effect mpo_temujin_flavor_0010_jamukha_leaving_effect = {
if = {
limit = { scope:jamukha = { is_vassal_of = root } }
scope:jamukha = {
create_title_and_vassal_change = {
type = independency
save_scope_as = change
add_claim_on_loss = no
}
becomes_independent = {
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
}
else = {
scope:jamukha = { end_tributary = yes }
}
add_truce_both_ways = {
character = scope:jamukha
years = 5
name = temujin_jamukha_truce
}
hidden_effect = { # This will put him closer to Temujin
scope:jamukha = {
if = {
limit = {
current_military_strength < scope:temujin.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:temujin.domicile.herd
multiply = 0.5
}
}
}
}
}
if = {
limit = {
exists = scope:togrul
}
scope:jamukha = {
custom_tooltip = negotiate_togrul_alliance_effect_tooltip
create_alliance = {
target = scope:togrul
allied_through_owner = scope:jamukha
allied_through_target = scope:togrul
}
hidden_effect = {
scope:togrul = {
add_opinion = {
target = scope:jamukha
modifier = event_negotiated_alliance_opinion
}
}
}
}
}
}
mpo_temujin_flavor.0010 = {
type = character_event
title = mpo_temujin_flavor.0010.t
desc = {
desc = mpo_temujin_flavor.0010.desc.intro
first_valid = {
triggered_desc = {
trigger = { has_variable = rejected_jamukha_var }
desc = mpo_temujin_flavor.0010.desc.rejected
}
triggered_desc = {
trigger = { has_relation_blood_brother = scope:jamukha }
desc = mpo_temujin_flavor.0010.desc.blood_brothers
}
desc = mpo_temujin_flavor.0010.desc.fallback
}
}
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = personality_vengeful
}
right_portrait = {
character = scope:jamukha
animation = schadenfreude
}
lower_right_portrait = scope:togrul
trigger = {
has_variable = had_mpo_temujin_flavor_0001
NOR = {
has_variable = had_mpo_temujin_flavor_0010
has_variable = had_mpo_temujin_flavor_0020
}
is_alive = yes
is_ruler = yes
character:mpo_mongol_1 = {
is_alive = yes
OR = {
is_vassal_of = root
is_tributary_of = root
}
}
}
immediate = {
set_variable = {
name = had_mpo_temujin_flavor_0010
value = character:mpo_mongol_1
}
character:mpo_mongol_1 = {
save_scope_as = jamukha
}
mpo_temujin_flavor_0010_jamukha_leaving_effect = yes
}
option = { # I will kill you
name = mpo_temujin_flavor.0010.aa
trigger = { dread >= 100 }
if = {
limit = {
has_relation_blood_brother = scope:jamukha
}
custom_tooltip = {
text = mpo_temujin_flavor.0010.aa_remove_blood_brother
remove_relation_blood_brother = scope:jamukha
}
}
scope:jamukha = {
add_dread = major_dread_loss
add_prestige = medium_prestige_loss
}
every_vassal = {
limit = {
has_vassal_stance = belligerent
is_obedient = no
}
custom = every_belligerent_vassal
add_opinion = {
modifier = obedience_opinion
target = root
}
}
every_courtier = {
limit = {
is_obedient = no
NOR = {
has_trait = brave
has_trait = compassionate
}
}
custom = every_non_brave_compassionate_courtier
add_opinion = {
modifier = obedience_opinion
target = root
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Look at this clown
name = mpo_temujin_flavor.0010.a
duel = {
skill = diplomacy
target = scope:jamukha
50 = { # Your people are impressed
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
min = 5
desc = mpo_temujin_flavor.0010.a.tt.success
send_interface_toast = {
title = mpo_temujin_flavor.0010.a.tt.success
left_icon = root
right_icon = scope:jamukha
add_prestige = medium_prestige_gain
scope:jamukha = { add_prestige = medium_prestige_loss }
}
}
50 = { # No one is impressed
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
min = 5
desc = mpo_temujin_flavor.0010.a.tt.failure
send_interface_toast = {
title = mpo_temujin_flavor.0010.a.tt.failure
left_icon = root
add_prestige = minor_prestige_loss
}
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Try to force him to stay
name = mpo_temujin_flavor.0010.b
add_dread = minor_dread_gain
scope:jamukha = {
add_opinion = {
target = root
modifier = hurt_opinion
opinion = -30
}
}
stress_impact = {
callous = medium_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Let him go
name = mpo_temujin_flavor.0010.c
scope:jamukha = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 20
}
}
stress_impact = {
generous = medium_stress_impact_loss
callous = major_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = {
hidden_effect = {
trigger_event = {
days = { 360 420 }
id = mpo_temujin_flavor.0020
}
}
}
}
#######################
# Jamukha becomes your rival -- now you must kill him
#######################
mpo_temujin_flavor.0020 = {
type = character_event
title = mpo_temujin_flavor.0020.t
desc = {
desc = mpo_temujin_flavor.0020.desc.intro
first_valid = {
triggered_desc = {
trigger = { has_relation_blood_brother = scope:jamukha }
desc = mpo_temujin_flavor.0020.desc.blood_brothers
}
triggered_desc = {
trigger = { has_relation_friend = scope:jamukha }
desc = mpo_temujin_flavor.0020.desc.friend
}
triggered_desc = {
trigger = { has_relation_rival = scope:jamukha }
desc = mpo_temujin_flavor.0020.desc.rival
}
desc = mpo_temujin_flavor.0020.desc.fallback
}
desc = mpo_temujin_flavor.0020.desc.outro
}
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = anger
outfit_tags = { nightgown }
camera = camera_event_very_left
}
right_portrait = {
character = scope:jamukha
animation = horse_conversing_left
camera = camera_event_horse_right
}
window = scheme_conclusion_event_no_header
trigger = {
NOT = { has_variable = had_mpo_temujin_flavor_0020 }
OR = {
has_variable = had_mpo_temujin_flavor_0010
AND = {
NOT = { has_variable = had_mpo_temujin_flavor_0010 }
character:mpo_mongol_1 = {
NOR = {
is_vassal_of = root
is_tributary = root
}
}
}
}
is_alive = yes
is_ruler = yes
character:mpo_mongol_1 = {
is_alive = yes
in_diplomatic_range = root
is_ruler = yes
}
}
immediate = {
save_scope_as = temujin
play_music_cue = "mx_cue_murder"
set_variable = {
name = had_mpo_temujin_flavor_0020
value = character:mpo_mongol_1
}
character:mpo_mongol_1 = {
save_scope_as = jamukha
}
if = {
limit = {
current_military_strength < scope:jamukha.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:jamukha.domicile.herd
multiply = 1.5
}
}
add_prestige = major_prestige_gain # For MAA maintenance, mainly
custom_tooltip = temujin_gain_from_defectors_tt
}
if = {
limit = {
has_relation_blood_brother = scope:jamukha
}
scope:jamukha = {
add_character_flag = {
flag = was_temujins_bro
years = 30
}
}
}
}
option = { # You who I once called brother
name = mpo_temujin_flavor.0020.a
reason = blood_brother
add_internal_flag = special
trigger = { has_relation_blood_brother = scope:jamukha }
custom_tooltip = {
text = mpo_temujin_flavor.0020.a_war_win
set_variable = temujin_jamukha_war_var
}
add_character_modifier = {
modifier = temujin_jamukha_war_modifier
years = 5
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Murderrrrrrr
name = mpo_temujin_flavor.0020.b
custom_tooltip = {
text = mpo_temujin_flavor.0020.b_murder
set_variable = {
name = temujin_jamukha_murder_var
value = scope:jamukha
}
}
stress_impact = {
deceitful = massive_stress_impact_loss
sadistic = massive_stress_impact_loss
}
ai_chance = {
base = 0
}
}
option = { # I'm going to crush your skull
name = mpo_temujin_flavor.0020.c
trigger = {
NOT = { has_relation_blood_brother = scope:jamukha }
}
add_character_modifier = {
modifier = temujin_jamukha_war_smaller_modifier
years = 5
}
stress_impact = {
wrathful = massive_stress_impact_loss
vengeful = massive_stress_impact_loss
}
ai_chance = {
base = 100
}
}
after = {
if = { # Remove hooks
limit = {
scope:jamukha = {
has_hook = root
}
}
scope:jamukha = { remove_hook = { target = root } }
}
if = {
limit = {
has_hook = scope:jamukha
}
remove_hook = { target = scope:jamukha }
}
if = { # Remove Truce
limit = {
any_truce_target = { this = scope:jamukha }
}
cancel_truce_both_ways = scope:jamukha
}
custom_tooltip = mpo_temujin_flavor.0020.jamukha_gok_requirement
if = {
limit = { has_relation_blood_brother = scope:jamukha }
custom_tooltip = {
text = mpo_temujin_flavor.0010.aa_remove_blood_brother
remove_relation_blood_brother = scope:jamukha
}
}
else_if = {
limit = { has_relation_friend = scope:jamukha }
custom_tooltip = {
text = mpo_temujin_flavor.0020.remove_friend
remove_relation_friend = scope:jamukha
}
}
if = {
limit = { NOT = { has_relation_rival = scope:jamukha } }
set_relation_rival = {
target = scope:jamukha
reason = rival_temujin_jamukha
}
}
else_if = {
limit = { has_relation_rival = scope:jamukha }
set_relation_nemesis = {
target = scope:jamukha
reason = rival_temujin_jamukha
}
}
else = {
add_opinion = {
target = root
modifier = hate_opinion
opinion = -100
}
}
custom_tooltip = {
text = mpo_temujin_flavor.0020.cb.tt
add_to_variable_list = {
name = retaliation_cb_var_list
target = scope:jamukha
}
scope:jamukha = {
add_to_variable_list = {
name = retaliation_cb_var_list
target = root
}
}
}
scope:jamukha = {
trigger_event = mpo_jamukha_flavor.0020
}
}
}
#######################
# Borte announces she's pregnant
#######################
mpo_temujin_flavor.0030 = {
type = character_event
title = mpo_temujin_flavor.0030.t
desc = mpo_temujin_flavor.0030.desc
theme = pregnancy
left_portrait = {
character = root
animation = anger
}
right_portrait = {
character = scope:borte
animation = worry
}
lower_right_portrait = scope:mergid
trigger = {
NOT = { has_variable = had_mpo_temujin_flavor_0030 } # To make sure it triggers even if you migrate straight away and lose the event time window
character:172004 = {
is_alive = yes
is_spouse_of = root
is_pregnant = no
}
any_neighboring_top_liege_realm_owner = {
NOT = { has_relation_rival = root }
}
}
immediate = {
play_music_cue = "mx_cue_personal_negative"
set_variable = had_mpo_temujin_flavor_0030
character:172004 = {
save_scope_as = borte
}
if = {
limit = {
character:303116 = {
is_alive = yes
NOT = { has_relation_rival = root }
}
}
character:303116 = {
save_scope_as = mergid
}
}
else_if = {
limit = {
any_ruler = {
dynasty = dynasty:2001144
NOT = { has_relation_rival = root }
}
}
random_ruler = {
limit = {
dynasty = dynasty:2001144
NOT = { has_relation_rival = root }
}
save_scope_as = mergid
}
}
else = {
random_neighboring_top_liege_realm_owner = {
limit = { NOT = { has_relation_rival = root } }
save_scope_as = mergid
}
}
scope:borte = {
custom_tooltip = mpo_temujin_flavor.0030.pregnancy_tt
hidden_effect = {
make_pregnant = {
father = scope:mergid
}
}
set_variable = borte_first_child_var
}
}
option = { # I hate those guys
name = mpo_temujin_flavor.0030.a
set_relation_rival = {
target = scope:mergid
reason = rival_temujin_mergid
}
custom_tooltip = {
text = mpo_temujin_flavor.0030.a.tt
add_to_variable_list = {
name = retaliation_cb_var_list
target = scope:mergid
}
}
add_dread = medium_dread_gain
stress_impact = {
vengeful = major_stress_impact_loss
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 0 # To prevent AI Temüjin from being murdered immediately
}
}
option = { # Let's forget about that, you are more important
name = mpo_temujin_flavor.0030.b
if = {
limit = {
NOT = { has_relation_lover = scope:borte }
}
set_relation_lover = {
target = scope:borte
reason = lover_temujin_borte
}
}
else = {
scope:borte = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 20
}
}
}
set_relation_wedding_very_good_fertility = scope:borte
stress_impact = {
compassionate = major_stress_impact_loss
vengeful = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # I could not care less
name = mpo_temujin_flavor.0030.c
scope:borte = {
add_opinion = {
target = root
modifier = upset_opinion
opinion = -25
}
}
stress_impact = {
callous = major_stress_impact_loss
compassionate = major_stress_impact_gain
vengeful = major_stress_impact_gain
}
ai_chance = {
base = 0
}
}
}

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,495 @@
###################################
# CHINA CAREER EVENTS
###################################
namespace = tgp_china_career
### EVENT LIST ####################################################################
## 0001 - Celestial Intro Event
## 0010 - A Meritorious Path
## 0020 - Hidden event for merit gain on succession
###################################################################################
# Intro Event - Who are you playing as and what is your situation
# Also acts as an introduction if you become a noble family in China
tgp_china_career.0001 = {
type = character_event
title = tgp_china_career.0001.t
desc = {
desc = tgp_china_career.0001.desc
first_valid = {
triggered_desc = {
trigger = { tgp_is_any_minister = yes }
desc = tgp_china_career.0001.minister_desc
}
triggered_desc = {
trigger = { is_landed = yes }
desc = tgp_china_career.0001.landed_desc
}
desc = tgp_china_career.0001.unlanded_desc
}
}
theme = merit
override_background = {
trigger = {
OR = {
vassal_contract_has_flag = celestial_province_military
vassal_contract_has_flag = celestial_province_protectorate
}
}
reference = courtyard
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
vassal_contract_has_flag = celestial_province_military
vassal_contract_has_flag = celestial_province_protectorate
}
}
animation = relaxed_spear
}
animation = reading
}
cooldown = { days = 1 }
trigger = {
exists = top_liege
this != top_liege
top_liege = {
government_has_flag = government_is_celestial
}
}
immediate = {
# Scopes
save_scope_as = new_ruler
house ?= { save_scope_as = ruler_family }
top_liege = { save_scope_as = emperor }
if = {
limit = { tgp_is_any_minister = yes }
primary_title = { save_scope_as = minister_title }
}
}
option = {
name = tgp_china_career.0001.a
add_character_modifier = {
modifier = tgp_merit_boost_modifier
}
}
option = {
name = tgp_china_career.0001.b
add_character_modifier = {
modifier = tgp_influence_boost_modifier
}
}
}
# A Meritorious Path - You advanced/gained a merit rank
tgp_china_career.0010 = {
type = character_event
title = tgp_china_career.0010.t
desc = {
# Intro
first_valid = {
triggered_desc = {
trigger = { merit_level = 1 }
desc = tgp_china_career.0010.first_rank_desc
}
desc = tgp_china_career.0010.higher_rank_desc
}
# Additional descs for ranks granting access to new tiers
first_valid = {
triggered_desc = {
trigger = { merit_level = 2 }
desc = tgp_china_career.0010.duchy_desc
}
triggered_desc = {
trigger = {
merit_level = 5 # This is the highest rank for Meritocratic
government_has_flag = government_is_celestial
}
desc = tgp_china_career.0010.kingdom_desc
}
triggered_desc = {
trigger = { merit_level = 7 }
desc = tgp_china_career.0010.empire_desc
}
triggered_desc = {
trigger = { has_highest_merit_rank = yes }
desc = tgp_china_career.0010.highest_rank
}
triggered_desc = {
trigger = {
OR = {
merit_level = 3
merit_level = 4
merit_level = 6
merit_level = 8
}
}
desc = tgp_china_career.0010.higher_rank_unspecific
}
}
}
theme = merit
left_portrait = {
character = root
animation = reading
}
# To prevent you from getting multiple events in case you gain several ranks
cooldown = { days = 30 }
trigger = {
}
immediate = {
# Scopes
save_scope_as = merit_char
}
option = {
trigger = { NOT = { merit_level = 1 } }
name = tgp_china_career.0010.aa
add_character_modifier = {
modifier = tgp_higher_ambitions_modifier
years = 10
}
}
option = {
trigger = { NOT = { merit_level = 1 } }
name = tgp_china_career.0010.a
add_stress = miniscule_stress_loss
if = {
limit = {
has_character_modifier = tgp_higher_ambitions_modifier
}
remove_character_modifier = tgp_higher_ambitions_modifier
}
}
option = { # Option for a civil career if you reach your first Merit Rank
trigger = { merit_level = 1 }
name = {
trigger = {
trigger_if = {
limit = {
has_variable = appointment_trait_override
}
var:appointment_trait_override != trait:education_stewardship_1
}
trigger_else = {
NOT = { has_trait_with_flag = civilian_province }
}
}
text = tgp_china_career.0010.b1
}
name = {
trigger = {
trigger_if = {
limit = {
has_variable = appointment_trait_override
}
var:appointment_trait_override = trait:education_stewardship_1
}
trigger_else = {
has_trait_with_flag = civilian_province
}
}
text = tgp_china_career.0010.b2
}
if = {
limit = {
trigger_if = {
limit = {
has_variable = appointment_trait_override
}
var:appointment_trait_override != trait:education_stewardship_1
}
trigger_else = {
NOT = { has_trait_with_flag = civilian_province }
}
}
custom_tooltip = {
text = change_to_civilian_career_desc
set_variable = {
name = appointment_trait_override
value = trait:education_stewardship_1
}
}
}
else = {
custom_tooltip = keep_civilian_career_desc
}
add_stress = miniscule_stress_loss
}
option = { # Option for a military career if you reach your first Merit Rank
trigger = { merit_level = 1 }
name = {
trigger = {
trigger_if = {
limit = {
has_variable = appointment_trait_override
}
var:appointment_trait_override != trait:education_martial_1
}
trigger_else = {
NOT = { has_trait_with_flag = military_province }
}
}
text = tgp_china_career.0010.c1
}
name = {
trigger = {
trigger_if = {
limit = {
has_variable = appointment_trait_override
}
var:appointment_trait_override = trait:education_martial_1
}
trigger_else = {
has_trait_with_flag = military_province
}
}
text = tgp_china_career.0010.c2
}
if = {
limit = {
trigger_if = {
limit = {
has_variable = appointment_trait_override
}
var:appointment_trait_override != trait:education_martial_1
}
trigger_else = {
NOT = { has_trait_with_flag = military_province }
}
}
custom_tooltip = {
text = change_to_military_career_desc
set_variable = {
name = appointment_trait_override
value = trait:education_martial_1
}
}
}
else = {
custom_tooltip = keep_military_career_desc
}
add_stress = miniscule_stress_loss
}
}
# Hidden event for merit gain on succession
tgp_china_career.0020 = {
hidden = yes
immediate = {
send_interface_toast = {
type = event_toast_effect_good
title = merit_gained_on_succession
left_icon = scope:meritorious_parent
change_merit = {
value = scope:meritorious_parent_merit
multiply = {
value = 0
house ?= {
if = {
limit = { has_house_aspiration_parameter = inherit_merit_bonus_4 }
add = merit_gain_on_succession_4_value
}
else_if = {
limit = { has_house_aspiration_parameter = inherit_merit_bonus_3 }
add = merit_gain_on_succession_3_value
}
else_if = {
limit = { has_house_aspiration_parameter = inherit_merit_bonus_2 }
add = merit_gain_on_succession_2_value
}
else_if = {
limit = { has_house_aspiration_parameter = inherit_merit_bonus_1 }
add = merit_gain_on_succession_1_value
}
}
}
}
}
}
}
# Your Elder has died
tgp_china_career.0030 = {
type = character_event
title = tgp_china_career.0030.t
desc = tgp_china_career.0030.desc
theme = death
left_portrait = {
character = root
animation = grief
}
right_portrait = {
character = scope:deceased_elder
animation = dead
}
lower_left_portrait = {
character = scope:superior_fellow_disciple
animation = map_disbelief
}
lower_right_portrait = {
character = scope:benchmark_new_disciple
animation = disappointed
}
immediate = {
if = {
limit = {
num_of_relation_disciple < disciples_limit_value
any_in_list = {
list = potential_new_disciples
count >= 1
}
}
while = {
limit = {
num_of_relation_disciple < disciples_limit_value
any_in_list = {
list = potential_new_disciples
count >= 1
NOT = {
is_in_list = new_disciples
}
}
}
random_in_list = {
list = potential_new_disciples
limit = {
NOT = {
has_relation_elder = root
}
}
add_to_list = new_disciples # for the tooltip
}
}
random_in_list = {
list = potential_new_disciples
save_scope_as = benchmark_new_disciple
}
}
}
option = {
name = tgp_china_career.0030.a
custom_tooltip = {
text = tgp_china_career.0030.a.tt
open_interaction_window = {
interaction = find_elder_interaction
actor = root
recipient = top_liege
}
}
}
option = {
name = tgp_china_career.0030.b
trigger = {
exists = scope:deceased_elder.house.house_head
this != scope:deceased_elder.house.house_head
}
pay_short_term_gold = {
target = scope:deceased_elder.house.house_head
gold = medium_gold_value
}
scope:deceased_elder.house = {
change_house_relation_effect = {
HOUSE = root.house
VALUE = house_relation_improve_minor_value
REASON = disciple_sent_condolences
CHAR = root
TARGET_CHAR = scope:deceased_elder
TITLE = scope:dummy_gender
}
}
change_merit = minor_merit_gain
add_piety = minor_piety_gain
ai_chance = {
base = 0 # player only
}
}
option = {
name = tgp_china_career.0030.c
trigger = {
exists = scope:superior_fellow_disciple
scope:superior_fellow_disciple = {
opinion = {
target = root
value >= -10
}
}
}
set_elder_relation_effect = {
ELDER = scope:superior_fellow_disciple
DISCIPLE = root
MERIT = medium_merit_gain
}
ai_chance = {
base = 0 # player only
}
}
option = {
name = tgp_china_career.0030.d
trigger = {
any_in_list = {
list = new_disciples
count >= 1
}
}
every_in_list = {
list = new_disciples
set_elder_relation_effect = {
ELDER = root
DISCIPLE = this
MERIT = 0
}
}
change_merit = {
value = 0
add = {
value = medium_merit_gain
multiply = list_size:new_disciples
}
}
add_prestige = minor_prestige_value
ai_chance = {
base = 0 # player only
}
}
}

View file

@ -0,0 +1,698 @@
namespace = tgp_china_decision
scripted_effect set_up_local_examiner_effect = {
top_liege = { save_scope_as = hegemon }
scope:hegemon = {
if = {
limit = {
any_vassal_or_below = {
NOT = { this = root }
has_trait = governor
is_available = yes
capital_county = root.domicile.domicile_location.county
}
}
random_vassal_or_below = {
limit = {
NOT = { this = root }
has_trait = governor
is_available = yes
capital_county = root.domicile.domicile_location.county
}
save_scope_as = examiner
}
}
else = {
create_character = {
template = tgp_learning_exam_entrant_template
age = { 33 79 }
location = root.location
faith = scope:hegemon.faith
culture = scope:hegemon.culture
gender_female_chance = {
if = {
limit = { scope:hegemon.faith = { has_doctrine = doctrine_gender_male_dominated } }
add = 0
}
else_if = {
limit = { scope:hegemon.faith = { has_doctrine = doctrine_gender_female_dominated } }
add = 100
}
else = {
add = 50
}
}
save_scope_as = examiner
}
}
}
scope:examiner = {
hidden_effect = {
add_trait = governor
change_merit = massive_merit_value
}
}
}
tgp_china_decision.1000 = {
type = character_event
title = tgp_china_decision.1000.t
desc = {
first_valid = {
triggered_desc = {
trigger = { has_character_flag = failed_child_exam }
desc = tgp_china_decision.1000.desc_returning
}
desc = tgp_china_decision.1000.desc_new
}
desc = tgp_china_decision.1000.desc_outro
}
theme = imperial_examination
override_background = { reference = study }
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:examiner
animation = happy_teacher
}
immediate = {
set_variable = {
name = child_examination_success_chance
value = child_examination_success_chance_value
}
set_up_local_examiner_effect = yes
}
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
option = { # Recite classics
name = tgp_china_decision.1000.a
duel = {
skill = learning
value = 1
50 = { # You succeed
desc = provincial_exam_success
compare_modifier = {
value = scope:duel_value
multiplier = 3
}
add_character_modifier = {
modifier = tgp_local_exam_initial_success
years = 12
}
custom_tooltip = examination_success_increase_medium_tt
}
50 = { # You fail
desc = provincial_exam_duel_fail
compare_modifier = {
value = scope:duel_value
multiplier = -3
}
stress_impact = { base = medium_stress_impact_gain }
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_energy = 1
}
modifier = {
add = 20
learning > medium_skill_rating
}
modifier = {
add = 40
has_trait = ambitious
}
modifier = {
add = -40
OR = {
has_trait = content
has_trait = lazy
has_trait = craven
}
}
}
}
option = { # Play it safe
name = tgp_china_decision.1000.b
custom_tooltip = examination_success_increase_miniscule_tt
# Use this var to track score
change_variable = {
name = safe_bets
add = 1
}
add_character_flag = safe_start
add_prestige = miniscule_prestige_loss
ai_chance = {
base = 100
modifier = {
add = 40
OR = {
has_trait = content
has_trait = lazy
has_trait = craven
}
}
modifier = {
add = 40
stress_level < 0
}
}
}
after = {
trigger_event = tgp_china_decision.1001
}
}
tgp_china_decision.1001 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = {
OR = {
has_character_modifier = tgp_local_exam_initial_success
has_character_flag = safe_start
}
}
desc = tgp_china_decision.1001.t_success
}
desc = tgp_china_decision.1001.t_fail
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
has_character_modifier = tgp_local_exam_initial_success
}
desc = tgp_china_decision.1001.desc_success
}
triggered_desc = {
trigger = {
var:safe_bets = 1
}
desc = tgp_china_decision.1001.desc_safe
}
desc = tgp_china_decision.1001.desc_fail
}
desc = tgp_china_decision.1001.desc_outro
}
theme = imperial_examination
override_background = { reference = study }
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_character_modifier = tgp_local_exam_initial_success
}
animation = personality_bold
}
triggered_animation = {
trigger = {
var:safe_bets = 1
}
animation = shame
}
animation = disappointed
}
right_portrait = {
character = scope:examiner
animation = happy_teacher
}
immediate = {
set_variable = {
name = child_examination_success_chance
value = child_examination_success_chance_value
}
}
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
option = { # Recite classics
name = tgp_china_decision.1001.a
duel = {
skill = learning
value = 1
40 = { # You succeed
desc = provincial_exam_success
compare_modifier = {
value = scope:duel_value
multiplier = 3
}
add_character_modifier = {
modifier = tgp_local_exam_impressed_examiner
years = 12
}
custom_tooltip = examination_success_increase_major_tt
}
60 = { # You fail
desc = provincial_exam_duel_fail
compare_modifier = {
value = scope:duel_value
multiplier = -3
}
stress_impact = { base = medium_stress_impact_gain }
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_energy = 1
}
modifier = {
add = 20
learning > medium_skill_rating
}
modifier = {
add = 40
has_trait = ambitious
}
modifier = {
add = -40
OR = {
has_trait = content
has_trait = lazy
has_trait = craven
}
}
}
}
option = { # Play it safe
name = tgp_china_decision.1001.b
custom_tooltip = examination_success_increase_miniscule_tt
# Use this var to track score
change_variable = {
name = safe_bets
add = 1
}
# Use this flag for loc only
add_character_flag = safe_midpoint
add_prestige = miniscule_prestige_loss
ai_chance = {
base = 100
modifier = {
add = 40
OR = {
has_trait = content
has_trait = lazy
has_trait = craven
}
}
modifier = {
add = 40
stress_level < 0
}
}
}
after = {
trigger_event = tgp_china_decision.1002
}
}
tgp_china_decision.1002 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = {
OR = {
has_character_modifier = tgp_local_exam_impressed_examiner
has_character_flag = safe_midpoint
}
}
desc = tgp_china_decision.1002.t_success
}
desc = tgp_china_decision.1002.t_fail
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
has_character_modifier = tgp_local_exam_impressed_examiner
}
desc = tgp_china_decision.1002.desc_success
}
triggered_desc = {
trigger = {
has_character_flag = safe_midpoint
}
desc = tgp_china_decision.1002.desc_safe
}
desc = tgp_china_decision.1002.desc_fail
}
desc = tgp_china_decision.1002.desc_outro
}
theme = imperial_examination
override_background = { reference = study }
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_character_modifier = tgp_local_exam_impressed_examiner
}
animation = happiness
}
triggered_animation = {
trigger = {
has_character_flag = safe_midpoint
}
animation = shame
}
animation = stress
}
right_portrait = {
character = scope:examiner
animation = happy_teacher
}
immediate = {
set_variable = {
name = child_examination_success_chance
value = child_examination_success_chance_value
}
}
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
option = { # Recite classics
name = tgp_china_decision.1002.a
duel = {
skill = learning
value = 1
30 = { # You succeed
desc = provincial_exam_success
compare_modifier = {
value = scope:duel_value
multiplier = 3
}
add_character_modifier = {
modifier = tgp_local_exam_strong_finish
years = 12
}
custom_tooltip = examination_success_increase_massive_tt
}
70 = { # You fail
desc = provincial_exam_duel_fail
compare_modifier = {
value = scope:duel_value
multiplier = -3
}
stress_impact = { base = medium_stress_impact_gain }
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_energy = 1
}
modifier = {
add = 20
learning > medium_skill_rating
}
modifier = {
add = 40
has_trait = ambitious
}
modifier = {
add = -40
OR = {
has_trait = content
has_trait = lazy
has_trait = craven
}
}
}
}
option = { # Play it safe
name = tgp_china_decision.1002.b
custom_tooltip = examination_success_increase_miniscule_tt
# Use this var to track score
change_variable = {
name = safe_bets
add = 1
}
# Use this flag for loc only
add_character_flag = safe_end
add_prestige = miniscule_prestige_loss
ai_chance = {
base = 100
modifier = {
add = 40
OR = {
has_trait = content
has_trait = lazy
has_trait = craven
}
}
modifier = {
add = 40
stress_level < 0
}
}
}
after = {
set_variable = {
name = child_examination_success_chance
value = child_examination_success_chance_value
}
trigger_event = tgp_china_decision.1005
}
}
# Releasing the Roll (Results)
tgp_china_decision.1005 = {
type = character_event
title = tgp_china_decision.1005.t
desc = {
# Opening
desc = tgp_china_decision.1005.desc
# Did you get a strong finish, play it safe, or fail?
first_valid = {
triggered_desc = {
trigger = {
has_character_modifier = tgp_local_exam_strong_finish
}
desc = tgp_china_decision.1005.desc.success
}
triggered_desc = {
trigger = {
has_character_flag = safe_end
}
desc = tgp_china_decision.1005.desc.safe
}
# If none of the above, you failed.
desc = tgp_china_decision.1005.desc.failure
}
# And now, for the score
desc = tgp_china_decision.1005.desc.segway
first_valid = {
triggered_desc = {
trigger = {
var:child_examination_success_chance >= 90
}
desc = tgp_china_decision.1005.desc.high_score
}
triggered_desc = {
trigger = {
var:child_examination_success_chance >= 60
}
desc = tgp_china_decision.1005.desc.good_score
}
triggered_desc = {
trigger = {
var:child_examination_success_chance >= 40
}
desc = tgp_china_decision.1005.desc.passing_score
}
desc = tgp_china_decision.1005.desc.failing
}
}
theme = imperial_examination
override_background = { reference = study }
left_portrait = {
character = root
triggered_animation = {
trigger = {
AND = {
var:child_examination_success_chance >= 40
var:child_examination_success_chance < 90
}
}
animation = war_over_win
}
triggered_animation = {
trigger = {
var:child_examination_success_chance < 40
}
animation = disappointed
}
animation = happiness
}
immediate = {
if = {
limit = {
var:child_examination_success_chance >= 40
}
change_merit = {
value = {
add = minor_merit_value
add = var:child_examination_success_chance
}
}
dynasty = {
add_dynasty_prestige = 10
}
# For all characters who pass the exam, we give a flag to check their overall progress at the Imperial Examinations.
add_character_flag = passed_child_exam
remove_character_flag ?= failed_child_exam
}
else = {
add_character_flag = failed_child_exam
add_character_modifier = {
modifier = tgp_child_exam_cooldown_modifier
years = 3
}
}
}
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
# If you had a critical success, you do not get the option to dedicate yourself to studying.
option = { # I have my family to thank for my success.
name = tgp_china_decision.1005.a
trigger = { var:child_examination_success_chance >= 90 }
change_merit = medium_merit_value
ai_chance = {
base = 100
modifier = {
add = 40
has_trait = loyal
}
modifier = {
add = 50
is_adult = no
}
}
}
option = { # My teachers deserve all the credit.
name = tgp_china_decision.1005.b
trigger = { var:child_examination_success_chance >= 90 }
change_influence = medium_influence_gain
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 1
}
}
}
option = { # I need to push myself harder next time!
name = {
text = tgp_china_decision.1005.a_success
trigger = {
var:child_examination_success_chance >= 40
}
}
name = {
text = tgp_china_decision.1005.a_failure
trigger = {
var:child_examination_success_chance < 40
}
}
trigger = { var:child_examination_success_chance < 90 }
add_character_modifier = {
modifier = tgp_child_focused_studies_modifier
years = 5
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_energy = 1
}
modifier = {
add = 40
OR = {
has_trait = ambitious
has_trait = diligent
}
}
modifier = {
add = -100
stress_level < 0
}
}
}
option = { # I am pleased with this result.
name = {
text = tgp_china_decision.1005.b_passing
trigger = {
var:child_examination_success_chance >= 40
}
}
name = {
text = tgp_china_decision.1005.b_failed
trigger = {
var:child_examination_success_chance < 40
}
}
trigger = { var:child_examination_success_chance < 90 }
ai_chance = {
base = 100
modifier = {
add = 40
OR = {
has_trait = content
has_trait = lazy
}
}
}
}
after = {
# Time to clean up some variables
remove_character_flag ?= safe_end
remove_variable ?= safe_bets
# And possibly the examiner
scope:examiner = {
if = {
limit = {
NOT = { is_vassal_or_below_of = scope:hegemon }
}
silent_disappearance_effect = yes
}
}
}
}

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,121 @@
###################################
# DYNASTIC CYCLE DECISION EVENTS
###################################
namespace = tgp_dynastic_cycle_decision_event
# Retire from all Titles
tgp_dynastic_cycle_decision_event.0101 = {
type = character_event
title = tgp_dynastic_cycle_decision_event.0101.t
desc = tgp_dynastic_cycle_decision_event.0101.desc
theme = dynasty
left_portrait = {
character = root
animation = happy_teacher
}
right_portrait = {
character = scope:new_player
animation = personality_bold
}
option = {
name = tgp_dynastic_cycle_decision_event.0101.a
tgp_renounce_estate_effect = yes
}
after = {
hidden_effect = {
if = {
limit = {
employer != scope:new_player
}
set_employer = scope:new_player
}
}
}
}
# Inform Movements of a new Favored Movement - from decision
tgp_dynastic_cycle_decision_event.0111 = {
type = letter_event
opening = tgp_dynastic_cycle_decision_event.0111.opening
desc = {
desc = tgp_dynastic_cycle_decision_event.0111.desc_intro
first_valid = {
triggered_desc = {
trigger = {
exists = scope:former_favored_movement
}
desc = tgp_dynastic_cycle_decision_event.0111.desc_former
}
desc = tgp_dynastic_cycle_decision_event.0111.desc
}
desc = tgp_dynastic_cycle_decision_event.0111.desc_outro
}
sender = scope:hegemon
immediate = {
show_as_tooltip = {
scope:new_favored_movement = {
make_movement_favored_effect = yes
switch = {
trigger = participant_group_type
pro_hegemon_movement = {
if = {
limit = {
situation:dynastic_cycle = {
situation_top_has_catalyst = catalyst_movement_gained_power_pro_hegemon
}
}
trigger_situation_catalyst = catalyst_movement_gained_power_pro_hegemon
}
}
advancement_movement = {
if = {
limit = {
situation:dynastic_cycle = {
situation_top_has_catalyst = catalyst_movement_gained_power_advancement
}
}
trigger_situation_catalyst = catalyst_movement_gained_power_advancement
}
}
expansion_movement = {
if = {
limit = {
situation:dynastic_cycle = {
situation_top_has_catalyst = catalyst_movement_gained_power_expansion
}
}
trigger_situation_catalyst = catalyst_movement_gained_power_expansion
}
}
conservative_movement = {
if = {
limit = {
situation:dynastic_cycle = {
situation_top_has_catalyst = catalyst_movement_gained_power_conservative
}
}
trigger_situation_catalyst = catalyst_movement_gained_power_conservative
}
}
}
}
}
}
option = {
name = {
trigger = {
scope:new_favored_movement ?= top_participant_group:dynastic_cycle
}
text = tgp_dynastic_cycle_decision_event.0111.a_new
}
name = {
trigger = {
scope:former_favored_movement ?= top_participant_group:dynastic_cycle
}
text = tgp_dynastic_cycle_decision_event.0111.a_former
}
name = tgp_dynastic_cycle_decision_event.0111.a_other
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,953 @@
namespace = tgp_dynastic_cycle_events
###################################################################################
## By Veronica Pazos
## tgp_dynastic_cycle_events.0001 - Tilt the scales towards Advancement
## tgp_dynastic_cycle_events.0010 - Disciple has a mental breakdown in Instability
## tgp_dynastic_cycle_events.0020 - Rowdy peasants steal food during Instability
## tgp_dynastic_cycle_events.0030 - In this time of Expansion you should become a Military Governor
## tgp_dynastic_cycle_events.0040 - Steward is interested in the Silk Road
## tgp_dynastic_cycle_events.0050 - Debate the Favoured Movement and get ahead of them
###################################################################################
# Tilt the scales towards Advancement
scripted_trigger tgp_dynastic_cycle_events_0001_valid_servant = {
is_available_ai_adult = yes
is_lowborn = yes
has_any_court_position = no
is_councillor = no
}
tgp_dynastic_cycle_events.0001 = {
type = character_event
title = tgp_dynastic_cycle_events.0001.t
desc = tgp_dynastic_cycle_events.0001.desc
left_portrait = {
character = root
animation = thinking
camera = camera_event_right_fully_away
}
right_portrait = {
character = scope:servant
animation = serving_tray
camera = camera_event_right_to_the_right
}
theme = dynastic_cycle
override_background = { reference = garden }
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
NOT = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
}
}
immediate = {
situation:dynastic_cycle = { save_scope_as = my_situation }
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
random_courtier = {
limit = { tgp_dynastic_cycle_events_0001_valid_servant = yes }
save_scope_as = servant
}
if = {
limit = { NOT = { exists = scope:servant } }
hidden_effect_new_object = {
create_character = {
template = servant_character
dynasty = none
location = root.location
culture = root.location.culture
faith = root.location.faith
gender_female_chance = 50
save_scope_as = servant
}
add_courtier = scope:servant
scope:servant = { assign_quirk_effect = yes }
}
}
if = {
limit = {
any_relation = {
type = potential_friend
is_available_ai_adult = yes
count >= 1
}
}
random_relation = {
type = potential_friend
limit = { is_available_ai_adult = yes }
save_scope_as = potential_friend
}
}
else_if = {
limit = {
any_relation = {
type = friend
is_available_ai_adult = yes
count >= 1
}
}
random_relation = {
type = friend
limit = { is_available_ai_adult = yes }
save_scope_as = friend
}
}
}
option = { #
name = tgp_dynastic_cycle_events.0001.aa
trigger = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = advancement_movement
}
}
add_internal_flag = special
reason = movement
custom_tooltip = event_increase_movement_power_minor_effect_tooltip
scope:my_movement = {
event_change_movement_power_effect = {
VALUE = event_increase_movement_power_minor_value
}
}
situation:dynastic_cycle ?= {
if = {
limit = {
situation_top_has_catalyst = catalyst_event_advancement_medium_progress
}
trigger_situation_catalyst = {
catalyst = catalyst_event_advancement_medium_progress
character = root
}
}
}
stress_impact = {
ambitious = medium_stress_impact_loss
content = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = ambitious
factor = 2
}
modifier = {
has_trait = content
factor = 0
}
}
}
option = { # Focus on friendos
name = tgp_dynastic_cycle_events.0001.a
if = {
limit = {
exists = scope:potential_friend
}
custom_tooltip = tgp_dynastic_cycle_events.0001.a.potential_friend
set_relation_friend = {
target = scope:potential_friend
reason = friend_together_in_preparation
}
}
else_if = {
limit = {
exists = scope:friend
}
custom_tooltip = tgp_dynastic_cycle_events.0001.a.potential_friend
change_influence = major_influence_gain
scope:friend = { change_influence = major_influence_gain }
}
else = { change_influence = medium_influence_gain }
stress_impact = {
gregarious = medium_stress_impact_loss
callous = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = gregarious
factor = 2
}
modifier = {
has_trait = callous
factor = 0
}
}
}
option = { # Why wait?
name = tgp_dynastic_cycle_events.0001.b
add_character_modifier = {
modifier = tgp_advancement_focus_modifier
years = 20
}
stress_impact = {
impatient = medium_stress_impact_loss
patient = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = deceitful
factor = 2
}
modifier = {
has_trait = honest
factor = 0
}
}
}
option = { # We must focus on NOW
name = tgp_dynastic_cycle_events.0001.c
stress_impact = {
base = medium_stress_impact_loss
}
ai_chance = {
base = 100
}
}
}
# Disciple has a mental breakdown in Instability
scripted_trigger tgp_dynastic_cycle_events_0010_valid_disciple = {
is_available_ai_adult = yes
has_personality_dominant_trigger = no
has_a_stress_coping_trait_trigger = no
}
tgp_dynastic_cycle_events.0010 = {
type = character_event
title = tgp_dynastic_cycle_events.0010.t
desc = tgp_dynastic_cycle_events.0010.desc
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_personality_malicious_trigger = yes
}
animation = dismissal
}
animation = worry
}
right_portrait = {
character = scope:disciple
animation = stress
}
theme = dynastic_cycle
override_background = { reference = relaxing_room }
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_instability
}
any_relation = {
type = disciple
tgp_dynastic_cycle_events_0010_valid_disciple = yes
}
}
immediate = {
situation:dynastic_cycle = { save_scope_as = my_situation }
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
random_relation = {
type = disciple
limit = { tgp_dynastic_cycle_events_0010_valid_disciple = yes }
weight = {
base = 1
modifier = {
has_personality_emotional_trigger = yes
add = 10
}
modifier = {
age <= 35
add = 5
}
}
save_scope_as = disciple
}
random_list = {
1 = {
set_variable = {
name = stress_trait
value = flag:drunkard
}
}
1 = {
set_variable = {
name = stress_trait
value = flag:flagellant
}
}
1 = {
set_variable = {
name = stress_trait
value = flag:contrite
}
}
1 = {
set_variable = {
name = stress_trait
value = flag:irritable
}
}
1 = {
set_variable = {
name = stress_trait
value = flag:rakish
}
}
1 = {
set_variable = {
name = stress_trait
value = flag:hashishiyah
}
}
}
}
option = { # You gotta straighten up
name = tgp_dynastic_cycle_events.0010.a
switch = {
trigger = var:stress_trait
flag:drunkard = {
scope:disciple = { add_trait = drunkard }
}
flag:flagellant = {
scope:disciple = { add_trait = flagellant }
}
flag:contrite = {
scope:disciple = { add_trait = contrite }
}
flag:rakish = {
scope:disciple = { add_trait = rakish }
}
flag:hashishiyah = {
scope:disciple = { add_trait = hashishiyah }
}
}
scope:disciple = { add_stress = major_stress_impact_gain }
change_influence = medium_influence_gain
stress_impact = {
callous = medium_stress_impact_loss
compassionate = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = callous
factor = 2
}
modifier = {
has_trait = compassionate
factor = 0
}
}
}
option = { # Comfort them
name = tgp_dynastic_cycle_events.0010.b
if = {
limit = {
can_add_hook = {
type = favor_hook
target = scope:disciple
}
}
add_hook = {
type = favor_hook
target = scope:disciple
}
}
scope:disciple = { add_stress = medium_stress_impact_loss }
stress_impact = {
compassionate = major_stress_impact_loss
callous = major_stress_impact_gain
sadistic = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = callous
has_trait = sadistic
}
factor = 0
}
modifier = {
has_trait = compassionate
factor = 2
}
}
}
option = { # Instability is actually good
name = tgp_dynastic_cycle_events.0010.c
gain_appropriate_lifestyle_medium_xp_effect = yes
scope:disciple = {
gain_appropriate_lifestyle_medium_xp_effect = yes
add_stress = medium_stress_impact_gain
}
stress_impact = {
content = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
has_trait = content
factor = 2
}
}
}
}
# Rowdy peasants steal food during instability
tgp_dynastic_cycle_events.0020 = {
type = character_event
title = tgp_dynastic_cycle_events.0020.t
desc = tgp_dynastic_cycle_events.0020.desc
left_portrait = {
character = root
animation = japanese_war_fan
camera = camera_event_very_left
}
right_portrait = {
character = scope:marshal
animation = relaxed_spear
}
theme = dynastic_cycle
override_background = { reference = throne_room }
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_instability
}
any_held_county = {
county_control >= low_county_control
}
}
immediate = {
situation:dynastic_cycle = { save_scope_as = my_situation }
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
if = {
limit = {
exists = cp:councillor_marshal
cp:councillor_marshal = { is_available_healthy_ai_adult = yes }
}
cp:councillor_marshal = { save_scope_as = marshal }
}
else_if = {
limit = {
any_knight = { is_available_healthy_ai_adult = yes }
}
ordered_knight = {
limit = { is_available_healthy_ai_adult = yes }
order_by = martial
save_scope_as = marshal
}
}
else = {
hidden_effect_new_object = {
create_character = {
template = knight
dynasty = none
location = root.location
culture = root.location.culture
faith = root.location.faith
gender_female_chance = root_soldier_female_chance
save_scope_as = marshal
}
}
}
scope:marshal = {
assign_quirk_effect = yes
add_character_flag = need_military_outfit
hidden_effect = {
if = {
limit = {
NOR = {
is_courtier_of = root
is_vassal_of = root
}
}
root = { add_courtier = prev }
}
}
}
random_held_county = {
limit = { county_control >= low_county_control }
change_county_control = major_county_control_loss
save_scope_as = peasant_county
}
}
option = { # Execute them
name = tgp_dynastic_cycle_events.0020.a
trigger = {
has_focus = intrigue_intimidation_focus
}
reason = lifestyle_focus
add_internal_flag = special
add_dread = major_dread_gain
scope:peasant_county = {
add_county_modifier = {
modifier = tgp_executed_peasants_county_modifier
years = 10
}
change_county_control = medium_county_control_gain
}
stress_impact = {
callous = medium_stress_impact_loss
compassionate = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = callous
factor = 2
}
modifier = {
has_trait = compassionate
factor = 0
}
}
}
option = { # Pay money to make Increase County Control better
name = tgp_dynastic_cycle_events.0020.b
pay_treasury_or_gold = {
target = scope:marshal
value = major_treasury_or_gold_value
}
scope:peasant_county = { change_county_control = medium_county_control_gain }
stress_impact = {
greedy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = greedy
treasury_or_gold <= massive_treasury_or_gold_value
}
factor = 0
}
}
}
option = { # What can you do
name = tgp_dynastic_cycle_events.0020.c
stress_impact = {
lazy = medium_stress_impact_loss
diligent = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = lazy
factor = 2
}
modifier = {
has_trait = diligent
factor = 0
}
}
}
}
# In this time of Expansion you should become a Military Governor
tgp_dynastic_cycle_events.0030 = {
type = character_event
title = tgp_dynastic_cycle_events.0030.t
desc = tgp_dynastic_cycle_events.0030.desc
left_portrait = {
character = root
animation = frontend_center_idle
camera = camera_event_very_left
}
right_portrait = {
character = scope:marshal
animation = celebrate_spear
}
theme = dynastic_cycle
override_background = { reference = courtyard }
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
}
NOT = { has_trait_with_flag = military_province } # You are not a Military Governor
}
immediate = {
situation:dynastic_cycle = { save_scope_as = my_situation }
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
assign_quirk_effect = yes
if = {
limit = {
exists = cp:councillor_marshal
cp:councillor_marshal = { is_available_healthy_ai_adult = yes }
}
cp:councillor_marshal = { save_scope_as = marshal }
}
else_if = {
limit = {
any_knight = { is_available_healthy_ai_adult = yes }
}
ordered_knight = {
limit = { is_available_healthy_ai_adult = yes }
order_by = martial
save_scope_as = marshal
}
}
else = {
hidden_effect_new_object = {
create_character = {
template = knight
dynasty = none
location = root.location
culture = root.location.culture
faith = root.location.faith
gender_female_chance = root_soldier_female_chance
save_scope_as = marshal
}
}
}
scope:marshal = {
assign_quirk_effect = yes
add_character_flag = need_military_outfit
hidden_effect = {
if = {
limit = { NOT = { is_courtier_of = root } }
root = { add_courtier = prev }
}
}
}
}
option = { # Let's do it!!!
name = tgp_dynastic_cycle_events.0030.a
custom_tooltip = {
text = change_to_military_career_desc
set_variable = {
name = appointment_trait_override
value = trait:education_martial_1
}
}
add_martial_lifestyle_perk_points = 1
add_martial_lifestyle_xp = massive_lifestyle_xp
stress_impact = {
base = major_stress_impact_gain
fickle = major_stress_impact_loss
arbitrary = major_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = fickle
has_trait = arbitrary
}
factor = 2
}
}
}
option = { # Thank you but no
name = tgp_dynastic_cycle_events.0030.b
custom_tooltip = {
text = tgp_movement_events.0001.c.tt
give_random_commander_trait_effect = yes
}
stress_impact = {
diligent = major_stress_impact_loss
lazy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = lazy
factor = 0
}
modifier = {
has_trait = diligent
factor = 0
}
}
}
option = { # I am good thanks
name = tgp_dynastic_cycle_events.0030.c
change_merit = medium_merit_gain
stress_impact = {
content = medium_stress_impact_loss
lazy = medium_stress_impact_loss
fickle = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = content
has_trait = lazy
}
factor = 2
}
modifier = {
has_trait = fickle
factor = 0
}
}
}
}
# Steward is interested in the Silk Road
tgp_dynastic_cycle_events.0040 = {
type = character_event
title = tgp_dynastic_cycle_events.0040.t
desc = tgp_dynastic_cycle_events.0040.desc
left_portrait = {
character = root
animation = interested
}
right_portrait = {
character = scope:steward
animation = steward
}
theme = dynastic_cycle
override_background = { reference = study }
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
exists = cp:councillor_steward
exists = situation:dynastic_cycle
exists = situation:silk_road_situation
culture = { culture_has_any_fascination = yes }
}
weight_multiplier = {
base = 0.5
modifier = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
add = 1.5
}
modifier = {
is_ai = yes
factor = 0.2
}
}
immediate = {
situation:dynastic_cycle = { save_scope_as = my_situation }
situation:silk_road_situation = { save_scope_as = silk_road_situation }
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
assign_quirk_effect = yes
cp:councillor_steward = {
assign_quirk_effect = yes
save_scope_as = steward
}
}
option = { # Special option if it's Advancement phase
name = tgp_dynastic_cycle_events.0040.a
trigger = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
}
add_internal_flag = special
reason = advancement_phase
pay_treasury_or_gold = {
target = scope:steward
value = medium_treasury_or_gold_value
}
add_stewardship_lifestyle_xp = minor_lifestyle_xp
add_character_modifier = {
modifier = tgp_silk_road_advancement_modifier
years = 15
}
stress_impact = {
greedy = medium_stress_impact_loss
}
ai_chance = {
base = 50
modifier = {
OR = {
has_trait = greedy
has_lifestyle = stewardship_lifestyle
}
factor = 2
}
}
}
option = { # Invest!
name = tgp_dynastic_cycle_events.0040.b
pay_treasury_or_gold = {
target = scope:steward
value = medium_treasury_or_gold_value
}
culture = { add_fascination_progress = 2.5 }
stress_impact = {
avaricious = medium_stress_impact_loss
}
ai_chance = {
base = 50
modifier = {
has_trait = greedy
treasury_or_gold <= major_treasury_or_gold_value
factor = 0
}
}
}
option = { # I am good thanks
name = tgp_dynastic_cycle_events.0040.c
stress_impact = {
avaricious = medium_stress_impact_gain
}
ai_chance = {
base = 200
modifier = {
has_trait = greedy
factor = 2
}
modifier = {
has_trait = avaricious
factor = 0.5
}
}
}
}
# Debate the Favoured Movement and get ahead of them
tgp_dynastic_cycle_events.0050 = {
type = character_event
title = tgp_dynastic_cycle_events.0050.t
desc = tgp_dynastic_cycle_events.0050.desc
left_portrait = {
character = root
animation = disapproval
}
theme = dynastic_cycle
override_background = { reference = study }
cooldown = { years = 10 }
trigger = {
is_available_adult = yes
has_tgp_dlc_trigger = yes
government_has_flag = government_is_celestial
is_any_movement_member_not_undecided = yes # You are part of a Movement
situation:dynastic_cycle ?= { # You are not the Favoured Movement
any_participant_group = {
exists = var:movement_favored
NOT = { participant_group_has_character = root }
}
}
NOT = { has_variable = tgp_debate_discount_var }
}
weight_multiplier = {
base = 1
modifier = {
is_any_movement_leader = yes
add = 1
}
}
immediate = {
situation:dynastic_cycle = {
save_scope_as = my_situation
random_participant_group = {
limit = {
has_variable = movement_favored
}
save_scope_as = favored_movement
}
}
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
top_liege = { save_scope_as = top_liege }
}
option = { # Get discount to Debate
name = tgp_dynastic_cycle_events.0050.a
custom_tooltip = {
text = tgp_debate_discount_var_tt
set_variable = {
name = tgp_debate_discount_var
years = 5
}
}
stress_impact = {
greedy = medium_stress_impact_loss
}
ai_chance = {
base = 50
modifier = {
is_any_movement_leader = yes
add = 50
}
}
}
option = { # Just get some Movement Power
name = tgp_dynastic_cycle_events.0050.b
custom_tooltip = event_increase_movement_power_medium_effect_tooltip
scope:my_movement = {
event_change_movement_power_effect = {
VALUE = event_increase_movement_power_medium_value
}
}
stress_impact = {
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = arrogant
factor = 0
}
}
}
option = { # Focus on yourself
name = tgp_dynastic_cycle_events.0050.c
change_influence = medium_influence_gain
stress_impact = {
humble = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = humble
factor = 0
}
}
}
}

View file

@ -0,0 +1,966 @@

namespace = tgp_east_asia_decision_events
#You adopted Mandala
tgp_east_asia_decision_events.0010 = {
type = character_event
title = tgp_east_asia_decision_events.0010.t
desc = tgp_east_asia_decision_events.0010.desc
theme = mandala
left_portrait = {
character = root
triggered_animation = {
trigger = { has_trait = zealous }
animation = personality_zealous
}
animation = eccentric
}
immediate = {
if = {
limit = { has_variable = vying_for_mandala_divinity }
custom_description_no_bullet = { text = because_of_your_divine_happenstance_tt }
divine_happenstance_adopt_mandala_effect = yes
remove_variable = vying_for_mandala_divinity
}
}
#Alright, and I'll take a Temple Citadel too, please
option = {
name = tgp_east_asia_decision_events.0010.a
trigger = {
any_directly_owned_province = { has_holding_type = tribal_holding }
}
#This changes all holdings for Tribals, or only the Capital for everyone else
if = {
limit = {
culture = {
has_cultural_parameter = mandala_tributaries
}
confederation ?= { is_house_based = no }
}
hidden_effect = {
confederation = {
every_confederation_member = {
limit = {
this != root
}
add_to_list = tributaries
}
}
}
}
change_to_mandala_government_and_citadel_effect = yes
if = {
limit = {
culture = {
has_cultural_parameter = mandala_tributaries
}
any_in_list = {
list = tributaries
is_alive = yes
}
}
hidden_effect = {
every_in_list = {
list = tributaries
confederation = {
remove_confederation_member = prev
}
start_tributary_interaction_effect = {
TRIBUTARY = this
SUZERAIN = root
}
}
}
custom_tooltip = confederates_to_tributaries_tt
}
ai_chance = {
base = 100
}
}
#Only the government for me thanks
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = {
capital_province = { has_holding_type = temple_citadel_holding }
}
desc = tgp_east_asia_decision_events.0010.b_temple_citadel
}
desc = tgp_east_asia_decision_events.0010.b
}
}
}
trigger = {
#Sorry, Tribal Holdings need to go
NOR = {
capital_province = { has_holding_type = tribal_holding }
any_directly_owned_province = { has_holding_type = tribal_holding }
}
#You need to either have a Temple Citadel or somewhere to build a Temple Citadel to avoid noob trap
OR = {
any_realm_province = {
OR = {
has_holding = no
has_holding_type = temple_citadel_holding
}
}
capital_province = { has_holding_type = temple_citadel_holding }
}
}
if = {
limit = {
culture = {
has_cultural_parameter = mandala_tributaries
}
confederation ?= { is_house_based = no }
}
hidden_effect = {
confederation = {
every_confederation_member = {
limit = {
this != root
}
add_to_list = tributaries
}
}
}
}
change_to_mandala_government_effect = yes
if = {
limit = {
culture = {
has_cultural_parameter = mandala_tributaries
}
any_in_list = {
list = tributaries
is_alive = yes
}
}
hidden_effect = {
every_in_list = {
list = tributaries
confederation = {
remove_confederation_member = prev
}
start_tributary_interaction_effect = {
TRIBUTARY = this
SUZERAIN = root
}
}
}
custom_tooltip = confederates_to_tributaries_tt
}
ai_chance = {
base = 0
}
}
}
#Vassals get notified
tgp_east_asia_decision_events.0015 = {
type = letter_event
opening = tgp_east_asia_decision_events.0015.opening
desc = tgp_east_asia_decision_events.0015.desc
sender = {
character = scope:liege
animation = personality_zealous
}
immediate = {
liege = {
save_scope_as = liege
show_as_tooltip = { change_government = mandala_government }
}
}
#What does this mean
option = {
name = tgp_east_asia_decision_events.0015.a
}
}
#You assimilated to your Overlord being Mandala
tgp_east_asia_decision_events.0020 = {
type = character_event
title = tgp_east_asia_decision_events.0020.t
desc = tgp_east_asia_decision_events.0020.desc
theme = mandala
left_portrait = {
character = root
triggered_animation = {
trigger = { has_trait = zealous }
animation = personality_zealous
}
animation = eccentric
}
lower_right_portrait = {
character = scope:overlord
}
immediate = {
overlord = { save_scope_as = overlord }
if = {
limit = {
NOR = {
faith = overlord.faith
faith.religious_head ?= root
}
}
set_character_faith = overlord.faith
custom_tooltip = tgp_east_asia_decision_events.0020.close_family_post_tt
hidden_effect = {
# Family at court also convert
every_close_family_member = {
limit = {
is_courtier_of = root
faith != root.overlord.faith
}
set_character_faith = root.overlord.faith
}
}
}
}
#Alright, and I'll take a Temple Citadel too, please
option = {
name = tgp_east_asia_decision_events.0020.a
if = {
limit = {
NOT = { government_has_flag = government_is_mandala }
}
#This changes all holdings for Tribals, or only the Capital for everyone else
change_to_mandala_government_and_citadel_effect = yes
}
ai_chance = {
base = 100
}
}
#Only the government for me thanks
option = {
name = tgp_east_asia_decision_events.0020.b
trigger = {
NOR = {
government_has_flag = government_is_mandala
#Sorry, Tribal Holdings need to go
capital_province = { has_holding_type = tribal_holding }
}
#You need to either have a Temple Citadel or somewhere to build a Temple Citadel to avoid noob trap
any_realm_province = {
OR = {
has_holding = no
has_holding_type = temple_citadel_holding
}
}
}
change_to_mandala_government_effect = yes
ai_chance = {
base = 0
}
}
after = {
#Change the tributary type to Mandala
if = {
limit = {
is_tributary_of = scope:overlord
NOT = { has_subject_contract_group = tributary_mandala }
}
hidden_effect = {
end_tributary = yes
#This still triggers the invalidation toast, somehow — should be reverted when code Jira TIT-68838 is fixed
trigger_event = {
id = tgp_east_asia_decision_events.0021
delayed = yes
}
}
}
}
}
#Ful-fix to make the tributary update not invalidate
tgp_east_asia_decision_events.0021 = {
hidden = yes
immediate = {
start_tributary_interaction_effect = {
TRIBUTARY = root
SUZERAIN = scope:overlord
}
}
}
#Vassals get notified
tgp_east_asia_decision_events.0025 = {
type = letter_event
opening = tgp_east_asia_decision_events.0025.opening
desc = tgp_east_asia_decision_events.0025.desc
sender = {
character = scope:liege
animation = personality_zealous
}
immediate = {
liege = {
save_scope_as = liege
overlord = { save_scope_as = overlord }
show_as_tooltip = { mandala_assimilation_effect = yes }
}
}
#What does this mean
option = {
name = tgp_east_asia_decision_events.0025.a
}
}
#Your Mandala Liege turned Clan
tgp_east_asia_decision_events.0030 = {
type = character_event
title = tgp_east_asia_decision_events.0030.t
desc = tgp_east_asia_decision_events.0030.desc
theme = court
override_background = { reference = throne_room }
left_portrait = {
character = root
animation = worry
}
lower_right_portrait = {
character = scope:liege
}
immediate = {
liege = {
save_scope_as = liege
show_as_tooltip = { change_government = clan_government }
}
show_as_tooltip = {
if = {
limit = {
capital_province = {
NOR = {
has_holding_type = temple_citadel_holding
has_holding_type = castle_holding
}
}
}
capital_province = { set_holding_type = castle_holding }
}
change_government = clan_government
#Start off crown authorities
if = {
limit = {
NOT = { has_realm_law = crown_authority_0 }
}
add_realm_law_skip_effects = crown_authority_0
}
}
}
#Okidoki
option = {
name = tgp_east_asia_decision_events.0030.a
ai_chance = {
base = 100
}
}
}
#Assimilation Payout Event
tgp_east_asia_decision_events.0100 = {
type = character_event
title = tgp_east_asia_decision_events.0100.t
desc = tgp_east_asia_decision_events.0100.desc
theme = mandala
left_portrait = {
character = root
triggered_animation = {
trigger = { has_trait = zealous }
animation = personality_zealous
}
animation = admiration
}
right_portrait = {
character = scope:overlord
animation = personality_zealous
}
trigger = {
this != top_overlord
government_has_flag = government_is_mandala
AND = {
has_variable = mandala_assimilation_devaraja
var:mandala_assimilation_devaraja = {
government_has_flag = government_is_mandala
this = { is_alive = yes }
this = overlord
}
}
AND = {
has_variable = mandala_assimilation_devaraja_piety_level
var:mandala_assimilation_devaraja_piety_level >= overlord.piety_level
}
}
on_trigger_fail = { trigger_event = tgp_east_asia_decision_events.0110 }
#Did they level up?
override_effect_2d = {
trigger = { overlord.piety_level > var:mandala_assimilation_devaraja_piety_level }
reference = legend_glow
}
immediate = {
overlord = { save_scope_as = overlord }
}
#Cool!
option = {
name = tgp_east_asia_decision_events.0100.a
if = {
limit = { has_character_flag = assimilation_payout_t3 }
add_piety = assimilation_piety_payout_t3
add_legitimacy_effect = { LEGITIMACY = assimilation_legitimacy_payout_t3 }
}
else_if = {
limit = { has_character_flag = assimilation_payout_t2 }
add_piety = assimilation_piety_payout_t2
add_legitimacy_effect = { LEGITIMACY = assimilation_legitimacy_payout_t2 }
}
else_if = {
limit = { has_character_flag = assimilation_payout_t1 }
add_piety = assimilation_piety_payout_t1
add_legitimacy_effect = { LEGITIMACY = assimilation_legitimacy_payout_t1 }
}
}
after = { mandala_clean_up_variables_effect = yes }
}
#Whelp, either you or your Devaraja have lost your way
tgp_east_asia_decision_events.0110 = {
hidden = yes
immediate = {
var:mandala_assimilation_devaraja ?= { save_scope_as = saved_devaraja }
send_interface_message = {
type = event_conversion_bad_text
title = failed_assimilation_payout_msg
desc = failed_assimilation_payout_msg_desc
left_icon = root
right_icon = scope:saved_devaraja
}
mandala_clean_up_variables_effect = yes
}
}
scripted_trigger base_court_brahmin_triggers = {
is_adult = yes
has_any_disease_trigger = no
}
scripted_effect recruit_mandala_court_position_effect = {
pay_short_term_gold = {
target = $RECRUITEE$
gold = $GOLD_VALUE$
}
add_courtier = $RECRUITEE$
appoint_court_position = {
recipient = $RECRUITEE$
court_position = $COURT_POSITION$
}
hidden_effect = {
$RECRUITEE$ = {
add_opinion = {
modifier = grateful_opinion
target = root
opinion = 25
}
}
}
}
#Hire a Court Brahmin
tgp_east_asia_decision_events.0200 = {
type = character_event
title = tgp_east_asia_decision_events.0200.t
desc = tgp_east_asia_decision_events.0200.desc
theme = mandala
left_portrait = {
character = scope:great_brahmin_option
animation = personality_zealous
}
right_portrait = {
character = scope:good_brahmin_option
animation = thinking
}
immediate = {
#Good character
if = {
limit = {
any_pool_character = {
province = root.capital_province
base_court_brahmin_triggers = yes
court_brahmin_validity_trigger = { EMPLOYER = root }
"aptitude(court_brahmin_court_position)" = 3
}
}
random_pool_character = {
province = root.capital_province
limit = {
base_court_brahmin_triggers = yes
court_brahmin_validity_trigger = { EMPLOYER = root }
"aptitude(court_brahmin_court_position)" = 3
}
save_scope_as = good_brahmin_option
}
}
else = {
create_character = {
location = root.capital_province
template = tgp_court_brahmin_template
age = { 25 40 }
random_traits_list = {
count = 1
education_learning_1 = {}
education_learning_2 = {}
}
save_scope_as = good_brahmin_option
after_creation = { save_scope_as = goodly_created }
}
hidden_effect = {
random_list = {
50 = {
religion:buddhism_religion = {
random_faith = {
save_scope_as = brahmin_faith
}
}
}
50 = {
religion:hinduism_religion = {
random_faith = {
save_scope_as = brahmin_faith
}
}
}
}
scope:good_brahmin_option = {
set_character_faith = scope:brahmin_faith
}
}
}
#Great character
if = {
limit = {
any_pool_character = {
province = root.capital_province
base_court_brahmin_triggers = yes
court_brahmin_validity_trigger = { EMPLOYER = root }
"aptitude(court_brahmin_court_position)" = 5
}
}
random_pool_character = {
province = root.capital_province
limit = {
base_court_brahmin_triggers = yes
court_brahmin_validity_trigger = { EMPLOYER = root }
"aptitude(court_brahmin_court_position)" = 5
}
save_scope_as = great_brahmin_option
}
}
else = {
create_character = {
location = root.capital_province
gender_female_chance = root_faith_clergy_gender_female_chance
template = tgp_court_brahmin_template
age = { 40 50 }
trait = devoted
trait = compassionate
trait = education_learning_4
random_traits_list = {
count = 1
theologian = {}
avaricious = {}
}
save_scope_as = great_brahmin_option
after_creation = { save_scope_as = greatly_created }
}
hidden_effect = {
random_list = {
50 = {
religion:buddhism_religion = {
random_faith = {
save_scope_as = brahmin_faith
}
}
}
50 = {
religion:hinduism_religion = {
random_faith = {
save_scope_as = brahmin_faith
}
}
}
}
scope:great_brahmin_option = {
set_character_faith = scope:brahmin_faith
}
}
}
}
#Great option
option = {
name = tgp_east_asia_decision_events.0200.a
custom_tooltip = tgp_east_asia_decision_events.0200.a.aptitude
recruit_mandala_court_position_effect = {
RECRUITEE = scope:great_brahmin_option
GOLD_VALUE = medium_gold_value
COURT_POSITION = court_brahmin_court_position
}
ai_chance = {
base = 100
modifier = {
short_term_gold > medium_gold_value
}
}
}
#Good option
option = {
name = tgp_east_asia_decision_events.0200.b
custom_tooltip = tgp_east_asia_decision_events.0200.b.aptitude
recruit_mandala_court_position_effect = {
RECRUITEE = scope:good_brahmin_option
GOLD_VALUE = minor_gold_value
COURT_POSITION = court_brahmin_court_position
}
}
#Nah
option = {
name = tgp_east_asia_decision_events.0200.c
}
#Sweep, sweep
after = {
if = {
limit = {
exists = scope:goodly_created
NOT = {
scope:goodly_created = { is_courtier_of = root }
}
}
scope:goodly_created = { silent_disappearance_effect = yes }
}
if = {
limit = {
exists = scope:greatly_created
NOT = {
scope:greatly_created = { is_courtier_of = root }
}
}
scope:greatly_created = { silent_disappearance_effect = yes }
}
}
}
#Hire a Khlon Glan
tgp_east_asia_decision_events.0210 = {
type = character_event
title = tgp_east_asia_decision_events.0210.t
desc = tgp_east_asia_decision_events.0210.desc
theme = mandala
override_background = armory
left_portrait = {
character = scope:great_khlon_glan_option
animation = survey
}
right_portrait = {
character = scope:good_khlon_glan_option
animation = chess_cocky
}
immediate = {
#Good character
if = {
limit = {
any_pool_character = {
province = root.capital_province
base_court_brahmin_triggers = yes
khlon_glan_validity_trigger = { EMPLOYER = root }
"aptitude(khlon_glan_court_position)" = 3
}
}
random_pool_character = {
province = root.capital_province
limit = {
base_court_brahmin_triggers = yes
khlon_glan_validity_trigger = { EMPLOYER = root }
"aptitude(khlon_glan_court_position)" = 3
}
save_scope_as = good_khlon_glan_option
}
}
else = {
create_character = {
location = root.capital_province
template = tgp_khlon_glan_template
age = { 30 40 }
random_traits_list = {
count = 1
education_stewardship_1 = {}
education_stewardship_2 = {}
education_martial_1 = {}
education_martial_2 = {}
}
save_scope_as = good_khlon_glan_option
after_creation = { save_scope_as = goodly_created }
}
scope:good_khlon_glan_option = {
if = {
limit = { martial < 10 }
add_martial_skill = { 4 6 }
}
if = {
limit = { stewardship < 10 }
add_stewardship_skill = { 4 6 }
}
}
}
#Great character
if = {
limit = {
any_pool_character = {
province = root.capital_province
base_court_brahmin_triggers = yes
khlon_glan_validity_trigger = { EMPLOYER = root }
"aptitude(khlon_glan_court_position)" = 5
}
}
random_pool_character = {
province = root.capital_province
limit = {
base_court_brahmin_triggers = yes
khlon_glan_validity_trigger = { EMPLOYER = root }
"aptitude(khlon_glan_court_position)" = 5
}
save_scope_as = great_khlon_glan_option
}
}
else = {
create_character = {
location = root.capital_province
template = tgp_khlon_glan_template
age = { 40 50 }
random_traits_list = {
count = 1
education_stewardship_3 = {}
education_stewardship_4 = {}
education_martial_3 = {}
education_martial_4 = {}
}
random_traits_list = {
count = 1
administrator = {}
overseer = {}
}
trait = organizer
save_scope_as = great_khlon_glan_option
after_creation = { save_scope_as = greatly_created }
}
scope:great_khlon_glan_option = {
if = {
limit = { martial < 10 }
add_martial_skill = { 6 8 }
}
if = {
limit = { stewardship < 10 }
add_stewardship_skill = { 6 8 }
}
}
}
}
#Great option
option = {
name = tgp_east_asia_decision_events.0210.a
custom_tooltip = tgp_east_asia_decision_events.0210.a.aptitude
recruit_mandala_court_position_effect = {
RECRUITEE = scope:great_khlon_glan_option
GOLD_VALUE = medium_gold_value
COURT_POSITION = khlon_glan_court_position
}
ai_chance = {
base = 100
modifier = {
short_term_gold > medium_gold_value
}
}
}
#Good option
option = {
name = tgp_east_asia_decision_events.0210.b
custom_tooltip = tgp_east_asia_decision_events.0210.b.aptitude
recruit_mandala_court_position_effect = {
RECRUITEE = scope:good_khlon_glan_option
GOLD_VALUE = minor_gold_value
COURT_POSITION = khlon_glan_court_position
}
}
#Nah
option = {
name = tgp_east_asia_decision_events.0210.c
}
#Sweep, sweep
after = {
if = {
limit = {
exists = scope:goodly_created
NOT = {
scope:goodly_created = { is_courtier_of = root }
}
}
scope:goodly_created = { silent_disappearance_effect = yes }
}
if = {
limit = {
exists = scope:greatly_created
NOT = {
scope:greatly_created = { is_courtier_of = root }
}
}
scope:greatly_created = { silent_disappearance_effect = yes }
}
}
}
#Create Bunga Mas
tgp_east_asia_decision_events.0300 = {
type = character_event
title = tgp_east_asia_decision_events.0300.t
desc = {
desc = tgp_east_asia_decision_events.0300.desc
first_valid = {
triggered_desc = {
trigger = {
scope:newly_created_bunga_mas = { rarity = illustrious }
}
desc = tgp_east_asia_decision_events.0300.outro.illustrious
}
triggered_desc = {
trigger = {
scope:newly_created_bunga_mas = { rarity = famed }
}
desc = tgp_east_asia_decision_events.0300.outro.famed
}
triggered_desc = {
trigger = {
scope:newly_created_bunga_mas = { rarity = masterwork }
}
desc = tgp_east_asia_decision_events.0300.outro.masterwork
}
desc = tgp_east_asia_decision_events.0300.outro
}
}
theme = mandala
left_portrait = {
character = root
triggered_animation = {
trigger = {
scope:newly_created_bunga_mas = { rarity = illustrious }
}
animation = ecstasy
}
triggered_animation = {
trigger = {
scope:newly_created_bunga_mas = { rarity = famed }
}
animation = admiration
}
triggered_animation = {
trigger = {
scope:newly_created_bunga_mas = { rarity = masterwork }
}
animation = interested
}
animation = thinking
}
right_portrait = {
character = scope:local_artisan
animation = admiration
}
artifact = {
target = scope:newly_created_bunga_mas
position = lower_center_portrait
}
immediate = {
overlord = { save_scope_as = overlord }
random_list = {
50 = {
get_artifact_quality_effect = yes
get_artifact_wealth_effect = yes
}
25 = { set_artifact_rarity_famed = yes }
10 = {
trigger = { has_relation_best_friend = scope:overlord }
set_artifact_rarity_illustrious = yes
}
}
scope:local_artisan = {
hidden_effect_new_object = {
create_artifact = {
name = bunga_mas
description = common_bunga_mas_desc
modifier = artifact_placeholder_modifier
wealth = scope:wealth
quality = scope:quality
type = pedestal
visuals = bunga_mas
save_scope_as = newly_created_bunga_mas
}
scope:newly_created_bunga_mas = {
remove_artifact_modifier = artifact_placeholder_modifier
if = {
limit = { rarity = illustrious }
set_artifact_description = illustrious_bunga_mas_desc
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_3_modifier
add_artifact_modifier = artifact_legitimacy_loss_mult_5_modifier
}
else_if = {
limit = { rarity = famed }
set_artifact_description = famed_bunga_mas_desc
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_2_modifier
add_artifact_modifier = artifact_legitimacy_loss_mult_4_modifier
}
else_if = {
limit = { rarity = masterwork }
set_artifact_description = masterwork_bunga_mas_desc
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_2_modifier
add_artifact_modifier = artifact_legitimacy_loss_mult_3_modifier
}
else = {
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_1_modifier
add_artifact_modifier = artifact_legitimacy_loss_mult_2_modifier
}
set_variable = {
name = bunga_mas_created_by
value = root
}
}
}
}
}
#Nah
option = {
name = tgp_east_asia_decision_events.0300.a
scope:newly_created_bunga_mas = {
set_owner = root
if = {
limit = { rarity = illustrious }
custom_tooltip = illustrious_bunga_mas_desc.tt
}
else_if = {
limit = { rarity = famed }
custom_tooltip = famed_bunga_mas_desc.tt
}
else_if = {
limit = { rarity = masterwork }
custom_tooltip = masterwork_bunga_mas_desc.tt
}
else = { custom_tooltip = common_bunga_mas_desc.tt }
}
ai_chance = {
base = 50
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,528 @@
namespace = tgp_faction_events
scripted_effect faction_demand_japanese_regent_rejected_effect = {
# This effect should always be placed here, _before_ all the other effects in the block.
trigger_event = { on_action = on_faction_demand_rejected }
show_as_tooltip = {
scope:faction = {
faction_start_war = {}
}
}
}
# Ceremonial Regent Faction Demand
tgp_faction_events.0101 = {
type = letter_event
sender = scope:faction_leader
opening = "FACTION_JAPANESE_REPLACE_REGENT"
desc = {
first_valid = {
triggered_desc = {
trigger = { tgp_has_ceremonial_liege_title_trigger = yes }
desc = "FACTION_JAPANESE_REPLACE_RULER_DESC"
}
desc = "FACTION_JAPANESE_REPLACE_REGENT_DESC"
}
}
trigger = {
# May have ceased to exist by the time this triggers
exists = scope:faction
}
immediate = {
# Grab our scope for loc.
save_scope_as = faction_target
}
option = {
name = "FACTION_DEMAND_ACCEPT"
add_dread = medium_dread_loss
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
faction_accept_demand_legitimacy_effect = yes
add_prestige = -500
faction_demand_regent_transfer_effect = {
NEW_REGENT = scope:faction_leader
REASON = faction_demand
}
add_character_flag = {
flag = recent_replace_regent_faction_war
years = 10
}
scope:faction_leader = {
trigger_event = { id = tgp_faction_events.0102 }
}
# This effect should always be placed here, _after_ everything except the ai_chance.
trigger_event = { on_action = on_faction_demand_accepted }
ai_chance = {
base = 10
modifier = {
add = 90
scope:faction = { faction_power >= 100 }
}
modifier = {
add = 50
scope:faction = { faction_power >= 125 }
}
modifier = {
add = 50
scope:faction = { faction_power >= 150 }
}
modifier = {
add = 50
scope:faction = { faction_power >= 200 }
}
modifier = {
add = 50
any_character_war = {
is_war_leader = root
is_defender = root
}
}
modifier = {
factor = 0.1
any_ally = {
NOR = {
target_is_liege_or_above = root
target_is_vassal_or_below = root
}
max_military_strength > root.max_military_strength
}
}
modifier = {
add = 10000
scope:faction_leader = { is_yes_men_enabled = yes }
}
modifier = { # The Kampaku always fights
factor = 0
has_title = title:e_japan
government_has_flag = government_is_japan_administrative
}
}
}
option = {
name = "FACTION_DEMAND_REFUSE"
faction_demand_japanese_regent_rejected_effect = yes
scope:faction_leader = {
trigger_event = {
id = tgp_faction_events.0103
days = 1
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 4.0
}
modifier = {
add = 50
scope:faction = { faction_power < 80 }
}
modifier = {
add = 100
scope:faction = { faction_power < 60 }
}
modifier = {
add = 1000
scope:faction = { faction_power < 40 }
}
modifier = {
add = 10000
scope:faction_leader = { is_no_men_enabled = yes }
}
}
}
}
# Japanese Regent Faction Demand Accepted
tgp_faction_events.0102 = {
type = letter_event
sender = scope:faction_target
opening = "FACTION_JAPANESE_REPLACE_REGENT_ACCEPTED"
desc = "FACTION_JAPANESE_REPLACE_REGENT_ACCEPTED_DESC"
immediate = {
show_as_tooltip = {
get_title = primary_title
if = {
limit = {
government_has_flag = government_is_japan_administrative
tgp_has_ceremonial_liege_title_trigger = no
NOT = {
has_realm_law = japanese_regency_succession_law
}
}
add_realm_law_skip_effects = japanese_regency_succession_law
}
else = {
add_realm_law_skip_effects = single_heir_succession_law
}
}
}
option = {
name = "FACTION_DEMAND_ACCEPTED_OPT"
}
}
# Japanese Regent Faction Demand Refused
tgp_faction_events.0103 = {
type = letter_event
sender = scope:faction_target
opening = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED"
desc = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED_DESC"
option = {
name = "FACTION_DEMAND_REFUSED_OPT"
scope:faction = {
faction_start_war = {}
every_faction_member = {
limit = {
NOT = { this = scope:faction.faction_leader }
}
trigger_event = tgp_faction_events.0104
}
}
}
}
# Japanese Regent Faction Demand Refused Member Notice
tgp_faction_events.0104 = {
type = letter_event
sender = scope:faction_target
opening = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED"
desc = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED_DESC"
option = { name = "FACTION_DEMAND_REFUSED_OPT" }
}
# Japanese Regent Faction Demand Send Notice
tgp_faction_events.0105 = {
type = letter_event
sender = scope:faction_leader
opening = "FACTION_JAPANESE_REPLACE_REGENT_SEND_DEMAND_NOTIFICATION"
desc = "FACTION_JAPANESE_REPLACE_REGENT_SEND_DEMAND_NOTIFICATION_DESC"
option = { name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT" }
}
scripted_effect faction_demand_restore_emperor_rejected_effect = {
# This effect should always be placed here, _before_ all the other effects in the block.
trigger_event = { on_action = on_faction_demand_rejected }
show_as_tooltip = {
scope:faction = {
faction_start_war = {}
}
}
}
# Restore Emperor Faction Demand
tgp_faction_events.0201 = {
type = letter_event
sender = scope:faction_leader
opening = "FACTION_JAPANESE_RESTORE_EMPEROR"
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_DESC"
trigger = {
# May have ceased to exist by the time this triggers
exists = scope:faction
}
immediate = {
# Grab our scope for loc.
save_scope_as = faction_target
}
option = {
name = "FACTION_DEMAND_ACCEPT"
add_dread = medium_dread_loss
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
faction_accept_demand_legitimacy_effect = yes
add_prestige = -500
scope:faction = {
special_character = { save_scope_as = ceremonial_liege }
faction_leader = {
trigger_event = { id = tgp_faction_events.0202 }
}
if = {
limit = { exists = this }
destroy_faction = yes
}
}
show_as_tooltip = {
restore_ceremonial_liege_faction_combined_effect = yes
}
# This effect should always be placed here, _after_ everything except the ai_chance.
trigger_event = { on_action = on_faction_demand_accepted }
ai_chance = {
base = 10
modifier = {
add = 90
scope:faction = { faction_power >= 100 }
}
modifier = {
add = 50
scope:faction = { faction_power >= 125 }
}
modifier = {
add = 50
scope:faction = { faction_power >= 150 }
}
modifier = {
add = 50
scope:faction = { faction_power >= 200 }
}
modifier = {
add = 50
any_character_war = {
is_war_leader = root
is_defender = root
}
}
modifier = {
factor = 0.1
any_ally = {
NOR = {
target_is_liege_or_above = root
target_is_vassal_or_below = root
}
max_military_strength > root.max_military_strength
}
}
modifier = {
add = 10000
scope:faction_leader = { is_yes_men_enabled = yes }
}
}
}
option = {
name = {
trigger = {
scope:faction_leader = { tgp_has_ceremonial_liege_title_trigger = no }
}
text = tgp_faction_events.0201.b
}
name = {
trigger = {
scope:faction_leader = { tgp_has_ceremonial_liege_title_trigger = yes }
}
text = tgp_faction_events.0201.b.cm
}
faction_demand_restore_emperor_rejected_effect = yes
scope:faction_leader = {
trigger_event = {
id = tgp_faction_events.0203
days = 1
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 4.0
}
modifier = {
add = 50
scope:faction = { faction_power < 80 }
}
modifier = {
add = 100
scope:faction = { faction_power < 60 }
}
modifier = {
add = 1000
scope:faction = { faction_power < 40 }
}
}
}
}
# Restore Emperor Faction Demand Accepted
tgp_faction_events.0202 = {
type = letter_event
sender = scope:faction_target
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_ACCEPTED"
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_ACCEPTED_DESC"
immediate = {
save_scope_as = faction_restoration
scope:faction.special_character = { save_scope_as = ceremonial_monarch }
if = {
limit = { this = scope:ceremonial_monarch }
restore_ceremonial_liege_faction_combined_effect = yes
}
else = {
scope:faction_target = { save_scope_as = defender }
trigger_event = tgp_faction_events.0206
}
}
option = {
name = "FACTION_DEMAND_ACCEPTED_OPT"
}
}
# Restore Emperor Faction Demand Refused
tgp_faction_events.0203 = {
type = letter_event
sender = scope:faction_target
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED"
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED_DESC"
option = {
name = "FACTION_DEMAND_REFUSED_OPT"
scope:faction = {
faction_start_war = {}
every_faction_member = {
limit = {
NOT = { this = scope:faction.faction_leader }
}
trigger_event = tgp_faction_events.0204
}
}
}
}
# Restore Emperor Faction Demand Refused Member Notice
tgp_faction_events.0204 = {
type = letter_event
sender = scope:faction_target
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED"
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED_DESC"
option = { name = "FACTION_DEMAND_REFUSED_OPT" }
}
# Restore Emperor Faction Demand Send Notice
tgp_faction_events.0205 = {
type = letter_event
sender = scope:faction_leader
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_SEND_DEMAND_NOTIFICATION"
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_SEND_DEMAND_NOTIFICATION_DESC"
option = { name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT" }
}
# Restore Emperor Faction Aftermath
tgp_faction_events.0206 = {
type = character_event
title = tgp_faction_events.0206.t
desc = tgp_faction_events.0206.desc
override_background = { reference = throne_room_scope }
theme = war
left_portrait = {
character = root
animation = war_over_win
}
right_portrait = {
character = scope:ceremonial_liege
animation = war_over_tie
}
lower_center_portrait = scope:defender
trigger = {
tgp_realm_has_ceremonial_liege_trigger = yes
tgp_has_ceremonial_liege_title_trigger = no
}
on_trigger_fail = {
if = {
limit = { tgp_realm_has_ceremonial_liege_trigger = yes }
restore_ceremonial_liege_faction_combined_effect = yes
}
}
immediate = {
if = {
limit = { NOT = { exists = scope:attacker } }
save_scope_as = attacker
}
tgp_save_realm_ceremonial_liege_effect = yes
scope:ceremonial_liege = { save_scope_as = background_throne_room_scope }
}
option = {
name = tgp_faction_events.0206.a
restore_ceremonial_liege_faction_combined_effect = yes
add_hook = {
target = scope:ceremonial_liege
type = favor_hook
}
scope:ceremonial_liege = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 50
}
}
every_in_list = {
list = attackers
limit = {
NOT = { this = root }
}
custom = faction_member_custom
add_opinion = {
target = root
modifier = respect_opinion
opinion = 25
}
}
stress_impact = {
ambitious = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = -0.5
ai_boldness = -0.5
ai_honor = 0.5
}
}
}
option = {
name = tgp_faction_events.0206.b
faction_demand_regent_transfer_effect = {
NEW_REGENT = scope:attacker
REASON = faction_demand
}
add_tyranny = major_tyranny_gain
reverse_add_opinion = {
target = scope:ceremonial_liege
modifier = angry_opinion
opinion = -50
}
every_in_list = {
list = attackers
limit = {
NOR = {
this = root
house ?= root.house
}
}
custom = faction_member_custom
add_opinion = {
target = root
modifier = angry_opinion
opinion = -25
}
}
stress_impact = {
honest = minor_stress_impact_gain
just = minor_stress_impact_gain
content = minor_stress_impact_gain
humble = minor_stress_impact_gain
}
ai_chance = {
base = -50
ai_value_modifier = {
ai_greed = 0.5
ai_boldness = 0.5
ai_honor = -0.5
}
}
}
}

Some files were not shown because too many files have changed in this diff Show more