Wiki

trigger · has_any_grand_doctrine

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Checks if any grand doctrine is currently assigned to the given folder

	### Examples
	```
	TAG = {
		has_any_grand_doctrine = land
	}
	```

实战 · 配合 · 坑

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

实战用法

has_any_grand_doctrine 常用于判断某国是否已在特定学说文件夹中分配了"大学说",从而解锁后续国策、决议或顾问。例如在军事改革类 mod 中,可以用它来检查玩家是否已经激活了陆地或海军学说方向,再决定是否显示对应的专项奖励决议。

# 仅当该国已在 land 文件夹配有大学说时才可用
available = {
    has_any_grand_doctrine = land
}

配合关系

  • [has_completed_subdoctrine](/wiki/trigger/has_completed_subdoctrine):配合使用可进一步区分"已分配大学说"与"已完成某具体子学说",实现更精细的学说进度门槛。
  • [has_doctrine](/wiki/trigger/has_doctrine):用于检查是否解锁了具体的某条学说节点,与 has_any_grand_doctrine 搭配可构建"大方向已选 + 具体节点已研究"的双重判断。
  • [has_completed_track](/wiki/trigger/has_completed_track):检查整条学说轨道是否完成,可与 has_any_grand_doctrine 一同作为高阶国策或决议的前提条件。
  • [add_doctrine_cost_reduction](/wiki/effect/add_doctrine_cost_reduction):在触发条件满足后给予学说费用折扣,是常见的"已选大学说方向→后续研究更便宜"设计模式。

常见坑

  1. scope 写错:该 trigger 只能在 COUNTRY scope 下使用,若写在 STATE 或 CHARACTER scope 中脚本会报错或静默失效,务必确认外层作用域是国家。
  2. 文件夹名拼写错误:参数是学说文件夹的名称(如 landnaval),必须与 common/technologies/ 下对应的文件夹标识完全一致,大小写或命名不符会导致条件永远为假。

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_any_grand_doctrine is commonly used to check whether a country has already allocated a "grand doctrine" within a specific doctrine folder, thereby unlocking subsequent national focuses, decisions, or advisors. For example, in military reform mods, you can use it to verify whether the player has activated a land or naval doctrine direction, then decide whether to display corresponding specialized reward decisions.

# Only available if the country has a grand doctrine assigned in the land folder
available = {
    has_any_grand_doctrine = land
}

Synergy

  • [has_completed_subdoctrine](/wiki/trigger/has_completed_subdoctrine): Used together to further distinguish between "grand doctrine allocated" and "specific subdoctrine completed", enabling more granular doctrine progress thresholds.
  • [has_doctrine](/wiki/trigger/has_doctrine): Checks whether a specific doctrine node has been unlocked. Combined with has_any_grand_doctrine, it constructs a dual-condition check of "broad direction selected + specific node researched".
  • [has_completed_track](/wiki/trigger/has_completed_track): Verifies whether an entire doctrine track is completed. Can be used alongside has_any_grand_doctrine as a prerequisite for advanced national focuses or decisions.
  • [add_doctrine_cost_reduction](/wiki/effect/add_doctrine_cost_reduction): Grants doctrine cost reduction after the trigger condition is met, representing the common design pattern of "grand doctrine direction selected → subsequent research becomes cheaper".

Common Pitfalls

  1. Scope error: This trigger only works within COUNTRY scope. If placed in STATE or CHARACTER scope, the script will error or silently fail. Always verify that the outer scope is a country.
  2. Doctrine folder name typo: The parameter is the name of the doctrine folder (e.g., land, naval), and must exactly match the folder identifier under common/technologies/. Mismatched capitalization or naming will cause the condition to always evaluate as false.