Wiki

effect · puppet

Definition

  • Supported scope:COUNTRY
  • Supported target:THIS, ROOT, PREV, FROM, OWNER, CONTROLLER, OCCUPIED, CAPITAL

Description

Puppets specified country. By default, cancels the puppets existing war relations.
Example 1:
ENG = {
  puppet = ITA
}
Example 2:
ENG = {
  puppet = {
    target = ITA
    end_wars = yes  # Optional, default yes. Will not cancel non-civil wars if set to no.
    end_civil_wars = yes  # Optional, default yes. Will not cancel civil wars if set to no.
  }
}

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

puppet is commonly used in peace events, post-war settlements, or upon focus tree completion to establish puppet relationships. For example, after a player completes a diplomatic focus, you can make the target nation a puppet. When dealing with civil war scenarios, you can use end_civil_wars = no to preserve the civil war state, preventing puppetization from forcibly ending an ongoing civil war.

# Britain converts Egypt to a puppet via focus, but preserves the civil war
focus = {
    id = ENG_puppet_egypt
    ...
    completion_reward = {
        ENG = {
            puppet = {
                target = EGY
                end_wars = yes
                end_civil_wars = no
            }
        }
    }
}

Synergy

  • [diplomatic_relation](/wiki/effect/diplomatic_relation) — After establishing a puppet relationship, you can further use this command to set up military access, guarantees, and other diplomatic statuses to complete the suzerain-puppet diplomatic framework.
  • [add_autonomy_score](/wiki/effect/add_autonomy_score) / [add_autonomy_ratio](/wiki/effect/add_autonomy_ratio) — Immediately adjust autonomy scores after puppetization to precisely control the puppet's initial autonomy level and avoid it starting in a marginal state.
  • [end_puppet](/wiki/effect/end_puppet) — Forms the opposite operation to puppet and is often used together in the same event chain to handle diplomatic reorganization logic like "remove old puppet relationship then rebuild."
  • [has_autonomy_state](/wiki/trigger/has_autonomy_state) — Trigger a check before executing puppet to confirm the target nation is not already in a certain autonomy state, preventing duplicate puppetization from causing script logic confusion.

Common Pitfalls

  1. Wrong host scope: puppet must be called within the suzerain's scope, not written as puppet = SELF in the puppet nation's scope—that would cause the puppet nation to puppet itself, which is logically invalid and prone to errors.
  2. Forgetting the default behavior of end_wars: The default end_wars = yes automatically cancels wars related to puppetization. If your scenario needs to preserve ongoing wars for the suzerain (for example, continuing joint operations after puppetization), you must explicitly write end_wars = no. Otherwise, the war will be silently ended without any error messages.