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

Dismiss

variesPrestigeAccepted automatically

Turn the recipient into a Wanderer and send them away from your court

What you need

The character you target

To send it

  • None of these

    • Is your spouse
    • Is your concubine
    • Is close family of you
    • has_council_position = councillor_court_chaplain
    • is_diarch = yes
    • All of these

      • Is married
      • is_female = yes
      • matrilinear_marriage = yes
      • Any consort:
        • is_diarch = yes
    • All of these

      • Is married
      • is_male = yes
      • patrilinear_marriage = yes
      • Any consort:
        • is_diarch = yes
  • Is not imprisoned by you

To see it in the menu

  • One of these

    • Is a courtier of you
    • or

      is_pool_guest_of = scope:actor
  • is_hostage = no
  • … is traveling to become a Hostage
  • Already under negotiation to become someone's Ward
  • Already under negotiation to become someone's Guardian

Dismiss is a vassal character interaction in Crusader Kings III. The character you target needs: Is not imprisoned by you. Accepted automatically. It costs Prestige (varies). Patch 1.20.1.2, from game/common/character_interactions/00_courtier_and_guest_interactions.txt.

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

Will they accept?

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

What happens

Effects

  • Stress and fulfillment impact: by trait: Gregarious +20
  • If

    • Any courtier: Has the target as guardian

    Then

    • Every Courtier:
      • Where: Has the target as guardian
      • The character you target:
        • remove_relation_ward = scope:ward
        • If

          • is_foreign_court_guest = yes
          • None of these

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

          Then

          • return_to_court = yes
      • If

        • always = yes

        Then

        • The ward:
          • If

            • is_foreign_court_guest = yes
            • host != liege

            Then

            • return_to_court = yes

        Otherwise

        • If

          a check the game hides

          Then

          • The character you target:
            • If

              Then

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

              Else if

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

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

              Then

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

              Then

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

              Else if

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

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

              Then

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

              a check the game hides

              Then

              • var:guardian_liege:
                • If

                  Then

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

                  Else if

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

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

                  Then

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

                  Then

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

                  Else if

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

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

                  Then

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

    • Any courtier: Has the target as ward

    Then

    • Random Courtier:
      • The guardian:
        • remove_relation_ward = scope:recipient
        • If

          • is_foreign_court_guest = yes
          • None of these

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

          Then

          • return_to_court = yes
      • If

        • always = yes

        Then

        • The character you target:
          • If

            • is_foreign_court_guest = yes
            • host != liege

            Then

            • return_to_court = yes

Events it fires: char_interaction.0090

• 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) (8 lines of game script)
is_shown = scope:actor != scope:recipient
scope:recipient = {
	OR = {
		is_courtier_of = scope:actor
		is_pool_guest_of = scope:actor
	}
	bp2_valid_for_standard_interactions_trigger = yes
}

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

Can be sent when (is_valid…) (16 lines of game script)
scope:recipient = {
	kick_from_court_validity_trigger = yes
	NOT = {
		is_imprisoned_by = scope:actor
	}
	custom_description = {
		text = kick_from_court_interaction_travelling_family_invalid
		subject = scope:recipient
		NOT = {
			any_traveling_family_member = {
				this != scope:recipient
				kick_from_court_validity_trigger = no
			}
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (133 lines of game script)
on_accept = scope:actor = {
	stress_and_fulfillment_impact = {
		gregarious = minor_stress_impact_gain
	}
	hidden_effect = {
		send_interface_message = {
			type = event_generic_neutral
			title = msg_kicked_courtier_from_court_interaction_title
			right_icon = scope:recipient
			show_as_tooltip = {
				scope:actor = {
					remove_courtier_or_guest = scope:recipient
				}
			}
			if = {
				limit = {
					any_courtier = {
						has_relation_guardian = scope:recipient
					}
				}
				every_courtier = {
					limit = {
						has_relation_guardian = scope:recipient
					}
					save_scope_as = ward
					remove_guardian_effect = {
						GUARDIAN = scope:recipient
						WARD = scope:ward
						RETURN_WARD = yes
						HIDE_OPINION = no
					}
				}
				scope:recipient = {
					trigger_event = char_interaction.0090
				}
			}
			if = {
				limit = {
					any_courtier = {
						has_relation_ward = scope:recipient
					}
				}
				random_courtier = {
					limit = {
						has_relation_ward = scope:recipient
					}
					save_scope_as = guardian
					send_interface_message = {
						type = event_childhood_neutral
						title = remove_guardian_interaction_notification
						left_icon = scope:recipient
						right_icon = scope:guardian
						remove_guardian_effect = {
							GUARDIAN = scope:guardian
							WARD = scope:recipient
							RETURN_WARD = yes
							HIDE_OPINION = no
						}
					}
				}
			}
		}
	}
	show_as_tooltip = {
		if = {
			limit = {
				any_courtier = {
					has_relation_guardian = scope:recipient
				}
			}
			every_courtier = {
				limit = {
					has_relation_guardian = scope:recipient
				}
				save_scope_as = ward
				remove_guardian_effect = {
					GUARDIAN = scope:recipient
					WARD = scope:ward
					RETURN_WARD = yes
					HIDE_OPINION = no
				}
			}
		}
		if = {
			limit = {
				any_courtier = {
					has_relation_ward = scope:recipient
				}
			}
			random_courtier = {
				limit = {
					has_relation_ward = scope:recipient
				}
				save_scope_as = guardian
				remove_guardian_effect = {
					GUARDIAN = scope:guardian
					WARD = scope:recipient
					RETURN_WARD = yes
					HIDE_OPINION = no
				}
			}
		}
	}
}
scope:recipient = {
	every_traveling_family_member = {
		add_to_temporary_list = kicked_family
	}
}
every_in_list = {
	list = kicked_family
	kick_from_court_interaction_effect = yes
}
if = {
	limit = {
		any_in_list = {
			list = kicked_relatives_list
			is_alive = yes
		}
	}
	every_in_list = {
		list = kicked_relatives_list
		custom = all_close_family_members_of_kicked_characters
		add_opinion = {
			modifier = kicked_relative_from_court
			target = scope:actor
		}
	}
}
employed_booner_invalidation_effect = {
	EMPLOYEE = scope:recipient
	LIEGE = scope:actor
}

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

Category
Vassal actions
Cost: Prestige
varies
In the menu
under More…
ID
kick_from_court_interaction

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