trigger · has_any_license
Definition
- Supported scope:
COUNTRY - Supported target:
any
Description
Country has any active licenses
Example: has_any_license = yes
has_any_licenseCOUNTRYanyCountry has any active licenses
Example: has_any_license = yes
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
has_any_license 常用于外贸/装备授权系统相关的 mod 中,例如在 focus 或 decision 的 available 块里判断某国是否正在享受他国的生产许可,从而决定是否解锁额外外交选项或外交压力事件。也可用于 AI 策略中,区分"自力更生"与"依赖授权"两种国家状态,给予不同的 AI 行为权重。
# 示例:某决策仅对拥有活跃授权的国家可用
decision_category = {
my_embargo_pressure = {
available = {
has_any_license = yes
}
# 触发对授权方的外交压力事件
}
}
[any_purchase_contract](/wiki/trigger/any_purchase_contract):has_any_license 确认存在授权后,可用 any_purchase_contract 进一步遍历具体合同内容,精确筛选特定装备或授权方。[break_embargo](/wiki/effect/break_embargo):当检测到存在授权且满足特定条件时,可调用 break_embargo 中断对应贸易关系,两者形成"判断-执行"的完整逻辑闭环。[create_production_license](/wiki/effect/create_production_license):常作为反向配合——若 has_any_license = no,则通过 create_production_license 新建授权,保证后续逻辑有效;两者合用可实现"无则创建"的模板写法。[all_purchase_contracts](/wiki/trigger/all_purchase_contracts):配合 has_any_license 做前置过滤,确保进入 all_purchase_contracts 遍历时列表非空,避免空集合导致逻辑误判。yes 写成 no 时语义反转却不自知:has_any_license = no 表示"完全没有任何授权",新手有时误以为它检测的是"授权未激活",实际上只要存在哪怕一条活跃授权就返回假,需搭配 any_purchase_contract 做更细粒度的判断。any_owned_state 或 any_unit_leader 等子 scope 内部调用,脚本不会报错但判断结果会静默失效或被引擎忽略,应在进入子 scope 之前于外层国家 scope 完成判断。