N3OW/events/lifestyles/scholarship_lifestyle/learning_scholarship_events.txt
2026-01-06 14:25:21 +01:00

4559 lines
98 KiB
Text

namespace = learning_scholarship
namespace = learning_scholarship_special
##################################################
# Learning Scholarship Lifestyle events
# 1101 - Learn to Read
# 1201 - Automaton
# 1401 - Reading Stone
# 3001 - Brass Orb Experiments
# 4000 - Dear God, go outside
# 5000-5007 - Bibliomancy
# 6000 - The Man of Few Letters
#Special Learning Scholarship Lifestyle events
# 2001 - Translate Great Work
# 3001 - Lead to Gold
##################################################
##################################################
# Learn to read
# by Linnéa Thimrén
##################################################
learning_scholarship.1101 = {
type = character_event
title = learning_scholarship.1101.t
desc = learning_scholarship.1101.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:bishop
animation = happy_teacher
}
trigger = {
NOT = {
has_character_flag = had_event_learning_scholarship_1101
}
learning < mediocre_skill_rating #triggers if you need a boost
OR = {
AND = {
exists = cp:councillor_court_chaplain
cp:councillor_court_chaplain = {
is_ai = yes
}
}
AND = {
has_government = landless_adventurer_government
any_court_position_holder = {
learning > high_skill_rating
}
}
}
}
weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = learning_scholarship_focus }
}
immediate = {
add_character_flag = {
flag = had_event_learning_scholarship_1101
years = 5
}
if = {
limit = {
exists = cp:councillor_court_chaplain
}
cp:councillor_court_chaplain = {
save_scope_as = bishop
}
}
else = {
random_court_position_holder = {
limit = {
learning > high_skill_rating
}
save_scope_as = bishop
}
}
}
option = { #Accept help
name = learning_scholarship.1101.a
add_learning_skill = 1
add_stress = minor_stress_gain
add_learning_lifestyle_xp = miniscule_lifestyle_xp
if = {
limit = {
exists = scope:bishop
}
add_opinion = {
target = scope:bishop
modifier = grateful_opinion
opinion = 20
}
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_compassion = 0.5
ai_rationality = 0.25
}
}
}
option = { #nah
name = learning_scholarship.1101.b
add_prestige = medium_prestige_gain
add_stress = minor_stress_loss
ai_chance = {
base = 25
modifier = {
add = 25
has_trait = arrogant
}
}
}
}
##################################################
# Automaton
# by Linnéa Thimrén & Mathilda Bjarnehed
##################################################
scripted_trigger learning_scholarship_1201_friendly_ruler_trigger = {
is_adult = yes
basic_is_available_ai = yes
NOR = {
is_at_war_with = root
government_has_flag = government_is_tribal
}
is_landed = yes
exists = capital_province
capital_province.culture = { has_innovation = innovation_guilds } #Highly Advanced mechanical bird should not come from an underdeveloped tribe.
OR = {
highest_held_title_tier >= tier_kingdom
AND = {
learning >= high_skill_rating
highest_held_title_tier >= tier_duchy
}
}
opinion = {
target = root
value >= neutral_opinion
}
}
learning_scholarship.1201 = {
type = character_event
title = learning_scholarship.1201.t
desc = learning_scholarship.1201.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = interested_left
}
right_portrait = {
character = scope:bird_sender
animation = happiness
}
trigger = {
NOT = {
has_character_flag = had_event_learning_scholarship_1201
}
OR = {
AND = {
top_liege = this
any_neighboring_and_across_water_top_liege_realm_owner = {
learning_scholarship_1201_friendly_ruler_trigger = yes
}
}
any_vassal = {
learning_scholarship_1201_friendly_ruler_trigger = yes
}
AND = {
exists = liege
liege != root
liege = { learning_scholarship_1201_friendly_ruler_trigger = yes }
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
top_liege = this
any_neighboring_and_across_water_top_liege_realm_owner = {
learning_scholarship_1201_friendly_ruler_trigger = yes
opinion = {
target = root
value >= medium_positive_opinion
}
}
}
upweight_for_focus_modifier = { FOCUS = learning_scholarship_focus }
}
immediate = {
add_character_flag = {
flag = had_event_learning_scholarship_1201
years = 5
}
#Pick someone who sent the bird
if = {
limit = {
top_liege = this
}
every_neighboring_and_across_water_top_liege_realm_owner = {
limit = { learning_scholarship_1201_friendly_ruler_trigger = yes }
add_to_list = bird_senders
}
}
every_vassal = {
limit = { learning_scholarship_1201_friendly_ruler_trigger = yes }
add_to_list = bird_senders
}
if = {
limit = {
exists = liege
liege != root
liege = { learning_scholarship_1201_friendly_ruler_trigger = yes }
}
liege = { add_to_list = bird_senders }
}
random_in_list = {
list = bird_senders
weight = {
base = 0
opinion_modifier = {
opinion_target = root
}
}
save_scope_as = bird_sender
}
}
option = { #have it sing in your halls
name = learning_scholarship.1201.b
add_character_modifier = {
modifier = scholarship_bird_automaton_modifier
years = 15
}
reverse_add_opinion = {
target = scope:bird_sender
modifier = pleased_opinion
opinion = 20
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_greed = 0.5
ai_energy = 0.25
}
}
}
option = { #sell
name = learning_scholarship.1201.a
add_gold = medium_gold_value
reverse_add_opinion = {
target = scope:bird_sender
modifier = angry_opinion
opinion = -20
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_greed = 0.75
}
}
}
option = { #take apart and study!
name = learning_scholarship.1201.c
add_character_modifier = {
modifier = scholarship_bird_dissection_modifier
years = 15
}
add_learning_lifestyle_xp = medium_lifestyle_xp
random_list = {
20 = { #They like your inquisitiveness
modifier = {
#At decent learning, x6 (60% chance)
#At high learning, x15 (~80% chance)
scope:bird_sender.learning >= medium_skill_rating
factor = {
value = scope:bird_sender.learning
subtract = medium_skill_rating
multiply = 3
}
}
show_chance = no
desc = learning_scholarship.1201.c.success
send_interface_toast = {
left_icon = scope:bird_sender
title = learning_scholarship.1201.c.success
reverse_add_opinion = {
target = scope:bird_sender
modifier = respect_opinion
opinion = 20
}
}
hidden_effect = {
progress_towards_friend_effect = {
CHARACTER = scope:bird_sender
OPINION = 0
REASON = friend_curiosity_mech_bird
}
}
}
80 = { #They are offended
desc = learning_scholarship.1201.c.failure
show_chance = no
send_interface_toast = {
left_icon = scope:bird_sender
title = learning_scholarship.1201.c.failure
reverse_add_opinion = {
target = scope:bird_sender
modifier = angry_opinion
opinion = -20
}
}
}
}
ai_chance = {
base = 100
}
}
}
##################################################
# Acquire a reading stone
# by Linnéa Thimrén
##################################################
learning_scholarship.1401 = {
type = character_event
title = learning_scholarship.1401.t
desc = learning_scholarship.1401.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = reading
}
right_portrait = {
character = scope:bishop
animation = interested
}
trigger = {
NOR = {
has_character_flag = had_event_learning_scholarship_1401
has_trait = blind
}
OR = {
is_ai = no
short_term_gold >= minor_gold_value
}
}
weight_multiplier = {
base = 0.25
modifier = {
# Becomes increasingly common as characters get older.
# Additional 1.75 weight at 35 years of age (x2 as likely as normal event)
# Average age for people needing reading glasses is 40-45 in real life.
add = {
value = age
multiply = 0.05
}
}
upweight_for_focus_modifier = { FOCUS = learning_scholarship_focus }
}
immediate = {
add_character_flag = {
flag = had_event_learning_scholarship_1401
years = 10
}
if = {
limit = {
exists = cp:councillor_court_chaplain
cp:councillor_court_chaplain = {
NOT = {
has_hook_of_type = {
target = root
type = favor_hook
}
}
}
}
cp:councillor_court_chaplain = {
save_scope_as = bishop
}
}
}
option = { #Ask Chaplain for help
name = learning_scholarship.1401.c
trigger = {
exists = scope:bishop
}
add_learning_lifestyle_xp = major_lifestyle_xp
scope:bishop = {
if = {
limit = {
can_add_hook = {
target = root
type = favor_hook
}
}
add_hook = {
target = root
type = favor_hook
}
}
}
ai_chance = {
base = 75
}
}
option = { #Get a reading stone
name = learning_scholarship.1401.a
remove_short_term_gold = medium_gold_value
add_learning_lifestyle_xp = major_lifestyle_xp
if = {
limit = {
NOT = { government_has_flag = government_is_nomadic }
}
add_character_flag = has_reading_glasses
}
ai_chance = {
base = 5
}
}
option = { #Sell all writing that's too small
name = learning_scholarship.1401.b
add_gold = medium_gold_value
add_stress = minor_stress_loss
ai_chance = {
base = 25
ai_value_modifier = {
ai_greed = 0.75
}
}
}
}
##################################################
# Scientific Experiments
# by Petter Vilberg
##################################################
#Brass orbs and candles
learning_scholarship.3001 = {
type = character_event
title = learning_scholarship.3001.t
desc = learning_scholarship.3001.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = manic
}
right_portrait = {
character = scope:chaplain
animation = worry
}
trigger = {
NOT = { has_character_flag = had_event_learning_scholarship_3001 }
religion_has_angels_trigger = yes
OR = {
exists = cp:councillor_court_chaplain
AND = {
has_government = landless_adventurer_government
any_court_position_holder = {
learning > high_skill_rating
}
}
}
}
weight_multiplier = {
base = 1
downweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}
immediate = {
add_character_flag = {
flag = had_event_learning_scholarship_3001
years = 5
}
if = {
limit = {
exists = cp:councillor_court_chaplain
}
cp:councillor_court_chaplain = {
save_scope_as = chaplain
}
}
else = {
random_court_position_holder = {
limit = {
learning > high_skill_rating
}
save_scope_as = chaplain
}
}
}
option = {
name = learning_scholarship.3001.c
duel = {
skill = learning
target = scope:chaplain
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
min = -14
}
desc = learning_scholarship.3001.c.tt1
send_interface_toast = {
title = learning_scholarship.3001.c.toast.tt1
add_learning_lifestyle_xp = medium_lifestyle_xp
}
}
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
min = -14
}
desc = learning_scholarship.3001.c.tt2
send_interface_toast = {
title = learning_scholarship.3001.c.toast.tt2
scope:chaplain = {
add_opinion = {
target = root
modifier = impious_opinion
opinion = -5
}
}
}
}
}
}
option = {
name = learning_scholarship.3001.a
add_learning_lifestyle_xp = minor_lifestyle_xp
scope:chaplain = {
add_opinion = {
target = root
modifier = impious_opinion
opinion = -25
}
}
cynical_progression_effect = yes
}
option = {
name = learning_scholarship.3001.b
add_learning_lifestyle_xp = miniscule_lifestyle_xp
scope:chaplain = {
add_opinion = {
target = root
modifier = pious_opinion
opinion = 20
}
}
zealous_progression_effect = yes
}
}
################################################################################################################################
################################################################################################################################
##################################################
# Translate a Great Work
# by Petter Vilberg
##################################################
learning_scholarship_special.2001 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2001.desc
left_portrait = {
character = root
animation = page_flipping
}
theme = learning_scholarship_focus
trigger = {
is_ai = no #Limit the amount of story cycles for AI
OR = {
has_focus = learning_scholarship_focus
has_focus = learning_adventurer_focus
has_realm_law = camp_purpose_scholars
}
NOT = { has_character_flag = had_learning_scholarship_special_2001_this_lifetime }
NOT = { has_character_flag = had_book_translation_story }
any_courtier = { #Requires a scribe
count >= 1
}
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = is_in_learning_special_event
days = 365
}
add_character_flag = had_learning_scholarship_special_2001_this_lifetime
pick_translation_book_effect = {
OPTION = option_1
}
pick_translation_book_effect = {
OPTION = option_2
}
}
option = {
name = learning_scholarship_special.2001.regula_pastoralis
trigger = {
OR = {
scope:option_1 = flag:regula_pastoralis
scope:option_2 = flag:regula_pastoralis
}
}
set_up_translation_story_effect = {
BOOK = regula_pastoralis
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.physica_elementa
trigger = {
OR = {
scope:option_1 = flag:physica_elementa
scope:option_2 = flag:physica_elementa
}
}
set_up_translation_story_effect = {
BOOK = physica_elementa
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.almagest
trigger = {
OR = {
scope:option_1 = flag:almagest
scope:option_2 = flag:almagest
}
}
set_up_translation_story_effect = {
BOOK = almagest
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.elements
trigger = {
OR = {
scope:option_1 = flag:elements
scope:option_2 = flag:elements
}
}
set_up_translation_story_effect = {
BOOK = elements
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.corpus_hermeticus
trigger = {
OR = {
scope:option_1 = flag:corpus_hermeticus
scope:option_2 = flag:corpus_hermeticus
}
}
set_up_translation_story_effect = {
BOOK = corpus_hermeticus
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.treatises_of_hippocrates
trigger = {
OR = {
scope:option_1 = flag:treatises_of_hippocrates
scope:option_2 = flag:treatises_of_hippocrates
}
}
set_up_translation_story_effect = {
BOOK = treatises_of_hippocrates
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.peri_psyches
trigger = {
OR = {
scope:option_1 = flag:peri_psyches
scope:option_2 = flag:peri_psyches
}
}
set_up_translation_story_effect = {
BOOK = peri_psyches
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.kategoriai
trigger = {
OR = {
scope:option_1 = flag:kategoriai
scope:option_2 = flag:kategoriai
}
}
set_up_translation_story_effect = {
BOOK = kategoriai
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.avesta
trigger = {
OR = {
scope:option_1 = flag:avesta
scope:option_2 = flag:avesta
}
}
set_up_translation_story_effect = {
BOOK = avesta
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.de_oratore
trigger = {
OR = {
scope:option_1 = flag:de_oratore
scope:option_2 = flag:de_oratore
}
}
set_up_translation_story_effect = {
BOOK = de_oratore
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.book_of_arda_viraf
trigger = {
OR = {
scope:option_1 = flag:book_of_arda_viraf
scope:option_2 = flag:book_of_arda_viraf
}
}
set_up_translation_story_effect = {
BOOK = book_of_arda_viraf
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.upanishads
trigger = {
OR = {
scope:option_1 = flag:upanishads
scope:option_2 = flag:upanishads
}
}
set_up_translation_story_effect = {
BOOK = upanishads
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.rigveda
trigger = {
OR = {
scope:option_1 = flag:rigveda
scope:option_2 = flag:rigveda
}
}
set_up_translation_story_effect = {
BOOK = rigveda
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.book_of_balances
trigger = {
OR = {
scope:option_1 = flag:book_of_balances
scope:option_2 = flag:book_of_balances
}
}
set_up_translation_story_effect = {
BOOK = book_of_balances
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.secret_of_secrets
trigger = {
OR = {
scope:option_1 = flag:secret_of_secrets
scope:option_2 = flag:secret_of_secrets
}
}
set_up_translation_story_effect = {
BOOK = secret_of_secrets
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.court_of_agriculture
trigger = {
OR = {
scope:option_1 = flag:court_of_agriculture
scope:option_2 = flag:court_of_agriculture
}
}
set_up_translation_story_effect = {
BOOK = court_of_agriculture
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.lanterns_of_wisdom
trigger = {
OR = {
scope:option_1 = flag:lanterns_of_wisdom
scope:option_2 = flag:lanterns_of_wisdom
}
}
set_up_translation_story_effect = {
BOOK = lanterns_of_wisdom
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.shahnameh
trigger = {
OR = {
scope:option_1 = flag:shahnameh
scope:option_2 = flag:shahnameh
}
}
set_up_translation_story_effect = {
BOOK = shahnameh
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.arithmetica
trigger = {
OR = {
scope:option_1 = flag:arithmetica
scope:option_2 = flag:arithmetica
}
}
set_up_translation_story_effect = {
BOOK = arithmetica
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.pali_canon
trigger = {
OR = {
scope:option_1 = flag:pali_canon
scope:option_2 = flag:pali_canon
}
}
set_up_translation_story_effect = {
BOOK = pali_canon
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.the_norse_sagas
trigger = {
OR = {
scope:option_1 = flag:the_norse_sagas
scope:option_2 = flag:the_norse_sagas
}
}
set_up_translation_story_effect = {
BOOK = the_norse_sagas
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.family_history
trigger = {
OR = {
scope:option_1 = flag:family_history
scope:option_2 = flag:family_history
}
}
set_up_translation_story_effect = {
BOOK = family_history
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.ancient_myths
trigger = {
OR = {
scope:option_1 = flag:ancient_myths
scope:option_2 = flag:ancient_myths
}
}
set_up_translation_story_effect = {
BOOK = ancient_myths
}
custom_tooltip = learning_lifestyle_rank_up_indication
}
option = {
name = learning_scholarship_special.2001.decline
stress_impact = {
base = minor_stress_loss
}
remove_character_flag = is_in_learning_special_event
}
}
#Confusing passage
learning_scholarship_special.2011 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2011.desc
left_portrait = {
character = root
animation = stressed_teacher
}
theme = learning_scholarship_focus
trigger = {
NOR = {
exists = scope:story.var:had_learning_scholarship_special_2011
is_imprisoned = yes
has_trait = incapable
}
}
immediate = {
scope:story = {
set_variable = {
name = had_learning_scholarship_special_2011
value = yes
}
}
}
option = { #My interpretation is better
name = learning_scholarship_special.2011.a
duel = {
skill = learning
value = average_skill_rating
20 = {
desc = learning_scholarship_special.2011.a.success
compare_modifier = {
value = scope:duel_value
}
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
send_interface_toast = {
title = book_translation_toast.more_good
left_icon = root
add_prestige = medium_prestige_gain
}
}
20 = {
desc = learning_scholarship_special.2011.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
custom_tooltip = book_translation_tooltip.unchanged
send_interface_toast = {
title = book_translation_toast.unchanged
left_icon = root
add_prestige = minor_prestige_gain
}
}
}
cynical_progression_effect = yes
}
option = { #Let's stay true to the text
name = learning_scholarship_special.2011.b
add_piety = medium_piety_gain
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
zealous_progression_effect = yes
}
option = { #Oh, the meaning is obvious
name = learning_scholarship_special.2011.c
trigger = {
has_trait = scholar
}
trait = scholar
add_prestige = minor_prestige_gain
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
}
option = { #Oh, the meaning is obvious
name = learning_scholarship_special.2011.c
trigger = {
NOT = { has_trait = scholar }
learning >= very_high_skill_rating
}
skill = learning
add_prestige = minor_prestige_gain
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
}
}
#Realm Priest offers help
learning_scholarship_special.2012 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2012.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = reading
}
right_portrait = {
character = scope:realm_priest
animation = happy_teacher
}
trigger = {
OR = {
AND = {
exists = cp:councillor_court_chaplain
cp:councillor_court_chaplain = {
is_ai = yes
}
}
employs_court_position = camp_priest_camp_officer
}
NOR = {
exists = scope:story.var:had_learning_scholarship_special_2012
is_imprisoned = yes
has_trait = incapable
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
cp:councillor_court_chaplain = {
opinion = {
target = root
value < 30
}
}
}
}
immediate = {
scope:story = {
set_variable = {
name = had_learning_scholarship_special_2012
value = yes
}
}
cp:councillor_court_chaplain ?= {
save_scope_as = realm_priest
}
if = {
limit = {
NOT = { exists = scope:realm_priest }
}
random_court_position_holder = {
type = camp_priest_camp_officer
save_scope_as = realm_priest
}
}
}
option = {
name = learning_scholarship_special.2012.a
scope:realm_priest = {
duel = {
skill = learning
value = average_skill_rating
20 = {
desc = learning_scholarship_special.2012.a.success
compare_modifier = {
value = scope:duel_value
}
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
send_interface_toast = {
title = book_translation_toast.more_good
left_icon = scope:realm_priest
add_learning_lifestyle_xp = minor_lifestyle_xp
}
}
20 = {
desc = learning_scholarship_special.2012.a.failure
compare_modifier = {
value = scope:duel_value
}
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
send_interface_toast = {
title = book_translation_toast.less_good
left_icon = scope:realm_priest
}
}
}
}
}
option = {
name = learning_scholarship_special.2012.b
scope:realm_priest = {
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 30
}
}
add_prestige = minor_prestige_loss
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
}
option = {
name = learning_scholarship_special.2012.c
trigger = {
has_relation_friend = scope:realm_priest
}
custom_tooltip = learning_scholarship_special.2012.c.friendship_tooltip
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
scope:realm_priest = {
add_opinion = {
target = root
modifier = friendliness_opinion
opinion = low_positive_opinion
}
}
}
}
#Sudden Insight
learning_scholarship_special.2013 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2013.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = happy_teacher
}
trigger = {
NOR = {
exists = scope:story.var:had_learning_scholarship_special_translation_quality_event
is_imprisoned = yes
has_trait = incapable
}
}
immediate = {
scope:story = {
set_variable = {
name = had_learning_scholarship_special_translation_quality_event
value = yes
}
}
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
add_learning_lifestyle_xp = minor_lifestyle_xp
}
option = { #Unlike ReligiousText...
name = learning_scholarship_special.2013.a
cynical_progression_effect = yes
add_prestige = medium_prestige_gain
}
option = { #As evident from the will of HighGod...
name = learning_scholarship_special.2013.b
zealous_progression_effect = yes
add_piety = medium_piety_gain
}
}
#The Book is Boring
learning_scholarship_special.2014 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2014.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = eyeroll
}
trigger = {
NOR = {
exists = scope:story.var:had_learning_scholarship_special_translation_quality_event
is_imprisoned = yes
has_trait = incapable
}
}
immediate = {
scope:story = {
set_variable = {
name = had_learning_scholarship_special_translation_quality_event
value = yes
}
}
}
option = { #I'll still get it done!
name = learning_scholarship_special.2014.a
add_stress = medium_stress_gain
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
}
option = { #My scribes can work overtime
name = learning_scholarship_special.2014.b
remove_short_term_gold = 2
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
}
option = { #Take a break
name = learning_scholarship_special.2014.c
add_stress = medium_stress_loss
custom_tooltip = book_translation_tooltip.unchanged
}
}
#Working long into the night
learning_scholarship_special.2015 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2015.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = page_flipping
}
right_portrait = {
character = scope:realm_priest
animation = worry
}
trigger = {
NOR = {
exists = scope:story.var:had_learning_scholarship_special_2015
is_imprisoned = yes
has_trait = incapable
}
}
immediate = {
scope:story = {
set_variable = {
name = had_learning_scholarship_special_2015
value = yes
}
}
}
option = { # Let's keep going
name = learning_scholarship_special.2015.a
# Note: This option is intentionally worse in almost all situations
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
speed_up_translation_effect = yes
add_learning_lifestyle_xp = minor_lifestyle_xp
add_stress = minor_stress_gain
}
option = { # Get some rest
name = learning_scholarship_special.2015.b
add_learning_lifestyle_xp = miniscule_lifestyle_xp
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
}
option = { # Scribes can work while I sleep
name = learning_scholarship_special.2015.c
custom_tooltip = book_translation_tooltip.unchanged
add_stress = medium_stress_loss
}
}
# Scribe makes unapproved changes
learning_scholarship_special.2016 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2016.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = stressed_teacher
}
trigger = {
NOR = {
exists = scope:story.var:had_learning_scholarship_special_2016
is_imprisoned = yes
has_trait = incapable
}
}
immediate = {
scope:story = {
set_variable = {
name = had_learning_scholarship_special_2016
value = yes
}
}
}
option = { # Get out of here!
name = learning_scholarship_special.2016.a
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
add_prestige = minor_prestige_loss
}
option = { # The rest of you better learn from this
name = learning_scholarship_special.2016.b
flavor = learning_scholarship_special.2016.b.flavor
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
add_character_modifier = {
modifier = terrified_courtiers_modifier
years = 5
}
}
option = { # These are pretty good, actually
name = learning_scholarship_special.2016.c
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
speed_up_translation_effect = yes
}
}
# Tired from constant work
learning_scholarship_special.2017 = {
type = character_event
title = learning_scholarship_special.2001.t
desc = learning_scholarship_special.2017.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = sadness
}
trigger = {
NOR = {
exists = scope:story.var:had_learning_scholarship_special_2017
is_imprisoned = yes
has_trait = incapable
}
}
immediate = {
scope:story = {
set_variable = {
name = had_learning_scholarship_special_2017
value = yes
}
}
}
option = { # I can do a few more events- I mean pages, at least
name = learning_scholarship_special.2017.a
add_stress = medium_stress_gain
learning_scholarship_special_2011_significantly_improve_translation_effect = yes
}
option = { # I will seclude myself with prayer and focus
name = learning_scholarship_special.2017.b
add_prestige = medium_prestige_gain
learning_scholarship_special_2011_somewhat_improve_translation_effect = yes
}
option = { # I'd rather do something else
name = learning_scholarship_special.2017.c
add_stress = minor_stress_loss
custom_tooltip = book_translation_tooltip.unchanged
}
}
# Good outcome of the translation
learning_scholarship_special.2097 = {
type = character_event
title = learning_scholarship_special.2097.t
desc = {
desc = learning_scholarship_special.2097.opening
desc = learning_scholarship_special.2097.conclusion
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = happiness
}
option = {
name = learning_scholarship_special.2097.a
add_character_modifier = {
modifier = book_translation_excellent_modifier
years = 10
}
add_learning_lifestyle_perk_points = 1
}
after = {
remove_character_modifier = book_translation_ongoing_modifier
hidden_effect = {
scope:story = {
end_story = yes
}
}
}
}
# Bad outcome of the translation
learning_scholarship_special.2098 = {
type = character_event
title = learning_scholarship_special.2098.t
desc = {
desc = learning_scholarship_special.2098.opening
desc = learning_scholarship_special.2098.conclusion
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = happiness
}
option = {
name = learning_scholarship_special.2098.a
add_character_modifier = {
modifier = book_translation_mediocre_modifier
years = 10
}
add_learning_lifestyle_perk_points = 1
}
after = {
remove_character_modifier = book_translation_ongoing_modifier
hidden_effect = {
scope:story = {
end_story = yes
}
}
}
}
### Great Work Translation - END
##################################################
# Lead to Gold #
# by Sean Hughes and Linnéa Thimrén #
# 3001-3005 #
##################################################
# Could these scribbles in this book actually be useful information?
learning_scholarship_special.3001 = {
type = character_event
title = learning_scholarship_special.3001.t
desc = {
desc = learning_scholarship_special.3001.desc_opening
first_valid = {
triggered_desc = {
trigger = {
exists = scope:alchemist
}
desc = learning_scholarship_special.3001.desc_alchemist
}
desc = learning_scholarship_special.3001.desc
}
desc = learning_scholarship_special.3001.desc_ending
}
theme = learning_scholarship_focus
left_portrait = {
character = root
triggered_animation = {
trigger = { exists = scope:alchemist }
animation = eccentric
}
animation = page_flipping
}
right_portrait = {
trigger = { exists = scope:alchemist }
character = scope:alchemist
animation = page_flipping
}
trigger = {
OR = {
has_focus = learning_scholarship_focus
has_focus = learning_adventurer_focus
has_realm_law = camp_purpose_scholars
}
NOT = { has_character_flag = had_learning_scholarship_special_3001_this_lifetime }
}
weight_multiplier = {
base = 1
modifier = { # A bit more likely to trigger if we are currently sponsoring an alchemist
add = 0.25
any_sponsored_inspiration = {
has_inspiration_type = alchemy_inspiration
inspiration_owner = { is_available_ai_adult = yes }
}
}
modifier = { # A lot more likely to trigger if we are currently sponsoring an alchemist that's looking into gold
add = 4
any_sponsored_inspiration = {
has_inspiration_type = alchemy_inspiration
inspiration_owner = {
is_available_ai_adult = yes
exists = var:artifact_alchemy_type_metal_subtype
var:artifact_alchemy_type_metal_subtype = flag:gold
}
}
}
}
immediate = {
add_character_flag = {
flag = is_in_learning_special_event
days = 200
}
add_character_flag = had_learning_scholarship_special_3001_this_lifetime
# Let's save the alchemist we're sponsoring!
if = {
limit = {
any_sponsored_inspiration = {
has_inspiration_type = alchemy_inspiration
inspiration_owner = { is_available_ai_adult = yes }
}
}
random_sponsored_inspiration = {
limit = {
has_inspiration_type = alchemy_inspiration
inspiration_owner = { is_available_ai_adult = yes }
}
inspiration_owner = {
save_scope_as = alchemist
}
}
}
}
# Option A: Attempt the experiment!
option = {
name = learning_scholarship_special.3001.a
custom_tooltip = learning_lifestyle_rank_up_indication
trigger_event = {
id = learning_scholarship_special.3002
days = { 5 9 }
}
if = {
limit = {
faith = {
OR = {
NOT = { has_doctrine_parameter = witchcraft_accepted }
trait_is_sin = greedy
}
}
}
stress_impact = {
# Non-trusting characters find this notion to be absurd.
cynical = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
# If greed is a sin, this path is also stressful for zealous characters.
zealous = minor_stress_impact_gain
}
}
else = {
stress_impact = {
# Non-trusting characters find this notion to be absurd.
cynical = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
}
ai_chance = {
base = 33
ai_value_modifier = {
ai_greed = 500
ai_zeal = -200
ai_rationality = -100
}
}
}
# Option B: Cynical Opt-Out (it really is a silly idea, even if it technically works)
option = {
name = learning_scholarship_special.3001.b
add_character_modifier = {
modifier = logical_thinking_modifier
years = 5
}
cynical_progression_effect = yes
stress_impact = {
eccentric = medium_stress_impact_gain
greedy = medium_stress_impact_gain
ambitious = minor_stress_impact_gain
humble = minor_stress_impact_gain
}
ai_chance = {
base = 33
ai_value_modifier = {
ai_zeal = -100
ai_rationality = 200
}
}
}
# Option C-1: Zealous Opt-Out (requires Greedy to be a sin)
option = {
trigger = {
faith = {
trait_is_sin = greedy
}
}
name = learning_scholarship_special.3001.c
add_piety = medium_piety_gain
zealous_progression_effect = yes
stress_impact = {
eccentric = medium_stress_impact_gain
cynical = medium_stress_impact_gain
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 33
ai_value_modifier = {
ai_zeal = 200
}
}
}
# Option C-2: Zealous Opt-Out (requires Witchcraft to be shunned or criminal)
option = {
trigger = {
faith = {
NOR = {
has_doctrine_parameter = witchcraft_accepted
trait_is_sin = greedy
}
}
}
name = learning_scholarship_special.3001.d
add_piety = medium_piety_gain
zealous_progression_effect = yes
stress_impact = {
greedy = medium_stress_impact_gain
ambitious = minor_stress_impact_gain
}
ai_chance = {
base = 33
ai_value_modifier = {
ai_zeal = 200
}
}
}
}
# Okay, so how do we get our lead?
# scripted trigger to make sure the alchemist is still available (if we're using them)
scripted_trigger learning_scholarship_special_3001_alchemist_available_trigger = {
exists = scope:alchemist
scope:alchemist = {
is_alive = yes
is_available_ai_adult = yes
}
}
learning_scholarship_special.3002 = {
type = character_event
title = learning_scholarship_special.3001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:alchemist
}
desc = learning_scholarship_special.3002.desc_alchemist
}
desc = learning_scholarship_special.3002.desc
}
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = physician
}
right_portrait = {
trigger = { exists = scope:alchemist }
character = scope:alchemist
animation = page_flipping
}
trigger = {
NOR = {
is_imprisoned = yes
has_trait = incapable
}
}
on_trigger_fail = {
trigger_event = learning_scholarship_special.3099
}
immediate = {
if = { #If the alchemist is no longer around we clear them out
limit = {
learning_scholarship_special_3001_alchemist_available_trigger = no
}
clear_saved_scope = alchemist
}
}
# Option A: Buy it! The safer choice.
option = {
trigger = {
OR = {
is_ai = no
short_term_gold > medium_gold_value
}
}
name = learning_scholarship_special.3002.a
remove_short_term_gold = medium_gold_value
custom_tooltip = learning_scholarship_special.3002.tt
trigger_event = {
id = learning_scholarship_special.3003
days = { 11 17 }
}
stress_impact = {
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_greed = -200
ai_rationality = 200
}
}
}
# Option B: Make it ourselves! Risk of gaining long-term lead poisoning, but low-Learning characters will earn a base Learning increase.
option = {
name = {
trigger = { NOT = { exists = scope:alchemist } }
text = learning_scholarship_special.3002.b
}
name = {
trigger = { exists = scope:alchemist }
text = learning_scholarship_special.3002.b_alchemist
}
stress_impact = {
lazy = minor_stress_impact_gain
craven = minor_stress_impact_gain
}
if = {
limit = {
learning < high_skill_rating
}
add_learning_skill = 1
}
if = {
limit = {
exists = scope:alchemist
scope:alchemist = { learning < high_skill_rating }
}
scope:alchemist = { add_learning_skill = 1 }
}
# Since the learning skill might be different if they get +1, we don't/can't want to reveal the exact event outcomes & their probabilities to the player
show_as_tooltip = {
duel = {
skill = learning
value = 0
1 = {
desc = learning_scholarship_special.3002.a.success
show_chance = no
add_learning_lifestyle_xp = medium_lifestyle_xp
}
1 = {
desc = learning_scholarship_special.3002.a.failure
show_chance = no
add_character_modifier = {
modifier = chronic_headaches_modifier
years = 20
}
add_learning_lifestyle_xp = miniscule_lifestyle_xp
}
}
}
# Real dueal logic here
hidden_effect = {
duel = {
skill = learning
value = medium_skill_rating
50 = {
desc = learning_scholarship_special.3002.a.success
send_interface_toast = {
title = learning_scholarship_special.3002.a.success
left_icon = root
custom_tooltip = learning_scholarship_special.3002.tt
add_learning_lifestyle_xp = medium_lifestyle_xp
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -10
min = -49
}
desc = learning_scholarship_special.3002.a.failure
send_interface_toast = {
title = learning_scholarship_special.3002.a.failure
left_icon = root
add_character_modifier = {
modifier = chronic_headaches_modifier
years = 20
}
custom_tooltip = learning_scholarship_special.3002.tt
add_learning_lifestyle_xp = miniscule_lifestyle_xp
}
}
}
trigger_event = {
id = learning_scholarship_special.3003
days = { 7 11 }
}
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_energy = -100
ai_boldness = 100
ai_greed = 200
}
}
}
# Option C: On second thought maybe experimenting with lead is a bad idea?
option = {
name = learning_scholarship_special.3002.c
add_learning_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 0
}
}
}
# Lead obtained, now we need to get some seaweed...
learning_scholarship_special.3003 = {
type = character_event
title = learning_scholarship_special.3001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:alchemist
}
desc = learning_scholarship_special.3003.desc_alchemist
}
desc = learning_scholarship_special.3003.desc
}
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = physician
}
right_portrait = {
trigger = { exists = scope:alchemist }
character = scope:alchemist
animation = page_flipping
}
trigger = {
NOR = {
is_imprisoned = yes
has_trait = incapable
}
}
on_trigger_fail = {
trigger_event = learning_scholarship_special.3099
}
immediate = {
if = { #If the alchemist is no longer around we clear them out
limit = {
learning_scholarship_special_3001_alchemist_available_trigger = no
}
clear_saved_scope = alchemist
}
}
# Option A: Buy it! Again!
option = {
trigger = {
OR = {
is_ai = no
short_term_gold > medium_gold_value
}
}
name = learning_scholarship_special.3003.a
remove_short_term_gold = medium_gold_value
custom_tooltip = learning_scholarship_special.3003.tt
trigger_event = {
id = learning_scholarship_special.3004
days = { 11 17 }
}
stress_impact = {
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_greed = -200
ai_rationality = 100
}
}
}
# Option B: Demand it from your vassals. They will do it, but think you a bit daft...
option = {
name = learning_scholarship_special.3003.b
add_prestige = medium_prestige_loss
custom_tooltip = learning_scholarship_special.3003.tt
trigger_event = {
id = learning_scholarship_special.3004
days = { 21 28 }
}
stress_impact = {
humble = minor_stress_impact_gain
just = minor_stress_impact_gain
gregarious = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_boldness = 200
ai_rationality = -100
}
}
}
# Option C: Opt-Out. Just use the lead you acquired in the previous event to make sweetened wine.
option = {
name = learning_scholarship_special.3003.c
add_gold = minor_gold_value
add_prestige = minor_prestige_gain
add_learning_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
eccentric = minor_stress_impact_gain
}
ai_chance = {
base = 0
}
}
}
# Reagents obtained, time to experiment!
learning_scholarship_special.3004 = {
type = character_event
title = learning_scholarship_special.3001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:alchemist
}
desc = learning_scholarship_special.3004.desc_alchemist
}
desc = learning_scholarship_special.3004.desc
}
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = eccentric
}
right_portrait = {
trigger = { exists = scope:alchemist }
character = scope:alchemist
animation = interested
}
trigger = {
NOR = {
is_imprisoned = yes
has_trait = incapable
}
}
on_trigger_fail = {
trigger_event = learning_scholarship_special.3099
}
immediate = {
if = { #If the alchemist is no longer around we clear them out
limit = {
learning_scholarship_special_3001_alchemist_available_trigger = no
}
clear_saved_scope = alchemist
}
}
# Option A: Begin the experiment!
option = {
name = learning_scholarship_special.3004.a
# We don't want to reveal the exact event outcomes & their probabilities to the player, so we will show this fake duel to them instead.
show_as_tooltip = {
duel = {
skill = learning
value = 0
desc = outcome_in_a_few_days
1 = {
desc = learning_scholarship_special.3004.a.success
show_chance = no
custom_tooltip = learning_scholarship_special.3004.a.success.tt
add_learning_lifestyle_perk_points = 1
if = {
limit = { exists = scope:alchemist }
scope:alchemist = {
change_artifact_quality_effect = { AMOUNT = 2 }
}
}
}
1 = {
desc = learning_scholarship_special.3004.a.failure
show_chance = no
custom_tooltip = learning_scholarship_special.3004.a.failure.tt
add_learning_lifestyle_xp = minor_lifestyle_xp
}
}
}
# The real event outcome logic happens here.
hidden_effect = {
duel = {
skill = learning
value = medium_skill_rating
# Low chance of getting a critical success, growing to ~50% at 15 skill.
01 = {
compare_modifier = {
value = scope:duel_value
multiplier = 20
}
trigger_event = {
id = learning_scholarship_special.3005
days = { 3 5 }
}
}
# Above average chance of getting a success, which very slowly shrinks to ~45% at 15 skill.
59 = {
desc = learning_scholarship_special.3005.success
compare_modifier = {
value = scope:duel_value
multiplier = 5
}
trigger_event = {
id = learning_scholarship_special.3006
days = { 3 5 }
}
}
# Below average chance of failing, which rapidly shrinks to 0% at 18 skill.
40 = {
desc = learning_scholarship_special.3005.failure
compare_modifier = {
value = scope:duel_value
multiplier = -5
}
trigger_event = {
id = learning_scholarship_special.3007
days = { 3 5 }
}
}
}
}
ai_chance = {
base = 100
}
}
# Option B: Final chance for opt-out.
option = {
name = learning_scholarship_special.3004.b
add_learning_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = logical_thinking_modifier
years = 10
}
ai_chance = {
base = 0
}
}
}
# Critical Success! Knowledge, Wealth, Glory... all mine!
learning_scholarship_special.3005 = {
type = character_event
title = learning_scholarship_special.3001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:alchemist
}
desc = learning_scholarship_special.3005.desc_alchemist
}
desc = learning_scholarship_special.3005.desc
}
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = ecstasy
}
right_portrait = {
trigger = { exists = scope:alchemist }
character = scope:alchemist
animation = dancing
}
trigger = {
NOR = {
is_imprisoned = yes
has_trait = incapable
}
}
on_trigger_fail = {
trigger_event = learning_scholarship_special.3099
}
immediate = {
play_music_cue = "mx_cue_epic_sacral_moment"
if = { #If the alchemist is no longer around we clear them out
limit = {
learning_scholarship_special_3001_alchemist_available_trigger = no
}
clear_saved_scope = alchemist
}
}
option = {
name = {
trigger = { NOT = { exists = scope:alchemist } }
text = learning_scholarship_special.3005.a
}
name = {
trigger = { exists = scope:alchemist }
text = learning_scholarship_special.3005.a_alchemist
}
add_learning_lifestyle_perk_points = 1
add_gold = medium_gold_value
add_prestige = major_prestige_gain
if = {
limit = { exists = scope:alchemist }
scope:alchemist = {
change_artifact_quality_effect = { AMOUNT = 2 }
}
}
}
}
# Success. Rank up + some gold gain.
learning_scholarship_special.3006 = {
type = character_event
title = learning_scholarship_special.3001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:alchemist
}
desc = learning_scholarship_special.3006.desc_alchemist
}
desc = learning_scholarship_special.3006.desc
}
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = ecstasy
}
right_portrait = {
trigger = { exists = scope:alchemist }
character = scope:alchemist
animation = dancing
}
trigger = {
NOR = {
is_imprisoned = yes
has_trait = incapable
}
}
on_trigger_fail = {
trigger_event = learning_scholarship_special.3099
}
immediate = {
play_music_cue = "mx_cue_epic_sacral_moment"
if = { #If the alchemist is no longer around we clear them out
limit = {
learning_scholarship_special_3001_alchemist_available_trigger = no
}
clear_saved_scope = alchemist
}
}
option = {
name = learning_scholarship_special.3006.a
add_learning_lifestyle_perk_points = 1
add_gold = minor_gold_value
if = {
limit = { exists = scope:alchemist }
scope:alchemist = {
change_artifact_quality_effect = { AMOUNT = 2 }
}
}
}
}
# Failure. No rank-up, but character is compensated with small province tax boost.
learning_scholarship_special.3007 = {
type = character_event
title = learning_scholarship_special.3001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:alchemist
}
desc = learning_scholarship_special.3007.desc_alchemist
}
desc = learning_scholarship_special.3007.desc
}
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = stunned
}
right_portrait = {
trigger = { exists = scope:alchemist }
character = scope:alchemist
animation = shame
}
trigger = {
NOR = {
is_imprisoned = yes
has_trait = incapable
}
}
on_trigger_fail = {
trigger_event = learning_scholarship_special.3099
}
immediate = {
play_music_cue = "mx_cue_epic_sacral_moment"
if = { #If the alchemist is no longer around we clear them out
limit = {
learning_scholarship_special_3001_alchemist_available_trigger = no
}
clear_saved_scope = alchemist
}
}
option = {
name = learning_scholarship_special.3007.a
add_learning_lifestyle_xp = medium_lifestyle_xp
if = {
limit = {
exists = capital_province
}
capital_province = {
county = {
add_county_modifier = {
modifier = rich_fertilizer_modifier
years = 3
}
}
}
}
}
}
learning_scholarship_special.3099 = {
hidden = yes
immediate = {
if = {
limit = {
is_imprisoned = yes
}
send_interface_toast = {
title = learning_scholarship_special.3099.termination.toast
custom_tooltip = learning_scholarship_special.3099.termination.desc.prison
}
}
else = {
send_interface_toast = {
title = learning_scholarship_special.3099.termination.toast
custom_tooltip = learning_scholarship_special.3099.termination.desc.incapable
}
}
}
}
##################
# 4000 - Dear God, go outside. By Isabella Welch
##################
learning_scholarship.4000 = {
type = character_event
title = learning_scholarship.4000.t
desc = learning_scholarship.4000.desc
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = page_flipping
}
right_portrait = {
character = scope:spouse_uninterested_in_study
animation = stayback
}
lower_left_portrait = {
character = scope:child_educated
}
override_background = {
reference = corridor_night
}
trigger = {
NOR = {
has_government = celestial_government
has_character_flag = has_had_learning_scholarship_4000
has_trait = celibate
}
OR = {
has_focus = learning_scholarship_focus
has_focus = learning_adventurer_focus
has_realm_law = camp_purpose_scholars
}
is_married = yes
any_spouse = {
NOR = {
has_trait_rank = {
trait = education_learning
rank >= 1
}
has_trait = intellect_good
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = has_had_learning_scholarship_4000
years = 5
}
if = {
limit = {
any_child = {
has_focus = education_learning
has_relation_guardian = root
is_child_of = root
}
}
random_child = {
limit = {
has_focus = education_learning
has_relation_guardian = root
is_child_of = root
}
save_scope_as = child_educated
}
}
random_spouse = {
weight = {
base = 1
compare_modifier = {
value = learning
multiplier = -0.5
}
}
save_scope_as = spouse_uninterested_in_study
}
if = {
limit = {
any_courtier_or_guest = {
can_set_relation_lover_trigger = {
CHARACTER = scope:spouse_uninterested_in_study
}
}
}
random_courtier_or_guest = {
limit = {
can_set_relation_lover_trigger = {
CHARACTER = scope:spouse_uninterested_in_study
}
}
save_scope_as = potential_new_spouse_lover
}
}
}
option = {
name = learning_scholarship.4000.a
add_character_modifier = {
modifier = alluring_confidence
years = 1
}
scope:spouse_uninterested_in_study = {
add_opinion = {
target = root
opinion = 20
modifier = grateful_opinion
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = -0.5
}
}
}
option = {
name = learning_scholarship.4000.b
trigger = {
NOT = { exists = scope:child_educated }
}
scope:spouse_uninterested_in_study = {
add_learning_skill = 2
add_opinion = {
target = root
opinion = -20
modifier = insulted_opinion
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = 0.5
}
}
}
option = {
name = learning_scholarship.4000.c
trigger = {
exists = scope:child_educated
}
scope:child_educated = {
add_learning_skill = 2
add_opinion = {
target = root
opinion = 20
modifier = supportive_parent
}
}
if = {
limit = {
scope:spouse_uninterested_in_study = {
NOT = { is_parent_of = scope:child_educated }
}
}
custom_tooltip = learning_scholarship.4000.c.tt
scope:spouse_uninterested_in_study = {
add_opinion = {
target = root
opinion = -15
modifier = weak_opinion
}
}
}
add_character_modifier = {
modifier = busy_tutoring_modifier
years = 5
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 2
}
}
}
option = {
name = learning_scholarship.4000.d
add_character_modifier = {
modifier = focused_reading_modifier
years = 5
}
add_learning_lifestyle_xp = medium_lifestyle_xp
scope:spouse_uninterested_in_study = {
add_opinion = {
target = root
opinion = -40
modifier = weak_opinion
}
hidden_effect = {
if = {
limit = { exists = scope:potential_new_spouse_lover }
set_relation_lover = { reason = lover_bored_lover target = scope:potential_new_spouse_lover involved_character = root }
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 2
}
}
}
}
##################################################
# Bibliomancy #
# by Chad Uhl #
# 5000-5007 #
##################################################
scripted_effect create_bibliomancy_book_effect = {
scope:merchant_mystic = {
trigger_event = learning_scholarship.5007
}
}
learning_scholarship.5000 = {
type = character_event
title = learning_scholarship.5000.t
desc = learning_scholarship.5000.desc
theme = learning_scholarship_focus
override_background = {
reference = market
}
left_portrait = {
character = root
animation = interested_left
}
right_portrait = {
character = scope:merchant_mystic
animation = beg
}
trigger = {
# Haven't had the event before
NOT = { has_character_flag = had_event_bibliomancy_5000 }
has_focus = learning_scholarship_focus
# You practice Bibliomancy
faith = { religion_tag = christianity_religion }
# Need to ensure that a powerful vassal exists for a later event
any_vassal = {
is_available_ai_adult = yes
is_powerful_vassal = yes
NOR = {
has_secret_relation_lover = root
has_relation_lover = root
has_relation_soulmate = root
has_relation_friend = root
has_relation_best_friend = root
}
}
}
weight_multiplier = {
base = 1
#Aimed at players livin that Scholarship Lifestyle
upweight_for_focus_modifier = { FOCUS = learning_scholarship_focus }
#Bonus points if you're a ~~mystic~~
modifier = {
has_trait = lifestyle_mystic
add = 1
}
}
immediate = {
root = { save_scope_as = bibliomancy_main_character }
add_character_flag = had_event_bibliomancy_5000
# Keeps track of how many times player fails skill checks or opts out. Higher value = more likely to get the paranoid trait at the end.
set_variable = {
name = paranoia_level_var
value = 0
}
# Create a mystic character
hidden_effect = {
#Pick a suitable culture for the wandering mystic
random_ruler = {
# Prefer religion with mystical tenets
limit = {
is_within_diplo_range = { CHARACTER = root }
faith = {
has_doctrine = tenet_esotericism
}
}
# Fallback to just choose some nearby culture
alternative_limit = {
is_within_diplo_range = { CHARACTER = root }
}
culture = {
save_scope_as = mystic_culture
}
faith = {
save_scope_as = mystic_faith
}
}
# Create mystic character
create_character = {
template = default_mystic_character
location = root.location
faith = scope:mystic_faith
culture = scope:mystic_culture
gender_female_chance = 50
save_scope_as = merchant_mystic
}
add_visiting_courtier = scope:merchant_mystic
}
}
option = { # Option A: Buy the Book
name = learning_scholarship.5000.a
# Effect
remove_short_term_gold = medium_gold_value
custom_tooltip = bibliomancy_book_purchased
create_bibliomancy_book_effect = yes
ai_chance = {
base = 25
modifier = {
add = 100
has_trait = lifestyle_mystic
}
ai_value_modifier = {
ai_zeal = medium_chance_impact_positive_ai_value
}
}
stress_impact = {
greedy = minor_stress_impact_gain
content = minor_stress_impact_gain
}
}
option = { # Option B: Haggle the price
name = learning_scholarship.5000.b
# Effect
duel = {
skill = diplomacy
value = 10
15 = {
desc = learning_scholarship.5000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 0.5
}
send_interface_toast = {
title = learning_scholarship.5000.b.success
left_icon = root
right_icon = scope:merchant_mystic
remove_short_term_gold = minor_gold_value
}
}
20 = {
desc = learning_scholarship.5000.b.failure
send_interface_toast = {
title = learning_scholarship.5000.b.failure
left_icon = root
right_icon = scope:merchant_mystic
remove_short_term_gold = medium_gold_value
add_prestige = minor_prestige_loss
}
}
}
create_bibliomancy_book_effect = yes
custom_tooltip = bibliomancy_book_purchased
ai_chance = {
base = 25
ai_value_modifier = {
ai_greed = high_chance_impact_positive_ai_value
}
}
stress_impact = {
honest = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
}
option = { # Option C: Take it by force
name = learning_scholarship.5000.c
# Effect
add_dread = minor_dread_gain
stress_impact = {
base = minor_stress_impact_gain
just = medium_stress_impact_gain
}
create_bibliomancy_book_effect = yes
custom_tooltip = bibliomancy_book_purchased
ai_chance = {
base = 25
ai_value_modifier = {
ai_boldness = low_chance_impact_positive_ai_value
}
}
}
option = { # Option D: Nope
name = learning_scholarship.5000.d
add_prestige = minor_prestige_gain
ai_chance = {
base = 25
ai_value_modifier = {
ai_zeal = low_chance_impact_negative_ai_value
ai_boldness = low_chance_impact_negative_ai_value
ai_greed = low_chance_impact_negative_ai_value
ai_energy = high_chance_impact_negative_ai_value
}
}
stress_impact = {
zealous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
calm = minor_stress_impact_gain
temperate = minor_stress_impact_gain
}
}
}
learning_scholarship.5001 = {
type = character_event
title = learning_scholarship.5001.t
desc = learning_scholarship.5001.desc
left_portrait = {
character = root
animation = worry
}
theme = learning_scholarship_focus
artifact = {
target = scope:sacred_text
position = lower_center_portrait
trigger = { exists = scope:sacred_text }
}
trigger = {
# Make sure the character has scope:sacred_text
exists = scope:sacred_text
scope:sacred_text = {
artifact_owner = root
}
}
immediate = {
scope:merchant_mystic = { silent_disappearance_effect = yes }
}
option = { # Perform Bibliomancy
name = learning_scholarship.5001.a
custom_tooltip = learning_lifestyle_rank_up_indication
trigger_event = learning_scholarship.5002
ai_chance = {
base = 50
modifier = {
add = 100
has_trait = lifestyle_mystic
}
ai_value_modifier = {
ai_energy = medium_chance_impact_positive_ai_value
ai_zeal = medium_chance_impact_positive_ai_value
}
}
stress_impact = {
lazy = minor_stress_impact_gain
content = minor_stress_impact_gain
craven = minor_stress_impact_gain
}
}
option = { # Do not perform Bibliomancy
name = learning_scholarship.5001.b
#if faith has Righteous doctrine
if = {
limit = {
ROOT.faith = {
has_doctrine = doctrine_pluralism_righteous
}
}
add_piety = minor_piety_value
}
stress_impact = {
base = minor_stress_loss
lifestyle_mystic = minor_stress_impact_gain
zealous = medium_stress_impact_gain
diligent = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_energy = medium_chance_impact_negative_ai_value
ai_zeal = medium_chance_impact_negative_ai_value
ai_rationality = medium_chance_impact_negative_ai_value
}
}
}
}
learning_scholarship.5002 = { # A Fateful Reading - Fear is the mind-killer!
type = character_event
title = learning_scholarship.5002.t
desc = learning_scholarship.5002.desc
left_portrait = {
character = root
animation = worry
}
theme = learning_scholarship_focus
artifact = {
target = scope:sacred_text
position = lower_center_portrait
trigger = { exists = scope:sacred_text }
}
immediate = {
if = {
limit = {
employs_court_position = antiquarian_court_position
any_court_position_holder = {
type = antiquarian_court_position
}
}
random_court_position_holder = {
type = antiquarian_court_position
save_scope_as = antiquarian
}
}
}
option = { # Option A: Easy Interpretation
name = learning_scholarship.5002.a
add_learning_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
scholar = minor_stress_impact_gain
}
trigger_event = {
id = learning_scholarship.5003
days = 5
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_rationality = medium_chance_impact_negative_ai_value
ai_energy = medium_chance_impact_negative_ai_value
ai_boldness = high_chance_impact_positive_ai_value
ai_zeal = low_chance_impact_positive_ai_value
}
}
stress_impact = {
diligent = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
}
option = { # Option B: Learning Skill Challenge
name = learning_scholarship.5002.b
# Learning Skill Challenge
duel = {
skill = learning
value = 10
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_scholarship.5002.b.success
send_interface_toast = {
type = event_toast_effect_good
title = learning_scholarship.5002.b.success
left_icon = root
#Effect
add_learning_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = focused_reading_modifier
years = 3
}
#Gain a prestige bonus for doing this yourself.
add_prestige = minor_prestige_gain
trigger_event = {
id = learning_scholarship.5005
days = 5
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_scholarship.5002.b.failure
send_interface_toast = {
type = event_toast_effect_bad
title = learning_scholarship.5002.b.failure
left_icon = root
#Effect
change_variable = { name = paranoia_level_var add = 1 }
add_learning_lifestyle_xp = minor_lifestyle_xp
add_character_modifier = {
modifier = bibliomancy_tense_modifier
years = 2
}
trigger_event = {
id = learning_scholarship.5004
days = 5
}
}
}
}
stress_impact = {
lazy = medium_stress_impact_gain
impatient = minor_stress_impact_gain
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_rationality = medium_chance_impact_positive_ai_value
ai_energy = medium_chance_impact_positive_ai_value
ai_zeal = medium_chance_impact_positive_ai_value
}
}
}
option = { # Option C: Disregard - Opt out
name = learning_scholarship.5002.c
stress_impact = {
base = minor_stress_impact_gain
lazy = minor_stress_impact_loss
scholar = medium_stress_impact_gain
theologian = medium_stress_impact_gain
lifestyle_mystic = medium_stress_impact_gain
}
change_variable = { name = paranoia_level_var add = 1 }
custom_tooltip = learning_scholarship_paranoid_trait_possible
trigger_event = {
id = learning_scholarship.5006
days = 20
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_rationality = high_chance_impact_negative_ai_value
ai_energy = high_chance_impact_negative_ai_value
ai_zeal = high_chance_impact_negative_ai_value
}
}
}
option = { # Option D: Antiquarian Specialist Option
name = learning_scholarship.5002.d
trigger = {
employs_court_position = antiquarian_court_position
}
# Learning Skill Challenge, made easier
scope:antiquarian = {
duel = {
skill = learning
value = 10
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_scholarship.5002.b.success
root = {
send_interface_toast = {
type = event_toast_effect_good
title = learning_scholarship.5002.b.success
left_icon = root
#Effect
add_learning_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = focused_reading_modifier
years = 1
}
trigger_event = {
id = learning_scholarship.5005
days = 5
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_scholarship.5002.b.failure
root = {
send_interface_toast = {
type = event_toast_effect_bad
title = learning_scholarship.5002.b.failure
left_icon = root
#Effect
add_learning_lifestyle_xp = minor_lifestyle_xp
change_variable = { name = paranoia_level_var add = 1 }
trigger_event = {
id = learning_scholarship.5004
days = 1
}
}
}
}
}
}
if = {
limit = {
can_set_relation_potential_friend_trigger = { CHARACTER = scope:antiquarian }
}
set_relation_potential_friend = scope:antiquarian
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_rationality = medium_chance_impact_positive_ai_value
ai_energy = medium_chance_impact_positive_ai_value
ai_zeal = medium_chance_impact_positive_ai_value
}
}
stress_impact = {
lazy = medium_stress_impact_gain
impatient = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
}
}
learning_scholarship.5003 = { # A Simple Reading
type = character_event
title = learning_scholarship.5003.t
desc = learning_scholarship.5003.desc
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:bibliomancy_antagonist
animation = personality_bold
}
theme = court
weight_multiplier = {
base = 1
}
# Check that powerful vassal exists at the beginning
trigger = {
any_vassal = {
is_available_ai_adult = yes
is_powerful_vassal = yes
NOR = {
has_secret_relation_lover = root
has_relation_lover = root
has_relation_soulmate = root
has_relation_friend = root
has_relation_best_friend = root
}
}
}
immediate = {
random_vassal = {
# Calling all vassals who dislike me
limit = {
is_available_ai_adult = yes
is_powerful_vassal = yes
NOR = {
has_secret_relation_lover = root
has_relation_lover = root
has_relation_soulmate = root
has_relation_friend = root
has_relation_best_friend = root
}
opinion = {
target = root
value <= 0
}
}
# Fallback to any vassal that is available
alternative_limit = {
is_available_ai_adult = yes
is_powerful_vassal = yes
NOR = {
has_secret_relation_lover = root
has_relation_lover = root
has_relation_soulmate = root
has_relation_friend = root
has_relation_best_friend = root
}
}
save_scope_as = bibliomancy_antagonist
}
}
option = { # Option A: Debate the Vassal
name = learning_scholarship.5003.a
custom_tooltip = learning_scholarship.5003.a.tt
duel = {
skill = learning
target = scope:bibliomancy_antagonist
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_scholarship.5003.a.success
send_interface_toast = {
type = event_toast_effect_good
title = learning_scholarship.5003.a.success
left_icon = root
#Effect
add_learning_lifestyle_xp = medium_lifestyle_xp
add_prestige = minor_prestige_gain
}
trigger_event = {
id = learning_scholarship.5005
days = 5
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_scholarship.5003.a.failure
send_interface_toast = {
type = event_toast_effect_bad
title = learning_scholarship.5003.a.failure
left_icon = root
add_learning_lifestyle_xp = minor_lifestyle_xp
every_vassal = {
custom = learning_scholarship.5003.vassal.tt
add_opinion = {
modifier = thinks_liege_incapable_opinion
target = root
}
}
}
}
}
ai_chance = {
base = 33
ai_value_modifier = {
ai_energy = low_chance_impact_positive_ai_value
ai_boldness = high_chance_impact_positive_ai_value
}
}
stress_impact = {
shy = medium_stress_impact_gain
craven = minor_stress_impact_gain
}
}
option = { # Option B: Make formal overtures (Diplomacy Challenge)
name = learning_scholarship.5003.b
custom_tooltip = learning_scholarship.5003.b.tt
# Diplomacy Skill Challenge
duel = {
skill = diplomacy
target = scope:bibliomancy_antagonist
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_scholarship.5003.b.success
send_interface_toast = {
type = event_toast_effect_good
title = learning_scholarship.5003.b.success
left_icon = root
#Effect
add_learning_lifestyle_xp = medium_lifestyle_xp
#Gain a prestige bonus for doing this yourself.
add_prestige = minor_prestige_gain
}
trigger_event = {
id = learning_scholarship.5005
days = 5
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_scholarship.5003.b.failure
send_interface_toast = {
type = event_toast_effect_bad
title = learning_scholarship.5003.b.failure
left_icon = root
add_learning_lifestyle_xp = minor_lifestyle_xp
add_prestige = medium_prestige_loss
}
}
}
ai_chance = {
base = 33
ai_value_modifier = {
ai_energy = low_chance_impact_positive_ai_value
ai_rationality = high_chance_impact_positive_ai_value
}
}
stress_impact = {
stubborn = minor_stress_impact_gain
impatient = minor_stress_impact_gain
callous = minor_stress_impact_gain
}
}
option = { # Option C: Give him a hook and be done with it
name = learning_scholarship.5003.c
# Vassal gains hook on you to renegotiate contract later
scope:bibliomancy_antagonist = {
if = {
limit = {
can_add_hook = {
type = favor_hook
target = root
}
}
add_hook = {
type = favor_hook
target = root
}
}
}
ai_chance = {
base = 33
ai_value_modifier = {
ai_energy = high_chance_impact_negative_ai_value
ai_boldness = medium_chance_impact_negative_ai_value
ai_honor = low_chance_impact_negative_ai_value
}
}
stress_impact = {
arrogant = medium_stress_impact_gain
vengeful = medium_stress_impact_gain
}
}
}
learning_scholarship.5004 = { # Skill Challenge Failure
type = character_event
title = learning_scholarship.5004.t
desc = learning_scholarship.5004.desc
left_portrait = cp:councillor_court_chaplain
right_portrait = scope:target_courtier
theme = learning_scholarship_focus
trigger = {
OR = {
exists = cp:councillor_court_chaplain
employs_court_position = camp_priest_camp_officer
}
}
immediate = {
# Save chaplain scope
if = {
limit = {
exists = cp:councillor_court_chaplain
}
cp:councillor_court_chaplain = {
save_scope_as = court_chaplain
}
}
else = {
random_court_position_holder = {
type = camp_priest_camp_officer
save_scope_as = court_chaplain
}
}
# Pick a courtier with high learning who isn't the chaplain
ordered_courtier = {
limit = {
is_available_ai_adult = yes
this != scope:court_chaplain
}
order_by = learning
max = 1
save_scope_as = target_courtier
}
}
option = { # Option A: Ask Chaplain for help
name = learning_scholarship.5004.a
# Learning Skill Challenge
scope:court_chaplain = {
duel = {
skill = learning
value = 8
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_scholarship.5004.a.success
root = {
send_interface_toast = {
type = event_toast_effect_good
title = learning_scholarship.5004.a.success
left_icon = scope:court_chaplain
#Effect
add_learning_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = focused_reading_modifier
years = 3
}
trigger_event = {
id = learning_scholarship.5005
days = 5
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_scholarship.5004.a.failure
root = {
send_interface_toast = {
type = event_toast_effect_bad
title = learning_scholarship.5004.a.failure
left_icon = scope:court_chaplain
#Effect
add_prestige = minor_prestige_loss
change_variable = {
name = paranoia_level_var
add = 1
}
trigger_event = {
id = learning_scholarship.5006
days = 15
}
}
}
}
}
add_opinion = {
modifier = pleased_opinion
target = root
opinion = 15
}
}
ai_chance = {
base = 45
ai_value_modifier = {
ai_honor = low_chance_impact_negative_ai_value
}
}
stress_impact = {
lazy = minor_stress_impact_gain
impatient = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
}
option = { # Option B: Ask Courtier for help
name = learning_scholarship.5004.b
trigger = {
exists = scope:target_courtier
}
# Learning Skill Challenge
scope:target_courtier = {
duel = {
skill = learning
value = 8
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_scholarship.5004.b.success
root = {
send_interface_toast = {
type = event_toast_effect_good
title = learning_scholarship.5004.b.success
left_icon = scope:target_courtier
#Effect
add_learning_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = focused_reading_modifier
years = 3
}
trigger_event = {
id = learning_scholarship.5005
days = 5
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_scholarship.5004.b.failure
root = {
send_interface_toast = {
type = event_toast_effect_bad
title = learning_scholarship.5004.b.failure
left_icon = scope:target_courtier
#Effect
add_prestige = minor_prestige_loss
change_variable = {
name = paranoia_level_var
add = 1
}
trigger_event = {
id = learning_scholarship.5006
days = 15
}
}
}
}
}
add_opinion = {
modifier = pleased_opinion
target = root
opinion = 15
}
}
ai_chance = {
base = 45
ai_value_modifier = {
ai_honor = low_chance_impact_negative_ai_value
}
}
stress_impact = {
lazy = minor_stress_impact_gain
impatient = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
}
option = { # Give up
name = learning_scholarship.5004.c
add_stress = minor_stress_loss
change_variable = { name = paranoia_level_var add = 2 }
trigger_event = {
id = learning_scholarship.5006
days = 15
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_energy = high_chance_impact_negative_ai_value
ai_rationality = medium_chance_impact_negative_ai_value
}
}
stress_impact = {
base = minor_stress_impact_gain
lazy = minor_stress_impact_loss
scholar = medium_stress_impact_gain
theologian = medium_stress_impact_gain
lifestyle_mystic = medium_stress_impact_gain
}
}
}
learning_scholarship.5005 = { # Skill Challenge Success
type = character_event
title = learning_scholarship.5005.t
desc = learning_scholarship.5005.desc
left_portrait = {
character = root
animation = personality_bold
}
theme = learning_scholarship_focus
option = {
name = learning_scholarship.5005.a
add_learning_lifestyle_perk_points = 1
}
}
learning_scholarship.5006 = { # Ultimate Failure
type = character_event
title = learning_scholarship.5006.t
desc = learning_scholarship.5006.desc
left_portrait = {
character = root
animation = paranoia
}
theme = learning_scholarship_focus
option = { # Chance to pick up paranoid trait
name = learning_scholarship.5006.a
if = {
limit = {
has_character_modifier = bibliomancy_tense_modifier
}
remove_character_modifier = bibliomancy_tense_modifier
}
add_character_modifier = {
modifier = bibliomancy_fearful_modifier
years = 5
}
if = {
limit = {
NOT = { has_trait = paranoid }
var:paranoia_level_var > 1
}
add_trait = paranoid
custom_tooltip = learning_scholarship_paranoid_trait.tt
}
}
}
learning_scholarship.5007 = { # Create the book artifact in merchant's scope and transfer to the player
type = character_event
hidden = yes
immediate = {
# Check if bibliomancy_main_character has a royal court or notification
if = {
limit = {
scope:bibliomancy_main_character = {
has_royal_court = no
}
}
save_temporary_scope_value_as = {
name = should_be_trinket
value = yes
}
}
# Create the book
random_dummy_gender_effect = yes
create_artifact_book_effect = {
OWNER = root
CREATOR = scope:dummy_gender
SET_SUBJECT = flag:learning
SET_TOPIC = flag:no
}
scope:newly_created_artifact = {
set_owner = scope:bibliomancy_main_character
save_scope_as = sacred_text
}
scope:bibliomancy_main_character = {
# Let the player know they received the book
send_interface_toast = {
title = learning_scholarship_sacred_artifact_obtained
left_icon = scope:bibliomancy_main_character
right_icon = scope:sacred_text
show_as_tooltip = {
scope:sacred_text = { set_owner = scope:bibliomancy_main_character }
}
}
trigger_event = {
id = learning_scholarship.5001
days = 5
}
}
}
}
# END Bibliomancy 5000-5007
##################################################
# The Man of Few Letters #
# by Jason Cantalini #
# 6000 #
##################################################
scripted_trigger learning_scholarship_6000_illiterate_trigger = {
is_powerful_vassal = yes
is_ai = yes
is_adult = yes
is_imprisoned = no
is_incapable = no
NOR = {
has_trait = bubonic_plague
has_trait = smallpox
}
trigger_if = {
limit = {
government_has_flag = government_is_tribal
}
learning <= 14
}
trigger_else = {
learning <= 6
}
any_courtier = { is_available_ai_adult = yes }
NOT = { has_relation_rival = root }
NOT = { has_character_flag = had_event_born_to_lead_not_to_read_6000 }
}
learning_scholarship.6000 = {
type = character_event
title = learning_scholarship.6000.t
desc = {
desc = learning_scholarship.6000.desc
# Illiterate character is frustrated by different reading based on character
triggered_desc = {
trigger = {
scope:illiterate = {
OR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = stubborn
}
NOR = {
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = arbitrary
}
}
}
desc = learning_scholarship.6000.willing_pupil
}
triggered_desc = {
trigger = {
faith = { religion_tag = christianity_religion }
scope:illiterate = {
OR = {
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = arbitrary
}
NOR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = stubborn
}
}
}
desc = learning_scholarship.6000.holy_book_insult
}
triggered_desc = {
trigger = {
scope:illiterate = {
OR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = stubborn
}
OR = {
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = arbitrary
}
}
}
desc = learning_scholarship.6000.poetry_insult
}
triggered_desc = {
trigger = {
scope:illiterate = {
NOR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = stubborn
has_trait = arbitrary
}
}
}
desc = learning_scholarship.6000.very_willing_pupil
}
}
theme = learning_scholarship_focus
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:teacher
animation = personality_forgiving
}
lower_center_portrait = scope:illiterate
cooldown = {
years = 5
}
trigger = {
has_focus = learning_scholarship_focus
NOT = { has_character_flag = is_in_learning_special_event }
learning > low_skill_rating
is_available_adult = yes
is_landed = yes
# Literacy wasn't expected in many tribal contexts
NOR = {
government_has_flag = government_is_tribal
government_has_flag = government_is_nomadic
}
# Must have a suitably illiterate vassal
any_vassal = {
learning_scholarship_6000_illiterate_trigger = yes
}
}
immediate = {
# Who needs to know what words do?
random_vassal = {
limit = {
learning_scholarship_6000_illiterate_trigger = yes
}
save_scope_as = illiterate
}
# The vassal doesn't need to learn to read twice
scope:illiterate = {
add_character_flag = had_event_born_to_lead_not_to_read_6000
}
# Who is trying to teach words?
if = {
limit = {
scope:illiterate = { employs_court_position = court_tutor_court_position }
scope:illiterate = {
any_court_position_holder = {
type = court_tutor_court_position
is_available_ai = yes
}
}
}
scope:illiterate = {
random_court_position_holder = {
type = court_tutor_court_position
limit = {
is_available_ai = yes
}
save_scope_as = teacher
}
}
}
else_if = {
limit = {
scope:illiterate = {
exists = cp:councillor_court_chaplain
cp:councillor_court_chaplain = {
is_available_ai = yes
}
}
}
scope:illiterate = {
cp:councillor_court_chaplain = {
save_scope_as = teacher
}
}
}
else = {
scope:illiterate = {
random_courtier = {
limit = {
is_available_ai_adult = yes
}
weight = {
base = 1
modifier = {
add = {
value = learning
multiply = 4
}
}
}
save_scope_as = teacher
}
}
}
}
#One of the following options appear based on a councillor position the illiterate holds
option = {
trigger = {
scope:illiterate = root.cp:councillor_chancellor
}
name = learning_scholarship.6000.a
add_learning_lifestyle_xp = minor_lifestyle_experience
scope:illiterate = {
add_diplomacy_skill = 1
add_learning_skill = 1
}
stress_impact = {
content = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = -25
has_trait = content
}
ai_value_modifier = {
ai_energy = 0.25
ai_boldness = 0.25
ai_sociability = 0.5
}
}
}
option = {
trigger = {
scope:illiterate = root.cp:councillor_spymaster
}
name = learning_scholarship.6000.b
add_learning_lifestyle_xp = minor_lifestyle_experience
scope:illiterate = {
add_intrigue_skill = 1
add_learning_skill = 1
}
stress_impact = {
honest = medium_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = -25
has_trait = content
}
ai_value_modifier = {
ai_honor = -1
ai_compassion = -0.75
ai_vengefulness = 0.5
}
}
}
option = {
trigger = {
scope:illiterate = root.cp:councillor_marshal
}
name = learning_scholarship.6000.c
add_learning_lifestyle_xp = minor_lifestyle_experience
scope:illiterate = {
add_martial_skill = 1
add_learning_skill = 1
}
stress_impact = {
content = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = -25
has_trait = content
}
ai_value_modifier = {
ai_energy = 0.25
ai_boldness = 0.25
}
}
}
option = {
trigger = {
scope:illiterate = root.cp:councillor_steward
}
name = learning_scholarship.6000.d
add_learning_lifestyle_xp = minor_lifestyle_experience
scope:illiterate = {
add_stewardship_skill = 1
add_learning_skill = 1
}
stress_impact = {
arbitrary = minor_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = -50
has_trait = content
}
ai_value_modifier = {
ai_energy = 0.25
ai_zeal = 1
ai_honor = 1
}
}
}
option = {
trigger = {
scope:illiterate = root.cp:councillor_court_chaplain
}
name = learning_scholarship.6000.e
add_learning_lifestyle_xp = minor_lifestyle_experience
scope:illiterate = {
add_learning_skill = 2
}
stress_impact = {
cynical = medium_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = -50
has_trait = content
}
ai_value_modifier = {
ai_energy = 0.5
ai_zeal = 1
}
}
}
option = {
name = learning_scholarship.6000.f
flavor = learning_scholarship.6000.f.tt
duel = {
skill = learning
value = average_skill_rating
55 = {
desc = learning_scholarship.6000.f.success
compare_modifier = {
value = scope:duel_value
multiplier = 2.5
}
send_interface_toast = {
title = learning_scholarship.6000.f.success
left_icon = root
right_icon = scope:illiterate
add_learning_lifestyle_xp = medium_lifestyle_experience
scope:illiterate = {
add_learning_skill = 1
}
}
create_character_memory = {
type = reading_aid
participants = {
illiterate = scope:illiterate
}
}
}
45 = {
desc = learning_scholarship.6000.f.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2.5
}
send_interface_toast = {
title = learning_scholarship.6000.f.failure
left_icon = root
right_icon = scope:illiterate
add_prestige = minor_prestige_loss
scope:illiterate = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -10
}
}
}
}
}
stress_impact = {
journaller = minor_stress_impact_loss
lazy = major_stress_impact_gain
humble = medium_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 25
modifier = {
add = 25
has_trait = journaller
}
modifier = {
add = 25
learning >= medium_skill_rating
}
modifier = {
add = 50
learning >= high_skill_rating
}
modifier = {
add = -100
has_trait = lazy
}
modifier = {
add = -25
has_trait = humble
}
ai_value_modifier = {
ai_sociability = 0.75
ai_energy = 0.5
ai_compassion = 0.25
}
}
}
#The following option changes along with the loc which describes illiterate's response to reading
#if the illiterate is a lazy pupil
option = {
name = learning_scholarship.6000.g
trigger = {
scope:illiterate = {
OR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = stubborn
}
NOR = {
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = arbitrary
}
}
}
flavor = learning_scholarship.6000.g.tt
progress_towards_friend_effect = {
CHARACTER = scope:illiterate
OPINION = 30
REASON = friend_supported_illiterate
}
create_character_memory = {
type = supported_illiterate
participants = {
illiterate = scope:illiterate
}
}
stress_impact = {
patient = major_stress_impact_gain
diligent = medium_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = -15
has_trait = stubborn
}
modifier = {
add = -50
has_trait = patient
}
modifier = {
add = -25
has_trait = diligent
}
ai_value_modifier = {
ai_rationality = -0.25
ai_energy = -0.25
ai_boldness = -0.5
ai_compassion = 0.25
}
}
}
#if the illiterate was frustrated about the holy book
option = {
name = learning_scholarship.6000.h
trigger = {
scope:illiterate = {
OR = {
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = arbitrary
}
NOR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = stubborn
}
}
}
flavor = learning_scholarship.6000.h.tt
custom_tooltip = learning_scholarship.6000.non_believer
add_piety = minor_piety_gain
progress_towards_rival_effect = {
REASON = rival_holy_book
CHARACTER = scope:illiterate
OPINION = default_rival_opinion
}
if = {
limit = {
scope:illiterate = {
NOT = { any_secret = { type = secret_non_believer } }
}
}
hidden_effect = {
scope:illiterate = {
add_secret = {
type = secret_non_believer
}
}
}
}
scope:illiterate = {
random_secret = {
type = secret_non_believer
reveal_to = root
}
}
stress_impact = {
forgiving = major_stress_impact_gain
cynical = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 25
modifier = {
add = -25
has_trait = cynical
}
ai_value_modifier = {
ai_vengefulness = 1
ai_compassion = -0.5
ai_honor = -1
ai_zeal = 1
}
}
}
#if the illiterate raged at reading poetry
option = {
name = learning_scholarship.6000.i
trigger = {
scope:illiterate = {
OR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = stubborn
}
OR = {
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = arbitrary
}
}
}
flavor = learning_scholarship.6000.i.tt
if = {
limit = {
scope:illiterate = {
culture = root.culture
}
}
add_character_modifier = {
modifier = court_of_poetry_modifier
years = 2
}
if = {
limit = {
has_royal_court = no
}
add_prestige = minor_prestige_gain
}
else_if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
}
change_current_court_grandeur = minor_court_grandeur_gain
}
}
else = {
add_character_modifier = {
modifier = court_of_poetry_modifier
years = 2
}
scope:illiterate.culture = {
change_cultural_acceptance = {
target = root.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
}
stress_impact = {
cynical = major_stress_impact_gain
impatient = medium_stress_impact_gain
callous = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 20
modifier = {
add = -25
has_trait = cynical
}
modifier = {
add = -25
has_trait = callous
}
ai_value_modifier = {
ai_zeal = 0.25
ai_compassion = 0.5
ai_vengefulness = -0.25
ai_honor = 0.5
ai_sociability = 0.75
}
}
}
#if the illiterate actually wants help
option = {
name = learning_scholarship.6000.j
trigger = {
scope:illiterate = {
NOR = {
has_trait = arrogant
has_trait = impatient
has_trait = lazy
has_trait = cynical
has_trait = fickle
has_trait = wrathful
has_trait = stubborn
has_trait = arbitrary
}
}
}
flavor = learning_scholarship.6000.j.tt
add_character_modifier = {
modifier = beauty_of_language_modifier
years = 10
}
stress_impact = {
content = minor_stress_impact_loss
lazy = minor_stress_impact_loss
compassionate = minor_stress_impact_loss
humble = minor_stress_impact_loss
calm = minor_stress_impact_loss
ambitious = massive_stress_impact_gain
cynical = major_stress_impact_gain
impatient = major_stress_impact_gain
arrogant = major_stress_impact_gain
diligent = major_stress_impact_gain
}
scope:illiterate = {
add_opinion = {
target = root
modifier = respect_opinion
opinion = 15
}
}
ai_chance = {
base = 20
modifier = {
add = -100
has_trait = ambitious
}
modifier = {
add = -50
has_trait = cynical
}
modifier = {
add = -25
has_trait = impatient
}
modifier = {
add = -25
has_trait = arrogant
}
modifier = {
add = -25
has_trait = diligent
}
ai_value_modifier = {
ai_boldness = -0.5
ai_energy = -0.5
ai_compassion = 0.25
}
}
}
option = {
name = learning_scholarship.6000.k
flavor = learning_scholarship.6000.k.tt
add_prestige = minor_prestige_gain
scope:illiterate = {
add_prestige = minor_prestige_loss
}
progress_towards_rival_effect = {
REASON = rival_holy_book_illiterate
CHARACTER = scope:illiterate
OPINION = 0
}
scope:illiterate = {
add_opinion = {
target = root
modifier = insult_opinion
opinion = -25
}
}
if = {
limit = {
any_vassal = {
learning > decent_skill_rating
NOT = {
has_trait = compassionate
}
}
}
every_vassal = {
custom = high_learning_custom
limit = {
learning > decent_skill_rating
NOT = {
has_trait = compassionate
}
}
add_opinion = {
modifier = respect_opinion
target = root
opinion = 20
}
}
}
create_character_memory = {
type = humiliated_illiterate
participants = {
illiterate = scope:illiterate
}
}
stress_impact = {
irritable = medium_stress_impact_loss
humble = medium_stress_impact_gain
patient = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
trusting = minor_stress_impact_gain
diligent = minor_stress_impact_gain
}
ai_chance = {
base = 15
ai_value_modifier = {
ai_zeal = 0.25
ai_boldness = 0.75
ai_compassion = -1
ai_honor = -0.5
}
}
}
}