实战用法
generate_character 最常用于历史/架空 mod 中批量为多个国家生成共用模板的顾问或将领,例如给一组小国同时生成同一类型但各自独立的军事顾问,避免重复编写大量 create_corps_commander 或 add_advisor_role 块。它的核心优势在于通过 token_base 自动为每个国家生成唯一 token,天然避免 token 冲突。
every_country = {
limit = {
OR = {
original_tag = BUL
original_tag = HUN
original_tag = ROM
}
}
generate_character = {
token_base = axis_minor_general_1
advisor = {
slot = army_chief
allowed = { original_tag = PREV }
traits = { army_chief_offensive_2 }
}
}
}
配合关系
[has_character](/wiki/trigger/has_character):在 limit 中检查某国是否已经拥有对应角色,防止重复生成同一 token 的角色。
[activate_advisor](/wiki/effect/activate_advisor):角色生成后默认仅"存在"于角色池,需要配合此命令让其立即上任顾问职位。
[original_tag](/wiki/trigger/original_tag)(通过 every_country 的 limit 块使用):精准筛选目标国家范围,是控制批量生成边界的标准手段。
[add_ideas](/wiki/effect/add_ideas):若生成的角色同时绑定了 idea,可在生成后立即用此命令赋予国家对应 idea 效果,实现完整的顾问激活链。
常见坑
- 忘记
token_base 的唯一性规则:generate_character 会以 token_base 作为最终 token,若在同一国家重复触发同一 token_base,第二次生成会静默失败或覆盖,务必配合 [has_character](/wiki/trigger/has_character) 在 limit 中做保护判断。
- 直接在国家 scope 外调用:此 effect 必须在
COUNTRY scope 下执行(通常是 every_country 内部),若误放在 STATE 或 UNIT LEADER scope 中会导致脚本报错或角色归属异常,调试时注意检查 scope 层级。