Skip to content

参数类型

技能参数(skill_parameters)支持多种类型,用于定义技能在不同等级下的数值变化。

类型列表

类型别名说明
expressionexprformula数学表达式,支持 %level% 等变量。最常用的类型。
stringstrtext字符串值。
random_textrandom_linesrandom_linetext_linesrandom_text_lines从列表中随机选一行。
booleanboolflag布尔值,支持表达式判断。
uniform均匀分布随机数(min~max 等概率)。
gaussiannormal高斯(正态)分布随机数。
skew_normalskewnormal偏态正态分布随机数。
triangle三角分布随机数。

参数字段

字段类型说明
typestring参数类型(见上表)。
valuestring参数值或表达式。
mindouble数值下限。计算结果低于此值时截断。
maxdouble数值上限。计算结果高于此值时截断。
decimalsinteger小数位数。0 表示取整。
defaultValuestring默认值(表达式解析失败时使用)。

示例

expression 类型

yaml
skill_parameters:
  damage:
    type: expression
    value: "10 + %level% * 5"
    min: 10
    max: 100
    decimals: 0
  range:
    type: expression
    value: "3 + %level% * 0.5"
    max: 10
    decimals: 1

uniform 类型

yaml
skill_parameters:
  bonus_damage:
    type: uniform
    value: "5~15"
    decimals: 0

random_text 类型

yaml
skill_parameters:
  cast_message:
    type: random_text
    values:
      - "<red>火焰爆发!"
      - "<red>燃烧吧!"
      - "<red>烈焰之力!"

boolean 类型

yaml
skill_parameters:
  is_aoe:
    type: boolean
    value: "%level% >= 5"

在脚本中使用参数

参数解析后的值可在脚本动作中通过 {参数名} 引用:

yaml
script:
  cast:
    actions:
      - 'damage amount=%damage%'
      - '@if="%is_aoe% == true" particle particle=EXPLOSION at=target count=10'

等级覆盖

升级配置中可以按等级覆盖参数值:

yaml
upgrade:
  max_level: 10
  levels:
    5:
      parameters:
        damage:
          value: "50 + %level% * 8"
    10:
      parameters:
        damage:
          value: "100 + %level% * 10"