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

Interaction · Diplomatic actions

Offer Hostage

No costAccepted automatically in some cases; otherwise the AI weighs it

Send a Hostage to the recipient as an assurance you will not attack them

What you need

You

To send it

  • None of these

    • The character you target: Is at war with you
    • The character you target: Is allied to you
    • You: Your Government is a Theocratic-type Government
    • The character you target: Government is a Theocratic-type Government
    • … already has a Hostage from your Court
    • Their Hostage is already traveling to … court
  • One of these

    • Is not a landless ruler
    • or

      All of these

      • you has administrative government mechanic
      • Is not landed
      • If

        a check the game hides

        Then

        • Your house: Has the house check as house head
      • You have a domicile
  • If

    a check the game hides

    Then

    • The character you send:
      • is_hostage = no
      • Is a direct vassal of you
      • Is not landed
      • Is not a landless ruler
      • Is not married
      • Is not betrothed
      • If imprisoned:
        • imprisoner = scope:actor
      • One of these

        • Is a child of you
        • or

          Is a grandchild of you
        • or

          Is a sibling of you
        • or

          is_nibling_of = scope:actor
      • You may not offer your Regent as a Hostage
      • If

        a check the game hides

        Then

        • The war:
          • Hostages cannot be exchanged to settle Great Holy Wars
          • Hostages cannot be used to settle a …
  • This action may not be taken against the Ceremonial Monarch
  • If played by the AI:
    • The character you target:
      • character_is_land_realm_neighbor = scope:actor
    • scope:recipient.current_military_strength >= scope:actor.fifty_percent_of_current_military_strength
    • The character you target:
      • has_any_cb_on = scope:actor
    • None of these

      • The character you target:
        • One of these

          • One of these

            • Has you as potential rival
            • or

              Has you as victim
            • or

              Has you as bully
          • or

            Has you as rival
        • All of these

          • exists = scope:actor.house
          • One of these

            • Their house:
              • this != scope:actor.house
              • has_house_relation_with = scope:actor.house
              • Any house relation:
                • has_house_relation_level = feud
                • Any relation house:
                  • scope:actor.house = this
            • or

              exists = scope:return_feud_as_true_for_debug
    • None of these

      • The character you send › Any close family member:
        • Is played by a person
        • One of these

          • Is a parent of the character you send
          • or

            is_grandparent_of = scope:secondary_actor
        • this != scope:actor
      • Hostage died is scope:recipient

To see it in the menu

  • Your government is not Adventurer
  • If played by the AI: Does not have “conqueror” (a variable the game's script sets)
  • The target is not you
  • scope:recipient.highest_held_title_tier > tier_barony
  • If

    • root.top_liege != scope:actor
    • Your top liege: Government uses Merit
    • scope:recipient != scope:actor.top_liege

    Then

    • Not all of these

The character you target

To send it

  • One of these

    • Is not a landless ruler
    • 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

To see it in the menu

  • Their government is not Adventurer
  • Their government is not unplayable

The character you send

  • If an Adult:
    • One of these

  • Already under negotiation to become someone's Hostage

Which character you can pick

  • is_hostage = no
  • Is a direct vassal of you
  • Is not landed
  • Is not a landless ruler
  • Is not married
  • Is not betrothed
  • If imprisoned:
    • imprisoner = scope:actor
  • One of these

    • Is a child of you
    • or

      Is a grandchild of you
    • or

      Is a sibling of you
    • or

      is_nibling_of = scope:actor
  • You may not offer your Regent as a Hostage
  • If

    a check the game hides

    Then

    • The war:
      • Hostages cannot be exchanged to settle Great Holy Wars
      • Hostages cannot be used to settle a …
  • Already under negotiation to become someone's Hostage

Offer Hostage is a diplomatic character interaction in Crusader Kings III. You need: This action may not be taken against the Ceremonial Monarch. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include … Culture (+25), … Culture (+25), They is your Friend (+15) and 24 more. Patch 1.20.1.2, from game/common/character_interactions/05_bp2_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Offer Hostage in CK3?
You: This action may not be taken against the Ceremonial Monarch. (patch 1.20.1.2)
How do I get the AI to accept Offer Hostage?
Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: The recipient's Boldness, The recipient's Compassion, The recipient's Greed, The recipient's Honor, Crown Authority makes disobeying Liege dishonorable, The recipient's Rationality, The recipient's Zeal, … Culture +25, … Culture +25, … Opinion of …, They is your Friend +15, They is your Best Friend +30, They is your Lover +15, They is your Soulmate +30, They is your Rival -25, They is your Nemesis -50, Intimidated by you, Terrified of you, The character you send's value as a Hostage, Difference in Rank, Difference in Rank, Not neighboring Realms -20, Distant realm -20, Has Casus Bellis against you -15, Has Claims on your Titles, Protected by their Liege -50, You are a mere Vassal, Similar Military Strength +10, Relative Military Strength (…: … vs. …: …), Relative Military Strength (…: … vs. …: …), Allies Military Strength (…: … vs. …: …), … Cultural Acceptance of … -5, … Cultural Acceptance of … -10, … Cultural Acceptance of … -15, … consider … Evil -15, … consider … Hostile -10, … consider … Astray -5, … Equitable Tradition +25, … Esteemed Hospitality Tradition +25, … Loyal Subjects Tradition +25, The recipient already has a Truce with you -20, Fighting a War +15, You have already taken a Hostage from the recipient +50, Attacked Warden -50 and Conqueror -1,000.

Will they accept?

Accepted automatically when:

  • If

    Then

    • They use their Hook on …

    Otherwise

    • Never

Otherwise the AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base0
The recipient's Boldness
when
  • scope:recipient.ai_boldness < 0
their ai boldness × -0.5
The recipient's Compassion
when
  • scope:recipient.ai_compassion > 0
their ai compassion × -0.5
The recipient's Greed
when
  • scope:recipient.ai_greed != 0
varies
The recipient's Honor
when
  • scope:recipient.ai_honor != 0
varies
Crown Authority makes disobeying Liege dishonorable
when
  • scope:recipient.ai_honor > 0
  • has_realm_law_flag = vassal_refusal_is_treason
  • The character you target: Is a vassal of you
their ai honor × 0.5
The recipient's Rationality
when
  • scope:recipient.ai_rationality != 0
their ai rationality × 0.5
The recipient's Zeal
when
  • scope:recipient.ai_zeal != 0
  • The target’s rite:
    • rite_hostility_level = { target = scope:actor.rite value >= faith_hostile_level }
varies
… Culture
when
+25
… Culture
when
  • The character you target:
+25
… Opinion of …varies
They is your Friend
when
  • The character you target:
    • Has you as friend
    • Does not have you as best friend
+15
They is your Best Friend
when
  • The character you target: Has you as best friend
+30
They is your Lover
when
  • The character you target:
    • Has you as lover
    • Does not have you as soulmate
+15
They is your Soulmate
when
  • The character you target: Has you as soulmate
+30
They is your Rival
when
  • The character you target:
    • Has you as rival
    • Does not have you as nemesis
-25
They is your Nemesis
when
  • The character you target: Has you as nemesis
-50
Intimidated by you
when
  • The character you target:
    • has_dread_level_towards = { target = scope:actor level = 1 }
intimidated_halved_reason_value
Terrified of you
when
  • The character you target:
    • has_dread_level_towards = { target = scope:actor level = 2 }
cowed_halved_reason_value
The character you send's value as a Hostageinteraction_actor_hostage_value
Difference in Rank
when
  • scope:recipient.highest_held_title_tier < scope:actor.highest_held_title_tier
varies
Difference in Rank
when
  • scope:recipient.highest_held_title_tier > scope:actor.highest_held_title_tier
varies
Not neighboring Realms
when
  • Your top liege is not the target’s
  • None of these

    • You:
      • character_is_land_realm_neighbor = scope:recipient
    • The character you target:
      • character_is_land_realm_neighbor = scope:actor
-20
Distant realm
when
  • NOT = { character_is_realm_neighbor = scope:recipient }
  • NOT = { top_liege = scope:recipient.top_liege }
  • The character you target:
    • None of these

      • character_is_land_realm_neighbor = scope:actor
      • Their capital province:
        • squared_distance = { target = scope:actor.capital_province value < 200000 }
-20
Has Casus Bellis against you
when
  • The character you target:
    • has_any_cb_on = scope:actor
-15
Has Claims on your Titles
when
  • Any held title: Title tier at least County
  • The character you target:
    • has_claim_on = scope:title_temp
varies
Protected by their Liege
when
  • NOT = { scope:recipient.liege ?= scope:actor }
  • NOT = { root.liege ?= scope:recipient.liege }
  • The character you target: Is an Independent Ruler
-50
You are a mere Vassal
when
varies
Similar Military Strength
when
  • NOT = { root.current_strength_ninety_percent_value > scope:recipient.current_military_strength }
  • NOT = { root.current_military_strength < scope:recipient.current_strength_ninety_percent_value }
+10
Relative Military Strength (…: … vs. …: …)
when
  • root.current_strength_ninety_percent_value > scope:recipient.current_military_strength
varies
Relative Military Strength (…: … vs. …: …)
when
  • root.current_military_strength < scope:recipient.current_strength_ninety_percent_value
varies
Allies Military Strength (…: … vs. …: …)
when
  • One of these

    • You › Any ally:
      • exists = this
    • or

      The character you target › Any ally:
      • exists = this
  • One of these

    • root.current_strength_with_allies_value >= scope:recipient.current_strength_ninety_percent_value
    • or

      scope:recipient.current_strength_with_allies_value >= scope:actor.current_strength_ninety_percent_value
varies
… Cultural Acceptance of …
when
  • The target’s culture:
    • cultural_acceptance = { target = scope:actor.culture value < 75 }
    • cultural_acceptance = { target = scope:actor.culture value >= 50 }
-5
… Cultural Acceptance of …
when
  • The target’s culture:
    • cultural_acceptance = { target = scope:actor.culture value < 50 }
    • cultural_acceptance = { target = scope:actor.culture value >= 25 }
-10
… Cultural Acceptance of …
when
  • The target’s culture:
    • cultural_acceptance = { target = scope:actor.culture value < 25 }
-15
… consider … Evil
when
  • The target’s rite:
    • rite_hostility_level = { target = scope:actor.rite value = faith_evil_level }
-15
… consider … Hostile
when
  • The target’s rite:
    • rite_hostility_level = { target = scope:actor.rite value = faith_hostile_level }
-10
… consider … Astray
when
  • The target’s rite:
    • rite_hostility_level = { target = scope:actor.rite value = faith_astray_level }
-5
… Equitable Tradition
when
  • The target’s culture: Their culture has the tradition Equitable
+25
… Esteemed Hospitality Tradition
when
+25
… Loyal Subjects Tradition
when
  • The character you target:
    • Is a vassal of you
    • Their culture: The culture has the tradition Loyal Subjects
+25
The recipient already has a Truce with you
when
  • The character you target:
    • has_truce = scope:actor
-20
Fighting a War
when
  • The character you target: Is at War
+15
You have already taken a Hostage from the recipient
when
  • Any warden hostage:
    • home_court ?= scope:recipient
+50
Attacked Warden
when
-50
Conqueror
when
  • The character you target: Has “conqueror” (a variable the game's script sets)
-1,000
Acceptance (ai_accept) (96 lines of game script)
base = 0
bp2_hostage_offer_personality_modifier = yes
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:actor
	multiplier = 0.5
	desc = AI_OPINION_REASON
}
bp2_hostage_relation_modifier = yes
bp2_hostage_dread_modifier = yes
modifier = {
	exists = scope:secondary_actor
	add = interaction_actor_hostage_value
	desc = HOSTAGE_VALUE_ACTOR_REASON
}
bp2_hostage_tier_neighbor_modifier = {
	SENDER = scope:actor
	RECEIVER = scope:recipient
}
bp2_hostage_claims_casus_bellis_modifier = {
	SENDER = scope:actor
	RECEIVER = scope:recipient
}
bp2_hostage_vassals_lieges_modifier = {
	SENDER = scope:actor
	RECEIVER = scope:recipient
}
bp2_hostage_relative_strength_modifier = {
	SENDER = scope:actor
	RECEIVER = scope:recipient
}
bp2_hostage_culture_faith_modifier = {
	SENDER = scope:actor
	RECEIVER = scope:recipient
}
modifier = {
	scope:recipient.culture = {
		has_cultural_tradition = tradition_equitable
	}
	add = 25
	desc = HOSTAGE_EQUITABLE_TRADITION_REASON
}
modifier = {
	scope:recipient.culture = {
		has_cultural_tradition = tradition_esteemed_hospitality
	}
	add = 25
	desc = HOSTAGE_ESTEEMED_HOSPITALITY_TRADITION_REASON
}
modifier = {
	scope:recipient = {
		is_vassal_of = scope:actor
		culture = {
			has_cultural_tradition = tradition_loyal_soldiers
		}
	}
	add = 25
	desc = HOSTAGE_LOYAL_SUBJECTS_TRADITION_REASON
}
modifier = {
	scope:recipient ?= {
		has_truce = scope:actor
	}
	desc = HOSTAGE_RECIPIENT_EXISTING_TRUCE_REASON
	add = -20
}
modifier = {
	scope:recipient ?= {
		is_at_war = yes
	}
	desc = HOSTAGE_AT_WAR_REASON
	add = 15
}
modifier = {
	scope:actor = {
		any_warden_hostage = {
			home_court ?= scope:recipient
		}
	}
	desc = HOSTAGE_ALREADY_DEMANDED_REASON
	add = 50
}
modifier = {
	add = -50
	scope:actor = {
		has_character_modifier = attacked_warden
	}
	desc = attacked_warden
}
modifier = {
	scope:recipient ?= {
		has_variable = conqueror
	}
	desc = NO_FRIVOLOUS_ACTIVITIES_REASON
	add = -1000
}

As written in game/common/character_interactions/05_bp2_interactions.txt.

What happens

If they accept

  • Hostages must first Travel to the Warden's court
  • Wardens at War with Home Courts may freely execute Hostages
  • Home Courts and Wardens suffer penalties for attacking each other
  • The hostage:
    • If any relation › Every relation:
      • The current guardian scope:
        • remove_relation_ward = scope:hostage
        • If

          • is_foreign_court_guest = yes
          • None of these

            • host = liege
            • is_playable_character = { }
            • Any relation:
              • is_playable_character = { }
              • this = scope:current_guardian_scope.host

          Then

          • return_to_court = yes
      • If never › The hostage:
        • return_ward_travel_effect = { }
      • Otherwise:
        • If

          a check the game hides

          Then

          • The current guardian scope:
            • If

              Then

              • remove_opinion = { modifier = guardian_of_heir_opinion target = scope:hostage.liege }

              Else if

              • Has the opinion “Guardian of Your Relative”
              • None of these

                • Any relation:
                  • is_close_family_of = scope:hostage.liege

              Then

              • remove_opinion = { modifier = guardian_of_relative_opinion target = scope:hostage.liege }
            • If

              Then

              • remove_opinion = { modifier = guardian_of_heir_parochial_opinion target = scope:hostage.liege }

              Else if

              • Has the opinion “Parochial Guardian of Your Relative”
              • None of these

                • Any relation:
                  • is_close_family_of = scope:hostage.liege

              Then

              • remove_opinion = { modifier = guardian_of_relative_parochial_opinion target = scope:hostage.liege }
          • The hostage:
            • If

              a check the game hides

              Then

              • var:guardian_liege:
                • If

                  Then

                  • remove_opinion = { modifier = guardian_of_heir_opinion target = scope:hostage.liege }

                  Else if

                  • Has the opinion “Guardian of Your Relative”
                  • None of these

                    • Any relation:
                      • is_close_family_of = scope:hostage.liege

                  Then

                  • remove_opinion = { modifier = guardian_of_relative_opinion target = scope:hostage.liege }
                • If

                  Then

                  • remove_opinion = { modifier = guardian_of_heir_parochial_opinion target = scope:hostage.liege }

                  Else if

                  • Has the opinion “Parochial Guardian of Your Relative”
                  • None of these

                    • Any relation:
                      • is_close_family_of = scope:hostage.liege

                  Then

                  • remove_opinion = { modifier = guardian_of_relative_parochial_opinion target = scope:hostage.liege }
    • Else, if any relation › Every relation:
      • The hostage:
        • remove_relation_ward = scope:current_ward_scope
        • If

          • is_foreign_court_guest = yes
          • None of these

            • host = liege
            • is_playable_character = { }
            • Any relation:
              • is_playable_character = { }
              • this = scope:hostage.host

          Then

          • return_to_court = yes
      • If

        • always = yes

        Then

        • The current ward scope:
          • return_ward_travel_effect = { }

        Otherwise

        • If

          a check the game hides

          Then

          • The hostage:
            • If

              Then

              • remove_opinion = { modifier = guardian_of_heir_opinion target = scope:current_ward_scope.liege }

              Else if

              • Has the opinion “Guardian of Your Relative”
              • None of these

                • Any relation:
                  • is_close_family_of = scope:current_ward_scope.liege

              Then

              • remove_opinion = { modifier = guardian_of_relative_opinion target = scope:current_ward_scope.liege }
            • If

              Then

              • remove_opinion = { modifier = guardian_of_heir_parochial_opinion target = scope:current_ward_scope.liege }

              Else if

              • Has the opinion “Parochial Guardian of Your Relative”
              • None of these

                • Any relation:
                  • is_close_family_of = scope:current_ward_scope.liege

              Then

              • remove_opinion = { modifier = guardian_of_relative_parochial_opinion target = scope:current_ward_scope.liege }
          • The current ward scope:
            • If

              a check the game hides

              Then

              • var:guardian_liege:
                • If

                  Then

                  • remove_opinion = { modifier = guardian_of_heir_opinion target = scope:current_ward_scope.liege }

                  Else if

                  • … (more in the script below)
                • … (more in the script below)
    • … (more in the script below)
  • … (more in the script below)

If they refuse

Options when sending

  • Use a Hook

Events it fires: char_interaction.0330, char_interaction.0300

• 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 = NOT = {
	government_has_flag = government_is_landless_adventurer
}
trigger_if = {
	limit = {
		is_ai = yes
	}
	NOT = {
		has_variable = conqueror
	}
}
is_shown = scope:recipient != scope:actor
scope:recipient.highest_held_title_tier > tier_barony
scope:recipient = {
	NOR = {
		government_has_flag = government_is_landless_adventurer
		government_has_flag = government_is_herder
	}
}
trigger_if = {
	limit = {
		scope:actor.top_liege != scope:actor
		scope:actor.top_liege ?= {
			government_has_flag = government_has_merit
		}
		scope:recipient != scope:actor.top_liege
	}
	NAND = {
		scope:actor = {
			government_has_flag = government_has_merit
		}
		scope:recipient = {
			government_has_flag = government_has_merit
		}
	}
}

As written in game/common/character_interactions/05_bp2_interactions.txt.

Can be sent when (is_valid…) (147 lines of game script)
NOR = {
	scope:recipient = {
		is_at_war_with = scope:actor
	}
	scope:recipient = {
		is_allied_to = scope:actor
	}
	scope:actor = {
		government_has_flag = government_is_theocracy
	}
	scope:recipient = {
		government_has_flag = government_is_theocracy
	}
	custom_tooltip = {
		text = already_has_your_hostage_tt
		scope:recipient = {
			any_warden_hostage = {
				home_court ?= scope:actor
			}
		}
	}
	custom_description = {
		text = hostage_already_travelling_tt
		subject = scope:actor
		object = scope:recipient
		scope:actor = {
			any_close_family_member = {
				exists = var:hostage_travelling_to_warden
				var:hostage_travelling_to_warden = scope:recipient
			}
		}
	}
}
scope:actor = {
	OR = {
		is_landless_ruler = no
		is_landless_administrative = yes
	}
}
scope:recipient = {
	OR = {
		is_landless_ruler = no
		is_landless_administrative = yes
	}
}
trigger_if = {
	limit = {
		scope:actor = {
			is_ai = yes
		}
		exists = scope:secondary_actor
	}
	NOT = {
		scope:secondary_actor = {
			has_character_flag = ai_should_not_offer_hostage
		}
	}
}
trigger_else = {
	scope:actor = {
		custom_description = {
			text = basic_valid_hostage_to_offer
			object = scope:recipient
			any_close_family_member = {
				bp2_valid_to_offer_as_hostage_trigger = {
					SENDER = scope:actor
				}
			}
		}
	}
}
trigger_if = {
	limit = {
		exists = scope:secondary_actor
		exists = scope:actor
	}
	scope:secondary_actor = {
		bp2_valid_to_offer_as_hostage_trigger = {
			SENDER = scope:actor
		}
	}
}
tgp_blocked_action_against_tenno_trigger = {
	ACTOR = scope:actor
	TARGET = scope:recipient
}
scope:actor = {
	trigger_if = {
		limit = {
			is_ai = yes
		}
		bp2_valid_to_offer_hostage_ai_trigger = yes
		NOR = {
			scope:secondary_actor = {
				any_close_family_member = {
					is_ai = no
					OR = {
						is_parent_of = scope:secondary_actor
						is_grandparent_of = scope:secondary_actor
					}
					this != scope:actor
				}
			}
			var:hostage_died ?= scope:recipient
		}
	}
}
scope:recipient = {
	trigger_if = {
		limit = {
			is_ai = no
		}
		NOT = {
			scope:secondary_actor = {
				has_character_flag = ai_should_not_offer_hostage
			}
		}
	}
}
scope:secondary_actor = {
	trigger_if = {
		limit = {
			is_adult = yes
		}
		OR = {
			AND = {
				custom_tooltip = {
					text = hostage_opinion_too_low_tt
					opinion = {
						target = scope:actor
						value >= -25
					}
				}
				NOT = {
					has_trait = disloyal
				}
			}
			has_trait = loyal
		}
	}
	custom_tooltip = {
		text = hostage_already_offered_awaiting_response_tt
		NOT = {
			has_character_flag = under_offer_as_hostage_flag
		}
	}
}

As written in game/common/character_interactions/05_bp2_interactions.txt.

Effects (on_send, on_accept, on_decline) (68 lines of game script)
on_send = scope:secondary_actor = {
	add_character_flag = {
		flag = under_offer_as_hostage_flag
		months = 1
	}
}
if = {
	limit = {
		scope:recipient = {
			is_ai = no
		}
	}
	hidden_effect = {
		scope:secondary_actor = {
			add_character_flag = {
				flag = ai_should_not_offer_hostage
				years = 3
			}
		}
	}
}
on_accept = scope:actor = {
	save_scope_as = hostage_sender
}
scope:secondary_actor = {
	save_scope_as = hostage
}
scope:recipient = {
	save_scope_as = hostage_taker
}
custom_description_no_bullet = {
	text = hostage_pacts_on_arrival_tt
}
custom_description_no_bullet = {
	text = hostage_execution_warning_tt
}
custom_description_no_bullet = {
	text = hostage_attack_warning_tt
}
hostage_depart_effect = {
	HOSTAGE = scope:hostage
	WARDEN = scope:hostage_taker
	HOME_COURT = scope:hostage_sender
}
scope:actor = {
	trigger_event = char_interaction.0330
}
if = {
	limit = {
		scope:actor = {
			government_has_flag = government_is_clan
		}
		scope:actor.house = scope:recipient.house
	}
	add_clan_unity_interaction_effect = {
		CHARACTER = scope:actor
		TARGET = scope:recipient
		VALUE = medium_unity_loss
		DESC = clan_unity_hostage.desc
		REVERSE_NON_HOUSE_TARGET = no
	}
}
on_decline = scope:actor = {
	trigger_event = char_interaction.0300
}
scope:secondary_actor = {
	remove_character_flag = under_offer_as_hostage_flag
}

As written in game/common/character_interactions/05_bp2_interactions.txt.

Category
Diplomatic actions
Again on the same character
after 3 years
In the menu
under More…
ID
offer_hostage_interaction

Source: game/common/character_interactions/05_bp2_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.

Spotted a mistake on this page?