Hands-On Usage
Commonly used to check unlock conditions for technologies or decisions, such as in mods featuring nuclear weapons or special project research systems. Typical use cases include verifying whether a country has completed a specific special project to unlock subsequent decisions, national focuses, or event branches. It is typically used as a prerequisite gate within available or trigger blocks to ensure players progress through the research sequence in order.
available = {
is_special_project_completed = sp:manhattan_project_sp
}
Synergy
[has_completed_focus](/wiki/trigger/has_completed_focus) — Often paired with national focus completion checks to form composite unlock conditions like "completed national focus and completed special project."
[complete_special_project](/wiki/effect/complete_special_project) — After forcibly completing a special project in an effect block, subsequent logic typically uses this trigger to verify that the state change has actually been persisted, preventing duplicate triggering.
[has_country_flag](/wiki/trigger/has_country_flag) — Used alongside country flags to distinguish between "reward already triggered" and "project just completed" states, preventing duplicate reward grants.
[any_owned_state](/wiki/trigger/any_owned_state) — When checking state buildings or garrison conditions in combination with this trigger, it ensures the special project is completed before further iterating through states.
Common Pitfalls
- The
sp: prefix is mandatory — Writing just the project name directly (e.g., is_special_project_completed = my_project) instead of sp:my_project causes the game to fail to recognize the target, making the condition always evaluate to false without error reporting, making it extremely difficult to debug.
- Scope must be COUNTRY — Using this trigger within STATE or CHARACTER scope (for example, placing it inside an
any_owned_state sub-block) causes the check to fail. You must first switch back to country scope using methods like OWNER or capital_scope before calling this trigger.