Complete a special project for the country in scope.
This effect will not take into account the current state of the project tree and will allow you to unlock a project even if the one before is not unlocked.
Since the project is not completed within a facility, the facility state and scientist effects are NOT applied.
ex:
SOV = { complete_special_project = sp:my_project }
SOV = { complete_special_project = var:my_project_var }
SOV = { complete_special_project = PREV } # accepts variables and keywords
SOV = {
complete_special_project = {
# project, scientist, state accepts variables and keywords.
project = sp:my_project
scientist = my_scientist # Optional if no iteration_output, default to current scientists on the project if active otherwise to none
state = my_state # Optional if no iteration_output, default to current state of the project if active otherwise to none
iteration_output = { # Can be a single reward or reward = option, if it contains a multiple option choice but no option specified the default will be used. The reward must be available to the project
my_reward
my_other_reward # multiple choice, chose the default
my_third_reward = my_option_1 # Specified option to use
} # Optional amount of iteration rewards
show_modifiers = no # Optional, default = yes
}
}
实战 · 配合 · 坑
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
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
complete_special_project is commonly used in scripted events or national focus completions to directly grant research rewards for a special project, bypassing the normal facility research process. It's well-suited for creating alternate history paths or reward-based triggers. One important note: since it circumvents unlock checks in the project tree, it can be leveraged to implement "conditional bonus" style tech rewards.
# After the Soviet Union completes a certain focus, directly unlock the nuclear device special project and specify iteration reward options
SOV = {
complete_special_project = {
project = sp:sov_nuclear_device
scientist = var:sov_lead_scientist
state = var:sov_research_state
iteration_output = {
sov_yield_reward = option_high_yield
}
show_modifiers = yes
}
}
Synergy
[has_completed_focus](/wiki/trigger/has_completed_focus) — Use within if conditions to check whether a country has completed a specific focus, then decide whether to trigger this effect. This ensures special project unlocks align with narrative logic.
[generate_scientist_character](/wiki/effect/generate_scientist_character) — First generate a scientist character, then pass it as the scientist parameter to avoid null value errors when the project lacks scientist binding.
[add_tech_bonus](/wiki/effect/add_tech_bonus) — Use in combination to grant conventional tech bonuses alongside special project unlocks, ensuring rewards from both research systems remain coordinated.
[country_event](/wiki/effect/country_event) — Trigger an event immediately after project completion to display narrative feedback or offer follow-up choices, compensating for the lack of facility/scientist visual feedback from this effect alone.
Common Pitfalls
Overlooking that scientist and facility effects don't apply: Newcomers often mistakenly assume that after populating the scientist and state fields, scientist bonuses and facility bonuses will calculate normally. In reality, the developers explicitly state these two types of effects will not be applied. These fields primarily affect the calculation context for iteration_output; filling them incorrectly or carelessly won't throw errors but won't deliver expected benefits either.
Using the effect without unlocking prerequisites and failing to backfill: While this effect permits skipping prerequisite projects to unlock directly, if subsequent logic in the project tree depends on prerequisite completion status (such as has_completed_special_project checks), you'll encounter inconsistent tree states. It's recommended to chain multiple calls to this effect to backfill all necessary prerequisites.