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