Interaction · Vassal actions
Ask for Pardon
Ask your Top Liege to pardon your Crimes to clear any Imprisonment Reasons, Banishment Reasons, Title Revocation Reasons or Execution Reasons targeting you
What you need
You
To send it
- Is not at war with the target
- Is not imprisoned by the target
To see it in the menu
- You:
- Is an Independent Ruler
- Any liege or above:
One of these
has_imprisonment_reason = scope:actoror
has_banish_reason = scope:actoror
has_execute_reason = scope:actoror
has_revoke_title_reason = scope:actor
One of these
root.top_liege ?= scope:recipientor
The character you target:top_liege ?= scope:actor.top_liege- Holds Ministry of Justice
Ask for Pardon is a vassal character interaction in Crusader Kings III. You need: Is not at war with the target and Is not imprisoned by the target. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Your Crime warrants Banishment (-20), Your Crime warrants Title Revocation (-30) and Your Crime warrants Execution (-40). Patch 1.20.1.2, from game/common/character_interactions/00_vassal_interactions.txt.
Quick answers (2)
- What are the requirements for Ask for Pardon in CK3?
- You: Is not at war with the target and Is not imprisoned by the target. (patch 1.20.1.2)
- How do I get the AI to accept Ask for Pardon?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Your Crime warrants Banishment -20, Your Crime warrants Title Revocation -30, Your Crime warrants Execution -40 and … Opinion of ….
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 |
Your Crime warrants Banishmentwhen
| -20 |
Your Crime warrants Title Revocationwhen
| -30 |
Your Crime warrants Executionwhen
| -40 |
| … Opinion of … | varies |
Acceptance (ai_accept) (35 lines of game script)
base = -50
modifier = {
scope:recipient = {
has_banish_reason = scope:actor
NOR = {
has_execute_reason = scope:actor
has_revoke_title_reason = scope:actor
}
}
desc = AI_BANISHMENT_REASON_MODIFIER
add = -20
}
modifier = {
scope:recipient = {
has_revoke_title_reason = scope:actor
NOT = {
has_execute_reason = scope:actor
}
}
desc = AI_REVOKE_TITLE_REASON_MODIFIER
add = -30
}
modifier = {
scope:recipient = {
has_execute_reason = scope:actor
}
desc = AI_EXECUTE_REASON_MODIFIER
add = -40
}
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 1
desc = AI_OPINION_REASON
}As written in game/common/character_interactions/00_vassal_interactions.txt.
What happens
If they accept
- You:
- Every liege or above:
If
has_imprisonment_reason = scope:puppet_or_actor
Then
consume_imprisonment_reasons = scope:puppet_or_actor
If
has_banish_reason = scope:puppet_or_actor
Then
consume_banish_reasons = scope:puppet_or_actor
If
has_execute_reason = scope:puppet_or_actor
Then
consume_execute_reasons = scope:puppet_or_actor
If
has_revoke_title_reason = scope:puppet_or_actor
Then
consume_revoke_title_reason = scope:puppet_or_actor
- Stress and fulfillment impact: by trait: Stubborn +20
- Every liege or above:
- You:
If
- Their liege:
- Holds China
- Government is Celestial
- Their government has the government uses ministry budget flag
Then
If
- The character you target:
One of these
- Their liege:
has_extra_criminal_reason_against_trigger = { CRIMINAL = scope:recipient }
or
Is family of you
- Their liege:
Then
change_strife_opinion = massive_strife_gainIf
NOT = { scope:hook ?= yes }
Then
- Dynastic Cycle: Counts toward the situation's next phase: “Minister of Justice pardoned dangerous Criminal”
Otherwise
- If government uses Influence:
change_influence = { value = minor_influence_gain multiply = scope:recipient.highest_held_title_tier }
- The character you target:
- Their liege:
- Event vassal_interaction.0030
- The character you target:
If
- Their culture: The Culture has the The Grant Pardon Interaction gives Prestige Tradition
Then
- Gain +75 Prestige
If
Then
- Your house:
add_unity_value = { … }
- Your house:
When it is accepted automatically
- The character you target: Event char_interaction.0240
If they refuse
Options when sending
- Use a Hook
Events it fires: vassal_interaction.0030, char_interaction.0240
• 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) (10 lines of game script)
is_shown = ask_for_pardon_available_trigger = {
ACTOR = scope:actor
}
OR = {
scope:actor.top_liege ?= scope:recipient
scope:recipient = {
top_liege ?= scope:actor.top_liege
has_title = title:e_minister_of_justice
}
}As written in game/common/character_interactions/00_vassal_interactions.txt.
Can be sent when (is_valid…) (8 lines of game script)
scope:actor = {
NOT = {
is_at_war_with = scope:recipient
}
NOT = {
is_imprisoned_by = scope:recipient
}
}As written in game/common/character_interactions/00_vassal_interactions.txt.
Effects (on_send, on_accept, on_decline) (73 lines of game script)
on_accept = ask_for_pardon_interaction_effect = yes
scope:actor = {
trigger_event = vassal_interaction.0030
}
scope:recipient = {
if = {
limit = {
culture = {
has_cultural_parameter = pardoning_gives_prestige
}
}
add_prestige = minor_prestige_gain
}
add_merit_if_relevant_effect = {
MERIT = minor_merit_value
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = minor_unity_gain
DESC = clan_unity_pardon_granted.desc
REVERSE_NON_HOUSE_TARGET = no
}
hidden_effect = {
if = {
limit = {
fp3_struggle_involves_one_supporter_and_one_detractor = {
FIRST = scope:actor
SECOND = scope:recipient
}
scope:recipient = {
any_character_struggle = {
involvement = involved
phase_has_catalyst = catalyst_grants_pardon_supporter_detractor
is_secondary_character_involvement_involved_trigger = {
CHAR = scope:actor
}
}
}
}
scope:recipient = {
every_character_struggle = {
involvement = involved
activate_struggle_catalyst = {
catalyst = catalyst_grants_pardon_supporter_detractor
character = scope:recipient
}
log_debug_variable_for_persian_struggle_effect = {
VAR = concession_catalyst_grants_pardon_supporter_detractor
}
}
}
}
}
on_decline = scope:recipient = {
send_interface_toast = {
type = event_toast_effect_bad
title = ask_for_pardon_interaction_decline_toast
left_icon = scope:actor
custom_tooltip = ask_for_pardon_interaction_accept_decline
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:recipient
TARGET = scope:actor
VALUE = minor_unity_loss
DESC = clan_unity_refused_pardon.desc
REVERSE_NON_HOUSE_TARGET = no
}
on_auto_accept = scope:recipient = {
trigger_event = char_interaction.0240
}As written in game/common/character_interactions/00_vassal_interactions.txt.
- Category
- Vassal actions
- In the menu
- under More…
- ID
ask_for_pardon_interaction
Source: game/common/character_interactions/00_vassal_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.