Wiki

effect · retire

Definition

  • Supported scope:CHARACTER
  • Supported target:none

Description

Retires character, use in character scope

Hands-On Notes

Hands-on notes are AI-generated and checked against the vanilla command vocabulary — treat them as a starting point, not authoritative reference. The definition above is the game's own documentation.

Hands-On Usage

retire is used to forcibly retire or remove a character from active duty, typically triggered during historical events to phase out veteran commanders, or in political purge scenarios to remove an advisor or general. When a character leaves the stage due to injury, illness, or political reasons, you can invoke it within an event's option block:

character_event = {
    id = my_mod.1
    option = {
        name = my_mod.1.a
        # Switch to character scope first, then execute retire
        GER_erich_von_manstein = {
            retire = yes
        }
    }
}

Synergy

  • [is_corps_commander](/wiki/trigger/is_corps_commander) / [is_field_marshal](/wiki/trigger/is_field_marshal): Check if the character is currently in an active command position before retiring, to avoid triggering invalid logic on inactive characters.
  • [remove_unit_leader](/wiki/effect/remove_unit_leader): If you need to completely remove a character from the game (rather than just retiring them), call this after retire to ensure the character doesn't linger in the leader list.
  • [promote_character](/wiki/effect/promote_character): Often paired with retire to promote another character at the same time one character retires, creating a narrative effect of "succession of old and new".
  • [set_character_flag](/wiki/effect/set_character_flag): Flag the character before executing retire to prevent the same character from being triggered by multiple events to retire multiple times.

Common Pitfalls

  1. Forgetting to enter CHARACTER scope: retire must be called within the character's own scope. Writing it directly in country scope (e.g., GER = { retire = yes }) will error or silently fail. Use character_tag = { retire = yes } or any_character = { limit = { ... } retire = yes } to switch to character scope first.
  2. Calling retire again on already dead/retired characters: If a character has already been removed from the game through other means (such as remove_unit_leader), executing retire again on them won't produce an explicit error, but may generate unexpected scope resolution warnings. It's recommended to check existence first using [is_unit_leader](/wiki/trigger/is_unit_leader) or [is_advisor](/wiki/trigger/is_advisor).