标准骰子
NdX掷 N 枚 X 面的骰子并求和。数量默认为 1,因此 d20 掷的是单枚二十面骰。
学习 Mini Kraken 的通用记法,以及 Vampire V5 和 Assimilation 的专用掷骰模式。通用示例和两个系统指南都可直接在线试用。
输入本指南中的通用记法,即可在这里掷骰——骰子将以 3D 呈现并带音效。Vampire V5 和 Assimilation 请使用下方各自的专用模式。
用经典的 NdX 记法掷骰:N 是骰子数量,X 是面数。两部分都可省略,且有智能默认值。
NdX掷 N 枚 X 面的骰子并求和。数量默认为 1,因此 d20 掷的是单枚二十面骰。
d → d20省略面数时,引擎默认使用 d20。输入 d+5 等同于 1d20+5,而 3d 则掷 3d20。
d%d% 掷一枚百面骰,等同于 d100。非常适合基于百分比的系统。
dF · dF.1dF 掷一枚 Fudge 骰,结果为 -1、0 或 +1(dF.2,默认值)。dF.1 使用空白面更常见的变体。单独的快捷写法 f 掷 4dF,即标准的 Fate 检定。
(expr)dX数量可以是括号内的简单数值表达式;面数值直接写在 d 之后。(2+1)d6 掷的是 3d6。
Nd(expr)在 d 后的括号中输入常量表达式来计算面数。d(2+4) 会投掷 d6,(2+1)d(2*3) 会投掷 3d6。
记法字符串是完整的数学表达式。将骰子与数字、运算符和括号组合;适用标准的运算符优先级。
+ - * / % ^ **支持加、减、乘、除、取模(%)和乘方(^ 或 **),并可用括号进行分组。
1.5 · +-小数可用在表达式的任何位置。重复的符号会被自动简化:d20+-2 变为 d20-2。
每个函数一张卡片——引擎在记法中接受的所有辅助函数。它们都可接受完整表达式(包括骰子)作为参数。
floor(x)始终向下取整到最近的整数:floor(3.9) 为 3。这是减半伤害的经典做法。
ceil(x)始终向上取整:ceil(3.1) 为 4。在系统向玩家有利方向取整时很有用。
round(x)四舍五入到最近的整数:round(2.4) 为 2,round(2.5) 为 3。
abs(x)去除符号:abs(-3) 为 3。适用于不能为负的差值与差额。
sign(x)根据值为负、零或正,分别返回 -1、0 或 1。
sqrt(x)返回该值的平方根:sqrt(16) 为 4。
pow(x, y)将第一个值取第二个值次幂:pow(2, 3) 为 8。等同于 2^3。
min(x, y)返回两值中较小者:min(2d10, 7) 将结果上限设为 7。
max(x, y)返回两值中较大者:max(2d10, 7) 保证至少为 7。
exp(x)返回欧拉数 e 的该值次幂:exp(1) 约为 2.718。
log(x)返回该值的自然对数(以 e 为底):log(10) 约为 2.303。
sin(x)以弧度计算该值的正弦。桌面游戏中很少用到,但可用于奇异公式。
cos(x)以弧度计算该值的余弦。桌面游戏中很少用到,但可用于奇异公式。
tan(x)以弧度计算该值的正切。桌面游戏中很少用到,但可用于奇异公式。
掷一组骰子并只保留最好的——或舍弃最差的。优势、劣势以及像 4d6 舍最低这样的经典属性掷骰都是这样构建的。
kN · khN · klNk 或 kh 保留最高的骰子,kl 保留最低的;其余的不计入总和。2d20kh1 是优势,2d20kl1 是劣势。
dN · dlN · dhNd 或 dl 舍弃最低的骰子,dh 舍弃最高的。4d6d1 是经典的属性值掷骰。
k → k1 · km → kl1省略数字时默认为 1:2d20k 意为 2d20k1。km 是 kl1 的别名(保留最低的骰子)。
当骰子达到其触发值(默认为最大值)时会爆骰:你额外掷一枚骰子并保留两者。爆骰可连锁。
!每枚掷出最大值的骰子都会触发一次额外掷骰,并作为独立骰子显示。
!!!! 将每次连锁爆骰累加进单枚骰子的总和,而非另列额外骰子。
!p · !!p!p 从每枚爆骰的骰子中减 1(Hackmaster 风格)。可与累加爆骰组合为 !!p。
!cp添加比较点以改变骰子爆骰的时机:d6!>=5 在 5 或 6 时爆骰,d10!=3 仅在 3 时爆骰。
!N · !!N · !pN · !!pNN 为正整数,用于限制每枚原始骰子产生的额外爆骰次数。此上限可以与复合爆骰(!!N)、穿透爆骰(!pN 或 !!pN)及触发条件组合,例如 d6!2>=5。
ei · eiNei 是爆骰的友好别名:3d6ei 等同于 3d6!,而 3d6ei5 等同于 3d6!>=5。
重掷你不想保留的骰子。默认情况下触发条件为最小值(多数骰子上的自然 1)。
r · r(cp)r 重掷骰子直到结果不再符合触发条件。添加比较点以自定义:d20r<3 重掷 1 和 2。
ro · ro(cp)ro 对符合条件的骰子重掷一次并保留新结果,即使它再次符合也是如此。
强制骰池中的每枚骰子落在不同的值上。
u · u(cp)u 重掷重复的结果,直到所有骰子各不相同。带比较点时,仅重掷符合条件的重复项。
uouo 对每个重复项重掷一次,无论接下来掷出什么都保留。
不对骰子求和,而是统计有多少达到目标——这是像黑暗世界或暗影狂奔这类系统使用的骰池风格。
cp在骰子后紧接放一个比较点,总和就变成符合条件的骰子数量:6d10>=8 统计显示 8 或更高的骰子。
f(cp)添加 f 加上比较点即可同时统计失败;每次失败会从成功总数中减一。
将骰子标记为暴击成功或失败。这纯粹是视觉效果——它会在输出中标记骰子,但绝不改变总和。
cs(cp)cs 标记符合比较点的骰子:d20cs=20 会高亮自然 20。
cf(cp)cf 标记大失败:d20cf=1 会高亮自然 1。
掷骰后将每枚骰子单独限制在下限或上限之内。
minNmin 将任何低于该值的骰子提升至该值:4d6min2 把每个 1 变成 2。
maxNmax 将骰子上限封顶于该值:d%max50 永远不会显示超过 50。
重新排列输出中的骰子,以便更快地读取结果。
s · sa · sds 或 sa 将掷出的骰子按升序排序,sd 按降序排序。仅改变显示顺序。
用花括号包裹表达式,将其视为单个组——并在整个子掷骰之间应用保留/舍弃逻辑。
{A, B}在花括号内用逗号分隔列出一个或多个表达式。组的总和为其各表达式之和。
{...}mod若只有单个表达式,修饰符应用于每枚骰子:{4d6}k3 保留最好的 3 枚骰子。若有多个表达式,则应用于每个子总和:{2d6, 1d8, 1d4}d1 舍弃最低的表达式。
一次性将整条记法重复多次。
N#在记法前加上一个计数和 #。6#4d6k3 一次性掷出整套六项属性值。最多 100 次重复。
若干修饰符(爆骰、重掷、唯一、成功、暴击)接受一个比较点:一个运算符后跟一个数字,用以定义修饰符的触发时机。
=等于<小于>大于<=小于或等于>=大于或等于!=不等于<>不等于(备用写法)有些游戏需要保留每枚骰子的类型,并在掷骰后解读符号。因此 Vampire V5 和 Assimilation 使用专用调用,而不是用通用公式近似模拟其规则。
v5(...) 和 assim(...) 调用用于说明系统参数,并由下方的专用模式执行。通用记法输入框不接受它们作为公式。
饥饿骰会替换总骰池中的普通骰。V5 模式区分普通骰和饥饿骰,统计成功,并识别暴击、混乱暴击和兽性失败。
调用名称可以互换。命名参数支持用英语或葡萄牙语指定饥渴值和难度;位置参数的顺序为骰池、饥渴值,以及可选的难度。
v5(...)vampiro(...)vampire(...)vampire-v5(...)v5(pool=7,hunger=3,difficulty=4)vampiro(pool=7,fome=3,dificuldade=4)v5(7,3,4)v5(7,3)投掷具有减号、空白和加号面的 Fate 骰子。标准骰池为四枚骰子,二维结果和三维骰子都会保留每个符号面及总值。
使用 fate 或 fatedice。命名参数 dice、dado 或 dados 均可指定骰子数量;省略时,默认投掷四颗骰子。
fate(...)fatedice(...)fate(dice=4)fate(dados=4)fate(dado=4)fatedice(4)fate()可以任意组合 d6、d10 和 d12 进行掷骰。掷骰后,在规定上限内选择骰子,并只统计所选骰子上的符号。
assim(d6=2,d10=1,d12=1,keep=2)可使用简称、葡萄牙语、带重音的葡萄牙语或英语调用。命名参数支持 keep 或 manter;位置参数顺序为 d6、d10、d12,以及可选的保留数量。
AS(...)assim(...)assimilacao(...)assimilação(...)assimilation(...)AS(d6=2,d10=1,d12=1,keep=2)assim(d6=2,d10=1,d12=1,keep=2)assimilação(d6=2,d10=1,d12=1,manter=2)AS(2,1,1,2)assim(2,1,1,2)AS(2)行动掷骰使用两枚不同的 d12:希望与恐惧。将两者点数相加,再加上修正值。点数相同即为大成功;否则,点数较高的骰子决定本次行动带有希望还是恐惧。
在三维掷骰中,希望骰使用您的皮肤颜色,恐惧骰使用该颜色的 RGB 反色。
使用 daggerheart、dagger 或 dh。调整值为可选项;难度为秘密值时可以省略。
daggerheart(...)dagger(...)dh(...)daggerheart(modifier=2,difficulty=15)dh(mod=2,dc=15)dh(2,15)dagger(-1)daggerheart()投掷 1d20 并加上修正值,与 DC 比较。高出 DC 10 为大成功;达到 DC 为成功;低于 DC 10 为大失败;其他结果为失败。
自然 20 会让结果提升一个等级,自然 1 则降低一个等级。幸运取两颗 d20 中较高的结果;厄运取较低的结果。未指定 DC 时,成功等级尚待判定。
使用 pf2(mod,dc)。DC 可选;第三个参数设为 1 表示幸运,−1 表示厄运,0 表示普通掷骰。
pf2(...)pf2e(...)pathfinder2e(...)pf2(mod=7,dc=18)pf2(modifier=7,difficulty=18,fortune=1)pf2(7,18)pf2(7)pf2(7,null,-1)用分号分隔各次掷骰,即可组合通用骰、Vampire V5、Fate、Assimilation 和 Daggerheart。二维结果和三维叠加层会按相同顺序接收同一组骰子。
把这套记法用到 3D 骰子roller、你的角色卡或 Discord 机器人上。
打开骰子roller
注释与标签
为任意掷骰附加标签——非常适合为攻击和伤害类型命名。注释绝不影响计算。
行注释
// · #// 为整个表达式加标签;# 直接写在骰子记法之后即可。
块注释
/* */ · [ ]在记法中任意位置用 /* */ 或 [ ] 包裹文本。