Hands-On Usage
This trigger is commonly used in peace conference mods or puppet system-related focus/decision trees to check whether a nation has become a puppet of a specific overlord, thereby determining whether to trigger subsequent events or restrict certain options. For example, in Czech-related mod events, checking whether CZE is puppeted by GER to decide whether to offer aid options:
available = {
CZE = {
pc_is_puppeted_by = GER
}
}
Synergy
[has_autonomy_state](/wiki/trigger/has_autonomy_state): Use in conjunction to simultaneously check the puppet state's autonomy level, refining judgment of puppet relationship types (such as protected states, imperial territories, etc.).
[any_subject_country](/wiki/trigger/any_subject_country): Iterate through all subject countries under the overlord scope, then use pc_is_puppeted_by for reverse verification to build bidirectional consistency check logic.
[end_puppet](/wiki/effect/end_puppet): After conditions are met (confirming the puppet relationship exists), combine with this effect to revoke the puppet relationship, forming the standard combination for "liberation" decisions.
[exists](/wiki/trigger/exists): Confirm the target nation exists before calling pc_is_puppeted_by to prevent script errors or logic anomalies caused by a non-existent nation.
Common Pitfalls
- Reversed scope direction: This trigger must be used within the scope of the puppeted nation (i.e.,
CZE = { pc_is_puppeted_by = GER }). Beginners often mistakenly call it under the overlord scope, causing the evaluation to always return false.
- Confusing peace conference context with regular game state: The trigger description includes scenarios where a nation is "released as a puppet during peace conference," meaning that even if the puppet relationship has not formally taken effect, the peace conference phase may return true. In ordinary focus/event trees outside peace conferences, pay attention to whether this behavior aligns with expectations.