N3OW/events/dlc/pam/pam_generic_events.txt
2026-10-16 20:50:19 +02:00

1909 lines
40 KiB
Text

namespace = pam_generic_events
# Gain Religious Scholar
pam_generic_events.0001 = {
type = character_event
title = pam_generic_events.0001.t
desc = pam_generic_events.0001.desc
theme = christian
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:chaplain
animation = reading
}
cooldown = { years = 20 }
trigger = {
is_available = yes
age >= 10
NOT = { has_trait = lifestyle_scholar }
cp:councillor_court_chaplain ?= {
opinion = {
target = root
value > 10
}
}
}
weight_multiplier = {
base = 1
modifier = {
government_is_religious_trigger = yes
add = 0.25
}
}
immediate = {
cp:councillor_court_chaplain = { save_scope_as = chaplain }
}
option = { # Get trait
name = pam_generic_events.0001.a
add_trait = lifestyle_scholar
ai_chance = {
base = 50
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
government_is_religious_trigger = yes
factor = 2
}
}
}
option = { # I'm good ty
name = pam_generic_events.0001.b
ai_chance = {
base = 100
modifier = {
has_trait = cynical
factor = 0
}
}
}
}
# Child doubts their goodness
scripted_trigger pam_generic_events_0002_valid_child_trigger = {
is_alive = yes
is_courtier_of = root
NOT = { has_relation_rival = root }
rite = root.rite
age > 5
age < 19
basic_is_available_ai = yes
OR = {
num_sinful_traits > 0
spiritual_fulfillment < 0
}
}
pam_generic_events.0002 = {
type = character_event
title = pam_generic_events.0002.t
desc = {
desc = pam_generic_events.0002.desc.intro
first_valid = {
triggered_desc = {
trigger = { exists = scope:sinful_trait }
desc = pam_generic_events.0002.desc.sin
}
desc = pam_generic_events.0002.desc.sp
}
desc = pam_generic_events.0002.desc.outro
}
theme = christian
override_background = { reference = bedchamber }
widgets = {
widget = { gui = event_window_widget_vfx_background_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_left_character_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_right_character_night_scene container = foreground_shader_vfx_container }
}
left_portrait = {
character = root
animation = worry
outfit_tags = { nightgown }
}
right_portrait = {
character = scope:doubting_child
animation = crying
outfit_tags = { nightgown }
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available = yes
any_child = {
pam_generic_events_0002_valid_child_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
add = 0.25
has_trait = compassionate
}
}
immediate = {
random_child = {
limit = {
pam_generic_events_0002_valid_child_trigger = yes
}
weight = {
base = 1
modifier = {
add = 2
num_sinful_traits > 0
}
modifier = {
add = 1
spiritual_fulfillment < 0
}
}
save_scope_as = doubting_child
if = {
limit = { num_sinful_traits > 0 }
random_character_trait = {
limit = {
scope:doubting_child.rite = {
trait_is_sin_rite = prev
}
}
save_scope_as = sinful_trait
}
}
}
}
option = { # Urge them to cast off the sin
name = pam_generic_events.0002.a
trigger = {
scope:doubting_child = {
num_sinful_traits > 0
}
}
scope:doubting_child = {
flip_sinful_trait_effect = yes
stress_and_fulfillment_impact = {
base = massive_stress_impact_gain
}
}
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
ai_chance = {
base = 50
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
modifier = {
factor = 0
has_trait = compassionate
}
}
}
option = { # Comfort them
name = pam_generic_events.0002.b
progress_towards_friend_effect = {
CHARACTER = scope:doubting_child
REASON = friend_comforted_child_doubts
OPINION = default_friend_opinion
}
stress_and_fulfillment_impact = {
compassionate = minor_stress_impact_loss
callous = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 0.5
}
modifier = {
factor = 2
has_trait = compassionate
}
modifier = {
factor = 0
has_trait = callous
}
}
}
option = { # Pray together
name = pam_generic_events.0002.c
add_piety = medium_piety_gain
scope:doubting_child = {
add_piety = minor_piety_gain
}
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
modifier = {
factor = 0
has_trait = cynical
}
}
}
}
# Spouse worries about your sinful ways
scripted_trigger pam_generic_events_0003_valid_spouse_trigger = {
is_available_ai_adult = yes
NOT = { has_same_sinful_trait = root }
}
pam_generic_events.0003 = {
type = character_event
title = pam_generic_events.0003.t
desc = pam_generic_events.0003.desc
theme = christian
override_background = { reference = garden }
widgets = {
widget = { gui = event_window_widget_vfx_background_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_left_character_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_right_character_night_scene container = foreground_shader_vfx_container }
}
left_portrait = {
character = root
triggered_animation = {
trigger = { has_trait = arrogant }
animation = dismissal
}
animation = sadness
}
right_portrait = {
character = scope:worried_spouse
animation = stress
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available = yes
num_sinful_traits > 0
primary_spouse ?= {
pam_generic_events_0003_valid_spouse_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
add = 0.25
primary_spouse ?= { has_trait = zealous }
}
modifier = {
add = 0.25
num_sinful_traits >= 2
}
}
immediate = {
primary_spouse = { save_scope_as = worried_spouse }
random_character_trait = {
limit = {
root.rite = {
trait_is_sin_rite = prev
}
}
save_scope_as = sinful_trait
}
}
option = { # Promise pilgrimage and change
name = pam_generic_events.0003.a
add_character_modifier = pilgrimage_promised_modifier
progress_towards_lover_effect = {
CHARACTER = scope:worried_spouse
REASON = lover_promised_to_change_ways
OPINION = default_lover_opinion
}
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
scope:worried_spouse = {
if = {
limit = { is_playable_character = yes } # Only playable characters have spiritual fulfillment
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
}
}
stress_and_fulfillment_impact = {
compassionate = minor_stress_impact_loss
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 0.25
ai_zeal = 0.25
}
modifier = {
factor = 2
has_trait = compassionate
}
modifier = {
factor = 0
has_trait = cynical
}
}
}
option = { # Double down
name = pam_generic_events.0003.b
change_spiritual_fulfillment = medium_spiritual_fulfillment_value
add_dread = medium_dread_gain
progress_towards_rival_effect = {
CHARACTER = scope:worried_spouse
REASON = rival_embraced_sinful_ways
OPINION = default_rival_opinion
}
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_loss
callous = minor_stress_impact_loss
humble = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_boldness = 0.5
ai_honor = -0.25
}
modifier = {
factor = 2
has_trait = arrogant
}
modifier = {
factor = 0
has_trait = humble
}
}
}
option = { # Tell them to chill
name = pam_generic_events.0003.c
scope:worried_spouse = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -5
}
}
stress_and_fulfillment_impact = {
callous = minor_stress_impact_loss
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_sociability = -0.25
}
modifier = {
factor = 2
has_trait = callous
}
modifier = {
factor = 0
has_trait = compassionate
}
}
}
}
# Friend/chaplain comforts you after a family death
scripted_trigger pam_generic_events_0004_recent_family_death_memory_trigger = {
OR = {
has_memory_type = relative_died
has_memory_type = spouse_died
}
memory_age_years < 5
exists = memory_participant:dead_relation
}
pam_generic_events.0004 = {
type = character_event
title = pam_generic_events.0004.t
desc = pam_generic_events.0004.desc
theme = christian
override_background = { reference = temple }
widgets = {
widget = { gui = event_window_widget_vfx_left_character_flickering_candlelight_dark container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_background_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_fog container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_left_character_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_right_character_night_scene container = foreground_shader_vfx_container }
}
left_portrait = {
character = root
animation = sadness
}
right_portrait = {
character = scope:comforter
animation = personality_compassionate
outfit_tags = { no_headgear }
camera = camera_event_right_away_3_4
}
lower_center_portrait = {
trigger = { exists = scope:deceased }
character = scope:deceased
animate_if_dead = yes
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available = yes
age >= 10
any_memory = {
pam_generic_events_0004_recent_family_death_memory_trigger = yes
}
OR = {
any_relation = {
type = friend
is_available_ai_adult = yes
}
cp:councillor_court_chaplain ?= {
is_available_ai_adult = yes
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 0.5
any_relation = {
type = friend
}
}
modifier = {
add = 0.25
any_secret = {
type = secret_murder
secret_target = {
is_alive = no
OR = {
is_close_family_of = root
is_spouse_of_even_if_dead = root
}
}
}
}
}
immediate = {
# Prefer mourning someone you secretly murdered
if = {
limit = {
any_secret = {
type = secret_murder
secret_target ?= {
is_alive = no
time_since_death = { years <= 5 }
OR = {
is_close_family_of = root
is_spouse_of_even_if_dead = root
}
}
}
}
random_secret = {
type = secret_murder
limit = {
secret_target = {
is_alive = no
time_since_death = { years <= 5 }
OR = {
is_close_family_of = root
is_spouse_of_even_if_dead = root
}
}
}
save_scope_as = murder_secret
secret_target = { save_scope_as = deceased }
}
}
else_if = {
limit = { NOT = { exists = scope:deceased } }
random_memory = {
limit = {
pam_generic_events_0004_recent_family_death_memory_trigger = yes
}
memory_participant:dead_relation = {
save_scope_as = deceased
}
}
}
if = {
limit = {
any_relation = {
type = best_friend
is_available_ai_adult = yes
}
}
random_relation = {
type = best_friend
limit = { is_available_ai_adult = yes }
save_scope_as = comforter
}
}
else_if = {
limit = {
any_relation = {
type = friend
is_available_ai_adult = yes
}
}
random_relation = {
type = friend
limit = { is_available_ai_adult = yes }
save_scope_as = comforter
}
}
else = {
cp:councillor_court_chaplain = { save_scope_as = comforter }
}
}
option = { # Confess the murder
name = pam_generic_events.0004.a
trigger = {
exists = scope:murder_secret
}
add_internal_flag = special
scope:murder_secret = { remove_secret = yes }
stress_and_fulfillment_impact = {
base = massive_stress_impact_gain
humble = minor_stress_impact_loss
callous = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_zeal = 0.5
ai_compassion = 0.25
}
modifier = {
factor = 2
has_trait = humble
}
modifier = {
factor = 0
has_trait = callous
}
modifier = {
factor = 0
has_trait = sadistic
}
}
}
option = { # Quote scripture
name = pam_generic_events.0004.b
trigger = {
OR = {
has_trait = lifestyle_scholar
has_trait = theologian
}
}
add_scholar_trait_or_xp_effect = { VALUE = 10 }
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
modifier = {
factor = 0
has_trait = cynical
}
}
}
option = { # Pray together
name = pam_generic_events.0004.c
trigger = {
NOR = {
has_trait = lifestyle_scholar
has_trait = theologian
}
}
add_piety = minor_piety_gain
scope:comforter = {
add_piety = minor_piety_gain
}
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
modifier = {
factor = 0
has_trait = cynical
}
}
}
option = { # Drink together
name = pam_generic_events.0004.d
stress_and_fulfillment_impact = {
base = medium_stress_impact_loss
drunkard = medium_stress_impact_loss
gregarious = medium_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 0.25
}
modifier = {
factor = 2
has_trait = drunkard
}
modifier = {
factor = 0
has_trait = temperate
}
}
}
}
# Loyal vassal offers to thrash the clerical region holder after your excommunication
scripted_trigger pam_generic_events_0005_loyal_vassal_trigger = {
is_available_ai_adult = yes
is_travelling = no
opinion = {
target = root
value > 0
}
NOT = { this = root.capital_county.clerical_region_title.holder }
}
pam_generic_events.0005 = {
type = character_event
title = pam_generic_events.0005.t
desc = pam_generic_events.0005.desc
theme = christian
override_background = { reference = council_chamber }
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:loyal_vassal
animation = aggressive_sword
}
lower_center_portrait = {
character = scope:clerical_holder
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available_adult = yes
has_trait = excommunicated
exists = capital_county.clerical_region_title.holder
capital_county.clerical_region_title.holder = {
is_ai = yes
this != root
}
any_vassal = {
pam_generic_events_0005_loyal_vassal_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
add = 0.5
any_vassal = {
count >= 3
pam_generic_events_0005_loyal_vassal_trigger = yes
}
}
}
immediate = {
capital_county.clerical_region_title = {
save_scope_as = clerical_region
holder = { save_scope_as = clerical_holder }
}
random_vassal = {
limit = { pam_generic_events_0005_loyal_vassal_trigger = yes }
weight = {
base = 1
modifier = {
add = 50
opinion = {
target = root
value >= 50
}
}
}
save_scope_as = loyal_vassal
}
}
option = { # Send them
name = pam_generic_events.0005.a
custom_tooltip = pam_generic_events.0005.a.tt
scope:loyal_vassal = {
start_travel_plan = {
destination = scope:clerical_holder.capital_province
return_trip = yes
on_arrival_event = pam_generic_events.0006
on_arrival_destinations = last
}
}
stress_and_fulfillment_impact = {
wrathful = minor_stress_impact_loss
vengeful = minor_stress_impact_loss
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_boldness = 0.5
ai_vengefulness = 0.5
}
modifier = {
factor = 2
has_trait = wrathful
}
modifier = {
factor = 0
has_trait = compassionate
}
}
}
option = { # Scheme instead
name = pam_generic_events.0005.b
custom_tooltip = pam_generic_events.0005.b.tt
set_variable = {
name = pam_generic_0005_murder_target
value = scope:clerical_holder
years = 15
}
stress_and_fulfillment_impact = {
deceitful = minor_stress_impact_loss
honest = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_rationality = 0.5
ai_vengefulness = 0.25
}
modifier = {
factor = 2
has_trait = deceitful
}
modifier = {
factor = 2
intrigue >= high_skill_rating
}
}
}
option = { # Turn the other cheek
name = pam_generic_events.0005.c
custom_tooltip = pam_generic_events.0005.c.tt
custom_tooltip = pam_generic_events.0005.c.tt2
set_variable = {
name = pam_turned_the_other_cheek_var
years = 10
}
stress_and_fulfillment_impact = {
compassionate = minor_stress_impact_loss
humble = minor_stress_impact_loss
forgiving = minor_stress_impact_loss
wrathful = minor_stress_impact_gain
vengeful = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_compassion = 0.5
ai_zeal = 0.25
}
modifier = {
factor = 2
has_trait = compassionate
}
modifier = {
factor = 2
has_trait = humble
}
modifier = {
factor = 0
has_trait = wrathful
}
}
}
}
# Letter: your vassal reports the beating
pam_generic_events.0006 = { # Needed so the event triggers for the liege
hidden = yes
trigger = {
scope:clerical_holder = { is_alive = yes }
}
immediate = {
save_scope_as = sender
liege = {
capital_county.clerical_region_title = {
holder = { save_scope_as = clerical_holder }
}
}
}
option = { ai_chance = { base = 100 } }
after = {
liege = {
trigger_event = {
id = pam_generic_events.0007
days = 1
}
}
}
}
pam_generic_events.0007 = {
type = letter_event
opening = {
desc = pam_generic_events.0007.opening
}
desc = pam_generic_events.0007.desc
sender = {
character = scope:sender
animation = happiness
}
immediate = {
scope:clerical_holder = {
increase_wounds_no_death_effect = { REASON = fight }
}
}
option = {
name = pam_generic_events.0007.a
add_dread = medium_dread_gain
every_vassal = {
limit = {
has_vassal_stance = belligerent
}
custom = every_belligerent_vassal
add_opinion = {
modifier = impressed_opinion
opinion = 15
target = root
}
}
}
}
# You hear the voice of god telling you how virtuous you are
pam_generic_events.0008 = {
type = character_event
title = pam_generic_events.0008.t
desc = pam_generic_events.0008.desc
theme = christian
override_background = { reference = corridor_night }
widgets = {
widget = { gui = event_window_widget_vfx_background_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_fog container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_left_character_night_scene container = foreground_shader_vfx_container }
}
left_portrait = {
character = root
animation = sick
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available_adult = yes
OR = {
religion = religion:catholic_religion
religion = religion:protestant_religion
religion = religion:eastern_orthodox_religion
religion = religion:oriental_orthodox_religion
}
num_virtuous_traits > 0
}
weight_multiplier = {
base = 1
modifier = {
add = 1
OR = {
has_trait = possessed
has_trait = witch
}
}
}
immediate = {
random_character_trait = {
limit = {
root.rite = {
trait_is_virtue_rite = prev
}
}
save_scope_as = virtuous_trait
}
}
option = { # Possessed
name = pam_generic_events.0008.a
trigger = {
OR = {
has_trait = possessed_1
has_trait = possessed_genetic
}
}
change_spiritual_fulfillment = medium_spiritual_fulfillment_value
add_character_modifier = pam_religious_delirium_modifier
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 0.5
}
}
}
option = { # Neither possessed nor witch: believe it is God
name = pam_generic_events.0008.b
trigger = {
NOR = {
has_trait = possessed_1
has_trait = possessed_genetic
has_trait = witch
}
}
change_spiritual_fulfillment = medium_spiritual_fulfillment_value
if = {
limit = { is_ai = no }
random = {
chance = 5
add_trait = possessed_1
}
}
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
modifier = {
factor = 0
has_trait = cynical
}
}
}
option = { # Witch
name = pam_generic_events.0008.c
trigger = {
has_trait = witch
NOR = {
has_trait = possessed_1
has_trait = possessed_genetic
}
}
add_character_modifier = pam_religious_delirium_modifier
random = {
chance = 10
add_trait = possessed_1
}
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_zeal = 0.25
}
}
}
option = { # I know exactly what this is
name = pam_generic_events.0008.d
trigger = { learning >= high_skill_rating }
show_as_unavailable = {
learning < high_skill_rating
}
if = {
limit = { NOT = { has_trait = lifestyle_physician } }
add_trait = lifestyle_physician
}
else = {
add_trait_xp = {
trait = lifestyle_physician
value = 10
}
}
stress_and_fulfillment_impact = {
base = medium_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 0.5
}
}
}
option = { # Speculate it was the food
name = pam_generic_events.0008.e
trigger = { learning < high_skill_rating }
add_learning_lifestyle_xp = minor_lifestyle_xp
stress_and_fulfillment_impact = {
cynical = minor_stress_impact_loss
zealous = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_rationality = 0.25
}
}
}
option = { # Pray
name = pam_generic_events.0008.f
add_piety = minor_piety_gain
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
}
}
}
# Clergy member has a hellish nightmare
scripted_trigger pam_generic_events_0009_comforting_courtier_trigger = {
is_available_ai_adult = yes
opinion = {
target = root
value > 0
}
}
pam_generic_events.0009 = {
type = character_event
title = pam_generic_events.0009.t
desc = pam_generic_events.0009.desc
theme = christian
override_background = { reference = bedchamber }
widgets = {
widget = { gui = event_window_widget_vfx_background_night_scene container = foreground_shader_vfx_container }
widget = { gui = event_window_widget_vfx_left_character_night_scene container = foreground_shader_vfx_container }
}
left_portrait = {
character = root
animation = mental_anguish
outfit_tags = { nightgown }
}
lower_right_portrait = {
trigger = { exists = scope:comforting_courtier }
character = scope:comforting_courtier
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available_adult = yes
OR = {
religion = religion:catholic_religion
religion = religion:protestant_religion
religion = religion:eastern_orthodox_religion
religion = religion:oriental_orthodox_religion
}
pam_is_clergy_ruler_trigger = yes
num_sinful_traits > 0
}
weight_multiplier = {
base = 1
modifier = {
add = 0.25
has_trait = flagellant
}
modifier = {
add = 0.25
has_trait = zealous
}
}
immediate = {
random_character_trait = {
limit = {
root.rite = {
trait_is_sin_rite = prev
}
}
save_scope_as = sinful_trait
}
if = {
limit = {
any_courtier = {
pam_generic_events_0009_comforting_courtier_trigger = yes
}
}
random_courtier = {
limit = {
pam_generic_events_0009_comforting_courtier_trigger = yes
}
save_scope_as = comforting_courtier
}
}
}
option = { # Already flagellant: scourge yourself
name = pam_generic_events.0009.a
trigger = { has_trait = flagellant }
change_spiritual_fulfillment = medium_spiritual_fulfillment_value
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 0.5
}
}
}
option = { # Not flagellant: take up the scourge
name = pam_generic_events.0009.b
trigger = {
NOT = { has_trait = flagellant }
}
add_trait = flagellant
change_spiritual_fulfillment = medium_spiritual_fulfillment_value
if = {
limit = {
NOT = { knows_tenet = tenet_mortification_of_the_flesh }
}
add_known_tenet = tenet_mortification_of_the_flesh
}
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
modifier = {
factor = 0
has_trait = cynical
}
}
}
option = { # Seek refuge in the scriptures
name = pam_generic_events.0009.c
trigger = { learning >= high_skill_rating }
add_scholar_trait_or_xp_effect = { VALUE = 10 }
stress_and_fulfillment_impact = {
base = minor_stress_impact_gain
zealous = minor_stress_impact_loss
diligent = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_zeal = 0.25
}
modifier = {
factor = 2
has_trait = lifestyle_scholar
}
}
}
option = { # Seek refuge in a friend
name = pam_generic_events.0009.d
trigger = { exists = scope:comforting_courtier }
progress_towards_friend_effect = {
CHARACTER = scope:comforting_courtier
REASON = friend_comforted_hell_nightmare_reason
OPINION = default_friend_opinion
}
stress_and_fulfillment_impact = {
base = minor_stress_impact_gain
gregarious = minor_stress_impact_loss
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 0.5
ai_compassion = 0.25
}
modifier = {
factor = 2
has_trait = gregarious
}
modifier = {
factor = 0
has_trait = shy
}
}
}
option = { # Go back to sleep
name = pam_generic_events.0009.e
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_energy = -0.25
}
modifier = {
factor = 2
has_trait = lazy
}
}
}
}
# Meet a same-faith ruler hunting while travelling through their holding
scripted_trigger pam_generic_events_0010_hunting_ruler_trigger = {
is_available_ai_adult = yes
faith = root.faith
location = root.location
NOR = {
this = root
has_relation_rival = root
}
}
pam_generic_events.0010 = {
type = character_event
title = pam_generic_events.0010.t
desc = pam_generic_events.0010.desc
theme = travel
override_background = { reference = terrain }
left_portrait = {
character = root
animation = contemplating
}
right_portrait = {
character = scope:hunting_ruler
animation = horse_surveying
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available_travelling_adult = yes
is_location_valid_for_travel_event_on_land = yes
exists = location.province_owner
location.province_owner = {
pam_generic_events_0010_hunting_ruler_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
add = 0.25
has_trait = lifestyle_hunter
}
modifier = {
add = 0.25
has_trait = zealous
}
}
immediate = {
location = {
province_owner = { save_scope_as = hunting_ruler }
}
}
option = { # Pop off as a hunter
name = pam_generic_events.0010.a
trigger = { has_trait = lifestyle_hunter }
add_prestige = minor_prestige_gain
add_trait_xp = {
trait = lifestyle_hunter
track = hunter
value = 10
}
stress_and_fulfillment_impact = {
lifestyle_hunter = minor_stress_impact_loss
arrogant = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 0.25
}
}
}
option = { # Praise their hunting
name = pam_generic_events.0010.b
duel = {
skill = diplomacy
target = scope:hunting_ruler
50 = {
desc = pam_generic_events.0010.b.success
compare_modifier = {
value = {
value = scope:duel_value
add = {
value = "scope:hunting_ruler.opinion(root)"
multiply = 0.25
}
}
multiplier = 3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_good
title = pam_generic_events.0010.b.toast.success
left_icon = scope:hunting_ruler
right_icon = root
progress_towards_friend_effect = {
CHARACTER = scope:hunting_ruler
REASON = friend_praised_hunting_reason
OPINION = default_friend_opinion
}
if = {
limit = {
scope:hunting_ruler = {
NOT = { is_vassal_of = root }
highest_held_title_tier >= tier_county
}
}
custom_tooltip = pam_generic_events.0010.b.tt
scope:hunting_ruler = {
set_variable = {
name = pam_praised_hunting_alliance_var
value = root
years = 10
}
}
}
}
}
50 = {
desc = pam_generic_events.0010.b.failure
compare_modifier = {
value = {
value = scope:duel_value
add = {
value = "scope:hunting_ruler.opinion(root)"
multiply = 0.25
}
}
multiplier = -3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_neutral
title = pam_generic_events.0010.b.toast.failure
left_icon = scope:hunting_ruler
right_icon = root
scope:hunting_ruler = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -5
}
}
}
}
}
stress_and_fulfillment_impact = {
gregarious = minor_stress_impact_loss
humble = minor_stress_impact_loss
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_sociability = 0.5
ai_compassion = 0.25
}
modifier = {
factor = 2
has_trait = gregarious
}
}
}
option = { # Praise God
name = pam_generic_events.0010.c
add_piety = minor_piety_gain
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_zeal = 0.5
}
modifier = {
factor = 2
has_trait = zealous
}
modifier = {
factor = 0
has_trait = cynical
}
}
}
option = { # Ask for an escort
name = pam_generic_events.0010.d
trigger = {
current_travel_plan = {
NOT = { has_travel_plan_modifier = travel_guide_modifier }
}
}
current_travel_plan = {
add_travel_plan_modifier = travel_guide_modifier
}
stress_and_fulfillment_impact = {
greedy = minor_stress_impact_loss
humble = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_greed = 0.25
ai_rationality = 0.25
}
}
}
}
# Scold a courtier for their sins
scripted_trigger pam_generic_events_0011_valid_sinner_trigger = {
basic_is_available_ai = yes
age >= 16
this != root
any_character_trait = {
has_trait_category = personality
NOT = { root = { has_trait = prev } }
root.rite = { trait_is_sin_rite = prev }
}
}
pam_generic_events.0011 = {
type = character_event
title = pam_generic_events.0011.t
desc = pam_generic_events.0011.desc
theme = christian
override_background = { reference = study }
left_portrait = {
character = root
triggered_animation = {
trigger = {
NOR = {
has_trait = calm
has_trait = compassionate
}
}
animation = condemnation
}
animation = disapproval
}
right_portrait = {
character = scope:sinful_courtier
triggered_animation = {
trigger = {
OR = {
has_trait = arrogant
has_trait = wrathful
}
}
animation = dismissal
}
animation = shame
}
cooldown = { years = 10 }
trigger = {
has_pam_dlc_trigger = yes
is_available_adult = yes
OR = { # Someone that'd care
pam_is_clergy_ruler_trigger = yes
has_trait = theologian
has_trait = lifestyle_scholar
has_trait = zealous
}
any_courtier = { pam_generic_events_0011_valid_sinner_trigger = yes }
}
weight_multiplier = {
base = 1
modifier = {
add = 0.25
pam_is_clergy_ruler_trigger = yes
}
modifier = {
add = 0.25
has_trait = zealous
}
}
immediate = {
if = {
limit = {
any_child = { pam_generic_events_0011_valid_sinner_trigger = yes }
}
random_child = {
limit = { pam_generic_events_0011_valid_sinner_trigger = yes }
save_scope_as = sinful_courtier
}
}
else_if = {
limit = {
primary_spouse ?= { pam_generic_events_0011_valid_sinner_trigger = yes }
}
primary_spouse = { save_scope_as = sinful_courtier }
}
else_if = {
limit = {
any_close_family_member = {
is_courtier_of = root
pam_generic_events_0011_valid_sinner_trigger = yes
}
}
random_close_family_member = {
limit = {
is_courtier_of = root
pam_generic_events_0011_valid_sinner_trigger = yes
}
save_scope_as = sinful_courtier
}
}
else_if = {
limit = {
any_councillor = { pam_generic_events_0011_valid_sinner_trigger = yes }
}
random_councillor = {
limit = { pam_generic_events_0011_valid_sinner_trigger = yes }
save_scope_as = sinful_courtier
}
}
else_if = {
limit = {
any_court_position_holder = { pam_generic_events_0011_valid_sinner_trigger = yes }
}
random_court_position_holder = {
limit = { pam_generic_events_0011_valid_sinner_trigger = yes }
save_scope_as = sinful_courtier
}
}
else = {
random_courtier = {
limit = { pam_generic_events_0011_valid_sinner_trigger = yes }
save_scope_as = sinful_courtier
}
}
scope:sinful_courtier = {
random_character_trait = {
limit = {
has_trait_category = personality
NOT = { root = { has_trait = prev } }
root.rite = { trait_is_sin_rite = prev }
}
save_scope_as = sinful_trait
}
assign_quirk_effect = yes
}
}
option = { # High dread: force them to flip
name = pam_generic_events.0011.a
trigger = { dread >= high_dread }
scope:sinful_courtier = {
flip_sinful_trait_effect = yes
stress_and_fulfillment_impact = {
base = major_stress_impact_gain
}
}
progress_towards_rival_effect = {
CHARACTER = scope:sinful_courtier
REASON = rival_called_out_sin
OPINION = default_rival_opinion
}
stress_and_fulfillment_impact = {
sadistic = minor_stress_impact_loss
callous = minor_stress_impact_loss
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_vengefulness = 0.5
ai_compassion = -0.5
}
modifier = {
factor = 2
has_trait = callous
}
modifier = {
factor = 0
has_trait = compassionate
}
}
}
option = { # Learning duel: make them understand
name = pam_generic_events.0011.b
duel = {
skill = learning
target = scope:sinful_courtier
50 = {
desc = pam_generic_events.0011.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_good
title = pam_generic_events.0011.b.toast.success
left_icon = scope:sinful_courtier
right_icon = root
change_spiritual_fulfillment = minor_spiritual_fulfillment_value
add_scholar_trait_or_xp_effect = { VALUE = 5 }
scope:sinful_courtier = {
flip_sinful_trait_effect = yes
stress_and_fulfillment_impact = {
base = major_stress_impact_gain
}
}
}
}
50 = {
desc = pam_generic_events.0011.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_neutral
title = pam_generic_events.0011.b.toast.failure
left_icon = scope:sinful_courtier
right_icon = root
scope:sinful_courtier = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -10
}
}
}
}
}
stress_and_fulfillment_impact = {
zealous = minor_stress_impact_loss
theologian = minor_stress_impact_loss
diligent = minor_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_zeal = 0.35
ai_rationality = 0.35
}
modifier = {
factor = 2
OR = {
has_trait = lifestyle_scholar
has_trait = theologian
}
}
}
}
option = { # Diplomacy duel: gently change their ways
name = pam_generic_events.0011.c
duel = {
skill = diplomacy
target = scope:sinful_courtier
50 = {
desc = pam_generic_events.0011.c.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_good
title = pam_generic_events.0011.c.toast.success
left_icon = scope:sinful_courtier
right_icon = root
change_spiritual_fulfillment = medium_spiritual_fulfillment_value
scope:sinful_courtier = {
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 20
}
}
}
}
50 = {
desc = pam_generic_events.0011.c.failure
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_neutral
title = pam_generic_events.0011.c.toast.failure
left_icon = scope:sinful_courtier
right_icon = root
scope:sinful_courtier = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -5
}
}
}
}
}
stress_and_fulfillment_impact = {
gregarious = minor_stress_impact_loss
compassionate = minor_stress_impact_loss
shy = minor_stress_impact_gain
}
ai_chance = {
base = 75
ai_value_modifier = {
ai_sociability = 0.5
ai_compassion = 0.25
}
modifier = {
factor = 2
has_trait = gregarious
}
}
}
option = { # Actually it's not that bad
name = pam_generic_events.0011.d
scope:sinful_courtier = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 15
}
}
stress_and_fulfillment_impact = {
cynical = minor_stress_impact_loss
compassionate = minor_stress_impact_loss
forgiving = minor_stress_impact_loss
zealous = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_compassion = 0.5
ai_zeal = -0.5
}
modifier = {
factor = 2
OR = {
has_trait = cynical
has_trait = forgiving
}
}
modifier = {
factor = 0
has_trait = zealous
}
}
}
}