Disease tweaks

This commit is contained in:
Heidesommer 2026-05-29 21:29:55 -04:00
parent f2974b03b2
commit 884ac18c56
4 changed files with 343 additions and 319 deletions

View file

@ -1,319 +1,319 @@
@default_tile_multiplier = 0.009702
smallpox = {
trait = smallpox
color = { 88 12 31 }
priority = 3
shader_data = {
strength = 0.8
edge_fade = 0.25
tile_multiplier = 0.004702
texture_index = 0
channel = alpha
}
name = {
first_valid = {
triggered_desc = {
trigger = {
outbreak_intensity = apocalyptic
outbreak_province = province:3045
}
desc = epidemic_bonifacy_gift
}
triggered_desc = {
trigger = {
outbreak_intensity = apocalyptic
outbreak_province = province:7596
}
desc = epidemic_raqguul_plague
}
random_valid = {
triggered_desc = {
trigger = {
outbreak_intensity = apocalyptic
outbreak_province = {
geographical_region = ghw_region_egypt
county.faith.religion = { is_in_family = rf_abrahamic }
}
}
desc = epidemic_eleventh_plague
}
desc = epidemic_rulers_pox
desc = epidemic_titled_rulers_pox
desc = epidemic_animal_pox # Monkeypox, chickenpox and the like
desc = epidemic_realm_pox
desc = epidemic_holder_pox
desc = epidemic_culture_pox
desc = epidemic_location_pox
}
desc = trait_smallpox
}
}
on_start = {
# LEGITIMACY LOSS FROM EPIDEMIC OUTBREAK
epidemic_outbreak_legitimacy_effect = { PROVINCE = root.outbreak_province }
#if = {
# limit = {
# outbreak_intensity = apocalyptic
# }
# if = {
# limit = {
# NOT = {
# exists = global_var:epidemic_smallpox_apocalyptic
# }
# }
# set_global_variable = {
# name = epidemic_smallpox_apocalyptic
# value = 1
# }
# }
# else = {
# change_global_variable = {
# name = epidemic_smallpox_apocalyptic
# add = 1
# }
# }
#}
#else_if = {
# limit = {
# outbreak_intensity = major
# }
# if = {
# limit = {
# NOT = {
# exists = global_var:epidemic_smallpox_major
# }
# }
# set_global_variable = {
# name = epidemic_smallpox_major
# value = 1
# }
# }
# else = {
# change_global_variable = {
# name = epidemic_smallpox_major
# add = 1
# }
# }
#}
#else = {
# if = {
# limit = {
# NOT = {
# exists = global_var:epidemic_smallpox_minor
# }
# }
# set_global_variable = {
# name = epidemic_smallpox_minor
# value = 1
# }
# }
# else = {
# change_global_variable = {
# name = epidemic_smallpox_minor
# add = 1
# }
# }
#}
}
on_monthly = {
trigger_event = {
on_action = epidemic_ongoing_events
}
}
character_infection_chance = {
value = character_infection_chance_default_value
}
can_infect_character = {
can_contract_disease_trigger = { DISEASE = smallpox }
immune_to_epidemic = { EPIDEMIC = scope:epidemic }
}
on_character_infected = {
contract_disease_notify_effect = { DISEASE = smallpox }
if = {
limit = {
is_commanding_army = yes
}
trigger_event = epidemic_events.0001 #we infect your army
}
}
infection_levels = {
10 = {
province_modifier = {
county_opinion_add = -2
epidemic_travel_danger = 10
development_decline = -1
}
}
50 = {
province_modifier = {
county_opinion_add = -3
epidemic_travel_danger = 20
development_decline = -2
}
}
80 = {
province_modifier = {
monthly_county_control_decline_add = -0.1
supply_limit_mult = -0.2
county_opinion_add = -5
epidemic_travel_danger = 30
development_decline = -3
}
}
}
outbreak_intensities = {
minor = {
outbreak_chance = {
value = outbreak_chance_minor_default_value
multiply = outbreak_chance_minor_mult_value
multiply = recent_epidemics_outbreak_mult_value
### NO DLC - We increase the chance to make up for the locked diseases ###
if = {
limit = {
NOT = { has_dlc_feature = legends_of_the_dead }
}
multiply = 2
}
if = {
limit = {
has_game_rule = epidemic_frequency_disabled
}
multiply = 0
}
}
spread_chance = {
value = spread_chance_epidemics_default_value
multiply = spread_chance_epidemics_mult_value
}
max_provinces = { 30 55 }
infection_duration = {
months = { 6 8 }
}
infection_progress_duration = {
days = { 80 120 }
}
infection_recovery_duration = {
days = { 15 22 }
}
}
major = {
outbreak_chance = {
value = outbreak_chance_major_default_value
multiply = outbreak_chance_major_mult_value
multiply = recent_epidemics_outbreak_mult_value
### NO DLC - We increase the chance to make up for the locked diseases ###
if = {
limit = {
NOT = { has_dlc_feature = legends_of_the_dead }
}
multiply = 1.5
}
if = {
limit = {
has_game_rule = epidemic_frequency_disabled
}
multiply = 0
}
}
spread_chance = {
value = spread_chance_epidemics_default_value
multiply = spread_chance_epidemics_mult_value
}
max_provinces = { 85 130 }
infection_duration = {
months = { 10 20 }
}
infection_progress_duration = {
days = { 40 60 }
}
infection_recovery_duration = {
days = 25
}
}
apocalyptic = {
outbreak_chance = {
value = outbreak_chance_apocalyptic_default_value
multiply = outbreak_chance_apocalyptic_mult_value
multiply = recent_epidemics_outbreak_mult_value
### NO DLC - We increase the chance to make up for the locked diseases ###
if = {
limit = {
NOT = { has_dlc_feature = legends_of_the_dead }
}
multiply = 1.25
}
if = {
limit = {
has_game_rule = epidemic_frequency_disabled
}
multiply = 0
}
}
spread_chance = {
value = spread_chance_epidemics_default_value
multiply = spread_chance_epidemics_mult_value
}
max_provinces = { 220 325 }
infection_duration = {
months = { 22 40 }
}
infection_progress_duration = {
days = { 15 20 }
}
infection_recovery_duration = {
days = { 25 35 }
}
}
}
on_province_infected = {
county = {
apply_infection_development_loss = { BASE = 5 }
}
cant_touch_this_achievement_effect = yes
}
on_province_recovered = {
county = {
remove_isolated_capital_modifiers_effect = yes
}
add_to_variable_list = {
name = epidemic_cooldown
target = scope:epidemic.epidemic_type
years = 50
}
set_variable = {
name = epidemic_cooldown_general
years = 15
}
# Prosperity event
plague_recovery_event_effect = yes
}
}
#smallpox = {
# trait = smallpox
# color = { 88 12 31 }
# priority = 3
#
# shader_data = {
# strength = 0.8
# edge_fade = 0.25
# tile_multiplier = 0.004702
# texture_index = 0
# channel = alpha
# }
#
# name = {
# first_valid = {
# triggered_desc = {
# trigger = {
# outbreak_intensity = apocalyptic
# outbreak_province = province:3045
# }
# desc = epidemic_bonifacy_gift
# }
# triggered_desc = {
# trigger = {
# outbreak_intensity = apocalyptic
# outbreak_province = province:7596
# }
# desc = epidemic_raqguul_plague
# }
# random_valid = {
# triggered_desc = {
# trigger = {
# outbreak_intensity = apocalyptic
# outbreak_province = {
# geographical_region = ghw_region_egypt
# county.faith.religion = { is_in_family = rf_abrahamic }
# }
# }
# desc = epidemic_eleventh_plague
# }
# desc = epidemic_rulers_pox
# desc = epidemic_titled_rulers_pox
# desc = epidemic_animal_pox # Monkeypox, chickenpox and the like
# desc = epidemic_realm_pox
# desc = epidemic_holder_pox
# desc = epidemic_culture_pox
# desc = epidemic_location_pox
# }
# desc = trait_smallpox
# }
# }
#
# on_start = {
# # LEGITIMACY LOSS FROM EPIDEMIC OUTBREAK
# epidemic_outbreak_legitimacy_effect = { PROVINCE = root.outbreak_province }
# #if = {
# # limit = {
# # outbreak_intensity = apocalyptic
# # }
# # if = {
# # limit = {
# # NOT = {
# # exists = global_var:epidemic_smallpox_apocalyptic
# # }
# # }
# # set_global_variable = {
# # name = epidemic_smallpox_apocalyptic
# # value = 1
# # }
# # }
# # else = {
# # change_global_variable = {
# # name = epidemic_smallpox_apocalyptic
# # add = 1
# # }
# # }
# #}
# #else_if = {
# # limit = {
# # outbreak_intensity = major
# # }
# # if = {
# # limit = {
# # NOT = {
# # exists = global_var:epidemic_smallpox_major
# # }
# # }
# # set_global_variable = {
# # name = epidemic_smallpox_major
# # value = 1
# # }
# # }
# # else = {
# # change_global_variable = {
# # name = epidemic_smallpox_major
# # add = 1
# # }
# # }
# #}
# #else = {
# # if = {
# # limit = {
# # NOT = {
# # exists = global_var:epidemic_smallpox_minor
# # }
# # }
# # set_global_variable = {
# # name = epidemic_smallpox_minor
# # value = 1
# # }
# # }
# # else = {
# # change_global_variable = {
# # name = epidemic_smallpox_minor
# # add = 1
# # }
# # }
# #}
# }
#
# on_monthly = {
# trigger_event = {
# on_action = epidemic_ongoing_events
# }
# }
#
# character_infection_chance = {
# value = character_infection_chance_default_value
# }
#
# can_infect_character = {
# can_contract_disease_trigger = { DISEASE = smallpox }
# immune_to_epidemic = { EPIDEMIC = scope:epidemic }
# }
#
# on_character_infected = {
# contract_disease_notify_effect = { DISEASE = smallpox }
# if = {
# limit = {
# is_commanding_army = yes
# }
# trigger_event = epidemic_events.0001 #we infect your army
# }
# }
#
# infection_levels = {
# 10 = {
# province_modifier = {
# county_opinion_add = -2
# epidemic_travel_danger = 10
# development_decline = -1
# }
# }
# 50 = {
# province_modifier = {
# county_opinion_add = -3
# epidemic_travel_danger = 20
# development_decline = -2
# }
# }
# 80 = {
# province_modifier = {
# monthly_county_control_decline_add = -0.1
# supply_limit_mult = -0.2
# county_opinion_add = -5
# epidemic_travel_danger = 30
# development_decline = -3
# }
# }
# }
#
# outbreak_intensities = {
# minor = {
# outbreak_chance = {
# value = outbreak_chance_minor_default_value
# multiply = outbreak_chance_minor_mult_value
# multiply = recent_epidemics_outbreak_mult_value
#
# ### NO DLC - We increase the chance to make up for the locked diseases ###
# if = {
# limit = {
# NOT = { has_dlc_feature = legends_of_the_dead }
# }
# multiply = 2
# }
# if = {
# limit = {
# has_game_rule = epidemic_frequency_disabled
# }
# multiply = 0
# }
# }
# spread_chance = {
# value = spread_chance_epidemics_default_value
# multiply = spread_chance_epidemics_mult_value
# }
# max_provinces = { 30 55 }
#
# infection_duration = {
# months = { 6 8 }
# }
#
# infection_progress_duration = {
# days = { 80 120 }
# }
#
# infection_recovery_duration = {
# days = { 15 22 }
# }
# }
#
# major = {
# outbreak_chance = {
# value = outbreak_chance_major_default_value
# multiply = outbreak_chance_major_mult_value
# multiply = recent_epidemics_outbreak_mult_value
#
# ### NO DLC - We increase the chance to make up for the locked diseases ###
# if = {
# limit = {
# NOT = { has_dlc_feature = legends_of_the_dead }
# }
# multiply = 1.5
# }
# if = {
# limit = {
# has_game_rule = epidemic_frequency_disabled
# }
# multiply = 0
# }
# }
# spread_chance = {
# value = spread_chance_epidemics_default_value
# multiply = spread_chance_epidemics_mult_value
# }
# max_provinces = { 85 130 }
#
# infection_duration = {
# months = { 10 20 }
# }
#
# infection_progress_duration = {
# days = { 40 60 }
# }
#
# infection_recovery_duration = {
# days = 25
# }
# }
#
# apocalyptic = {
# outbreak_chance = {
# value = outbreak_chance_apocalyptic_default_value
# multiply = outbreak_chance_apocalyptic_mult_value
# multiply = recent_epidemics_outbreak_mult_value
#
# ### NO DLC - We increase the chance to make up for the locked diseases ###
# if = {
# limit = {
# NOT = { has_dlc_feature = legends_of_the_dead }
# }
# multiply = 1.25
# }
# if = {
# limit = {
# has_game_rule = epidemic_frequency_disabled
# }
# multiply = 0
# }
# }
# spread_chance = {
# value = spread_chance_epidemics_default_value
# multiply = spread_chance_epidemics_mult_value
# }
# max_provinces = { 220 325 }
#
# infection_duration = {
# months = { 22 40 }
# }
#
# infection_progress_duration = {
# days = { 15 20 }
# }
#
# infection_recovery_duration = {
# days = { 25 35 }
# }
# }
# }
#
# on_province_infected = {
# county = {
# apply_infection_development_loss = { BASE = 5 }
# }
# cant_touch_this_achievement_effect = yes
# }
#
# on_province_recovered = {
# county = {
# remove_isolated_capital_modifiers_effect = yes
# }
# add_to_variable_list = {
# name = epidemic_cooldown
# target = scope:epidemic.epidemic_type
# years = 50
# }
# set_variable = {
# name = epidemic_cooldown_general
# years = 15
# }
# # Prosperity event
# plague_recovery_event_effect = yes
# }
#}
bubonic_plague = {
trait = bubonic_plague

View file

@ -62,6 +62,18 @@ physician_high_character_template = {
medium_lifestyle_random_xp_high
}
}
random = {
chance = 10
if = {
limit = {
root.capital_province = {
geographical_region = world_europe
}
}
add_character_flag = ai_will_not_convert
set_character_faith = faith:trenchsinger
}
}
}
}
@ -104,5 +116,17 @@ physician_excellent_character_template = {
add_trait = lifestyle_herbalist
}
}
random = {
chance = 33
if = {
limit = {
root.capital_province = {
geographical_region = world_europe
}
}
add_character_flag = ai_will_not_convert
set_character_faith = faith:trenchsinger
}
}
}
}

View file

@ -212,7 +212,7 @@
epidemic_events.1110.a: "Very well."
epidemic_events.1110.b: "That site is only for me and mine."
epidemic_events.1120.t: "A Gruesome Gift"
epidemic_events.1120.desc: "As we enter [flung_corpse_location.GetName], a devilish idea crosses my mind. A few troops lie on the brink of death with [epidemic_scope.GetName] and soon will depart from this world. It is possible, however, for them to serve me in this war even in death.\n\nThe miasma from the corpses will surely cause more of my soldiers to fall ill, unless we were to dispose of the bodies somehow. Perhaps we may bring [corpse_flingee.GetName] to [corpse_flingee.GetHerHis] knees by sending [corpse_flingee.GetHerHim] a gift via catapult..."
epidemic_events.1120.desc: "As we enter [flung_corpse_location.GetName], a devilish idea crosses my mind. A few troops lie on the brink of death with [epidemic_scope.GetName] and soon will depart from this world. It is possible, however, for them to serve me in this war even in death.\n\nThe germs from the corpses will surely cause more of my soldiers to fall ill, unless we were to dispose of the bodies somehow. Perhaps we may bring [corpse_flingee.GetName] to [corpse_flingee.GetHerHis] knees by sending [corpse_flingee.GetHerHim] a gift via catapult..."
epidemic_events.1120.a: "Load up the bodies!"
epidemic_events.1120.b: "This is obscene!"
epidemic_events.1121.t: "A Gift From Above"

View file

@ -1,13 +1,13 @@
l_english:
physician_epidemic_events.1000.t: "Unorthodox Treatment"
physician_epidemic_events.1000.desc: "My [physician.Custom2('MyCharacterIntroduction', ROOT.Char)] and [zealous_courtier.Custom2('MyCharacterIntroduction', ROOT.Char)] are at each other's throats over how to handle the spreading [epidemic_scope.GetName].\n\n"I am a physician!" Talāra insists. "Let me purge this plague!"\n\n"Heresy!" Mahakala snarls. "We must anoint the dead and give them proper [zealous_courtier.GetFaith.GetAdjective] rites.""
physician_epidemic_events.1000.desc: "My [physician.Custom2('MyCharacterIntroduction', ROOT.Char)] and [zealous_courtier.Custom2('MyCharacterIntroduction', ROOT.Char)] are at each other's throats over how to handle the spreading [epidemic_scope.GetName].\n\n"I am a physician!" [physician.GetFirstNameNoTooltip] insists. "Let me purge this plague!"\n\n"Heresy!" [zealous_courtier.GetFirstNameNoTooltip] snarls. "We must anoint the dead and give them proper [zealous_courtier.GetFaith.GetAdjective] rites.""
physician_epidemic_events.1000.a: "Perhaps we should simply keep the bodies away from the living."
physician_epidemic_events.1000.b: "We must do whatever we can to end this plague."
physician_epidemic_events.1000.b.success: "The treatment works"
physician_epidemic_events.1000.b.failure: "The treatment fails"
physician_epidemic_events.1000.c: "We will not defile these bodies."
physician_epidemic_events.1010.t: "Quarantine"
physician_epidemic_events.1010.desc: "As [epidemic_scope.GetName] spreads, my [physician.Custom2('MyCharacterIntroduction', ROOT.Char)] urges a drastic course: seal off the sick. "Miasma clings to corpses," [physician.GetSheHe] warns, "and bad air feeds the plague."\n\n[physician.GetSheHe|U] wants quarantine — no one in or out of infected lands.\n\n"In desperate times, my Kaiser, we must do what we must.""
physician_epidemic_events.1010.desc: "As [epidemic_scope.GetName] spreads, my [physician.Custom2('MyCharacterIntroduction', ROOT.Char)] urges a drastic course: seal off the sick. "Germs cling to corpses," [physician.GetSheHe] warns, "and unsanitary conditions feed the plague."\n\n[physician.GetSheHe|U] wants quarantine — no one in or out of infected lands.\n\n"In desperate times, my [ROOT.Char.GetTitleAsNameNoTooltip|U], we must do what we must.""
physician_epidemic_events.1010.a: "Seal the roads. Quarantine the sick."
physician_epidemic_events.1010.b: "This is too extreme."
physician_epidemic_events.1020.t: "[epidemic.GetNameNoTooltip|U]: Early Prevention"
@ -26,7 +26,7 @@
physician_epidemic_events.1021.desc: "It would seem the moderate approach has proven successful, with a slow in spread of disease symptoms among the commoners. Though the impact is quite minimal, it should at least grant more time to work on a more permanent solution."
physician_epidemic_events.1021.a: "Wonderful!"
physician_epidemic_events.1022.t: "Early Prevention: Failure"
physician_epidemic_events.1022.desc: "Not only have [physician.GetNamePossessive] preventative measures failed, they seem to have actually irritated the humors and made the corruption both more infectious and more severe."
physician_epidemic_events.1022.desc: "Not only have [physician.GetNamePossessive] preventative measures failed, they seem to have actually invigorated the germs and made the pathogen both more infectious and more severe."
physician_epidemic_events.1023.t: "$physician_epidemic_events.1021.t$"
physician_epidemic_events.1023.desc: "The disease which was set to spread like a flame to paper across my realm has slowed to a crawl. The radical measures proposed by [physician.GetFirstName] have taken a toll on the economy in the short term, but [epidemic.GetName] may not quite be the threat we had all feared."
physician_epidemic_events.1023.a: "$physician_epidemic_events.1021.a$"
@ -48,7 +48,7 @@
physician_epidemic_events.1040.a: "Let them feel the royal touch."
physician_epidemic_events.1040.b: "Let the priests handle the poor."
physician_epidemic_events.1050.t: "The [ROOT.Char.GetPrimaryTitle.GetAdjectiveNoTooltip|U] Inn"
physician_epidemic_events.1050.desc: "My guards drag [physician.Custom2('MyCharacterIntroduction', ROOT.Char)] before me in irons. [physician.GetSheHe]'s been treating wounded soldiers — friend and foe alike — after every battle.\n\nThey call [physician.GetHerHis] shelter the "[ROOT.Char.GetPrimaryTitle.GetAdjective|U] Inn", and my commanders demand it shut down. But Edaraja only says, "They bleed and suffer like our own. Who am I to turn them away?""
physician_epidemic_events.1050.desc: "My guards drag [physician.Custom2('MyCharacterIntroduction', ROOT.Char)] before me in irons. [physician.GetSheHe]'s been treating wounded soldiers — friend and foe alike — after every battle.\n\nThey call [physician.GetHerHis] shelter the "[ROOT.Char.GetPrimaryTitle.GetAdjective|U] Inn", and my commanders demand it shut down. But [physician.GetFirstNameNoTooltip] only says, "They bleed and suffer like our own. Who am I to turn them away?""
physician_epidemic_events.1050.a: "[physician.GetSheHe|U] has my leave to continue."
physician_epidemic_events.1050.b: "You only serve #EMP me!#!"
physician_epidemic_events.1060.t: "A Desperate Banishment"