跳到主要内容

🔢 数字格式

警告

这些数字格式在大多数地方都适用,除了早期开发的物品数据部分。我们将在下一次物品系统重构时尝试重新设计数字支持,以便更好地处理随机化物品。

常量

提供一个固定的数值。

type: constant
value: 1
提示

在大多数情况下,您可以使用以下简写形式。

count:
type: constant
value: 1

->

count: 1

均匀随机数

在给定范围内提供一个随机数。

type: uniform
min: 1
max: 3
提示

在大多数情况下,您可以使用以下简写形式。

count:
type: uniform
min: 1
max: 3

->

count: 1~3

minmax 也都支持嵌套使用 提供数字的标签.

count:
type: uniform
min:
type: uniform
min: 2
max: 7
max: "<papi:skilllevel_farming>*5~<papi:skilllevel_farming>*10"

表达式

https://ezylang.github.io/EvalEx/references/references.html

type: expression
expression: "20 + 70 / 2"
提示

在大多数情况下,您可以使用以下简写形式。

count:
type: expression
expression: "<papi:skilllevel_farming> / 20 + 5"

->

count: "<papi:skilllevel_farming> / 20 + 5"

高斯分布

使用高斯/正态分布作为随机数生成器

type: gaussian

# 必需参数:随机数生成的下界限制
# 生成的随机数值将不会小于此值
# 用途:确保随机数在合理的应用范围内,避免异常小的数值
min: 10

# 必需参数:随机数生成的上界限制
# 生成的随机数值将不会大于此值
# 用途:确保随机数在合理的应用范围内,避免异常大的数值
max: 20

# 可选参数:高斯分布的均值(期望值)
# 定义分布的中心位置,即最可能出现的数值
# 默认值:(min + max) / 2.0,即范围的中间点
# 在此示例中:如果不指定,默认值也是15
mean: 15

# 可选参数:高斯分布的标准差
# 衡量数据的离散程度,值越小数据越集中,值越大数据越分散
# 默认值:(max - min) / 6.0,基于"6σ原则"(99.7%的值落在μ±3σ范围内)
# 在此示例中:如果不指定,默认值为(20-10)/6≈1.67
std-dev: 1

# 可选参数:生成有效随机数的最大尝试次数,默认为128
# 由于高斯分布理论上范围是(-∞, +∞),但被min/max截断
# 当生成的数值超出[min,max]范围时,会重新生成
# 此参数防止因极端情况导致的无限循环
# 如果超过尝试次数仍未生成有效值,通常会返回最接近的边界值
max-attempts: 128