骰子相关
骰子相关
注意
由于腾讯的要求,本功能在 QQ官方 平台上暂不可用。
骰子功能可以用来进行普通掷骰、CoC 百分骰检定、奖励骰与惩罚骰检定,也支持多轮投掷、D&D 优势/劣势和 Fate 骰等常见写法。
第一次使用
不知道从哪里开始时,可以直接试试下面这些指令:
.r
.r2d6+3
.ra70
.rb2 70
.rp1 50.r:投掷一颗百面骰;.r2d6+3:投掷 2 颗六面骰,将点数相加后再加 3;.ra70:进行一次成功率为 70 的百分骰检定;.rb2 70:以成功率 70 进行检定,并使用 2 颗奖励骰;.rp1 50:以成功率 50 进行检定,并使用 1 颗惩罚骰。
.r、.ra、.rb 和 .rp 这些掷骰指令不区分英文字母大小写,开头的 . 也可以换成 / 或中文句号 。。例如 .r3d6、/R3D6 和 。r3d6 都可以使用。
目前指令后只能填写数字或骰子表达式,不支持附加掷骰原因、技能名等文字描述。
普通掷骰 .r
需要投普通骰、计算带加值的结果,或者使用其他骰子表达式时使用 .r。
| 指令 | 效果 |
|---|---|
.r | 投掷 D100 |
.rd20 | 投掷 1 颗二十面骰 |
.r3d6 | 投掷 3 颗六面骰并相加 |
.r3d6+2 | 投掷 3 颗六面骰,结果加 2 |
.r(2d8+4)*2 | 使用括号组合算式 |
骰子表达式同样不区分大小写。D20 中,D 前的数字是骰子数量,D 后的数字是每颗骰子的面数。省略数量时默认为 1,单独写 D 时则表示 D100。
支持 +、-、*、/、X、%、^ 和中英文括号。其中 X 与 * 都表示乘法,% 表示取余,^ 表示非负整数次幂。
百分骰与最小值、最大值
| 表达式 | 效果 |
|---|---|
D% | 投掷一颗百分骰,等同于 D100 |
2D% | 投掷两颗百分骰并相加,等同于 2D100 |
MIN(2D6,8) | 取 2D6 的结果与 8 中较小的值 |
MAX(D20+3,10) | 取 D20+3 的结果与 10 中较大的值 |
MIN 和 MAX 可以填写两个或更多参数,也可以互相嵌套,例如 MIN(3,MAX(D6,2))。
CoC 百分骰检定 .ra
需要根据技能值判断成功等级时使用 .ra:
.ra70这会投掷一次 D100,以 70 为成功率判断大成功、极难成功、困难成功、成功、失败或大失败。省略成功率时默认为 50,例如 .ra 等同于 .ra50。
成功率必须填写非负整数。检定采用当前群聊设置的房规;不知道选哪套时可以继续使用默认的 C2。
奖励骰与惩罚骰 .rb、.rp
CoC 检定需要奖励骰时使用 .rb,需要惩罚骰时使用 .rp:
| 指令 | 效果 |
|---|---|
.rb | 1 颗奖励骰,成功率 50 |
.rb2 | 2 颗奖励骰,成功率 50 |
.rb2 70 | 2 颗奖励骰,成功率 70 |
.rp1 70 | 1 颗惩罚骰,成功率 70 |
参数顺序固定为“奖惩骰个数、成功率”。只写一个数字时,它表示奖惩骰个数,而不是成功率。因此,想以成功率 70 使用 1 颗奖励骰,应写成 .rb1 70。
奖惩骰个数可以填写 0~100。也可以在普通骰表达式里直接写:
| 表达式 | 效果 |
|---|---|
D100B2 | 使用 2 颗奖励骰 |
D100P2 | 使用 2 颗惩罚骰 |
D100B2P1 | 奖励骰与惩罚骰抵消,等同于 D100B1 |
B 或 P 后省略数量时默认为 1,例如 D100B 等同于 D100B1。
多轮投掷
使用 # 可以把同一个表达式独立投掷多轮:
| 表达式 | 效果 |
|---|---|
5#D20 | 独立投掷 5 轮 D20,分别显示每轮结果 |
5#2D6+3 | 独立计算 5 轮 2D6+3 |
5D20 | 在同一轮投掷 5 颗 D20,将结果相加 |
5#D20 和 5D20 并不相同:前者得到 5 个互相独立的结果,后者只得到 5 颗骰子点数相加后的一个结果。
优势、劣势与 Fate 骰
| 表达式 | 效果 |
|---|---|
ADV | D&D 优势骰,等同于 2D20KH1 |
ADV+5 | 优势骰的结果加 5 |
DIS | D&D 劣势骰,等同于 2D20KL1 |
DIS+5 | 劣势骰的结果加 5 |
4F、4DF | 投掷 4 颗 Fate/Fudge 骰 |
例如可以发送 .radv+5 或 .rdis+5。4F 与 4DF 是同一种 Fate 骰写法。
保留与丢弃骰子
这类写法适合属性生成、优势取值等需要从一组骰子中挑选结果的场景。
| 写法 | 含义 | 示例 |
|---|---|---|
K、KH | 保留最高的若干颗 | 4D6KH3:4 颗骰子中保留最高 3 颗 |
Q、KL | 保留最低的若干颗 | 4D6KL3:4 颗骰子中保留最低 3 颗 |
DH | 丢弃最高的若干颗 | 4D6DH1:丢弃最高的 1 颗 |
DL | 丢弃最低的若干颗 | 4D6DL1:丢弃最低的 1 颗 |
修饰符后的数量省略时默认为 1,例如 4D6KH 等同于 4D6KH1。
K0、Q0、KH0 和 KL0 无效;DH0 和 DL0 表示不丢弃任何骰子。
重骰
重骰条件可以使用 =、<、<=、> 或 >=。
| 表达式 | 效果 |
|---|---|
4D6RO=1 | 每颗掷出 1 的骰子最多重骰一次 |
4D6R=1 | 每颗掷出 1 的骰子持续重骰,直到结果不再是 1 |
D20RO<=2 | 掷出 1 或 2 时最多重骰一次 |
RO 表示“只重骰一次”,R 表示“重骰到条件不再成立”。会让循环必定持续下去的条件会被拒绝。
爆炸骰
| 表达式 | 效果 |
|---|---|
D6! | 掷出最大点数 6 时追加一颗骰子,追加骰仍可继续爆炸 |
D6!! | 复合爆炸,将追加骰点数合并到原骰结果中 |
D6!P | 穿透爆炸,每颗追加骰的点数减 1 |
D6!>=5 | 将爆炸条件改为“不低于 5” |
省略条件时,爆炸条件默认为掷出该骰的最大点数。重骰与爆炸可以组合,例如 D6R=1!。
成功数、失败数与排序
| 表达式 | 效果 |
|---|---|
10D6>=5 | 每颗不低于 5 的骰子计为 1 个成功 |
10D6>=5F=1 | 每颗不低于 5 的骰子计 1 个成功,每颗 1 点骰计 1 个失败,结果为成功数减失败数 |
4D6SA | 将明细按点数从低到高显示 |
4D6SD | 将明细按点数从高到低显示 |
F 失败条件必须和前面的成功条件一起使用。SA、SD 只改变明细的显示顺序,不会改变计算结果。
多个修饰符一起使用时,会依次完成重骰、爆炸、保留或丢弃,最后再统计成功数和失败数;排序仍然只影响显示。
A 骰与 C 骰
A 骰用于统计成功数,并可以在达到追加线时继续投掷;C 骰用于 Double Cross 风格的爆炸骰。
| 表达式 | 效果 |
|---|---|
5A6K8M10 | 投掷 5 颗十面骰,不低于 8 计为成功,不低于 6 时追加骰子 |
5D10A8 | 投掷 5 颗十面骰并统计成功数 |
3C6M10 | 投掷 3 颗十面骰,爆炸线为 6 |
A 骰和 C 骰省略 M 时默认使用十面骰;A 骰省略 K 时,成功线默认为 8。
如果只是普通投骰,通常不需要使用这一节的语法。
检定房规
不同规则对大成功和大失败的判定可能不同。发送下面的指令可以查看当前房规:
骰子房规| 指令 | 效果 |
|---|---|
骰子房规 | 查看当前群聊使用的房规 |
骰子房规 列表 | 查看全部可选房规及其判定方式 |
骰子房规 C0 | 将当前群聊改为 C0 |
骰子房规 DG | 将当前群聊改为 Delta Green |
骰子房规 重置 | 恢复默认房规 C2 |
目前支持 C0~C5、Delta Green(DG)和 BRP,默认使用 C2。完整的大成功、大失败判定方式可以直接通过 骰子房规 列表 查看。
只有群主、群管理员和机器人超级用户可以修改群聊房规;其他用户仍可查看房规。私聊固定使用默认房规 C2。
房规指令也可以写成 .dice房规、/dice房规 或 。dice房规,其中 dice 也可以写成全大写 DICE。列表还可以写成 list、帮助 或 help,重置还可以写成 reset。
| 房规 | 可用名称 |
|---|---|
| C0 | C0、COC0、COC7、COC7E、标准、0 |
| C1~C5 | C1~C5、COC1~COC5、1~5 |
| C2 | 还可以使用 默认 |
| Delta Green | DG、Delta Green、delta_green、绿色三角洲、6 |
| BRP | BRP、7 |
指令速查
| 指令 | 用途 |
|---|---|
.dice | 查看骰子菜单,也可以使用 /dice |
.r[表达式] | 普通掷骰;不填写表达式时投掷 D100 |
.ra[成功率] | 百分骰检定;成功率默认为 50 |
.rb[个数] [成功率] | 奖励骰检定;个数默认为 1,成功率默认为 50 |
.rp[个数] [成功率] | 惩罚骰检定;个数默认为 1,成功率默认为 50 |
骰子房规 [房规] | 查看或修改群聊检定房规 |
使用限制
- 表达式最多 500 个字符;
- 一条表达式最多投掷 200 颗基础骰;
- 最高支持 10000 面骰;
- 多轮投掷最多 100 轮。
超出限制或表达式写法有误时,机器人会返回对应提示。
