Scripted effect · Legends of the Dead files
notify_holders_and_above
notify_holders_and_above = yesgame/common/scripted_effects/06_dlc_ce1_epidemics_effects.txt, line 35 (209 lines). No parameters.
notify_holders_and_above is a scripted effect in Crusader Kings III, in the Legends of the Dead files, written at line 35 of its file. It takes no parameters: notify_holders_and_above = yes. No file of common/, events/ or history/ calls it. Its body carries 6 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/06_dlc_ce1_epidemics_effects.txt.
The comment above it in the file
Sends a notification event to the relevant people when a province is infected
What it does
If
scope:infected_county:None of these
- Any county province epidemic:
intensity = apocalypticepidemic_type = epidemic_type:bubonic_plague
- Any county province epidemic:
Then
If
- scope:infected_county › Any county province epidemic:
intensity = apocalypticNOT = { epidemic_type = epidemic_type:bubonic_plague }
Then
- Their holder’s top liege:
- Event epidemic_events.1101
- Every vassal or below:
- Where:
- Is played by a person
NOT = { is_target_in_variable_list = { name = plagues_notified target = scope:epidemic } }
- A Plague known as … has struck the …
- Where:
- Their holder:
- Every liege or above:
- Where:
- Is played by a person
notified_of_plague_trigger = no
- Event epidemic_events.1101
- Where:
- Every vassal or below:
- Where:
- Is played by a person
notified_of_plague_trigger = no
- Event epidemic_events.1101
- Where:
Else if
- scope:infected_county › Any county province epidemic:
NOT = { epidemic_type = epidemic_type:bubonic_plague }NOT = { outbreak_intensity >= major }
Then
If
- Their holder’s top liege:
Then
- Their holder’s top liege:
- A Plague known as … has struck the …
- Every vassal or below:
- Where:
- Is played by a person
notified_of_plague_trigger = no
- A Plague known as … has struck the …
- Where:
If
- Their holder:
- Is played by a person
notified_of_plague_trigger = no
Then
- Their holder:
- Event epidemic_events.1100
- Every liege or above:
- Where:
- Is played by a person
notified_of_plague_trigger = no
- A Plague known as … has struck the …
- Where:
- Every vassal or below:
- Where:
- Is played by a person
notified_of_plague_trigger = no
- A Plague known as … has struck the …
- Where:
- Their holder:
Otherwise
- Their holder’s top liege:
- Event epidemic_events.1100
- Every vassal or below:
- Where:
- Is played by a person
notified_of_plague_trigger = no
- A Plague known as … has struck the …
- Where:
- Their holder:
- Every liege or above:
- Where:
- Is played by a person
NOT = { is_target_in_variable_list = { name = plagues_notified target = scope:epidemic } }
- Event epidemic_events.1100
- Where:
- Every vassal or below:
- Where:
- Is played by a person
notified_of_plague_trigger = no
- Event epidemic_events.1100
- Where:
- scope:infected_county › Any county province epidemic:
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.
The script as written (120 lines of game script)
notify_holders_and_above = {
save_scope_as = infected_county
if = {
limit = {
# Just so we don't fire multiple alerts for the Black Death
scope:infected_county = {
NOT = {
any_county_province_epidemic = {
intensity = apocalyptic
epidemic_type = epidemic_type:bubonic_plague
}
}
}
}
if = {
limit = {
scope:infected_county = {
any_county_province_epidemic = {
intensity = apocalyptic
NOT = { epidemic_type = epidemic_type:bubonic_plague }
}
}
}
holder.top_liege = {
trigger_event = epidemic_events.1101
every_vassal_or_below = { #Toast notif
limit = {
is_ai = no
NOT = {
is_target_in_variable_list = {
name = plagues_notified
target = scope:epidemic
}
}
}
add_to_variable_list = {
name = plagues_notified
target = scope:epidemic
}
send_interface_toast = {
type = msg_epidemic_outbreak
title = epidemic_events.alert_title
left_icon = scope:infected_county
custom_tooltip = epidemic_events.alert_description
}
}
}
holder = {
if = {
limit = {
is_ai = no
notified_of_plague_trigger = no
}
trigger_event = epidemic_events.1101
}
every_liege_or_above = {
limit = {
is_ai = no
notified_of_plague_trigger = no
}
trigger_event = epidemic_events.1101
}
every_vassal_or_below = {
limit = {
is_ai = no
notified_of_plague_trigger = no
}
trigger_event = epidemic_events.1101
}
}
}
else_if = {
# If it's minor we send you a toast unless it's in your domain
limit = {
scope:infected_county = {
any_county_province_epidemic = {
NOR = {
epidemic_type = epidemic_type:bubonic_plague
outbreak_intensity >= major
}
}
holder = {
this != top_liege
}
}
}
if = {
limit = {
holder.top_liege = {
notified_of_plague_trigger = no
}
}
holder.top_liege = {
send_interface_toast = {
type = msg_epidemic_outbreak
title = epidemic_events.alert_title
left_icon = scope:infected_county
custom_tooltip = epidemic_events.alert_description
}
add_to_variable_list = {
name = plagues_notified
target = scope:epidemic
}
every_vassal_or_below = { #Toast notif
limit = {
is_ai = no
this != scope:infected_county.holder
notified_of_plague_trigger = no
}
add_to_variable_list = {
name = plagues_notified
target = scope:epidemic
}
send_interface_toast = {
type = msg_epidemic_outbreak
title = epidemic_events.alert_title
left_icon = scope:infected_county
custom_tooltip = epidemic_events.alert_description
}
}As written in game/common/scripted_effects/06_dlc_ce1_epidemics_effects.txt.
The first 120 of its 209 lines; the rest is in game/common/scripted_effects/06_dlc_ce1_epidemics_effects.txt from line 35.
Where it is used
No file of common/, events/ or history/ calls it.
Source: game/common/scripted_effects/06_dlc_ce1_epidemics_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.