Skip to content

词条方法

词条方法放在 entry/ 目录。图纸产物、可选材料、额外条件和指令发放物品时,都可以调用这些方法来修改最终物品。

快捷调用

yaml
强度初始化: "setvar('强度', round(random(1, 100)))"
品质初始化: "setvar('品质', weight('传说=50', '史诗=200', '极品=350', '优秀=200', '普通=200'))"

在图纸里调用:

yaml
entry:
  - "{强度初始化}"
  - "{品质初始化}"

常用数值方法

方法说明
random()0-1 随机数。
random(最大)0-最大 随机数。
random(最小, 最大)取范围随机数。
int()去小数取整。
ceil()向上取整。
floor()向下取整。
round()四舍五入。
double(位数, 数值)保留指定小数位。
max()上限限制。
min()下限限制。
avg()平均值。
chance(百分比)概率判断,返回 true 或 false。

玩家与变量方法

方法说明
papi('%变量%')读取 PAPI 变量。
permission('权限')判断玩家权限。
forgeCount('图纸ID')读取玩家指定图纸已锻造次数。
setvar('变量', '值')设置锻造变量。
getvar('变量', '默认值')获取锻造变量,不存在时返回默认值。

字符串方法

方法说明
replace()按映射替换文本。
array()自动换行。
repeat()重复字符串。
splice()拼接字符串。
split()分割字符串。
sel()按位置选择参数。
size()统计参数数量。
trim()去除首尾空格。
contains()判断包含。
equals()判断完全相等。
startsWith()判断开头。
endWith()判断结尾。
length()取字符串长度。
index()取文本位置。

表达式

表达式使用 ${...} 包裹,支持加减乘除、次方、取余和条件判断。

示例:${max(1, 1.314)+min(2, 1.314)}

示例:品质和强度系数

下面这段包含双花括号,文档里需要用 v-pre 禁止 Vue 解析;复制到配置里时保留原样。

yaml
品质系数: "replace(getvar('品质'), '普通=1.0', '优秀=1.2', '极品=1.5', '史诗=1.9', '传说=2.4')"
强度系数: "${(100+getvar('强度'))*0.01}"
数值计算: "${{品质系数}*{强度系数}}"

装备 Lore 可以写成下面这种格式来计算最终数值:

text
攻击力+${{数值计算}*100}