Skip to content

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

TypeAliasesDescription
expressionexpr, formulaMath expression using variables such as %level%.
stringstr, textString value.
random_textrandom_lines, random_line, text_lines, random_text_linesRandomly selects one line.
booleanbool, flagBoolean value with expression support.
uniformUniform random number.
gaussiannormalGaussian random number.
skew_normalskewnormalSkew-normal random number.
triangleTriangle distribution random number.

Fields

FieldDescription
typeParameter type.
valueValue or expression.
minLower clamp.
maxUpper clamp.
decimalsDecimal precision; 0 means integer-like output.
defaultValueFallback 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"