Wiki

trigger · is_subject

Definition

  • Supported scope:COUNTRY
  • Supported target:any

Description

Checks if the country is subject of any other 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_subject is commonly used to determine whether a country is in a vassal or puppet state, allowing you to restrict certain options in focus trees, decisions, or events to only non-overlord nations. For example, when creating independence movement mods, you can use it to ensure that only countries still in a subject relationship can trigger independence demand events.

# available block of a certain decision: only usable when the current nation is a vassal
available = {
    is_subject = yes
}

Synergy

  • [has_autonomy_state](/wiki/trigger/has_autonomy_state): Used in conjunction with is_subject, it further determines the specific autonomy tier (such as colony, dominion, etc.) after confirming vassal status, enabling layered conditional logic.
  • [any_subject_country](/wiki/trigger/any_subject_country): Inverse synergy—iterates through all vassals from the overlord's perspective, forming a complete verification chain across both ends of the subject relationship with is_subject.
  • [compare_autonomy_progress_ratio](/wiki/trigger/compare_autonomy_progress_ratio): Vassal nations often need to check autonomy progress simultaneously; use it together with is_subject to avoid meaningless autonomy value judgments on non-vassal nations.
  • [end_puppet](/wiki/effect/end_puppet): Commonly paired with is_subject trigger checks in effect blocks—first confirm the subject relationship exists, then execute the puppet removal operation to prevent script errors.

Common Pitfalls

  1. Scope confusion: The scope of is_subject must be the vassal nation itself being checked, not the overlord. Beginners often write is_subject = yes under overlord scope, causing incorrect judgment targets. Instead, use traversal commands like any_subject_country from the overlord's side to check.
  2. Overlooking symmetric usage of = yes / = no: Some beginners only know is_subject = yes and forget that is_subject = no is equally valid and frequently used (for example, restricting certain diplomatic actions to independent nations only). Omitting the latter results in redundant condition blocks or even logic errors.