Interaction · Vassal actions
Debt Relief
Clear the recipient's Treasury Debt (…)
What you need
You
To send it
treasury >= { value = scope:recipient.treasury multiply = -1 }- You have to select at least one option
The character you target
To send it
- Treasury at most 0
To see it in the menu
top_liege ?= scope:actor.top_liege- Has Treasury
- Otherwise:
top_liege = scope:actor
Debt Relief is a vassal character interaction in Crusader Kings III. You need: You have to select at least one option. The character you target needs: Treasury at most 0. The AI weighs it. Reasons the AI weighs include They is your Rival (-10), They is your Nemesis (-50), Is in Debt (+10) and 7 more. Patch 1.20.1.2, from game/common/character_interactions/10_tgp_interactions.txt.
Quick answers (2)
- What are the requirements for Debt Relief in CK3?
- You: You have to select at least one option. The character you target: Treasury at most 0. (patch 1.20.1.2)
- How do I get the AI to accept Debt Relief?
- The AI weighs it. Its reasons: House Relation Level, They is your Rival -10, They is your Nemesis -50, Is in Debt +10, Is in Debt +25, Is in Debt +40, Is in Debt +60, Is in Debt +100, Is in Debt +200, Asking for a Strong Hook -50 and Asking for a Weak Hook -25.
Will they accept?
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 | +20 |
House Relation Levelwhen
| varies |
They is your Rivalwhen
| -10 |
They is your Nemesiswhen
| -50 |
Is in Debtwhen
| +10 |
Is in Debtwhen
| +25 |
Is in Debtwhen
| +40 |
Is in Debtwhen
| +60 |
Is in Debtwhen
| +100 |
Is in Debtwhen
| +200 |
Asking for a Strong Hookwhen
| -50 |
Asking for a Weak Hookwhen
| -25 |
Acceptance (ai_accept) (89 lines of game script)
base = 20
house_relation_ai_accept_modifiers = {
HOUSE_1_MEMBER = scope:actor
HOUSE_2_MEMBER = scope:recipient
MULTIPLIER = 1
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_rival_tt
trigger = {
scope:recipient = {
has_relation_rival = scope:actor
NOT = {
has_relation_nemesis = scope:actor
}
}
}
add = -10
}
modifier = {
desc = offer_vassalization_interaction_aibehavior_nemesis_tt
trigger = {
scope:recipient = {
has_relation_nemesis = scope:actor
}
}
add = -50
}
modifier = {
add = 10
OR = {
debt_level = 1
treasury_debt_level = 1
}
desc = PT_AI_IS_IN_DEBT
}
modifier = {
add = 25
OR = {
debt_level = 2
treasury_debt_level = 2
}
desc = PT_AI_IS_IN_DEBT
}
modifier = {
add = 40
OR = {
debt_level = 3
treasury_debt_level = 3
}
desc = PT_AI_IS_IN_DEBT
}
modifier = {
add = 60
OR = {
debt_level = 4
treasury_debt_level = 4
}
desc = PT_AI_IS_IN_DEBT
}
modifier = {
add = 100
OR = {
debt_level = 5
treasury_debt_level = 5
}
desc = PT_AI_IS_IN_DEBT
}
modifier = {
add = 200
OR = {
debt_level >= 6
treasury_debt_level >= 6
}
desc = PT_AI_IS_IN_DEBT
}
modifier = {
trigger = {
scope:strong_hook ?= yes
}
add = -50
desc = ASKING_FOR_STRONG_HOOK_ACCEPTANCE_TT
}
modifier = {
trigger = {
scope:weak_hook ?= yes
}
add = -25
desc = ASKING_FOR_WEAK_HOOK_ACCEPTANCE_TT
}As written in game/common/character_interactions/10_tgp_interactions.txt.
What happens
If they accept
pay_short_term_treasury = { … }If
- The option “strong hook” is chosen
Then
- Gain a Saved from Bankruptcy on the target
If
- The option “weak hook” is chosen
Then
- Gain a Indebted on the target
If
- The option “kindness” is chosen
Then
- The character you target:
If
- Has the target char as potential friend
- Does not have the target char as friend
- Does not have the target char as best friend
- Does not have the target char as rival
- Does not have the target char as nemesis
Then
If
has_activity_intent = befriend_attendee_intentintent_target ?= scope:target_charintent_target.involved_activity ?= this.involved_activity
Then
complete_activity_intent = yes
Otherwise
If
- Does not have the target char as potential friend
- Does not have the target char as friend
- Does not have the target char as best friend
- Does not have the target char as rival
- Does not have the target char as nemesis
If
- Is played by the AI
- The target char: Is played by the AI
Then
- The target char: Opinion of prev at least -25
Otherwise
always = yes
Then
set_relation_potential_friend = scope:target_char
If
scope:friend_opinion != 0
Then
If
- The target char: Is played by the AI
Then
- The target char gains the opinion “Friendly” of them
- Opinion: Friendly
- Influence +100
- Dynastic Cycle:
If
- The current phase counts “Minister or Son of Heaven cleared Treasury Debt”
- Any situation participant:
Then
- Counts toward the situation's next phase: “Minister or Son of Heaven cleared Treasury Debt”
Options when sending
- Request a Strong Hook
- Request a Weak Hook
- Request nothing at all
• 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) (36 lines of game script)
is_available = has_treasury = yes
trigger_if = {
limit = {
is_ai = yes
}
treasury > 1000
is_adult = yes
}
is_shown = scope:actor = {
OR = {
has_title = title:e_minister_of_war
has_title = title:e_minister_of_revenue
this = scope:recipient.top_liege
}
}
scope:recipient = {
top_liege ?= scope:actor.top_liege
has_treasury = yes
trigger_if = {
limit = {
title:e_minister_of_revenue.holder ?= scope:actor
NOT = {
vassal_contract_has_flag = celestial_military_appointment
}
}
}
trigger_else_if = {
limit = {
title:e_minister_of_war.holder ?= scope:actor
vassal_contract_has_flag = celestial_military_appointment
}
}
trigger_else = {
top_liege = scope:actor
}
}As written in game/common/character_interactions/10_tgp_interactions.txt.
Can be sent when (is_valid…) (17 lines of game script)
scope:recipient = {
treasury <= 0
}
scope:actor = {
treasury >= {
value = scope:recipient.treasury
multiply = -1
}
}
custom_tooltip = {
text = HAS_NO_OPTION_SELECTED
OR = {
scope:strong_hook = yes
scope:weak_hook = yes
scope:kindness = yes
}
}As written in game/common/character_interactions/10_tgp_interactions.txt.
Effects (on_send, on_accept, on_decline) (54 lines of game script)
on_accept = scope:actor = {
pay_short_term_treasury = {
target = scope:recipient
treasury = {
value = scope:recipient.treasury
multiply = -1
}
}
if = {
limit = {
scope:strong_hook = yes
}
add_hook = {
type = strong_indebted_hook
target = scope:recipient
}
}
if = {
limit = {
scope:weak_hook = yes
}
add_hook = {
type = indebted_hook
target = scope:recipient
}
}
if = {
limit = {
scope:kindness = yes
}
scope:recipient = {
progress_towards_friend_effect = {
REASON = friend_paid_debt
CHARACTER = scope:actor
OPINION = default_friend_opinion
}
}
}
change_influence = major_influence_value
}
situation:dynastic_cycle ?= {
if = {
limit = {
situation_top_has_catalyst = catalyst_cleared_treasury_debt
any_situation_participant = {
this = scope:recipient
}
}
trigger_situation_catalyst = {
catalyst = catalyst_cleared_treasury_debt
character = scope:actor
}
}
}As written in game/common/character_interactions/10_tgp_interactions.txt.
- Category
- Vassal actions
- In the menu
- under More…
- ID
pay_treasury_debt_interaction
Source: game/common/character_interactions/10_tgp_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).