标准骰子
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)Put a constant expression in parentheses after d to calculate the number of sides. d(2+4) rolls a d6, and (2+1)d(2*3) rolls 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 is a positive integer that caps the additional explosions generated by each original die. Combine the cap with compound (!!N), penetrate (!pN or !!pN), and a trigger, as in 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 模式区分普通骰和饥饿骰,统计成功,并识别暴击、混乱暴击和兽性失败。
Call names are interchangeable. Named parameters accept Hunger and difficulty in English or Portuguese; the positional order is pool, Hunger, and optional difficulty.
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)Roll Fate dice with minus, blank, and plus faces. Four dice are the standard pool, while the total preserves every symbolic face for both the 2D result and the 3D dice.
Use fate or fatedice. The named count accepts dice, dado, or dados; omit it to roll the standard four dice.
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)Use the short, Portuguese, accented Portuguese, or English call. Named parameters accept keep or manter; the positional order is d6, d10, d12, and optional keep.
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)An Action Roll uses two distinct d12s: Hope and Fear. Add both values to the modifier. Matching dice are a Critical Success; otherwise, the higher die determines whether the action was rolled with Hope or Fear.
In the 3D roll, Hope uses your skin color and Fear uses that color's RGB inverse.
Use daggerheart, dagger, or dh. The modifier is optional, and Difficulty can be omitted when it is secret.
daggerheart(...)dagger(...)dh(...)daggerheart(modifier=2,difficulty=15)dh(mod=2,dc=15)dh(2,15)dagger(-1)daggerheart()Separate rolls with semicolons to combine generic dice, Vampire V5, Fate, Assimilation, and Daggerheart. The 2D result and 3D overlay receive the same dice list in the same order.
把这套记法用到 3D 骰子roller、你的角色卡或 Discord 机器人上。
打开骰子roller
注释与标签
为任意掷骰附加标签——非常适合为攻击和伤害类型命名。注释绝不影响计算。
行注释
// · #// 为整个表达式加标签;# 直接写在骰子记法之后即可。
块注释
/* */ · [ ]在记法中任意位置用 /* */ 或 [ ] 包裹文本。