实战用法
injure_scientist_for_days 常用于 mod 中模拟科学家在执行危险研究项目、实验室事故或间谍破坏事件后暂时失能的剧情效果,让玩家在一段时间内无法使用该科学家参与科研。例如在一个科技灾难事件中强制令某位科学家受伤:
country_event = {
id = my_mod.42
title = "实验室爆炸事故"
option = {
name = "安排救治"
# 进入科学家角色 scope 后调用
my_lead_scientist_character = {
injure_scientist_for_days = 30
}
}
}
配合关系
[is_scientist_injured](/wiki/trigger/is_scientist_injured) — 在施加伤害前或事后检查该科学家是否已处于受伤状态,避免重复触发或叠加逻辑混乱。
[is_active_scientist](/wiki/trigger/is_active_scientist) — 确认角色当前正处于活跃科学家身份,防止对未激活的角色执行该指令导致无效调用。
[add_scientist_xp](/wiki/effect/add_scientist_xp) — 可在受伤恢复后作为补偿奖励经验值,构成"事故→康复→成长"的完整事件链叙事。
[operative_leader_event](/wiki/effect/operative_leader_event) — 若科学家身兼情报角色,可在受伤同时触发后续事件,推动剧情发展。
常见坑
- Scope 指向错误:该指令必须在
CHARACTER scope 内执行,新手容易在 COUNTRY scope 下直接调用而不先通过角色变量进入角色 scope,导致脚本报错或静默失效,务必确认已切换到正确的科学家角色 scope。
- 对非科学家角色使用:若目标角色并没有通过
add_scientist_role 分配科学家职能,对其执行此指令通常不会产生任何实际效果,建议在调用前先用 [is_active_scientist](/wiki/trigger/is_active_scientist) 做条件判断加以保护。