Hands-On Usage
add_mastery_bonus is ideal for providing players with phased doctrine mastery acceleration buffs through focuses, decisions, or events—for example, granting a specific unit type faster mastery progression for a period after completing a research focus. With fine-grained filters, you can apply bonuses to only specific folders, grand doctrines, or sub-doctrine tracks, avoiding unintended impact on unrelated doctrine paths.
focus = {
id = GER_blitzkrieg_doctrine
# ...
completion_reward = {
GER = {
add_mastery_bonus = {
bonus = 0.15
days = 180
name = GER_blitzkrieg_focus_bonus
folder = land
grand_doctrine = mobile_warfare
}
}
}
}
Synergy
[add_daily_mastery](/wiki/effect/add_daily_mastery): A permanent adjustment that directly increases daily mastery gain, complementing add_mastery_bonus's time-limited buff with a "short-term sprint" paired with "long-term growth" dynamic.
[add_mastery](/wiki/effect/add_mastery): Grants an immediate one-time mastery boost; can be combined with add_mastery_bonus to deliver a dual reward of "instant jump forward + accelerated progression over the following period."
[has_completed_track](/wiki/trigger/has_completed_track): Checks whether a specific mastery track is complete; pairs with add_mastery_bonus to design conditional logic such as "trigger acceleration only after completing prerequisite tracks."
[has_any_grand_doctrine](/wiki/trigger/has_any_grand_doctrine): Verifies whether a nation holds a specific grand doctrine, ensuring the bonus only applies when the corresponding doctrine is active and preventing misaligned effects.
Common Pitfalls
- Overly broad effect scope when all filters are omitted: If no filter fields (
folder, grand_doctrine, sub_doctrine, track, index) are specified, the bonus applies to all active tracks, potentially causing unexpectedly powerful acceleration when players pursue multiple doctrine lines simultaneously. It is strongly recommended to apply at least one filter constraint aligned with your design intent.
- Intuitive gap between
days and actual gameplay time: days represents in-game days, not real-world time; newcomers often underestimate campaign duration, causing the buff to expire prematurely at critical moments. Calculate the day value based on actual campaign pacing, or use event/decision chains to manually remove or refresh the bonus as needed.