effect · retire
Definition
- Supported scope:
CHARACTER - Supported target:
none
Description
Retires character, use in character scope
retireCHARACTERnoneRetires character, use in character scope
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.
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
}
}
}
[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.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.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).