参数类型
技能参数(skill_parameters)支持多种类型,用于定义技能在不同等级下的数值变化。
类型列表
| 类型 | 别名 | 说明 |
|---|---|---|
expression | expr、formula | 数学表达式,支持 %level% 等变量。最常用的类型。 |
string | str、text | 字符串值。 |
random_text | random_lines、random_line、text_lines、random_text_lines | 从列表中随机选一行。 |
boolean | bool、flag | 布尔值,支持表达式判断。 |
uniform | — | 均匀分布随机数(min~max 等概率)。 |
gaussian | normal | 高斯(正态)分布随机数。 |
skew_normal | skewnormal | 偏态正态分布随机数。 |
triangle | — | 三角分布随机数。 |
参数字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 参数类型(见上表)。 |
value | string | 参数值或表达式。 |
min | double | 数值下限。计算结果低于此值时截断。 |
max | double | 数值上限。计算结果高于此值时截断。 |
decimals | integer | 小数位数。0 表示取整。 |
defaultValue | string | 默认值(表达式解析失败时使用)。 |
示例
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: 1uniform 类型
yaml
skill_parameters:
bonus_damage:
type: uniform
value: "5~15"
decimals: 0random_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"