N3OW/events/health_events.txt

12009 lines
258 KiB
Text
Raw Permalink Normal View History

2025-12-16 13:42:24 +00:00
#Events managing health concerns
namespace = health
#WOUNDED EVENTS: by Linnéa Thimrén and Petter Vilberg
# 0001-0099: Recovery events
# 0101-0199: Becoming wounded
# 0201-0299: Infection/gangrene
#DISEASE EVENTS: by Mathilda Bjarnehed
# 1001-1099: Contract disease
# 1101-1199: Recover from diseases
# 1201-1299: Contagion handling events
# 2001-2099: STD events
# 2101-2199: Contagious disease at court
# 2201-2299: Important character has dangerous disease events
#COURT PHYSICIAN RECRUITMENT by Mathilda Bjarnehed
# 3001-3009: Recruit physician event
# 3010 : Invalidate physician
#COURT PHYSICIAN DISEASE EVENTS: by Mathilda Bjarnehed, Milla Isaksson, and Linnéa Thimrén
# 3100-3199: Disease treatment
# 3201-3299: Punishment for mistreating important people
#COURT PHYSICIAN WOUND EVENTS: by Linnéa Thimrén
# 4000 Wound treatment
#COMMIT SUICIDE EVENTS: by Linnéa Thimrén
# 6000 How will you do it?
#INFIRM EVENTS: by Bianca Savazzi
# 7000 You've become infirm
# 7100 You become depressed while infirm
#PULSE MANAGEMENT:
# 9998-9999: Pulse management
##################
##################
# WOUNDED EVENTS #
##################
##################
##################
# RECOVERY EVENTS
##################
#Recover from being Wounded
health.0001 = {
hidden = yes
trigger = {
has_trait = wounded_1
}
weight_multiplier = {
base = 1
compare_modifier = {
value = age
multiplier = -0.01
min = -0.9
}
compare_modifier = {
value = stress
offset = -25
multiplier = -0.005
}
modifier = {
add = -0.3
has_character_modifier = infected_wound_modifier
}
modifier = {
add = 1
court_physician_available_trigger = yes
}
}
immediate = {
if = {
limit = { has_character_modifier = infected_wound_modifier }
remove_character_modifier = infected_wound_modifier
if = {
limit = { NOT = { has_trait = scarred } }
add_character_flag = will_get_scar
}
}
else_if = {
limit = { NOT = { has_trait = scarred } }
random = {
chance = 40
add_character_flag = will_get_scar
}
}
send_interface_toast = {
type = event_court_physician_good
title = health.0001.desc
remove_trait = wounded_1
if = {
limit = { has_character_flag = will_get_scar }
add_trait = scarred
add_trait_xp = {
trait = scarred
value = {
integer_range = {
min = 5
max = 25
}
}
}
remove_character_flag = will_get_scar
}
}
}
}
#Recover from being severely injured
health.0002 = {
type = character_event
title = health.0002.t
desc = health.0002.desc
theme = recovery
left_portrait = {
character = root
animation = sick
}
trigger = {
has_trait = wounded_2
}
weight_multiplier = {
base = 1
compare_modifier = {
value = age
multiplier = -0.01
min = -0.9
}
compare_modifier = {
value = stress
offset = -25
multiplier = -0.005
}
modifier = {
add = -0.2
has_character_modifier = infected_wound_modifier
}
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
random = {
chance = 20
add_character_flag = will_get_scar #This flag is checked when wounded_1 heals
}
}
if = {
limit = { has_character_modifier = infected_wound_modifier }
random = {
chance = 50
remove_character_modifier = infected_wound_modifier
}
}
show_as_tooltip = { remove_trait_force_tooltip = wounded_2 }
change_trait_rank = {
trait = wounded
rank = -1
max = 1
}
}
option = {
name = health.0002.a
}
}
#Recover from being near death
health.0003 = {
type = character_event
title = health.0003.t
desc = health.0003.desc
theme = recovery
left_portrait = {
character = root
animation = severelywounded
}
trigger = {
has_trait_rank = {
trait = wounded
rank > 2
}
}
weight_multiplier = {
base = 1
compare_modifier = {
value = age
multiplier = -0.01
min = -0.9
}
compare_modifier = {
value = stress
offset = -25
multiplier = -0.005
}
modifier = {
add = -0.2
has_character_modifier = infected_wound_modifier
}
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
random = {
chance = 20
add_character_flag = will_get_scar #This flag is checked when wounded_1 heals
}
}
if = {
limit = { has_character_modifier = infected_wound_modifier }
random = {
chance = 50
remove_character_modifier = infected_wound_modifier
}
}
show_as_tooltip = { remove_trait_force_tooltip = wounded_3 }
change_trait_rank = {
trait = wounded
rank = -1
}
}
option = {
name = health.0003.a
}
}
#Recover from your wound being infected
health.0004 = {
type = character_event
title = health.0004.t
desc = health.0004.desc
theme = recovery
left_portrait = {
character = root
animation = sick
}
trigger = {
has_character_modifier = infected_wound_modifier
NOT = { is_in_prison_type = dungeon } #Special dungeon event for this.
}
weight_multiplier = {
base = 1
compare_modifier = {
value = age
multiplier = -0.01
min = -0.9
}
compare_modifier = {
value = stress
offset = -25
multiplier = -0.005
}
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
remove_character_modifier = infected_wound_modifier
add_character_flag = {
flag = recently_recovered_from_infection
days = 730
}
}
option = {
name = health.0004.a
}
}
##################
# BECOME WOUNDED
##################
#Wounded 1 - Successful treatment
health.0100 = {
hidden = yes
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = court_physician }
if = {
limit = { exists = scope:court_physician }
send_interface_toast = {
type = event_court_physician_good
left_icon = scope:court_physician
title = health.wounded_1_success
wound_treatment_results_effect = { TREATMENT = safe OUTCOME = success }
}
}
}
}
#Wounded 1 - Failed treatment
health.0101 = {
hidden = yes
immediate = {
save_court_physician_as_effect = { SCOPE_NAME = court_physician }
if = {
limit = { exists = scope:court_physician }
send_interface_message = {
type = event_court_physician_bad
left_icon = scope:court_physician
title = health.wounded_1_failure
wound_treatment_results_effect = { TREATMENT = safe OUTCOME = failure }
}
}
}
}
#Wounded 2
scripted_trigger health_event_is_worried_trigger = {
OR = {
ai_compassion >= medium_positive_ai_value
dread_modified_ai_boldness = {
dreaded_character = $CHARACTER$
value <= medium_negative_ai_value
}
has_relation_friend = $CHARACTER$
has_relation_lover = $CHARACTER$
opinion = {
target = $CHARACTER$
value >= high_positive_opinion
}
}
$CHARACTER$.health < fine_health
}
health.0102 = {
type = character_event
title = health.0102.t
desc = {
desc = health.0102.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.0102.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = severelywounded
}
right_portrait = {
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
immediate = {
play_music_cue = "mx_cue_illness"
save_scope_as = sick_character
save_court_physician_as_effect = { SCOPE_NAME = physician }
show_as_tooltip = {
add_trait_force_tooltip = wounded_2
}
}
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.0102.a
if = {
limit = {
exists = liege
liege != root
}
liege = { trigger_event = health.4000 }
}
ai_chance = { base = 1 }
}
###PHYSICAIN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.a
safe_wound_treatment_effect = yes
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.b
risky_wound_treatment_effect = yes
ai_chance = { base = 1 }
}
#No treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.d
no_disease_treatment_effect = yes
ai_chance = { base = 0 }
}
}
#Wounded 3
health.0104 = {
type = character_event
title = health.0104.t
desc = {
desc = health.0104.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.0104.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = severelywounded
}
right_portrait = {
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
immediate = {
play_music_cue = "mx_cue_illness"
save_scope_as = sick_character
save_court_physician_as_effect = { SCOPE_NAME = physician }
show_as_tooltip = {
add_trait_force_tooltip = wounded_3
}
}
###NON-PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.0104.a
if = {
limit = {
exists = liege
liege != root
}
liege = { trigger_event = health.4000 }
}
ai_chance = { base = 1 }
}
###PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.a
safe_wound_treatment_effect = yes
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.b
risky_wound_treatment_effect = yes
ai_chance = { base = 1 }
}
#No treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.d
no_disease_treatment_effect = yes
ai_chance = { base = 0 }
}
}
#######################
# INFECTION/GANGERENE
#######################
#Your wound becomes infected, notification or event?
health.0201 = {
hidden = yes
trigger = {
has_trait_rank = {
trait = wounded
rank >= 1
}
}
immediate = {
save_scope_as = sick_character
if = {
limit = {
has_recent_wound_treatment_trigger = yes
}
#Notification message if you're already being treated for wounds
send_interface_toast = {
type = event_court_physician_bad
title = health.0201.desc
left_icon = scope:physician
add_character_modifier = {
modifier = infected_wound_modifier
}
}
}
else = {
#A "real" event if you're not receiving treatment
trigger_event = health.0202
}
#Extra fun: gangrene!
random = {
chance = 10
trigger_event = {
id = health.0203
days = { 60 90 }
}
}
}
}
#Your wounds have become infected!
health.0202 = {
type = character_event
title = health.0202.t
desc = {
first_valid = {
triggered_desc = {
trigger = { probably_unintelligent_trigger = yes }
desc = health.0202.unintelligent
}
desc = health.0202.desc
}
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.0202.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
triggered_animation = {
trigger = { has_trait = wounded_3 }
animation = severelywounded
}
animation = sick
}
right_portrait = {
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
trigger = {
has_trait_rank = {
trait = wounded
rank > 0
}
NOT = { has_character_modifier = infected_wound_modifier }
NOT = { has_character_flag = recently_recovered_from_infection }
NOT = { is_in_prison_type = dungeon } #Special dungeon event for this.
}
weight_multiplier = {
base = 1
compare_modifier = {
value = stress
offset = -25
multiplier = -0.005
}
modifier = {
add = 0.5
has_trait_rank = {
trait = wounded
rank > 1
}
}
modifier = {
add = 0.5
has_trait_rank = {
trait = wounded
rank > 2
}
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
add_character_modifier = {
modifier = infected_wound_modifier
}
}
###NO PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.0202.a
if = {
limit = {
exists = liege
liege != root
}
liege = { trigger_event = health.4000 }
}
ai_chance = { base = 1 }
}
#PHYSICIAN OPTIONS
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.a
safe_wound_treatment_effect = yes
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.b
risky_wound_treatment_effect = yes
ai_chance = { base = 1 }
}
#No treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.d
no_disease_treatment_effect = yes
ai_chance = { base = 0 }
}
}
#Gangrene! Event or notification?
health.0203 = {
hidden = yes
trigger = {
has_character_modifier = infected_wound_modifier
}
immediate = {
save_scope_as = sick_character
if = {
limit = {
has_recent_wound_treatment_trigger = yes
}
#Notification message if you're already being treated for wounds
send_interface_toast = {
type = event_court_physician_bad
title = health.0203.desc
left_icon = scope:physician
remove_character_modifier = infected_wound_modifier
add_character_modifier = gangrene_modifier
}
}
else = {
#A "real" event if you're not receiving treatment
trigger_event = health.0204
}
}
}
#You've contracted gangrene!
health.0204 = {
type = character_event
title = health.0204.t
desc = {
desc = health.0204.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.0204.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
trigger = {
has_trait_rank = {
trait = wounded
rank > 0
}
NOT = { has_character_modifier = gangrene_modifier }
}
weight_multiplier = {
base = 0.5
compare_modifier = {
value = stress
offset = -25
multiplier = -0.005
}
modifier = {
add = 0.5
has_trait_rank = {
trait = wounded
rank > 1
}
}
modifier = {
add = 0.5
has_trait_rank = {
trait = wounded
rank > 2
}
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
add_character_modifier = {
modifier = gangrene_modifier
}
remove_character_modifier = infected_wound_modifier
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.0202.a
if = {
limit = {
exists = liege
liege != root
}
liege = { trigger_event = health.4000 }
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.a
safe_wound_treatment_effect = yes
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.b
risky_wound_treatment_effect = yes
ai_chance = { base = 1 }
}
#No treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
}
name = health.3101.d
no_disease_treatment_effect = yes
ai_chance = { base = 0 }
}
}
##################
##################
# DISEASE EVENTS #
##################
##################
##############################
# CONTRACTING DISEASE EVENTS # Mathilda Bjarnehed & Veronica Pazos
##############################
#For outbreaks, contagion and scripted effects
#You become ill
health.1001 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = {
involved_activity ?= { has_activity_type = activity_pilgrimage }
}
desc = pilgrimage.0041.t
}
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1001.t
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
involved_activity ?= { has_activity_type = activity_pilgrimage }
}
desc = pilgrimage.0041.desc
}
triggered_desc = {
trigger = {
trigger_if = {
limit = { exists = involved_activity }
NOT = {
involved_activity = { has_activity_type = activity_pilgrimage }
}
}
trigger_else = { always = yes }
}
desc = health.1001.desc
}
}
first_valid = {
triggered_desc = {
trigger = {
court_physician_available_trigger = no
}
desc = health.1001.nophysician.desc
}
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
}
desc = health.1001.court_physician.desc
}
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
override_background = {
trigger = { is_travelling = no }
reference = bedchamber
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
trigger = {
can_contract_disease_trigger = { DISEASE = ill }
}
weight_multiplier = {
base = 1
modifier = {
is_adult = no
factor = 1.5
}
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
# Difficulty and Game Rules make the generic 'Ill' slightly more common
modifier = { # Difficulty
is_ai = no
has_game_rule = easy_difficulty
factor = 1.1
}
modifier = {
is_ai = no
has_game_rule = very_easy_difficulty
factor = 1.5
}
modifier = {
is_ai = yes
has_game_rule = easy_difficulty
any_parent = {
is_ai = no
}
factor = 1.1
}
modifier = {
is_ai = no
has_game_rule = very_easy_difficulty
any_parent = {
is_ai = no
}
factor = 1.5
}
modifier = { # Game Rule
has_game_rule = fewer_minor_disease_frequency
factor = 1.2
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = no } #Adds the trait, sends event "health.2201" to those who care if health is brought too low
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
# can't hire a court physician while you're traveling
is_travelling = no
NOT = { exists = scope:physician }
is_playable_character = yes
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1001.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
name = {
trigger = {
involved_activity ?= { has_activity_type = activity_pilgrimage }
}
text = pilgrimage.0041.b
}
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan = {
travel_plan_owner = root
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
#Go back home, damnit
if = {
limit = {
involved_activity ?= { has_activity_type = activity_pilgrimage }
}
#Removed in the on_travel_plan_complete on_action
set_variable = {
name = pilgrimage_invalidated_illness
value = involved_activity.activity_location
}
}
#current_travel_plan = { cancel_travel_plan = yes }
ai_chance = { # Adventurers never cancel
base = 1
modifier = {
has_government = landless_adventurer_government
factor = 0
}
}
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = {
involved_activity ?= { has_activity_type = activity_pilgrimage }
}
desc = pilgrimage.0041.a
}
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
involved_activity ?= { has_activity_type = activity_pilgrimage }
}
custom_tooltip = pilgrimage.0041.a.tt
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
if = {
limit = {
has_global_variable = tutorial_completed
}
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
ai_chance = { base = 0 }
}
}
#You become pneumonic
health.1002 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1002.t
}
}
desc = {
desc = health.1002.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1002.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:physician
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = pneumonic }
}
weight_multiplier = {
base = 1
modifier = {
has_trait = ill
factor = 35
}
modifier = {
is_adult = no
factor = 2
}
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = pneumonic TREATMENT_EVENT = no } #Adds the trait (and removes ill if present), sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1002.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#You become gout-ridden
health.1003 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1003.t
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
court_owner = { exists = yes }
root.court_owner = root
court_owner = {
has_royal_court = yes
amenity_level = { target = court_food_quality value >= 3 }
}
is_travelling = no
}
desc = health.1003.court_amenities_gout.desc
}
desc = health.1003.desc
}
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1003.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = gout_ridden }
}
weight_multiplier = {
base = 1
modifier = {
age < 60
factor = 0.5
}
modifier = {
age < 50
factor = 0.5
}
modifier = {
age < 40
factor = 0.5
}
modifier = {
health >= good_health
factor = 0.5
}
modifier = {
has_trait = temperate
factor = 0.8
}
modifier = {
has_character_modifier = obese_modifier
factor = 1.5
}
modifier = {
any_parent = {
has_trait = gout_ridden
}
factor = 1.5
}
modifier = {
current_weight > 50
factor = 1.1
}
modifier = {
current_weight > 80
factor = 1.1
}
modifier = {
court_owner ?= {
has_royal_court = yes
amenity_level = { target = court_food_quality value = 3 }
}
factor = 1.1
}
modifier = {
court_owner ?= {
has_royal_court = yes
amenity_level = { target = court_food_quality value = 4 }
}
factor = 1.3
}
modifier = {
court_owner ?= {
has_royal_court = yes
amenity_level = { target = court_food_quality value = 5 }
}
factor = 1.5
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = gout_ridden TREATMENT_EVENT = no } #Adds the trait, sends event "health.2201" to those who care if health is brought too low
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1003.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#You become leper
health.1004 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1004.t
}
}
desc = {
desc = health.1004.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1004.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = shame
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = leper }
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = leper TREATMENT_EVENT = no } #Adds the trait, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1004.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#You contract typhus
health.1005 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1005.t
}
}
desc = {
desc = health.1005.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1005.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = typhus }
}
weight_multiplier = {
base = 1
modifier = {
is_commanding_army = yes
is_knight = yes
factor = 7
}
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = typhus TREATMENT_EVENT = no } #Adds the trait, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1005.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#You contract consumption
health.1006 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1006.t
}
}
desc = {
desc = health.1006.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1006.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = consumption }
}
weight_multiplier = {
base = 1
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
modifier = {
is_adult = no
factor = 1.3
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = consumption TREATMENT_EVENT = no } #Adds the trait, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1006.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#You develop cancer
health.1007 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1007.t
}
}
desc = {
desc = health.1007.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1007.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = cancer }
}
weight_multiplier = {
base = 1
modifier = { #Children almost never have it
age < 25
factor = 0.1
}
modifier = { #Very uncommon before 30
age >= 25
age < 35
factor = 0.3
}
modifier = { #Increasingly common after 55
is_male = yes
age > 55 #Males have a higher risk later in life
factor = 3
}
modifier = { #Increasingly common after 55
age >= 55
is_female = yes
factor = 2
}
modifier = { #Increasingly common after 65
age >= 60
factor = 2
}
modifier = { #Increasingly common after 70
age >= 70
factor = 2
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = cancer TREATMENT_EVENT = no } #Adds the trait, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1007.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#You contract lover's pox
health.1008 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1008.t
}
}
desc = health.1008.desc
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = anger
}
right_portrait = scope:infecting_partner
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = lovers_pox }
}
weight_multiplier = {
base = 1
modifier = { #Shouldn't appear randomly for player characters, children, celibate characters etc.
OR = {
is_ai = no
any_spouse = {
is_ai = no
}
any_relation = {
type = lover
is_ai = no
}
is_adult = no
has_trait = celibate
has_sexuality = asexual
}
factor = 0
}
modifier = {
has_trait = lustful
factor = 3
}
modifier = {
has_trait = chaste
factor = 0.2
}
modifier = {
has_trait = seducer
factor = 2
}
modifier = {
has_trait = lifestyle_reveler
factor = 1.5
}
}
immediate = {
contract_disease_effect = { DISEASE = lovers_pox TREATMENT_EVENT = no } #Adds the trait, sends event "health.2001" to sexual partners, sends event "health.2201" to those who care if health is brought too low
}
#Note: no treatment for lover's pox
option = {
name = {
trigger = { exists = scope:infecting_partner }
text = health.1008.partner.a
}
name = {
trigger = { NOT = { exists = scope:infecting_partner } }
text = health.1008.no_partner.a
}
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
### TRAVEL - TRUDGE ON
option = {
name = health.travel.option.continue
trigger = {
is_travelling = yes
}
ai_chance = { base = 1 }
}
}
#Infection with Great Pox. Will give early great pox hidden as lover's pox, unless you already have lover's pox
health.1009 = {
hidden = yes
trigger = {
can_contract_disease_trigger = { DISEASE = great_pox }
NOR = {
has_trait = early_great_pox
has_trait = great_pox
}
}
weight_multiplier = {
base = 1
modifier = { #Shouldn't appear randomly for player characters, children, celibate characters etc.
OR = {
is_ai = no
any_spouse = {
is_ai = no
}
any_relation = {
type = lover
is_ai = no
}
is_adult = no
has_trait = celibate
has_sexuality = asexual
}
factor = 0
}
modifier = {
has_trait = lustful
factor = 3
}
modifier = {
has_trait = chaste
factor = 0.2
}
modifier = {
has_trait = seducer
factor = 2
}
modifier = {
has_trait = lifestyle_reveler
factor = 1.5
}
}
immediate = {
if = {
limit = { NOT = { has_trait = lovers_pox } }
trigger_event = health.1012 #early_great_pox
}
else = {
add_trait = early_great_pox #so it will be upgraded
trigger_event = health.1013 #great_pox
}
}
}
#You contract great pox (hidden as lover's pox)
health.1012 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1008.t
}
}
desc = health.1008.desc
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = anger
}
right_portrait = scope:infecting_partner
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = great_pox }
NOR = {
has_trait = early_great_pox
has_trait = great_pox
has_trait = lovers_pox
}
}
immediate = {
contract_disease_effect = { DISEASE = great_pox TREATMENT_EVENT = no } #Adds the trait early_great_pox, great pox reveal event "health.1013" will be sent in 60-150 days, sends event "health.2001" to sexual partners, sends event "health.2201" to those who care if health is brought too low
}
#Note: no treatment yet, because it appears to be lover's pox
option = {
name = {
trigger = { exists = scope:infecting_partner }
text = health.1008.partner.a
}
name = {
trigger = { NOT = { exists = scope:infecting_partner } }
text = health.1008.no_partner.a
}
hidden_effect = {
trigger_event = {
id = health.1013 #Reveals the true disease
days = { 60 150 }
}
}
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
### TRAVEL - TRUDGE ON
option = {
name = health.travel.option.continue
trigger = {
is_travelling = yes
}
ai_chance = { base = 1 }
}
}
#"Lover's pox" progresses to Great Pox
health.1013 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1013.t
}
}
desc = {
desc = health.1013.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1013.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = great_pox }
has_trait = early_great_pox
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = great_pox TREATMENT_EVENT = no } #Adds the trait and removes early_great_pox/lovers_pox, sends event "health.2002" to sexual partners, sends event "health.2201" to those who care
hidden_effect = {
trigger_event = {
id = health.1014
days = { 1825 5475 }
}
}
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = {
trigger = { exists = scope:infecting_partner }
text = health.1013.partner.a
}
name = {
trigger = { NOT = { exists = scope:infecting_partner } }
text = health.1013.no_partner.a
}
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#Great pox leads to lunacy
health.1014 = {
type = character_event
title = health.1014.t
desc = health.1014.desc
theme = mental_health
left_portrait = {
character = root
animation = paranoia
}
trigger = {
has_trait = great_pox
NOT = { has_trait = lunatic }
}
immediate = {
add_trait = lunatic_1
}
option = {
name = health.1014.a
}
}
#You contract smallpox
health.1010 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1010.t
}
}
desc = {
desc = health.1010.desc
first_valid = {
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1010.court_physician.desc
}
desc = health.1010.end.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = smallpox }
}
weight_multiplier = {
base = 1
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
modifier = {
is_adult = no
factor = 1.5
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = smallpox TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
court_physician_available_trigger = no
is_ruler = yes
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1010.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
}
#You contract bubonic plague
health.1011 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1011.t
}
}
desc = {
desc = health.1011.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1011.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = fear
}
right_portrait = {
trigger = {
root != scope:physician
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = bubonic_plague }
}
weight_multiplier = {
base = 1
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
modifier = {
is_adult = no
factor = 1.5
}
modifier = {
current_date < 1346.1.1
factor = 0
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = bubonic_plague TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_imprisoned = no
is_travelling = no
}
name = health.3101.e
find_court_physician_effect = yes
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
}
name = health.1011.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
#You're going to rot away in prison most likely
option = {
trigger = {
is_imprisoned = yes
}
name = health.3101.f
}
}
#You contract measles
health.1015 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1015.t
}
}
desc = {
desc = health.1015.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1015.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
root != scope:physician
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = measles }
}
weight_multiplier = {
base = 1
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
modifier = {
is_adult = no
factor = 1.5
}
modifier = {
current_date < 1346.1.1
factor = 0
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = measles TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_imprisoned = no
is_travelling = no
}
name = {
trigger = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e
}
name = {
trigger = {
OR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e.already_looking
}
if = {
limit = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
find_court_physician_effect = yes
}
else = {
custom_tooltip = health_3101_already_looking_tt
}
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
name = health.1015.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
#You're going to rot away in prison most likely
option = {
trigger = {
is_imprisoned = yes
}
name = health.3101.f
}
}
#You contract dysentery
health.1016 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1016.t
}
}
desc = {
desc = health.1016.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1016.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
trigger = {
root != scope:physician
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = idle
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = dysentery }
}
weight_multiplier = {
base = 1
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
modifier = {
is_adult = no
factor = 1.5
}
modifier = {
current_date < 1346.1.1
factor = 0
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = dysentery TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_imprisoned = no
is_travelling = no
}
name = {
trigger = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e
}
name = {
trigger = {
OR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e.already_looking
}
if = {
limit = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
find_court_physician_effect = yes
}
else = {
custom_tooltip = health_3101_already_looking_tt
}
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
name = health.1016.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
#You're going to rot away in prison most likely
option = {
trigger = {
is_imprisoned = yes
}
name = health.3101.f
}
}
#You contract ergotism
health.1017 = {
type = character_event
title = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.t
}
desc = health.1017.t
}
}
desc = {
desc = health.1017.desc
triggered_desc = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
}
desc = health.1017.court_physician.desc
}
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = fear
}
right_portrait = {
trigger = {
root != scope:physician
trigger_if = {
limit = { is_travelling = yes }
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
}
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = worry
}
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
trigger = {
can_contract_disease_trigger = { DISEASE = ergotism }
}
weight_multiplier = {
base = 1
modifier = {
health <= fine_health
factor = 1.1
}
modifier = {
health <= poor_health
factor = 1.1
}
modifier = {
is_adult = no
factor = 1.5
}
modifier = {
current_date < 1346.1.1
factor = 0
}
}
immediate = {
play_music_cue = "mx_cue_illness"
save_court_physician_as_effect = { SCOPE_NAME = physician }
contract_disease_effect = { DISEASE = ergotism TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
NOT = { exists = scope:physician }
is_playable_character = yes
is_imprisoned = no
is_travelling = no
}
name = {
trigger = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e
}
name = {
trigger = {
OR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e.already_looking
}
if = {
limit = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
find_court_physician_effect = yes
}
else = {
custom_tooltip = health_3101_already_looking_tt
}
ai_chance = { base = 5 }
}
#OK
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = yes
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
name = health.1017.a
ai_chance = { base = 1 }
}
### TRAVEL- GO HOME
option = {
name = health.travel.option.home
flavor = health.travel.option.home.flavor
trigger = {
is_travelling = yes
current_travel_plan ={
travel_plan_owner = root
can_cancel = yes
}
involved_activity ?= {
NOR = {
has_activity_type = activity_tour
is_required_special_guest = root
}
}
}
current_travel_plan = {
if = {
limit = { can_cancel = yes }
cancel_travel_plan = yes
}
}
ai_chance = { base = 1 }
}
###COURT PHYSICIAN OPTIONS###
#Safe treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky treatment
option = {
trigger = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic treatment
option = {
trigger = {
court_physician_available_trigger = yes
liege_picks_treatment_trigger = no
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = {
text = {
first_valid = {
triggered_desc = {
trigger = { is_travelling = yes }
desc = health.travel.option.continue
}
desc = health.3101.d
}
}
}
if = {
limit = {
exists = scope:physician
liege_picks_treatment_trigger = no
court_physician_available_when_traveling_trigger = yes
}
no_disease_treatment_effect = yes
}
ai_chance = { base = 0 }
}
#You're going to rot away in prison most likely
option = {
trigger = {
is_imprisoned = yes
}
name = health.3101.f
}
}
###########################
# DISEASE RECOVERY EVENTS # Mathilda Bjarnehed & Veronica Pazos
###########################
#For recovery pulses and scripted effects
#Recover from ill
health.1101 = {
type = character_event
title = health.1101.t
desc = health.1101.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
override_background = { reference = bedchamber }
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = ill
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = ill } #Removes the trait, sends event "health.2202" to those who care
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1101.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = ill
}
}
}
#Recover from pneumonic
health.1102 = {
type = character_event
title = health.1102.t
desc = health.1102.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = pneumonic
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = pneumonic } #Removes the trait, sends event "health.2202" to those who care
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1102.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = pneumonic
}
}
}
#Recover from gout_ridden
health.1103 = {
type = character_event
title = health.1103.t
desc = health.1103.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = gout_ridden
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = gout_ridden } #Removes the trait, sends event "health.2202" to those who care
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1103.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = gout_ridden
}
}
}
#Recover from leper (currently not possible)
#Recover from typhus
health.1105 = {
type = character_event
title = health.1105.t
desc = health.1105.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = typhus
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = typhus } #Removes the trait, sends event "health.2202" to those who care
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1105.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = typhus
}
}
}
#Recover from consumption
health.1106 = {
type = character_event
title = health.1106.t
desc = health.1106.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = consumption
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = consumption } #Removes the trait, sends event "health.2202" to those who care
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1106.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = consumption
}
}
}
#Recover from cancer
health.1107 = {
type = character_event
title = health.1107.t
desc = health.1107.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = cancer
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = cancer } #Removes the trait, sends event "health.2202" to those who care
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1107.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = cancer
}
}
}
#Recover from lovers_pox (currently not possible)
#Recover from great_pox
health.1109 = {
type = character_event
title = health.1109.t
desc = health.1109.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = great_pox
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = great_pox } #Removes the trait, sends event "health.2202" to those who care & sexual partners
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1109.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = great_pox
}
}
}
#Recover from smallpox
health.1110 = {
type = character_event
title = health.1110.t
desc = health.1110.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = smallpox
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = smallpox } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1110.a
custom_tooltip = health.1110.a.tt
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = smallpox
}
}
after = {
random = {
chance = 10
add_trait = scarred
add_trait_xp = {
trait = scarred
value = {
integer_range = {
min = 5
max = 15
}
}
}
}
}
}
#Recover from bubonic_plague
health.1111 = {
type = character_event
title = health.1111.t
desc = health.1111.desc
theme = recovery
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = bubonic_plague
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = bubonic_plague } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag
remove_disease_treatment_effect = yes
if = {
limit = { is_ai = no }
add_achievement_global_variable_effect = {
VARIABLE = ce1_not_today_achievement_unlocked
VALUE = yes
}
}
}
}
option = {
name = health.1111.a
custom_tooltip = health.1111.a.tt
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = bubonic_plague
}
}
}
#Recover from measles
health.1112 = {
type = character_event
title = health.1112.t
desc = health.1112.desc
theme = recovery
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = measles
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = measles } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1112.a
custom_tooltip = health.1112.a.tt
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = measles
}
}
after = {
random = {
chance = 5
add_trait = blind
}
}
}
#Recover from dysentery
health.1113 = {
type = character_event
title = health.1113.t
desc = health.1113.desc
theme = recovery
left_portrait = {
character = root
animation = personality_content
}
trigger = {
has_trait = dysentery
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = dysentery } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1113.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = dysentery
}
}
}
#Recover from ergotism/holy fire
health.1114 = {
type = character_event
title = health.1114.t
desc = health.1114.desc
theme = recovery
left_portrait = {
character = root
animation = happiness
}
trigger = {
has_trait = ergotism
}
immediate = {
play_music_cue = "mx_cue_peace_ensues"
hidden_effect = {
recover_from_disease_effect = { DISEASE = ergotism } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag
remove_disease_treatment_effect = yes
}
}
option = {
name = health.1114.a
show_as_tooltip = { #show the trait actually shows up in the tooltip
remove_trait_force_tooltip = ergotism
}
}
}
####################
# STDs CONTAGION EVENTS # Mathilda Bjarnehed
####################
#Lover's pox contagion
health.1200 = {
hidden = yes
trigger = {
has_trait = lovers_pox
}
immediate = {
if = {
limit = { #Children, celibate characters, rejected_from_marriage_bed_modifier characters and characters without partners (or with sick partners) won't spread the disease
OR = {
is_adult = no
has_trait = celibate
has_character_modifier = rejected_from_marriage_bed_modifier
NOR = {
is_married = yes
any_consort = { NOT = { has_trait = lovers_pox } }
any_relation = { type = lover NOT = { has_trait = lovers_pox } }
}
}
}
#Let's just check back with them in ~5 years
trigger_event = {
id = health.1200
days = { 1800 2200 }
}
}
else = { #But everyone else infects a partner
save_scope_as = infecting_partner
every_relation = {
type = lover
limit = {
NOT = { has_trait = lovers_pox }
}
add_to_temporary_list = potential_contagion_victims
}
every_consort = {
limit = {
NOT = { has_trait = lovers_pox }
}
add_to_temporary_list = potential_contagion_victims
}
random_in_list = {
list = potential_contagion_victims
weight = {
base = 100
modifier = {
add = -50
has_perk = wash_your_hands_perk
}
}
contract_lovers_pox_from = { PARTNER = root }
}
#New chance of contagion in a while (time frame depends on traits)
if = {
limit = { #Quick
OR = {
has_trait = lustful
has_trait = seducer
has_trait = lifestyle_reveler
}
}
trigger_event = {
id = health.1200
days = { 250 700 }
}
}
else_if = { #Slow
limit = { has_trait = chaste }
trigger_event = {
id = health.1200
days = { 3000 10000 }
}
}
else = { #Regular
trigger_event = {
id = health.1200
days = { 700 2500 }
}
}
}
}
}
#Great Pox contagion
health.1201 = {
hidden = yes
trigger = {
OR = {
has_trait = early_great_pox
has_trait = great_pox
}
}
immediate = {
if = {
limit = { #Children, celibate characters, rejected_from_marriage_bed_modifier characters and characters without partners (or with sick partners) won't spread the disease
OR = {
is_adult = no
has_trait = celibate
has_character_modifier = rejected_from_marriage_bed_modifier
NOR = {
is_married = yes
any_consort = { can_contract_disease_trigger = { DISEASE = great_pox } }
any_relation = { type = lover can_contract_disease_trigger = { DISEASE = great_pox } }
}
}
}
#Let's just check back with them in ~3 years
trigger_event = {
id = health.1201
days = { 1000 1200 }
}
}
else = { #But everyone else infects a partner
save_scope_as = infecting_partner
every_relation = {
type = lover
limit = {
can_contract_disease_trigger = { DISEASE = great_pox }
}
add_to_temporary_list = potential_contagion_victims
}
every_consort = {
limit = {
can_contract_disease_trigger = { DISEASE = great_pox }
}
add_to_temporary_list = potential_contagion_victims
}
random_in_list = {
list = potential_contagion_victims
weight = {
base = 100
modifier = {
add = -50
has_perk = wash_your_hands_perk
}
}
contract_great_pox_from = { PARTNER = root }
}
#New chance of contagion in a while (time frame depends on traits)
if = {
limit = { #Quick
OR = {
has_trait = lustful
has_trait = seducer
has_trait = lifestyle_reveler
}
}
trigger_event = {
id = health.1201
days = { 350 1000 }
}
}
else_if = { #Slow
limit = { has_trait = chaste }
trigger_event = {
id = health.1201
days = { 3000 10000 }
}
}
else = { #Regular
trigger_event = {
id = health.1201
days = { 1000 3000 }
}
}
}
}
}
#Smallpox contagion
health.1202 = {
hidden = yes
trigger = {
has_trait = smallpox
}
immediate = {
save_scope_as = disease_spreader
save_health_court_owner_effect = { SCOPE_NAME = contagion_court_owner }
if = {
limit = { exists = scope:contagion_court_owner }
scope:contagion_court_owner = {
save_court_physician_as_effect = { SCOPE_NAME = physician }
}
#Add everyone in the same court (ruler, prisoners, guests) and friendly scheme targets/owners to list
create_contagion_list_effect = { SICK_CHARACTER = root CONTAGION_COURT_OWNER = scope:contagion_court_owner }
random_list = {
20 = { #Contagion successful
random_in_list = {
list = contagion_list
weight = {
base = 75
modifier = { #Proximity increases likelihood of contagion
is_imprisoned = yes
root = { is_imprisoned = yes }
add = 125
}
modifier = { #Proximity increases likelihood of contagion
is_imprisoned = no
root = { is_imprisoned = no }
add = 125
}
modifier = {
add = -50
has_perk = wash_your_hands_perk
}
modifier = {
add = -50
AND = {
OR = {
liege ?= {
any_court_position_holder ?= {
type = wet_nurse_court_position
NOT = { has_trait = smallpox }
has_relation_nursed_child = root
}
}
root = {
any_court_position_holder ?= {
type = wet_nurse_court_position
NOT = { has_trait = smallpox }
has_relation_nursed_child = root
}
}
}
root = { is_adult = no }
}
}
}
contract_disease_notify_effect = { DISEASE = smallpox }
}
}
0 = { #Contagion prevented by physician
modifier = {
has_good_disease_treatment_trigger = yes
add = 80
}
#No contagion this time!
}
}
}
#Next contagion
trigger_event = {
id = health.1202
days = { smallpox_contagion_min smallpox_contagion_max }
}
}
}
#Bubonic plague contagion
health.1203 = {
hidden = yes
trigger = {
has_trait = bubonic_plague
}
immediate = {
save_scope_as = disease_spreader
save_health_court_owner_effect = { SCOPE_NAME = contagion_court_owner }
if = {
limit = { exists = scope:contagion_court_owner }
scope:contagion_court_owner = {
save_court_physician_as_effect = { SCOPE_NAME = physician }
}
#Add everyone in the same court (ruler, prisoners, guests) and friendly scheme targets/owners to list
create_contagion_list_effect = { SICK_CHARACTER = root CONTAGION_COURT_OWNER = scope:contagion_court_owner }
random_list = {
20 = { #Contagion successful
random_in_list = {
list = contagion_list
weight = {
base = 100
modifier = { #Proximity increases likelihood of contagion
is_imprisoned = yes
root = { is_imprisoned = yes }
add = 100
}
modifier = { #Proximity increases likelihood of contagion
is_imprisoned = no
root = { is_imprisoned = no }
add = 100
}
modifier = {
add = -50
has_perk = wash_your_hands_perk
}
modifier = {
add = -50
AND = {
OR = {
liege ?= {
any_court_position_holder ?= {
type = wet_nurse_court_position
NOT = { has_trait = bubonic_plague }
has_relation_nursed_child = root
}
}
root = {
any_court_position_holder ?= {
type = wet_nurse_court_position
NOT = { has_trait = bubonic_plague }
has_relation_nursed_child = root
}
}
}
root = { is_adult = no }
}
}
}
contract_disease_notify_effect = { DISEASE = bubonic_plague }
}
}
0 = { #Contagion prevented by physician
modifier = {
has_good_disease_treatment_trigger = yes
add = 80
}
#No contagion this time!
}
}
}
#Next contagion
trigger_event = {
id = health.1203
days = { bubonic_plague_contagion_min bubonic_plague_contagion_max }
}
}
}
#######################################
# SEXUAL PARTNER CONTRACTS STD EVENTS # Mathilda Bjarnehed
#######################################
#Sexual partner has lover's pox / early great pox
scripted_trigger health_2001_std_from_you_trigger = {
OR = {
has_std_trigger = yes
#Has recently had the disease
has_character_flag = contraction_cooldown_great_pox
}
}
health.2001 = {
type = character_event
title = health.2001.t
desc = {
desc = health.2001.start.desc
first_valid = {
triggered_desc = {
trigger = { has_std_trigger = no }
desc = health.2001.not_sick.desc
}
triggered_desc = {
trigger = {
health_2001_std_from_you_trigger = yes
}
desc = health.2001.sick.desc
}
}
}
theme = seduction
override_background = {
trigger = { is_travelling = yes }
reference = terrain_travel
}
override_icon = {
trigger = { has_relation_soulmate = scope:std_partner }
reference = "gfx/interface/icons/event_types/type_love.dds"
}
override_icon = {
trigger = { is_spouse_of = scope:std_partner }
reference = "gfx/interface/icons/event_types/type_marriage.dds"
}
override_background = {
reference = bedchamber
}
left_portrait = {
character = scope:std_partner
animation = shame
}
trigger = {
is_playable_character = yes
}
immediate = {
save_scope_as = other_partner
scope:std_partner = {
show_as_tooltip = { add_trait_force_tooltip = lovers_pox }
}
if = {
limit = {
is_spouse_of = scope:std_partner
has_std_trigger = no
}
scope:std_partner = {
set_variable = {
name = std_from_unfaithfulness_against
value = root
years = 15
}
}
}
}
#Force celibacy
option = {
trigger = {
any_consort = { this = scope:std_partner }
}
name = {
trigger = { has_std_trigger = no }
text = health.2001.a.not_sick
}
name = {
trigger = { health_2001_std_from_you_trigger = yes }
text = health.2001.a.sick
}
show_as_tooltip = { #Actually happens in 2003
if = {
limit = { has_relation_lover = scope:std_partner }
remove_relation_lover = scope:std_partner
}
scope:std_partner = {
add_character_modifier = {
modifier = rejected_from_marriage_bed_modifier
}
}
reverse_add_opinion = {
target = scope:std_partner
modifier = refusal_opinion
opinion = -20
}
}
hidden_effect = {
scope:std_partner = {
trigger_event = health.2003
}
}
stress_impact = {
compassionate = medium_stress_gain
lustful = minor_stress_gain
forgiving = minor_stress_gain
}
ai_chance = {
base = 300
ai_value_modifier = {
ai_vengefulness = medium_chance_impact_positive_ai_value #200 if positive vengefulness is "high"
ai_compassion = high_chance_impact_negative_ai_value #400 if negative compassion is "high"
}
opinion_modifier = {
opinion_target = scope:std_partner
multiplier = -5
}
modifier = {
has_trait = paranoid
add = 100
}
}
}
#Break up
option = {
trigger = {
NOT = { any_consort = { this = scope:std_partner } }
has_relation_lover = scope:std_partner
}
name = {
trigger = { has_std_trigger = no }
text = health.2001.c.not_sick
}
name = {
trigger = { health_2001_std_from_you_trigger = yes }
text = health.2001.c.sick
}
show_as_tooltip = { #Really happens in 2003
remove_relation_lover = scope:std_partner
reverse_add_opinion = {
target = scope:std_partner
modifier = refusal_opinion
opinion = -20
}
}
hidden_effect = {
scope:std_partner = {
trigger_event = health.2003
}
}
stress_impact = {
compassionate = medium_stress_gain
lustful = minor_stress_gain
forgiving = minor_stress_gain
}
ai_chance = {
base = 400
ai_value_modifier = {
ai_vengefulness = medium_chance_impact_positive_ai_value #200 if positive vengefulness is "high"
ai_compassion = high_chance_impact_negative_ai_value #400 if negative compassion is "high"
}
opinion_modifier = {
opinion_target = scope:std_partner
multiplier = -5
}
modifier = {
has_trait = paranoid
add = 100
}
}
}
#Forgive
option = {
name = {
trigger = { has_std_trigger = no }
text = health.2001.d.not_sick
}
name = {
trigger = { health_2001_std_from_you_trigger = yes }
text = health.2001.d.sick
}
if = {
limit = {
health_2001_std_from_you_trigger = yes
}
custom_tooltip = health.2001.c.tt_sick
}
else = {
custom_tooltip = health.2001.c.tt
}
stress_impact = {
paranoid = major_stress_gain
vengeful = medium_stress_gain
}
ai_chance = {
base = 150
}
}
}
#It turns out the blisters were actually Great Pox!
health.2002 = {
type = character_event
title = health.2002.t
desc = {
desc = health.2002.start.desc
triggered_desc = {
trigger = { has_trait = early_great_pox }
desc = health.2002.early_great_pox.desc
}
}
theme = seduction
override_icon = {
trigger = { has_relation_soulmate = scope:std_partner }
reference = "gfx/interface/icons/event_types/type_love.dds"
}
override_icon = {
trigger = { is_spouse_of = scope:std_partner }
reference = "gfx/interface/icons/event_types/type_marriage.dds"
}
left_portrait = {
character = scope:std_partner
animation = shame
}
trigger = {
is_playable_character = yes
}
immediate = {
play_music_cue = "mx_cue_stress"
save_scope_as = other_partner
scope:std_partner = {
show_as_tooltip = { add_trait_force_tooltip = great_pox }
}
}
#Force celibacy
option = {
trigger = { #Non-rejected consort
any_consort = { this = scope:std_partner }
NOT = { scope:std_partner = { has_character_modifier = rejected_from_marriage_bed_modifier } }
}
name = {
trigger = { has_std_trigger = no }
text = health.2002.a.not_sick
}
name = {
trigger = { has_std_trigger = yes }
text = health.2002.a.sick
}
show_as_tooltip = { #Actually happens in 2003
if = {
limit = { has_relation_lover = scope:std_partner }
remove_relation_lover = scope:std_partner
}
scope:std_partner = {
add_character_modifier = {
modifier = rejected_from_marriage_bed_modifier
}
}
reverse_add_opinion = {
target = scope:std_partner
modifier = refusal_opinion
opinion = -20
}
}
hidden_effect = {
scope:std_partner = {
trigger_event = health.2003
}
}
stress_impact = {
compassionate = minor_stress_gain
lustful = minor_stress_gain
forgiving = minor_stress_gain
}
ai_chance = {
base = 300
ai_value_modifier = {
ai_vengefulness = medium_chance_impact_positive_ai_value #200 if positive vengefulness is "high"
ai_compassion = high_chance_impact_negative_ai_value #400 if negative compassion is "high"
}
opinion_modifier = {
opinion_target = scope:std_partner
multiplier = -5
}
modifier = {
has_trait = paranoid
add = 100
}
}
}
#Break up
option = {
trigger = { #Lover
NOT = { any_consort = { this = scope:std_partner } }
has_relation_lover = scope:std_partner
}
name = {
trigger = { has_std_trigger = no }
text = health.2002.b.not_sick
}
name = {
trigger = { health_2001_std_from_you_trigger = yes }
text = health.2002.b.sick
}
show_as_tooltip = { #Really happens in 2003
remove_relation_lover = scope:std_partner
reverse_add_opinion = {
target = scope:std_partner
modifier = refusal_opinion
opinion = -20
}
}
hidden_effect = {
scope:std_partner = {
trigger_event = health.2003
}
}
stress_impact = {
compassionate = minor_stress_gain
lustful = minor_stress_gain
forgiving = minor_stress_gain
}
ai_chance = {
base = 400
ai_value_modifier = {
ai_vengefulness = medium_chance_impact_positive_ai_value #200 if positive vengefulness is "high"
ai_compassion = high_chance_impact_negative_ai_value #400 if negative compassion is "high"
}
opinion_modifier = {
opinion_target = scope:std_partner
multiplier = -5
}
modifier = {
has_trait = paranoid
add = 100
}
}
}
#Still forgive
option = {
trigger = {
OR = {
AND = { # Lover
NOT = { any_consort = { this = scope:std_partner } }
has_relation_lover = scope:std_partner
}
AND = { # Non-rejected consort
any_consort = { this = scope:std_partner }
NOT = { scope:std_partner = { has_character_modifier = rejected_from_marriage_bed_modifier } }
}
}
}
name = health.2002.c
custom_tooltip = health.2001.c.tt
stress_impact = {
paranoid = major_stress_gain
vengeful = major_stress_gain
}
ai_chance = {
base = 50
}
}
#Already rejected, phew
option = {
trigger = { #Rejected consort
any_consort = { this = scope:std_partner }
scope:std_partner = { has_character_modifier = rejected_from_marriage_bed_modifier }
}
name = {
trigger = { has_std_trigger = no }
text = health.2002.d.not_sick
}
name = {
trigger = { health_2001_std_from_you_trigger = yes }
text = health.2002.d.sick
}
}
after = {
hidden_effect = { #Treatments handled separatley
if = {
limit = { root_picks_treatment_for_sick_character_trigger = yes }
trigger_event = {
id = health.3102 #I decide
days = { 5 10 }
}
}
}
}
}
#Dumped/rejected from marriage bed because of STD
health.2003 = {
type = character_event
title = health.2003.t
desc = {
desc = health.2003.start.desc
first_valid = {
triggered_desc = {
trigger = { any_consort = { this = scope:other_partner } }
desc = health.2003.consort.desc
}
triggered_desc = {
trigger = { NOT = { any_consort = { this = scope:other_partner } } }
desc = health.2003.lover.desc
}
}
}
theme = seduction
override_icon = {
trigger = { has_relation_soulmate = scope:std_partner }
reference = "gfx/interface/icons/event_types/type_love.dds"
}
override_icon = {
trigger = { is_spouse_of = scope:std_partner }
reference = "gfx/interface/icons/event_types/type_marriage.dds"
}
left_portrait = {
character = scope:other_partner
animation = disgust
}
immediate = {
play_music_cue = "mx_cue_prison"
}
option = {
name = health.2003.a
if = {
limit = {
has_relation_lover = scope:other_partner
}
remove_relation_lover = scope:other_partner
}
if = {
limit = {
any_consort = { this = scope:other_partner }
}
add_character_modifier = {
modifier = rejected_from_marriage_bed_modifier
}
}
reverse_add_opinion = {
target = scope:other_partner
modifier = refusal_opinion
opinion = -20
}
}
}
###############################
# CONTAGIOUS DISEASE AT COURT # Mathilda Bjarnehed
###############################
#Courtier/guest/prisoner has contagious disease
health.2101 = {
type = character_event
title = health.2101.t
orphan = yes
desc = {
first_valid = {
triggered_desc = { #Smallpox outbreak!
trigger = {
scope:disease_type = flag:smallpox
}
desc = health.2101.smallpox_outbreak.desc
}
triggered_desc = { #Smallpox spreads
trigger = {
scope:disease_type = flag:smallpox
}
desc = health.2101.smallpox_spreads.desc
}
triggered_desc = { #Bubonic plague outbreak!
trigger = {
scope:disease_type = flag:bubonic_plague
}
desc = health.2101.bubonic_plague_outbreak.desc
}
triggered_desc = { #Bubonic plague spreads
trigger = {
scope:disease_type = flag:bubonic_plague
}
desc = health.2101.bubonic_plague_spreads.desc
}
triggered_desc = { #Typhus outbreak!
trigger = {
scope:disease_type = flag:typhus
}
desc = health.2101.typhus_outbreak.desc
}
triggered_desc = { #Typhus spreads
trigger = {
scope:disease_type = flag:typhus
}
desc = health.2101.typhus_spreads.desc
}
triggered_desc = { #Consumption outbreak!
trigger = {
scope:disease_type = flag:consumption
}
desc = health.2101.consumption_outbreak.desc
}
triggered_desc = { #Consumption spreads
trigger = {
scope:disease_type = flag:consumption
}
desc = health.2101.consumption_spreads.desc
}
triggered_desc = { #Measles outbreak!
trigger = {
scope:disease_type = flag:measles
}
desc = health.2101.measles_outbreak.desc
}
triggered_desc = { #Measles spreads
trigger = {
scope:disease_type = flag:measles
}
desc = health.2101.measles_spreads.desc
}
triggered_desc = { #Dysentery outbreak!
trigger = {
scope:disease_type = flag:dysentery
}
desc = health.2101.dysentery_outbreak.desc
}
triggered_desc = { #Dysentery spreads
trigger = {
scope:disease_type = flag:dysentery
}
desc = health.2101.dysentery_spreads.desc
}
triggered_desc = { #Ergotism outbreak!
trigger = {
scope:disease_type = flag:ergotism
}
desc = health.2101.ergotism_outbreak.desc
}
triggered_desc = { #Ergotism spreads
trigger = {
scope:disease_type = flag:ergotism
}
desc = health.2101.ergotism_spreads.desc
}
}
first_valid = {
triggered_desc = {
trigger = {
OR = {
is_spouse_of = scope:sick_character
is_child_of = scope:sick_character
is_parent_of = scope:sick_character
AND = {
exists = scope:sick_character
player_heir = scope:sick_character
}
}
}
desc = health.2101.imporant.desc #It's someone important
}
triggered_desc = {
trigger = { scope:sick_character = { is_imprisoned = yes } }
desc = health.2101.prisoner.desc #It's a prisoner
}
desc = health.2101.courtier_or_guest.desc #It's a courtier/guest
}
first_valid = {
triggered_desc = {
trigger = {
OR = {
AND = {
scope:disease_type = flag:smallpox
has_character_flag = disease_immunity_smallpox
}
AND = {
scope:disease_type = flag:bubonic_plague
has_character_flag = disease_immunity_bubonic_plague
}
}
}
desc = health.2101.immune.desc #I'm immune
}
desc = health.2101.not_immune.desc #I'm not immune
}
triggered_desc = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = scope:physician
}
desc = health.2201.court_physician.desc_sick_physician
}
desc = health.2201.court_physician.desc
}
}
}
}
theme = healthcare
override_background = {
trigger = { scope:sick_character ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:sick_character
animation = sick
}
right_portrait = {
trigger = { scope:sick_character != scope:physician }
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
animation = personality_rational
}
immediate = {
play_music_cue = "mx_cue_illness"
#Show physician portrait if you're picking the sick character's treatment
hidden_effect = {
if = {
limit = {
root_picks_treatment_for_sick_character_trigger = yes
}
save_court_physician_as_effect = { SCOPE_NAME = physician }
}
}
scope:sick_character.location ?= { save_scope_as = background_terrain_scope }
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
court_physician_available_trigger = no
}
name = health.3101.e
name = {
trigger = { scope:sick_character = scope:physician }
text = health.3101.e_sick_physician
}
find_court_physician_effect = yes
ai_chance = { base = 100 }
}
#Isolate them and hope for the best (generic option)
option = {
trigger = {
NAND = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
}
name = health.2101.a
if = {
limit = { court_physician_available_trigger = no }
custom_tooltip = health.2101.a.tt
}
ai_chance = { base = 10 }
}
###COURT PHYSICIAN OPTIONS###
#Safe
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.a
safe_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.b
risky_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
scope:physician = { has_trait = lifestyle_mystic }
}
name = {
trigger = { scope:sick_character = scope:physician }
text = health.3102.c_sick_physician
}
name = health.3102.c
mystic_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.d
deny_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 0 }
}
#Let them pick
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = yes }
scope:sick_character != scope:physician
}
}
text = health.3102.e_adult
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = no }
scope:sick_character = scope:physician
}
}
text = health.3102.e_child
}
scope:sick_character = { pick_own_disease_treatment_effect = yes }
ai_chance = { base = 0 }
}
#Release them
option = {
trigger = {
scope:sick_character = {
is_imprisoned = yes
NOT = { is_courtier_of = root }
}
root_picks_treatment_for_sick_character_trigger = no
}
name = health.2101.c
scope:sick_character = { release_from_prison = yes }
}
}
#There is no longer an outbreak! (send by story)
health.2102 = { #by Mathilda Bjarnehed
type = character_event
title = health.2102.t
orphan = yes
desc = {
desc = health.2102.start1.desc
first_valid = {
triggered_desc = {
trigger = {
exists = scope:disease_type
scope:disease_type = flag:smallpox
}
desc = health.2102.smallpox.desc
}
triggered_desc = {
trigger = {
exists = scope:disease_type
scope:disease_type = flag:bubonic_plague
}
desc = health.2102.bubonic_plague.desc
}
}
desc = health.2102.start2.desc
first_valid = {
triggered_desc = {
trigger = { exists = scope:physician }
desc = health.2102.physician.desc
}
desc = health.2102.no_physician.desc
}
#Extra bits about specific people dying
first_valid = {
triggered_desc = {
desc = health.2102.2_victims.desc
}
triggered_desc = {
desc = health.2102.1_victim.desc
}
triggered_desc = {
desc = health.2102.root_victim.desc
}
}
}
theme = recovery
left_portrait = scope:left_portrait
right_portrait = scope:right_portrait
immediate = {
play_music_cue = "mx_cue_peace_ensues"
}
option = {
}
}
####################################
# SOMEONE IMPORTANT TO YOU IS SICK # Mathilda Bjarnehed
####################################
#Someone important to you is sick. If you're their liege and you have a court physician, you may chose their treatment.
#Triggered by the contract_disease_effect
health.2201 = {
type = character_event
title = health.2201.t
desc = {
desc = health.2201.start.desc
triggered_desc = {
trigger = { scope:disease_type = flag:ill }
desc = disease_ill_article
}
first_valid = { #Disease type
triggered_desc = {
trigger = { scope:disease_type = flag:ill }
desc = disease_ill
}
triggered_desc = {
trigger = { scope:disease_type = flag:pneumonic }
desc = disease_pneumonic
}
triggered_desc = {
trigger = { scope:disease_type = flag:gout_ridden }
desc = disease_gout_ridden
}
triggered_desc = {
trigger = { scope:disease_type = flag:leper }
desc = disease_leper
}
triggered_desc = {
trigger = { scope:disease_type = flag:typhus }
desc = disease_typhus
}
triggered_desc = {
trigger = { scope:disease_type = flag:consumption }
desc = disease_consumption
}
triggered_desc = {
trigger = { scope:disease_type = flag:cancer }
desc = disease_cancer
}
triggered_desc = {
trigger = { scope:disease_type = flag:lovers_pox }
desc = disease_lovers_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:great_pox }
desc = disease_great_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:smallpox }
desc = disease_smallpox
}
triggered_desc = {
trigger = { scope:disease_type = flag:bubonic_plague }
desc = disease_bubonic_plague
}
triggered_desc = {
trigger = { scope:disease_type = flag:measles }
desc = disease_measles
}
triggered_desc = {
trigger = { scope:disease_type = flag:dysentery }
desc = disease_dysentery
}
triggered_desc = {
trigger = { scope:disease_type = flag:ergotism }
desc = disease_ergotism
}
desc = missing_illness
}
first_valid = {
triggered_desc = { #Normally not bad, now worried
trigger = {
OR = {
scope:disease_type = flag:ill
scope:disease_type = flag:gout_ridden
scope:disease_type = flag:lovers_pox
scope:disease_type = flag:early_great_pox
}
}
desc = health.2201.minor_disease.desc
}
triggered_desc = { #Leprosy
trigger = { scope:disease_type = flag:leper }
desc = health.2201.leprosy.desc
}
triggered_desc = { #Lethal
trigger = {
OR = {
scope:disease_type = flag:cancer
scope:disease_type = flag:bubonic_plague
}
}
desc = health.2201.lethal_disease.desc
}
desc = health.2201.major_disease.desc #Ther rest, dangerous stuff but with a ~50%+ chance of survival
}
triggered_desc = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = scope:physician
}
desc = health.2201.court_physician.desc_sick_physician
}
desc = health.2201.court_physician.desc
}
}
}
}
theme = healthcare
override_background = {
trigger = { scope:sick_character ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
override_background = {
trigger = { scope:sick_character ?= { is_travelling = no } }
reference = bedchamber
}
left_portrait = {
character = scope:sick_character
animation = sick
}
#Show physician portrait if you're picking the sick character's treatment
right_portrait = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
scope:sick_character != scope:physician
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
animation = personality_rational
}
trigger = {
scope:sick_character = {
is_alive = yes
trigger_if = {
limit = { is_imprisoned = yes }
is_imprisoned_by = root
}
}
}
immediate = {
show_as_tooltip = {
if = {
limit = { scope:disease_type = flag:ill }
scope:sick_character = { add_trait_force_tooltip = ill }
}
else_if = {
limit = { scope:disease_type = flag:pneumonic }
scope:sick_character = { add_trait_force_tooltip = pneumonic }
}
if = {
limit = { scope:disease_type = flag:leper }
scope:sick_character = { add_trait_force_tooltip = leper }
}
else_if = {
limit = { scope:disease_type = flag:typhus }
scope:sick_character = { add_trait_force_tooltip = typhus }
}
if = {
limit = { scope:disease_type = flag:consumption }
scope:sick_character = { add_trait_force_tooltip = consumption }
}
else_if = {
limit = { scope:disease_type = flag:cancer }
scope:sick_character = { add_trait_force_tooltip = cancer }
}
if = {
limit = { scope:disease_type = flag:lovers_pox }
scope:sick_character = { add_trait_force_tooltip = lovers_pox }
}
else_if = {
limit = { scope:disease_type = flag:early_great_pox }
scope:sick_character = { add_trait_force_tooltip = early_great_pox }
}
if = {
limit = { scope:disease_type = flag:great_pox }
scope:sick_character = { add_trait_force_tooltip = great_pox }
}
else_if = {
limit = { scope:disease_type = flag:smallpox }
scope:sick_character = { add_trait_force_tooltip = smallpox }
}
if = {
limit = { scope:disease_type = flag:bubonic_plague }
scope:sick_character = { add_trait_force_tooltip = bubonic_plague }
}
else_if = {
limit = { scope:disease_type = flag:measles }
scope:sick_character = { add_trait_force_tooltip = measles }
}
else_if = {
limit = { scope:disease_type = flag:dysentery }
scope:sick_character = { add_trait_force_tooltip = dysentery }
}
else_if = {
limit = { scope:disease_type = flag:ergotism }
scope:sick_character = { add_trait_force_tooltip = ergotism }
}
}
save_court_physician_as_effect = { SCOPE_NAME = physician }
scope:sick_character.location ?= { save_scope_as = background_terrain_scope }
}
###COURT PHYSICIAN OPTIONS###
#Safe
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.a
safe_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.b
risky_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
scope:physician = { has_trait = lifestyle_mystic }
}
name = {
trigger = { scope:sick_character = scope:physician }
text = health.3102.c_sick_physician
}
name = health.3102.c
mystic_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.d
deny_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 0 }
}
#Let them pick
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = yes }
scope:sick_character != scope:physician
}
}
text = health.3102.e_adult
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = no }
scope:sick_character = scope:physician
}
}
text = health.3102.e_child
}
scope:sick_character = { pick_own_disease_treatment_effect = yes }
ai_chance = { base = 0 }
}
###NO COURT PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
court_physician_available_trigger = no
root_picks_treatment_for_sick_character_trigger = yes
}
name = {
trigger = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e
}
name = {
trigger = {
OR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
text = health.3101.e.already_looking
}
if = {
limit = {
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
find_court_physician_effect = yes
}
else = {
custom_tooltip = health_3101_already_looking_tt
}
ai_chance = { base = 1 }
}
#Nothing to do
option = {
trigger = {
NAND = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
NOR = {
has_character_flag = seeking_epidemic_treatment
has_character_flag = searching_for_physician
}
}
name = health.2201.a
ai_chance = { base = 10 }
}
}
scripted_trigger health_2202_happy_recovery_trigger = {
OR = {
has_relation_lover = scope:sick_character
has_relation_friend = scope:sick_character
has_relation_best_friend = scope:sick_character
has_relation_soulmate = scope:sick_character
AND = {
scope:sick_character = {
opinion = {
target = root
value > 0
}
is_of_major_interest_to_root_trigger = yes
}
}
}
}
scripted_trigger health_2202_angry_recovery_trigger = {
OR = {
has_relation_rival = scope:sick_character
has_relation_nemesis = scope:sick_character
scope:sick_character = {
opinion = {
target = root
value < -35
}
}
}
}
scripted_trigger health_2202_contagious_recovery_trigger = {
OR = {
any_courtier_or_guest = { this = scope:sick_character }
any_prisoner = { this = scope:sick_character }
}
OR = {
scope:disease_type = flag:smallpox
scope:disease_type = flag:bubonic_plague
}
}
##########################################################
# SOMEONE IMPORTANT/CONTAGIOUS/STD PARTNER HAS RECOVERED # By Mathilda Bjarnehed & Veronica Pazos
##########################################################
health.2202 = {
type = character_event
title = health.2202.t
desc = {
desc = health.2202.desc
triggered_desc = {
trigger = { scope:disease_type = flag:ill }
desc = disease_ill_article
}
first_valid = { #Disease type
triggered_desc = {
trigger = { scope:disease_type = flag:ill }
desc = disease_ill
}
triggered_desc = {
trigger = { scope:disease_type = flag:pneumonic }
desc = disease_pneumonic
}
triggered_desc = {
trigger = { scope:disease_type = flag:gout_ridden }
desc = disease_gout_ridden
}
triggered_desc = {
trigger = { scope:disease_type = flag:leper }
desc = disease_leper
}
triggered_desc = {
trigger = { scope:disease_type = flag:typhus }
desc = disease_typhus
}
triggered_desc = {
trigger = { scope:disease_type = flag:consumption }
desc = disease_consumption
}
triggered_desc = {
trigger = { scope:disease_type = flag:cancer }
desc = disease_cancer
}
triggered_desc = {
trigger = { scope:disease_type = flag:lovers_pox }
desc = disease_lovers_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:great_pox }
desc = disease_great_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:smallpox }
desc = disease_smallpox
}
triggered_desc = {
trigger = { scope:disease_type = flag:bubonic_plague }
desc = disease_bubonic_plague
}
triggered_desc = {
trigger = { scope:disease_type = flag:measles }
desc = disease_measles
}
triggered_desc = {
trigger = { scope:disease_type = flag:ergotism }
desc = disease_ergotism
}
triggered_desc = {
trigger = { scope:disease_type = flag:dysentery }
desc = disease_dysentery
}
desc = missing_illness
}
first_valid = { #Are you happy about this?
triggered_desc = {
trigger = {
health_2202_happy_recovery_trigger = yes
}
desc = health.2202.desc.happy
}
triggered_desc = {
trigger = {
health_2202_happy_recovery_trigger = no
health_2202_angry_recovery_trigger = yes
}
desc = health.2202.desc.angry
}
triggered_desc = {
trigger = {
health_2202_happy_recovery_trigger = no
health_2202_angry_recovery_trigger = no
health_2202_contagious_recovery_trigger = yes
}
desc = health.2202.desc.relieved
}
triggered_desc = {
trigger = {
health_2202_happy_recovery_trigger = no
health_2202_angry_recovery_trigger = no
health_2202_contagious_recovery_trigger = no
}
desc = health.2202.desc.neutral
}
}
}
theme = recovery
override_background = { reference = relaxing_room }
left_portrait = {
character = root
triggered_animation = {
trigger = {
health_2202_happy_recovery_trigger = no
health_2202_angry_recovery_trigger = yes
}
animation = rage
}
animation = personality_compassionate
}
right_portrait = {
character = scope:sick_character
animation = happiness
}
trigger = {
scope:sick_character = { is_alive = yes }
}
immediate = {
show_as_tooltip = {
if = {
limit = { scope:disease_type = flag:ill }
scope:sick_character = { remove_trait_force_tooltip = ill }
}
else_if = {
limit = { scope:disease_type = flag:pneumonic }
scope:sick_character = { remove_trait_force_tooltip = pneumonic }
}
if = {
limit = { scope:disease_type = flag:leper }
scope:sick_character = { remove_trait_force_tooltip = leper }
}
else_if = {
limit = { scope:disease_type = flag:typhus }
scope:sick_character = { remove_trait_force_tooltip = typhus }
}
if = {
limit = { scope:disease_type = flag:consumption }
scope:sick_character = { remove_trait_force_tooltip = consumption }
}
else_if = {
limit = { scope:disease_type = flag:cancer }
scope:sick_character = { remove_trait_force_tooltip = cancer }
}
if = {
limit = { scope:disease_type = flag:lovers_pox }
scope:sick_character = { remove_trait_force_tooltip = lovers_pox }
}
else_if = {
limit = { scope:disease_type = flag:early_great_pox }
scope:sick_character = { remove_trait_force_tooltip = early_great_pox }
}
if = {
limit = { scope:disease_type = flag:great_pox }
scope:sick_character = { remove_trait_force_tooltip = great_pox }
}
else_if = {
limit = { scope:disease_type = flag:smallpox }
scope:sick_character = { remove_trait_force_tooltip = smallpox }
}
if = {
limit = { scope:disease_type = flag:bubonic_plague }
scope:sick_character = { remove_trait_force_tooltip = bubonic_plague }
}
else_if = {
limit = { scope:disease_type = flag:measles }
scope:sick_character = { remove_trait_force_tooltip = measles }
}
else_if = {
limit = { scope:disease_type = flag:dysentery }
scope:sick_character = { remove_trait_force_tooltip = dysentery }
}
else_if = {
limit = { scope:disease_type = flag:ergotism }
scope:sick_character = { remove_trait_force_tooltip = ergotism }
}
}
}
option = {
name = { #So happy!
trigger = { health_2202_happy_recovery_trigger = yes }
text = health.2202.a.happy
}
name = { #So angry!
trigger = {
health_2202_happy_recovery_trigger = no
health_2202_angry_recovery_trigger = yes
}
text = health.2202.a.angry
}
name = { #So relieved!
trigger = {
health_2202_happy_recovery_trigger = no
health_2202_angry_recovery_trigger = no
health_2202_contagious_recovery_trigger = yes
}
text = health.2202.a.relieved
}
name = { #So neutral...
trigger = {
health_2202_happy_recovery_trigger = no
health_2202_angry_recovery_trigger = no
health_2202_contagious_recovery_trigger = no
}
text = health.2202.a.neutral
}
if = {
limit = {
OR = {
scope:disease_type = flag:lovers_pox
scope:disease_type = flag:early_great_pox
scope:disease_type = flag:great_pox
}
scope:sick_character = {
has_std_trigger = no
has_character_modifier = rejected_from_marriage_bed_modifier
}
}
scope:sick_character = {
remove_character_modifier = rejected_from_marriage_bed_modifier
}
}
}
}
##########################
##########################
# COURT PHYSICIAN EVENTS #
##########################
##########################
########################
# PICK COURT PHYSICIAN #
########################
scripted_trigger health_3001_physician_basic_requirements_trigger = {
is_adult = yes
is_imprisoned = no
is_alive = yes # Because apparently there can be dead characters in the pool (remove when fixed)
is_claimant = no # We don't want recruiting physicians to be a cheap way of getting claimants
learning >= low_skill_rating
}
scripted_trigger health_3001_excellent_skill_physician_trigger = {
health_3001_physician_basic_requirements_trigger = yes
learning >= high_skill_rating # 15
}
scripted_trigger health_3001_high_skill_physician_trigger = {
health_3001_physician_basic_requirements_trigger = yes
#Empire/kingdom
trigger_if = {
limit = {
root = { highest_held_title_tier >= tier_kingdom }
}
learning <= very_high_skill_rating # 18
learning >= decent_skill_rating # 12
}
#Duchy/county
trigger_else = {
learning <= high_skill_rating # 15
learning >= medium_skill_rating # 10
}
}
scripted_trigger health_3001_low_skill_physician_trigger = {
health_3001_physician_basic_requirements_trigger = yes
# Save mystics for mystic option
NOT = { has_trait = lifestyle_mystic }
#Empire/kingdom
trigger_if = {
limit = {
root = { highest_held_title_tier >= tier_kingdom }
}
learning <= decent_skill_rating # 12
learning >= mediocre_skill_rating # 8
}
#Duchy/county
trigger_else = {
learning <= medium_skill_rating # 10
learning >= low_skill_rating # 5
}
}
scripted_trigger health_3001_low_skill_physician_light_trigger = {
health_3001_physician_basic_requirements_trigger = yes
learning >= medium_skill_rating # 10
}
scripted_trigger health_3001_mystic_physician_trigger = {
health_3001_physician_basic_requirements_trigger = yes
#For this one, we add mystic trait if they don't have it if their learning isn't awesome
#Must be suitable mystic
has_trait = lifestyle_mystic
#Empire/kingdom
trigger_if = {
limit = {
root = { highest_held_title_tier >= tier_kingdom }
}
learning >= decent_skill_rating # 12
NAND = {
has_trait = lifestyle_physician
NOT = { has_trait = lifestyle_mystic }
}
}
#Duchy/county
trigger_else = {
NOR = {
learning > high_skill_rating # 15
AND = {
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value >= 100
}
}
has_trait = lifestyle_physician
}
learning >= mediocre_skill_rating # 8
}
}
#Ruler picking court physician
health.3001 = {
type = character_event
title = {
triggered_desc = {
trigger = { exists = scope:disease_type }
desc = health.3001.disease.t
}
desc = health.3001.t
}
desc = {
first_valid = {
triggered_desc = {
trigger = { has_character_flag = already_sick }
desc = health.3001.already_sick.desc
}
triggered_desc = {
trigger = { has_character_flag = health_3001_hire_physician_decision_text }
desc = health.3001.decision.desc
}
desc = health.3001.fallback_reason.desc
}
}
theme = healthcare
left_portrait = {
character = scope:high_skill_option
animation = physician
}
lower_left_portrait = scope:mystic_option
right_portrait = {
character = scope:low_skill_option
animation = personality_rational
}
lower_right_portrait = scope:excellent_skill_option
trigger = { #If I lost it before I got this event, I shouldn't get a physician
exists = capital_province
}
immediate = {
hidden_effect = {
#Find some appropriate options
if = { #Performance heavy option finding is only for players
limit = { is_ai = no }
#EXCELLENT SKILL CHARACTER (for learned rulers)
if = {
limit = {
OR = {
has_learning_lifestyle_trait_trigger = yes
learning >= high_skill_rating
}
}
random_pool_character = {
province = capital_province
limit = {
health_3001_excellent_skill_physician_trigger = yes
has_trait = lifestyle_physician
has_trait = lifestyle_herbalist
}
alternative_limit = {
health_3001_excellent_skill_physician_trigger = yes
has_trait = lifestyle_physician
}
alternative_limit = { health_3001_excellent_skill_physician_trigger = yes }
weight = {
base = 1
modifier = {
faith = root.faith
factor = 10
}
modifier = {
has_trait = lifestyle_mystic
factor = 10
}
modifier = {
has_trait = lifestyle_herbalist
factor = 10
}
}
save_scope_as = excellent_skill_option
# Good doctor trait
if = {
limit = {
NOT = { has_trait = lifestyle_physician }
}
add_trait = lifestyle_physician
}
if = {
limit = {
NOT = {
has_trait_xp = {
trait = lifestyle_physician
value >= 10
}
}
}
add_trait_xp = {
trait = lifestyle_physician
value = {
integer_range = {
min = medium_lifestyle_random_xp_low
max = medium_lifestyle_random_xp_high
}
}
}
}
}
#Backup excellent generation
if = {
limit = { NOT = { exists = scope:excellent_skill_option } }
create_character = {
location = root.capital_province
template = physician_excellent_character_template
save_scope_as = excellent_skill_option
}
}
# Ensure some medical knowledge
scope:excellent_skill_option ?= {
if = {
limit = {
NOT = { has_trait = lifestyle_physician }
}
add_trait = lifestyle_physician
add_trait_xp = {
trait = lifestyle_physician
value = {
medium_lifestyle_random_xp_high
100
}
}
}
else_if = {
limit = {
has_trait_xp = {
trait = lifestyle_physician
value <= 55
}
}
add_trait_xp = {
trait = lifestyle_physician
value = {
medium_lifestyle_random_xp_low
45
}
}
}
# Bonus herbalist trait chance
random = {
chance = 66
modifier = {
culture = { has_cultural_parameter = herbalist_traits_more_common }
factor = 2
}
if = {
limit = {
NOT = { has_trait = lifestyle_herbalist }
}
add_trait = lifestyle_herbalist
}
}
}
}
#HIGH-SKILL CHARACTER
random_pool_character = {
province = capital_province
limit = {
health_3001_high_skill_physician_trigger = yes
has_trait = lifestyle_physician
NOT = { scope:excellent_skill_option ?= this }
}
alternative_limit = {
health_3001_high_skill_physician_trigger = yes
NOT = { scope:excellent_skill_option ?= this }
}
weight = {
base = 1
modifier = {
faith = root.faith
factor = 10
}
modifier = {
has_trait = lifestyle_mystic
factor = 10
}
modifier = {
has_trait = lifestyle_herbalist
factor = 10
}
}
save_scope_as = high_skill_option
}
#Backup high generation
if = {
limit = { NOT = { exists = scope:high_skill_option } }
create_character = {
location = root.capital_province
template = physician_high_character_template
save_scope_as = high_skill_option
}
}
# Ensure some medical knowledge
scope:high_skill_option ?= {
if = {
limit = {
NOT = { has_trait = lifestyle_physician }
}
add_trait = lifestyle_physician
add_trait_xp = {
trait = lifestyle_physician
value = {
medium_lifestyle_random_xp_low
medium_lifestyle_random_xp_high
}
}
}
else_if = {
limit = {
has_trait_xp = {
trait = lifestyle_physician
value <= 30
}
}
add_trait_xp = {
trait = lifestyle_physician
value = {
small_lifestyle_random_xp_low
small_lifestyle_random_xp_high
}
}
}
# Bonus herbalist trait chance
random = {
chance = 33
modifier = {
culture = { has_cultural_parameter = herbalist_traits_more_common }
factor = 2
}
if = {
limit = {
NOT = { has_trait = lifestyle_herbalist }
}
add_trait = lifestyle_herbalist
}
}
}
#LOW-MEDIUM-SKILL CHARACTER
random_pool_character = {
province = root.capital_province
limit = {
health_3001_low_skill_physician_trigger = yes
has_trait = lifestyle_physician
NOT = { scope:excellent_skill_option ?= this }
NOT = { scope:high_skill_option ?= this }
}
alternative_limit = {
health_3001_low_skill_physician_trigger = yes
NOT = { scope:excellent_skill_option ?= this }
NOT = { scope:high_skill_option ?= this }
}
weight = {
base = 1
modifier = {
faith = root.faith
factor = 10
}
}
save_scope_as = low_skill_option
}
#MYSTIC CHARACTER (optional, only if available in pool)
random_pool_character = {
province = root.capital_province
limit = {
health_3001_mystic_physician_trigger = yes
has_trait = lifestyle_physician
NOT = { scope:excellent_skill_option ?= this }
NOT = { scope:high_skill_option ?= this }
NOT = { scope:low_skill_option ?= this }
}
alternative_limit = {
health_3001_mystic_physician_trigger = yes
NOT = { scope:excellent_skill_option ?= this }
NOT = { scope:high_skill_option ?= this }
NOT = { scope:low_skill_option ?= this }
}
weight = {
base = 1
modifier = {
has_trait = lifestyle_mystic
factor = 100
}
modifier = {
faith = root.faith
factor = 10
}
modifier = {
culture = { has_cultural_parameter = mystic_trait_gives_bonuses }
factor = 10
}
}
save_scope_as = mystic_option
#Set mystic trait if skill is too low
while = {
limit = {
#Empire/kingdom
trigger_if = {
limit = {
root = { highest_held_title_tier >= tier_kingdom }
}
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value <= 60
}
}
#Duchy/county
trigger_else = {
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value <= 30
}
}
}
ai_mystic_lifestyle_rank_up_effect = yes
}
}
}
else = { #Ai get someone simple
random_pool_character = {
province = root.capital_province
limit = { health_3001_low_skill_physician_light_trigger = yes }
weight = {
base = 1
modifier = {
faith = root.faith
factor = 10
}
}
save_scope_as = low_skill_option
}
}
#Backup low generation
if = {
limit = { NOT = { exists = scope:low_skill_option } }
create_character = {
location = root.capital_province
template = physician_low_character_template
save_scope_as = low_skill_option
}
}
# Ensure some medical knowledge
scope:low_skill_option ?= {
if = {
limit = {
NOT = { has_trait = lifestyle_physician }
}
random = {
chance = 50
add_trait = lifestyle_physician
add_trait_xp = {
trait = lifestyle_physician
value = {
small_lifestyle_random_xp_low
small_lifestyle_random_xp_high
}
}
}
}
else_if = {
limit = {
has_trait_xp = {
trait = lifestyle_physician
value <= 5
}
}
add_trait_xp = {
trait = lifestyle_physician
value = {
small_lifestyle_random_xp_low
small_lifestyle_random_xp_high
}
}
}
# Bonus herbalist trait chance
random = {
chance = 10
modifier = {
culture = { has_cultural_parameter = herbalist_traits_more_common }
factor = 2
}
if = {
limit = {
NOT = { has_trait = lifestyle_herbalist }
}
add_trait = lifestyle_herbalist
}
}
}
}
}
#Amazing skill
option = {
trigger = {
exists = scope:excellent_skill_option
is_playable_character = yes #extra check to make sure they haven't lost their status
}
name = health.3001.e
trait = scholar
skill = learning
custom_tooltip = health.3001.e.aptitude
pay_treasury_or_gold = {
target = scope:excellent_skill_option
value = high_skill_court_physician_cost
}
custom_tooltip = health.3001.a.tt
set_court_physician_effect = {
EMPLOYER = root
PHYSICIAN = scope:excellent_skill_option
}
ai_chance = {
factor = 500
modifier = {
short_term_gold < medium_gold_value
factor = 0
}
}
}
#High skill
option = {
trigger = {
is_playable_character = yes #extra check to make sure they haven't lost their status
exists = scope:high_skill_option #Doesn't exists for AI
}
name = health.3001.a
custom_tooltip = health.3001.a.aptitude
pay_treasury_or_gold = {
target = scope:high_skill_option
value = high_skill_court_physician_cost
}
custom_tooltip = health.3001.a.tt
set_court_physician_effect = {
EMPLOYER = root
PHYSICIAN = scope:high_skill_option
}
ai_chance = {
factor = 100
modifier = {
short_term_gold < medium_gold_value
factor = 0
}
}
}
#Low
option = {
trigger = {
is_playable_character = yes #extra check to make sure they haven't lost their status
}
name = health.3001.b
custom_tooltip = health.3001.b.aptitude
if = {
limit = {
OR = {
is_ai = no
short_term_gold >= low_skill_court_physician_cost #Because AI would never have enough money and everyone would die
}
}
pay_treasury_or_gold = {
target = scope:low_skill_option
value = low_skill_court_physician_cost
}
}
custom_tooltip = health.3001.a.tt
set_court_physician_effect = {
EMPLOYER = root
PHYSICIAN = scope:low_skill_option
}
ai_chance = {
factor = 100
}
}
#Mystic
option = {
trigger = {
exists = scope:mystic_option
is_playable_character = yes #extra check to make sure they haven't lost their status
}
name = health.3001.c
custom_tooltip = health.3001.c.aptitude
pay_treasury_or_gold = {
target = scope:mystic_option
value = low_skill_court_physician_cost
}
custom_tooltip = health.3001.a.tt
add_piety = medium_piety_loss
set_court_physician_effect = {
EMPLOYER = root
PHYSICIAN = scope:mystic_option
}
stress_impact = {
zealous = minor_stress_impact_gain
}
hidden_effect = {
scope:mystic_option = {
if = {
limit = {
NOR = {
any_secret = { type = secret_witch }
has_trait = witch
}
}
random = {
chance = 5
modifier = {
factor = 0
ai_zeal >= medium_positive_ai_value
}
modifier = {
factor = 2
ai_zeal <= high_negative_ai_value #high and not medium because mystic traits already remove some ai_zeal
}
give_witch_secret_or_trait_effect = yes
}
}
}
}
ai_chance = {
factor = 30
modifier = {
short_term_gold < minor_gold_value
factor = 0
}
ai_value_modifier = {
ai_zeal = tiny_chance_impact_negative_ai_value
max = 20
}
}
}
#None...
option = {
name = {
trigger = {
NOR = {
exists = scope:mystic_option
exists = scope:excellent_skill_option
}
}
text = health.3001.d.two
}
name = {
trigger = {
OR = {
exists = scope:mystic_option
exists = scope:excellent_skill_option
}
}
text = health.3001.d.more
}
custom_tooltip = health.3001.d.tt
ai_chance = {
factor = 1
}
}
after = {
hidden_effect = {
if = {
limit = {
has_character_flag = seeking_epidemic_treatment
exists = court_position:court_physician_court_position
}
court_position:court_physician_court_position = { save_scope_as = physician }
trigger_event = {
id = physician_epidemic_events.1020
days = 3
}
}
}
remove_character_flag = health_3001_hire_physician_decision_text
}
}
#####################
# DISEASE TREATMENT # by Mathilda Bjarnehed & additional texts by Milla Isaksson
#####################
#Who should decide about my treatment?
health.3100 = {
hidden = yes
trigger = {
has_treatable_disease_trigger = yes
has_recent_treatment_trigger = no
court_physician_available_trigger = yes
}
immediate = {
set_worst_disease_effect = yes
save_scope_as = sick_character
decide_who_picks_disease_treatment_effect = yes #Sends health.3101 to me or 3102 to liege
}
on_trigger_fail = {
#No disease/no physician: do nothing (if we hire a new physician, they will treat everyone upon being hired)
#Has a disease but treatment is still active? Try again
if = {
limit = {
has_treatable_disease_trigger = yes
has_recent_treatment_trigger = yes #Only difference
court_physician_available_trigger = yes
}
trigger_event = { id = health.3100 years = 1 }
}
}
}
#I pick my treatment (court physician was recently hired OR treating after last treatment ran out OR liege let me pick for myself)
health.3101 = {
type = character_event
title = health.3101.t
desc = {
desc = health.3101.start.desc
first_valid = { #Disease type
triggered_desc = {
trigger = { scope:disease_type = flag:ill }
desc = disease_ill
}
triggered_desc = {
trigger = { scope:disease_type = flag:pneumonic }
desc = disease_pneumonic
}
triggered_desc = {
trigger = { scope:disease_type = flag:gout_ridden }
desc = disease_gout_ridden
}
triggered_desc = {
trigger = { scope:disease_type = flag:leper }
desc = disease_leper
}
triggered_desc = {
trigger = { scope:disease_type = flag:typhus }
desc = disease_typhus
}
triggered_desc = {
trigger = { scope:disease_type = flag:consumption }
desc = disease_consumption
}
triggered_desc = {
trigger = { scope:disease_type = flag:cancer }
desc = disease_cancer
}
triggered_desc = {
trigger = { scope:disease_type = flag:lovers_pox }
desc = disease_lovers_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:great_pox }
desc = disease_great_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:smallpox }
desc = disease_smallpox
}
triggered_desc = {
trigger = { scope:disease_type = flag:bubonic_plague }
desc = disease_bubonic_plague
}
triggered_desc = {
trigger = { scope:disease_type = flag:measles }
desc = disease_measles
}
triggered_desc = {
trigger = { scope:disease_type = flag:ergotism }
desc = disease_ergotism
}
triggered_desc = {
trigger = { scope:disease_type = flag:dysentery }
desc = disease_dysentery
}
desc = missing_illness
}
random_valid = {
triggered_desc = {
trigger = {
OR = {
OR = {
scope:disease_type = flag:ill
health >= death_chance_starts_health
}
scope:physician = {
NOR = {
has_trait = lifestyle_physician
has_trait = lifestyle_mystic
}
}
}
}
desc = health.3101.safe_recommendation.desc
}
triggered_desc = {
trigger = {
OR = {
health < death_chance_starts_health
scope:physician = {
NOR = {
has_trait = lifestyle_physician
has_trait = lifestyle_mystic
}
}
}
NOT = { has_trait = lifestyle_mystic }
}
desc = health.3101.risky_recommendation.desc
}
triggered_desc = {
trigger = {
scope:physician = { has_trait = lifestyle_mystic }
}
desc = health.3101.mystic_recommendation.desc
}
}
desc = health.3101.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = bubonic_plague
has_trait = dysentery
}
}
animation = sick_stomach
}
triggered_animation = {
trigger = {
OR = {
has_trait = typhus
has_trait = measles
}
}
animation = shiver
}
triggered_animation = {
trigger = {
OR = {
has_trait = smallpox
has_trait = ill
has_trait = consumption
}
}
animation = cough
}
animation = worry
}
right_portrait = {
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = physician
}
trigger = {
has_treatable_disease_trigger = yes
court_physician_available_trigger = yes
}
weight_multiplier = {
base = 1
}
immediate = {
hidden_effect = {
save_court_physician_as_effect = { SCOPE_NAME = physician }
set_worst_disease_effect = yes
}
scope:physician.location ?= { save_scope_as = background_terrain_scope }
}
#Safe
option = {
name = health.3101.a
safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky
option = {
name = health.3101.b
risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic
option = {
trigger = {
scope:physician = { has_trait = lifestyle_mystic }
}
name = health.3101.c
mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = health.3101.d
no_disease_treatment_effect = yes
ai_chance = { base = 0 }
}
}
#Important courtier sick: I pick treatment for them (court physician was recently hired OR treating after last treatment ran out)
health.3102 = {
type = character_event
title = health.3102.t
desc = {
desc = health.3102.preamble
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = scope:physician
}
desc = health.3102.start.desc_sick_physician
}
desc = health.3102.start.desc
}
first_valid = { #Disease type
triggered_desc = {
trigger = { scope:disease_type = flag:ill }
desc = disease_ill
}
triggered_desc = {
trigger = { scope:disease_type = flag:pneumonic }
desc = disease_pneumonic
}
triggered_desc = {
trigger = { scope:disease_type = flag:gout_ridden }
desc = disease_gout_ridden
}
triggered_desc = {
trigger = { scope:disease_type = flag:leper }
desc = disease_leper
}
triggered_desc = {
trigger = { scope:disease_type = flag:typhus }
desc = disease_typhus
}
triggered_desc = {
trigger = { scope:disease_type = flag:consumption }
desc = disease_consumption
}
triggered_desc = {
trigger = { scope:disease_type = flag:cancer }
desc = disease_cancer
}
triggered_desc = {
trigger = { scope:disease_type = flag:lovers_pox }
desc = disease_lovers_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:great_pox }
desc = disease_great_pox
}
triggered_desc = {
trigger = { scope:disease_type = flag:smallpox }
desc = disease_smallpox
}
triggered_desc = {
trigger = { scope:disease_type = flag:bubonic_plague }
desc = disease_bubonic_plague
}
triggered_desc = {
trigger = { scope:disease_type = flag:measles }
desc = disease_measles
}
triggered_desc = {
trigger = { scope:disease_type = flag:ergotism }
desc = disease_ergotism
}
triggered_desc = {
trigger = { scope:disease_type = flag:dysentery }
desc = disease_dysentery
}
desc = missing_illness
}
desc = health.3102.treatment
}
theme = healthcare
override_background = {
trigger = { scope:sick_character ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:sick_character
animation = sick
}
right_portrait = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
scope:sick_character != scope:physician
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
animation = physician
}
trigger = {
scope:sick_character = {
has_treatable_disease_trigger = yes
is_alive = yes
}
court_physician_available_trigger = yes
}
weight_multiplier = {
base = 1
}
immediate = {
hidden_effect = {
save_court_physician_as_effect = { SCOPE_NAME = physician }
scope:sick_character = { set_worst_disease_effect = yes }
}
scope:sick_character.location ?= { save_scope_as = background_terrain_scope }
}
#Safe
option = {
name = health.3102.a
safe_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 10 }
}
#Risky
option = {
name = health.3102.b
risky_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Mystic
option = {
trigger = {
scope:physician = { has_trait = lifestyle_mystic }
}
name = {
trigger = { scope:sick_character = scope:physician }
text = health.3102.c_sick_physician
}
name = health.3102.c
mystic_disease_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = {
base = 0.5
modifier = {
add = -0.5
ai_zeal >= 0
}
}
}
#No treatment
option = {
name = health.3102.d
deny_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Let them pick
option = {
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = yes }
scope:sick_character != scope:physician
}
}
text = health.3102.e_adult
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = no }
scope:sick_character = scope:physician
}
}
text = health.3102.e_child
}
scope:sick_character = { pick_own_disease_treatment_effect = yes }
ai_chance = { base = 0 }
}
}
#SAFE TREATMENT: SUCCESS
health.3103 = {
type = character_event
title = health.3103.t
desc = {
#Treatment type
random_valid = {
desc = health.safe_treatment.1.desc
triggered_desc = {
trigger = { NOT = { has_trait = temperate } }
desc = health.safe_treatment.2.desc
}
desc = health.safe_treatment.3.desc
desc = health.safe_treatment.4.desc
desc = health.safe_treatment.5.desc
triggered_desc = {
trigger = { ai_zeal > 0 }
desc = health.safe_treatment.6.desc
}
triggered_desc = {
trigger = { ai_zeal > 0 }
desc = health.safe_treatment.7.desc
}
desc = health.safe_treatment.8.desc
desc = health.safe_treatment.9.desc
desc = health.safe_treatment.10.desc
desc = health.safe_treatment.11.desc
desc = health.safe_treatment.12.desc
desc = health.safe_treatment.13.desc
desc = health.safe_treatment.14.desc
desc = health.safe_treatment.15.desc
desc = health.safe_treatment.16.desc
desc = health.safe_treatment.17.desc
desc = health.safe_treatment.18.desc
}
desc = health.3103.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = root
animation = happiness
}
right_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
OR = {
opinion = {
target = root
value >= high_positive_opinion
}
ai_compassion >= medium_positive_compassion
}
}
animation = happiness
}
animation = physician
}
immediate = {
#Adds modifiers, sends return visit event in 1-5 years, shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = safe OUTCOME = success }
#Message for close relatives
inform_liege_about_disease_treatment_effect = { TREATMENT = safe OUTCOME = success }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
}
option = {
name = health.3103.a
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
#SAFE TREATMENT: FAILURE
scripted_trigger health_failed_physician_fears_trigger = {
scope:physician = {
dread_modified_ai_boldness = {
dreaded_character = root
value <= medium_negative_ai_value
}
}
}
health.3104 = {
type = character_event
title = health.3104.t
desc = {
#Treatment type
random_valid = {
desc = health.safe_treatment.1.desc
triggered_desc = {
trigger = { NOT = { has_trait = temperate } }
desc = health.safe_treatment.2.desc
}
desc = health.safe_treatment.3.desc
desc = health.safe_treatment.4.desc
desc = health.safe_treatment.5.desc
triggered_desc = {
trigger = { ai_zeal > 0 }
desc = health.safe_treatment.6.desc
}
triggered_desc = {
trigger = { ai_zeal > 0 }
desc = health.safe_treatment.7.desc
}
desc = health.safe_treatment.8.desc
desc = health.safe_treatment.9.desc
desc = health.safe_treatment.10.desc
desc = health.safe_treatment.11.desc
desc = health.safe_treatment.12.desc
desc = health.safe_treatment.13.desc
desc = health.safe_treatment.14.desc
desc = health.safe_treatment.15.desc
desc = health.safe_treatment.16.desc
desc = health.safe_treatment.17.desc
desc = health.safe_treatment.18.desc
}
desc = health.3104.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_failed_physician_fears_trigger = yes
}
animation = fear
}
animation = shame
}
immediate = {
#Adds modifiers, sends return visit event in 1-5 years, shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = safe OUTCOME = failure }
#Message for close relatives
inform_liege_about_disease_treatment_effect = { TREATMENT = safe OUTCOME = failure }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
}
#Ok...
option = {
name = health.3104.a
ai_chance = {
factor = 40
}
}
#Imprison!
option = {
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:physician = { is_imprisoned = no }
OR = {
has_trait = wrathful
has_trait = vengeful
has_trait = arbitrary
has_trait = paranoid
has_trait = sadistic
has_trait = callous
}
}
trait = wrathful
trait = vengeful
trait = arbitrary
trait = paranoid
trait = sadistic
trait = callous
name = health.3107.d
imprison_physician_effect = yes
ai_chance = {
factor = 30 #Can go up to ~80 for lowest compassion characters and becomes 0 for characters with medium positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#Execute!
option = {
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
OR = {
has_trait = wrathful
has_trait = vengeful
has_trait = arbitrary
has_trait = paranoid
has_trait = sadistic
has_trait = callous
}
}
trait = wrathful
trait = vengeful
trait = arbitrary
trait = paranoid
trait = sadistic
trait = callous
name = health.3107.e
execute_physician_effect = yes
ai_chance = {
factor = 15 #Can go up to ~65 for lowest compassion characters and becomes 0 for characters with low positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
#RISKY TREATMENT: CRITICAL SUCCESS
scripted_trigger health_successful_physician_happy_for_trigger = {
scope:physician = {
OR = {
opinion = {
target = $CHARACTER$
value >= high_positive_opinion
}
ai_compassion >= medium_positive_compassion
}
}
}
health.3105 = {
type = character_event
title = health.3105.t
desc = {
#Treatment type
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.6.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.7.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.8.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.9.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:eye
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:amputation }
desc = health.risky_treatment_amputation.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:disfigurement }
desc = health.risky_treatment_disfigurement.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:eye }
desc = health.risky_treatment_eye.1.desc
}
}
desc = health.3105.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_successful_physician_happy_for_trigger = { CHARACTER = root }
}
animation = happiness
}
animation = physician
}
trigger = {
NOT = { scope:disease_type = flag:leper } #blocked in risky_disease_treatment_effect too
}
immediate = {
play_music_cue = "mx_cue_positive_effect"
#Removes traits, removes body part if the treatment strategy demands it, shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = risky OUTCOME = critical_success }
#Message for close relatives
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = critical_success }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
if = {
limit = {
is_ai = no
scope:disease_type = flag:bubonic_plague
}
add_achievement_global_variable_effect = {
VARIABLE = ce1_not_today_achievement_unlocked
VALUE = yes
}
}
}
#I am healed!
option = {
name = health.3105.a
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
#RISKY TREATMENT: REGULAR SUCCESS
health.3106 = {
type = character_event
title = health.3106.t
desc = {
#Treatment type
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.6.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.7.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.8.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.9.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:eye
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:amputation }
desc = health.risky_treatment_amputation.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:disfigurement }
desc = health.risky_treatment_disfigurement.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:eye }
desc = health.risky_treatment_eye.1.desc
}
}
desc = health.3106.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_successful_physician_happy_for_trigger = { CHARACTER = root }
}
animation = personality_content
}
animation = physician
}
immediate = {
#Adds modifiers, removes body part if the treatment strategy demands it, sends return visit event in 1-5 years, shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = risky OUTCOME = success }
#Message for close relatives
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = success }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
if = {
limit = {
is_ai = no
scope:disease_type = flag:bubonic_plague
}
add_achievement_global_variable_effect = {
VARIABLE = ce1_not_today_achievement_unlocked
VALUE = yes
}
}
}
#I feel better!
option = {
name = health.3106.a
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
#RISKY TREATMENT: FAILURE
health.3107 = {
type = character_event
title = health.3107.t
desc = {
#Treatment type
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.6.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.7.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.8.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.risky_treatment_medicine.9.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:eye
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:amputation }
desc = health.risky_treatment_amputation.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:disfigurement }
desc = health.risky_treatment_disfigurement.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:eye }
desc = health.risky_treatment_eye.1.desc
}
}
first_valid = {
triggered_desc = { #Will die right now
trigger = { has_character_flag = die_risky_treatment }
desc = health.3107.death.desc
}
desc = health.3107.end.desc
}
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
override_icon = {
trigger = { has_character_flag = die_risky_treatment }
reference = "gfx/interface/icons/event_types/type_illness.dds"
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_failed_physician_fears_trigger = yes
}
animation = fear
}
animation = shame
}
trigger = { #They might have died before this is triggered
is_alive = yes
}
immediate = {
if = {
limit = { has_character_flag = die_risky_treatment }
play_music_cue = "mx_cue_death"
}
else = {
play_music_cue = "mx_cue_illness"
}
#Adds modifiers, removes body part if the treatment strategy demands it, sends return visit event in 1-5 years (unless died), shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = risky OUTCOME = failure }
#Set my opinion here (if forgive/chastise, it is later downgraded to non-crime opinion)
hidden_effect = { add_failed_treatment_of_me_opinions_effect = yes }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
}
#I'm dying
option = {
trigger = { has_character_flag = die_risky_treatment }
name = health.3107.a
#Message for close relatives, or punishment event if relative is your liege
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = death }
death = {
death_reason = death_treatment
killer = scope:physician
}
}
#Chastise
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.b
chastise_physician_effect = yes
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 30
modifier = {
scope:physician = { has_character_modifier = chastised_physician_modifier }
add = -20
}
}
}
#Forgive
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.c
forgive_physician_effect = yes
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 20
ai_value_modifier = {
max = 80
ai_compassion = tiny_chance_impact_positive_ai_value #+50 for max compassionate, -50 for max uncompassionate
ai_vengefulness = low_chance_impact_negative_ai_value #-100 for max vengeful, +100 for max forgiving
}
}
}
#Imprison!
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:physician = { is_imprisoned = no }
}
name = health.3107.d
imprison_physician_effect = yes
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 30 #Can go up to ~80 for lowest compassion characters and becomes 0 for characters with medium positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#Execute!
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.e
execute_physician_effect = yes
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 15 #Can go up to ~65 for lowest compassion characters and becomes 0 for characters with low positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#OK (I am not liege and can't punish)
option = {
trigger = {
NOR = {
has_character_flag = die_risky_treatment
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
}
#Message for close relatives, or punishment event if relative is your liege
inform_liege_about_disease_treatment_effect = { TREATMENT = risky OUTCOME = failure }
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
#MYSTIC TREATMENT: CRITICAL SUCCESS
health.3108 = {
type = character_event
title = health.3108.t
desc = {
first_valid = {
#First, the special outcomes that need their own text
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult_cannibal }
desc = health.mystic_treatment_occult.cannibal.desc
}
triggered_desc = {
trigger = {
var:treatment_strategy = flag:occult_deviant
}
desc = health.mystic_treatment_occult.deviant.desc
}
#If not, take anything
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.6.desc
}
}
}
desc = health.3108.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = { health_successful_physician_happy_for_trigger = { CHARACTER = root } }
animation = happiness
}
animation = physician
}
trigger = {
NOT = { scope:disease_type = flag:leper } #blocked in mystic_disease_treatment_effect too
}
immediate = {
play_music_cue = "mx_cue_positive_effect"
#Removes traits, removes body part if the treatment strategy demands it, shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = mystic OUTCOME = critical_success }
#Message for close relatives
inform_liege_about_disease_treatment_effect = { TREATMENT = mystic OUTCOME = critical_success }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
}
#I am healed!
option = {
name = health.3108.a
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
#MYSTIC TREATMENT: SUCCESS
health.3109 = {
type = character_event
title = health.3109.t
desc = {
first_valid = {
#First, the special outcomes that need their own text
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult_cannibal }
desc = health.mystic_treatment_occult.cannibal.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult_deviant }
desc = health.mystic_treatment_occult.deviant.desc
}
#If not, take anything
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.6.desc
}
}
}
desc = health.3109.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = { health_successful_physician_happy_for_trigger = { CHARACTER = root } }
animation = happiness
}
animation = physician
}
immediate = {
#Removes traits, removes body part if the treatment strategy demands it, shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = mystic OUTCOME = success }
#Message for close relatives
inform_liege_about_disease_treatment_effect = { TREATMENT = mystic OUTCOME = success }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
}
#I am healed!
option = {
name = health.3109.a
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
#MYSTIC TREATMENT: FAILURE
health.3110 = {
type = character_event
title = health.3110.t
desc = {
first_valid = {
#First, the special outcomes that need their own text
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult_cannibal }
desc = health.mystic_treatment_occult.cannibal.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult_deviant }
desc = health.mystic_treatment_occult.deviant.desc
}
#If not, take anything
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.3.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:occult }
desc = health.mystic_treatment_occult.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.2.desc
}
# triggered_desc = {
# trigger = { var:treatment_strategy = flag:questionable }
# desc = health.mystic_treatment_questionable.3.desc
# }
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.4.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.5.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:questionable }
desc = health.mystic_treatment_questionable.6.desc
}
}
}
desc = health.3110.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_failed_physician_fears_trigger = yes
}
animation = fear
}
animation = shame
}
immediate = {
#Adds traits/secrets, sends return visit event in 1-5 years (unless died), shows a tooltip if physician ranked up
disease_treatment_results_effect = { TREATMENT = mystic OUTCOME = failure }
#Set my opinion here (if forgive/chastise, it is later downgraded to non-crime opinion)
hidden_effect = { add_failed_treatment_of_me_opinions_effect = yes }
#Message for close relatives, or punishment event if relative is your liege
inform_liege_about_disease_treatment_effect = { TREATMENT = mystic OUTCOME = failure }
scope:physician.location ?= { save_scope_as = background_terrain_scope }
}
#Chastise
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.b
chastise_physician_effect = yes
ai_chance = {
factor = 30
modifier = {
scope:physician = { has_character_modifier = chastised_physician_modifier }
add = -20
}
}
}
#Forgive
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.c
forgive_physician_effect = yes
ai_chance = {
factor = 20
ai_value_modifier = {
max = 80
ai_compassion = tiny_chance_impact_positive_ai_value #+50 for max compassionate, -50 for max uncompassionate
ai_vengefulness = low_chance_impact_negative_ai_value #-100 for max vengeful, +100 for max forgiving
}
}
}
#Imprison!
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:physician = { is_imprisoned = no }
}
name = health.3107.d
imprison_physician_effect = yes
ai_chance = {
factor = 30 #Can go up to ~80 for lowest compassion characters and becomes 0 for characters with medium positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#Execute!
option = {
trigger = {
NOT = { has_character_flag = die_risky_treatment }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.e
execute_physician_effect = yes
ai_chance = {
factor = 15 #Can go up to ~65 for lowest compassion characters and becomes 0 for characters with low positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#OK (I am not liege and can't punish)
option = {
trigger = {
NOR = {
has_character_flag = die_risky_treatment
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
}
}
after = {
hidden_effect = {
if = {
limit = {
has_global_variable = tutorial_completed
}
add_character_flag = force_court_positions_tutorial
}
}
}
}
###########################################
# FAILED TREATMENT FOR IMPORTANT COURTIER # by Mathilda Bjarnehed and Linnéa Thimrén
###########################################
#Failed risky treatment
health.3200 = {
type = character_event
title = health.3107.t
desc = {
first_valid = {
triggered_desc = { #Dead!
trigger = { scope:outcome = flag:death }
desc = health.3200.death.desc
}
desc = {
random_valid = {
triggered_desc = {
trigger = {
scope:physician = scope:sick_character
}
desc = health.3200.failure.desc_3
}
desc = health.3200.failure.desc_2
desc = health.3200.failure.desc
}
}
}
triggered_desc = {
trigger = { scope:sick_character != scope:physician }
desc = health.3200.end.desc
}
}
theme = healthcare
override_background = {
trigger = { scope:sick_character ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
override_icon = {
trigger = { scope:outcome = flag:death }
reference = "gfx/interface/icons/event_types/type_illness.dds"
}
left_portrait = {
character = scope:sick_character
animation = sick
}
right_portrait = {
trigger = { scope:sick_character != scope:physician }
character = scope:physician
triggered_animation = {
trigger = {
health_failed_physician_fears_trigger = yes
}
animation = fear
}
animation = shame
}
immediate = {
scope:sick_character.location ?= { save_scope_as = background_terrain_scope }
if = {
limit = { NOT = { scope:outcome = flag:death } }
if = {
limit = { scope:disease_or_wound = flag:disease }
disease_treatment_result_tooltip_effect = { TREATMENT = risky OUTCOME = failure }
}
else_if = {
limit = { scope:disease_or_wound = flag:wound }
wound_treatment_result_tooltip_effect = { TREATMENT = risky OUTCOME = failure }
}
}
else = {
show_as_tooltip = {
play_music_cue = "mx_cue_death"
scope:sick_character = {
death = {
death_reason = death_treatment
killer = scope:physician
}
}
}
}
}
#Chastise
option = {
name = health.3107.b
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:sick_character != scope:physician
}
chastise_physician_effect = yes
ai_chance = {
factor = 30
modifier = {
scope:physician = { has_character_modifier = chastised_physician_modifier }
add = -20
}
}
}
#Forgive
option = {
name = health.3107.c
trigger = { scope:sick_character != scope:physician }
forgive_physician_effect = yes
ai_chance = {
factor = 20
ai_value_modifier = {
max = 80
ai_compassion = tiny_chance_impact_positive_ai_value #+50 for max compassionate, -50 for max uncompassionate
ai_vengefulness = low_chance_impact_negative_ai_value #-100 for max vengeful, +100 for max forgiving
}
}
}
#Imprison!
option = {
name = health.3107.d
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:physician = { is_imprisoned = no }
scope:sick_character != scope:physician
}
imprison_physician_effect = yes
ai_chance = {
factor = 30 #Can go up to ~80 for lowest compassion characters and becomes 0 for characters with medium positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#Execute!
option = {
name = health.3107.e
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:sick_character != scope:physician
}
execute_physician_effect = yes
ai_chance = {
factor = 15 #Can go up to ~65 for lowest compassion characters and becomes 0 for characters with low positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#They treated themselves...
option = {
name = health.3107.f
trigger = {
scope:sick_character = scope:physician
}
chastise_physician_effect = yes
ai_chance = { #Will be only option available if it's available
base = 100
}
}
}
#Failed mystic treatment
health.3201 = {
type = character_event
title = health.3107.t
desc = {
desc = health.3201.desc
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = {
var:treatment_strategy = flag:occult
var:treatment_strategy = flag:occult_cannibal
var:treatment_strategy = flag:occult_deviant
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = scope:physician
}
desc = health.3201.occult.desc_sick_physician
}
desc = health.3201.occult.desc
}
}
}
desc = health.3201.questionable.desc
}
}
theme = healthcare
override_background = {
trigger = { scope:sick_character ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:sick_character
animation = stress
}
right_portrait = {
trigger = { scope:sick_character != scope:physician }
character = scope:physician
triggered_animation = {
trigger = {
health_failed_physician_fears_trigger = yes
}
animation = fear
}
animation = shame
}
immediate = {
scope:sick_character.location ?= { save_scope_as = background_terrain_scope }
disease_treatment_result_tooltip_effect = { TREATMENT = risky OUTCOME = failure }
}
#Chastise
option = {
name = health.3107.b
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
chastise_physician_effect = yes
ai_chance = {
factor = 30
modifier = {
scope:physician = { has_character_modifier = chastised_physician_modifier }
add = -20
}
}
}
#Forgive
option = {
name = health.3201.c
trigger = { scope:sick_character != scope:physician }
forgive_physician_effect = yes
ai_chance = {
factor = 20
ai_value_modifier = {
max = 80
ai_compassion = tiny_chance_impact_positive_ai_value #+50 for max compassionate, -50 for max uncompassionate
ai_vengefulness = low_chance_impact_negative_ai_value #-100 for max vengeful, +100 for max forgiving
}
}
}
#Imprison!
option = {
name = health.3107.d
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:physician = { is_imprisoned = no }
scope:sick_character != scope:physician
}
imprison_physician_effect = yes
ai_chance = {
factor = 30 #Can go up to ~80 for lowest compassion characters and becomes 0 for characters with medium positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#Execute!
option = {
name = health.3107.e
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:sick_character != scope:physician
}
execute_physician_effect = yes
ai_chance = {
factor = 15 #Can go up to ~65 for lowest compassion characters and becomes 0 for characters with low positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#They treated themselves...
option = {
name = health.3107.f
trigger = {
scope:sick_character = scope:physician
}
chastise_physician_effect = yes
ai_chance = { #Will be only option available if it's available
base = 100
}
}
}
###################
# WOUND TREATMENT # by Linnéa Thimrén
###################
#Who should decide about my treatment?
health.4999 = {
hidden = yes
trigger = {
has_wounds_trigger = yes
has_recent_wound_treatment_trigger = no
court_physician_available_trigger = yes
}
immediate = {
save_scope_as = sick_character
decide_who_picks_wound_treatment_effect = yes #Sends health.4001 to me or 4002 to liege
}
on_trigger_fail = {
#No wound/no physician: do nothing (if we hire a new physician, they will treat everyone upon being hired)
#Has a wound but treatment is still active? Try again
if = {
limit = {
has_wounds_trigger = yes
has_recent_wound_treatment_trigger = yes #The only difference
court_physician_available_trigger = yes
}
trigger_event = { id = health.4999 years = 1 }
}
}
}
#Someone important to you is wounded. If you're their liege and you have a court physician, you may chose their treatment.
health.4000 = {
type = character_event
title = health.4000.t
desc = {
desc = health.4000.start.desc
first_valid = {
triggered_desc = { #Gangrene
trigger = {
scope:sick_character = {
has_character_modifier = gangrene_modifier
}
}
desc = health.4000.gangrene.desc
}
triggered_desc = { #Close to death
trigger = {
scope:sick_character = {
has_trait_rank = {
trait = wounded
rank = 3
}
}
}
desc = health.4000.close_to_death_wounded.desc
}
triggered_desc = { #Infection
trigger = {
scope:sick_character = {
has_character_modifier = infected_wound_modifier
}
}
desc = health.4000.infected_wound.desc
}
triggered_desc = { #wounded lvl 2
trigger = {
scope:sick_character = {
has_trait_rank = {
trait = wounded
rank = 2
}
}
}
desc = health.4000.very_wounded.desc
}
desc = health.4000.wounded.desc #Wounded lvl 1
}
triggered_desc = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = scope:physician
}
desc = health.2201.court_physician.desc_sick_physician
}
desc = health.2201.court_physician.desc
}
}
}
}
theme = healthcare
override_background = {
trigger = { scope:sick_character ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:sick_character
triggered_animation = {
trigger = { has_trait = wounded_1 }
animation = sick
}
animation = severelywounded
}
#Show physician portrait if you're picking the sick character's treatment
right_portrait = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
scope:sick_character != scope:physician
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
animation = physician
}
trigger = {
scope:sick_character = { is_alive = yes }
}
immediate = {
scope:sick_character.location ?= { save_scope_as = background_terrain_scope }
show_as_tooltip = {
if = {
limit = {
scope:sick_character = {
has_trait = wounded_3
}
}
scope:sick_character = { add_trait_force_tooltip = wounded_3 }
}
else_if = {
limit = {
scope:sick_character = {
has_trait = wounded_2
}
}
scope:sick_character = { add_trait_force_tooltip = wounded_2 }
}
else_if = {
limit = {
scope:sick_character = {
has_trait = wounded_1
}
}
scope:sick_character = { add_trait_force_tooltip = wounded_1 }
}
if = {
limit = {
scope:sick_character = {
has_character_modifier = infected_wound_modifier
}
}
scope:sick_character = {
add_character_modifier = {
modifier = infected_wound_modifier
}
}
}
if = {
limit = {
scope:sick_character = {
has_character_modifier = gangrene_modifier
}
}
scope:sick_character = {
add_character_modifier = {
modifier = gangrene_modifier
}
}
}
}
}
###PHYSICIAN OPTIONS###
#Safe
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
NOT = { scope:sick_character = { has_character_modifier = gangrene_modifier } } #not available if they have gangrene
}
name = health.3102.a
scope:sick_character = { safe_wound_treatment_effect = yes }
ai_chance = { base = 10 }
}
#Risky
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.b
scope:sick_character = { risky_wound_treatment_effect = yes }
ai_chance = { base = 1 }
}
#No treatment
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
name = health.3102.d
deny_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 0 }
}
#Let them pick
option = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
NOT = { scope:sick_character = { has_character_modifier = gangrene_modifier } } #not available if they have gangrene
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = yes }
scope:sick_character != scope:physician
}
}
text = health.3102.e_adult
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = no }
scope:sick_character = scope:physician
}
}
text = health.3102.e_child
}
scope:sick_character = { pick_own_wound_treatment_effect = yes }
ai_chance = { base = 0 }
}
###NO PHYSICIAN OPTIONS###
#Find physician
option = {
trigger = {
court_physician_available_trigger = no
root_picks_treatment_for_sick_character_trigger = yes
}
name = health.3101.e
find_court_physician_effect = yes #This will trigger 4001 (they decide treatment) or 4002 (liege decides treatment) further down the line in which the patient's wound will actually be treated
ai_chance = { base = 1 }
}
#Nothing to do
option = {
trigger = {
NAND = {
root_picks_treatment_for_sick_character_trigger = yes
court_physician_available_trigger = yes
}
}
name = health.4000.a
ai_chance = { base = 10 }
}
}
#I decide my treatment
health.4001 = {
type = character_event
title = health.3101.t
desc = {
desc = health.4001.start.desc
random_valid = {
triggered_desc = {
trigger = {
NOT = {
scope:sick_character = {
has_character_modifier = gangrene_modifier
}
}
OR = {
scope:sick_character = {
OR = {
has_trait_rank = {
trait = wounded
rank <= 2
}
health >= death_chance_starts_health
}
}
scope:physician = {
has_trait = lifestyle_physician
}
}
}
desc = health.4001.safe_recommendation.desc
}
triggered_desc = {
trigger = {
OR = {
scope:sick_character = {
OR = {
has_character_modifier = gangrene_modifier
health < death_chance_starts_health
}
}
scope:physician = {
NOT = { has_trait = lifestyle_physician }
}
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = {
has_character_modifier = gangrene_modifier
}
}
desc = health.4001.gangrene.desc
}
triggered_desc = {
trigger = {
scope:sick_character = {
has_character_modifier = infected_wound_modifier
}
}
desc = health.4001.infection.desc
}
desc = health.4001.risky_recommendation.desc
}
}
}
}
desc = health.3101.end.desc
}
theme = healthcare
override_background = {
trigger = { is_travelling = yes }
reference = terrain
}
left_portrait = {
character = scope:sick_character
triggered_animation = {
trigger = { has_trait = wounded_1 }
animation = sick
}
animation = severelywounded
}
right_portrait = {
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = root } } }
animation = worry
}
triggered_animation = {
trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not
animation = personality_rational
}
animation = physician
}
trigger = {
court_physician_available_trigger = yes
}
immediate = {
hidden_effect = {
save_court_physician_as_effect = { SCOPE_NAME = physician }
#Are wounds infected? Gangrene??
}
}
#Safe
option = {
name = health.3101.a
trigger = {
NOT = { scope:sick_character = { has_character_modifier = gangrene_modifier } } #not available if they have gangrene
}
scope:sick_character = { safe_wound_treatment_effect = yes }
ai_chance = { base = 10 }
}
#Risky
option = {
name = health.3101.b
scope:sick_character = { risky_wound_treatment_effect = yes }
ai_chance = { base = 1 }
}
#No treatment
option = {
name = health.3101.d
ai_chance = { base = 1 }
}
}
#I have now hired a court physician, and an important courtier is wounded: time to decide their treatment
health.4002 = {
type = character_event
title = health.4000.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = scope:physician
}
desc = health.4002.start.desc_sick_physician
}
desc = health.4002.start.desc
}
random_valid = {
triggered_desc = {
trigger = {
NOT = {
scope:sick_character = {
has_character_modifier = gangrene_modifier
}
}
OR = {
scope:sick_character = {
OR = {
has_trait_rank = {
trait = wounded
rank <= 2
}
health >= death_chance_starts_health
}
}
scope:physician = {
has_trait = lifestyle_physician
}
}
}
desc = health.4001.safe_recommendation.desc
}
triggered_desc = {
trigger = {
OR = {
OR = {
has_character_modifier = gangrene_modifier
health < death_chance_starts_health
}
scope:physician = {
NOT = { has_trait = lifestyle_physician }
}
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:sick_character = {
has_character_modifier = gangrene_modifier
}
}
desc = health.4001.gangrene.desc
}
triggered_desc = {
trigger = {
scope:sick_character = {
has_character_modifier = infected_wound_modifier
}
}
desc = health.4001.infection.desc
}
desc = health.4001.risky_recommendation.desc
}
}
}
}
desc = health.3101.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:sick_character ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:sick_character
triggered_animation = {
trigger = { has_trait = wounded_1 }
animation = sick
}
animation = severelywounded
}
#Show physician portrait if you're picking the sick character's treatment
right_portrait = {
trigger = {
root_picks_treatment_for_sick_character_trigger = yes
scope:sick_character != scope:physician
}
character = scope:physician
triggered_animation = {
trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } }
animation = worry
}
animation = physician
}
trigger = {
court_physician_available_trigger = yes
scope:sick_character = { is_alive = yes }
}
weight_multiplier = {
base = 1
}
immediate = {
scope:sick_character.location ?= { save_scope_as = background_terrain_scope }
hidden_effect = {
save_court_physician_as_effect = { SCOPE_NAME = physician }
#Are wounds infected? Gangrene??
}
}
#Safe
option = {
name = health.3101.a
trigger = {
NOT = { scope:sick_character = { has_character_modifier = gangrene_modifier } } #not available if they have gangrene
}
scope:sick_character = { safe_wound_treatment_effect = yes }
ai_chance = { base = 10 }
}
#Risky
option = {
name = health.3101.b
scope:sick_character = { risky_wound_treatment_effect = yes }
ai_chance = { base = 1 }
}
#No treatment
option = {
name = health.3102.d
deny_treatment_effect = { PATIENT = scope:sick_character TREATMENT_PICKER = root }
ai_chance = { base = 1 }
}
#Let them pick
option = {
trigger = {
NOT = { scope:sick_character = { has_character_modifier = gangrene_modifier } } #not available if they have gangrene
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = yes }
scope:sick_character != scope:physician
}
}
text = health.3102.e_adult
}
name = {
trigger = {
OR = {
scope:sick_character = { is_adult = no }
scope:sick_character = scope:physician
}
}
text = health.3102.e_child
}
scope:sick_character = { pick_own_wound_treatment_effect = yes }
ai_chance = { base = 0 }
}
}
#Safe treatment - success!
health.4101 = {
type = character_event
title = health.4101.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:infection
}
desc = health.4101.desc_infection
}
desc = health.4101.desc_1
desc = health.4101.desc_2
}
desc = health.4101.desc_end
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = { health_successful_physician_happy_for_trigger = { CHARACTER = root } }
animation = happiness
}
animation = physician
}
immediate = {
scope:physician.location ?= { save_scope_as = background_terrain_scope }
#Currently no message to liege because liege never picks wound treatment and safe success is not noteworthy
#Adds modifiers, sends return visit event in 1 years, shows a tooltip if physician ranked up
wound_treatment_results_effect = { TREATMENT = safe OUTCOME = success }
}
option = {
name = health.4101.a
}
}
#safe treatment - failure!
health.4102 = {
type = character_event
title = health.4102.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:infection
}
desc = {
random_valid = {
desc = health.4102.desc_infection
desc = health.4101.desc_infection
}
}
}
desc = health.4101.desc_2
}
desc = health.4102.desc_end
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_failed_physician_fears_trigger = yes
}
animation = fear
}
animation = shame
}
immediate = {
scope:physician.location ?= { save_scope_as = background_terrain_scope }
#Currently no message to liege because liege never picks wound treatment and safe failure is not noteworthy
#Adds modifiers, sends return visit event in 1 year, shows a tooltip if physician ranked up
wound_treatment_results_effect = { TREATMENT = safe OUTCOME = failure }
}
#Ok...
option = {
name = health.4102.a
ai_chance = {
factor = 40
}
}
#Imprison!
option = {
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:physician = { is_imprisoned = no }
OR = {
has_trait = wrathful
has_trait = vengeful
has_trait = arbitrary
has_trait = paranoid
has_trait = sadistic
has_trait = callous
}
}
trait = wrathful
trait = vengeful
trait = arbitrary
trait = paranoid
trait = sadistic
trait = callous
name = health.3107.d
imprison_physician_effect = yes
ai_chance = {
factor = 30 #Can go up to ~80 for lowest compassion characters and becomes 0 for characters with medium positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#Execute!
option = {
trigger = {
can_punish_court_physician = { PHYSICIAN = scope:physician }
OR = {
has_trait = wrathful
has_trait = vengeful
has_trait = arbitrary
has_trait = paranoid
has_trait = sadistic
has_trait = callous
}
}
trait = wrathful
trait = vengeful
trait = arbitrary
trait = paranoid
trait = sadistic
trait = callous
name = health.3107.e
execute_physician_effect = yes
ai_chance = {
factor = 15 #Can go up to ~65 for lowest compassion characters and becomes 0 for characters with low positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
}
#Risky treatment - Critical success
health.4103 = {
type = character_event
title = health.4103.t
desc = {
#Treatment type
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.4103.risky_treatment_medicine.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:eye
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:amputation }
desc = health.risky_treatment_amputation.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:disfigurement }
desc = health.4103.risky_treatment_disfigurement.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:eye }
desc = health.risky_treatment_eye.1.desc
}
}
desc = health.4103.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_successful_physician_happy_for_trigger = { CHARACTER = root }
}
animation = happiness
}
animation = physician
}
immediate = {
scope:physician.location ?= { save_scope_as = background_terrain_scope }
#Removes traits, removes body part if the treatment strategy demands it, shows a tooltip if physician ranked up
wound_treatment_results_effect = { TREATMENT = risky OUTCOME = critical_success }
#Currently no message to liege because liege never picks wound treatment and critical risky success is not noteworthy
}
#I am healed!
option = {
name = health.3105.a
}
}
#Risky treatment - Normal success
health.4104 = {
type = character_event
title = health.4104.t
desc = {
#Treatment type
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.4103.risky_treatment_medicine.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:eye
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:amputation }
desc = health.risky_treatment_amputation.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:disfigurement }
desc = health.4103.risky_treatment_disfigurement.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:eye }
desc = health.risky_treatment_eye.1.desc
}
}
desc = health.4104.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_successful_physician_happy_for_trigger = { CHARACTER = root }
}
animation = happiness
}
animation = physician
}
immediate = {
scope:physician.location ?= { save_scope_as = background_terrain_scope }
#Adds modifiers, removes body part if the treatment strategy demands it, sends return visit event in 1 years, shows a tooltip if physician ranked up
wound_treatment_results_effect = { TREATMENT = risky OUTCOME = success }
#Currently no message to liege because liege never picks wound treatment and risky success is not noteworthy
}
#I feel better!
option = {
name = health.3106.a
}
}
#Risky treatment - Failure
health.4105 = {
type = character_event
title = health.4105.t
desc = {
#Treatment type
random_valid = {
triggered_desc = {
trigger = { var:treatment_strategy = flag:medicine }
desc = health.4103.risky_treatment_medicine.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.1.desc
}
triggered_desc = {
trigger = {
OR = {
var:treatment_strategy = flag:amputation
var:treatment_strategy = flag:disfigurement
var:treatment_strategy = flag:eye
var:treatment_strategy = flag:castration
}
}
desc = health.risky_treatment_surgery.2.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:amputation }
desc = health.risky_treatment_amputation.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:disfigurement }
desc = health.4103.risky_treatment_disfigurement.1.desc
}
triggered_desc = {
trigger = { var:treatment_strategy = flag:eye }
desc = health.risky_treatment_eye.1.desc
}
}
desc = health.4105.end.desc
}
theme = healthcare
override_background = {
trigger = { scope:physician ?= { is_travelling = yes } exists = scope:background_terrain_scope }
reference = terrain_scope
}
left_portrait = {
character = scope:physician
triggered_animation = {
trigger = {
health_failed_physician_fears_trigger = yes
}
animation = fear
}
animation = shame
}
immediate = {
scope:physician.location ?= { save_scope_as = background_terrain_scope }
#Adds modifiers, removes body part if the treatment strategy demands it, sends return visit event in 1 years (unless died), shows a tooltip if physician ranked up
wound_treatment_results_effect = { TREATMENT = risky OUTCOME = failure }
#Set my opinion here (if forgive/chastise, it is later downgraded to non-crime opinion)
hidden_effect = { add_failed_treatment_of_me_opinions_effect = yes }
}
#I'm dying
option = {
trigger = { has_character_flag = die_surgery }
name = health.3107.a
#Message for close relatives, or punishment event if relative is your liege
inform_liege_about_wound_treatment_effect = { TREATMENT = risky OUTCOME = death }
death = {
death_reason = death_treatment
killer = scope:physician
}
}
#Chastise
option = {
trigger = {
NOT = { has_character_flag = die_surgery }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.b
chastise_physician_effect = yes
inform_liege_about_wound_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 30
modifier = {
scope:physician = { has_character_modifier = chastised_physician_modifier }
add = -20
}
}
}
#Forgive
option = {
trigger = {
NOT = { has_character_flag = die_surgery }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.c
forgive_physician_effect = yes
inform_liege_about_wound_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 20
ai_value_modifier = {
max = 80
ai_compassion = tiny_chance_impact_positive_ai_value #+50 for max compassionate, -50 for max uncompassionate
ai_vengefulness = low_chance_impact_negative_ai_value #-100 for max vengeful, +100 for max forgiving
}
}
}
#Imprison!
option = {
trigger = {
NOT = { has_character_flag = die_surgery }
can_punish_court_physician = { PHYSICIAN = scope:physician }
scope:physician = { is_imprisoned = no }
}
name = health.3107.d
imprison_physician_effect = yes
inform_liege_about_wound_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 30 #Can go up to ~80 for lowest compassion characters and becomes 0 for characters with medium positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#Execute!
option = {
trigger = {
NOT = { has_character_flag = die_surgery }
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
name = health.3107.e
execute_physician_effect = yes
inform_liege_about_wound_treatment_effect = { TREATMENT = risky OUTCOME = failure } #Messages my relatives
ai_chance = {
factor = 15 #Can go up to ~65 for lowest compassion characters and becomes 0 for characters with low positive compassion
ai_value_modifier = {
ai_compassion = tiny_chance_impact_negative_ai_value
}
}
}
#OK (I am not liege and can't punish)
option = {
trigger = {
NOR = {
has_character_flag = die_surgery
can_punish_court_physician = { PHYSICIAN = scope:physician }
}
}
name = health.4102.a
#Message for close relatives, or punishment event if relative is your liege
inform_liege_about_wound_treatment_effect = { TREATMENT = risky OUTCOME = failure }
}
}
###################
###################
# WEIGHT EVENTS #
###################
###################
# by Linnéa Thimrén
#To increase weight more rapidly, and steadily, when taking the gain_weight_decision
health.5004 = {
hidden = yes
trigger = {
has_character_modifier = gaining_weight_modifier # Will continue to trigger until you take the decision to stop
}
immediate = {
change_current_weight = 5
trigger_event = {
id = health.5004
days = 180
}
}
}
#To reduce weight more rapidly, and steadily, when taking the lose_weight_decision
health.5005 = {
hidden = yes
trigger = {
has_character_modifier = losing_weight_modifier # Will continue to trigger until you take the decision to stop
}
immediate = {
change_current_weight = -5
trigger_event = {
id = health.5005
days = 90
}
}
}
######################
######################
# SUICIDE EVENTS #
######################
######################
#We have tried to treat suicide as respectfully as possible while still modeling it to work as a game mechanic. Research has been conducted on medieval views and methods of suicide, and any opinions expressed through this chain is a reflection of those values, not the developers. If you have thoughts about suicide, please reach out to people around you, or to a helpline. People will surprise you with how much they care.
#How will you do it?
#by Linnéa Thimrén
health.6001 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6001.desc_opening
first_valid = {
triggered_desc = {
trigger = {
has_trait = depressed
}
desc = health.6001.desc_depression
}
triggered_desc = {
trigger = {
OR = {
has_trait = cancer
has_trait = leper
has_trait = great_pox
}
}
desc = health.6001.desc_sickness
}
triggered_desc = {
trigger = {
has_trait = lunatic
}
desc = health.6001.desc_lunacy
}
triggered_desc = {
trigger = {
has_character_flag = make_suicide_available
}
desc = health.6001.desc_loss
}
triggered_desc = {
trigger = {
stress >= very_high_stress
}
desc = health.6001.desc_stress
}
}
desc = health.6001.desc_ending
}
theme = death
left_portrait = {
character = root
animation = sick
}
trigger = {
NOT = { has_trait = incapable }
}
option = { #Fall
name = {
trigger = {
OR = {
government_has_flag = government_is_tribal
government_has_flag = government_is_nomadic
has_government = landless_adventurer_government
}
}
text = health.6001.a_tribal
}
name = {
trigger = {
NOR = {
government_has_flag = government_is_tribal
government_has_flag = government_is_nomadic
has_government = landless_adventurer_government
}
}
text = health.6001.a
}
custom_tooltip = health.6001.warning
save_scope_value_as = {
name = fall
value = yes
}
}
option = { #Poison
name = health.6001.b
custom_tooltip = health.6001.warning
save_scope_value_as = {
name = poison
value = yes
}
}
option = { #Knife
name = health.6001.c
custom_tooltip = health.6001.warning
save_scope_value_as = {
name = knife
value = yes
}
}
option = { #Back out
name = health.6001.d
custom_tooltip = health.6001.d_tt
}
after = {
if = {
limit = {
OR = {
exists = scope:fall
exists = scope:poison
exists = scope:knife
}
}
hidden_effect = {
random_list = {
90 = { #Someone tries to intervene
trigger_event = {
id = health.6002
days = { 3 5 }
}
}
0 = { #You go straight to the attempt
modifier = { #You are not well-liked
add = 5
dread >= medium_dread
}
modifier = { #You are seriously not well-liked
add = 10
dread >= high_dread
}
modifier = { #You are not liked by people close to you
add = 20
any_close_family_member = {
NOT = { is_spouse_of = root }
OR = {
AND = {
ai_compassion > 0
opinion = {
target = root
value <= -20
}
}
AND = {
ai_compassion < 0
opinion = {
target = root
value <= 0
}
}
}
}
any_spouse = {
OR = {
AND = {
ai_compassion > 0
opinion = {
target = root
value <= -20
}
}
AND = {
ai_compassion < 0
opinion = {
target = root
value <= 0
}
}
}
}
}
if = {
limit = {
exists = scope:fall
}
trigger_event = {
id = health.6003
days = { 3 5 }
}
}
else_if = {
limit = {
exists = scope:poison
}
trigger_event = {
id = health.6006
days = { 3 5 }
}
}
else = {
trigger_event = {
id = health.6009
days = { 3 5 }
}
}
}
}
}
}
}
}
#Intervention
#by Linnéa Thimrén
health.6002 = {
type = character_event
title = health.6001.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:fall
}
desc = health.6002.desc_fall
}
triggered_desc = {
trigger = {
exists = scope:poison
}
desc = health.6002.desc_poison
}
triggered_desc = {
trigger = {
exists = scope:knife
}
desc = health.6002.desc_knife
}
}
desc = health.6002.desc_ending
}
theme = death
override_background = {
trigger = {
has_government = landless_adventurer_government
}
reference = wilderness
}
override_background = {
trigger = {
is_landless_adventurer = no
}
reference = corridor_day
}
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:friendly_person
animation = shock
}
immediate = {
if = {
limit = {
any_spouse = {
opinion = {
target = root
value >= 0
}
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
any_scheme = {
type = murder
scheme_target_character = root
}
}
is_ai = yes
}
}
every_spouse = {
limit = {
opinion = {
target = root
value >= 0
}
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
any_scheme = {
type = murder
scheme_target_character = root
}
}
is_ai = yes
}
add_to_list = possiple_people_to_intervene
}
}
if = {
limit = {
any_close_family_member = {
opinion = {
target = root
value >= 0
}
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
any_scheme = {
type = murder
scheme_target_character = root
}
}
is_ai = yes
is_adult = yes
}
}
every_close_family_member = {
limit = {
opinion = {
target = root
value >= 0
}
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
any_scheme = {
type = murder
scheme_target_character = root
}
}
is_ai = yes
is_adult = yes
}
add_to_list = possiple_people_to_intervene
}
}
if = {
limit = {
any_relation = {
type = friend
count >= 1
is_ai = yes
opinion = {
target = root
value >= 10
}
}
}
every_relation = {
type = friend
limit = {
is_ai = yes
opinion = {
target = root
value >= 10
}
}
add_to_list = possiple_people_to_intervene
}
}
if = {
limit = {
any_relation = {
type = potential_friend
count >= 1
is_ai = yes
opinion = {
target = root
value >= 10
}
}
}
every_relation = {
type = potential_friend
limit = {
is_ai = yes
opinion = {
target = root
value >= 10
}
}
add_to_list = possiple_people_to_intervene
}
}
if = {
limit = {
any_relation = {
type = lover
count >= 1
is_ai = yes
opinion = {
target = root
value >= 10
}
}
}
every_relation = {
type = lover
limit = {
is_ai = yes
opinion = {
target = root
value >= 10
}
}
add_to_list = possiple_people_to_intervene
}
}
if = {
limit = {
any_in_list = {
list = possiple_people_to_intervene
count >= 1
}
}
random_in_list = {
list = possiple_people_to_intervene
weight = {
base = 1
modifier = {
add = {
value = ai_compassion
multiply = 0.5
}
}
opinion_modifier = {
opinion_target = root
multiplier = 1
}
modifier = {
add = 2
is_in_the_same_court_as = root
}
}
save_scope_as = friendly_person
}
}
else = {
create_character = {
template = merchant_template
location = root.capital_province
trait = compassionate
save_scope_as = friendly_person
}
}
}
option = { #I'm still going for it
name = health.6002.a
show_as_tooltip = {
random_list = {
50 = {
show_chance = no
desc = health.6002.a_success
committed_suicide_effect = yes
}
50 = {
show_chance = no
desc = health.6002.a_failure
attempted_suicide_effect = yes
}
}
}
#To trigger the failure/success events
if = {
limit = {
exists = scope:fall
}
trigger_event = health.6003
}
else_if = {
limit = {
exists = scope:poison
}
trigger_event = health.6006
}
else = {
trigger_event = health.6009
}
}
option = { #Back out
name = health.6002.b
custom_tooltip = health.6001.d_tt
scope:friendly_person = {
add_opinion = {
modifier = relieved_opinion
target = root
opinion = 10
}
hidden_effect = {
if = {
limit = {
can_set_relation_potential_friend_trigger = { CHARACTER = root }
}
set_relation_potential_friend = root
}
root = {
random = { #Check up event
chance = 500
trigger_event = {
id = health.6100
days = { 365 730 }
}
}
}
}
}
}
}
#Fall - attempt
#by Linnéa Thimrén
health.6003 = {
hidden = yes
immediate = {
random_list = {
50 = {
trigger_event = health.6004
}
50 = {
trigger_event = health.6005
}
}
}
}
#Fall - Success
#by Linnéa Thimrén
health.6004 = {
type = character_event
title = health.6001.t
desc = health.6004.desc
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:friendly_person
animation = shock
}
override_background = {
trigger = {
has_government = landless_adventurer_government
}
reference = wilderness
}
override_background = {
trigger = {
is_landless_adventurer = no
}
reference = corridor_day
}
option = {
name = health.6004.a
}
immediate = {
committed_suicide_effect = yes
}
}
#Fall - Failure
#by Linnéa Thimrén
health.6005 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6005.desc
desc = health.6005.desc_ending
}
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:friendly_person
animation = shock
}
override_background = {
trigger = {
has_government = landless_adventurer_government
}
reference = wilderness
}
override_background = {
trigger = {
is_landless_adventurer = no
}
reference = corridor_day
}
immediate = {
attempted_suicide_effect = yes
}
option = {
name = health.6005.a
hidden_effect = {
if = {
limit = {
exists = scope:friendly_person
}
random = { #Check up event
chance = 50
trigger_event = {
id = health.6100
days = { 365 730 }
}
}
}
}
}
}
#Poison - attempt
#by Linnéa Thimrén
health.6006 = {
hidden = yes
immediate = {
random_list = {
50 = {
trigger_event = health.6007
}
50 = {
trigger_event = health.6008
}
}
}
}
#Poison - Success
#by Linnéa Thimrén
health.6007 = {
type = character_event
title = health.6001.t
desc = health.6007.desc
theme = death
left_portrait = {
character = root
animation = sick
}
option = {
name = health.6004.a
}
immediate = {
committed_suicide_effect = yes
}
}
#Poison - Failure
#by Linnéa Thimrén
health.6008 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6008.desc
desc = health.6005.desc_ending
}
theme = death
left_portrait = {
character = root
animation = sick
}
immediate = {
attempted_suicide_effect = yes
random_dummy_gender_soldier_effect = { SCOPE_NAME = dummy_gender }
}
option = {
name = health.6005.a
hidden_effect = {
if = {
limit = {
exists = scope:friendly_person
}
random = { #Check up event
chance = 50
trigger_event = {
id = health.6100
days = { 365 730 }
}
}
}
}
}
}
#Knife - attempt
#by Linnéa Thimrén
health.6009 = {
hidden = yes
immediate = {
random_list = {
50 = {
trigger_event = health.6010
}
50 = {
trigger_event = health.6011
}
}
}
}
#Knife - Success
#by Linnéa Thimrén
health.6010 = {
type = character_event
title = health.6001.t
desc = health.6010.desc
theme = death
left_portrait = {
character = root
animation = sick
}
option = {
name = health.6004.a
}
immediate = {
committed_suicide_effect = yes
}
}
#Knife - Failure
#by Linnéa Thimrén
health.6011 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6011.desc
desc = health.6005.desc_ending
}
theme = death
left_portrait = {
character = root
animation = sick
}
immediate = {
attempted_suicide_effect = yes
}
option = {
name = health.6005.a
hidden_effect = {
if = {
limit = {
exists = scope:friendly_person
}
random = { #Check up event
chance = 50
trigger_event = {
id = health.6100
days = { 182 500 }
}
}
}
}
}
}
#Friendly person checks up on you
health.6100 = {
type = character_event
title = health.6001.t
desc = health.6100.desc
theme = friendly
left_portrait = {
character = scope:friendly_person
animation = personality_compassionate
}
trigger = {
scope:friendly_person = {
is_alive = yes
is_ai = yes
}
}
option = { #Thank you for asking
name = health.6100.a
progress_towards_friend_effect = {
CHARACTER = scope:friendly_person
REASON = friend_checked_on_health
OPINION = 0
}
scope:friendly_person = {
add_opinion = {
modifier = relieved_opinion
target = root
opinion = 5
}
}
}
option = { #It's no concern of yours.
name = health.6100.b
scope:friendly_person = {
add_opinion = {
modifier = friendliness_opinion
target = root
opinion = -10
}
}
}
}
#Incapable
#by Linnéa Thimrén
health.6200 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6200.desc_opening
first_valid = {
triggered_desc = {
trigger = {
exists = scope:close_person
}
desc = health.6200.desc_close_person
}
desc = health.6200.desc
}
}
theme = death
left_portrait = root
right_portrait = scope:close_person
trigger = {
has_trait = incapable
}
immediate = {
save_scope_as = incapable_person
#To save a person close to you
if = {
limit = {
any_spouse = {
is_in_the_same_court_as = root
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
}
}
}
every_spouse = {
limit = {
is_in_the_same_court_as = root
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
}
}
add_to_list = possiple_close_person
}
}
if = {
limit = {
any_close_family_member = {
is_in_the_same_court_as = root
is_adult = yes
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
}
}
}
every_close_family_member = {
limit = {
is_in_the_same_court_as = root
is_adult = yes
NOR = {
has_relation_rival = root
has_relation_potential_rival = root
}
}
add_to_list = possiple_close_person
}
}
if = {
limit = {
any_relation = {
type = friend
count >= 1
is_in_the_same_court_as = root
}
}
every_relation = {
type = friend
limit = {
is_in_the_same_court_as = root
}
add_to_list = possiple_close_person
}
}
if = {
limit = {
any_relation = {
type = potential_friend
count >= 1
is_in_the_same_court_as = root
}
}
every_relation = {
type = potential_friend
limit = {
is_in_the_same_court_as = root
}
add_to_list = possiple_close_person
}
}
if = {
limit = {
any_relation = {
type = lover
count >= 1
is_in_the_same_court_as = root
}
}
every_relation = {
type = lover
limit = {
is_in_the_same_court_as = root
}
add_to_list = possiple_close_person
}
}
if = {
limit = {
any_in_list = {
list = possiple_close_person
count >= 1
}
}
random_in_list = {
list = possiple_close_person
weight = {
base = 1
modifier = {
add = {
value = ai_compassion
multiply = 0.25
}
}
opinion_modifier = {
opinion_target = root
multiplier = 1
}
modifier = {
add = 2
is_in_the_same_court_as = root
}
}
save_scope_as = close_person
}
}
}
option = { #I will ask a person close to me
name = health.6200.a
trigger = {
exists = scope:close_person
}
show_as_tooltip = {
random_list = {
50 = {
desc = health.6200.a_success
show_chance = no
death = {
death_reason = death_mysterious
}
}
50 = {
desc = health.6200.a_failure
show_chance = no
custom_tooltip = health.6200.a_failure_tt
}
}
}
scope:close_person = {
trigger_event = {
id = health.6203
days = { 3 7 }
}
}
}
option = { #I will ask a servant
name = {
trigger = {
exists = scope:close_person
}
text = health.6200.b
}
name = {
trigger = {
NOT = { exists = scope:close_person }
}
text = health.6200.b_2
}
show_as_tooltip = {
random_list = {
50 = {
desc = health.6200.b_success
show_chance = no
death = {
death_reason = death_mysterious
}
}
50 = {
desc = health.6200.b_failure
show_chance = no
custom_tooltip = health.6200.a_failure_tt
}
}
}
trigger_event = {
id = health.6207
days = { 3 7 }
}
}
option = { #Back out
name = health.6001.d
custom_tooltip = health.6001.d_tt
}
}
#Someone close to you asks you to kill them
health.6203 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6203.desc
first_valid = {
triggered_desc = {
trigger = {
any_scheme = {
type = murder
scheme_target_character = scope:incapable_person
}
}
desc = health.6203.desc_murder
}
}
}
theme = death
left_portrait = {
character = scope:incapable_person
animation = sick
}
option = { #Agree
name = health.6203.a
show_as_tooltip = {
scope:incapable_person = {
death = {
death_reason = death_mysterious
}
}
}
hidden_effect = {
if = {
limit = { #If they're ai they might not be able to go through with it even when agreeing
is_ai = yes
}
random_list = {
90 = { #They do it
modifier = {
add = 100
any_scheme = { #They have a murder scheme against you
type = murder
scheme_target_character = scope:incapable_person
}
}
scope:incapable_person = {
trigger_event = {
id = health.6204
days = { 3 7 }
}
}
}
10 = { #Chance that ai might not be able to go through with it
modifier = {
add = {
value = ai_compassion
multiply = 0.5
}
}
scope:incapable_person = {
trigger_event = {
id = health.6205
days = { 3 7 }
}
}
}
}
}
else = { #If it's a player they do it
scope:incapable_person = {
trigger_event = {
id = health.6204
days = { 3 7 }
}
}
}
}
stress_impact = {
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 50
ai_compassion_target_modifier = { VALUE = 25 }
ai_vengefulness_target_modifier = { VALUE = 50 }
modifier = { #They have a murder scheme against you
add = 100
any_scheme = {
type = murder
scheme_target_character = scope:incapable_person
}
}
}
}
option = { #No!
name = health.6203.b
scope:incapable_person = {
add_opinion = {
modifier = refusal_opinion
target = scope:close_person
opinion = -15
}
trigger_event = health.6206
}
ai_chance = {
base = 50
modifier = {
add = {
value = ai_compassion
multiply = 0.25
}
}
modifier = {
add = 20
piety_level >= medium_piety_level
}
modifier = {
add = 50
piety_level >= high_piety_level
}
modifier = {
add = 50
has_trait = craven
}
modifier = {
add = 50
has_trait = zealous
}
}
}
}
#They help you
health.6204 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6204.desc_opening
random_valid = {
desc = health.6204.desc_1
desc = health.6204.desc_2
}
}
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:close_person
animation = worry
}
trigger = {
scope:close_person = { is_alive = yes }
}
on_trigger_fail = {
trigger_event = health.6210
}
immediate = {
death = {
death_reason = death_mysterious
}
}
option = {
name = health.6204.a
}
}
#They cannot go though with it
health.6205 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6204.desc_opening
random_valid = {
desc = health.6205.desc_1
desc = health.6205.desc_2
}
}
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:close_person
animation = grief
}
trigger = {
scope:close_person = { is_alive = yes }
}
on_trigger_fail = {
trigger_event = health.6210
}
option = {
name = health.6205.a
}
}
#They will not help you
health.6206 = {
type = character_event
title = health.6001.t
desc = health.6206.desc
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:close_person
animation = grief
}
trigger = {
scope:close_person = { is_alive = yes }
}
on_trigger_fail = {
trigger_event = health.6210
}
option = {
name = health.6205.a
}
}
#You ask a servant
health.6207 = {
type = character_event
title = health.6001.t
desc = health.6207.desc
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:servant
animation = worry
}
immediate = {
create_character = {
save_scope_as = servant
employer = root
template = servant_character
gender_female_chance = root_faith_dominant_gender_adjusted_female_chance
}
}
option = { #You ask them
name = health.6207.a
show_as_tooltip = {
random_list = {
50 = {
desc = health.6207.a_success
show_chance = no
death = {
death_reason = death_mysterious
}
}
50 = {
desc = health.6207.a_failure
show_chance = no
custom_tooltip = health.6200.a_failure_tt
}
}
}
hidden_effect = {
random_list = {
75 = { #Servant says yes
modifier = {
add = 100
has_trait = sadistic
}
modifier = {
add = 75
has_trait = callous
}
trigger_event = {
id = health.6208
days = { 3 7 }
}
}
10 = { #Servant says yes but can't do it
modifier = {
add = {
value = ai_compassion
multiply = 0.5
}
}
modifier = {
add = 75
has_trait = compassionate
}
save_scope_value_as = {
name = refusal
value = yes
}
trigger_event = {
id = health.6209
days = { 3 7 }
}
}
10 = { #Servant says no
modifier = {
add = {
value = ai_compassion
multiply = 0.5
}
}
modifier = {
add = 50
has_trait = compassionate
}
trigger_event = {
id = health.6209
days = { 3 7 }
}
}
}
}
}
option = { #Back out
name = health.6001.d
custom_tooltip = health.6001.d_tt
}
}
#Servant says yes
health.6208 = {
type = character_event
title = health.6001.t
desc = {
desc = health.6204.desc_opening
random_valid = {
desc = health.6204.desc_1
desc = health.6204.desc_2
}
}
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:servant
animation = worry
}
trigger = {
scope:servant = { is_alive = yes }
}
on_trigger_fail = {
trigger_event = health.6210
}
immediate = {
scope:servant = { #To be able to reuse descs
save_scope_as = close_person
}
death = {
death_reason = death_mysterious
}
}
option = {
name = health.6204.a
}
}
#Servant says no or can't do it
health.6209 = {
type = character_event
title = health.6001.t
desc = {
first_valid = {
triggered_desc = {
trigger = { #They try to, but can't do it
exists = scope:refusal
}
desc = {
desc = health.6209.desc_refusal
random_valid = {
desc = health.6205.desc_1
desc = health.6205.desc_2
}
}
}
desc = health.6209.desc
}
}
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = {
character = scope:servant
animation = shock
}
trigger = {
scope:servant = { is_alive = yes }
}
on_trigger_fail = {
trigger_event = health.6210
}
option = {
name = health.6205.a
}
}
#Close person or servant died (oh cruel fate)
health.6210 = {
type = character_event
title = health.6001.t
desc = health.6210.desc
theme = death
left_portrait = {
character = root
animation = sick
}
right_portrait = scope:close_person
immediate = {
if = { #To make it the same scope for ease of work
limit = {
exists = scope:servant
}
scope:servant = {
save_scope_as = close_person
}
}
}
option = {
name = health.6210.a
remove_decision_cooldown = commit_suicide_decision
}
}
##################
# INFIRM EVENTS
##################
# You have become infirm
health.7000 = {
type = character_event
title = health.7000.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
age <= 40
}
desc = health.7000.desc_collapse
}
desc = health.7000.desc
}
desc = health.7000.desc_closing
}
left_portrait = {
character = root
animation = sick
}
theme = physical_health
trigger = {
NOT = { has_trait = infirm }
OR = {
age >= 50
AND = {
age >= 30
OR = {
has_trait = physique_bad
has_trait = spindly
has_trait = weak
}
}
}
}
weight_multiplier = {
base = 1
modifier = { #Shouldn't happen randomly for healthy characters
health >= good_health
factor = 0
}
modifier = {
health >= fine_health
factor = 0.8
}
modifier = {
health <= poor_health
factor = 5
}
modifier = {
has_trait = physique_bad_2
factor = 1.2
}
modifier = {
has_trait = physique_bad_3
factor = 1.5
}
modifier = {
age < 50
factor = 0.7
}
modifier = {
age > 60
factor = 2
}
modifier = {
age > 70
factor = 2
}
modifier = {
age > 80
factor = 3
}
modifier = {
has_trait = athletic
factor = 0.8
}
modifier = {
has_trait = whole_of_body
factor = 0.5
}
modifier = {
has_trait = physique_good_1
factor = 0.8
}
modifier = {
has_trait = physique_good_2
factor = 0.5
}
modifier = {
has_trait = physique_good_3
factor = 0.3
}
modifier = {
has_trait = cancer
factor = 3
}
modifier = {
faith = { has_doctrine_parameter = less_likely_to_become_infirm }
factor = 0.5
}
}
option = {
name = {
trigger = { has_trait = lazy }
text = health.7000.a.lazy
}
name = {
text = health.7000.a
}
add_trait = infirm
stress_impact = {
lazy = minor_stress_loss
diligent = medium_stress_gain
}
}
}
# What day is it? You become depressed while infirm
health.7100 = {
type = character_event
title = health.7000.t
desc = health.7100.desc
left_portrait = {
character = root
animation = sick
}
theme = physical_health
trigger = {
OR = {
has_trait = infirm
has_trait = incapable
}
NOR = {
has_trait = depressed
has_character_flag = had_event_health_7100
}
}
weight_multiplier = {
base = 1
modifier = {
factor = 0
ai_energy >= medium_positive_energy
}
modifier = {
factor = 1.2
ai_energy <= low_positive_energy
}
modifier = {
factor = 2
ai_energy <= low_negative_energy
}
modifier = {
factor = 3
ai_energy <= medium_negative_energy
}
modifier = {
factor = 4
ai_energy <= high_negative_energy
}
}
immediate = {
add_character_flag = had_event_health_7100
}
option = {
name = health.7100.a
add_trait = depressed_1
}
}