命令百科

trigger · is_hired_as_advisor

Definition

  • Supported scope:CHARACTER
  • Supported target:none

Description

is_hired_as_advisor = yes/no - Checks if the current character has at least one advisor role for which they are hired

实战 · 配合 · 坑

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

实战用法

is_hired_as_advisor 常用于顾问相关事件或决策中,检测某角色当前是否处于"在职顾问"状态,从而决定是否触发解雇、升职或特殊剧情。例如在 mod 中想给在职顾问额外加一条 trait,或在国家决策的 available 块里限定只有正在被雇用的顾问才能被选择执行某任务:

# 示例:仅当该角色作为顾问被雇用时,才允许触发后续效果
some_character = {
    limit = {
        is_hired_as_advisor = yes
    }
    add_trait = { token = experienced_advisor }
}

配合关系

  • [has_advisor_role](/wiki/trigger/has_advisor_role) — 配合使用可以先判断角色拥有某个顾问职位定义,再用 is_hired_as_advisor 进一步确认该职位是否真正处于在职状态,两者形成"有职位且在岗"的双重过滤。
  • [advisor_can_be_fired](/wiki/trigger/advisor_can_be_fired) — 常一起出现在解雇流程的条件判断里,先确认角色已被雇用,再检查该顾问当前是否允许被解雇,避免对未在职角色执行多余的判断。
  • [remove_advisor_role](/wiki/effect/remove_advisor_role) — 在 effect 块中配合使用:先用 is_hired_as_advisor = yes 在 limit 里把关,确认在职后再安全地移除其顾问职位,防止对未在职角色执行移除导致脚本报错或行为异常。
  • [set_can_be_fired_in_advisor_role](/wiki/effect/set_can_be_fired_in_advisor_role) — 当需要动态锁定某顾问不可解雇时,通常先用 is_hired_as_advisor = yes 确认其在职身份,再通过此 effect 修改其可解雇属性,逻辑更严谨。

常见坑

  1. 将其与 is_advisor 混淆is_advisor 只检查角色是否拥有顾问职位定义(即有没有被配置为顾问),而 is_hired_as_advisor 检查的是该角色当前是否被某国实际雇用上岗;未区分这两者会导致在角色尚未被任何国家聘用时也误判为"在职"。
  2. scope 使用错误:此 trigger 必须在 CHARACTER scope 下使用,若直接写在国家 scope 的条件块内而不先切入角色 scope,游戏会报错或静默返回假,新手常忘记用 = { } 包裹角色并切换 scope 后再调用。