实战用法
在贸易或军购 mod 中,常用于在采购合同触发某些事件或决议时,先验证合同内容是否符合条件,例如仅当合同涉及特定装备类别时才允许外交干预或触发事件。也可用于区分不同合同类型,给予不同的处理逻辑(如对步兵装备合同施加额外限制)。
# 仅当采购合同包含步兵装备时,才允许取消该合同
cancel_purchase_contract = {
limit = {
contract_contains_equipment = infantry_equipment
}
}
配合关系
[buyer](/wiki/trigger/buyer):先用 buyer 确认合同买方是否为目标国家,再用本 trigger 检查装备类型,双重筛选精确定位合同。
[seller](/wiki/trigger/seller):与 seller 联用,可同时约束交易双方身份,避免误判其他国家之间的同类合同。
[cancel_purchase_contract](/wiki/effect/cancel_purchase_contract):条件满足后的典型后续动作,在 limit 块中用本 trigger 过滤,再执行取消合同操作。
[deal_completion](/wiki/trigger/deal_completion):与 deal_completion 搭配,可判断"包含特定装备且即将完成交割"的合同,用于触发交付事件。
常见坑
- scope 用错:本 trigger 必须在
PURCHASE_CONTRACT scope 内调用,若直接写在国家 scope 的 trigger 块中会静默失败或报错,需确保已通过合同迭代/事件正确进入合同 scope。
- 参数类型混淆:参数可以是装备类别、装备原型或具体装备,但填写时必须使用游戏内实际定义的 key(如
infantry_equipment 而非自创名称),拼写错误不会有明显报错,只会导致条件永远为假。