实战用法
此 effect 常用于设计"不可解雇"的关键顾问角色,例如剧情向 mod 中某位对国家命运至关重要的政治顾问,或者玩家在特定国策完成后强制雇用且不允许开除的历史人物。当 value = no 时,顾问一旦入职便被锁定,适合配合剧情触发点强化叙事压迫感。
# 国策完成后,锁定某顾问使其无法被解雇
focus = {
id = appoint_iron_chancellor
...
completion_reward = {
activate_advisor = {
character = GER_otto_von_bismarck
slot = political_advisor
}
set_can_be_fired_in_advisor_role = {
character = GER_otto_von_bismarck
slot = political_advisor
value = no
}
}
}
配合关系
[activate_advisor](/wiki/effect/activate_advisor):先激活顾问,再调用本 effect 设置锁定标志,两者几乎是固定搭档,顺序不能颠倒。
[add_advisor_role](/wiki/effect/add_advisor_role):若顾问角色是动态添加的,需先用此 effect 挂载顾问 role,再用本 effect 锁定,确保 slot 字段已存在。
[deactivate_advisor](/wiki/effect/deactivate_advisor):在某些解锁条件达成后,可先用本 effect 将 value 改回 yes,再调用此 effect 解雇顾问,实现"有条件可开除"的双向控制。
[advisor_can_be_fired](/wiki/trigger/advisor_can_be_fired):用于检测当前顾问是否处于可解雇状态,可在 if/else 逻辑中判断后再决定是否调用本 effect 修改标志。
常见坑
- 忘记指定
slot 导致脚本报错或行为异常:当一个角色同时拥有多个顾问 role(如既是 political_advisor 又是其他类型顾问)时,slot 字段是必填的,遗漏会导致游戏无法确定作用于哪个 role,轻则静默失效,重则报错。
- 在顾问未被雇用时调用本 effect 无效:本 effect 修改的是"已在职顾问 role"上的标志位,若目标角色尚未通过
activate_advisor 入职,设置不会被保留,需确保调用时顾问已处于激活状态。