实战用法
在需要对受伤科学家进行特殊处理的 mod 场景中(如暂停研究项目、触发剧情事件或限制科学家行动),可用此 trigger 检测科学家当前是否处于受伤状态。例如,在事件选项中仅当科学家未受伤时才允许指派其执行任务:
available = {
is_scientist_injured = no
}
配合关系
[is_active_scientist](/wiki/trigger/is_active_scientist) — 通常先确认角色是否是活跃科学家,再检查其是否受伤,避免对非科学家角色进行无效判断。
[injure_scientist_for_days](/wiki/effect/injure_scientist_for_days) — 常用于触发受伤效果后,再以 is_scientist_injured 反向检验受伤状态是否已生效,用于调试或后续条件分支。
[has_scientist_level](/wiki/trigger/has_scientist_level) — 高等级科学家受伤时往往需要额外的剧情处理,两者组合可针对特定级别的受伤科学家触发不同逻辑。
[add_scientist_xp](/wiki/effect/add_scientist_xp) — 在恢复阶段给予科学家经验奖励时,需确保受伤状态已结束,常与此 trigger 的否定形式配合使用。
常见坑
- 忘记确认 scope 是否为科学家角色:直接在国家或省份 scope 下使用此 trigger 会导致脚本报错或永久返回假,务必确保当前 scope 指向一个具有科学家身份的 CHARACTER。
- 将受伤状态与非活跃状态混淆:科学家未受伤并不代表其处于活跃状态,
is_scientist_injured = no 并不等同于 is_active_scientist = yes,两个条件需分开判断,不可相互替代。