trigger · owns_state
Definition
- Supported scope:
COUNTRY - Supported target:
THIS,ROOT,PREV,FROM,CAPITAL
Description
check owner for state(s)
owns_stateCOUNTRYTHIS, ROOT, PREV, FROM, CAPITALcheck owner for state(s)
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.
owns_state is commonly used in territorial condition-checking scenarios, such as when a nation's completion of a specific focus or decision requires already possessing a target state, or to detect whether the player has reclaimed lost territory before triggering event rewards. In the example below, a decision is only allowed to activate when the nation simultaneously owns two key states:
available = {
owns_state = 42 # Île-de-France
owns_state = 64 # Provence
}
[controls_state](/wiki/trigger/controls_state) — Ownership and actual control are two different things; check both simultaneously to ensure the target state is both owned by your nation and under your actual control.[any_owned_state](/wiki/trigger/any_owned_state) — When you need to apply batch condition filtering to multiple states rather than enumerating each one individually, pair any_owned_state with internal triggers to create more flexible detection logic.[add_state_core](/wiki/effect/add_state_core) — In effect blocks, after satisfying an owns_state condition, it's common to immediately grant a core, forming a complete "occupation → legitimization" workflow.[add_state_claim](/wiki/effect/add_state_claim) — If the condition isn't met, fall back to granting a claim instead, pairing with owns_state to implement "reward if owned, claim if not" branching logic.owns_state must be a numeric state ID (found in map/definition.csv and history/states/), not a province ID. Using the wrong ID won't produce an error but the condition will never trigger, making it extremely difficult to debug.owns_state to return false — if you need to check the overlord's indirect control, use controls_state instead or re-evaluate the condition within the puppet's scope, otherwise the conditional logic will fail unexpectedly.