命令百科

trigger · has_template

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Check if country has a division template of specific name

实战 · 配合 · 坑

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

实战用法

has_template 常用于检查某国是否已建立特定编制的师模板,适合在国策、决策或 AI 策略中作为前置条件,例如判断玩家是否完成了装甲师或精锐步兵师的编制准备。典型场景包括:只有当国家拥有某个模板时才解锁后续决策,或用于 AI 行为判断。

# 决策的 available 块:只有建立了"装甲师"模板才可触发
available = {
    has_template = "装甲师"
}

配合关系

  • [has_army_size](/wiki/trigger/has_army_size):先用 has_template 确认模板存在,再用此 trigger 检查实际部署的兵力数量,两者配合形成完整的军事准备判断。
  • [any_country_division](/wiki/trigger/any_country_division)has_template 只验证模板存在,any_country_division 可进一步核查该模板是否已有实际部队在场上运行。
  • [division_template](/wiki/effect/division_template):在 effect 块中用于动态创建或修改师模板,通常在 has_template 判断为假时才执行,避免重复创建同名模板。
  • [delete_unit_template_and_units](/wiki/effect/delete_unit_template_and_units):需要替换旧模板时,先用 has_template 确认目标模板存在,再用此 effect 安全删除,防止删除不存在模板导致报错。

常见坑

  1. 模板名称大小写与空格必须完全一致:游戏对模板名做精确字符串匹配,"Armored Division""armored division" 会被视为不同模板,建议直接复制游戏内或脚本中定义的原始名称。
  2. Scope 混用导致静默失效has_template 只在 COUNTRY scope 下有效,若误写在 STATECHARACTER scope 内,触发器不会报错但会始终返回假,排查时容易忽略。