Wiki

trigger · has_tech

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

check if country has technology

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

has_tech is commonly used in the available/trigger blocks of focuses, decisions, or events to check whether a nation has researched a specific technology in order to unlock further options—for example, restricting a naval focus to only be selectable after researching carrier aircraft technology, or presenting different event options depending on whether the player possesses nuclear physics technology.

# Example: This decision is only available if the nation has researched basic artillery technology
available = {
    has_tech = gw_artillery
}

Synergy

  • [can_research](/wiki/trigger/can_research): First use has_tech to confirm that prerequisite technologies exist, then use can_research to determine whether the next-tier technology can begin research. Together, these two triggers can precisely describe the "learned/learnable" status of technology tree progression.
  • [add_tech_bonus](/wiki/effect/add_tech_bonus): Typically after has_tech verifies the existence of a prerequisite technology, use the effect to grant acceleration bonuses to the next technology, forming a complete chain of "detect existing tech → reward further research".
  • [has_completed_focus](/wiki/trigger/has_completed_focus): Place alongside has_tech within the trigger block to simultaneously require completion of a specific focus and possession of a specific technology, useful for setting stricter unlock conditions.
  • [has_doctrine](/wiki/trigger/has_doctrine): Similar to has_tech for technology-level condition checks. Together they can distinguish between "generic technologies" and "doctrine technologies", providing more comprehensive military technology assessment.

Common Pitfalls

  1. Typos in technology tokens causing conditions to always evaluate as false: The value for has_tech must be a technology token defined in the script (such as basic_tank_design), not the localization display name of the technology or a guessed name. It is recommended to look up the exact token directly in the corresponding .txt file within the technologies/ folder.
  2. Usage in non-COUNTRY scope: has_tech only functions within country scope. If written in the trigger block of a subscope like owned_state or unit_leader without switching back to country scope, the condition will fail to evaluate correctly. Use scope-switching commands like owner, ROOT, or FROM to return to COUNTRY scope before invoking the trigger.