Wiki

trigger · is_fully_controlled_by

Definition

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

Description

Checks if state is fully controlled by specified tag

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_fully_controlled_by is commonly used in occupation/liberation events or decisions to verify whether a state has been fully controlled by a specific nation (i.e., all provinces are under the same nation's control), preventing incorrect reward triggers or narrative progression during chaotic frontlines. For example, in resistance movement mods, specific occupation policies are only allowed after a state is completely taken over:

# Check whether a state is fully controlled in the available block of a decision
available = {
    275 = {  # Taking Île-de-France as an example
        is_fully_controlled_by = GER
    }
}

Synergy

  • [is_controlled_by](/wiki/trigger/is_controlled_by): is_controlled_by only checks the state's controlling nation tag, whereas is_fully_controlled_by requires every single province to be under the same nation's control. The two are often placed in the same condition block to form a tiered verification from loose to strict.
  • [has_active_resistance](/wiki/trigger/has_active_resistance): Active resistance under occupation typically indicates incomplete control. Combined with is_fully_controlled_by, it achieves the composite condition of "fully controlled and no resistance."
  • [set_occupation_law](/wiki/effect/set_occupation_law): Only after is_fully_controlled_by confirms complete control should occupation policy be set, preventing script errors or logical contradictions when province ownership is in flux.
  • [compliance](/wiki/trigger/compliance): Compliance threshold often progresses in tandem with complete control. Used together, they determine whether to unlock higher-tier occupation policies or decision options.

Common Pitfalls

  1. Mistaking it as a sovereignty check: This trigger checks "control" rather than "ownership." To verify ownership simultaneously, you must pair it with [is_owned_by](/wiki/trigger/is_owned_by) or use [is_owned_and_controlled_by](/wiki/trigger/is_owned_and_controlled_by) directly. Otherwise, even after enemy occupation of the entire state, it will return true.
  2. Scope not switched to STATE: Beginners writing is_fully_controlled_by = GER directly under COUNTRY scope will cause an error. You must first enter STATE scope via state ID or capital_scope, then invoke this trigger.