实战用法
has_license 常用于判断某国是否已从其他国家获得特定装备的生产授权,从而解锁专属决策、国策或科研奖励。例如在二战 mod 中,可以检测某小国是否拥有德国坦克的生产许可,进而允许其建造特定的装甲师模板或触发外交事件。
# 只有在持有轴心国坦克授权时,才允许执行该决策
available = {
has_license = {
from = GER
archetype = medium_tank_equipment
}
}
配合关系
[has_any_license](/wiki/trigger/has_any_license):当不关心具体来源国或型号、只需判断"是否持有任何授权"时,与 has_license 互为精粗两档搭配使用。
[create_production_license](/wiki/effect/create_production_license):通常在 effect 块中用该命令授予许可,随后在 trigger 块中用 has_license 验证是否授予成功,形成"给予—检测"闭环。
[has_design_based_on](/wiki/trigger/has_design_based_on):与 has_license 配合可区分"拥有授权"与"已基于授权设计了变体"这两个不同阶段,避免逻辑混淆。
[any_purchase_contract](/wiki/trigger/any_purchase_contract):区分"生产授权"与"采购合同"两种不同的装备获取方式,在复杂军贸 mod 中常需同时检测两者。
常见坑
archetype 与 equipment 不能同时使用:官方定义明确说明二者互斥,若同时填写则脚本行为未定义,新手容易误以为可以叠加过滤,实际上应根据需要二选一。
- 省略
from 不等于匹配所有来源:省略 from 字段时会匹配来自任意国家的授权,但若误将 from 写成自身 TAG,则永远无法满足条件(国家不能向自己颁发授权),导致条件始终为假。