命令百科

trigger · has_navy_ledger

Definition

  • Supported scope:CHARACTER
  • Supported target:none

Description

has_navy_ledger = yes/no - Checks if the current character has a navy ledger

实战 · 配合 · 坑

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

实战用法

has_navy_ledger 常用于 advisor 或 commander 相关的 mod 场景,例如判断某角色是否持有海军账册以决定是否允许其担任特定职位,或限制某些 trait 的解锁条件。在设计海军专属角色路径时,可以用此 trigger 作为 availablelimit 的前置门槛,避免陆军将领误触海军专属逻辑。

# 仅当角色拥有海军账册时,才允许选择此顾问角色
available = {
    has_navy_ledger = yes
    is_navy_leader = yes
}

配合关系

  • [is_navy_leader](/wiki/trigger/is_navy_leader):两者经常组合使用,is_navy_leader 确认角色的指挥类型,has_navy_ledger 进一步确认其账册归属,双重验证避免逻辑漏洞。
  • [has_army_ledger](/wiki/trigger/has_army_ledger)[has_air_ledger](/wiki/trigger/has_air_ledger):通常以互斥形式出现在同一 trigger 块中,用于区分三军账册归属,确保角色只属于某一军种分支。
  • [has_advisor_role](/wiki/trigger/has_advisor_role):在判断角色是否可以担任海军系顾问职位时,与 has_navy_ledger 共同作为前置条件,组合使用可精确限定角色的功能范围。
  • [add_naval_commander_role](/wiki/effect/add_naval_commander_role):在 effect 块给角色赋予海军指挥官职位后,后续用 has_navy_ledger 做条件校验,确认赋值已生效再执行下一步逻辑。

常见坑

  1. Scope 错误:此 trigger 只能在 CHARACTER scope 下使用,新手有时在国家 scope 或省份 scope 中直接调用,导致脚本报错或静默失效,使用前务必确认当前 scope 已切换到角色。
  2. yes/no 混用逻辑反转:部分新手在想要"排除持有海军账册的角色"时,忘记使用 has_navy_ledger = no 或将其包裹在 NOT = { } 中,导致筛选逻辑与预期相反。