Parameter Types
Skill parameters (skill_parameters) define values that can change by skill level and can be referenced by scripts, costs, and display templates.
Types
| Type | Aliases | Description |
|---|---|---|
expression | expr, formula | Math expression using variables such as %level%. |
string | str, text | String value. |
random_text | random_lines, random_line, text_lines, random_text_lines | Randomly selects one line. |
boolean | bool, flag | Boolean value with expression support. |
uniform | — | Uniform random number. |
gaussian | normal | Gaussian random number. |
skew_normal | skewnormal | Skew-normal random number. |
triangle | — | Triangle distribution random number. |
Fields
| Field | Description |
|---|---|
type | Parameter type. |
value | Value or expression. |
min | Lower clamp. |
max | Upper clamp. |
decimals | Decimal precision; 0 means integer-like output. |
defaultValue | Fallback value when parsing fails. |
Examples
yaml
skill_parameters:
damage:
type: expression
value: "10 + %level% * 5"
min: 10
max: 100
decimals: 0
bonus_damage:
type: uniform
value: "5~15"
decimals: 0
cast_message:
type: random_text
values:
- "<red>Flame Burst!"
- "<red>Burn!"
is_aoe:
type: boolean
value: "%level% >= 5"Using parameters in scripts
yaml
script:
cast:
actions:
- 'damage amount=%damage%'
- '@if="%is_aoe% == true" particle particle=EXPLOSION at=target count=10'Level overrides
yaml
upgrade:
max_level: 10
levels:
5:
parameters:
damage:
value: "50 + %level% * 8"