Skip to content

先攻列表(.init / .ri / .先攻) ​

先攻列表是战斗的入口:把 PC 与怪物按先攻值排成一张表,战斗轮复用这张表推进回合。

列表按群维护;条目名称是入表时的快照(角色名 → 群名片 → QQ 昵称,见名称显示规则)。

本页示例取自示例团在碎星隘口的遭遇战开场(看示例团与人物)。

玩家掷先攻(.ri) ​

无论是否记录角色卡,玩家都可以直接发 .ri 掷自己的先攻,加值/优劣势写在表达式里:

阿茶
.ri
屠龙骰
薇拉的先攻值是 1D20=[7]=7
老猫
.ri+7
屠龙骰
塔莉的先攻值是 1D20+7=[10]+7=17

已建卡的玩家更推荐 .先攻检定——加值自动从角色卡取,不用自己算。

把怪物放上桌(DM) ​

DM 可以不给怪物掷骰,直接用固定值入表(这种方式可以让 DM 隐去怪物先攻加值):

白鸦
.ri20 熊地精
屠龙骰
熊地精的先攻值是 20

多个条目有两种批量写法,效果都是各自独立掷:

斜杠分开写——每个名字各自掷一次,共用 1D20+1 的先攻检定表达式:

白鸦
.ri+1 向导/狼
屠龙骰
向导的先攻值是 1D20+1=[11]+1=12
狼的先攻值是 1D20+1=[5]+1=6

N# 批量派生——一次产出 N 个同名条目(自动加 a/b/c 后缀),每个条目独立掷:

白鸦
.ri-1 3#哥布林
屠龙骰
哥布林a的先攻值是 1D20-1=[14]-1=13
哥布林b的先攻值是 1D20-1=[6]-1=5
哥布林c的先攻值是 1D20-1=[3]-1=2

加值与优劣势放在表达式一侧(.ri劣势-1 3#哥布林);

名称一侧也可以带专属修正。如 .ri 地精+2/狼,地精为 1D20+2,狼为 1D20。

查看列表(.init / .先攻) ​

白鸦
.init
屠龙骰
先攻列表如下:
当前是第1轮,熊地精的回合
1.熊地精 先攻:20
2.塔莉 先攻:17 HP:43/43
3.哥布林a 先攻:13
4.向导 先攻:12
5.薇拉 先攻:7 HP:54/54
6.狼 先攻:6
7.哥布林b 先攻:5
8.哥布林c 先攻:2

读法:按先攻值降序编号;列表头是当前轮次与当前回合(战斗轮推进时同步变化);有 HP 记录的条目附 HP:当前/上限——PC 取角色卡血量,NPC 取 .hp 记录(见HP 与长休)。

管理(del / clr / first / swap) ​

重掷替换与相同先攻值 ​

同名条目重掷会替换旧条目并提示,不需要先删再投:

白鸦
.ri17 熊地精
屠龙骰
你重复投掷了先攻
熊地精的先攻值是 17
出现相同先攻值,请DM来决定由谁先行动,若不决定将保持默认顺序:
回复.init first 名称 将该对象提前(同先攻值: 熊地精 / 塔莉)

出现相同先攻值时,机器人会做出提示,由 DM 决定谁先:

白鸦
.init first 塔莉
屠龙骰
塔莉的先攻已在相同先攻值中被提前

swap 则直接互换两个条目的先攻值与位置(只发生在两个条目之间):

此功能适用于 5e 2024 规则中的起源专长 警戒 Alert 或其他同类情形。

白鸦
.init swap 薇拉/狼
屠龙骰
薇拉与狼的先攻值已互换

删除与歧义提示 ​

写基名、库里只有派生条目时,会列出候选请你写全:

白鸦
.init del 哥布林
屠龙骰
先攻对象名称哥布林存在歧义,可能是['哥布林a', '哥布林b', '哥布林c']
白鸦
.init del a/布林b/哥布林c
屠龙骰
已从先攻列表中移除 哥布林a
已从先攻列表中移除 哥布林b
已从先攻列表中移除 哥布林c

名称匹配遵循先精确、再部分的原则:

  • 只写名字的一部分、唯一命中即生效;
  • 命中多个时报歧义并列出候选,写全名或斜杠一次处理多个即可。

对于本例,专门用于演示部分匹配和精确匹配。

实际跑团可直接使用 .init del a/b/c 最简单。

子指令一览:

子指令作用示例
list / 列表查看(同无参数).init list / 。先攻列表 / 。先攻
del / 删除删除条目(支持斜杠多个).init del 狼 / 。先攻删除 狼
clr / 清除清空整个列表.init clr / 。先攻清除
first / 提前相同先攻值中提前.init first 塔莉 / 。先攻提前 塔莉
swap / 交换互换两个条目的先攻值与位置.init swap 薇拉/狼 / 。先攻交换 薇拉/狼

del / first / swap 的目标也支持 @玩家:

  • 按归属定位条目,角色卡改名后仍有效;
  • @ 的玩家不在先攻表时会提示 @玩家 不在先攻列表中。

对于 DM 设定的 NPC 条目:

  • del 删除 NPC 条目时一并清理它的临时血量记录;
  • clr 清空时同样清理临时血量(设过 HP 上限或者进行过 .npc 持久 的记录保留,见HP 与长休)。

代掷与代操作(@ 或名称) ​

DM 替不在场的人掷先攻有两种写法,分工不同:

  • @玩家(推荐用于玩家):条目名取该玩家的角色卡名并与该玩家绑定——列表会显示该角色的 HP 摘要;.init del @玩家 / .init swap @玩家/甲 按归属定位(角色卡改名后仍有效);轮到它时回合提醒会 @ 到人;
  • 直接写名称:名称按字面入表(与 NPC 条目是同一类东西),不与玩家绑定——列表不会显示该角色卡的 HP 摘要,@玩家 也定位不到它。

@ 写法(推荐) ​

白鸦
.ri+2 @小满
屠龙骰
洛恩的先攻值是 1D20+2=[7]+2=9
写法含义
.ri+2 @玩家 / .ri 20 @玩家加值 / 固定值代掷
.ri优势 @玩家 / .ri @玩家优势优劣势写在标记之后照常生效
.ri 地精/@玩家与 NPC 条目混写(各自独立掷)
  • @ 的目标需已建卡,否则以真 @ 提示引导建卡;
  • .ri 3#@玩家 这类批量与 @ 混写会被拦下(批量会派生 a/b/c 后缀,与「条目绑定玩家」的语义冲突);
  • 游离 @:@玩家 .ri+3、.ri @玩家 名字 这类 @ 不在表达式右侧的写法不执行并回纠正示例——避免静默给发送者自己掷先攻。

名称写法 ​

名称精确处理、不做模糊匹配:

白鸦
.ri+2 洛
屠龙骰
洛的先攻值是 1D20+2=[7]+2=9
白鸦
.init del 洛
屠龙骰
已从先攻列表中移除 洛
白鸦
.ri+2 洛恩
屠龙骰
洛恩的先攻值是 1D20+2=[3]+2=5
白鸦
.init del @小满
屠龙骰
@小满 不在先攻列表中
白鸦
.init del 洛恩
屠龙骰
已从先攻列表中移除 洛恩
写「洛」不会命中「洛恩」——名称一律按字面入表,避免模糊匹配导致的语义冲突;写全名(.ri+2 洛恩)也只是得到一个同名条目,它不绑定小满(@小满 定位不到、列表没有 HP 摘要),代掷玩家请改用 @。

先攻检定:读角色卡入表 ​

已建卡的玩家可直接发 .先攻检定:骰娘用角色卡上的敏捷调整值(有熟练则再加熟练加值)掷先攻,并把结果直接写入先攻列表:

阿岩
.先攻检定
屠龙骰
布鲁姆进行【先攻检定】:
无熟练加值 敏捷调整值:-1
布鲁姆的先攻值是 1D20-1=[16]-1=15

先攻掷骰不播报大成功/大失败。注意 .先攻 是查看列表、.先攻检定 是掷骰入表,两个命令不要混;检定点命令的完整说明见检定与豁免。

战斗就绪后的完整列表(塔莉与熊地精同为 17,.init first 把塔莉提前):

白鸦
.init
屠龙骰
先攻列表如下:
当前是第1轮,塔莉的回合
1.塔莉 先攻:17 HP:43/43
2.熊地精 先攻:17
3.布鲁姆 先攻:15 HP:48/48
4.向导 先攻:12
5.洛恩 先攻:9 HP:37/37
6.狼 先攻:7
7.薇拉 先攻:6 HP:54/54

相关命令 ​

命令用法说明
.ri.ri、.ri+3 名称、.ri20 名称、.ri 3#名称、.ri+3 @玩家掷先攻入表(自己 / 名称条目 / @ 代掷 / 批量)
.init / .先攻.init查看先攻列表
.init.init del 名称、.init first 名称、.init swap 甲/乙、.init clr管理条目
.先攻检定.先攻检定读角色卡掷先攻并自动入表

接下来:战斗轮——用这张表推进回合。

以 MIT 许可发布 · 掷骰引擎移植自 nonebot-dicepp(MIT)