实战用法
此 trigger 常用于和平会议相关的 mod 场景,例如在会议结束后的事件或决议中,检测某个国家是否通过 take_states 动作声索并夺取了特定州,从而触发后续剧情分支或惩罚机制。典型场景包括:战后重建决议的解锁条件、或当某大国在会议中吞并关键州后自动激活某些区域事件。
# 在某个 STATE scope 的事件触发中判断苏联是否通过会议取得了该州
some_state_event = {
trigger = {
pc_is_state_claimed_and_taken_by = SOV
}
# ...
}
# 也可以用动态 scope 写法
pc_is_state_claimed_and_taken_by = ROOT.FROM
配合关系
[pc_is_state_claimed_by](/wiki/trigger/pc_is_state_claimed_by):先用此 trigger 检查该州是否被某国在会议中提出声索,再用 pc_is_state_claimed_and_taken_by 进一步确认是否真正通过 take_states 取得,形成两层判断逻辑。
[is_owned_by](/wiki/trigger/is_owned_by):会议结束后配合使用,验证该州是否在游戏状态层面也确实已归属目标国,避免会议数据与实际所有权不同步时产生逻辑漏洞。
[has_state_flag](/wiki/trigger/has_state_flag):常用于标记"该州已被会议瓜分"这一状态,与 pc_is_state_claimed_and_taken_by 组合构成条件门控,防止事件重复触发。
[set_state_owner_to](/wiki/effect/set_state_owner_to):在确认会议声索成立后,作为 effect 执行实际的所有权转移,是此 trigger 最直接的后续动作。
常见坑
- scope 混用:此 trigger 必须在 STATE scope 下使用,新手常在 COUNTRY scope 的事件或决议
trigger 块中直接写,导致解析报错或静默失效;需要先通过 any_state / every_state 等进入正确 scope。
- 会议数据生命周期误解:和平会议结束后,会议相关的内部数据可能已被清除,此 trigger 在会议进行中最为可靠;若在会议结束很久后的事件中调用,可能始终返回 false,应配合
[has_state_flag](/wiki/trigger/has_state_flag) 在会议期间预先打好标记来规避此问题。