so much event updating

This commit is contained in:
trashmasteruni 2026-04-25 13:36:44 +02:00
parent c4b6d9bdeb
commit 811167944e
135 changed files with 4885 additions and 297691 deletions

View file

@ -90,6 +90,16 @@ epidemic_events.0100 = {
title = epidemic_events.0100.t
desc = epidemic_events.0100.desc
theme = plague
override_background = {
trigger = {
NOT = {
capital_county = {
has_province_with_epidemic = { intensity = any }
}
}
}
reference = tavern
}
left_portrait = {
character = root
animation = fear
@ -110,6 +120,16 @@ epidemic_events.0101 = {
title = epidemic_events.0101.t
desc = epidemic_events.0101.desc
theme = plague
override_background = {
trigger = {
NOT = {
capital_county = {
has_province_with_epidemic = { intensity = any }
}
}
}
reference = courtyard
}
left_portrait = {
character = root
animation = personality_content
@ -1833,7 +1853,7 @@ epidemic_events.1060 = {
20 = {
trigger = {
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = witch
TRAIT = trait:witch
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -2514,7 +2534,7 @@ epidemic_events.1063 = {
AND = {
is_witch_trigger = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = witch
TRAIT = trait:witch
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -2522,7 +2542,7 @@ epidemic_events.1063 = {
AND = {
is_incestuous_trigger = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = incestuous
TRAIT = trait:incestuous
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -6719,7 +6739,7 @@ epidemic_events.5007 = {
trigger = {
is_available = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = witch
TRAIT = trait:witch
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -6760,7 +6780,7 @@ epidemic_events.5007 = {
is_available_healthy_ai_adult = yes
is_ai = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = witch
TRAIT = trait:witch
FAITH = this.faith
GENDER_CHARACTER = this
}

View file

@ -1,951 +0,0 @@
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

@ -1,790 +0,0 @@
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
}
center_portrait = {
character = scope:chronicler
animation = chancellor
}
right_portrait = {
character = scope:potential_promoter
animation = chancellor
}
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
}
send_interface_toast = {
title = legend_events.0010.a.success
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
}
send_interface_toast = {
title = legend_events.0010.a.failure
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
}
send_interface_toast = {
title = legend_events.0010.a.success
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
}
send_interface_toast = {
title = legend_events.0010.a.failure
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
}
}

View file

@ -4460,7 +4460,7 @@ legend_spread_events.5230 = {
}
# Just to ensure people are actually freaked out by this
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = {
TRAIT = cannibal
TRAIT = trait:cannibal
GENDER_CHARACTER = root
}
}
@ -6307,10 +6307,8 @@ legend_spread_events.5320 = {
random_character_artifact = {
limit = {
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:vassal }
NOR = {
#Ensure it's not trash
has_variable = unwanted_artifact
#And doesn't have a claim on it
any_artifact_claimant = {
is_alive = no

File diff suppressed because it is too large Load diff

View file

@ -1,32 +0,0 @@
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