Hands-On Usage
has_tech_bonus is commonly used within available / trigger blocks of focus trees or decisions to check whether a country has obtained a specific technology or category bonus through a particular tech bonus path, thereby determining whether to unlock subsequent options or display hints. For example, in a custom focus tree where players must first acquire an armor tech bonus through a certain focus before progressing further:
available = {
has_tech_bonus = {
category = armor
}
}
Synergy
[add_tech_bonus](/wiki/effect/add_tech_bonus): These two form a classic pairing—first use has_tech_bonus to check whether a category bonus already exists, then use add_tech_bonus to grant a new bonus, avoiding duplicate stacking or logical conflicts.
[has_completed_focus](/wiki/trigger/has_completed_focus): Commonly found in verification chains of "possessing a tech bonus only after completing a certain focus," written alongside has_tech_bonus in the same trigger block to ensure strict conditions.
[can_research](/wiki/trigger/can_research): When assessing whether a tech bonus has practical value, pair it with can_research to verify whether the technology is currently researchable, preventing the bonus from being applied to already-researched or unlocked technologies, which would result in invalid checks.
[has_doctrine](/wiki/trigger/has_doctrine): When tech bonuses are linked to doctrines, commonly use has_doctrine alongside has_tech_bonus to restrict a certain path, ensuring the nation follows the correct military doctrine branch.
Common Pitfalls
- Misunderstanding the mixing of
technology and category fields: Beginners often mistakenly assume both fields must be filled simultaneously, but in reality, filling one is sufficient to achieve the intended check. If both are filled, note that they have an "AND" relationship—the specified technology must also belong to the specified category, otherwise the condition will always be false.
- Treating it as a substitute for "technology already researched":
has_tech_bonus checks for "whether the country possesses a research bonus for that technology," not "whether that technology has already been fully researched." These are entirely different meanings—the latter should use has_tech for checking, and mixing them up will result in completely incorrect logic.