Scripted effect
education_complete_notification_effect
education_complete_notification_effect = yesgame/common/scripted_effects/00_education_effects.txt, line 480 (181 lines). No parameters.
education_complete_notification_effect is a scripted effect in Crusader Kings III, written at line 480 of its file. It takes no parameters: education_complete_notification_effect = yes. The game's script calls it in 5 places, among them Coming of Age (event coming_of_age.0001), Coming of Age (event coming_of_age.0002) and Coming of Age (event coming_of_age.0003). Patch 1.20.1.2, from game/common/scripted_effects/00_education_effects.txt.
The comment above it in the file
Effect to identify characters for the "Education Completed" notification events
What it does
- If any relation › One random relation:
Otherwise
Else if
One of these
NOT = { exists = scope:educated_child.father }or
NOT = { exists = scope:educated_child.mother }
Then
Otherwise
- Event coming_of_age.1003
Otherwise
- Event coming_of_age.1005
- Every Parent:
- Where:
NOT = { scope:parent_guardian ?= this }
If
One of these
has_relation_favorite_child = scope:educated_childor
scope:educated_child:One of these
- Is a ruler
or
is_primary_heir_of = prevor
is_player_heir_of = prevor
None of these
- Sibling (at least 2):
is_alive = yesage >= scope:educated_child.age
- Sibling (at least 2):
Then
- Event coming_of_age.1002
Otherwise
scope:educated_child:
- Where:
- If not: Is Lowborn › Every player:
- Where:
scope:educated_child.dynasty ?= dynastyNOT = { is_parent_of = scope:educated_child }NOT = { scope:parent_guardian ?= this }One of these
scope:educated_child.liege ?= thisor
scope:educated_child.employer ?= thisor
scope:educated_child.court_owner ?= this
scope:educated_child:
- Where:
- Their liege:
If
- Is played by a person
is_employer_of = scope:educated_childNOT = { scope:educated_child.dynasty ?= dynasty }NOT = { is_parent_of = scope:educated_child }NOT = { scope:parent_guardian ?= this }
Then
scope:educated_child:
• 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)
education_complete_notification_effect = {
save_scope_as = educated_child
if = {
limit = {
any_relation = { type = guardian }
}
random_relation = {
type = guardian
save_scope_as = current_guardian
if = {
limit = { is_parent_of = root }
save_scope_as = parent_guardian
trigger_event = coming_of_age.1001
}
else = {
save_scope_as = guardian
if = {
limit = {
scope:educated_child = {
any_parent = { is_alive = no }
any_parent = { is_alive = yes }
}
}
random_parent = {
limit = { is_alive = yes }
save_scope_as = living_parent
}
random_parent = {
limit = { is_alive = no }
save_scope_as = dead_parent
}
trigger_event = coming_of_age.1003 #Event for non-parent guardian when one parent of the child is dead
}
else_if = {
limit = {
scope:educated_child = {
any_parent = {
is_alive = yes
count = 2
}
}
}
scope:educated_child.father = { save_scope_as = father }
scope:educated_child.mother = { save_scope_as = mother }
trigger_event = coming_of_age.1004 #Event for non-parent guardian when both parents are alive
}
else_if = {
limit = {
OR = {
NOT = { exists = scope:educated_child.father }
NOT = { exists = scope:educated_child.mother }
}
}
if = {
limit = {
exists = scope:educated_child.father
}
scope:educated_child.father = {
save_scope_as = parent
}
}
if = {
limit = {
exists = scope:educated_child.mother
}
scope:educated_child.mother = {
save_scope_as = parent
}
}
if = {
limit = {
NOT = { exists = scope:parent }
}
trigger_event = coming_of_age.1005
}
else = {
trigger_event = coming_of_age.1003
}
}
else = {
scope:educated_child.father = { save_scope_as = father }
scope:educated_child.mother = { save_scope_as = mother }
trigger_event = coming_of_age.1005 #Event for non-parent guardian when both parents are dead
}
}
hidden_effect = { # Hidden to avoid duplicate effect messages
#Relationship back-up clean-up
remove_guardian_effect = {
GUARDIAN = scope:current_guardian
WARD = scope:educated_child
RETURN_WARD = no
HIDE_OPINION = no
}
}
}
}
every_parent = {
limit = {
NOT = { scope:parent_guardian ?= this }
}
if = {
limit = {
OR = {
has_relation_favorite_child = scope:educated_child
scope:educated_child = {
OR = {
is_ruler = yes
is_primary_heir_of = prev
is_player_heir_of = prev
NOT = {
any_sibling = {
count >= 2
is_alive = yes
age >= scope:educated_child.age
}
}
}
}
}
}As written in game/common/scripted_effects/00_education_effects.txt.
The first 120 of its 181 lines; the rest is in game/common/scripted_effects/00_education_effects.txt from line 480.
Where it is used
Every place in common/, events/ and history/ that calls education_complete_notification_effect.
Events (5)
- Coming of Age
coming_of_age.0001 - Coming of Age
coming_of_age.0002 - Coming of Age
coming_of_age.0003 - Coming of Age
coming_of_age.0004 - Coming of Age
coming_of_age.0005
Source: game/common/scripted_effects/00_education_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.