Wiki

effect · add_breakthrough_points

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Add breakthrough points to one specialization or all for a country scope.
	ex:
    add_breakthrough_points = {
	  specialization = <sp_specialization_id>
      value = 3
	}
    add_breakthrough_points = {
	  specialization = all
      value = -1
	}

实战 · 配合 · 坑

实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。

实战用法

add_breakthrough_points 常用于科研突破系统相关的 mod 场景,例如在完成某项国策或决议后奖励玩家特定专业领域的突破点数,或在事件中惩罚某国、扣减其突破进度。以下示例展示完成国策后为某一专业方向添加突破点数:

focus = {
    id = my_focus_advance_armor
    ...
    completion_reward = {
        add_breakthrough_points = {
            specialization = sp_specialization_land
            value = 3
        }
    }
}

配合关系

  • [add_breakthrough_progress](/wiki/effect/add_breakthrough_progress):两者分属不同层级——突破点数(breakthrough points)决定解锁能力上限,而突破进度(breakthrough progress)在此基础上推进具体研究,通常配合使用以同时奖励点数与当前进度。
  • [has_breakthrough_points](/wiki/trigger/has_breakthrough_points):在执行 add_breakthrough_points 前,常先用此触发器检查当前点数是否已达上限或满足门槛,避免无效发放。
  • [add_research_slot](/wiki/effect/add_research_slot):在科技发展类国策链中,两者常同时出现,一个扩充研究槽,另一个为特定专业方向提供突破点数,共同构成科研奖励包。
  • [add_tech_bonus](/wiki/effect/add_tech_bonus):科研激励场景中常与突破点数并列发放,前者降低特定科技的研究成本,后者推动专业化进展,形成互补的科研加速组合。

常见坑

  1. specialization 填写 ID 错误specialization 字段必须填写游戏内实际存在的专业化 ID(如 sp_specialization_land),或使用关键字 all。若填写拼写错误或不存在的 ID,游戏不会报错但效果静默失效,非常难以排查。
  2. 在非 COUNTRY scope 下调用:此 effect 仅支持 COUNTRY scope,若在 STATE 或 CHARACTER scope 的执行块中直接调用,效果不会生效。需确保使用前已通过 scope 转换(如 owner = { ... })切换到正确的国家 scope。

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

add_breakthrough_points is commonly used in mod scenarios involving the research breakthrough system, such as rewarding players with breakthrough points in a specific specialization after completing a national focus or decision, or penalizing a nation by deducting its breakthrough progress in events. The following example demonstrates adding breakthrough points to a specialization upon focus completion:

focus = {
    id = my_focus_advance_armor
    ...
    completion_reward = {
        add_breakthrough_points = {
            specialization = sp_specialization_land
            value = 3
        }
    }
}

Synergy

  • [add_breakthrough_progress](/wiki/effect/add_breakthrough_progress): These operate at different levels—breakthrough points determine the unlock capability ceiling, while breakthrough progress advances the specific research within that ceiling. They are typically used together to simultaneously reward both points and current progress.
  • [has_breakthrough_points](/wiki/trigger/has_breakthrough_points): Before executing add_breakthrough_points, it is common practice to first check with this trigger whether the current points have reached the cap or meet the threshold, preventing wasteful allocation.
  • [add_research_slot](/wiki/effect/add_research_slot): In technology development focus chains, these two frequently appear together—one expands research slots while the other provides breakthrough points for a specific specialization, collectively forming a research reward package.
  • [add_tech_bonus](/wiki/effect/add_tech_bonus): In research incentive scenarios, this is often awarded alongside breakthrough points; the former reduces research cost for specific technologies while the latter drives specialization progress, creating a complementary research acceleration combination.

Common Pitfalls

  1. Incorrect specialization ID: The specialization field must contain an actual in-game specialization ID (such as sp_specialization_land), or use the keyword all. Misspelled or non-existent IDs will not trigger an error but will silently fail, making them extremely difficult to debug.
  2. Calling outside COUNTRY scope: This effect only works in COUNTRY scope. If invoked directly within a STATE or CHARACTER scope block, it will not take effect. Ensure you have switched to the correct country scope via scope conversion (such as owner = { ... }) before use.