Wiki

effect · demote_leader

Definition

  • Supported scope:CHARACTER
  • Supported target:none

Description

Demotes field marshal to general

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

demote_leader is commonly used in scripted events or decisions to forcibly demote a field marshal to general rank due to narrative reasons such as military defeat, political setback, or injury, enabling dynamic changes to the command structure. For example, in a "command failure" event where the player-controlled character is automatically demoted:

character_event = {
    id = my_mod.101
    title = "Command Failure"
    
    option = {
        name = "Accept Punishment"
        # scope is already CHARACTER
        demote_leader = yes
    }
}

Synergy

  • [is_field_marshal](/wiki/trigger/is_field_marshal): Use this trigger before executing the demotion to verify the character is actually a field marshal, avoiding logic errors from calling this command on ordinary generals.
  • [add_corps_commander_role](/wiki/effect/add_corps_commander_role): After demotion, if the character lacks a corps commander role definition, use this command to supplement the configuration and ensure the character can assume command normally after demotion.
  • [is_leading_army_group](/wiki/trigger/is_leading_army_group): Before demotion, check whether the character is currently commanding an army group; if still in command, additional handling of unit assignment logic may be required.
  • [promote_leader](/wiki/effect/promote_leader): Forms a symmetric operation with demote_leader, allowing mutual pairing in reward/punishment event chains to create bidirectional promotion/demotion narratives.

Common Pitfalls

  1. Failing to verify current rank: Calling demote_leader directly on an ordinary general (is_corps_commander) will not produce the expected effect; you should first use [is_field_marshal](/wiki/trigger/is_field_marshal) to confirm the character actually holds field marshal rank before executing.
  2. Incorrect scope targeting: This command can only be used under CHARACTER scope. If written in a country scope without transitioning via every_character or a specific character variable, the script will fail silently without error messages, making it easy to miss during debugging.