Hands-On Usage
has_captured_operative is commonly used in intelligence-related focus trees, decisions, or event scenarios to check whether a specific nation has captured your operatives, triggering diplomatic crises or rescue missions. It can also be used in yes/no form to detect whether your country holds any captured operatives, working in conjunction with counter-espionage storylines.
# In a decision's available block, check if Germany has captured one of our operatives
available = {
GER = {
has_captured_operative = ROOT # Check if GER has captured operatives from ROOT
}
}
# Or simply check if this country holds any captured operatives
trigger = {
has_captured_operative = yes
}
Synergy
[capture_operative](/wiki/effect/capture_operative): The effect that actively captures operatives. Works with this trigger to form a complete "capture → state detection" logic chain, commonly used to test whether capture events trigger successfully.
[free_operative](/wiki/effect/free_operative): The effect that releases captured operatives. Usually only meaningful to execute when has_captured_operative = yes is true, avoiding ineffective calls on nations with no captured operatives.
[free_random_operative](/wiki/effect/free_random_operative): Randomly releases a captured operative. Use this trigger as a precondition check to ensure at least one captive exists before triggering diplomatic negotiations or prisoner exchange events.
[any_operative_leader](/wiki/trigger/any_operative_leader): Can further filter specific attributes of captured operatives (such as traits or faction). Works with has_captured_operative to form a two-tier filtering structure of coarse and fine screening.
Common Pitfalls
- Scope confusion: The subject of
has_captured_operative = GER must be a COUNTRY scope. Beginners often write this trigger directly under STATE scope, causing script errors or silent failures. You must first switch to country scope using OWNER or similar before calling this trigger.
- Semantic difference between
yes/no and specific country tags: has_captured_operative = yes checks "whether this nation holds any captured operatives," while has_captured_operative = GER checks "whether this nation holds operatives from GER." These are not interchangeable. Omitting the target tag expands the condition scope beyond intent, causing false positives in trigger logic.