外交行动修改

本页面讲述的内容长期有效


有两种方法修改外交行动:控制硬编码互动的条件,位于 /Europa Universalis IV/common/diplomatic_actions;以及增加新的互动,位于 /Europa Universalis IV/common/new_diplomatic_actions

外交行动

00_diplomatic_actions.txt 文件在 /Europa Universalis IV/common/diplomatic_actions,控制原版外交行动的条件,诸如王室联姻。你不能编辑互动的效果,只能限定何时能采取行动。

要做到这点,你能增加一个条件作用域到适当的行动作用域,如果它不存在就(按照注释)创建那个行动作用域。例如,你想要防止 study_technology 被使用,如果当前国家是一个共和国,你应该做下面这样:

study_technology = {
    condition = {
        tooltip = CANNOT_STUDY_TECHNOLOGY
        potential = {
            government = republic
        }
        allow = {
            always = no
        }
    }
}

这里的 potential 用于限制何时条件被应用。在另一方面 allow 用于当行动被阻止时重构条件。

你能用 tooltip 这行添加一个工具提示,它会在条件有效且不被允许时显示。

一般的格式是:

<action> = {
    condition = {
        tooltip = <string>
        potential = {
            <triggers>
        }
        allow = {
            <triggers>
        }
    }
}

新的外交行动

00diplomatic_actions.txt 文件位于 /Europa Universalis IV/common/new_diplomatic_actions,它被用于实现新的外交行动。当然,在这个文件夹下建立新的文件也是可以的。00文件中包含示例和说明,显然,如果多个Mod都修改了它,就会造成冲突,所以为你的Mod新建一个专门的文件是必须的。

<action> = {
    category = <category>           # 该行动会显示在哪个外交行动列表里。
    
    alert_index = <int>             # 用于该行动的警告。索引号参考 static_actions。可选的。
    alert_tooltip = <key>           # 要显示在警告工具提示的本地化关键字。可选的。
    
    require_acceptance = yes / no   # 是否该行动需要被目标国家接受,以便执行接受效果
    
    # 决定何时该行动是可见的
    is_visible = {
        <triggers>
    }
    
    # 决定何时该行动能被采用
    is_allowed = {
        <trigger> 
    }
    
    # 接受时执行哪个效果
    on_accept = {
        <effects>
    }
    
    # 拒绝时(如果可拒绝)执行哪个效果。可选的。
    on_decline = {
        <effects>
    }
    
    # 控制AI对该行动的接受倾向,如果需要目标国家同意。非必须。
    ai_acceptance = {
        # 增加一条AI倾向修正
        add_entry = {
            name = <key>    # 要给这个因子显示的本地化关键字
            
            # 限定这条记录的条件,可选项
            limit = {
                <triggers>
            }
            
            # ai_value 每一条entry里'''必须'''被类似如下方式定义一次
            export_to_variable = {
                variable_name = ai_value
                value = <exportable value>      # 要导出哪个可导出的值(可导出变量;具体可通过学习“变量”来掌握)
                who = FROM                      # 该数值导出自谁
                with = THIS                     # 该 ai_value 是给谁的
            }
            
            # 然后你能用效果指令改变 ai_value,诸如 multiply_variable等
        }
        #所有的add_entry提及的ai_value最后会被加起来,决定ai是否接受
    }
    
    # 控制AI对该行动的使用
    ai_will_do = {
        <triggers>
    }
}

is_allowed 可以使用变量算术触发器,有关更多信息请参阅 变量。查看在 00diplomatic_actions.txt 文件中的例子也会有更深的理解。

ROOT 是使用该行动的国家,FROM 作为该行动的目标的国家。

目录

外交行动目录类型:

  • alliance
  • influence
  • relation
  • dynasty
  • covert
  • economy
  • access
  • emperor
  • papacy
  • great_powers

本地化

新的外交行动需要定义下列本地化关键字:

<action>: "行动"
<action>_title: "行动"
<action>_desc: "描述"
<action>_tooltip: "描述"
<action>_alert_tooltip: "行动"