命令百科

effect · set_border_war_data

Definition

  • Supported scope:any
  • Supported target:none

Description

update border war properties

实战 · 配合 · 坑

实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。

实战用法

set_border_war_data 用于在边境战争进行中动态调整其参数,例如修改交战双方的兵力上限、进攻方向或战场宽度等属性,适合在剧本事件或决议中根据战局演变调整边境冲突的规则。常见场景包括:玩家做出外交决策后通过事件选项调整边境战争强度,或在定时事件中根据双方实力差异平衡战场数值。

# 在某事件选项中调整边境战争数据
option = {
    name = border_war_event.1.a
    set_border_war_data = {
        attacker_modifier = {
            attack = 0.1
        }
        defender_modifier = {
            defense = -0.1
        }
    }
}

配合关系

  • [has_border_war_between](/wiki/trigger/has_border_war_between):在执行 set_border_war_data 前用此触发器验证两国之间确实存在边境战争,避免在无效状态下执行指令导致报错或静默失败。
  • [start_border_war](/wiki/effect/start_border_war):通常先用 start_border_war 发起边境战争,随后再用 set_border_war_data 对刚建立的战争进行初始参数微调。
  • [finalize_border_war](/wiki/effect/finalize_border_war):边境战争结束流程的配套指令,set_border_war_data 负责过程调整,finalize_border_war 负责结算收尾,两者共同构成完整的边境冲突生命周期管理。
  • [cancel_border_war](/wiki/effect/cancel_border_war):当需要强制终止并清除边境战争时与之形成对比使用,确保开发者在"修改"还是"取消"之间做出明确选择。

常见坑

  1. 在无边境战争时调用:若目标两国之间当前不存在进行中的边境战争,直接执行 set_border_war_data 不会报错但完全无效,务必先用 [has_border_war_between](/wiki/trigger/has_border_war_between) 做条件检查,将指令包裹在 [if](/wiki/effect/if) 块内。
  2. Scope 指向错误set_border_war_data 的属性中需要明确指定交战双方,若 scope 层级混乱(例如在 country scope 内未正确引用边境战争的 attacker/defender),参数将无法正确写入,调试时应善用 [log](/wiki/effect/log) 输出当前 scope 状态进行排查。