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

Interaction · Friendly actions

Send Poem

75PrestigeAccepted automatically

Send a touching personal work to the recipient

What you need

You

To send it

  • Also needed: not imprisoned

To see it in the menu

  • One of these

  • If played by the AI:
    • You have 150
    • Is at not War
    • Is not imprisoned

The character you target

To send it

  • Also needed: not imprisoned

To see it in the menu

Send Poem is a friendly character interaction in Crusader Kings III. You need: Is not imprisoned. The character you target needs: Is not imprisoned. Accepted automatically. It costs 75 Prestige. Patch 1.20.1.2, from game/common/character_interactions/00_poetry_interactions.txt.

for a guide, post or blog
Quick answers (3)
What are the requirements for Send Poem in CK3?
You: Is not imprisoned. The character you target: Is not imprisoned. (patch 1.20.1.2)
Will the AI accept Send Poem?
Yes: it is accepted automatically.
How much does Send Poem cost?
75 Prestige (patch 1.20.1.2).

Will they accept?

The other character has no choice: the game accepts it automatically.

What happens

Effects

  • Otherwise › Otherwise › One random dummy gender soldier effect:
    • SCOPE_NAME = subject
  • If

    • The option “poem theme romance” is chosen

    Then

    • As this poem is positive, … may accept it immediately if … has a high enough Opinion of you
    • The character you target:
      • duel = { … }
    • The character you target: Event trait_specific_interactions.0001

    Else if

    • The option “poem theme mourning” is chosen

    Then

    • As this poem is positive, … may accept it immediately if … has a high enough Opinion of you
    • The character you target:
      • duel = { … }
    • The character you target: Event trait_specific_interactions.0011

    Else if

    • The option “poem theme legacy” is chosen

    Then

    • As this poem is positive, … may accept it immediately if … has a high enough Opinion of you
    • The character you target:
      • duel = { … }
    • The character you target: Event trait_specific_interactions.0021

    Else if

    • The option “poem theme strife” is chosen

    Then

    • As this poem is positive, … may accept it immediately if … has a high enough Opinion of you
    • The character you target:
      • duel = { … }
    • The character you target: Event trait_specific_interactions.0031

    Else if

    • The option “poem theme incompetence” is chosen

    Then

  • If

    • The option “poem theme incompetence” is chosen

    Then

    • If

      • You: Government is Clan
      • The character you target: Government is Clan
      • Your house is the target’s
      • If

        • You are not the target

        Then

        • You are not the target

      Then

      • Your house:
        • add_unity_value = { … }

      Else if

      • No
      • You: Government is Clan
      • Your house: Has you as house head
      • One of these

        • All of these

          • exists = scope:recipient.house
          • Your house is not the target’s
        • or

          The character you target: Is Lowborn

      Then

      • Your house:
        • add_unity_value = { … }

    Otherwise

    • If

      • You: Government is Clan
      • The character you target: Government is Clan
      • Your house is the target’s
      • If

        • You are not the target

        Then

        • You are not the target

      Then

      • Your house:
        • add_unity_value = { … }

      Else if

      • No
      • You: Government is Clan
      • Your house: Has you as house head
      • One of these

        • All of these

          • exists = scope:recipient.house
          • Your house is not the target’s
        • or

          The character you target: Is Lowborn

      Then

      • Your house:
        • add_unity_value = { … }

Options when sending

  • A Work about Romance
  • A Work about Legacy
  • A Work about Mourning
  • A Work about Strife
  • A Work detailing their Incompetence

Events it fires: trait_specific_interactions.0001, trait_specific_interactions.0011, trait_specific_interactions.0021, trait_specific_interactions.0031, trait_specific_interactions.0041

• 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) (19 lines of game script)
is_available = OR = {
	has_trait = lifestyle_poet
	employs_court_position = master_bard_camp_officer
	employs_court_position = laureate_camp_officer
}
trigger_if = {
	limit = {
		is_ai = yes
	}
	prestige >= 150
	is_at_war = no
	is_imprisoned = no
}
is_shown = scope:actor = {
	this != scope:recipient
}
scope:recipient = {
	is_adult = yes
}

As written in game/common/character_interactions/00_poetry_interactions.txt.

Can be sent when (is_valid…) (14 lines of game script)
scope:actor = {
	is_imprisoned = no
}
scope:recipient = {
	is_imprisoned = no
}
scope:actor = {
	custom_description = {
		text = character_interactions_hostile_actions_disabled_delay
		NOT = {
			has_character_flag = flag_hostile_actions_disabled_delay
		}
	}
}

As written in game/common/character_interactions/00_poetry_interactions.txt.

Effects (on_send, on_accept, on_decline) (150 lines of game script)
on_send = scope:actor = {
	add_character_flag = {
		flag = flag_hostile_actions_disabled_delay
		days = 10
	}
}
on_accept = scope:actor = {
	select_poem_subject_gender_effect = {
		SUBJECT = flag:specific
		SUBJECT_TARGET = scope:recipient
	}
}
if = {
	limit = {
		always = scope:poem_theme_romance
	}
	custom_tooltip = send_poem_interaction.positive_auto_accept.tt
	show_as_tooltip = {
		scope:recipient = {
			send_poem_romance_duel_effect = {
				POV_TARGET = scope:actor
			}
		}
	}
	scope:actor = {
		select_poem_theme_romance_effect = yes
	}
	scope:recipient = {
		trigger_event = trait_specific_interactions.0001
	}
}
else_if = {
	limit = {
		always = scope:poem_theme_mourning
	}
	custom_tooltip = send_poem_interaction.positive_auto_accept.tt
	show_as_tooltip = {
		scope:recipient = {
			send_poem_mourning_duel_effect = {
				POV_TARGET = scope:actor
			}
		}
	}
	scope:actor = {
		select_poem_theme_mourning_effect = yes
	}
	scope:recipient = {
		trigger_event = trait_specific_interactions.0011
	}
}
else_if = {
	limit = {
		always = scope:poem_theme_legacy
	}
	custom_tooltip = send_poem_interaction.positive_auto_accept.tt
	show_as_tooltip = {
		scope:recipient = {
			send_poem_legacy_duel_effect = {
				POV_TARGET = scope:actor
			}
		}
	}
	scope:actor = {
		select_poem_theme_legacy_effect = yes
	}
	scope:recipient = {
		trigger_event = trait_specific_interactions.0021
	}
}
else_if = {
	limit = {
		always = scope:poem_theme_strife
	}
	custom_tooltip = send_poem_interaction.positive_auto_accept.tt
	show_as_tooltip = {
		scope:recipient = {
			send_poem_strife_duel_effect = {
				POV_TARGET = scope:actor
			}
		}
	}
	scope:actor = {
		select_poem_theme_strife_effect = yes
	}
	scope:recipient = {
		trigger_event = trait_specific_interactions.0031
	}
}
else_if = {
	limit = {
		always = scope:poem_theme_incompetence
	}
	show_as_tooltip = {
		scope:recipient = {
			send_poem_incompetence_duel_effect = {
				POV_TARGET = scope:actor
			}
		}
	}
	scope:actor = {
		select_poem_theme_incompetence_effect = yes
	}
	scope:recipient = {
		trigger_event = trait_specific_interactions.0041
	}
}
scope:recipient = {
	if = {
		limit = {
			is_ai = no
		}
		add_character_flag = {
			flag = ai_poem_block
			years = 5
		}
	}
}
if = {
	limit = {
		scope:actor = {
			has_character_flag = flag_hostile_actions_disabled_delay
		}
	}
	scope:actor = {
		remove_character_flag = flag_hostile_actions_disabled_delay
	}
}
show_as_tooltip = {
	if = {
		limit = {
			always = scope:poem_theme_incompetence
		}
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:actor
			TARGET = scope:recipient
			VALUE = minor_unity_loss
			DESC = clan_unity_poetry.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
	}
	else = {
		add_clan_unity_interaction_effect = {
			CHARACTER = scope:actor
			TARGET = scope:recipient
			VALUE = minor_unity_gain
			DESC = clan_unity_poetry.desc
			REVERSE_NON_HOUSE_TARGET = no
		}
	}
}

As written in game/common/character_interactions/00_poetry_interactions.txt.

Category
Friendly actions
Cost: Prestige
75
Cooldown
2 years
Again on the same character
after 5 years
In the menu
main list
ID
send_poem_interaction

Source: game/common/character_interactions/00_poetry_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?