Wiki

trigger · is_special_project_completed

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Checks if the country in scope has completed the special project in input.
ex:
SOV = {
	is_special_project_completed = sp:my_project
	is_special_project_completed = var:my_project_var
	is_special_project_completed = PREV # accepts variables and keywords
}

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

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

  1. 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.
  2. 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.