Interaction · Friendly actions
Send Gift
Send a Gift to increase the recipient's opinion of you
What you need
You
To send it
root.gold >= gift_value- In some cases (on a condition the game doesn't show): … can only send a gift once every 5 years (… remaining)
To see it in the menu
- If played by the AI:
- Ai greed less than 35
short_term_gold >= gift_interaction_cutoffNot all of these
- Is landed
- Highest held Title is at least County Rank
- Does not have “conqueror” (a variable the game's script sets)
- Your government is not Nomadic
One of these
capital_county.title_province.free_building_slots > 0or
All of these
- Your culture:
has_innovation = innovation_ledger
capital_county.title_province.combined_building_level <= 4
- Your culture:
or
All of these
- Your culture:
has_innovation = innovation_baliffs
capital_county.title_province.combined_building_level <= 6
- Your culture:
or
All of these
- Your culture:
has_innovation = innovation_guilds
capital_county.title_province.combined_building_level <= 9
- Your culture:
or
All of these
- Your culture:
has_innovation = innovation_cranes
capital_county.title_province.combined_building_level <= 12
- Your culture:
- Is available (an adult, not imprisoned, not incapable, not in an army)
- Has none of the traits: Consumption, Typhus, Bubonic Plague, Smallpox, Measles, Bloody Flux
- You are currently busy …
- You are already planning another Activity
- Does not have the Trait: Greedy
- Does not have “conqueror” (a variable the game's script sets)
If
a check the game hides
Then
- Loan holder is not scope:recipient
If
- The target is you
Then
- Is a ruler
The character you target
- Is not imprisoned by you
Send Gift is a friendly character interaction in Crusader Kings III. The character you target needs: Is not imprisoned by you. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Gold is Good (+100). Patch 1.20.1.2, from game/common/character_interactions/00_gift.txt.
Quick answers (2)
- What are the requirements for Send Gift in CK3?
- The character you target: Is not imprisoned by you. (patch 1.20.1.2)
- How do I get the AI to accept Send Gift?
- Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Gold is Good +100 and Struggle agenda.
Will they accept?
Accepted automatically when:
- It is in … best interests
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 | 0 |
| Gold is Good | +100 |
Struggle agendawhen
| varies |
Acceptance (ai_accept) (38 lines of game script)
base = 0
modifier = {
add = 100
desc = GOLD_REASON
}
modifier = {
desc = AI_STRUGGLE_INTENT
scope:recipient = {
top_liege = this
any_character_struggle = {
involvement = involved
}
}
add = {
value = 0
if = {
limit = {
scope:recipient = {
any_character_struggle = {
phase_has_catalyst = catalyst_gift_independent_ruler
}
has_character_flag = agenda_towards_escalation
}
}
add = -100
}
else_if = {
limit = {
scope:recipient = {
any_character_struggle = {
phase_has_catalyst = catalyst_gift_independent_ruler
}
}
}
add = 200
}
}
}As written in game/common/character_interactions/00_gift.txt.
What happens
If they accept
- The character you target:
If
Not all of these
- Has you as friend
- Has you as lover
- Has you as soulmate
- Has you as best friend
Then
If
Not all of these
- Their culture is the same as that of puppet or actor
- Their faith is the same as that of puppet or actor
- You › Any character struggle:
involvement = involved
- Any character struggle:
involvement = involvedhas_struggle_phase_parameter = struggle_gifts_involved_diff_faith_culture_leads_to_friendship
Then
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
can_set_relation_potential_friend_trigger = { CHARACTER = scope:target_char }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
If
- You:
If
a check the game hides
Then
- Your house: Has the house check as house head
- The character you target:
If
a check the game hides
Then
- Their house: Has the house check as house head
NOT = { has_opinion_modifier = { target = scope:puppet_or_actor modifier = gift_opinion } }
Then
- The target’s house:
If
a check the game hides
Then
impact_house_relation = { target = scope:other_house steps = scope:steps description = house_relation_reason_sent_a_gift_desc }
- You:
- Pay 50 gold to the target
- Stress and fulfillment impact: by trait: Greedy +40
If
- The character you target: Is not an heir of you
Then
- Stress and fulfillment impact: by trait: Generous -30
If
- You: Your Personal Tenets unlock tenet simony personal gifts
Then
- Loses 20 Stress
- Spiritual fulfillment +1
If
- You: Your Personal Tenets unlock tenet philanthropia alms to the destitute
- The character you target:
is_in_debt = yes
None of these
- The character you target: Has the opinion “Received Gift” of you
Then
If
None of these
- The character you target: Has the opinion “Received Gift” of you
Then
If
- … (more in the script below)
- … (more in the script below)
When it is accepted automatically
- The character you target: Event char_interaction.0100
Events it fires: char_interaction.0100
• 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) (31 lines of game script)
is_available = trigger_if = {
limit = {
is_ai = yes
}
ai_greed < medium_positive_ai_value
short_term_gold >= gift_interaction_cutoff
ai_should_focus_on_building_in_their_capital = no
is_available_at_peace_ai_adult = yes
NOR = {
has_trait = greedy
has_variable = conqueror
}
}
is_shown = scope:puppet_or_actor ?= {
this != scope:recipient
trigger_if = {
limit = {
exists = var:loan_amount_owed
exists = var:loan_holder
}
NOT = {
var:loan_holder = scope:recipient
}
}
trigger_if = {
limit = {
scope:recipient = scope:actor
}
is_ruler = yes
}
}As written in game/common/character_interactions/00_gift.txt.
Can be sent when (is_valid…) (19 lines of game script)
scope:puppet_or_actor.gold >= gift_value
scope:recipient = {
NOT = {
is_imprisoned_by = scope:puppet_or_actor
}
}
trigger_if = {
limit = {
scope:is_puppet_action ?= yes
}
custom_tooltip = {
text = puppet_gift_cooldown_tt
NOT = {
scope:puppet_or_actor = {
has_variable = puppet_gift_cooldown
}
}
}
}As written in game/common/character_interactions/00_gift.txt.
Effects (on_send, on_accept, on_decline) (217 lines of game script)
on_accept = scope:recipient = {
if = {
limit = {
NAND = {
has_relation_friend = scope:puppet_or_actor
has_relation_lover = scope:puppet_or_actor
has_relation_soulmate = scope:puppet_or_actor
has_relation_best_friend = scope:puppet_or_actor
}
}
gifting_leads_towards_friendship_effect = yes
}
}
if = {
limit = {
scope:puppet_or_actor = {
is_house_head = yes
}
scope:recipient = {
is_house_head = yes
NOT = {
has_opinion_modifier = {
target = scope:puppet_or_actor
modifier = gift_opinion
}
}
}
}
scope:recipient.house = {
change_house_relation_effect = {
HOUSE = scope:puppet_or_actor.house
VALUE = house_relation_improve_medium_value
REASON = sent_a_gift
CHAR = scope:puppet_or_actor
TARGET_CHAR = scope:recipient
TITLE = scope:dummy_gender
}
}
}
scope:puppet_or_actor = {
if = {
limit = {
scope:actor != scope:recipient
scope:recipient = {
has_opinion_modifier = {
target = scope:puppet_or_actor
modifier = gift_opinion
}
}
}
custom_tooltip = ALREADY_SENT_GIFT_WARNING
}
send_interface_message = {
type = event_gold_neutral
title = gift_interaction_notification
right_icon = scope:recipient
pay_short_term_gold = {
gold = gift_value
target = scope:recipient
}
stress_and_fulfillment_impact = {
greedy = medium_stress_impact_gain
}
if = {
limit = {
scope:recipient = {
NOT = {
is_heir_of = scope:puppet_or_actor
}
}
}
stress_and_fulfillment_impact = {
generous = medium_stress_impact_loss
}
}
if = {
limit = {
scope:puppet_or_actor = {
has_personal_tenet_flag = tenet_simony_personal_gifts
}
}
add_stress = medium_stress_loss
change_spiritual_fulfillment = miniscule_spiritual_fulfillment_value
}
if = {
limit = {
scope:puppet_or_actor = {
rite = {
rite_has_parameter = piety_from_gifts_active
}
}
NOT = {
scope:recipient = {
has_opinion_modifier = {
target = scope:puppet_or_actor
modifier = gift_opinion
}
}
}
}
scope:puppet_or_actor = {
add_piety = minor_piety_gain
}
}
if = {
limit = {
scope:puppet_or_actor = {
has_personal_tenet_flag = tenet_philanthropia_alms_to_the_destitute
}
scope:recipient = {
is_in_debt = yes
}
NOT = {
scope:recipient = {
has_opinion_modifier = {
target = scope:puppet_or_actor
modifier = gift_opinion
}
}
}
}
scope:puppet_or_actor = {
add_prestige = minor_prestige_gain
add_piety = minor_piety_gain
}
}
if = {
limit = {
NOT = {
scope:recipient = {
has_opinion_modifier = {
target = scope:puppet_or_actor
modifier = gift_opinion
}
}
}
}
if = {
limit = {
scope:puppet_or_actor = {
any_character_struggle = {
involvement = involved
phase_has_catalyst = catalyst_gift_independent_ruler
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
CATALYST = catalyst_gift_independent_ruler
CHAR = scope:recipient
}
}
}
}
hidden_effect = {
scope:puppet_or_actor = {
every_character_struggle = {
involvement = involved
limit = {
phase_has_catalyst = catalyst_gift_independent_ruler
}
activate_struggle_catalyst = {
catalyst = catalyst_gift_independent_ruler
character = scope:puppet_or_actor
}
}
}
}
}
if = {
limit = {
fp3_struggle_involves_one_supporter_and_one_detractor = {
FIRST = scope:puppet_or_actor
SECOND = scope:recipient
}
scope:puppet_or_actor = {
any_character_struggle = {
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_gift_supporter_detractor_ruler
CHAR = scope:recipient
}
}
}
}
hidden_effect = {
scope:puppet_or_actor = {
every_character_struggle = {
limit = {
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_gift_supporter_detractor_ruler
CHAR = scope:recipient
}
}
activate_struggle_catalyst = {
catalyst = catalyst_gift_supporter_detractor_ruler
character = scope:puppet_or_actor
}
log_debug_variable_for_persian_struggle_effect = {
VAR = concession_catalyst_gift_supporter_detractor_ruler
}
}
}
}
}
if = {
limit = {
scope:puppet_or_actor = {
dynasty ?= {
has_dynasty_perk = fp2_urbanism_legacy_4
}
}
scope:recipient = {
AND = {
is_vassal_of = scope:puppet_or_actor
government_has_flag = government_is_republic
}
}
scope:puppet_or_actor.culture != scope:recipient.capital_province.county.culture
}
sco
# … (cut here; the rest is in the file)As written in game/common/character_interactions/00_gift.txt.
- Category
- Friendly actions
- In the menu
- main list
- ID
gift_interaction
Source: game/common/character_interactions/00_gift.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.