实战用法
can_be_country_leader 常用于判断某角色是否具备国家领袖职务,从而在 focus、decision 或 on_action 中安全地执行领袖相关操作,避免对非领袖角色误操作。例如在角色死亡后决定接班人时,先过滤掉没有领袖角色的候选人:
# 在某个 decision 的 available 块中,判断目标角色是否能作为国家领袖
available = {
GER_erwin_rommel = {
can_be_country_leader = yes
}
}
配合关系
[add_country_leader_role](/wiki/effect/add_country_leader_role):若角色尚未拥有领袖角色,可先行添加,与 can_be_country_leader 配合做"有则跳过、无则补充"的逻辑。
[remove_country_leader_role](/wiki/effect/remove_country_leader_role):在确认角色确实持有领袖角色(can_be_country_leader = yes)后,才安全地移除,防止对无该角色的角色执行移除报错。
[has_character](/wiki/trigger/has_character):在跨 scope 调用前先确认角色存在于该国,与 can_be_country_leader 形成"角色存在 → 角色有领袖职务"的双重检查链。
[promote_character](/wiki/effect/promote_character):晋升角色前先验证其领袖资格,避免将普通顾问或将领误提升为国家领袖。
常见坑
- Scope 混淆:该 trigger 可在 COUNTRY scope 下以
TAG = { can_be_country_leader = yes } 写法调用,但此时实际上是检查该 TAG 下某具体角色,不少新手误以为是判断"该国是否存在任意一位国家领袖",实际上必须明确指向具体角色才有意义。
- 与
has_advisor_role 混用:can_be_country_leader 仅检查是否拥有 country leader role,而顾问职务需用 [has_advisor_role](/wiki/trigger/has_advisor_role) 判断,两者不可互换,否则条件永远不成立也不会有任何报错提示。