N3OW/events/dlc/fp2/fp2_lyonese_monk_events.txt
2026-01-06 14:25:21 +01:00

4800 lines
118 KiB
Text

namespace = fp2_lyonese_monk
##################################################
# #Setup & Misc
# We're starting, invalidating, or prematurely ending the chain.
# 0001 - 0010 A Storm-Tossed Night - a learned holy person arrives at court, begging for succour.
# 0011 - 0020 A Former Friend - you have died, and scope:acolyte wishes to continue.
# 0021 - 0030 Gone and Done - scope:acolyte has died or is no longer your courtier.
# 0031 - 0040 Shattered Faith - you or scope:acolyte are no longer the correct faith.
# 0041 - 0050 # - #
#
# #Private Teachings
# The event chain is in stealth mode, with no continuation tooltips.
# 0201 - 0210 Just a Few Friends - scope:acolyte asks for permission to start a study group.
# 0211 - 0220 But Why? - one of your barons retires to become a monk spontaneously.
# 0221 - 0230 A Rictus Grin - a courtier is looking dopey and happy due to how at peace with themselves they are.
# 0231 - 0240 Booing the Bishop - a bishop in your realm is booed by a crowd of people.
# 0241 - 0250 All HerHis Fault - your court chaplain comes to you complaining, begging for an end to all of this.
#
# #Public Controversy
# Something is afoot! Important figures are getting involved, and you get continuation tooltips to let you know something is up.
# 0401 - 0410 Scope:pope's Epistle - the Pope writes you an advisory, reprimanding you and asking you to boot the monk.
# 0411 - 0420 Space to Teach - scope:acolyte asks you for a county (or barony, if you're still a count) in which to spread HerHis teachings.
# 0421 - 0430 High Tempers - your court chaplain and scope:acolyte get into a fight.
# 0431 - 0440 Scope:pope's Second Epistle - the Pope writes you *another* advisory, demanding that you boot scope:acolyte plus veiled threats.
# 0441 - 0450 The Council of scope:bishopric - the clergy of the region gather for a minor church council, featuring scope:acolyte defending their claims.
#
# #Schism
# Ho-boi, time for a shake-up! You recant or you suffer.
# 0601 - 0610 Scope:pope's Third Epistle - whatever the council's results, the Pope condemns it. You are given a final demand to repent & turn over scope:acolyte or face excommunication.
# 0611 - 0620 High Tensions - an angry mob in your capital turn up to demand scope:acolyte's head, countered by *another* angry mob that hates the first mob.
# 0621 - 0630 A Formal Complaint - zealous vassals protest your heresy.
# 0631 - 0640 Just Church Business - a neighbouring ruler has purchased claims on your land from your HoF.
# 0641 - 0650 No More than a Man - scope:acolyte suggests you embrace the heresy.
#
# #Council
# You've stuck with things, and now it's time to decide the course of your faith.
# 0801 - 0810 The Second Council of scope:bishopric - clergy from all over your realm gather, wanting to contribute their thoughts and notes.
# 0811 - 0820 Elipandics - clergy argue over whether you're all really adoptionists or just nuanced Catholics.
# 0821 - 0830 Felicians - clergy argue over the degree to which expedience is required.
# 0831 - 0840 Radicals - clergy argue over *how* monotheistic to be.
# 0841 - 0850 From the Ashes - the church council arrives at their final important doctrinal conclusions.
##################################################
##################################################
# GENERAL SCRIPTED TRIGGERS & EFFECTS
scripted_trigger fp2_suitable_base_convert_trigger = {
# We only want same-faith characters.
faith = scope:story.var:base_faith
# They should be old enough to attend a meeting.
age >= 14
# Cynics, non-believers, and the chronically short of zeal don't attend such meetings voluntarily.
NOR = {
has_trait = cynical
ai_zeal <= high_negative_ai_value
any_secret = { type = secret_non_believer }
}
# Exclude characters that might turn up as scope:irate_theocrat.
NOR = {
# Court chaplains.
AND = {
exists = scope:acolyte_host.cp:councillor_court_chaplain
this = scope:acolyte_host.cp:councillor_court_chaplain
}
# Landed theocrats - we've already pre-filtered for faith.
government_has_flag = government_is_theocracy
# Landless monks at court - we've already pre-filtered for faith.
AND = {
is_courtier_of = scope:acolyte
has_trait = devoted
}
}
# And not already players or the the heir of a player.
is_ai = yes
NOT = { is_player_heir_of = scope:acolyte_host }
}
scripted_trigger fp2_suitable_strict_convert_trigger = {
fp2_suitable_base_convert_trigger = yes
# Plus exclude both characters already in the list & the landed.
NOR = {
is_landed = yes
save_temporary_scope_as = current_temp
any_in_list = {
list = hidden_converts
this = scope:current_temp
}
}
}
scripted_trigger fp2_suitable_semi_strict_convert_trigger = {
fp2_suitable_base_convert_trigger = yes
# Plus exclude characters already in the list.
NOT = {
save_temporary_scope_as = current_temp
any_in_list = {
list = hidden_converts
this = scope:current_temp
}
}
}
scripted_trigger fp2_lyonese_monk_suitable_annoyed_theocrat_landed_vassal_trigger = {
government_has_flag = government_is_theocracy
faith = scope:story.var:base_faith
is_available_ai_adult = yes
}
scripted_trigger fp2_lyonese_monk_suitable_annoyed_theocrat_landless_monk_trigger = {
has_trait = devoted
faith = scope:story.var:base_faith
is_available_ai_adult = yes
this != scope:acolyte
}
scripted_trigger fp2_lyonese_monk_has_suitable_annoyed_theocrat_trigger = {
# This should always be synced with fp2_lyonese_monk_select_suitable_annoyed_theocrat_effect.
OR = {
AND = {
exists = cp:councillor_court_chaplain
cp:councillor_court_chaplain = { is_available_ai_adult = yes }
}
any_vassal = { fp2_lyonese_monk_suitable_annoyed_theocrat_landed_vassal_trigger = yes }
any_courtier_or_guest = { fp2_lyonese_monk_suitable_annoyed_theocrat_landless_monk_trigger = yes }
}
}
scripted_effect fp2_add_random_characters_to_converts_list_effect = {
hidden_effect = {
$COURT$ = {
while = {
count = 5
limit = {
any_courtier_or_guest = { fp2_suitable_strict_convert_trigger = yes }
}
random_courtier_or_guest = {
limit = { fp2_suitable_strict_convert_trigger = yes }
add_to_list = hidden_converts
}
}
}
}
}
scripted_effect fp2_add_random_vassals_to_converts_list_effect = {
hidden_effect = {
$LIEGE$ = {
while = {
count = 3
limit = {
any_vassal = { fp2_suitable_semi_strict_convert_trigger = yes }
}
random_vassal = {
limit = { fp2_suitable_semi_strict_convert_trigger = yes }
add_to_list = hidden_converts
}
}
}
}
}
scripted_effect fp2_lyonese_monk_select_suitable_annoyed_theocrat_effect = {
# This should always be synced with fp2_lyonese_monk_has_suitable_annoyed_theocrat_trigger.
# Grab a suitable annoyed var:base_faith character.
## We prefer the chaplain...
if = {
limit = {
exists = cp:councillor_court_chaplain
cp:councillor_court_chaplain = { is_available_ai_adult = yes }
}
cp:councillor_court_chaplain = { save_scope_as = irate_theocrat }
}
## ... or else a landed theocrat...
else_if = {
limit = {
any_vassal = { fp2_lyonese_monk_suitable_annoyed_theocrat_landed_vassal_trigger = yes }
}
random_vassal = {
limit = { fp2_lyonese_monk_suitable_annoyed_theocrat_landed_vassal_trigger = yes }
save_scope_as = irate_theocrat
}
}
## ... but in a pinch a monk will do.
### We should know from the sync'd trigger that we've definitely got one of these hanging about if we've gotten to this point, so no need to check twice.
else_if = {
limit = {
any_courtier_or_guest = { fp2_lyonese_monk_suitable_annoyed_theocrat_landless_monk_trigger = yes }
}
random_courtier_or_guest = {
limit = { fp2_lyonese_monk_suitable_annoyed_theocrat_landless_monk_trigger = yes }
save_scope_as = irate_theocrat
}
}
## And, in an emergency, a backup.
else = {
create_character = {
location = scope:acolyte_host.capital_province
template = monk_character_template
culture = scope:acolyte_host.culture
faith = scope:story.var:base_faith
save_scope_as = irate_theocrat
}
}
}
scripted_effect fp2_lyonese_monk_make_acolyte_and_irate_theocrat_rivals_effect = {
scope:acolyte = {
if = {
limit = {
NOT = { has_relation_rival = scope:irate_theocrat }
}
set_relation_rival = {
target= scope:irate_theocrat
reason = rival_blamed_by_mentor
}
}
}
}
scripted_effect fp2_lyonese_monk_grab_and_update_pope_effect = {
# If this is our first time, just nab the current one.
if = {
limit = {
NOT = { exists = scope:pope }
}
scope:story.var:base_faith.religious_head = { save_scope_as = pope }
}
# Otherwise, check to see if the current Pope is the same as the last Pope.
else_if = {
limit = {
scope:story.var:base_faith.religious_head != scope:pope
}
scope:pope = { save_scope_as = old_pope }
scope:story.var:base_faith.religious_head = { save_scope_as = pope }
}
# Update the capital.
## If scope:pope has a specific one, take that.
if = {
limit = {
scope:pope = { is_landed = yes }
}
scope:pope.capital_barony = { save_scope_as = papal_capital }
}
## Otherwise, we default to Rome on principal.
else = {
title:b_roma = { save_scope_as = papal_capital }
}
}
##################################################
# SETUP & MISC
##################################################
# A Storm-Tossed Night
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################
# A learned holy person arrives at court, begging for succour.
fp2_lyonese_monk.0001 = {
type = character_event
title = fp2_lyonese_monk.0001.t
desc = fp2_lyonese_monk.0001.desc
theme = faith
left_portrait = {
character = scope:acolyte_host
animation = personality_rational
}
right_portrait = {
character = scope:acolyte
animation = chaplain
}
override_background = { reference = corridor_night }
cooldown = { years = 100 }
trigger = {
#Not for landless
is_landed = yes
}
immediate = {
play_music_cue = "mx_cue_general_crusade_event_3"
# Create scope:acolyte.
## A pupil of Felix of Urgell, acting as a sort of do-over for the character.
create_character = {
location = root.capital_province
#General
age = fp2_lyonese_monk_age_value
faith = root.faith
culture = culture:french
dynasty = generate
#Education
trait = education_learning_4
#Personality
trait = deceitful
trait = stubborn
trait = zealous
trait = brave
#Misc
trait = theologian
trait = scholar
trait = whole_of_body
trait = devoted
health = 5
random_traits = no
gender_female_chance = root_faith_clergy_gender_female_chance
#Skills
## These include the two "hidden" traits of scope:acolyte's buffs - heresiarch & education_intrigue_4.
diplomacy = 14
martial = 2
stewardship = 7
intrigue = 12
learning = 8
prowess = 2
save_scope_as = acolyte
}
scope:acolyte.house = { set_house_name = "dynn_d__Lyon" }
scope:acolyte.dynasty = { set_dynasty_name = "dynn_d__Lyon" }
}
# Of course, what's mine is yours!
option = {
name = fp2_lyonese_monk.0001.a
# Sort scope:acolyte.
## Add them as a courtier.
add_courtier = scope:acolyte
## & tell 'em to stay put.
scope:acolyte = { add_character_flag = blocked_from_leaving }
# Set up our tracking stuff.
## Including a story cycle.
create_story = {
type = story_lyonese_monk
save_scope_as = story
}
## A variable within that cycle that wants to be special.
if = {
limit = { exists = scope:story }
scope:story = {
# Set our one true OG faith. Till the other one.
set_variable = {
name = base_faith
value = scope:acolyte.faith
}
}
}
## And, in case of death, a back-up scope:acolyte.
if = {
limit = { exists = scope:story }
scope:story = {
set_variable = {
name = acolyte
value = scope:acolyte
}
}
}
# Start the chain.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
days = 7
}
stress_impact = {
generous = miniscule_stress_impact_loss
greedy = minor_stress_impact_gain
callous = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_sociability = -1
}
}
}
# We have no room, but you can stay for a night.
option = {
name = fp2_lyonese_monk.0001.b
# Opt out, with some consolation currency.
add_piety = minor_piety_gain
scope:acolyte = { silent_disappearance_effect = yes }
stress_impact = {
callous = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
generous = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 0.5
ai_compassion = 0.5
ai_sociability = -0.25
}
}
}
# No beggars in GetPrimaryTitle. *Out*.
option = {
name = fp2_lyonese_monk.0001.c
# Opt out, with some consolation currency.
add_prestige = miniscule_prestige_gain
scope:acolyte = { silent_disappearance_effect = yes }
stress_impact = {
callous = miniscule_stress_impact_loss
sadistic = miniscule_stress_impact_loss
gregarious = minor_stress_impact_gain
generous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_greed = 0.25
ai_sociability = -0.5
ai_compassion = -1
}
}
}
}
# Select a candidate.
fp2_lyonese_monk.0002 = {
scope = none
hidden = yes
trigger = {
# DLC check.
has_fp2_dlc_trigger = yes
}
immediate = {
# First, mark this as done.
add_to_global_variable_list = {
name = unavailable_unique_events
target = flag:lyonese_monk_event
}
# Now we try to grab eligible candidates.
every_county_in_region = {
region = dlc_fp2_lyonese_monk_region
holder = {
if = {
limit = { fp2_lyonese_monk_0002_valid_court_trigger = yes }
add_to_list = potential_monk_court_list
}
}
}
# Then sort within them.
random_in_list = {
list = potential_monk_court_list
# Prioritise scholastic Iberian players.
limit = {
is_ai = no
capital_province = { geographical_region = world_europe_west_iberia }
}
# Otherwise, random roll it.
alternative_limit = { always = yes }
# We want to weight up a few things.
weight = {
base = 0
# Learning gives our basic order, since it's reflective of how stimulating a theologian you are.
modifier = { add = learning }
# Weight up a bit for certain traits, those that make it more likely to allow shenanigans.
modifier = {
add = 10
has_trait = trusting
}
modifier = {
add = 10
has_trait = stubborn
}
modifier = {
add = 10
has_trait = arrogant
}
# Weight up a bit for characters who are actively impious, as they're less likely to heed the Pope's demands.
modifier = {
add = 30
piety_level <= 0
}
# We want an Iberian pick over an Aquitanian one, ideally.
modifier = {
add = 50
capital_province = { geographical_region = world_europe_west_iberia }
}
}
save_scope_as = acolyte_host
trigger_event = fp2_lyonese_monk.0001
}
}
}
##################################################
# A Former Friend
# by Ewan Cowhig Croft
# 0011 - 0020
##################################################
# You have died, and scope:acolyte wishes to continue.
fp2_lyonese_monk.0011 = {
type = character_event
title = fp2_lyonese_monk.0011.t
desc = fp2_lyonese_monk.0011.desc
theme = faith
left_portrait = {
character = scope:acolyte
animation = flirtation
}
override_background = { reference = sitting_room }
trigger = {
is_imprisoned = no
is_adult = yes
exists = faith.religious_head
faith.religious_head = scope:story.var:base_faith.religious_head
}
on_trigger_fail = {
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
scope:story = { end_story = yes }
}
immediate = {
# Nab scope:acolyte a-fresh.
scope:story.var:acolyte = { save_scope_as = acolyte }
}
# Well, I suppose...
option = {
name = fp2_lyonese_monk.0011.a
# Notify scope:acolyte_host that they're opting in.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
# Give the story cycle its new host.
scope:story = { make_story_owner = scope:acolyte_host }
# Spawn the next event in the cycle.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = 1
}
stress_impact = {
trusting = miniscule_stress_impact_loss
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_sociability = 0.5
}
}
}
# Pack your belongings, vagrant.
option = {
name = fp2_lyonese_monk.0011.b
# Clean house.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
scope:story = { end_story = yes }
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
stress_impact = {
paranoid = miniscule_stress_impact_loss
shy = miniscule_stress_impact_loss
trusting = minor_stress_impact_gain
gregarious = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_sociability = -0.5
ai_zeal = -1
}
}
}
}
##################################################
# Gone and Done
# by Ewan Cowhig Croft
# 0021 - 0030
##################################################
# Scope:acolyte has died or is no longer your courtier or vassal.
fp2_lyonese_monk.0021 = {
type = character_event
title = fp2_lyonese_monk.0021.t
desc = {
desc = fp2_lyonese_monk.0021.desc.intro
first_valid = {
triggered_desc = {
trigger = {
scope:acolyte = { is_alive = no }
}
desc = fp2_lyonese_monk.0021.desc.dead
}
triggered_desc = {
trigger = {
scope:acolyte = { is_imprisoned = yes }
}
desc = fp2_lyonese_monk.0021.desc.imprisoned
}
desc = fp2_lyonese_monk.0021.desc.gone
}
}
theme = faith
left_portrait = {
character = scope:acolyte_host
animation = disapproval
}
right_portrait = {
character = scope:acolyte
animation = disbelief
}
override_background = { reference = throne_room }
# Private Teachings: they can't have been that important...
option = {
name = fp2_lyonese_monk.0021.a
trigger = {
NOR = {
has_character_flag = fp2_lyonese_monk_entered_controversy_flag
has_character_flag = fp2_lyonese_monk_entered_schism_flag
}
}
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
# Clean house.
scope:story = { end_story = yes }
# No stress impact for notification option.
ai_chance = {
# Every option's a good option.
base = 100
}
}
# Public Controversy: they were clearly more trouble than they're worth...
option = {
name = fp2_lyonese_monk.0021.b
trigger = {
has_character_flag = fp2_lyonese_monk_entered_controversy_flag
NOT = { has_character_flag = fp2_lyonese_monk_entered_schism_flag }
}
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
# Clean house.
scope:story = { end_story = yes }
# No stress impact for notification option.
ai_chance = {
# Every option's a good option.
base = 100
}
}
# Schism: all this for nothing?
option = {
name = fp2_lyonese_monk.0021.c
trigger = { has_character_flag = fp2_lyonese_monk_entered_schism_flag }
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
# Clean house.
scope:story = { end_story = yes }
# No stress impact for notification option.
ai_chance = {
# Every option's a good option.
base = 100
}
}
# Is scope:acolyte still alive somewhere? SheHe shouldn't be.
after = {
# ... so let's just clean that up.
scope:acolyte = {
if = {
limit = { is_alive = yes }
silent_disappearance_effect = yes
}
}
}
}
##################################################
# Shattered Faith
# by Ewan Cowhig Croft
# 0031 - 0040
##################################################
# You or scope:acolyte are no longer the correct faith.
fp2_lyonese_monk.0031 = {
type = character_event
title = fp2_lyonese_monk.0031.t
desc = {
first_valid = {
triggered_desc = {
trigger = { scope:acolyte.faith = scope:story.var:base_faith }
desc = fp2_lyonese_monk.0031.desc.acolyte_host
}
desc = fp2_lyonese_monk.0031.desc.acolyte
}
}
theme = faith
left_portrait = {
character = scope:acolyte_host
animation = disapproval
}
right_portrait = {
character = scope:acolyte
animation = shame
}
override_background = { reference = temple }
# Me: I don't need scope:acolyte when I have HighGodName.
option = {
name = fp2_lyonese_monk.0031.a
trigger = {
faith != scope:story.var:base_faith
}
# Clean house.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
scope:story = { end_story = yes }
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
# No stress impact for notification option.
ai_chance = {
# Every option's a good option.
base = 100
}
}
# Them: they clearly weren't all that committed.
option = {
name = fp2_lyonese_monk.0031.b
trigger = {
scope:acolyte.faith != scope:story.var:base_faith
}
# Clean house.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
scope:story = { end_story = yes }
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
# No stress impact for notification option.
ai_chance = {
# Every option's a good option.
base = 100
}
}
}
##################################################
# Bigger Crises
# by Ewan Cowhig Croft
# 0041 - 0050
##################################################
# The destruction of the Papacy leaves little room in everyone's hearts for the minutiae of doctrine.
fp2_lyonese_monk.0041 = {
type = character_event
title = fp2_lyonese_monk.0041.t
desc = {
first_valid = {
# Either Rome is gone...
triggered_desc = {
trigger = {
NOT = { exists = title:k_papal_state.holder }
}
desc = fp2_lyonese_monk.0041.desc.pope_hope_is_nope
}
# ... or else we've likely just split off from them, probably due to Mozarab shenanigans.
desc = fp2_lyonese_monk.0041.desc.schism
}
}
theme = faith
left_portrait = {
character = scope:acolyte_host
animation = disbelief
}
right_portrait = {
character = scope:acolyte
animation = stress
}
override_background = { reference = burning_building }
# We are all alone without the Vicar of Christ!
option = {
name = {
trigger = {
NOT = { exists = title:k_papal_state.holder }
}
text = fp2_lyonese_monk.0041.a.pope_hope_is_nope
}
name = {
trigger = { always = yes }
text = fp2_lyonese_monk.0041.a.backup
}
# Clean house.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
scope:story = { end_story = yes }
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
# No stress impact for notification option.
ai_chance = {
# Every option's a good option.
base = 100
}
}
}
##################################################
# It Is a Mystery
# by Ewan Cowhig Croft
# 0051 - 0060
##################################################
# Your incarceration causes scope:acolyte to disappear - and the story along with HerHim.
fp2_lyonese_monk.0051 = {
type = character_event
title = fp2_lyonese_monk.0051.t
desc = fp2_lyonese_monk.0051.desc
theme = faith
left_portrait = {
character = scope:acolyte_host
triggered_animation = {
trigger = { is_in_prison_type = house_arrest }
animation = prisonhouse
}
triggered_animation = {
trigger = { is_in_prison_type = dungeon }
animation = prisondungeon
}
}
right_portrait = {
character = scope:acolyte
animation = dismissal
}
override_background = { reference = dungeon }
# What could have happened to HerHim?
option = {
name = fp2_lyonese_monk.0051.a
# Clean house.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
scope:story = { end_story = yes }
# Everything ends.
custom_tooltip = fp2_lyonese_monk.0000.tt.teachings_fade
# No stress impact for notification option.
ai_chance = {
# Every option's a good option.
base = 100
}
}
}
##################################################
# PRIVATE TEACHINGS
##################################################
# Just a Few Friends
# by Ewan Cowhig Croft
# 0201 - 0210
##################################################
# Scope:acolyte asks for permission to start a study group.
fp2_lyonese_monk.0201 = {
type = character_event
title = fp2_lyonese_monk.0201.t
desc = fp2_lyonese_monk.0201.desc
theme = learning_theology_focus
left_portrait = {
character = scope:acolyte_host
animation = personality_rational
}
right_portrait = {
character = scope:acolyte
animation = flirtation
}
override_background = { reference = sitting_room }
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
}
# I guess it couldn't hurt...
option = {
name = fp2_lyonese_monk.0201.a
# Scope:acolyte is happy.
reverse_add_opinion = {
target = scope:acolyte
modifier = pleased_opinion
opinion = 25
}
# We nab a few early adopters.
fp2_add_random_characters_to_converts_list_effect = { COURT = scope:acolyte_host }
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0201.a.tt
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 4 8 }
}
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = minor_stress_impact_gain
paranoid = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_sociability = 0.5
}
}
}
# A group of conspirators? I don't think so!
option = {
name = fp2_lyonese_monk.0201.b
# Boot the monk.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
# Stress loss applied in the stress impact.
stress_impact = {
base = medium_stress_loss
paranoid = minor_stress_impact_loss
trusting = medium_stress_impact_gain
zealous = medium_stress_impact_gain
eccentric = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_sociability = -0.5
ai_rationality = -1
}
}
}
# I think you've outstayed your welcome, scope:acolyte.
option = {
name = fp2_lyonese_monk.0201.c
# Boot the monk.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
# Lil bit o'consolation prestige.
add_prestige = miniscule_prestige_gain
stress_impact = {
shy = miniscule_stress_impact_loss
gregarious = minor_stress_impact_gain
zealous = minor_stress_impact_gain
eccentric = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_sociability = -0.5
ai_energy = -0.5
}
}
}
}
##################################################
# But Why?
# by Ewan Cowhig Croft
# 0211 - 0220
##################################################
scripted_trigger fp2_lyonese_monk_0211_suitable_baron_trigger = {
# Meets the basic requirements.
fp2_suitable_base_convert_trigger = yes
# Plus: is only a baron.
highest_held_title_tier = tier_barony
}
# One of your barons retires to become a monk spontaneously.
fp2_lyonese_monk.0211 = {
type = letter_event
sender = scope:baron
opening = fp2_lyonese_monk.0211.t
desc = fp2_lyonese_monk.0211.desc
cooldown = { years = 100 }
trigger = {
fp2_lyonese_monk_0000_valid_for_events_trigger = yes
# Must have a suitable baron.
any_vassal = { fp2_lyonese_monk_0211_suitable_baron_trigger = yes }
}
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Select a suitable baron.
random_vassal = {
# Try to nab a councillor, to make it more impactful.
limit = {
is_councillor_of = scope:acolyte_host
fp2_lyonese_monk_0211_suitable_baron_trigger = yes
}
# But otherwise yeah, just anyone is fine.
alternative_limit = { fp2_lyonese_monk_0211_suitable_baron_trigger = yes }
add_to_list = hidden_converts
save_scope_as = baron
primary_title = { save_scope_as = baron_holding}
}
# Now, they resign and become a NunMonk.
scope:baron = {
depose = yes # depose_effect not used for opted abdication
add_trait = devoted
}
# Nab some more converts.
fp2_add_random_characters_to_converts_list_effect = { COURT = scope:acolyte_host }
}
# Can SheHe #EMP do#! that?
option = {
name = fp2_lyonese_monk.0211.a
# No extra effects.
# Spawn the next event in the cycle.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 4 8 }
}
# No extra stress for a single-option event.
ai_chance = {
# Not relevant for a single-option event.
base = 100
}
}
}
##################################################
# A Rictus Grin
# by Ewan Cowhig Croft
# 0221 - 0230
##################################################
scripted_trigger fp2_lyonese_monk_0221_suitable_courtier_trigger = {
# We use the base version because we don't care if they're already a secret convert.
fp2_suitable_base_convert_trigger = yes
# Now, we want to make sure they're not already zealous and have room for an extra personality trait.
number_of_personality_traits < personality_trait_limit
NOR = {
has_trait = zealous
# They also should generally be precluded from cynical, but hey, just in case...
has_trait = cynical
}
}
# A courtier is looking dopey and happy due to how at peace with themselves they are.
fp2_lyonese_monk.0221 = {
type = character_event
title = fp2_lyonese_monk.0221.t
desc = fp2_lyonese_monk.0221.desc
theme = friendly
left_portrait = {
character = scope:acolyte_host
animation = worry
}
right_portrait = {
character = scope:courtier
animation = admiration
}
override_background = { reference = corridor_day }
cooldown = { years = 100 }
trigger = {
fp2_lyonese_monk_0000_valid_for_events_trigger = yes
any_courtier = { fp2_lyonese_monk_0221_suitable_courtier_trigger = yes }
}
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Select a suitable courtier.
random_courtier = {
limit = { fp2_lyonese_monk_0221_suitable_courtier_trigger = yes }
add_to_list = hidden_converts
save_scope_as = courtier
}
# Give 'em a new lease on life.
scope:courtier = { add_trait = zealous }
# Nab some more converts.
fp2_add_random_characters_to_converts_list_effect = { COURT = scope:acolyte_host }
}
# Glad you're doing well, scope:courtier!
option = {
name = fp2_lyonese_monk.0221.a
# They like you a little more.
reverse_add_opinion = {
target = scope:courtier
modifier = compliment_opinion
opinion = 20
}
stress_impact = {
trusting = miniscule_stress_impact_loss
compassionate = miniscule_stress_impact_loss
callous = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_sociability = 1
}
}
}
# I've got a bad feeling about this...
option = {
name = fp2_lyonese_monk.0221.b
# They like you a little less.
reverse_add_opinion = {
target = scope:courtier
modifier = disappointed_opinion
opinion = -20
}
stress_impact = {
paranoid = miniscule_stress_impact_loss
trusting = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = -1
ai_sociability = -1
}
}
}
after = {
# Spawn the next event in the cycle.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 4 8 }
}
}
}
##################################################
# Booing the Bishop
# by Ewan Cowhig Croft
# 0231 - 0240
##################################################
# A bishop in your realm is booed by a crowd of people.
fp2_lyonese_monk.0231 = {
type = character_event
title = fp2_lyonese_monk.0231.t
desc = fp2_lyonese_monk.0231.desc
theme = faith
left_portrait = {
character = scope:irate_theocrat
animation = fear
}
cooldown = { years = 100 }
trigger = {
fp2_lyonese_monk_0000_valid_for_events_trigger = yes
fp2_lyonese_monk_has_suitable_annoyed_theocrat_trigger = yes
}
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Process a suitable annoyed theocrat.
fp2_lyonese_monk_select_suitable_annoyed_theocrat_effect = yes
scope:irate_theocrat = { add_stress = major_stress_gain }
# Nab some more converts.
fp2_add_random_characters_to_converts_list_effect = { COURT = scope:acolyte_host }
}
# People need to show the Church more *respect*.
option = {
name = fp2_lyonese_monk.0231.a
# Scope:irate_theocrat appreciates your kind words.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = pious_opinion
opinion = 20
}
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_compassion = -1
}
}
}
# Clearly SheHe's got to work on HerHis sermons.
option = {
name = fp2_lyonese_monk.0231.b
# You gain a little piety.
add_piety = minor_piety_gain
# But you frustrate and hurt scope:irate_theocrat.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = cruelty_opinion
opinion = -10
}
scope:irate_theocrat = { add_stress = minor_stress_gain }
stress_impact = {
cynical = miniscule_stress_impact_loss
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = -0.5
ai_zeal = -1
}
}
}
after = {
# Spawn the next event in the cycle.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 4 8 }
}
}
}
##################################################
# All HerHis Fault
# by Ewan Cowhig Croft
# 0241 - 0250
##################################################
# Your court chaplain comes to you complaining, begging for an end to all of this.
fp2_lyonese_monk.0241 = {
type = character_event
title = fp2_lyonese_monk.0241.t
desc = fp2_lyonese_monk.0241.desc
theme = rival_relation
left_portrait = {
character = scope:irate_theocrat
animation = rage
}
right_portrait = {
character = scope:acolyte
animation = shock
}
override_background = { reference = council_chamber }
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Process a suitable annoyed theocrat.
fp2_lyonese_monk_select_suitable_annoyed_theocrat_effect = yes
# Make it clear they're pissed.
fp2_lyonese_monk_make_acolyte_and_irate_theocrat_rivals_effect = yes
}
# Very well — pack your things, scope:acolyte.
option = {
name = fp2_lyonese_monk.0241.a
# Opinion gain with scope:irate_theocrat.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = pleased_opinion
opinion = 20
}
# Scope:acolyte leaves.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = minor_stress_impact_gain
eccentric = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_rationality = -0.5
}
}
}
# GUARDS! Seize the heterodox bastard!
option = {
name = fp2_lyonese_monk.0241.b
# A sprinkle of piety for your orthodoxy!
add_piety = minor_piety_gain
# Scope:acolyte is dispatched.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = scuffle }
# Scope:irate_theocrat is horrified though.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = overreaction_opinion
opinion = -10
}
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_vengefulness = 1
}
}
}
# You're the troublemaker here, scope:irate_theocrat
option = {
name = fp2_lyonese_monk.0241.c
# Scope:irate_theocrat is *not* happy.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = refusal_opinion
opinion = -30
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0241.c.tt
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 4 8 }
}
stress_impact = {
cynical = miniscule_stress_impact_loss
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 0.5
ai_zeal = -1
}
}
}
}
##################################################
# PUBLIC CONTROVERSY
##################################################
# Scope:pope's Epistle
# by Ewan Cowhig Croft
# 0401 - 0410
##################################################
# The Pope writes you an advisory, reprimanding you and asking you to boot the monk.
fp2_lyonese_monk.0401 = {
type = letter_event
sender = scope:pope
opening = fp2_lyonese_monk.0401.t
desc = fp2_lyonese_monk.0401.desc
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
play_music_cue = "mx_cue_general_crusade_event_1"
# Sort our Pope scope.
fp2_lyonese_monk_grab_and_update_pope_effect = yes
# Mark that we've entered the second phase.
add_character_flag = fp2_lyonese_monk_entered_controversy_flag
}
# The Holy See compels me.
option = {
name = fp2_lyonese_monk.0401.a
# Boot the monk.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
# Gain a favour hook on scope:pope.
add_hook = {
type = favor_hook
target = scope:pope
}
# Plus some opinion.
reverse_add_opinion = {
target = scope:pope
modifier = pious_opinion
opinion = 20
}
stress_impact = {
zealous = miniscule_stress_impact_loss
arrogant = medium_stress_impact_gain
cynical = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_rationality = 0.5
}
}
}
# I don't remember asking for Rome's permission.
option = {
name = fp2_lyonese_monk.0401.b
# Scope:pope is more upset.
reverse_add_opinion = {
target = scope:pope
modifier = impious_opinion
opinion = -15
}
# Plus - lose a little piety.
add_piety = minor_piety_loss
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
cynical = miniscule_stress_impact_loss
arrogant = miniscule_stress_impact_loss
humble = medium_stress_impact_gain
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 0.75
ai_zeal = -1
}
}
}
}
##################################################
# Space to Teach
# by Ewan Cowhig Croft
# 0411 - 0420
##################################################
scripted_trigger fp2_lyonese_monk_0411_county_to_give_trigger = {
tier = tier_county
is_landless_type_title = no
NOT = { this = scope:acolyte_host.capital_county }
# Within the prime region.
title_province = { geographical_region = dlc_fp2_lyonese_monk_region }
}
# Scope:acolyte asks you for a county in which to spread HerHis teachings.
fp2_lyonese_monk.0411 = {
type = character_event
title = fp2_lyonese_monk.0411.t
desc = fp2_lyonese_monk.0411.desc
theme = learning_theology_focus
left_portrait = {
character = scope:acolyte_host
animation = disbelief
}
right_portrait = {
character = scope:acolyte
animation = admiration
}
cooldown = { years = 100 }
trigger = {
fp2_lyonese_monk_0000_valid_for_events_trigger = yes
# If you're just a count yourself, this isn't relevant for you.
highest_held_title_tier >= tier_duchy
# Must have a suitable county to hand over.
any_held_title = { fp2_lyonese_monk_0411_county_to_give_trigger = yes }
}
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Pick a county to ask for.
ordered_held_title = {
limit = { fp2_lyonese_monk_0411_county_to_give_trigger = yes }
# Pick the least valuable county.
order_by = {
value = development_level
multiply = -1
}
save_scope_as = acolyte_fief
}
}
# I suppose... I suppose I could allow this...
option = {
name = fp2_lyonese_monk.0411.a
# You turn over the county.
create_title_and_vassal_change = {
type = granted
save_scope_as = change
}
scope:acolyte_fief = {
change_title_holder = {
holder = scope:acolyte
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
# Make sure the place spawns as a theocracy.
hidden_effect = {
scope:acolyte = { change_government = theocracy_government }
}
# Nab some converts.
fp2_add_random_vassals_to_converts_list_effect = { LIEGE = scope:acolyte_host }
# Spawn the next event in the cycle.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
generous = minor_stress_impact_loss
greedy = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 0.5
ai_greed = -2
}
}
}
# Don't be ridiculous!
option = {
name = fp2_lyonese_monk.0411.b
flavor = fp2_lyonese_monk.0411.b.tt
# Boot the monk.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
# Gain a little prestige for putting your foot down.
add_prestige = minor_prestige_gain
stress_impact = {
greedy = miniscule_stress_impact_loss
generous = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_greed = 2
ai_zeal = -0.5
}
}
}
}
##################################################
# High Tempers
# by Ewan Cowhig Croft
# 0421 - 0430
##################################################
# Your court chaplain and scope:acolyte get into a fight.
fp2_lyonese_monk.0421 = {
type = character_event
title = fp2_lyonese_monk.0421.t
desc = fp2_lyonese_monk.0421.desc
theme = unfriendly
left_portrait = {
character = scope:irate_theocrat
animation = war_attacker
}
right_portrait = {
character = scope:acolyte
animation = war_over_win
}
override_background = { reference = feast }
cooldown = { years = 100 }
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Grab a theocrat.
fp2_lyonese_monk_select_suitable_annoyed_theocrat_effect = yes
# Piss them off.
fp2_lyonese_monk_make_acolyte_and_irate_theocrat_rivals_effect = yes
}
# Scope:irate_theocrat, show some decorum!
option = {
name = fp2_lyonese_monk.0421.a
# Lose opinion with scope:irate_theocrat.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = humiliated_opinion
opinion = -10
}
# Gain opinion with scope:acolyte.
reverse_add_opinion = {
target = scope:acolyte
modifier = trust_opinion
opinion = 20
}
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_emboldened
scope:story = {
change_variable = {
name = school_radical
add = 1
}
}
stress_impact = {
cynical = miniscule_stress_impact_loss
zealous = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_sociability = 1
ai_zeal = -1
}
}
}
# Scope:acolyte, you *will* respect HerHis authority!
option = {
name = fp2_lyonese_monk.0421.b
# Gain opinion with scope:irate_theocrat.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = trust_opinion
opinion = 20
}
# Lose opinion with scope:acolyte.
reverse_add_opinion = {
target = scope:acolyte
modifier = humiliated_opinion
opinion = -10
}
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_paused
scope:story = {
change_variable = {
name = school_felicitous
add = 1
}
}
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_sociability = -1
}
}
}
# Don't you two have more in common than not?
option = {
name = fp2_lyonese_monk.0421.c
# Lose opinion with scope:irate_theocrat.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = annoyed_opinion
opinion = -5
}
# Lose opinion with scope:acolyte.
reverse_add_opinion = {
target = scope:acolyte
modifier = annoyed_opinion
opinion = -5
}
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_humbled
scope:story = {
change_variable = {
name = school_elipandic
add = 1
}
}
stress_impact = {
gregarious = miniscule_stress_impact_loss
zealous = minor_stress_impact_gain
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_vengefulness = -1
}
}
}
after = {
# Spawn the next event in the cycle.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
}
}
##################################################
# Scope:pope's Second Epistle
# by Ewan Cowhig Croft
# 0431 - 0440
##################################################
# The Pope writes you *another* advisory, demanding that you boot scope:acolyte plus
fp2_lyonese_monk.0431 = {
type = letter_event
sender = scope:pope
opening = fp2_lyonese_monk.0431.t
desc = {
# Check whether the Pope has switched.
first_valid = {
triggered_desc = {
trigger = {
exists = scope:old_pope
scope:old_pope != scope:pope
}
desc = fp2_lyonese_monk.0431.desc.pope.different
}
desc = fp2_lyonese_monk.0431.desc.pope.same
}
desc = fp2_lyonese_monk.0431.desc.outro
}
cooldown = { years = 100 }
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Sort our Pope scope.
fp2_lyonese_monk_grab_and_update_pope_effect = yes
}
# It's not wise to aggravate the throne of St. Peter...
option = {
name = fp2_lyonese_monk.0431.a
# Boot the monk.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
# A bit less opinion now, as you've had one chance.
reverse_add_opinion = {
target = scope:pope
modifier = pious_opinion
opinion = 10
}
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_vengefulness = -1
}
}
}
# Perhaps there's a middle ground here.
option = {
name = fp2_lyonese_monk.0431.b
# You try to argue for a better result.
duel = {
skill = diplomacy
value = very_high_skill_rating
# You mollify scope:pope.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0431.b.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0431.b.tt.success
left_icon = scope:pope
reverse_add_opinion = {
target = scope:pope
modifier = impious_opinion
opinion = -5
}
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_humbled
scope:story = {
change_variable = {
name = school_elipandic
add = 1
}
}
}
}
# Scope:pope is even *more* angry.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0431.b.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0431.b.tt.failure
left_icon = scope:pope
## We use the same value as last time since, by definition, this is now stacking.
reverse_add_opinion = {
target = scope:pope
modifier = angry_opinion
opinion = -30
}
# And some *more* piety loss!
add_piety = medium_piety_loss
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_paused
scope:story = {
change_variable = {
name = school_felicitous
add = 1
}
}
}
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
arrogant = miniscule_stress_impact_loss
zealous = medium_stress_impact_gain
cynical = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_sociability = 0.75
ai_zeal = 0.5
ai_vengefulness = -0.5
}
}
}
# Damn it, I'm the GetTitleAsName!
option = {
name = fp2_lyonese_monk.0431.c
# Scope:pope is more upset.
## We use the same value as last time since, by definition, this is now stacking.
reverse_add_opinion = {
target = scope:pope
modifier = impious_opinion
opinion = -15
}
# And some *more* piety loss!
add_piety = medium_piety_loss
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_emboldened
scope:story = {
change_variable = {
name = school_radical
add = 1
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
arrogant = miniscule_stress_impact_loss
cynical = miniscule_stress_impact_loss
humble = medium_stress_impact_gain
zealous = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 0.5
ai_sociability = -0.5
ai_zeal = -1
}
}
}
}
##################################################
# The Council of scope:bishopric
# by Ewan Cowhig Croft
# 0441 - 0450
##################################################
# The clergy of the region gather for a minor church council, featuring scope:acolyte defending their claims.
fp2_lyonese_monk.0441 = {
type = character_event
title = fp2_lyonese_monk.0441.t
desc = fp2_lyonese_monk.0441.desc
theme = faith
left_portrait = {
character = scope:acolyte
animation = schadenfreude
}
right_portrait = {
character = scope:irate_theocrat
animation = stress
}
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Grab a theocrat.
fp2_lyonese_monk_select_suitable_annoyed_theocrat_effect = yes
# Escalate the scope:acolyte - scope:irate_theocrat relationship if we can.
scope:acolyte = {
# We should become rivals if we're not already.
if = {
limit = {
NOT = { has_relation_rival = scope:irate_theocrat }
}
scope:irate_theocrat = {
set_relation_rival = {
target = scope:acolyte
reason = rival_blamed_by_mentor
}
}
}
# But if we _are_, then it's nemesis time.
else_if = {
limit = { has_relation_rival = scope:irate_theocrat }
set_relation_nemesis = {
target = scope:irate_theocrat
copy_reason = rival
reason = rival_blamed_by_mentor
}
}
# Plus, this shows off their ecclesiastic chops!
add_piety_level = 2
}
# Pick a venue.
scope:acolyte = {
if = {
limit = { is_landed = yes }
capital_barony = { save_scope_as = council_1_venue }
}
else = {
scope:acolyte_host.capital_barony = { save_scope_as = council_1_venue }
}
}
# The whole event preemptively gives scope:acolyte a fresh audience.
fp2_add_random_vassals_to_converts_list_effect = { LIEGE = scope:acolyte_host }
}
# This council has my full support.
option = {
name = fp2_lyonese_monk.0441.a
# Gain piety.
add_piety = medium_piety_gain
# Scope:irate_theocrat has a bad time.
scope:irate_theocrat = {
add_opinion = {
target = scope:acolyte_host
modifier = humiliated_opinion
opinion = -50
}
add_stress = major_stress_gain
}
# Scope:acolyte is happy.
scope:acolyte = {
add_opinion = {
target = scope:acolyte_host
modifier = pious_opinion
opinion = 20
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_vengefulness = 1
}
}
}
# Matters of theology are not my concern.
option = {
name = fp2_lyonese_monk.0441.b
# Gain prestige.
add_prestige = medium_prestige_gain
# Scope:irate_theocrat has a less-bad time.
scope:irate_theocrat = {
add_opinion = {
target = scope:acolyte_host
modifier = abandoned_me_opinion
opinion = -20
}
add_stress = medium_stress_gain
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
humble = miniscule_stress_impact_loss
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_rationality = 0.5
ai_zeal = -1
}
}
}
# I've let this go too far!
option = {
name = fp2_lyonese_monk.0441.c
# Boot the monk.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
# Scope:irate_theocrat is incredibly thankful.
reverse_add_opinion = {
target = scope:irate_theocrat
modifier = relieved_opinion
opinion = 75
}
scope:irate_theocrat = { add_stress = major_stress_loss }
# Gain some piety out of it. Even though you're likely at a net loss by this point.
add_piety = medium_piety_gain
stress_impact = {
zealous = miniscule_stress_impact_loss
cynical = minor_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_compassion = 0.25
}
}
}
}
##################################################
# SCHISM
##################################################
# Scope:pope's Third Epistle
# by Ewan Cowhig Croft
# 0601 - 0610
##################################################
# Whatever the council's results, the Pope condemns it. You are given a final demand demand to repent & turn over scope:acolyte or face excommunication.
fp2_lyonese_monk.0601 = {
type = letter_event
sender = scope:pope
opening = fp2_lyonese_monk.0601.t
desc = fp2_lyonese_monk.0601.desc
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
play_music_cue = "mx_cue_combat_stinger"
# Sort our Pope scope.
fp2_lyonese_monk_grab_and_update_pope_effect = yes
# Mark that we've entered the second phase.
remove_character_flag = fp2_lyonese_monk_entered_controversy_flag
add_character_flag = fp2_lyonese_monk_entered_schism_flag
}
# I can only beg for St. Peter's forgiveness.
option = {
name = fp2_lyonese_monk.0601.a
# Hand the monk over to Rome.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = pope }
# Scope:pope forgives you your trespasses.
add_piety = medium_piety_gain
reverse_add_opinion = {
target = scope:pope
modifier = relieved_opinion
opinion = 50
}
stress_impact = {
zealous = miniscule_stress_impact_loss
humble = miniscule_stress_impact_loss
cynical = major_stress_impact_gain
arrogant = major_stress_impact_gain
}
ai_chance = {
# If we've made it to this point, the AI should be committed to backing scope:acolyte.
base = 0
}
}
# I am appointed by HighGodName!
option = {
name = fp2_lyonese_monk.0601.b
# Welp, don't say you weren't warned.
excommunicate_character = {
REQUESTING_CHARACTER = scope:pope
TARGET_CHARACTER = scope:acolyte_host
}
add_piety_level = -2
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
cynical = miniscule_stress_impact_loss
arrogant = miniscule_stress_impact_loss
zealous = major_stress_impact_gain
humble = major_stress_impact_gain
}
ai_chance = {
# If we've made it to this point, the AI should be committed to backing scope:acolyte.
base = 100
}
}
}
##################################################
# High Tensions
# by Ewan Cowhig Croft
# 0611 - 0620
##################################################
scripted_effect fp2_lyonese_monk_0611_diplomatic_defusal_effect = {
scope:rioting_county = {
add_county_modifier = {
modifier = fp2_religious_riots_defused_modifier
years = 10
}
}
}
# An angry mob in your capital turn up to demand scope:acolyte's head, countered by *another* angry mob that hates the first mob.
fp2_lyonese_monk.0611 = {
type = character_event
title = fp2_lyonese_monk.0611.t
desc = fp2_lyonese_monk.0611.desc
theme = war
left_portrait = {
character = scope:peasant_1
animation = aggressive_spear
outfit_tags = { beggar_rags }
hide_info = yes
}
right_portrait = {
character = scope:peasant_2
animation = aggressive_axe
outfit_tags = { beggar_rags }
hide_info = yes
}
lower_center_portrait = scope:acolyte
override_background = { reference = courtyard }
cooldown = { years = 100 }
trigger = {
fp2_lyonese_monk_0000_valid_for_events_trigger = yes
any_held_title = {
title_tier = county
faith = scope:story.var:base_faith
}
}
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Pick a suitable county.
if = {
limit = { capital_county.faith = scope:story.var:base_faith }
capital_county = { save_scope_as = rioting_county }
}
else = {
random_held_title = {
title_tier = county
limit = {
faith = scope:story.var:base_faith
}
save_scope_as = rioting_county
}
}
# Create some peasants.
create_character = {
template = generic_peasant_character
location = scope:rioting_county.title_province
save_scope_as = peasant_1
}
create_character = {
template = generic_peasant_character
location = scope:rioting_county.title_province
save_scope_as = peasant_2
}
}
# Diplomacy: I can defuse this situation.
option = {
name = fp2_lyonese_monk.0611.a
trigger = { diplomacy >= very_high_skill_rating }
skill = diplomacy
# Apply defusal effect immediately.
fp2_lyonese_monk_0611_diplomatic_defusal_effect = yes
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_humbled
scope:story = {
change_variable = {
name = school_elipandic
add = 1
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
calm = miniscule_stress_impact_loss
gregarious = miniscule_stress_impact_loss
wrathful = medium_stress_impact_gain
shy = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_sociability = 1
}
}
}
# Please, my subjects, calm!
option = {
name = fp2_lyonese_monk.0611.b
trigger = { diplomacy < very_high_skill_rating }
# You try to talk things out.
duel = {
skill = diplomacy
value = high_skill_rating
# You defuse the situation.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0611.b.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0611.b.tt.success
left_icon = scope:rioting_county
fp2_lyonese_monk_0611_diplomatic_defusal_effect = yes
}
}
# Violence erupts anyway.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0611.b.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0611.b.tt.failure
left_icon = scope:rioting_county
scope:rioting_county = {
add_county_modifier = {
modifier = fp2_religious_riots_modifier
years = 20
}
}
}
}
}
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_humbled
scope:story = {
change_variable = {
name = school_elipandic
add = 1
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
calm = miniscule_stress_impact_loss
gregarious = miniscule_stress_impact_loss
wrathful = medium_stress_impact_gain
shy = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = 1
ai_sociability = 1
}
}
}
# Fetch my sword, we'll disperse these *rebels*.
option = {
name = fp2_lyonese_monk.0611.c
flavor = fp2_lyonese_monk.0611.c.tt
# You choose violence.
scope:rioting_county = {
add_county_modifier = {
modifier = fp2_religious_riots_suppressed_modifier
years = 20
}
}
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_emboldened
scope:story = {
change_variable = {
name = school_radical
add = 1
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
wrathful = miniscule_stress_impact_loss
compassionate = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 1
ai_compassion = -1
}
}
}
# Heretics? At my very *door*?
option = {
name = fp2_lyonese_monk.0611.d
flavor = fp2_lyonese_monk.0611.d.tt
# You've had enough of this event chain.
scope:rioting_county = {
add_county_modifier = {
modifier = fp2_religious_riots_suppressed_modifier
years = 20
}
}
# Scope:acolyte is dispatched.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = scuffle }
# Take a nice chunk o'piety for your zeal!
add_piety = major_piety_gain
stress_impact = {
wrathful = miniscule_stress_impact_loss
compassionate = major_stress_impact_gain
}
ai_chance = {
# If we've made it to this point, the AI should be committed to backing scope:acolyte.
base = 0
}
}
# Lock the gates.
option = {
name = fp2_lyonese_monk.0611.e
# Riots outside, not your problem.
scope:rioting_county = {
add_county_modifier = {
modifier = fp2_religious_riots_modifier
years = 20
}
}
# Stress loss in the stress_impact block.
# Mark this for school calcs later.
custom_tooltip = fp2_lyonese_monk.0000.tt.is_paused
scope:story = {
change_variable = {
name = school_felicitous
add = 1
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
base = major_stress_loss
shy = minor_stress_impact_loss
gregarious = minor_stress_impact_gain
wrathful = major_stress_impact_gain
compassionate = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = -1
ai_sociability = -1
}
}
}
after = {
# Clean up the peasants.
scope:peasant_1 = { silent_disappearance_effect = yes }
scope:peasant_2 = { silent_disappearance_effect = yes }
}
}
##################################################
# A Formal Complaint
# by Ewan Cowhig Croft
# 0621 - 0630
##################################################
scripted_trigger fp2_lyonese_monk_0621_suitable_vassal_trigger = {
# Same faith.
faith = scope:acolyte_host.faith
# Not a cynic.
NOT = { has_trait = cynical }
# Available for narrative purposes.
is_available_ai_adult = yes
# And uhhh... make sure they don't nab themselves.
this != scope:acolyte
}
# Zealous vassals protest your heresy.
fp2_lyonese_monk.0621 = {
type = character_event
title = fp2_lyonese_monk.0621.t
desc = fp2_lyonese_monk.0621.desc
theme = vassal
left_portrait = {
character = scope:acolyte_host
animation = worry
}
right_portrait = {
character = scope:zealous_vassal
animation = anger
}
lower_left_portrait = scope:acolyte
cooldown = { years = 100 }
trigger = {
fp2_lyonese_monk_0000_valid_for_events_trigger = yes
any_vassal = { fp2_lyonese_monk_0621_suitable_vassal_trigger = yes }
}
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# Nab a suitable vassal.
ordered_vassal = {
limit = { fp2_lyonese_monk_0621_suitable_vassal_trigger = yes }
order_by = { value = max_military_strength }
save_scope_as = zealous_vassal
}
# Sort the Pope.
fp2_lyonese_monk_grab_and_update_pope_effect = yes
}
# Scope:pope couldn't persuade me, what makes you think you can?
option = {
name = fp2_lyonese_monk.0621.a
# You engage them in serious debate.
duel = {
skill = learning
target = scope:zealous_vassal
# You shatter their world view.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0621.a.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0621.a.tt.success
left_icon = scope:zealous_vassal
scope:zealous_vassal = {
add_opinion = {
target = scope:acolyte_host
modifier = impious_opinion
opinion = -25
}
add_stress = major_stress_gain
}
}
}
# They're even *more* infuriated with you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0621.a.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0621.a.tt.failure
left_icon = scope:zealous_vassal
reverse_add_opinion = {
target = scope:zealous_vassal
modifier = respect_opinion
opinion = -50
}
if = {
limit = {
can_set_relation_rival_trigger = { CHARACTER = scope:zealous_vassal }
}
set_relation_rival = {
target = scope:zealous_vassal
reason = rival_refused_to_see_reason
}
}
}
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
arrogant = miniscule_stress_impact_loss
stubborn = miniscule_stress_impact_loss
humble = medium_stress_impact_gain
fickle = major_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_rationality = 1
ai_zeal = -0.5
}
}
}
# Vassal? You're naught but a malcontent!
option = {
name = fp2_lyonese_monk.0621.b
# Scope:zealous_vassal is annoyed.
reverse_add_opinion = {
target = scope:zealous_vassal
modifier = respect_opinion
opinion = -25
}
if = {
limit = {
can_set_relation_rival_trigger = { CHARACTER = scope:zealous_vassal }
}
set_relation_rival = {
target = scope:zealous_vassal
reason = rival_refused_to_see_reason
}
}
# Spawn the next event in the cycle.
custom_tooltip = fp2_lyonese_monk.0000.tt.continues_to_teach
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
arrogant = miniscule_stress_impact_loss
stubborn = miniscule_stress_impact_loss
humble = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_vengefulness = 0.75
ai_compassion = -0.5
}
}
}
# Scope:vassal is right, this has gone too far.
option = {
name = fp2_lyonese_monk.0621.c
# Boot the monk.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = banished }
# Gain some piety.
add_piety = medium_piety_gain
# Scope:zealous_vassal is very happy!
reverse_add_opinion = {
target = scope:zealous_vassal
modifier = pleased_opinion
opinion = 50
}
stress_impact = {
humble = miniscule_stress_impact_loss
fickle = miniscule_stress_impact_loss
arrogant = minor_stress_impact_gain
stubborn = major_stress_impact_gain
}
ai_chance = {
# If we've made it to this point, the AI should be committed to backing scope:acolyte.
base = 0
}
}
}
##################################################
# Just Church Business
# by Ewan Cowhig Croft
# 0631 - 0640
##################################################
scripted_trigger fp2_lyonese_monk_0631_valid_neighbour_trigger = {
# Same religious head.
faith.religious_head = scope:story.var:base_faith.religious_head
# Neither allied nor has a ceasefire.
NOR = {
any_ally = { this = scope:acolyte_host }
any_truce_target = { this = scope:acolyte_host }
}
# Doesn't *already* have a claim.
NOT = {
any_claim = { this = scope:acolyte_host.primary_title }
}
}
# A neighbouring ruler has purchased claims on your land from your HoF.
fp2_lyonese_monk.0631 = {
type = letter_event
sender = scope:neighbouring_ruler
opening = fp2_lyonese_monk.0631.t
desc = fp2_lyonese_monk.0631.desc
cooldown = { years = 100 }
trigger = {
fp2_lyonese_monk_0000_valid_for_events_trigger = yes
any_neighboring_and_across_water_realm_same_rank_owner = { fp2_lyonese_monk_0631_valid_neighbour_trigger = yes }
}
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
# Boost the tallied events score by +1.
scope:story = {
change_variable = {
name = lm_phase_tally
add = 1
}
}
# First, we'll need to make sure our HoF is up to date.
fp2_lyonese_monk_grab_and_update_pope_effect = yes
# Now let's pick a solid neighbour.
## First gathering candidates.
every_neighboring_and_across_water_realm_same_rank_owner = {
limit = { fp2_lyonese_monk_0631_valid_neighbour_trigger = yes }
add_to_list = claims_donated_neighbouring_ruler_list
}
## Then processing them.
ordered_in_list = {
list = claims_donated_neighbouring_ruler_list
# Scope:pope, naturally, has a type.
limit = { has_trait = zealous }
alternative_limit = { always = yes }
order_by = { value = max_military_strength }
save_scope_as = neighbouring_ruler
}
# Now we fork over a claim on scope:acolyte_host's primary title.
scope:neighbouring_ruler = { add_pressed_claim = scope:acolyte_host.primary_title }
}
# Outrageous!
option = {
name = fp2_lyonese_monk.0631.a
# Well, that's a sure sign of an escalation.
## Stress gain handled in stress_impact block.
# Spawn the next event in the cycle.
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle
months = { 6 12 }
}
stress_impact = {
base = medium_stress_gain
greedy = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
# Single option event, AI chance irrelevant.
base = 100
}
}
}
##################################################
# No More than a Man
# by Ewan Cowhig Croft
# 0641 - 0650
##################################################
# Scope:acolyte suggests you embrace the heresy.
fp2_lyonese_monk.0641 = {
type = character_event
title = fp2_lyonese_monk.0641.t
desc = fp2_lyonese_monk.0641.desc
theme = faith
left_portrait = {
character = scope:acolyte_host
animation = stress
}
right_portrait = {
character = scope:acolyte
animation = scheme
}
lower_center_portrait = scope:pope
override_background = { reference = study }
trigger = { fp2_lyonese_monk_0000_valid_for_events_trigger = yes }
on_trigger_fail = {
trigger_event = {
on_action = fp2_lyonese_monk_events_cycle_no_valid_events_fallback
months = { 4 8 }
}
}
immediate = {
play_music_cue = "mx_cue_faith_conversion"
# Scope:acolyte's *real* traits & faith are revealed.
## These include the two "hidden" traits of scope:acolyte's buffs - heresiarch & education_intrigue_4.
scope:acolyte = {
set_character_faith = faith:adoptionist
hidden_effect = {
# Swap educations & adjust stats to match.
remove_trait = education_learning_4
add_learning_skill = 8
add_trait = education_intrigue_4
add_intrigue_skill = -8
# Reduce down the stats that'll increased by heresiarch.
add_martial_skill = -2
add_learning_skill = -2
add_prowess_skill = -2
}
add_heresiarch_trait_effect = yes
# Make this clear too.
hidden_effect = { force_character_skill_recalculation = yes }
# _Small_ diplo-immunity.
add_character_flag = {
flag = flag_hostile_actions_disabled_delay
days = 10
}
}
# Nab a scope:pope, so that they can welcome you back.
fp2_lyonese_monk_grab_and_update_pope_effect = yes
}
# Yes... yes, why not, if they're so set on accusing us?
option = {
name = fp2_lyonese_monk.0641.a
# Conversion time!
## You switch faith.
add_character_flag = {
flag = delay_player_faith_conversion_notification_event
days = 1
}
set_character_faith_with_conversion = faith:adoptionist
add_heresiarch_trait_effect = yes
## The hidden character's list gets used.
every_in_list = {
list = hidden_converts
limit = { fp2_suitable_base_convert_trigger = yes }
custom = fp2_lyonese_monk.0641.a.tt.hidden_convert.character
set_character_faith_with_conversion = faith:adoptionist
}
## Every county in your realm bordering scope:acolyte's stronghold converts.
### We don't just give you everything scope:acolyte holds plus _their_ neighbours so that you can't game-convert half of Europe with some clever pimpling.
scope:acolyte_fief = {
if = {
limit = { holder = scope:acolyte }
set_county_faith = faith:adoptionist
# Plus nab the neighbours.
every_neighboring_county = {
limit = {
faith = scope:story.var:base_faith
holder = {
any_liege_or_above = { this = scope:acolyte_host }
}
}
set_county_faith = faith:adoptionist
}
}
}
# We unblock adoptionism being converted to from this point onwards.
## No need to notify the player; it's not strictly relevant for them for gameplay purposes.
faith:adoptionist = { remove_variable = block_conversion_till_nebulous_circumstances }
# And a large gathering of nerds is held.
custom_tooltip = fp2_lyonese_monk.0641.a.tt
# Trigger the conclave.
trigger_event = {
id = fp2_lyonese_monk.0801
months = 1
}
stress_impact = {
trusting = miniscule_stress_impact_loss
cynical = miniscule_stress_impact_loss
paranoid = medium_stress_impact_gain
zealous = major_stress_impact_gain
}
ai_chance = {
# If we've made it to this point, the AI should be committed to backing scope:acolyte.
base = 100
}
}
# Snake! You've been planning this all along!
option = {
name = fp2_lyonese_monk.0641.b
# Scope:acolyte is dispatched.
fp2_lyonese_monk_cancel_chain_effect = { REMOVAL = scuffle }
# Scope:pope is happy.
reverse_add_opinion = {
target = scope:pope
modifier = relieved_opinion
opinion = 50
}
## If you're still excommunicated (which: let's face it), then SheHe'll recommunicate you.
if = {
limit = { has_trait = excommunicated }
lift_character_excommunication_effect = {
TARGET_CHARACTER = scope:acolyte_host
REQUESTING_CHARACTER = scope:pope
}
}
stress_impact = {
paranoid = miniscule_stress_impact_loss
zealous = miniscule_stress_impact_loss
cynical = medium_stress_impact_gain
trusting = major_stress_impact_gain
}
ai_chance = {
# If we've made it to this point, the AI should be committed to backing scope:acolyte.
base = 0
}
}
}
##################################################
# COUNCIL
##################################################
# The Second Council of scope:bishopric
# by Ewan Cowhig Croft
# 0801 - 0810
##################################################
# Clergy from all over your realm gather, wanting to contribute their thoughts and notes.
fp2_lyonese_monk.0801 = {
type = character_event
title = {
first_valid = {
# Is this our second council here?
triggered_desc = {
trigger = { scope:council_1_venue = scope:council_2_venue }
desc = fp2_lyonese_monk.0801.t.second
}
# Or our first?
desc = fp2_lyonese_monk.0801.t.first
}
}
desc = {
desc = fp2_lyonese_monk.0801.desc.intro
first_valid = {
triggered_desc = {
trigger = { scope:acolyte_stance = flag:school_elipandic }
desc = fp2_lyonese_monk.0801.desc.elipandic
}
triggered_desc = {
trigger = { scope:acolyte_stance = flag:school_felicitous }
desc = fp2_lyonese_monk.0801.desc.felicitous
}
triggered_desc = {
trigger = { scope:acolyte_stance = flag:school_radical }
desc = fp2_lyonese_monk.0801.desc.radical
}
}
}
theme = learning
left_portrait = {
character = scope:acolyte_host
animation = personality_rational
}
right_portrait = {
character = scope:acolyte_at_council
animation = chancellor
}
override_background = { reference = temple_scope }
immediate = {
# Refund the piety levels you lost earlier.
add_piety_level = 2
# Give you a fun trait because... I mean, well.
add_heresiarch_trait_effect = yes
# Sort our locale.
## First, whether this is a repeater.
scope:council_1_venue = {
## Preferring to chill at scope:acolyte's place.
if = {
limit = { holder = scope:acolyte }
save_scope_as = council_2_venue
}
## But otherwise we take your capital.
else = {
scope:acolyte_host.capital_barony = { save_scope_as = council_2_venue }
}
}
## Then the background scope.
scope:council_2_venue = { save_scope_as = background_temple_scope }
# Work out what scope:acolyte's stance is.
scope:story = {
# They're an Elipandic.
if = {
limit = {
var:school_elipandic > var:school_felicitous
var:school_elipandic > var:school_radical
}
save_scope_value_as = {
name = acolyte_stance
value = flag:school_elipandic
}
}
# They're Felicitous.
else_if = {
limit = {
var:school_felicitous > var:school_elipandic
var:school_felicitous > var:school_radical
}
save_scope_value_as = {
name = acolyte_stance
value = flag:school_felicitous
}
}
# They're a Radical.
else_if = {
limit = {
var:school_radical > var:school_elipandic
var:school_radical > var:school_felicitous
}
save_scope_value_as = {
name = acolyte_stance
value = flag:school_radical
}
}
# If we've somehow ended up with a draw, we have a Felicitous base, so we go with that for the tie-breaker.
else = {
save_scope_value_as = {
name = acolyte_stance
value = flag:school_felicitous
}
}
}
# Aaaaand is scope:acolyte around for the pictures.
scope:acolyte = {
if = {
limit = { is_physically_able = yes }
save_scope_as = acolyte_at_council
}
}
}
# Naturally, I'll take a leading role in the discussions.
option = {
name = fp2_lyonese_monk.0801.a
# You'll engage in learning debates.
custom_tooltip = fp2_lyonese_monk.0801.a.tt
save_scope_value_as = {
name = conclave_engagement
value = flag:debate
}
# Progress the conclave.
custom_tooltip = fp2_lyonese_monk.0801.tt.invalidation_warning
trigger_event = {
id = fp2_lyonese_monk.0811
months = 2
}
stress_impact = {
gregarious = miniscule_stress_impact_loss
shy = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# My influence will be more felt than seen...
option = {
name = fp2_lyonese_monk.0801.b
# You'll spend piety.
custom_tooltip = fp2_lyonese_monk.0801.b.tt
save_scope_value_as = {
name = conclave_engagement
value = flag:piety
}
# Progress the conclave.
custom_tooltip = fp2_lyonese_monk.0801.tt.invalidation_warning
trigger_event = {
id = fp2_lyonese_monk.0811
months = 2
}
stress_impact = {
shy = miniscule_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# This is a matter for the clergy alone.
option = {
name = fp2_lyonese_monk.0801.c
# You leave the clergy to their discussions.
custom_tooltip = fp2_lyonese_monk.0801.c.tt
# Gain a decent chunk of piety for letting this go ahead.
add_piety = major_piety_gain
# Progress the chain.
save_scope_value_as = {
name = defaulted_on_conclave
value = yes
}
trigger_event = {
id = fp2_lyonese_monk.0841
months = 2
}
stress_impact = {
humble = miniscule_stress_impact_loss
arrogant = major_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 100
}
}
}
##################################################
# Council: Father & Son
# by Ewan Cowhig Croft
# 0811 - 0820
##################################################
# Become Righteous.
scripted_effect fp2_lyonese_monk_0811_elipandic_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_elipandics
faith:adoptionist = {
hidden_effect = { remove_doctrine = doctrine_pluralism_fundamentalist }
add_doctrine = doctrine_pluralism_righteous
}
}
# Become Pluralist.
scripted_effect fp2_lyonese_monk_0811_felicitous_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_felicians
faith:adoptionist = {
hidden_effect = { remove_doctrine = doctrine_pluralism_fundamentalist }
add_doctrine = doctrine_pluralism_pluralistic
}
}
# Stay Fundamentalist.
scripted_effect fp2_lyonese_monk_0811_radical_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_radicals
show_as_tooltip = {
faith:adoptionist = {
add_doctrine = doctrine_pluralism_fundamentalist
}
}
}
# Clergy argue over whether you're all really adoptionists or just nuanced Catholics.
fp2_lyonese_monk.0811 = {
type = character_event
title = fp2_lyonese_monk.0811.t
desc = fp2_lyonese_monk.0811.desc
theme = diplomacy
left_portrait = {
character = scope:acolyte_host
animation = personality_bold
}
right_portrait = {
character = scope:acolyte_at_council
animation = personality_bold
}
override_background = { reference = temple_scope }
trigger = { is_imprisoned = no }
on_trigger_fail = {
# Progress the chain.
save_scope_value_as = {
name = defaulted_on_conclave
value = yes
}
trigger_event = {
id = fp2_lyonese_monk.0841
months = 2
}
}
immediate = {
# Check to see if scope:acolyte around for the pictures.
## Clear the old scope if applicable.
if = {
limit = { exists = scope:acolyte_at_council }
clear_saved_scope = acolyte_at_council
}
## Now try to refresh it.
scope:acolyte = {
if = {
limit = { is_physically_able = yes }
save_scope_as = acolyte_at_council
}
}
}
# Elipandic: the situation is nuanced...
option = {
name = fp2_lyonese_monk.0811.a
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0811_elipandic_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0811.a.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0811.a.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0811_elipandic_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0811.a.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0811.a.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0811_felicitous_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0811_radical_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
stubborn = miniscule_stress_impact_loss
deceitful = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# Felician: it is no mark of shame to be chosen by HighGodName.
option = {
name = fp2_lyonese_monk.0811.b
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0811_felicitous_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0811.b.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0811.b.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0811_felicitous_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0811.b.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0811.b.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0811_elipandic_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0811_radical_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
deceitful = miniscule_stress_impact_loss
stubborn = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# Radical: once a man, never fully God.
option = {
name = fp2_lyonese_monk.0811.c
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0811_radical_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0811.c.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0811.c.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0811_radical_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0811.c.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0811.c.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0811_elipandic_school_effect = yes
}
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0811_felicitous_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
arrogant = miniscule_stress_impact_loss
stubborn = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# I have no opinion on this matter.
option = {
name = fp2_lyonese_monk.0811.d
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0811_elipandic_school_effect = yes
}
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0811_felicitous_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0811_radical_school_effect = yes
}
# We don't charge stress for the opt-outs, not least because their results are variable.
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 100
}
}
after = {
# Progress the conclave.
trigger_event = {
id = fp2_lyonese_monk.0821
months = 2
}
}
}
##################################################
# Council: Practicality vs. Principle
# by Ewan Cowhig Croft
# 0821 - 0830
##################################################
# Keep Religious Law.
scripted_effect fp2_lyonese_monk_0821_elipandic_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_elipandics
show_as_tooltip = {
faith:adoptionist = { add_doctrine = tenet_religious_legal_pronouncements }
}
}
# Gain Sanctioned False Conversions.
scripted_effect fp2_lyonese_monk_0821_felicitous_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_felicians
faith:adoptionist = {
remove_doctrine = tenet_religious_legal_pronouncements
add_doctrine = tenet_false_conversion_sanction
}
}
# Gain Pursuit of Power.
scripted_effect fp2_lyonese_monk_0821_radical_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_radicals
faith:adoptionist = {
remove_doctrine = tenet_religious_legal_pronouncements
add_doctrine = tenet_pursuit_of_power
}
}
# Clergy argue over the degree to which expedience is required.
fp2_lyonese_monk.0821 = {
type = character_event
title = fp2_lyonese_monk.0821.t
desc = fp2_lyonese_monk.0821.desc
theme = intrigue
left_portrait = {
character = scope:acolyte_host
animation = personality_cynical
}
right_portrait = {
character = scope:acolyte_at_council
animation = personality_honorable
}
override_background = { reference = temple_scope }
trigger = { is_imprisoned = no }
on_trigger_fail = {
# Progress the chain.
save_scope_value_as = {
name = defaulted_on_conclave
value = yes
}
trigger_event = {
id = fp2_lyonese_monk.0841
months = 2
}
}
immediate = {
# Check to see if scope:acolyte around for the pictures.
## Clear the old scope if applicable.
if = {
limit = { exists = scope:acolyte_at_council }
clear_saved_scope = acolyte_at_council
}
## Now try to refresh it.
scope:acolyte = {
if = {
limit = { is_physically_able = yes }
save_scope_as = acolyte_at_council
}
}
}
# Elipandic: accommodation with the rest of Christendom is vital.
option = {
name = fp2_lyonese_monk.0821.a
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0821_elipandic_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0821.a.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0821.a.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0821_elipandic_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0821.a.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0821.a.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0821_felicitous_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0821_radical_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
stubborn = miniscule_stress_impact_loss
deceitful = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# Felician: practicality is innately principled.
option = {
name = fp2_lyonese_monk.0821.b
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0821_felicitous_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0821.b.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0821.b.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0821_felicitous_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0821.b.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0821.b.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0821_elipandic_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0821_radical_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
deceitful = miniscule_stress_impact_loss
stubborn = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# Radical: hidden faith is faith without fire!
option = {
name = fp2_lyonese_monk.0821.c
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0821_radical_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0821.c.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0821.c.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0821_radical_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0821.c.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0821.c.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0821_elipandic_school_effect = yes
}
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0821_felicitous_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
arrogant = miniscule_stress_impact_loss
stubborn = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# This seems circumstantial.
option = {
name = fp2_lyonese_monk.0821.d
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0821_elipandic_school_effect = yes
}
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0821_felicitous_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0821_radical_school_effect = yes
}
# We don't charge stress for the opt-outs, not least because their results are variable.
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 100
}
}
after = {
# Progress the conclave.
trigger_event = {
id = fp2_lyonese_monk.0831
months = 2
}
}
}
##################################################
# Council: One God
# by Ewan Cowhig Croft
# 0831 - 0840
##################################################
# Follow the Elipandic school.
scripted_effect fp2_lyonese_monk_0831_elipandic_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_elipandics
faith:adoptionist = { add_doctrine = special_doctrine_adoptionist_school_elipandic_doctrine }
}
# Follow the Felicitous school.
scripted_effect fp2_lyonese_monk_0831_felicitous_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_felicians
faith:adoptionist = { add_doctrine = special_doctrine_adoptionist_school_felicitous_doctrine }
}
# Follow the Radical school.
scripted_effect fp2_lyonese_monk_0831_radical_school_effect = {
custom_tooltip = fp2_lyonese_monk.0000.tt.favour_radicals
faith:adoptionist = { add_doctrine = special_doctrine_adoptionist_school_radical_doctrine }
}
# Clergy argue over *how* monotheistic to be.
fp2_lyonese_monk.0831 = {
type = character_event
title = fp2_lyonese_monk.0831.t
desc = fp2_lyonese_monk.0831.desc
theme = martial
left_portrait = {
character = scope:acolyte_host
animation = personality_honorable
}
right_portrait = {
character = scope:acolyte_at_council
animation = chaplain
}
override_background = { reference = temple_scope }
trigger = { is_imprisoned = no }
on_trigger_fail = {
# Progress the chain.
save_scope_value_as = {
name = defaulted_on_conclave
value = yes
}
trigger_event = {
id = fp2_lyonese_monk.0841
months = 2
}
}
immediate = {
# Check to see if scope:acolyte around for the pictures.
## Clear the old scope if applicable.
if = {
limit = { exists = scope:acolyte_at_council }
clear_saved_scope = acolyte_at_council
}
## Now try to refresh it.
scope:acolyte = {
if = {
limit = { is_physically_able = yes }
save_scope_as = acolyte_at_council
}
}
}
# Elipandic: the Father, the Son, and the Holy Ghost are still one being.
option = {
name = fp2_lyonese_monk.0831.a
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0831_elipandic_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0831.a.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0831.a.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0831_elipandic_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0831.a.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0831.a.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0831_felicitous_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0831_radical_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
stubborn = miniscule_stress_impact_loss
deceitful = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# Felician: a separation between Father and Son does not diminish either.
option = {
name = fp2_lyonese_monk.0831.b
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0831_felicitous_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0831.b.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0831.b.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0831_felicitous_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0831.b.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0831.b.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0831_elipandic_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0831_radical_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
deceitful = miniscule_stress_impact_loss
stubborn = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# Radical: the primacy of the Father is immutable.
option = {
name = fp2_lyonese_monk.0831.c
trigger = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety >= fp2_lyonese_monk_conclave_cost_value
}
}
show_as_unavailable = {
# Piety path costing.
trigger_if = {
limit = { scope:conclave_engagement = flag:piety }
piety < fp2_lyonese_monk_conclave_cost_value
}
}
# Piety path.
if = {
limit = { scope:conclave_engagement = flag:piety }
# Pay the piety tax.
add_piety = {
value = fp2_lyonese_monk_conclave_cost_value
multiply = -1
}
# Get your results.
fp2_lyonese_monk_0831_radical_school_effect = yes
}
# Debate path.
if = {
limit = { scope:conclave_engagement = flag:debate }
duel = {
skill = learning
value = high_skill_rating
# You sway the priests.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_lyonese_monk.0831.c.tt.success
send_interface_toast = {
title = fp2_lyonese_monk.0831.c.tt.success
left_icon = scope:council_1_venue
fp2_lyonese_monk_0831_radical_school_effect = yes
}
}
# The clergy ignore you.
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_lyonese_monk.0831.c.tt.failure
send_interface_toast = {
title = fp2_lyonese_monk.0831.c.tt.failure
left_icon = scope:council_1_venue
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0831_elipandic_school_effect = yes
}
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0831_felicitous_school_effect = yes
}
}
}
}
}
# Stress impacts here based on the virtues lionised by each school.
stress_impact = {
arrogant = miniscule_stress_impact_loss
stubborn = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
}
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 0
}
}
# Have we shattered on dogma already?
option = {
name = fp2_lyonese_monk.0831.d
# We take scope:acolyte's preference.
## Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
fp2_lyonese_monk_0831_elipandic_school_effect = yes
}
## Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
fp2_lyonese_monk_0831_felicitous_school_effect = yes
}
## Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
fp2_lyonese_monk_0831_radical_school_effect = yes
}
# We don't charge stress for the opt-outs, not least because their results are variable.
ai_chance = {
# The AI should just let the scope:acolyte pick.
base = 100
}
}
after = {
# Progress the conclave.
trigger_event = {
id = fp2_lyonese_monk.0841
months = 2
}
}
}
##################################################
# From the Ashes
# by Ewan Cowhig Croft
# 0841 - 0850
##################################################
# The church council arrives at their final important doctrinal conclusions.
fp2_lyonese_monk.0841 = {
type = character_event
title = fp2_lyonese_monk.0841.t
desc = {
desc = fp2_lyonese_monk.0841.desc.intro
# Pluralism.
first_valid = {
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = doctrine_pluralism_pluralistic }
}
desc = fp2_lyonese_monk.0841.desc.pluralist
}
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = doctrine_pluralism_righteous }
}
desc = fp2_lyonese_monk.0841.desc.righteous
}
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = doctrine_pluralism_fundamentalist }
}
desc = fp2_lyonese_monk.0841.desc.fundamentalist
}
}
# Tenets.
first_valid = {
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = tenet_false_conversion_sanction }
}
desc = fp2_lyonese_monk.0841.desc.sanctioned_false_conversions
}
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = tenet_religious_legal_pronouncements }
}
desc = fp2_lyonese_monk.0841.desc.religious_law
}
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = tenet_pursuit_of_power }
}
desc = fp2_lyonese_monk.0841.desc.pursuit_of_power
}
}
# School.
first_valid = {
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = special_doctrine_adoptionist_school_felicitous_doctrine }
}
desc = fp2_lyonese_monk.0841.desc.felicitous
}
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = special_doctrine_adoptionist_school_elipandic_doctrine }
}
desc = fp2_lyonese_monk.0841.desc.elipandic
}
triggered_desc = {
trigger = {
faith:adoptionist = { has_doctrine = special_doctrine_adoptionist_school_radical_doctrine }
}
desc = fp2_lyonese_monk.0841.desc.radical
}
}
# Outro.
desc = fp2_lyonese_monk.0841.desc.outro
}
theme = faith
left_portrait = {
character = scope:acolyte_host
animation = personality_bold
}
right_portrait = {
character = scope:acolyte_at_council
animation = chancellor
}
override_background = { reference = temple_scope }
immediate = {
# Music!
## Elipandics won out.
if = {
limit = {
faith = { has_doctrine = special_doctrine_adoptionist_school_elipandic_doctrine }
}
play_music_cue = "mx_cue_sacredrite"
}
## Felicians won out.
if = {
limit = {
faith = { has_doctrine = special_doctrine_adoptionist_school_felicitous_doctrine }
}
play_music_cue = "mx_cue_murder"
}
## Radicals won out.
if = {
limit = {
faith = { has_doctrine = special_doctrine_adoptionist_school_radical_doctrine }
}
play_music_cue = "mx_cue_war_declared"
}
# Now let's display our choices.
faith:adoptionist = {
# If we defaulted, then we need to work these out.
if = {
limit = { exists = scope:defaulted_on_conclave }
# Elipandics.
if = {
limit = { scope:acolyte_stance = flag:school_elipandic }
# The one we've already got.
show_as_tooltip = { add_doctrine = tenet_religious_legal_pronouncements }
# And the two we can genuinely add.
add_doctrine = doctrine_pluralism_righteous
add_doctrine = special_doctrine_adoptionist_school_elipandic_doctrine
}
# Felicians.
if = {
limit = { scope:acolyte_stance = flag:school_felicitous }
# Remove some inappropriate ones.
hidden_effect = { remove_doctrine = doctrine_pluralism_fundamentalist }
remove_doctrine = tenet_religious_legal_pronouncements
# Add our new ones.
add_doctrine = doctrine_pluralism_pluralistic
add_doctrine = tenet_false_conversion_sanction
add_doctrine = special_doctrine_adoptionist_school_felicitous_doctrine
}
# Radicals.
if = {
limit = { scope:acolyte_stance = flag:school_radical }
# Remove the inappropriate ones.
remove_doctrine = tenet_religious_legal_pronouncements
# Add our new ones.
show_as_tooltip = { add_doctrine = doctrine_pluralism_fundamentalist }
# Add our new ones.
add_doctrine = tenet_pursuit_of_power
add_doctrine = special_doctrine_adoptionist_school_radical_doctrine
}
}
# Otherwise, we can use a tooltip.
else = {
show_as_tooltip = {
# Pluralism.
## Elipandics -
if = {
limit = { has_doctrine = doctrine_pluralism_fundamentalist }
add_doctrine = doctrine_pluralism_fundamentalist
}
## Felicians -
if = {
limit = { has_doctrine = doctrine_pluralism_pluralistic }
add_doctrine = doctrine_pluralism_pluralistic
}
## Radicals -
if = {
limit = { has_doctrine = doctrine_pluralism_righteous }
add_doctrine = doctrine_pluralism_righteous
}
# Tenets.
## Elipandics -
if = {
limit = { has_doctrine = tenet_religious_legal_pronouncements }
add_doctrine = tenet_religious_legal_pronouncements
}
## Felicians -
if = {
limit = { has_doctrine = tenet_false_conversion_sanction }
add_doctrine = tenet_false_conversion_sanction
}
## Radicals -
if = {
limit = { has_doctrine = tenet_pursuit_of_power }
add_doctrine = tenet_pursuit_of_power
}
# School.
## Elipandics -
if = {
limit = { has_doctrine = special_doctrine_adoptionist_school_elipandic_doctrine }
add_doctrine = special_doctrine_adoptionist_school_elipandic_doctrine
}
## Felicians -
if = {
limit = { has_doctrine = special_doctrine_adoptionist_school_felicitous_doctrine }
add_doctrine = special_doctrine_adoptionist_school_felicitous_doctrine
}
## Radicals -
if = {
limit = { has_doctrine = special_doctrine_adoptionist_school_radical_doctrine }
add_doctrine = special_doctrine_adoptionist_school_radical_doctrine
}
}
}
}
# And try to create a HoF.
## Assuming you've not shenaniganed, this should generally grab scope:acolyte.
if = {
limit = { scope:acolyte_host.highest_held_title_tier >= tier_kingdom }
set_up_dynamic_spiritual_hof_title_effect = { CREATOR = scope:acolyte_host }
}
}
# Elipandic: let them call us heretics. We simply have nuance they lack.
option = {
name = fp2_lyonese_monk.0841.a
trigger = {
faith:adoptionist = { has_doctrine = special_doctrine_adoptionist_school_elipandic_doctrine }
}
# You choose piety.
add_piety = major_piety_gain
# No stress impact for choosing a flavour option.
ai_chance = {
# Any option is as good as any other here.
base = 100
}
}
# Felician: our words are sensible, our actions likewise.
option = {
name = fp2_lyonese_monk.0841.b
trigger = {
faith:adoptionist = { has_doctrine = special_doctrine_adoptionist_school_felicitous_doctrine }
}
# You choose piety.
add_piety = major_piety_gain
# No stress impact for choosing a flavour option.
ai_chance = {
# Any option is as good as any other here.
base = 100
}
}
# Radical: see these false Christians and their polytheism laid bare!
option = {
name = fp2_lyonese_monk.0841.c
trigger = {
faith:adoptionist = { has_doctrine = special_doctrine_adoptionist_school_radical_doctrine }
}
# You choose piety.
add_piety = major_piety_gain
# No stress impact for choosing a flavour option.
ai_chance = {
# Any option is as good as any other here.
base = 100
}
}
# I only hope we've made the right choice.
option = {
name = fp2_lyonese_monk.0841.d
# You choose prestige.
add_prestige = medium_prestige_gain
# No stress impact for choosing a flavour option.
ai_chance = {
# Any option is as good as any other here.
base = 100
}
}
after = {
# Clean up the story.
scope:story = { end_story = yes }
}
}