Wiki

trigger · is_puppet_of

Definition

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

Description

Checks if the country is puppet of specified country

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

is_puppet_of is commonly used in puppet state independence events, autonomy-related decisions, or as a restriction condition in overlord-exclusive focuses. For example, it determines whether a nation is in a vassal relationship to trigger independence storylines. It is also frequently seen in the overlord's focus available block to confirm the target nation remains a puppet before unlocking related options.

# A nation attempts to break free from puppet status through a decision
available = {
    is_puppet_of = FROM   # Current nation must actually be a puppet of FROM to trigger
    has_stability > 0.6
}

Synergy

  • [has_autonomy_state](/wiki/trigger/has_autonomy_state): When used together with is_puppet_of, it can precisely describe "being a puppet of a specific nation at a particular autonomy level," providing finer granularity than checking puppet status alone.
  • [any_subject_country](/wiki/trigger/any_subject_country): Iterates through all subjects in overlord scope; combined with is_puppet_of, it can reverse-confirm relationship chains and validate multi-layered puppet nesting scenarios.
  • [end_puppet](/wiki/effect/end_puppet): Removes puppet relationship when conditions are met; typically paired in the same event's trigger + effect block alongside is_puppet_of.
  • [compare_autonomy_state](/wiki/trigger/compare_autonomy_state): Appears simultaneously with is_puppet_of in limit blocks to further filter autonomy progress and prevent events from triggering incorrectly when autonomy is about to increase.

Common Pitfalls

  1. Scope Confusion: The scope of is_puppet_of must be the puppet nation itself. If the scope is mistakenly switched to the overlord's side when executing this trigger, the condition will always evaluate to false. Since CK/HOI4 logs do not provide explicit error messages, this is extremely difficult to debug.
  2. Hardcoding Target TAG Instead of Dynamic Scopes: Beginners often directly fill in hardcoded nation tags (e.g., is_puppet_of = GER), which will fail in dynamic scenarios or formable nation mods where the host nation tag is variable. Always prioritize dynamic targets like ROOT/FROM/PREV to ensure compatibility.