实战用法
add_timed_idea 常用于为国家添加具有时效性的 buff/debuff,例如战后重建惩罚、特殊事件带来的临时加成、谈判协议产生的短期效果等场景,到期后自动移除无需额外脚本维护。下面示例模拟一场外交危机使某国获得为期半年的战争准备加成:
country_event = {
id = my_mod.5
option = {
name = my_mod.5.a
# 危机结束,获得临时战争动员加成
add_timed_idea = {
idea = war_preparation_bonus
months = 6
}
}
}
配合关系
[has_dynamic_modifier](/wiki/trigger/has_dynamic_modifier) / [add_dynamic_modifier](/wiki/effect/add_dynamic_modifier):当需要同时附加可变数值修饰器与固定 idea 时配合使用,两者共同构成完整的临时状态叠加方案。
[add_ideas](/wiki/effect/add_ideas):用于对比——若 idea 需要永久生效则改用 add_ideas,与 add_timed_idea 搭配可同时发放永久与临时两种 idea。
[add_days_remove](/wiki/effect/add_days_remove):当已通过 add_ideas 添加了一个普通 idea 后,可用 add_days_remove 追加倒计时,两者组合实现与 add_timed_idea 相近但更灵活的效果。
[has_country_flag](/wiki/trigger/has_country_flag):常与国旗配合,先设旗记录"临时 idea 已激活"状态,再在其他触发器中检测旗帜,避免重复添加同一 idea。
常见坑
- 忘记填写至少一个时间字段:
years、months、days 三者必须至少给出一个,若全部省略游戏不会报错提示,但 idea 可能永久存留或立即消失,行为不可预期。
- 误将变量直接写成浮点数:时间字段只接受正整数或已定义的变量,写成小数(如
days = 1.5)会导致解析异常;若要使用变量,需确保该变量在执行时已被赋值且为正整数。