Interaction · Diarch
… Revoke Title
Take a Title from the recipient, despite not being … Liege This will incur Strife with your fellow Vassals
What you need
You
To send it
- You:
- Is not at war with the target
NOT = { has_truce = scope:recipient }
- The character you target: Does not have a Strong Hook on you
- They … too preoccupied to act as … right now
- Your Liege is not in an Entrenched Regency
If
- You:
is_diarch = yes
Then
- Your liege:
has_diarchy_active_parameter = unlock_diarch_revoke_title_interaction
- You:
None of these
- You:
is_at_war_with = scope:actor.liege
- You:
To see it in the menu
- If played by the AI:
is_diarch = yes- Your liege:
has_realm_law_flag = title_revocation_allowed
- Loyalty less than 75
- Your liege:
has_diarchy_parameter = unlock_diarch_revoke_title_interaction
One of these
is_designated_diarch = yesor
All of these
is_diarch_of_target = liegeexists = liege
The character you target
liege ?= scope:actor.liegeOne of these
- Is landed
or
All of these
- they has administrative government mechanic
- Is not landed
If
a check the game hides
Then
- Their house: Has the house check as house head
- Has a domicile
or
All of these
- Their liege:
All of these
- Holds China
- Government is Celestial
- Their government has the government uses ministry budget flag
- Their liege:
or
All of these
- Is a ruler
- Government is a Theocratic-type Government
scope:recipient.highest_held_title_tier >= tier_county
Which title you can pick
- The target:
- Is not contested in a War.
NOT = { recent_history = { type = granted years = 1 } }- … controls a Faith
- … must not be a Clerical Title
- … must not be a Cardinalate
- … must not be a Challenger Head of Faith Title
- This is a special Title and cannot be revoked
… Revoke Title is a diarch character interaction in Crusader Kings III. You need: They … too preoccupied to act as … right now and Your Liege is not in an Entrenched Regency. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Weak Hook used (+40), Refusal is Treason (+20), … is your De Jure Capital (+50) and 3 more. Patch 1.20.1.2, from game/common/character_interactions/00_diarch_interactions.txt.
Quick answers (2)
- What are the requirements for … Revoke Title in CK3?
- You: They … too preoccupied to act as … right now and Your Liege is not in an Entrenched Regency. (patch 1.20.1.2)
- How do I get the AI to accept … Revoke Title?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Weak Hook used +40, … Opinion of …, Refusal is Treason +20, … is your De Jure Capital +50, The recipient … of the … Tier -20, … belongs to the recipient's De Jure -25, Intimidated by you, Terrified of you, Difference in your Military Strength (max +20) and Legalistic Customs +20.
Will they accept?
Accepted automatically when:
- The character you target:
2 of these 3
- Prisoners in your Dungeon cannot refuse Revocation
- They use their Hook on …
- … cannot refuse Revocation while Imprisoned by someone else
Otherwise the AI adds these up and accepts above zero; near zero the answer is partly random (ai_maybe). Reasons in italics are the script's, with no label in the game.
| Reason | Amount |
|---|---|
| Base | 0 |
Weak Hook usedwhen
| +40 |
| … Opinion of … | varies |
| Refusal is Treason | +20 |
… is your De Jure Capitalwhen
| +50 |
| The recipient … of the … Tier | -20 |
… belongs to the recipient's De Jurewhen
| -25 |
Intimidated by youwhen
| intimidated_halved_reason_value |
Terrified of youwhen
| cowed_halved_reason_value |
Difference in your Military Strength (max +20)when
| varies |
| Legalistic Customs | +20 |
| Their personality (AI values: greed (scripted), honor (scripted)) | varies |
A scripted reasonwhen
| +100 |
Acceptance (ai_accept) (126 lines of game script)
base = 0
modifier = {
add = 40
desc = SCHEME_WEAK_HOOK_USED
scope:hook = yes
}
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 0.8
desc = AI_OPINION_REASON
}
modifier = {
add = 20
desc = AI_REFUSAL_IS_TREASON
}
modifier = {
add = 50
desc = AI_TITLE_IS_REALM_CAPITAL
exists = scope:actor.primary_title.title_capital_county
OR = {
scope:landed_title = scope:actor.primary_title.title_capital_county
scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege
}
}
modifier = {
add = -20
desc = offer_vassalization_interaction_aibehavior_hightier_tt
scope:recipient = {
highest_held_title_tier = tier_kingdom
}
}
modifier = {
add = -25
desc = AI_REFUSAL_IS_DE_JURE_UNDER
OR = {
scope:recipient.primary_title = {
is_de_jure_liege_or_above_target = scope:landed_title
}
scope:recipient.primary_title = scope:landed_title
}
}
modifier = {
add = intimidated_halved_reason_value
desc = INTIMIDATED_REASON
scope:recipient = {
has_dread_level_towards = {
target = scope:actor
level = 1
}
}
}
modifier = {
add = cowed_halved_reason_value
desc = COWED_REASON
scope:recipient = {
has_dread_level_towards = {
target = scope:actor
level = 2
}
}
}
modifier = {
add = {
value = 1
subtract = {
value = scope:recipient.max_military_strength
divide = {
value = scope:actor.max_military_strength
min = 1
}
}
multiply = 50
max = 20
}
desc = offer_vassalization_interaction_aibehavior_power_tt
scope:actor = {
is_landed_or_landless_administrative_or_theocratic = yes
}
}
modifier = {
add = legalistic_vassal_punishment_acceptance
desc = tradition_legalistic_name
scope:actor = {
has_revoke_title_reason = scope:recipient
culture = {
has_cultural_parameter = vassals_more_likely_accept_punishments
}
}
}
ai_value_modifier = {
who = scope:recipient
ai_greed = {
if = {
limit = {
scope:recipient = {
NOT = {
ai_greed = 0
}
}
}
value = -0.75
}
}
ai_honor = {
if = {
limit = {
scope:recipient = {
ai_honor > 0
}
}
value = 0.5
}
}
}
modifier = {
add = 100
scope:actor = {
is_ruler = no
}
scope:recipient = {
any_held_county = {
count >= 2
}
}
}As written in game/common/character_interactions/00_diarch_interactions.txt.
What happens
If they accept
- … … … and its Vassals
- Event char_interaction.0262
If
- The character you target:
- Their faith is the same as that of puppet or actor
- Government is a Theocratic-type Government
scope:puppet_or_actor != scope:puppet_or_actor.faith.religious_head
Then
- You: Gain -250 Piety
If
a check the game hides
Then
- Your faith’s religious head: Opinion: Impious (-20)
- The character you target:
If
scope:landed_title.tier != tier_barony- The character you target: Their government is not unplayable
Then
- You:
If
a check the game hides
Then
If
has_revoke_title_reason = scope:recipient
Then
consume_revoke_title_reason = scope:recipient
Otherwise
change_strife_opinion = major_strife_gain
Else if
None of these
exists = scope:administrative_revocationhas_revoke_title_reason = scope:recipientIf
a check the game hides
Then
has_claim_on = scope:landed_title
title_revocation_is_admin_governor_trigger = { VASSAL = scope:recipient }All of these
- The character you target:
NOT = { vassal_contract_has_flag = religiously_protected }
One of these
or
- The character you target:
Then
- Tyranny +20
If
- Has Legitimacy
None of these
- The landed title:
duchy = scope:liege_temp_scope.capital_county.duchy
- The landed title:
Then
- Loses 100 Legitimacy
- If their culture is not the same as that of recipient › The target’s culture:
change_cultural_acceptance = { target = scope:liege_temp_scope.culture value = revoke_title_culture_acceptance_impact desc = cultural_acceptance_loss_revokation }
Otherwise
If
- they has administrative government mechanic
- Is an Independent Ruler
- The character you target:
- they has administrative government mechanic
- Is a vassal (or below) of the liege temp
Then
Else if
has_claim_on = scope:landed_title
Then
Else if
has_revoke_title_reason = scope:recipient
Then
Else if
- Their rite:
- Their faith:
faith_hostility_level = { target = scope:recipient.faith value >= faith_hostile_level }
Then
If
Then
- Every ⟨faith⟩ vassal:
- Where: Their faith is the same as that of recipient
- Opinion: Angry (-20)
If
None of these
exists = scope:administrative_revocationhas_revoke_title_reason = scope:recipientIf
a check the game hides
Then
has_claim_on = scope:landed_title
title_revocation_is_admin_governor_trigger = { VASSAL = scope:recipient }All of these
- The character you target:
NOT = { vassal_contract_has_flag = religiously_protected }
- The character you target:
- … (more in the script below)
- … (more in the script below)
- … (more in the script below)
When it is accepted automatically
- The character you target: Event char_interaction.0261
If they refuse
- Event char_interaction.0263
- 1 of 2 things will happen:
- 50% – If … … down › You:
- If played by a person: Crime — You are allowed to rightfully imprison …, if the opportunity presents itself
- Otherwise: Opinion: Refused Borrowed Power Demand
- Their liege:
- If played by a person: Crime — You are allowed to rightfully imprison …
- Otherwise: Opinion: Refused Borrowed Power Demand
- 50% – If … … the claim:
start_war = { … }
- 50% – If … … down › You:
- The character you target: Opinion: Revoked My Title
Options when sending
- Use a Hook
Events it fires: char_interaction.0262, diarchy.0141, char_interaction.0263, char_interaction.0261
• 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) (27 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
is_diarch = yes
liege ?= {
has_realm_law_flag = title_revocation_allowed
}
diarch_loyalty < diarch_loyalty_visibly_loyal_threshold
}
liege ?= {
has_diarchy_parameter = unlock_diarch_revoke_title_interaction
}
OR = {
is_designated_diarch = yes
AND = {
is_diarch_of_target = liege
exists = liege
}
}
is_shown = scope:actor != scope:recipient
scope:recipient = {
liege ?= scope:actor.liege
this != scope:actor.liege
is_landed_or_landless_administrative_or_theocratic = yes
scope:recipient.highest_held_title_tier >= tier_county
}As written in game/common/character_interactions/00_diarch_interactions.txt.
Can be sent when (is_valid…) (77 lines of game script)
title_revocation_standard_valid_showing_failures_only_trigger = yes
diarch_cannot_be_disabled_trigger = {
DIARCH = scope:actor
}
scope:actor.liege = {
trigger_if = {
limit = {
government_has_flag = government_is_tribal
}
custom_description = {
text = liege_has_law_allowing_title_revocation_tribal
has_realm_law_flag = title_revocation_allowed
}
}
trigger_else_if = {
limit = {
government_has_mechanic = administrative
}
custom_description = {
text = cannot_diarch_revoke_administrative_titles
always = no
}
}
trigger_else = {
custom_description = {
text = liege_has_law_allowing_title_revocation_crown
has_realm_law_flag = title_revocation_allowed
}
}
}
trigger_if = {
limit = {
scope:recipient = {
vassal_contract_has_flag = vassal_contract_cannot_revoke_titles
}
}
custom_description = {
text = liege_vassal_contract_forbids_revocation
object = scope:recipient
scope:recipient = {
NOT = {
vassal_contract_has_flag = vassal_contract_cannot_revoke_titles
}
}
}
}
diarch_revocation_has_claim_check_trigger = yes
custom_tooltip = {
text = diarch_interactions.tt.you_must_be_in_an_entrenched_regency_to_access
scope:actor = {
is_diarch = yes
}
}
trigger_if = {
limit = {
scope:actor = {
is_diarch = yes
}
}
scope:actor.liege ?= {
has_diarchy_active_parameter = unlock_diarch_revoke_title_interaction
}
}
NOT = {
scope:actor = {
is_at_war_with = scope:actor.liege
}
}
scope:actor != scope:intermediary
scope:actor = {
custom_description = {
text = character_interactions_hostile_actions_disabled_delay
NOT = {
has_character_flag = flag_hostile_actions_disabled_delay
}
}
}As written in game/common/character_interactions/00_diarch_interactions.txt.
Effects (on_send, on_accept, on_decline) (106 lines of game script)
on_send = scope:actor = {
add_character_flag = {
flag = flag_hostile_actions_disabled_delay
days = 10
}
}
log_diarch_send_interaction_as_variable_effect = {
INTERACTION = revoke
}
on_accept = scope:actor = {
custom_tooltip = diarch_revoke_title_interaction.tt.gain_title
}
save_scope_value_as = {
name = revoke_title_interaction
value = yes
}
scope:actor = {
trigger_event = char_interaction.0262
}
save_scope_value_as = {
name = use_strife_not_tyranny
value = yes
}
revoke_title_interaction_effect = yes
scope:actor = {
clear_hostile_actions_lock_flag_effect = yes
}
hidden_effect = {
scope:actor = {
if = {
limit = {
is_landed_or_landless_administrative_or_theocratic = no
scope:intermediary != scope:recipient
}
trigger_event = {
id = diarchy.0141
days = 1
}
}
}
}
debug_log = debug_log.diarch_revoke_title.accepted
scope:actor = {
diarch_interaction_set_or_update_global_variable_effect = {
VARIABLE = di_track_revoke_accept
}
diarch_interaction_add_to_global_list_effect = {
VARIABLE_LIST = di_track_revoke_accept_actor_list
}
}
scope:recipient = {
diarch_interaction_add_to_global_list_effect = {
VARIABLE_LIST = di_track_revoke_accept_recipient_list
}
}
scope:intermediary = {
diarch_interaction_add_to_global_list_effect = {
VARIABLE_LIST = di_track_revoke_accept_intermediary_list
}
}
on_decline = scope:actor = {
trigger_event = char_interaction.0263
show_as_tooltip = {
random_list = {
50 = {
show_chance = no
desc = char_interaction.0263.result.criminal
diarch_declare_recipient_criminal_effect = yes
}
50 = {
show_chance = no
desc = char_interaction.0263.result.war
diarch_declare_claim_war_effect = yes
}
}
}
clear_hostile_actions_lock_flag_effect = yes
}
scope:recipient = {
add_opinion = {
target = scope:actor
modifier = revoked_title
}
}
debug_log = debug_log.diarch_revoke_title.rejected
scope:actor = {
diarch_interaction_set_or_update_global_variable_effect = {
VARIABLE = di_track_revoke_reject
}
diarch_interaction_add_to_global_list_effect = {
VARIABLE_LIST = di_track_revoke_reject_actor_list
}
}
scope:recipient = {
diarch_interaction_add_to_global_list_effect = {
VARIABLE_LIST = di_track_revoke_reject_recipient_list
}
}
scope:intermediary = {
diarch_interaction_add_to_global_list_effect = {
VARIABLE_LIST = di_track_revoke_reject_intermediary_list
}
}
on_auto_accept = scope:recipient = {
trigger_event = char_interaction.0261
}As written in game/common/character_interactions/00_diarch_interactions.txt.
- Category
- Diarch
- Cooldown
- 1 year
- Again on the same character
- after 3 years
- In the menu
- under More…
- ID
diarch_revoke_title_interaction
Source: game/common/character_interactions/00_diarch_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. “…” marks words the game fills in at play time (a name, a title).