Wiki

trigger · impassable

Definition

  • Supported scope:STATE
  • Supported target:any

Description

checks if a state is impassable

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

impassable is commonly used in map-modification mods to filter out impassable provinces/states, preventing meaningless construction or occupation logic from being applied to these regions. For example, in the available block of events or decisions, you can exclude impassable areas to prevent players from triggering invalid actions:

available = {
    NOT = { impassable = yes }
    is_owned_by = ROOT
}

Synergy

  • [is_coastal](/wiki/trigger/is_coastal): Both are state attribute checks; combine them to filter "passable and coastal" regions for port construction or landing point logic.
  • [has_state_category](/wiki/trigger/has_state_category): Impassable regions typically have special categories; use both together to precisely locate specific types of usable areas.
  • [any_neighbor_state](/wiki/trigger/any_neighbor_state): When iterating through adjacent states, pair impassable to exclude impassable neighbors, avoiding logical errors.
  • [add_building_construction](/wiki/effect/add_building_construction): Before executing construction on the effect side, use impassable = no as a precondition to protect against script errors caused by triggering construction commands in impassable regions.

Common Pitfalls

  1. Scope confusion: impassable can only be used under STATE scope. Calling it directly in COUNTRY or CHARACTER scopes will cause silent script failure or errors. Ensure you switch to state scope correctly via any_state, every_state, and similar commands.
  2. Forgotten logic negation: Beginners often forget to use NOT = { impassable = yes } to express "passable"; writing impassable = no directly may not work as expected in some game versions. It is recommended to consistently wrap with NOT to clearly exclude impassable regions.