Wiki

effect · complete_special_project

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

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 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。

实战用法

complete_special_project 常用于剧情事件或国策完成时,直接授予某个特殊项目的研究成果,跳过正常的设施研究流程,适合制作替代历史线或奖励性触发器。需要注意的是,由于绕过了项目树的解锁检查,可以用来实现"条件特供"式的技术奖励。

# 苏联完成某国策后直接解锁核武特殊项目,并指定迭代奖励选项
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
    }
}

配合关系

  • [has_completed_focus](/wiki/trigger/has_completed_focus) — 在 if 条件中判断某国策是否已完成,再决定是否触发本 effect,确保特殊项目的解锁符合剧情逻辑。
  • [generate_scientist_character](/wiki/effect/generate_scientist_character) — 先生成一名科学家角色,再将其作为 scientist 参数传入,避免项目在没有科学家绑定时产生空值异常。
  • [add_tech_bonus](/wiki/effect/add_tech_bonus) — 搭配使用可在解锁特殊项目之余,同步给予常规科技加成,让两套研究体系的奖励协调一致。
  • [country_event](/wiki/effect/country_event) — 完成项目后立即触发事件,向玩家展示剧情反馈或提供后续选择,弥补本 effect 不显示设施/科学家效果的视觉空缺。

常见坑

  1. 忽略设施与科学家效果不生效的限制:新手常误以为填写 scientiststate 字段后,科学家加成和设施加成会正常结算,实际上官方明确说明这两类效果不会被应用,这两个字段主要影响 iteration_output 的结算上下文,填错或乱填不会报错但也不会带来预期收益。
  2. 在未解锁前置项目时直接使用却不做补全:本 effect 允许跳过前置项目直接解锁,但如果项目树中后续逻辑依赖前置项目的完成状态(如 has_completed_special_project 类判断),则会出现树状态不一致的问题,建议搭配多次调用本 effect 将必要的前置项目一并补全。

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

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

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