Wiki

trigger · has_subject

Definition

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

Description

Checks if the country has for subject the given 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

has_subject is commonly used in decision or event trigger conditions exclusive to suzerain nations, such as checking whether a specific nation has been incorporated into a subject vassal system, thereby unlocking subsequent diplomatic chains or displaying special UI prompts. It is particularly prevalent in puppet integration, colonial expansion, or autonomy mechanics mods.

# This event only triggers when the player nation has GER as suzerain and GER has POL as a subject
country_event = {
    id = my_mod.1
    trigger = {
        tag = GER
        has_subject = POL
    }
}

Synergy

  • [has_autonomy_state](/wiki/trigger/has_autonomy_state): Often used together with has_subject. After confirming a subject relationship exists, it further checks what autonomy tier the subject is currently at, enabling precise control over autonomy score increase/decrease flows.
  • [any_subject_country](/wiki/trigger/any_subject_country): When you need to check "whether any subject satisfies a certain condition," pair it with this trigger. has_subject targets a specific nation, while any_subject_country performs a general scan.
  • [end_puppet](/wiki/effect/end_puppet): Used as a follow-up action in effect blocks. Only after has_subject confirms a subject relationship exists should this effect be safely called to break the puppet relationship, avoiding script errors.
  • [add_autonomy_score](/wiki/effect/add_autonomy_score): In suzerain-exclusive decision scenarios, first use has_subject to verify the target's status, then add or subtract autonomy scores for that subject, resulting in more rigorous logic.

Common Pitfalls

  1. Reversed scope: has_subject must be written in the suzerain nation scope, with the target being the vassal nation's tag. Beginners often mistakenly write it in the subject nation's scope, causing the condition to never be satisfied and producing no obvious error message.
  2. Confusing target scope: This trigger's target only supports fixed keywords (THIS, ROOT, PREV, etc.) and concrete nation tags; it cannot directly accept state scope or other non-nation objects. In complex nested scopes, forgetting to use PREV/ROOT to backtrack will cause the trigger to reference the wrong scope.