Interaction · Friendly actions
Offer Guardianship
Offer the recipient a Guardian, making someone in their Court the Ward of the chosen adult
What you need
You
To send it
None of these
- You: Is at war with the target
If
a check the game hides
Then
- The other character:
- Is available (not in an army, not imprisoned, not incapable)
- Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux
- Busy participating in an Activity
- You are already planning another Activity
- You are currently busy in a Mandala succession
- Is not imprisoned
is_hostage = no- … is traveling to become a Hostage
- Already under negotiation to become someone's Ward
- Already under negotiation to become someone's Guardian
- … is traveling to become a Ward
- The other character:
To see it in the menu
- If played by the AI:
- Is not imprisoned
- Is not incapable
If
a check the game hides
Then
- The other character: Is a child
The character you target
To send it
To see it in the menu
Which character you can pick
- Is available (not in an army, not imprisoned, not incapable)
- Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux
- You are currently busy …
- You are already planning another Activity
- You are currently busy in a Mandala succession
- Already under negotiation to become someone's Ward
- Already under negotiation to become someone's Guardian
- … is traveling to become a Hostage
Offer Guardianship is a friendly character interaction in Crusader Kings III. The character you target needs: Is not imprisoned, Already under negotiation to become someone's Ward and Already under negotiation to become someone's Guardian. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Weak Hook used (+200), You … their Liege (+100), Guardian's Own Child (+100) and 31 more. Patch 1.20.1.2, from game/common/character_interactions/00_education_interactions.txt.
Quick answers (2)
- What are the requirements for Offer Guardianship in CK3?
- The character you target: Is not imprisoned, Already under negotiation to become someone's Ward and Already under negotiation to become someone's Guardian. (patch 1.20.1.2)
- How do I get the AI to accept Offer Guardianship?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Weak Hook used +200, You … their Liege +100, Guardian's Own Child +100, Foreign Court -75, Sending Child to Foreign Court -100, Sending Child to a Vassal's Court -50, Being Educated by Family +25, Converting culture -100, Converting faith -100, They is your Friend +50, They is your Rival -50, The character you send are the true father +100, … Opinion of …, Not of the same Culture -5, Not of the same Culture -10, Your Tolerance Towards my Faith, Guardian's Diplomacy Skill, Guardian's Martial Skill, Guardian's Stewardship Skill, Guardian's Intrigue Skill, Guardian's Learning Skill, Beacon of Learning +15, Rank Difference +30, Rank Difference +40, Rank Difference +50, Rank Difference +60, Rank Difference +70, Rank Difference -30, Rank Difference -40, Rank Difference -50, Rank Difference -60, Rank Difference -70, Allied +40, Intimidated by you +50, Terrified of you +100, Intimidated by you +10, Terrified of you +20, Your Court Grandeur +20, Your Court Grandeur +40, Won't give child to Feud House -200, Appropriate for Regent +50 and Wants to increase House Unity.
Will they accept?
Accepted automatically when:
- They use their Hook on …
Otherwise the AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.
| Reason | Amount |
|---|---|
| Base | -50 |
Weak Hook usedwhen
| +200 |
You … their Liegewhen
| +100 |
Guardian's Own Childwhen
| +100 |
Foreign Courtwhen
| -75 |
Sending Child to Foreign Courtwhen
| -100 |
Sending Child to a Vassal's Courtwhen
| -50 |
Being Educated by Familywhen
| +25 |
Converting culturewhen
| -100 |
Converting faithwhen
| -100 |
They is your Friendwhen
| +50 |
They is your Rivalwhen
| -50 |
The character you send are the true fatherwhen
| +100 |
| … Opinion of … | varies |
Not of the same Culturewhen
| -5 |
Not of the same Culturewhen
| -10 |
Your Tolerance Towards my Faithwhen
| varies |
Guardian's Diplomacy Skillwhen
| diplomacy |
Guardian's Martial Skillwhen
| martial |
Guardian's Stewardship Skillwhen
| stewardship |
Guardian's Intrigue Skillwhen
| intrigue |
Guardian's Learning Skillwhen
| learning |
Beacon of Learningwhen
| +15 |
Rank Differencewhen
| +30 |
Rank Differencewhen
| +40 |
Rank Differencewhen
| +50 |
Rank Differencewhen
| +60 |
Rank Differencewhen
| +70 |
Rank Differencewhen
| -30 |
Rank Differencewhen
| -40 |
Rank Differencewhen
| -50 |
Rank Differencewhen
| -60 |
Rank Differencewhen
| -70 |
Alliedwhen
| +40 |
Intimidated by youwhen
| +50 |
Terrified of youwhen
| +100 |
Intimidated by youwhen
| +10 |
Terrified of youwhen
| +20 |
Your Court Grandeurwhen
| +20 |
Your Court Grandeurwhen
| +40 |
Won't give child to Feud Housewhen
| -200 |
Appropriate for Regentwhen
| +50 |
Wants to increase House Unitywhen
| varies |
Acceptance (ai_accept) (264 lines of game script)
base = -50
modifier = {
scope:education_hook = yes
add = 200
scope:puppet_or_actor = {
NOT = {
has_strong_hook = scope:recipient
}
}
desc = SCHEME_WEAK_HOOK_USED
}
modifier = {
add = 100
scope:recipient = {
target_is_liege_or_above = scope:puppet_or_actor
}
desc = EDUCATE_CHILD_ACTOR_IS_MY_LIEGE
}
modifier = {
add = 100
scope:secondary_recipient ?= {
is_adult = no
is_child_of = scope:secondary_actor
}
desc = AI_GUARDIANS_OWN_CHILD
}
modifier = {
add = -75
scope:secondary_actor.court_owner = {
NOR = {
this = scope:recipient.court_owner
this = scope:secondary_recipient.court_owner
}
}
NOT = {
scope:secondary_recipient ?= {
is_child_of = scope:puppet_or_actor
}
}
NOT = {
scope:secondary_recipient ?= {
is_child_of = scope:recipient
}
}
NOT = {
scope:recipient = {
target_is_liege_or_above = scope:puppet_or_actor
}
}
desc = AI_FOREIGN_COURT
}
modifier = {
add = -100
scope:secondary_actor.court_owner = {
NOR = {
this = scope:recipient.court_owner
this = scope:secondary_recipient.court_owner
}
}
NOT = {
scope:secondary_recipient ?= {
is_child_of = scope:puppet_or_actor
}
}
scope:secondary_recipient ?= {
is_child_of = scope:recipient
}
NOR = {
scope:recipient = {
target_is_liege_or_above = scope:puppet_or_actor
}
scope:recipient = {
target_is_vassal_or_below = scope:puppet_or_actor
}
}
scope:recipient.top_liege != scope:puppet_or_actor.top_liege
desc = AI_CHILD_TO_FOREIGN_COURT
}
modifier = {
add = -50
scope:secondary_actor.court_owner = {
NOR = {
this = scope:recipient.court_owner
this = scope:secondary_recipient.court_owner
}
}
NOT = {
scope:secondary_recipient ?= {
is_child_of = scope:puppet_or_actor
}
}
scope:secondary_recipient ?= {
is_child_of = scope:recipient
}
scope:recipient = {
target_is_vassal_or_below = scope:puppet_or_actor
}
desc = AI_CHILD_TO_VASSAL_COURT
}
modifier = {
add = 25
scope:secondary_recipient ?= {
is_close_or_extended_family_of = scope:secondary_actor
}
desc = AI_CHILD_EDUCATED_BY_FAMILY
}
modifier = {
add = -100
scope:convert_culture = yes
scope:secondary_recipient.culture = scope:recipient.culture
desc = AI_CONVERT_CULTURE
}
modifier = {
add = -100
scope:convert_faith = yes
scope:secondary_recipient.rite = scope:recipient.rite
desc = AI_CONVERT_FAITH
}
modifier = {
add = 50
scope:recipient = {
has_relation_friend = scope:puppet_or_actor
}
desc = AI_YOUR_FRIEND
}
modifier = {
add = -50
scope:recipient = {
has_relation_rival = scope:puppet_or_actor
}
desc = AI_YOUR_RIVAL
}
modifier = {
add = 100
exists = scope:secondary_recipient.mother
scope:recipient = scope:secondary_recipient.mother
OR = {
scope:puppet_or_actor = {
any_known_secret = {
OR = {
secret_type = secret_unmarried_illegitimate_child
secret_type = secret_disputed_heritage
}
secret_target ?= scope:secondary_recipient
}
}
scope:secondary_recipient = {
has_trait = disputed_heritage
}
AND = {
scope:secondary_recipient = {
has_trait = bastard
}
NOT = {
exists = scope:secondary_recipient.father
}
}
}
exists = scope:secondary_recipient.real_father
scope:secondary_recipient.real_father = scope:secondary_actor
desc = AI_YOU_ARE_THE_FATHER
}
opinion_modifier = {
opinion_target = scope:puppet_or_actor
who = scope:recipient
multiplier = 1
desc = AI_OPINION_REASON
}
modifier = {
add = -5
trigger = {
scope:puppet_or_actor = {
this = scope:secondary_actor
culture = {
has_same_culture_heritage = scope:recipient.culture
}
NOT = {
has_same_culture_as = scope:recipient
}
}
}
desc = AI_NOT_CULTURE
}
modifier = {
add = -10
trigger = {
scope:puppet_or_actor = {
this = scope:secondary_actor
NOT = {
culture = {
has_same_culture_heritage = scope:recipient.culture
}
}
}
}
desc = AI_NOT_CULTURE
}
modifier = {
add = {
value = -5
if = {
limit = {
scope:recipient.faith = {
faith_hostility_level = {
target = scope:puppet_or_actor.faith
value >= faith_hostile_level
}
}
}
subtract = 5
}
if = {
limit = {
scope:recipient.faith = {
faith_hostility_level = {
target = scope:puppet_or_actor.faith
value >= faith_evil_level
}
}
}
subtract = 10
}
}
trigger = {
scope:recipient.faith != scope:puppet_or_actor.faith
}
desc = AI_RELIGION
}
compare_modifier = {
trigger = {
scope:secondary_actor = {
diplomacy >= 11
}
}
target = scope:secondary_actor
value = diplomacy
step = 4
multiplier = 0.75
offset = -5
min = 0
desc = AI_GUARDIAN_SKILL_DIPLOMACY
}
compare_modifier = {
trigger = {
scope:secondary_actor = {
martial >= 11
}
}
target = scope:secondary_actor
value = martial
step = 4
multiplier = 0.75
offset = -5
min = 0
desc = AI_GUARDIAN_SKILL_MARTIAL
}
compare_modifier = {
trigger = {
scope:secondary_actor = {
stewardship >= 11
}
}
target = sc
# … (cut here; the rest is in the file)As written in game/common/character_interactions/00_education_interactions.txt.
What happens
If they accept
If
scope:ward.age >= 15
Then
- … will soon be an adult
- The guardian:
set_relation_ward = scope:ward
- The ward:
If
- Never
One of these
- The character you target:
One of these
- Any realm province:
is_higher_studies_location = { }
or
Any realm county: The county has the modifier “Pandidakterion”
- Any realm province:
or
You:- Is the character you send
- Any realm province:
is_higher_studies_location = { }
- The character you target:
Then
- You:
remove_short_term_gold = { … }
If
- The university:
is_province_valid_confucian_education_trigger = { }
None of these
- The guardian: Has the Trait: Confucian Education
Then
- Gains the modifier “Studying Confucian Works”
- Confucian Education Trait Experience Gain +10%
- Confucian Opinion +5
- The university:
- Gains the modifier “Studying At University”
- General Opinion +5
- Learning +1
If
- The guardian: Has the Trait: Confucian Education
- The option “send to university” is not chosen
Then
- Gains the modifier “Studying Confucian Works”
- Confucian Education Trait Experience Gain +10%
- Confucian Opinion +5
- Has a chance to become a Disciple of …
- The ward › If any relation:
- The guardian to remove:
remove_relation_ward = scope:wardreturn_guardian_travel_effect = { GUARDIAN = scope:guardian_to_remove WARD = scope:ward }
- If never › The ward:
return_ward_travel_effect = { }
- Otherwise:
guardian_remove_opinion_effect = { GUARDIAN = scope:guardian_to_remove WARD = scope:ward WARD_LIEGE = scope:ward.liege }
- The guardian to remove:
If
One of these
scope:ward = scope:guardian.hostor
scope:guardian = scope:ward.hostor
The ward’s host is the guardian’sor
All of these
- The ward:
is_landed_or_landless_administrative_or_theocratic = { }
- The guardian:
is_landed_or_landless_administrative_or_theocratic = { }
- The ward:
Then
- The guardian › If played by the AI:
If
- The ward liege:
player_heir = scope:ward
- Is a direct vassal of the ward liege
- Is a ruler
has_vassal_stance = parochial
Then
Else if
- The ward liege: Is close family of the ward
- Is a direct vassal of the ward liege
- Is a ruler
has_vassal_stance = parochial
Then
- Opinion: Parochial Guardian of Your Relative
Else if
- The ward liege: Is close family of the ward
Then
- Opinion: Guardian of Your Relative
- The ward liege:
If
- Their liege: Is played by the AI
- Is not a ruler
- Is not a direct vassal of the ward liege
Then
- Their liege:
If
- The ward liege:
player_heir = scope:ward
- Is a direct vassal of the ward liege
- Is a ruler
has_vassal_stance = parochial
Then
Else if
- The ward liege: Is close family of the ward
- … (more in the script below)
- The ward liege:
- … (more in the script below)
- … (more in the script below)
- … (more in the script below)
If they refuse
- Event char_interaction.0081
- Opinion: Declined Guardianship (-15)
Options when sending
- Convert CultureAttempt to convert the character you send to the other character's Culture (…).
- Convert RiteAttempt to convert the character you send to the other character's Rite (…).
- Send to University
- Use a Hook
Events it fires: char_interaction.0080, char_interaction.0078, char_interaction.0079, char_interaction.0081
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
Who can use it and sees it (is_available, is_shown) (29 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
is_imprisoned = no
is_incapable = no
}
is_shown = scope:recipient = {
this != scope:puppet_or_actor
is_playable_character = yes
}
trigger_if = {
limit = {
exists = scope:secondary_recipient
}
scope:secondary_recipient = {
is_adult = no
}
}
trigger_if = {
limit = {
scope:puppet_or_actor = {
has_government = landless_adventurer_government
}
}
scope:recipient = {
is_courtier_of = scope:puppet_or_actor
}
}As written in game/common/character_interactions/00_education_interactions.txt.
Can be sent when (is_valid…) (118 lines of game script)
custom_description = {
text = character_to_educate_exists
object = scope:recipient
scope:recipient = {
OR = {
any_courtier = {
is_adult = no
}
AND = {
is_adult = no
}
}
}
}
custom_description = {
text = character_to_guard_exists
subject = scope:recipient
scope:recipient = {
OR = {
any_courtier = {
is_adult = yes
num_of_relation_ward < 2
}
AND = {
is_adult = yes
num_of_relation_ward < 2
}
}
}
}
NOT = {
scope:puppet_or_actor = {
is_at_war_with = scope:recipient
}
}
scope:recipient = {
is_imprisoned = no
bp2_valid_for_standard_interactions_trigger = yes
}
trigger_if = {
limit = {
exists = scope:secondary_recipient
}
scope:secondary_recipient = {
is_available = yes
is_imprisoned = no
bp2_valid_for_standard_interactions_trigger = yes
custom_tooltip = {
text = ward_travelling_tt
NOT = {
exists = var:ward_travelling_to_guardian
}
}
custom_tooltip = {
text = hostage_travelling_tt
NOT = {
exists = var:hostage_travelling_to_warden
}
}
trigger_if = {
limit = {
exists = var:ward_waiting_for_guardian
}
var:ward_waiting_for_guardian = {
custom_tooltip = {
text = guardian_travelling_tt
NOT = {
exists = scope:secondary_recipient.var:ward_waiting_for_guardian
}
}
}
}
}
}
trigger_if = {
limit = {
exists = scope:secondary_actor
}
scope:secondary_actor = {
is_imprisoned = no
custom_tooltip = {
text = guardian_travelling_tt
NOT = {
exists = var:guardian_travelling_to_ward
}
}
custom_tooltip = {
text = hostage_travelling_tt
NOT = {
exists = var:hostage_travelling_to_warden
}
}
trigger_if = {
limit = {
exists = var:guardian_waiting_for_ward
}
var:guardian_waiting_for_ward = {
custom_tooltip = {
text = ward_travelling_tt
NOT = {
exists = scope:secondary_actor.var:guardian_waiting_for_ward
}
}
}
}
}
}
trigger_if = {
limit = {
scope:puppet_or_actor = {
has_government = landless_adventurer_government
}
}
ep3_laamp_diplo_range_trigger = {
TARGET = scope:recipient
LAAMP = scope:puppet_or_actor
}
}As written in game/common/character_interactions/00_education_interactions.txt.
Effects (on_send, on_accept, on_decline) (137 lines of game script)
on_send = scope:secondary_recipient = {
add_character_flag = {
flag = under_offer_as_ward_flag
months = 1
}
}
scope:secondary_actor = {
add_character_flag = {
flag = under_offer_as_guardian_flag
months = 1
}
}
on_accept = scope:secondary_actor = {
save_scope_as = guardian
}
scope:puppet_or_actor = {
save_scope_as = guardian_liege
}
scope:secondary_recipient = {
save_scope_as = ward
}
scope:recipient = {
save_scope_as = ward_liege
}
scope:puppet_or_actor = {
if = {
limit = {
scope:education_hook ?= yes
has_usable_hook = scope:recipient
}
use_hook = scope:recipient
}
}
if = {
limit = {
scope:ward.age >= 15
}
custom_description_no_bullet = {
text = ward_nearing_adulthood_tt
object = scope:ward
}
}
show_as_tooltip = {
scope:guardian = {
set_relation_ward = scope:ward
}
educate_child_interaction_effect = yes
}
if = {
limit = {
scope:puppet_or_actor = {
is_ai = no
}
}
scope:ward = {
add_character_flag = player_educated
}
}
if = {
limit = {
scope:guardian = {
num_of_relation_ward < 2
}
}
save_scope_value_as = {
name = offer_guardianship_interaction
value = yes
}
scope:puppet_or_actor = {
if = {
limit = {
this != scope:recipient
}
trigger_event = char_interaction.0080
}
}
}
else = {
scope:recipient = {
trigger_event = char_interaction.0078
}
scope:puppet_or_actor = {
trigger_event = char_interaction.0079
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:puppet_or_actor
TARGET = scope:recipient
VALUE = miniscule_unity_gain
DESC = clan_unity_guardianship.desc
REVERSE_NON_HOUSE_TARGET = yes
}
accolade_ward_education_notification_effect = yes
on_decline = if = {
limit = {
NOT = {
scope:puppet_or_actor = {
has_opinion_modifier = {
target = scope:recipient
modifier = declined_guardianship_opinion
}
}
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:puppet_or_actor
TARGET = scope:recipient
VALUE = miniscule_unity_loss
DESC = clan_unity_guardianship_decline.desc
REVERSE_NON_HOUSE_TARGET = yes
}
}
scope:puppet_or_actor = {
trigger_event = char_interaction.0081
add_opinion = {
modifier = declined_guardianship_opinion
target = scope:recipient
opinion = -15
}
}
scope:recipient = {
if = {
limit = {
is_ai = no
}
add_character_flag = {
flag = ai_guardianship_ask_cooldown
years = 5
}
}
}
scope:secondary_recipient = {
remove_character_flag = under_offer_as_ward_flag
}
scope:secondary_actor = {
remove_character_flag = under_offer_as_guardian_flag
}As written in game/common/character_interactions/00_education_interactions.txt.
- Category
- Friendly actions
- In the menu
- under More…
- ID
offer_guardianship_interaction
Source: game/common/character_interactions/00_education_interactions.txt and the English localisation, Crusader Kings III 1.20.1.2. “You” is the character who sends it (scope:actor, or a puppet acting for you); “the character you target” is the recipient.