实战用法
is_mio_trait_completed 常用于判断某个军事工业组织是否已解锁并完成特定特性,从而决定后续奖励、事件触发或其他效果是否生效。例如在 MIO 相关事件或决议的 available 块中,检查某个关键生产特性是否已完成后再允许玩家执行高级操作。
# 在某个决议或事件 trigger 块中
mio:my_tank_manufacturer = {
is_mio_trait_completed = advanced_armor_plating
}
配合关系
[has_mio_trait](/wiki/trigger/has_mio_trait):先用此 trigger 判断组织是否拥有该特性(无论是否完成),再用 is_mio_trait_completed 进一步确认已完成,形成两段式保险检查,避免因特性不存在而产生意外结果。
[complete_mio_trait](/wiki/effect/complete_mio_trait):常作为对应 effect 配合使用——先用 is_mio_trait_completed 检查特性是否尚未完成,条件不满足时才触发 complete_mio_trait 强制补全,防止重复执行。
[has_mio_number_of_completed_traits](/wiki/trigger/has_mio_number_of_completed_traits):两者结合可同时检查"整体完成数量"与"特定特性是否完成",构建更精细的解锁条件树。
常见坑
- Scope 写错位置:新手容易在国家 scope 或装备 scope 下直接写
is_mio_trait_completed,而实际上必须先通过 mio:my_mio = { ... } 进入 INDUSTRIAL_ORG scope,否则脚本报错或静默失效。
- 混淆"拥有特性"与"完成特性":
has_mio_trait 只判断特性存在(包括未完成的锁定状态),而 is_mio_trait_completed 要求特性已完全解锁完成,两者含义不同,用错会导致条件在意料之外的情况下为真或为假。