CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Interaction · Vassal actions

Debt Relief

No costThe AI weighs it

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

To see it in the menu

  • You have Treasury
  • If played by the AI:
    • Treasury more than 1000
    • Is an Adult
  • One of these

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.

for a guide, post or blog
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.

ReasonAmount
Base+20
House Relation Level
when
  • Your house is not the target’s
  • Your house › Any house relation: Any relation house:
varies
They is your Rival
when
  • The character you target:
    • Has you as rival
    • Does not have you as nemesis
-10
They is your Nemesis
when
  • The character you target: Has you as nemesis
-50
Is in Debt
when
  • One of these

    • debt_level = 1
    • or

      treasury_debt_level = 1
+10
Is in Debt
when
  • One of these

    • debt_level = 2
    • or

      treasury_debt_level = 2
+25
Is in Debt
when
  • One of these

    • debt_level = 3
    • or

      treasury_debt_level = 3
+40
Is in Debt
when
  • One of these

    • debt_level = 4
    • or

      treasury_debt_level = 4
+60
Is in Debt
when
  • One of these

    • debt_level = 5
    • or

      treasury_debt_level = 5
+100
Is in Debt
when
  • One of these

    • Debt level at least 6
    • or

      Treasury debt level at least 6
+200
Asking for a Strong Hook
when
  • The option “strong hook” is chosen
-50
Asking for a Weak Hook
when
  • The option “weak hook” is chosen
-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 a check the game hides passes: the same again (1 line)
          Else if a check the game hides passes: the same again (1 line)
          Else if a check the game hides passes: the same again (1 line)

          Otherwise

        • If

          • has_activity_intent = befriend_attendee_intent
          • intent_target ?= scope:target_char
          • intent_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:

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).

Spotted a mistake on this page?