You are on page 1of 74

namespace = learning_medicine

namespace = learning_medicine_special
##################################################

# Learning Medicine Lifestyle events

# 2001 - Become Herbalist, by Mathilda Bjarnehed


# 2010 - Improve court Physician, by Mathilda Bjarnehed
# 2020 - Fertility treatment, by Mathilda Bjarnehed
# 2030 - Healthy coping mechanism: becoming a confider, by
Mathilda Bjarnehed
# 2040 - Healthy coping mechanism: journaller or athletic,
by Mathilda Bjarnehed
# 2050 - Helping healing hand (medicine friend), by Mathilda
Bjarnehed
# 2110 - A vassal (or your liege) wants to eat some hashish
while visiting your capital, by Ewan Cowhig Croft

#Special Learning Medicine Lifestyle events


# 1001 - Study Cadavers, by Linnéa Thimrén
# 2100 - You consume a hallucinogenic fish, by Ewan Cowhig
Croft

##################################################

##################################################
# Become a herbalist
# by Mathilda Bjarnehed
##################################################

scripted_trigger learning_medicine_2001_basic_herbalist_trigger = {
has_trait = lifestyle_herbalist
is_available_ai = yes
is_adult = yes
}

scripted_trigger learning_medicine_2001_pool_herbalist_trigger = {
learning_medicine_2001_basic_herbalist_trigger = yes
guest_allowed_to_arrive_trigger = { HOST = root }
}

learning_medicine.2001 = { #by Mathilda Bjarnehed


type = character_event
title = learning_medicine.2001.t
desc = {
first_valid = {
triggered_desc = {
trigger = { scope:herbalist = { is_pool_character = yes } }
desc = learning_medicine.2001.pool.desc
}
desc = learning_medicine.2001.no_pool.desc
}
triggered_desc = {
trigger = { exists = scope:chaplain_hates_herbs }
desc = learning_medicine.2001.chaplain_hates_herbs.desc
}
}
theme = learning_medicine_focus
left_portrait = {
character = scope:herbalist
}
right_portrait = {
character = scope:chaplain_hates_herbs
animation = disapproval
}

trigger = {
is_landed = yes
exists = root.capital_province
OR = {
learning >= high_skill_rating
culture = { has_cultural_parameter = herbalist_traits_more_common
}
}
NOR = {
has_character_flag = had_event_learning_medicine_2001
has_trait = lifestyle_herbalist
}
}

weight_multiplier = {
base = 1
modifier = {
OR = {
any_courtier_or_guest =
{ learning_medicine_2001_basic_herbalist_trigger = yes }
any_relation = { type = friend
learning_medicine_2001_basic_herbalist_trigger = yes }
}
add = 0.75
}
upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}

immediate = {
add_character_flag = {
flag = had_event_learning_medicine_2001
years = 5
}
#Pick a herbalist
#Friends get extra chance by not being merged with court/pool and
witches are weighted for/are prioritized
random_list = {
3 = { #Friends
trigger = { any_relation = { type = friend
learning_medicine_2001_basic_herbalist_trigger = yes } }
modifier = {
any_relation = {
type = friend
learning_medicine_2001_basic_herbalist_trigger
= yes
is_witch_trigger = yes
}
factor = 3
}
random_relation = {
type = friend
limit = {
learning_medicine_2001_basic_herbalist_trigger
= yes
is_witch_trigger = yes
}
alternative_limit =
{ learning_medicine_2001_basic_herbalist_trigger = yes }
save_scope_as = herbalist
}
}
2 = { #Courtiers
trigger = { any_courtier_or_guest =
{ learning_medicine_2001_basic_herbalist_trigger = yes } }
modifier = {
any_courtier_or_guest = {
learning_medicine_2001_basic_herbalist_trigger
= yes
is_witch_trigger = yes
}
factor = 3
}
random_courtier_or_guest = {
limit = {
learning_medicine_2001_basic_herbalist_trigger
= yes
is_witch_trigger = yes
}
alternative_limit =
{ learning_medicine_2001_basic_herbalist_trigger = yes }
save_scope_as = herbalist
}
}
1 = { #Pool characters
trigger = {
any_pool_character = {
province = root.capital_province
learning_medicine_2001_pool_herbalist_trigger =
yes
}
}
random_pool_character = {
province = root.capital_province
limit =
{ learning_medicine_2001_pool_herbalist_trigger = yes }
weight = { #Pool characters don't get witch prio,
only witch weight, or it will be super easy to find a witch (probably)
base = 1
modifier = {
factor = 3
is_witch_trigger = yes
}
}
save_scope_as = herbalist
}
}
}
#No one there? Make one
if = {
limit = { NOT = { exists = scope:herbalist } }
random_list = {
90 = { #Make a regular herbalist
create_character = {
location = root.capital_province
faith = root.faith
culture = root.culture
template = witchy_template
save_scope_as = herbalist
}
}
10 = { #Make a witch
modifier = {
root = { is_ai = no }
add = 20
}
create_witch_effect = { WHO = root }
scope:created_witch = { save_scope_as = herbalist }
}
}
}

#Give a flower to someone option?


if = {
limit = {
any_scheme = {
OR = {
scheme_type = seduce
scheme_type = courting
}
}
}
random_scheme = {
limit = {
OR = {
scheme_type = seduce
scheme_type = courting
}
}
scheme_target = { save_scope_as = flower_receiver }
}
}
else_if = {
limit = { any_relation = { type = soulmate always = yes } }
random_relation = { type = soulmate save_scope_as =
flower_receiver }
}
else_if = {
limit = { exists = primary_spouse }
primary_spouse = { save_scope_as = flower_receiver }
}

#Would the court chaplain disagree?


random_learning_councillor = {
limit = {
NOR = {
has_trait = lifestyle_herbalist
faith = { has_doctrine_parameter =
witchcraft_accepted }
ai_zeal <= high_negative_ai_value
}
}
save_scope_as = chaplain_hates_herbs
}
}

#Learn herbalism
option = {
name = learning_medicine.2001.a

add_trait = lifestyle_herbalist

if = {
limit = { exists = scope:chaplain_hates_herbs }
reverse_add_opinion = {
target = scope:chaplain_hates_herbs
modifier = impious_opinion
opinion = -20
}
}

#Chance to become witch


hidden_effect = {
random_list = {
#Yes
30 = {
trigger_event = {
id = learning_medicine.2002
days = { 7 14 }
}
modifier = {
add = 30
OR = {
# Driven to look for deeper meanings to
things (Regardless of if they're there or not)
has_trait = ambitious
has_trait = paranoid
}
}
}
#No
70 = {
modifier = {
scope:herbalist = { is_witch_trigger = yes }
add = -70
}
modifier = {
add = 50
OR = {
# Unwilling to see the truth...
has_trait = zealous
has_trait = trusting
# ...or unable to see the truth.
has_trait = dull
has_trait = intellect_bad
}
}
}
}
}

#Pool character becomes guest


if = {
limit = { scope:herbalist = { is_pool_character = yes } }
add_visiting_courtier = scope:herbalist
}
}

#Arrange a garden
option = {
name = learning_medicine.2001.c
add_piety = medium_piety_value
#Pool character becomes guest
if = {
limit = { scope:herbalist = { is_pool_character = yes } }
add_visiting_courtier = scope:herbalist
}
}

#Help me pick a bouqet


option = {
trigger = {
exists = scope:flower_receiver
}
name = learning_medicine.2001.b
#Scheme modifier or opinion bonus
if = {
limit = {
any_scheme = {
OR = {
scheme_type = seduce
scheme_type = courting
}
scheme_target = scope:flower_receiver
}
}
random_scheme = {
limit = {
OR = {
scheme_type = seduce
scheme_type = courting
}
scheme_target = scope:flower_receiver
}
add_scheme_modifier = {
type = seduce_and_courting_fragrant_flowers_modifier
}
}
}
else = {
reverse_add_opinion = {
target = scope:flower_receiver
modifier = romance_opinion
opinion = 20
}
}

#Pool character becomes guest


if = {
limit = { scope:herbalist = { is_pool_character = yes } }
add_visiting_courtier = scope:herbalist
}
}

#Condemn
option = {
name = {
trigger = { NOT = { exists = scope:chaplain_hates_herbs } }
text = learning_medicine.2001.d
}
name = {
trigger = { exists = scope:chaplain_hates_herbs }
text = learning_medicine.2001.d.chaplain_hates_herbs
}

zealous_progression_effect = yes

reverse_add_opinion = {
target = scope:herbalist
modifier = insulted_opinion
opinion = -15
}

if = {
limit = { exists = scope:chaplain_hates_herbs }
reverse_add_opinion = {
target = scope:chaplain_hates_herbs
modifier = pious_opinion
opinion = 25
}
}

after = {
add_learning_lifestyle_xp = minor_lifestyle_xp
}
}

#Become a witch?
learning_medicine.2002 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2001.t
desc = {
desc = learning_medicine.2002.start.desc
first_valid = {
triggered_desc = {
trigger = {
exists = scope:chaplain_hates_herbs
any_learning_councillor = { this =
scope:chaplain_hates_herbs }
}
desc = learning_medicine.2002.chaplain_hates_herbs.desc
}
triggered_desc = {
trigger = {
faith = { NOT = { has_doctrine_parameter =
witchcraft_accepted } }
}
desc = learning_medicine.2002.not_witchcraft_accepted.desc
}
desc = learning_medicine.2002.witchcraft_accepted.desc
}
}

theme = learning_medicine_focus
left_portrait = scope:herbalist

trigger = {
scope:herbalist = {
basic_is_available_ai = yes
OR = {
has_relation_friend = root
is_courtier_of = root
is_foreign_court_or_pool_guest_of = root
}
}
}

#Ask to be made witch


option = {
name = learning_medicine.2002.a

random_list = {
1 = { #Become a witch
show_chance = no
desc = learning_medicine.2002.a.success.t
modifier = {
scope:herbalist = { is_witch_trigger = no }
add = -1
}
show_as_tooltip = { give_witch_secret_or_trait_effect = yes
}
trigger_event = learning_medicine.2003
}
1 = { #They're not actually a witch
show_chance = no
desc = learning_medicine.2002.a.failure.t
trigger = { #If we know that she is a witch, don't even
bother showing failure
scope:herbalist = {
NOR = {
has_trait = witch
any_secret = {
secret_type = secret_witch
is_known_by = root
}
}
}
}
modifier = {
scope:herbalist = { is_witch_trigger = yes }
add = -1
}
send_interface_toast = {
title = learning_medicine.2002.a.failure.t
left_icon = scope:herbalist
if = {
limit = { scope:herbalist = { faith = { NOT = {
has_doctrine_parameter = witchcraft_accepted } } } }
reverse_add_opinion = {
target = scope:herbalist
modifier = impious_opinion
opinion = -15
}

if = {
limit = { faith = { NOT =
{ has_doctrine_parameter = witchcraft_accepted } } }
add_piety = minor_piety_loss
}
}
}
}
}
}

#Investigate
option = {
trigger = {
intrigue >= mediocre_skill_rating
scope:herbalist = {
NOR = {
has_trait = witch
any_secret = {
secret_type = secret_witch
is_known_by = root
}
}
}
}
skill = intrigue
name = learning_medicine.2002.b

duel = {
skill = intrigue
target = scope:herbalist
20 = { #TRUTH
desc = learning_medicine.2002.b.success.t
compare_modifier = {
value = scope:duel_value
}
custom_tooltip = learning_medicine.2002.b.success.tt

hidden_effect = {
if = {
limit = { scope:herbalist = { is_witch_trigger
= yes } }
send_interface_toast = {
title =
learning_medicine.2002.b.success.witch.t
left_icon = scope:herbalist
add_learning_lifestyle_xp =
minor_lifestyle_xp
scope:herbalist = {
random_secret = {
limit = { secret_type =
secret_witch }
reveal_to = root
}
}
}
}
else = {
send_interface_toast = {
title =
learning_medicine.2002.b.success.no_witch.t
left_icon = scope:herbalist
desc =
learning_medicine.2002.b.success.no_witch.desc
add_learning_lifestyle_xp =
minor_lifestyle_xp
}
}
}
}
10 = { #INCONCLUSIVE
desc = learning_medicine.2002.b.inconclusive.t
compare_modifier = {
value = scope:duel_value
multiplier = -0.2
}
send_interface_toast = {
title = learning_medicine.2002.b.inconclusive.t
left_icon = scope:herbalist
desc = learning_medicine.2002.b.inconclusive.desc
}
}
10 = { #CAUGHT
desc = learning_medicine.2002.b.failure.t
compare_modifier = {
value = scope:duel_value
multiplier = -0.5
}
send_interface_toast = {
title = learning_medicine.2002.b.failure.t
left_icon = scope:herbalist
reverse_add_opinion = {
target = scope:herbalist
modifier = disappointed_opinion
opinion = -20
}
}
}
}
}

#Let it go
option = {
name = learning_medicine.2002.c
add_character_modifier = {
modifier = diligent_student
years = 5
}

reverse_add_opinion = {
target = scope:herbalist
modifier = respect_opinion
opinion = 15
}
}
}

#You become a cool witch!


learning_medicine.2003 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2001.t
desc = learning_medicine.2003.desc

theme = learning_medicine_focus
left_portrait = scope:herbalist

immediate = {
play_music_cue = "mx_cue_murder"
scope:herbalist = {
random_secret = {
limit = {
secret_type = secret_witch
NOT = { is_known_by = root }
}
reveal_to = root
}
}
}

option = {
name = learning_medicine.2003.a
give_witch_secret_or_trait_effect = yes
}
}

##################################################
# Improve the skills of your court physician
# by Mathilda Bjarnehed
##################################################
learning_medicine.2010 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2010.t
desc = {
desc = learning_medicine.2010.start.desc
first_valid = {
random_valid = {
triggered_desc = {
trigger = {
NOR = {
has_culture = culture:greek
scope:court_physician = { has_culture =
culture:greek }
}
}
desc = learning_medicine.2010.galen.desc
}
triggered_desc = {
trigger = {
NOR = {
has_culture = culture:greek
scope:court_physician = { has_culture =
culture:greek }
}
}
desc = learning_medicine.2010.hippocrates.desc
}
triggered_desc = {
trigger = {
NOR = {
has_culture = culture:greek
scope:court_physician = { has_culture =
culture:greek }
}
}
desc = learning_medicine.2010.herophilus.desc
}
triggered_desc = {
trigger = { current_date >= 1120.1.1 }
desc = learning_medicine.2010.hildegard.desc
}
triggered_desc = {
trigger = { current_date >= 1316.12.30 }
desc = learning_medicine.2010.mundinus.desc
}
triggered_desc = {
trigger = {
NOR = {
culture = { has_cultural_pillar =
heritage_arabic }
scope:court_physician = { culture =
{ has_cultural_pillar = heritage_arabic } }
faith = { religion_tag = islam_religion }
scope:court_physician.faith =
{ religion_tag = islam_religion }
}
current_date >= 1225.1.1
}
desc = learning_medicine.2010.avicenna.desc
}
triggered_desc = {
trigger = {
NOR = {
has_culture = culture:italian
scope:court_physician = { has_culture =
culture:italian }
}
current_date >= 1150.1.1
}
desc = learning_medicine.2010.trota.desc
}
}
desc = learning_medicine.2010.fallback.desc
}
desc = learning_medicine.2010.end.desc
}

theme = learning_medicine_focus
left_portrait = scope:court_physician

trigger = {
court_physician_available_trigger = yes
NOT = { has_character_flag = had_event_learning_medicine_2010 }
}

weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}

immediate = {
save_court_physician_as_effect = { SCOPE_NAME = court_physician }
add_character_flag = {
flag = had_event_learning_medicine_2010
years = 5
}
}

#Help out
option = {
name = learning_medicine.2010.a
duel = {
skill = learning
value = mediocre_skill_rating
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
}
desc = learning_medicine.2010.a.success.desc
send_interface_toast = {
title = learning_medicine.2010.a.success.desc
left_icon = scope:court_physician
scope:court_physician = {
add_learning_skill = 2
}
add_learning_lifestyle_xp = major_lifestyle_xp
}
}
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
desc = learning_medicine.2010.a.failure.desc
send_interface_toast = {
title = learning_medicine.2010.a.failure.desc
left_icon = scope:court_physician
reverse_add_opinion = {
target = scope:court_physician
modifier = disappointed_opinion
opinion = -10
}
}
}
}
cynical_progression_effect = yes
}

#These books are bad, I know better ones


option = {
name = learning_medicine.2010.b
add_learning_lifestyle_xp = minor_lifestyle_xp
remove_short_term_gold = minor_gold_value

scope:court_physician = {
physician_lifestyle_rank_up_effect = yes
}
}

#You should look to the holy text instead!


option = {
name = learning_medicine.2010.c
add_learning_lifestyle_xp = minor_lifestyle_xp
add_piety = medium_piety_value
if = {
limit = {
scope:court_physician = { ai_zeal >=
low_positive_ai_value }
faith = scope:court_physician.faith
}
reverse_add_opinion = {
target = scope:court_physician
modifier = pious_opinion
opinion = 15
}
}
else = {
reverse_add_opinion = {
target = scope:court_physician
modifier = disappointed_opinion
opinion = -10
}
}

zealous_progression_effect = yes
}
}

##################################################
# Fertility treatment
# by Mathilda Bjarnehed
##################################################

scripted_trigger learning_medicine_2020_can_have_child_trigger = {
trigger_if = {
limit = { is_male = yes }
is_visibly_fertile = yes
fertility >= 0.1
}
trigger_if = {
limit = { is_female = yes }
is_visibly_fertile = yes
fertility >= 0.1
is_pregnant = no
}
}

learning_medicine.2020 = {
hidden = yes

trigger = {
learning_medicine_2020_can_have_child_trigger = yes
any_spouse = { learning_medicine_2020_can_have_child_trigger = yes }
NAND = {
any_child = {
character_gender_can_inherit_from_trigger = { CHARACTER =
root }
count >= 4
}
player_heir.dynasty = root.dynasty
}
NOT = { has_character_flag = had_event_learning_medicine_2020 }
}

weight_multiplier = {
base = 1

#Age
modifier = {
add = {
value = age
subtract = 30 #An age where you could start to worry
multiply = 0.06 #45 years = 1
min = -1
max = 1.5
}
}

#Fertility
modifier = {
add = {
add = 1 #100% fertility
subtract = {
add = fertility
add = primary_spouse.fertility
divide = 2 #To get the average fertility
}
#Now we have the inverted fertility, the lower the
fertility, the higher the remaining number is
subtract = medium_fertility #So high fertility equals
negative modifier
}
}

#Number of children
modifier = {
add = {
every_child = {
if = {
limit =
{ character_gender_can_inherit_from_trigger = { CHARACTER = root } }
add = -0.25
}
else = {
add = -0.1
}
}
}
}

upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }


}

immediate = {
save_court_physician_as_effect = { SCOPE_NAME = physician }

if = {
limit = { exists = scope:physician }
save_scope_value_as = {
name = new_physician
value = no
}
trigger_event = learning_medicine.2022
}
else_if = {
limit = {
can_employ_court_position_type =
court_physician_court_position
}
save_scope_value_as = {
name = new_physician
value = yes
}
trigger_event = learning_medicine.2021
}

add_character_flag = {
flag = had_event_learning_medicine_2020
years = 10
}
}
}

#You have no physician but this person wants to help you with fertility issues!
learning_medicine.2021 = { #by Mathilda Bjarnehed
type = letter_event
opening = learning_medicine.2021.t
desc = learning_medicine.2021.desc
sender = scope:physician

immediate = {
random_pool_character = {
province = root.capital_province
limit = { learning >= medium_skill_rating }
weight = {
base = 1
modifier = {
add = {
value = learning
subtract = medium_skill_rating
}
}
}
save_scope_as = physician
}
if = {
limit = { NOT = { exists = scope:physician } }
create_character = {
template = pool_repopulate_learning
gender_female_chance = 50
location = root.capital_province
save_scope_as = physician
}
}
}

#Yes I want your services


option = {
name = learning_medicine.2021.a

pay_short_term_gold = {
gold = high_skill_court_physician_cost
target = scope:physician
}
add_courtier = scope:physician
set_court_physician_effect = {
EMPLOYER = root
PHYSICIAN = scope:physician
}
custom_tooltip = learning_medicine.2021.a.tt

trigger_event = {
id = learning_medicine.2022
days = { 7 10 }
}
}

#Maybe there is something else you can help me with


option = {
name = learning_medicine.2021.b
custom_tooltip = learning_medicine.2021.b.tt
pay_short_term_gold = {
gold = low_skill_court_physician_cost
target = scope:physician
}
add_courtier = scope:physician
set_court_physician_effect = {
EMPLOYER = root
PHYSICIAN = scope:physician
}
}

#Nah thanks
option = {
name = learning_medicine.2021.c
add_prestige = miniscule_prestige_gain
}
}

#Physician offers you to try different methods


scripted_trigger learning_medicine_2022_valid_physician_trigger = {
exists = scope:physician
root = {
any_court_position_holder = {
type = court_physician_court_position
this = scope:physician
}
}
}

learning_medicine.2022 = { #by Mathilda Bjarnehed


type = character_event
title = learning_medicine.2022.t
desc = {
first_valid = {
triggered_desc = {
trigger = { scope:new_physician = no }
desc = learning_medicine.2022.old_physician.desc
}
triggered_desc = {
trigger = { scope:new_physician = yes }
desc = learning_medicine.2022.new_physician.desc
}
}
}

theme = learning_medicine_focus
left_portrait = scope:physician
right_portrait = scope:spouse

trigger = {
learning_medicine_2022_valid_physician_trigger = yes
any_spouse = { learning_medicine_2020_can_have_child_trigger = yes }
}

immediate = {
#pick a spouse
random_spouse = {
limit = {
learning_medicine_2020_can_have_child_trigger = yes
this = root.primary_spouse
}
alternative_limit = {
learning_medicine_2020_can_have_child_trigger = yes
}
save_scope_as = spouse
if = {
limit = { is_female = yes }
save_scope_as = woman
}
else = {
save_scope_as = man
}
}
if = {
limit = { is_female = yes }
save_scope_as = woman
}
else = {
save_scope_as = man
}
}

#Something safe
option = {
name = learning_medicine.2022.b

random_list = {
85 = {
modifier = {
add = {
value = scope:physician.learning
subtract = average_skill_rating
multiply = 5
}
}
desc = learning_medicine.2022.b.success
send_interface_toast = {
title = learning_medicine.2022.b.success
left_icon = scope:physician
right_icon = scope:spouse
add_character_modifier = {
modifier = successful_fertility_treatment
years = 10
}
scope:spouse = {
add_character_modifier = {
modifier = successful_fertility_treatment
years = 10
}
}
}
}
15 = {
modifier = {
add = {
value = scope:physician.learning
subtract = average_skill_rating
multiply = -1
min = -10
}
}
desc = learning_medicine.2022.b.failure
send_interface_toast = {
title = learning_medicine.2022.b.failure
left_icon = scope:physician
right_icon = scope:spouse
add_character_modifier = {
modifier = botched_fertility_treatment
years = 5
}
scope:spouse = {
add_character_modifier = {
modifier = botched_fertility_treatment
years = 5
}
}
}
}
}
}

#Something new
option = {
name = learning_medicine.2022.a

random_list = {
desc = outcome_in_a_few_days
55 = { #Good outcome
modifier = {
add = {
value = scope:physician.learning
subtract = average_skill_rating
multiply = 5
}
}
desc = learning_medicine.2022.a.success
show_as_tooltip = {
add_character_modifier = {
modifier = very_successful_fertility_treatment
years = 10
}
scope:spouse = {
add_character_modifier = {
modifier =
very_successful_fertility_treatment
years = 10
}
}
}
trigger_event = {
id = learning_medicine.2023
days = { 3 7 }
}
}
30 = { #Strange outcome
modifier = {
scope:physician = {
OR = {
has_trait = lifestyle_mystic
ai_honor <= medium_negative_ai_value
}
}
add = 20
}
trigger = { is_ai = no }
desc = learning_medicine.2022.a.unexpected
custom_tooltip = learning_medicine.2022.a.unexpected.tt
hidden_effect = {
random_list = {
30 = { #Did the court physician have sex with
my spouse...?
trigger = {
scope:spouse = { is_female = yes }
scope:physician = {
is_male = yes

learning_medicine_2020_can_have_child_trigger = yes
}
}
modifier = {
add = {
value =
scope:physician.ai_honor
divide =
high_negative_ai_value
multiply = 30
}
}
hidden_effect = {
scope:spouse = {
random_list = {
80 = {

had_sex_with_effect = { #Use effect because we want possibility of suspicion


CHARACTER =
scope:physician

PREGNANCY_CHANCE = 100
}
}

20 = {
make_pregnant = {
father =
root
}
}
}
}
}
trigger_event = {
id = learning_medicine.2025
days = { 30 40 }
}
}
70 = { #Regular side effects (good outcome +
additional effects)
save_scope_value_as = {
name = side_effects
value = yes
}
trigger_event = {
id = learning_medicine.2023 #The
good outcome
days = { 3 7 }
}
}
}
}
}
15 = { # Bad outcome
modifier = {
add = {
value = scope:physician.learning
subtract = average_skill_rating
multiply = -1
min = -10
}
}
desc = learning_medicine.2022.a.failure
trigger_event = {
id = learning_medicine.2024
days = { 3 7 }
}
show_as_tooltip = {
add_character_modifier = {
modifier = botched_fertility_treatment
years = 5
}
scope:spouse = {
add_character_modifier = {
modifier = botched_fertility_treatment
years = 5
}
}
}
}
}
}

#Actually, I just want some... tricks


option = {
name = learning_medicine.2022.c

reverse_add_opinion = {
target = scope:spouse
modifier = romance_opinion
opinion = 25
}
}

#Nah thanks
option = {
trigger = { scope:new_physician = no }
name = learning_medicine.2021.c
add_prestige = miniscule_prestige_gain
}
}

scripted_trigger learning_medicine_2023_continue_chain_trigger = {
learning_medicine_2022_valid_physician_trigger = yes
exists = scope:spouse
scope:spouse = {
is_alive = yes
is_consort_of = root
}
}

#Risky option: It went great!


learning_medicine.2023 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2022.t
desc = {
random_valid = {
desc = {
desc = learning_medicine.2023.urine.desc
desc = learning_medicine.2023.unpleasant_end.desc
}
desc = {
desc = learning_medicine.2023.pig_testicles.desc
desc = learning_medicine.2023.pig_testicles_end.desc
}
desc = {
desc = learning_medicine.2023.udder.desc
desc = learning_medicine.2023.unpleasant_end.desc
}
desc = {
desc = learning_medicine.2023.milk_bath.desc
desc = learning_medicine.2023.milk_bath_end.desc
}
desc = {
desc = learning_medicine.2023.female_orgasm.start.desc
first_valid = {
triggered_desc = {
trigger = { is_female = yes }
desc =
learning_medicine.2023.female_orgasm.female.desc
}
triggered_desc = {
trigger = { is_male = yes }
desc =
learning_medicine.2023.female_orgasm.male.desc
}
}
}
}
desc = learning_medicine.2023.end.desc
}

theme = learning_medicine_focus
left_portrait = scope:physician
right_portrait = scope:spouse

trigger = {
learning_medicine_2023_continue_chain_trigger = yes
}

immediate = {
play_music_cue = "mx_cue_epic_sacral_moment"
hidden_effect = {
if = {
limit = {
scope:woman = { is_pregnant = no } #We could have
gotten pregnant while waiting
}
if = {
limit = { exists = scope:side_effects }

random_list = {
10 = { #Far away pregnancy
trigger = { scope:spouse = { is_female =
yes } }
random_independent_ruler = {
limit = {
is_landed = yes
NOT = {
in_diplomatic_range =
root
}
}
weight = {
base = 1
modifier = {
add = 1000
capital_province = {
squared_distance =
{
target =
root.capital_province
value >=
squared_distance_monstrous
}
}
}
}
save_scope_as = foreign_ruler
create_character = {
location =
root.capital_province
template_character =
scope:foreign_ruler
gender = male
age = { 15 35 }
save_scope_as =
foreign_father
}
}
scope:spouse = {
had_sex_with_effect = {
CHARACTER =
scope:foreign_father
PREGNANCY_CHANCE =
pregnancy_chance
}
}
}
15 = { #Incest pregnancy
trigger = {
scope:spouse = {
is_female = yes
NOT = { has_trait = chaste }
any_close_family_member = {
is_male = yes
learning_medicine_2020_can_have_child_trigger = yes
save_temporary_scope_as
= incest_relative
NOR = {
has_trait = chaste

guaranteed_under_20_incest_rejection_trigger = {
TARGET =
scope:incest_relative
SEDUCER =
scope:spouse
}

guaranteed_under_20_incest_rejection_trigger = {
TARGET =
scope:spouse
SEDUCER =
scope:incest_relative
}
}
}
}
}
scope:spouse = {
random_close_family_member = {
limit = {
is_male = yes

learning_medicine_2020_can_have_child_trigger = yes
NOR = {
has_trait = chaste

guaranteed_under_20_incest_rejection_trigger = {
TARGET =
scope:incest_relative
SEDUCER =
scope:spouse
}

guaranteed_under_20_incest_rejection_trigger = {
TARGET =
scope:spouse
SEDUCER =
scope:incest_relative
}
}
}
save_scope_as = incest_father
}
had_sex_with_effect = { #Use effect
because we want possibility of suspicion
CHARACTER =
scope:incest_father
PREGNANCY_CHANCE = 100
}
}
}
30 = { #Unexpected trait
scope:woman = {
add_character_flag = {
flag =
medicine_learning_fertility_treamtent_unexpected_trait
years = 1
}
make_pregnant = {
father = scope:man
}
}
}
45 = { #Twins
scope:woman = {
make_pregnant = {
father = scope:man
number_of_children = 2
}
}
}
}
}
else = { #Just regular pregnancy roll
random = {
chance = 50
scope:woman = {
had_sex_with_effect = {
CHARACTER = scope:man
PREGNANCY_CHANCE = pregnancy_chance
}
}
}
}
}

location = { save_scope_as = location }


}
}

option = {
name = learning_medicine.2023.a

add_character_modifier = {
modifier = very_successful_fertility_treatment
years = 10
}
reverse_add_opinion = {
modifier = romance_opinion
target = scope:spouse
opinion = 15
}
scope:spouse = {
add_character_modifier = {
modifier = very_successful_fertility_treatment
years = 10
}
}
}
}
#Risky option: It went awful!
learning_medicine.2024 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2022.t
desc = {
random_valid = {
desc = learning_medicine.2023.urine.desc
desc = learning_medicine.2023.pig_testicles.desc
desc = learning_medicine.2023.udder.desc
desc = learning_medicine.2023.milk_bath.desc
}
desc = learning_medicine.2024.end.desc
}

theme = learning_medicine_focus
left_portrait = scope:physician
right_portrait = scope:spouse

trigger = {
learning_medicine_2023_continue_chain_trigger = yes
}

immediate = {
add_character_modifier = {
modifier = botched_fertility_treatment
years = 5
}
scope:spouse = {
add_character_modifier = {
modifier = botched_fertility_treatment
years = 5
}
}
location = { save_scope_as = location }
}

#Forgive
option = {
name = learning_medicine.2024.a

reverse_add_opinion = {
target = scope:physician
modifier = grateful_opinion
opinion = 10
}

stress_impact = {
wrathful = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
callous = minor_stress_impact_gain
vengeful = medium_stress_impact_gain
}

ai_chance = {
base = 100
ai_compassion_target_modifier = { VALUE = 50 }
ai_vengefulness_target_modifier = { VALUE = -50 }
}
}

#Imprison
option = {
name = learning_medicine.2024.b

imprison_physician_effect = yes

stress_impact = {
forgiving = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
content = minor_stress_impact_gain
}

ai_chance = {
base = 30
ai_compassion_target_modifier = { VALUE = -30 }
ai_vengefulness_target_modifier = { VALUE = 100 }
}
}
}

#Risky option: My spouse is pregnant but nothing was done...?


learning_medicine.2025 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2022.t
desc = {
desc = learning_medicine.2025.start.desc
first_valid = {
triggered_desc = {
trigger = { scope:physician.faith =
{ fertilitygod_is_active_trigger = yes } }
desc = learning_medicine.2025.fertilitygod.desc
}
desc = learning_medicine.2025.the_universe.desc
}
desc = learning_medicine.2025.end.desc
}

theme = learning_medicine_focus
left_portrait = scope:physician
right_portrait = scope:spouse

trigger = {
learning_medicine_2023_continue_chain_trigger = yes
}

#Ok
option = {
name = learning_medicine.2025.b

stress_impact = {
paranoid = medium_stress_impact_gain
}

ai_chance = {
base = 100
modifier = {
has_trait = paranoid
add = -90
}
}
}

option = { #Confront spouse!


name = learning_medicine.2025.a
custom_tooltip = learning_medicine.2025.a.tt

add_character_flag = confront_spouse

ai_chance = {
base = 20
ai_value_modifier = {
ai_boldness = 0.5
}
}
}

after = {
hidden_effect = {
if = {
limit = { has_character_flag = confront_spouse }
remove_character_flag = confront_spouse
scope:spouse = { save_scope_as = lover_spouse }
save_scope_as = spouse
scope:lover_spouse = {
trigger_event = {
id = adultery.0003
}
}
}
}
}
}

#######################################
# Healthy coping mechanism: becoming a confider
# by Mathilda Bjarnehed
#######################################

scripted_trigger leaning_medicine_2030_potential_confider_friend_trigger = {
opinion = {
target = root
value >= low_positive_opinion
}
target_is_liege_or_above = root.top_liege
basic_is_available_ai = yes
is_adult = yes
NOT = { has_relation_rival = root }
}

scripted_effect medicine_2030_confider_chance_effect = {
random = {
chance = 40
modifier = {
has_relation_friend = $FRIEND$
add = 25
}
modifier = {
add = {
value = ai_honor
divide = high_positive_ai_value
multiply = 40
max = 40
min = -20
}
}

send_interface_toast = {
title = learning_medicine.2030.a.message
add_trait = confider
scope:confider_target = {
if = {
limit = { has_relation_friend = root }
if = {
limit = {
has_relation_best_friend = root
}
add_relation_flag = {
target = root
relation = best_friend
flag = has_been_confided_in
}
}
else = {
add_relation_flag = {
target = root
relation = friend
flag = has_been_confided_in
}
}
}
}
add_stress = medium_stress_loss
}
}
}

learning_medicine.2030 = { #by Mathilda Bjarnehed


type = character_event
title = learning_medicine.2030.t
desc = learning_medicine.2030.desc

theme = learning_medicine_focus
left_portrait = scope:confider_target
right_portrait = scope:confider_target_2

trigger = {
NOR = {
has_trait = confider
has_character_flag = had_event_learning_medicine_2030
}
get_characters_of_major_interest_trigger = { LISTNAME = confider_list }
any_in_list = {
list = confider_list
leaning_medicine_2030_potential_confider_friend_trigger = yes
}
}

weight_multiplier = {
base = 1
modifier = {
add = {
value = stress
divide = extremely_high_stress
multiply = 2
subtract = 0.5
max = 1 #Will end up with a modifier between -0.5 at 0
stress and 1 at upper third of stress scale
}
}
upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}

immediate = {
add_character_flag = {
flag = had_event_learning_medicine_2030
years = 10
}

#Build confider list


get_characters_of_major_interest_effect = { LISTNAME = confider_list }

#OPTION 1 alternatives:
# Alt 1: Medicine friend helps you out (guaranteed confider)
# Alt 2: Confide in list character (random chance of confider)

#Do I have a medicine friend? if so, alt 1


random_relation = {
type = friend
limit = {
basic_is_available_ai = yes
lifestyle_friend_trigger = { CHARACTER = root FOCUS =
learning_medicine_focus }
}
save_scope_as = confider_target
save_scope_value_as = {
name = option_1
value = flag:medicine_friend_guaranteed
}
}

#No medicine friend? pick someone in list for alt 2


if = {
limit = { NOT = { exists = scope:option_1 } }

#Find someone to confide in (OPTION 1)


random_in_list = {
list = confider_list
limit = {

leaning_medicine_2030_potential_confider_friend_trigger = yes
lifestyle_friend_trigger = { CHARACTER = root FOCUS =
learning_medicine_focus }
}
alternative_limit =
{ leaning_medicine_2030_potential_confider_friend_trigger = yes }
weight = {
base = 1
modifier = {
OR = {
is_close_family_of = root
is_powerful_vassal = yes
}
add = 5
}
modifier = {
has_relation_potential_friend = root
add = 10
}
compatibility_modifier = {
compatibility_target = root
min = -20
max = 20
multiplier = 1
}
modifier = {
any_secret = {
NOT = { is_known_by = root }
}
add = 20
}
}
save_scope_as = confider_target
save_scope_value_as = {
name = option_1
value = flag:list_character_random
}
}
}

#OPTION 2 alternatives:
# Alt 1: Confide in list character (random chance of confider), if
option 1 is medicine friend or I have no secret to trade
# Alt 2: Secret trade with random list character (guaranteed confider)

#Alt 1: Confide in list character


if = {
limit = {
OR = {
scope:option_1 = flag:medicine_friend_guaranteed
NOT = {
any_secret = {
is_known_by = scope:confider_target
}
}
}
}

random_in_list = {
list = confider_list
limit = {
NOT = { this = scope:confider_target }

leaning_medicine_2030_potential_confider_friend_trigger = yes
NOT = { has_relation_friend = root } #Because there
is no friend benefit on this option
lifestyle_friend_trigger = { CHARACTER = root FOCUS =
learning_medicine_focus }
}
alternative_limit = {
NOT = { this = scope:confider_target }
NOT = { has_relation_friend = root } #Because there
is no friend benefit on this option

leaning_medicine_2030_potential_confider_friend_trigger = yes
}
weight = {
base = 1
modifier = {
OR = {
is_close_family_of = root
is_powerful_vassal = yes
}
add = 5
}
modifier = {
has_relation_potential_friend = root
add = 10
}
compatibility_modifier = {
compatibility_target = root
min = -20
max = 20
multiplier = 1
}
}
save_scope_as = confider_target_2
save_scope_value_as = {
name = option_2
value = flag:list_character_random
}
}
}
## Alt 2: Secret trade with random list character
else = {
#Find one of my secrets
random_secret = {
limit = {
is_shunned_for = root
NOT = { is_known_by = scope:confider_target }
}
alternative_limit = {
NOT = { is_known_by = scope:confider_target }
}
save_scope_as = root_secret
}

#Try to find one of their secrets for the trade


scope:confider_target = {
if = {
limit = { NOT = { any_secret = { NOT = { is_known_by
= root } } } }
give_random_likely_secret_effect = yes
}

random_secret = {
limit = {
is_blackmailable_secret_trigger = {
PARTICIPANT = scope:confider_target
BLACKMAILER = root
}
NOT = { is_known_by = root }
}
alternative_limit = {
NOT = { is_known_by = root }
}
save_scope_as = confider_target_secret
}
}

save_scope_value_as = {
name = option_2
value = flag:secret_trading_guaranteed
}
}
}

#OPTION 1

#Medicine friend helps you


option = {
trigger = { scope:option_1 = flag:medicine_friend_guaranteed }
name = learning_medicine.2030.a

add_trait = confider

scope:confider_target = {
add_relation_flag = {
target = root
relation = friend
flag = has_been_confided_in
}
}

stress_impact = {
base = major_stress_loss
deceitful = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
}

#Regular confide in target 1


option = {
trigger = { scope:option_1 = flag:list_character_random }
name = learning_medicine.2030.a

#Become friends or potential friend


progress_towards_friend_effect = { CHARACTER = scope:confider_target
OPINION = yes }

#Might become confider


medicine_2030_confider_chance_effect = { FRIEND = scope:confider_target
}

#Save them as a confidant if they became your friend


if = {
limit = {
has_relation_friend = scope:confider_target
}
scope:confider_target = {
add_relation_flag = {
target = root
relation = friend
flag = has_been_confided_in
}
}
}

stress_impact = {
deceitful = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
shy = minor_stress_impact_gain
}

ai_chance = {
base = 100
ai_boldness_target_modifier = { VALUE = 30 }
ai_honor_target_modifier = { VALUE = 100 }
}
}

#OPTION 2

#Regular confide in target 2


option = {
trigger = {
exists = scope:option_2
scope:option_2 = flag:list_character_random
}
name = learning_medicine.2030.b

#Become friends or potential friend


progress_towards_friend_effect = { CHARACTER = scope:confider_target_2
OPINION = yes }

#Might become confider


medicine_2030_confider_chance_effect = { FRIEND =
scope:confider_target_2 }

#Save them as a confidant if they became your friend


if = {
limit = {
has_relation_friend = scope:confider_target
}
scope:confider_target = {
if = {
limit = {
has_relation_best_friend = root
}
add_relation_flag = {
target = root
relation = best_friend
flag = has_been_confided_in
}
}
else = {
add_relation_flag = {
target = root
relation = friend
flag = has_been_confided_in
}
}
}
}

stress_impact = {
deceitful = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
shy = minor_stress_impact_gain
}

ai_chance = {
base = 100
ai_boldness_target_modifier = { VALUE = 30 }
ai_honor_target_modifier = { VALUE = 100 }
}
}

#Trader secrets with target 1


option = {
trigger = {
exists = scope:option_2
scope:option_2 = flag:secret_trading_guaranteed
exists = scope:root_secret
}
name = learning_medicine.2030.c

#Secret trading
scope:root_secret = {
reveal_to = scope:confider_target
}
custom_tooltip = learning_medicine.2030.c.tt
if = {
limit = { exists = scope:confider_target }
hidden_effect = {
send_interface_toast = {
title = learning_medicine.2030.c.message
left_icon = scope:confider_target
scope:confider_target_secret = {
reveal_to = root
}
}
}
}
#Set friendship, add trait and lose stress
if = {
limit = {
can_set_relation_friend_trigger = { CHARACTER =
scope:confider_target }
}
set_relation_friend = scope:confider_target
}

add_trait = confider

scope:confider_target = {
add_relation_flag = {
target = root
relation = friend
flag = has_been_confided_in
}
}

stress_impact = {
base = medium_stress_loss
deceitful = major_stress_impact_gain
paranoid = major_stress_impact_gain
shy = medium_stress_impact_gain
}

ai_chance = {
base = 50
ai_boldness_target_modifier = { VALUE = 15 }
ai_honor_target_modifier = { VALUE = 30 }
}
}

#OPTION 3 (fallback)

#Keep secrets close to chest


option = {
name = learning_medicine.2030.d

add_character_modifier = {
modifier = guarded_modifier
years = 15
}

stress_impact = {
honest = minor_stress_impact_gain
trusting = minor_stress_impact_gain
gregarious = minor_stress_impact_gain
}

ai_chance = {
base = 100
ai_boldness_target_modifier = { VALUE = -30 }
ai_honor_target_modifier = { VALUE = -50 }
}
}
}
################################################
# Healthy coping mechanism: journaller or athletic
# by Mathilda Bjarnehed
################################################

learning_medicine.2040 = { #by Mathilda Bjarnehed


type = character_event
title = learning_medicine.2040.t
desc = {
desc = learning_medicine.2040.start.desc
first_valid = {
triggered_desc = {
trigger = {
exists = scope:friend_help
scope:friend_help = flag:athletic
}
desc = learning_medicine.2040.athletic_friend.desc
}
triggered_desc = {
trigger = {
exists = scope:friend_help
scope:friend_help = flag:journaller
}
desc = learning_medicine.2040.journaller_friend.desc
}
desc = learning_medicine.2040.no_friend.desc
}
}

theme = learning_medicine_focus
left_portrait = scope:portrait

trigger = {
NOR = {
has_traits_that_negate_athletic_trigger = yes #Are we already
athletic or does any of our traits contradict athletic?
has_trait = journaller
has_character_flag = had_event_learning_medicine_2040
}
}

weight_multiplier = {
base = 1
modifier = {
add = {
value = stress
divide = extremely_high_stress
multiply = 2
subtract = 0.5
max = 1 #Will end up with a modifier between -0.5 at 0
stress and 1 at upper third of stress scale
}
}
upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}

immediate = {
add_character_flag = {
flag = had_event_learning_medicine_2040
flag = had_event_learning_medicine_2040
flag = had_event_learning_medicine_2040
years = 10
}

#Grab a medicine friend if we have one and randomize what they can help
you with
random_relation = {
type = friend
limit = {
basic_is_available_ai = yes
OR = {
lifestyle_friend_trigger = { CHARACTER = root FOCUS =
learning_medicine_focus }
has_trait = athletic
has_trait = journaller
}
}
save_scope_as = friend
save_scope_as = portrait
random_list = {
50 = { #Athletic
trigger = {
NAND = {
has_trait = journaller
NOT = { has_trait = athletic }
}
}
modifier = {
add = {
value = prowess
subtract = average_skill_rating
multiply = 10
}
}
modifier = {
add = {
value = ai_energy
divide = high_positive_ai_value
multiply = 50
}
}
save_scope_value_as = {
name = friend_help
value = flag:athletic
}
add_trait = athletic
}
50 = { #Journaller
trigger = {
NAND = {
has_trait = athletic
NOT = { has_trait = journaller }
}
}
modifier = {
add = {
value = learning
subtract = average_skill_rating
multiply = 10
}
}
modifier = {
add = {
value = ai_energy
divide = high_positive_ai_value
multiply = -30
}
}
modifier = {
has_trait = shy
add = 30
}
save_scope_value_as = {
name = friend_help
value = flag:journaller
}
add_trait = journaller
}
}
}

#If there is no medicine friend, we show ourselves on the portrait


if = {
limit = { NOT = { exists = scope:friend } }
save_scope_as = portrait
}
}

#FRIEND HELP OPTIONS

#Friend helps with athletic


option = {
trigger = {
exists = scope:friend_help
scope:friend_help = flag:athletic
}
name = learning_medicine.2040.a

add_trait = athletic

stress_impact = {
base = medium_stress_loss
lazy = minor_stress_impact_gain
}
}

#Friend helps with journaller


option = {
trigger = {
exists = scope:friend_help
scope:friend_help = flag:journaller
}
name = learning_medicine.2040.b

add_trait = journaller
stress_impact = {
base = medium_stress_loss
dull = minor_stress_impact_gain
intellect_bad_1 = minor_stress_impact_gain
intellect_bad_2 = minor_stress_impact_gain
intellect_bad_3 = minor_stress_impact_gain
}
}

#REGULAR OPTIONS

#Athletic
option = {
trigger = {
has_traits_that_negate_athletic_trigger = no #Fail-safe in case
the event gets triggered somehow
OR = {
NOT = { exists = scope:friend_help }
trigger_if = {
limit = {
exists = scope:friend_help
}
NOT = { scope:friend_help = flag:athletic }
}
}
}
name = learning_medicine.2040.c

random_list = {
50 = {
desc = learning_medicine.2030.c.trait
send_interface_toast = {
title = learning_medicine.2030.c.trait
add_trait = athletic
stress_impact = {
base = minor_stress_loss
}
}
}
50 = {
desc = learning_medicine.2030.c.modifier
send_interface_toast = {
title = learning_medicine.2030.c.modifier
add_character_modifier = {
modifier = exercise_modifier
years = 15
}
}
}
}

stress_impact = {
lazy = minor_stress_impact_gain
}
}

#Journaller
option = {
trigger = {
OR = {
NOT = { exists = scope:friend_help }
trigger_if = {
limit = {
exists = scope:friend_help
}
NOT = { scope:friend_help = flag:journaller }
}
}
}
name = learning_medicine.2040.d

random_list = {
50 = {
desc = learning_medicine.2030.d.trait
send_interface_toast = {
title = learning_medicine.2030.d.trait
add_trait = journaller
stress_impact = {
base = minor_stress_loss
}
}
}
50 = {
desc = learning_medicine.2030.d.modifier
send_interface_toast = {
title = learning_medicine.2030.d.modifier
add_character_modifier = {
modifier = wide_vocabulary_modifier
years = 15
}
}
}
}

stress_impact = {
dull = minor_stress_impact_gain
intellect_bad_1 = minor_stress_impact_gain
intellect_bad_2 = minor_stress_impact_gain
intellect_bad_3 = minor_stress_impact_gain
}
}

#OPT OUT
option = {
name = learning_medicine.2040.e

stress_impact = {
base = medium_stress_loss
diligent = minor_stress_impact_gain
}
}
}

#########################################################
# Helping healing hand (medicine friend)
# by Mathilda Bjarnehed
##########################################################

learning_medicine.2050 = { #by Mathilda Bjarnehed


type = character_event
title = learning_medicine.2050.t
desc = {
desc = learning_medicine.2050.start.desc
first_valid = {
triggered_desc = {
trigger = { exists = scope:physician }
desc = learning_medicine.2050.physician.desc
}
desc = learning_medicine.2050.no_physician.desc
}
desc = learning_medicine.2050.end.desc
}

theme = learning_medicine_focus
override_background = {
event_background = courtyard
}
left_portrait = scope:helper
right_portrait = {
character = scope:soldier
animation = fear
}

trigger = {
NOT = {
has_character_flag = had_event_learning_medicine_2050
}
is_landed = yes
}

weight_multiplier = {
base = 1
modifier = {
OR = {
any_knight = { prowess < average_skill_rating }
number_of_knights < max_number_of_knights
}
add = 0.5
}
upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}

immediate = {
play_music_cue = "mx_cue_stress"
add_character_flag = {
flag = had_event_learning_medicine_2050
years = 10
}
#Find a helper (potential friend)
if = {
limit = {
NOT = {
any_relation = {
type = friend
lifestyle_friend_trigger = { CHARACTER = root
FOCUS = learning_medicine_focus }
}
}
}
potential_lifestyle_friend_saving_effect = { FOCUS =
learning_medicine_focus SCOPE_NAME = helper }
}
else = {
random_relation = {
type = friend
limit = {
lifestyle_friend_trigger = { CHARACTER = root FOCUS =
learning_medicine_focus }
}
save_scope_as = helper
}
}

#Create a soldier
create_character = {
location = root.capital_province
template = pool_repopulate_prowess
save_scope_as = soldier
trait = wounded_2
}

#Grab physician for loc


if = {
limit = {
employs_court_position = court_physician_court_position
any_court_position_holder = {
type = court_physician_court_position
NOT = { this = scope:helper }
is_physically_able = yes
}
}
random_court_position_holder = {
type = court_physician_court_position
save_scope_as = physician
}
}
}

#Accept help
option = {
name = learning_medicine.2050.a

if = {
limit = {
has_relation_friend = scope:helper
}
show_as_tooltip = { medicine_2050_a_success_effect = yes }
trigger_event = learning_medicine.2051
}
else = {
duel = {
skill = learning
value = average_skill_rating
60 = {
desc = learning_medicine.2050.a.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
modifier = {
add = {
value = scope:helper.learning
subtract = average_skill_rating
multiply = 2
min = 10 #Guaranteed help
}
}
show_as_tooltip = { medicine_2050_a_success_effect =
yes }
trigger_event = learning_medicine.2051
}
40 = {
desc = learning_medicine.2050.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
}
modifier = {
add = {
value = scope:helper.learning
subtract = average_skill_rating
multiply = -2
max = 0 #They shouldn't make this worse
}
}
show_as_tooltip = { medicine_2050_a_failure_effect =
yes }
trigger_event = learning_medicine.2052
}
}
}

stress_impact = {
arrogant = minor_stress_impact_gain
}

ai_chance = {
base = 100
}
}

#Do it yourself
option = {
name = learning_medicine.2050.b

reverse_add_opinion = {
target = scope:helper
modifier = insult_opinion
opinion = -10
}

duel = {
skill = learning
value = average_skill_rating
60 = {
desc = learning_medicine.2050.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
show_as_tooltip = { medicine_2050_b_success_effect = yes }
trigger_event = learning_medicine.2053
}
40 = {
desc = learning_medicine.2050.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
}
show_as_tooltip = { medicine_2050_b_failure_effect = yes }
trigger_event = learning_medicine.2054
}
}

stress_impact = {
humble = medium_stress_impact_gain
}

ai_chance = {
base = 100
}
}

#Let them die


option = {
name = learning_medicine.2050.c
add_dread = medium_dread_gain

stress_impact = {
base = medium_stress_impact_gain
compassionate = major_stress_impact_gain
forgiving = medium_stress_impact_gain
just = minor_stress_impact_gain
sadistic = major_stress_impact_loss
callous = medium_stress_impact_loss
vengeful = minor_stress_impact_loss
arbitrary = minor_stress_impact_loss
}

if = {
limit = {
scope:helper = { ai_compassion >= low_negative_ai_value }
}
reverse_add_opinion = {
target = scope:helper
modifier = cruelty_opinion
opinion = -20
}
progress_towards_rival_effect = {
CHARACTER = scope:helper
OPINION = no
}
}

scope:soldier = {
death = {
death_reason = death_wounds
}
}

ai_chance = {
base = 20
ai_compassion_target_modifier = { VALUE = -100 }
ai_vengefulness_target_modifier = { VALUE = 50 }
}
}
}

#We saved soldier together!


learning_medicine.2051 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2050.t
desc = {
desc = learning_medicine.2051.start_our.desc
desc = learning_medicine.2051.start.desc
desc = learning_medicine.2051.middle.desc
first_valid = {
triggered_desc = {
trigger = {
OR = {
scope:helper.highest_held_title_tier >=
root.highest_held_title_tier
is_spouse_of = scope:helper
is_close_family_of = scope:helper
}
}
desc = learning_medicine.2051.my_ladylord.desc
}
desc = learning_medicine.2051.firstname.desc
}
desc = learning_medicine.2051.end.desc
}

theme = learning_medicine_focus
override_background = {
event_background = courtyard
}
left_portrait = scope:helper
right_portrait = scope:soldier

immediate = {
medicine_2050_a_success_effect = yes
}

option = {
name = learning_medicine.2051.a
}
}
#We lost the soldier together...
learning_medicine.2052 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2050.t
desc = {
desc = learning_medicine.2051.start_our.desc
desc = learning_medicine.2051.start.desc
desc = learning_medicine.2052.middle.desc
first_valid = {
triggered_desc = {
trigger = {
OR = {
scope:helper.highest_held_title_tier >=
root.highest_held_title_tier
is_spouse_of = scope:helper
is_close_family_of = scope:helper
}
}
desc = learning_medicine.2051.my_ladylord.desc
}
desc = learning_medicine.2051.firstname.desc
}
desc = learning_medicine.2052.end.desc
}

theme = learning_medicine_focus
override_background = {
event_background = courtyard
}
left_portrait = {
character = scope:helper
animation = sadness
}
right_portrait = scope:soldier

immediate = {
medicine_2050_a_failure_effect = yes
}

#Accept comfort
option = {
name = learning_medicine.2052.a
if = {
limit = {
can_set_relation_potential_friend_trigger = { CHARACTER =
scope:helper }
}
progress_towards_friend_effect = {
CHARACTER = scope:helper
OPINION = 20
}
}
stress_impact = {
arrogant = minor_stress_impact_gain
}
}

#Be proud
option = {
name = learning_medicine.2052.b
add_prestige = minor_prestige_gain
reverse_add_opinion = {
target = scope:helper
modifier = insulted_opinion
opinion = -5
}

stress_impact = {
humble = minor_stress_impact_gain
}
}
}

#I saved the soldier!


learning_medicine.2053 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2050.t
desc = {
desc = learning_medicine.2053.start_my.desc
desc = learning_medicine.2051.start.desc
desc = learning_medicine.2053.desc
}

theme = learning_medicine_focus
override_background = {
event_background = courtyard
}
left_portrait = scope:soldier

immediate = {
medicine_2050_b_success_effect = yes
}

option = {
name = learning_medicine.2053.a
}
}

#I lost the soldier...


learning_medicine.2054 = { #by Mathilda Bjarnehed
type = character_event
title = learning_medicine.2050.t
desc = {
desc = learning_medicine.2053.start_my.desc
desc = learning_medicine.2051.start.desc
desc = learning_medicine.2054.desc
first_valid = {
triggered_desc = {
trigger = {
scope:helper = {
OR = {
ai_vengefulness >=
medium_positive_ai_value
ai_compassion <= 0
}
}
}
desc = learning_medicine.2054.disgust.desc
}
desc = learning_medicine.2054.pity.desc
}
}

theme = learning_medicine_focus
override_background = {
event_background = courtyard
}
left_portrait = scope:soldier

immediate = {
medicine_2050_b_failure_effect = yes
}

option = {
name = learning_medicine.2054.a
}
}

##################################################
# Tea and Cakes
# by Ewan Cowhig Croft
# 2110
##################################################

scripted_trigger learning_medicine_2110_valid_hashish_vassal_or_liege = {
is_available_ai_adult = yes
NOR = {
has_trait = zealous
has_trait = temperate
}
OR = {
AND = {
highest_held_title_tier = tier_barony
is_powerful_vassal_of = root
}
highest_held_title_tier >= tier_county
}
}

# A vassal (or your liege) wants to eat some hashish while visiting your
capital.
# by Ewan Cowhig Croft
learning_medicine_special.2110 = {
type = character_event
title = learning_medicine.2110.t
desc = {
desc = learning_medicine.2110.desc #Preamble.
first_valid = {
triggered_desc = { #Oh, hey, I like that guy.
trigger = { scope:hashish_relation = flag:positive }
desc = learning_medicine.2110.desc_good_terms
}
triggered_desc = { #What is this bastard doing in my city?
trigger = { scope:hashish_relation = flag:negative }
desc = learning_medicine.2110.desc_bad_terms
}
triggered_desc = { #Yes. You. Person who I have met at some
point.
trigger = { scope:hashish_relation = flag:neutral }
desc = learning_medicine.2110.desc_neutral_terms
}
}
}
theme = learning_medicine_focus
left_portrait = scope:hashish_vassal_or_liege

trigger = {
is_at_war = no
NOT = { has_character_flag = had_event_learning_medicine_2110 }
any_vassal = { learning_medicine_2110_valid_hashish_vassal_or_liege =
yes }
root.capital_province = {
NOT = { geographical_region = world_europe }
}
}

weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}

immediate = {
add_character_flag = {
flag = had_event_learning_medicine_2110
days = 1825
}
every_vassal = {
limit = { learning_medicine_2110_valid_hashish_vassal_or_liege =
yes }
add_to_list = potential_hashish_vassal_or_liege_list
}
root.liege = {
if = {
limit = {
learning_medicine_2110_valid_hashish_vassal_or_liege
= yes
is_independent_ruler = no
}
add_to_list = potential_hashish_vassal_or_liege_list
}
}
random_in_list = {
list = potential_hashish_vassal_or_liege_list
weight = {
base = 1
modifier = { #Powerful vassals are interesting
characters.
add = 30
is_powerful_vassal_of = root
}
modifier = { #Vassals who aren't on the council likely
have more tense relations, so major non-councillors are a good pick.
add = 30
AND = {
highest_held_title_tier >= tier_barony
NOT = { is_councillor_of = root }
}
}
modifier = { #What an excellent way to get over a
rivalry!
add = 20
OR = {
has_relation_potential_rival = root
has_relation_rival = root
}
}
modifier = { #Also good for dealing with factions.
add = 20
AND = {
NOT = { this = root.liege }
OR = {
is_a_faction_leader = yes
is_a_faction_member = yes
}
}
}
modifier = {
add = 20
this = root.liege
}
modifier = { #Plus weight up a little for gluttons and
gloriers of gluttony.
add = 10
OR = {
has_trait = gluttonous
faith = { trait_is_virtue = gluttonous }
}
}
modifier = { #We just like meeting interesting people,
to be honest.
add = 5
martial >= high_skill_rating
}
modifier = {
add = 5
intrigue >= high_skill_rating
}
modifier = {
add = 5
diplomacy >= high_skill_rating
}
modifier = { #Except barons. Barons suck.
add = -20
highest_held_title_tier = tier_barony
}
}
save_scope_as = hashish_vassal_or_liege
}
scope:hashish_vassal_or_liege = {
if = {
limit = {
OR = {
has_relation_friend = root
has_relation_potential_friend = root
AND = {
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
}
opinion = {
target = root
value >= medium_positive_opinion
}
}
}
}
save_scope_value_as = {
name = hashish_relation
value = flag:positive
}
}
else_if = {
limit = {
OR = {
has_relation_rival = root
has_relation_potential_rival = root
AND = {
NOR = {
has_relation_friend = root
has_relation_potential_friend =
root
}
opinion = {
target = root
value <= medium_negative_opinion
}
}
}
}
save_scope_value_as = {
name = hashish_relation
value = flag:negative
}
}
else = {
save_scope_value_as = {
name = hashish_relation
value = flag:neutral
}
}
}
root.capital_province = { save_scope_as = capital }
}

option = { #You politely, but firmly, turn them down.


name = {
text = learning_medicine.2110.a.good_terms
trigger = { scope:hashish_relation = flag:positive }
}
name = {
text = learning_medicine.2110.a.bad_terms
trigger = { scope:hashish_relation = flag:negative }
}
name = {
text = learning_medicine.2110.a.neutral_terms
trigger = { scope:hashish_relation = flag:neutral }
}
scope:hashish_vassal_or_liege = {
add_opinion = {
modifier = insult_opinion
opinion = -25
target = root
}
}
if = { #Muslims receive additional piety due to their religion's
prohibitions on intoxicants.
limit = {
faith = { religion_tag = islam_religion }
}
add_piety = medium_piety_gain
}
else_if = { #If your faith hates such things, you get a little piety.
limit = {
faith = { trait_is_sin = gluttonous }
}
add_piety = minor_piety_gain
}
else_if = { #Unless they like them, in which case you confuse and annoy
people.
limit = {
faith = { trait_is_virtue = gluttonous }
}
add_piety = minor_piety_loss
}
else = { add_prestige = miniscule_prestige_gain } #Otherwise you're
just a bit of a neutral kill-joy, I guess.
stress_impact = {
gregarious = minor_stress_impact_gain
hashishiyah = medium_stress_impact_gain
shy = minor_stress_impact_loss
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_vengefulness = 0.25 #Who the hell just turns up on my
doorstep and expects me to go out? Rude.
ai_sociability = -0.5
}
modifier = {
add = 40
has_trait = shy
}
modifier = {
add = 30
has_trait = temperate
}
modifier = {
add = -20
has_trait = gregarious
}
modifier = {
add = -20
has_trait = gluttonous
}
modifier = {
add = -30
has_trait = hashishiyah
}
}
}
option = { #The two of you have a mellow evening of hashishery.
name = {
text = learning_medicine.2110.b.good_terms
trigger = { scope:hashish_relation = flag:positive }
}
name = {
text = learning_medicine.2110.b.bad_terms
trigger = { scope:hashish_relation = flag:negative }
}
name = {
text = learning_medicine.2110.b.neutral_terms
trigger = { scope:hashish_relation = flag:neutral }
}
flavor = learning_medicine.2110.b.flavour
scope:hashish_vassal_or_liege = {
if = { #Rivalries are overcome!
limit = { has_relation_rival = root }
remove_relation_rival = root
add_opinion = {
modifier = friendliness_opinion
opinion = 20
target = root
}
}
else_if = { #Potential foeships are nipped in the bud. So to
speak.
limit = { has_relation_potential_rival = root }
remove_relation_potential_rival = root
add_opinion = {
modifier = friendliness_opinion
opinion = 20
target = root
}
}
}
progress_towards_friend_effect = { #Make some friends!
CHARACTER = scope:hashish_vassal_or_liege
OPINION = 30
}
add_character_modifier = {
modifier = cosmic_insights_modifier
days = 3650
}
stress_impact = {
temperate = medium_stress_impact_gain
shy = minor_stress_impact_gain
hashishiyah = major_stress_impact_loss
}
if = {
limit = {
faith = {
OR = {
religion_tag = islam_religion
trait_is_sin = gluttonous
}
}
}
stress_impact = { zealous = minor_stress_impact_gain }
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_sociability = 0.5
ai_vengefulness = -0.25
}
modifier = {
add = 30
has_trait = hashishiyah
}
modifier = {
add = 20
has_trait = gluttonous
}
modifier = {
add = 10
has_trait = gregarious
}
modifier = {
add = -20
has_trait = temperate
}
modifier = {
add = 20
has_trait = shy
}
}
}
option = { #You and your vassal have it large.
name = {
text = learning_medicine.2110.c.good_terms
trigger = { scope:hashish_relation = flag:positive }
}
name = {
text = learning_medicine.2110.c.bad_terms
trigger = { scope:hashish_relation = flag:negative }
}
name = {
text = learning_medicine.2110.c.neutral_terms
trigger = { scope:hashish_relation = flag:neutral }
}
duel = {
skill = learning
target = scope:hashish_vassal_or_liege
50 = { #You steer the conversation to favour you.
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_medicine.2110.c.tt_success
send_interface_toast = {
title = learning_medicine.2110.c.tt_success
left_icon = scope:hashish_vassal_or_liege
if = {
limit = {
can_add_hook = {
target =
scope:hashish_vassal_or_liege
type = manipulation_hook
}
}
add_hook = {
type = manipulation_hook
target = scope:hashish_vassal_or_liege
}
add_prestige = medium_prestige_gain
}
else = { add_prestige = major_prestige_gain }
scope:hashish_vassal_or_liege = {
add_opinion = {
modifier = friendliness_opinion
opinion = 40
target = root
}
}
}
}
50 = { #Your vassal manages to dominate the discussion.
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_medicine.2110.c.tt_fail
send_interface_toast = {
title = learning_medicine.2110.c.tt_fail
left_icon = scope:hashish_vassal_or_liege
scope:hashish_vassal_or_liege = {
if = {
limit = {
can_add_hook = {
target = root
type = manipulation_hook
}
}
add_hook = {
type = manipulation_hook
target = root
}
add_prestige = medium_prestige_gain
}
else = { add_prestige = major_prestige_gain }
add_opinion = {
modifier = friendliness_opinion
opinion = 30
target = root
}
}
}
}
}
stress_impact = {
temperate = major_stress_impact_gain
shy = medium_stress_impact_gain
hashishiyah = major_stress_impact_loss
}
if = {
limit = {
faith = {
OR = {
religion_tag = islam_religion
trait_is_sin = gluttonous
}
}
}
stress_impact = { zealous = medium_stress_impact_gain }
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_sociability = 0.75
ai_vengefulness = -0.5
}
modifier = {
add = 40
has_trait = hashishiyah
}
modifier = {
add = 30
has_trait = gluttonous
}
modifier = {
add = 15
has_trait = gregarious
}
modifier = {
add = -30
has_trait = shy
}
modifier = {
add = -40
has_trait = temperate
}
}
}
}

###################################################################################
######
################# SPECIAL EVENTS
########################################################
###################################################################################
######

##################################################
# Study human cadavers
# by Linnéa Thimrén and Flavio Verna
##################################################

learning_medicine_special.1001 = {
type = character_event
title = learning_medicine_special.1001.t
desc = learning_medicine_special.1001.desc

theme = learning_medicine_focus
left_portrait = root

trigger = {
has_focus = learning_medicine_focus
NOT = { has_character_flag =
had_learning_medicine_special_1001_this_lifetime }
}

weight_multiplier = {
base = 1
modifier = {
add = 1.5
has_trait = sadistic
}
modifier = {
add = 1.75
has_trait = callous
}
}

immediate = {
add_character_flag = {
flag = is_in_learning_special_event
days = 200
}
add_character_flag = had_learning_medicine_special_1001_this_lifetime
}
option = { #Proceed.
name = learning_medicine_special.1001.a
custom_tooltip = learning_lifestyle_rank_up_indication
trigger_event = {
id = learning_medicine_special.1002
days = { 3 7 }
}
ai_chance = {
base = 75
}
}

option = { #nah
name = learning_medicine_special.1001.b
add_piety = medium_piety_gain
remove_character_flag = is_in_learning_special_event
ai_chance = {
base = 25
ai_value_modifier = {
ai_zeal = 0.4
ai_compassion = 0.4
}
}
}
}

#First botched autopsy, need more bodies.


learning_medicine_special.1002 = {
type = character_event
title = learning_medicine_special.1001.t
desc = learning_medicine_special.1002.desc

theme = learning_medicine_focus
left_portrait = {
character = root
animation = disgust
}
right_portrait = scope:scoped_physician

immediate = {
if = {
limit = {
court_physician_available_trigger = yes
}
save_court_physician_as_effect = { SCOPE_NAME =
scoped_physician }
}

if = {
limit = {
exists = capital_county
}
capital_county = {
save_scope_as = scoped_capital

}
}
}
option = { #Ask Court Physician to provide more bodies.
name = learning_medicine_special.1002.a
trigger = {
exists = scope:scoped_physician
}
duel = {
skill = diplomacy
target = scope:scoped_physician
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
min = -14
}
opinion_modifier = { #their opinion of you matters
who = scope:scoped_physician
opinion_target = root
multiplier = 0.25
}
desc = learning_medicine_special.1002.a.good
show_as_tooltip = {add_learning_lifestyle_xp =
minor_lifestyle_xp }
trigger_event = {
id = learning_medicine_special.1003
days = { 7 14 }
}
}
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
min = -14
}
desc = learning_medicine_special.1002.a.bad
show_as_tooltip = {
scope:scoped_physician = {
add_opinion = {
target = root
modifier = pious_opinion
opinion = -20
}
}
}
trigger_event = {
id = learning_medicine_special.1004
days = { 7 14 }
}
}
}
ai_chance = {
base = 50
opinion_modifier = { #their opinion of you matters
who = scope:scoped_physician
opinion_target = root
multiplier = 0.4
}
}
}

option = { #Find bodies through other means...


name = learning_medicine_special.1002.b
trigger_event = {
id = learning_medicine_special.1103
days = { 3 7 }
}
scope:scoped_capital = {
add_county_modifier = {
modifier = tomb_defiler_modifier
years = 10
}
}
add_learning_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
base = medium_stress_impact_gain
callous = medium_stress_impact_loss
sadistic = medium_stress_impact_loss
}
ai_chance = {
base = 75
}
}
option = { #Back out
name = learning_medicine_special.1002.c
add_piety = minor_piety_gain
add_learning_lifestyle_xp = minor_lifestyle_xp
remove_character_flag = is_in_learning_special_event
ai_chance = {
base = 0
}
}
}

#Court Physician (or ruler) provides bodies.


learning_medicine_special.1003 = {
type = character_event
title = learning_medicine_special.1001.t
desc = {
desc = learning_medicine_special.1003.desc_physician
desc = learning_medicine_special.1003.desc_ending
}
theme = learning_medicine_focus
left_portrait = root
right_portrait = scope:scoped_physician

trigger = {
scope:scoped_physician = {
is_available_ai_adult = yes
}
}

on_trigger_fail = {
trigger_event = learning_medicine_special.1004
}

immediate = {
add_learning_lifestyle_xp = minor_lifestyle_xp
}

option = {
name = learning_medicine_special.1003.a
duel = {
skill = learning
value = 12
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
}
desc = learning_medicine_special.1003.a.good
show_as_tooltip = { add_learning_lifestyle_perk_points =
1 }
trigger_event = {
id = learning_medicine_special.1005
days = { 7 14 }
}
}
5 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
desc = learning_medicine_special.1003.a.bad
show_as_tooltip = {
if = {
limit = {
has_trait = ill
}
death = {
death_reason = death_ill
}
}
else = {
contract_disease_effect = { DISEASE = ill
TREATMENT_EVENT = yes }
add_learning_lifestyle_xp = medium_lifestyle_xp
}
}
trigger_event = {
id = learning_medicine_special.1006
days = { 7 14 }
}
}
}
}
option = { #Stop working.
name = learning_medicine_special.1003.b
add_learning_lifestyle_xp = medium_lifestyle_xp
remove_character_flag = is_in_learning_special_event
}
}

#Gained bodies in some other fashion


learning_medicine_special.1103 = {
type = character_event
title = learning_medicine_special.1001.t
desc = {
desc = learning_medicine_special.1003.desc_fallback
desc = learning_medicine_special.1003.desc_ending
}
theme = learning_medicine_focus
left_portrait = root

immediate = {
add_learning_lifestyle_xp = minor_lifestyle_xp
}

option = {
name = learning_medicine_special.1003.a
duel = {
skill = learning
value = high_skill_rating
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
min = -14
}
desc = learning_medicine_special.1003.a.good
show_as_tooltip = { add_learning_lifestyle_perk_points =
1 }
trigger_event = {
id = learning_medicine_special.1005
days = { 7 14 }
}
}
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
min = -14
}
desc = learning_medicine_special.1003.a.bad
show_as_tooltip = {
if = {
limit = {
has_trait = ill
}
death = {
death_reason = death_ill
}
}
else = {
contract_disease_effect = { DISEASE = ill
TREATMENT_EVENT = yes }
add_learning_lifestyle_xp = medium_lifestyle_xp
}
}
trigger_event = {
id = learning_medicine_special.1006
days = { 7 14 }
}
}
}
}
option = { #Stop working.
name = learning_medicine_special.1003.b
add_learning_lifestyle_xp = medium_lifestyle_xp
remove_character_flag = is_in_learning_special_event
}
}

#Court Physician disapproves


learning_medicine_special.1004 = {
type = character_event
title = learning_medicine_special.1001.t
desc = {
triggered_desc = {
trigger = {
scope:scoped_physician = { is_available_ai_adult = yes }
}
desc = learning_medicine_special.1004.desc
}
triggered_desc = {
trigger = {
scope:scoped_physician = { is_available_ai_adult = no }
}
desc = learning_medicine_special.1004.unavailable.desc
}
}
theme = learning_medicine_focus
right_portrait = {
character = scope:scoped_physician
animation = anger
}

option = {
name = {
trigger = {
scope:scoped_physician = { is_available_ai_adult = yes }
}
text = learning_medicine_special.1004.a
}
name = {
trigger = {
scope:scoped_physician = { is_available_ai_adult = no }
}
text = learning_medicine_special.1004.unavailable.a
}

if = {
limit = {
scope:scoped_physician = { is_available_ai_adult = yes }
}
scope:scoped_physician = {
add_opinion = {
target = root
modifier = pious_opinion
opinion = -20
}
}
}
else = {
custom_tooltip = learning_medicine_special.1004.unavailable.tt
}

remove_character_flag = is_in_learning_special_event
}
}

#No sickness!
learning_medicine_special.1005 = {
type = character_event
title = learning_medicine_special.1001.t
desc = learning_medicine_special.1005.desc
theme = learning_medicine_focus
left_portrait = root

option = {
name = learning_medicine_special.1005.a
add_learning_lifestyle_perk_points = 1
remove_character_flag = is_in_learning_special_event
}
}

#Sickness
learning_medicine_special.1006 = {
type = character_event
title = learning_medicine_special.1001.t
desc = {
desc = learning_medicine_special.1006.desc_opening
first_valid = {
triggered_desc = {
trigger = {
has_trait = ill
}
desc = learning_medicine_special.1006.desc_death
}
desc = learning_medicine_special.1006.desc
}
}
theme = learning_medicine_focus
left_portrait = root

option = {
name = learning_medicine_special.1006.a
if = {
limit = {
has_trait = ill
}
death = {
death_reason = death_ill
}
}
else = {
contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = yes }
add_learning_lifestyle_xp = medium_lifestyle_xp
}
if = {
limit = { is_alive = yes }
remove_character_flag = is_in_learning_special_event
}
}
}

##################################################
# #A Most Miraculous Fish
# by Ewan Cowhig Croft
# #2100
##################################################

scripted_trigger learning_medicine_special_2100_broad_dreamfish_range = {
is_coastal = yes
OR = {
geographical_region = world_europe_west_britannia
geographical_region = world_europe_west_francia
geographical_region = world_europe_west_iberia
geographical_region = world_europe_south
geographical_region = world_asia_minor
geographical_region = world_middle_east_jerusalem
geographical_region = world_africa_north
geographical_region = world_africa_west
}
}
# You consume a hallucinogenic fish.
# by Ewan Cowhig Croft
learning_medicine_special.2100 = {
type = character_event
title = learning_medicine_special.2100.t
desc = learning_medicine_special.2100.desc
theme = learning_medicine_focus
left_portrait = scope:fish_alchemist

trigger = {
is_ai = no
is_at_war = no
NOT = { has_global_variable =
had_event_learning_medicine_special_2100 }
any_directly_owned_province =
{ learning_medicine_special_2100_broad_dreamfish_range = yes }
}

weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = learning_medicine_focus }
}

immediate = {
set_global_variable = {
name = had_event_learning_medicine_special_2100
value = yes
days = 36500
}
random_directly_owned_province = {
limit = { learning_medicine_special_2100_broad_dreamfish_range =
yes }
save_scope_as = hallucinogenic_fish_locale
}
scope:hallucinogenic_fish_locale.county = { save_scope_as =
hallucinogenic_fish_county }#For loc.
create_character = {
age = { 25 70 }
gender_female_chance = 50
trait = deceitful
random_traits_list = {
count = 1
education_diplomacy_1 = {}
education_martial_1 = {}
education_stewardship_1 = {}
education_intrigue_1 = {}
education_learning_1 = {}
}
trait = lifestyle_herbalist
random_traits_list = {
count = 1
ambitious = {}
gregarious = {}
impatient = {}
lustful = {}
wrathful = {}
compassionate = {}
callous = {}
stubborn = {}
vengeful = {}
}
random_traits = no
employer = root
faith = scope:hallucinogenic_fish_locale.faith
culture = scope:hallucinogenic_fish_locale.culture
intrigue = 10
learning = 10
dynasty = none
save_scope_as = fish_alchemist
}
}

after = {#Not in the immediate to avoid an annoying false-positive error


if = {
limit = {
scope:fish_alchemist = { is_alive = yes }
}
hidden_effect = {
scope:fish_alchemist = { give_witch_secret_or_trait_effect
= yes }
}
}
}

option = { #Eat the hallucinogenic fish.


name = learning_medicine_special.2100.a
random_list = {
40 = { #You seem some radical angels and such.
desc = learning_medicine_special.2100.a.tt_success
send_interface_toast = {
title = learning_medicine_special.2100.a.tt_success
left_icon = scope:fish_alchemist
add_character_modifier = {
modifier =
hallucinogenic_visions_uplifting_modifier
days = 7300
}
random_secret = {
limit = { secret_type = secret_non_believer }
remove_secret = yes
}
}
modifier = {
add = 30
OR = {
has_trait = lifestyle_herbalist
has_trait_rank = {
trait = lifestyle_mystic
rank >= 1
}
has_trait = witch
any_secret = { secret_type = secret_witch }
}
}
}
60 = { #The devil tries to rip your heart out through your
kneecaps.
desc = learning_medicine_special.2100.a.tt_failure
send_interface_toast = {
title = learning_medicine_special.2100.a.tt_failure
left_icon = scope:fish_alchemist
add_character_modifier = {
modifier =
hallucinogenic_visions_terrifying_modifier
days = 7300
}
random_secret = {
limit = { secret_type = secret_non_believer }
remove_secret = yes
}
}
modifier = {
add = -30
OR = {
has_trait = lifestyle_herbalist
has_trait_rank = {
trait = lifestyle_mystic
rank >= 1
}
has_trait = witch
any_secret = { secret_type = secret_witch }
}
}
}
}
stress_impact = {
craven = minor_stress_impact_gain
temperate = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = { ai_boldness = 0.5 }
ai_value_modifier = {
trigger = {
faith = { has_doctrine_parameter = witchcraft_shunned
}
}
ai_zeal = -0.25
}
ai_value_modifier = {
trigger = {
faith = { has_doctrine_parameter = witchcraft_illegal
}
}
ai_zeal = -0.50
}
modifier = {
add = 20
OR = {
has_trait = lifestyle_herbalist
has_trait_rank = {
trait = lifestyle_mystic
rank >= 1
}
has_trait = witch
any_secret = { secret_type = secret_witch }
}
}
modifier = {
add = -20
has_trait = craven
}
modifier = {
add = -20
has_trait = temperate
}
}
}
option = { #You MUST teach me this ritual!
name = learning_medicine_special.2100.b
duel = {
skill = learning
target = scope:fish_alchemist
60 = { #The alchemist teaches you where to catch the right
fish and how to prepare them.
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = learning_medicine_special.2100.b.tt_success
send_interface_toast = {
title = learning_medicine_special.2100.b.tt_success
left_icon = scope:fish_alchemist
if = {
limit = { number_of_lifestyle_traits = 0 }
add_trait = lifestyle_herbalist
}
add_learning_skill = 5
if = {
limit = {
NOT = {
any_secret = { secret_type =
secret_witch }
}
}
give_witch_secret_or_trait_effect = yes
}
custom_tooltip =
learning_medicine_special.2100.b.tt_success.tt
hidden_effect = {
scope:fish_alchemist = {
add_opinion = {
target = root
modifier = loyal_servant
}
set_relation_potential_friend = root
}
}
}
}
40 = { #The alchemist is having none of your tomfoolery, and
flees the court, causing a scandal.
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = learning_medicine_special.2100.b.tt_fail
send_interface_toast = {
title = learning_medicine_special.2100.b.tt_fail
left_icon = scope:fish_alchemist
add_character_modifier = {
modifier =
associates_with_strange_peasants_modifier
days = 3650
}
if = {
limit = { has_any_nickname = no }
give_nickname = nick_the_fishy
}
custom_tooltip =
learning_medicine_special.2100.b.tt_failure.tt
hidden_effect = {
scope:fish_alchemist = {
move_to_pool = yes
add_opinion = {
modifier =
spell_thief_attempted_opinion
target = root
}
set_relation_potential_rival = root
}
}
}
}
}
if = {
limit = {
faith = {
OR = {
has_doctrine_parameter = witchcraft_shunned
has_doctrine_parameter = witchcraft_illegal
}
}
}
stress_impact = { zealous = medium_stress_impact_gain }
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_boldness = 0.25
ai_greed = 0.25
}
ai_value_modifier = {
trigger = {
faith = { has_doctrine_parameter = witchcraft_shunned
}
}
ai_zeal = -0.50
}
ai_value_modifier = {
trigger = {
faith = { has_doctrine_parameter = witchcraft_illegal
}
}
ai_zeal = -0.75
}
modifier = {
add = 20
OR = {
has_trait = lifestyle_herbalist
has_trait_rank = {
trait = lifestyle_mystic
rank >= 1
}
has_trait = witch
any_secret = { secret_type = secret_witch }
}
}
modifier = {
add = -20
trigger = {
faith = {
OR = {
has_doctrine_parameter =
witchcraft_shunned
has_doctrine_parameter =
witchcraft_illegal
}
}
}
has_trait = zealous
}
}
}
option = { #Suffer not the witch to live.
name = learning_medicine_special.2100.c
trigger = {
faith = { has_doctrine_parameter = witchcraft_illegal }
}
add_piety = major_piety_gain
custom_tooltip = learning_medicine_special.2100.c.tt
hidden_effect = {
scope:fish_alchemist = {
death = {
death_reason = death_burned_witch
killer = root
}
}
}
stress_impact = { compassionate = medium_stress_impact_gain }
ai_chance = {
base = 50
ai_value_modifier = {
trigger = {
faith = { has_doctrine_parameter = witchcraft_illegal
}
}
ai_zeal = 0.75
}
modifier = {
add = -20
OR = {
has_trait = lifestyle_herbalist
has_trait_rank = {
trait = lifestyle_mystic
rank >= 1
}
has_trait = witch
any_secret = { secret_type = secret_witch }
}
}
modifier = {
add = -30
has_trait = compassionate
}
modifier = {
add = 20
has_trait = callous
}
modifier = {
add = 30
has_trait = sadistic
}
}
}
option = { #Magic or no, get this commoner out of my good [faith] court.
name = learning_medicine_special.2100.d
if = {
limit = {
faith = { has_doctrine_parameter = witchcraft_shunned }
}
add_prestige = minor_prestige_gain
}
else_if = {
limit = {
faith = { has_doctrine_parameter = witchcraft_illegal }
}
add_prestige = medium_prestige_gain
}
add_character_modifier = {
modifier = aloof_from_the_commoners_modifier
days = 3650
}
custom_tooltip = learning_medicine_special.2100.d.tt
hidden_effect = {
scope:fish_alchemist = {
move_to_pool = yes
add_opinion = {
target = root
modifier = refusal_opinion
opinion = -30
}
}
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_energy = -0.5
ai_boldness = -0.25
}
}
}
}

You might also like