〈歴史に敬意を払い、新しい体験へ〉
TRPGセッションをより快適にするために、日本製の新しいダイスボットTDiceBotを開発しました。初心者から上級者まで、すべてのプレイヤーが最高のセッション体験を得られるような機能を鋭意開発中です。
スラッシュコマンド一覧
TDiceBotを導入すると、ダイスボット用スラッシュコマンドが利用できるようになります。
この文書の内容と実際の挙動に相違がある場合には、実際の動作が優先します。
汎用コマンド
/d100 [private?]
1D100のロールを実行します。[private?] に true を指定した場合は、結果を自分にだけ通知して、管理人含めてほかのメンバーが見ることはできません。
/expr [expr] [private?]
数式を計算できます。詳細は後述の「数式について」を参照してください。
ダイス式だけを入力した場合には、各ダイス値のロール結果も表示します。
/choice [p] [n?] [d?] [private?]
空白文字やカンマで区切られた選択肢 [p] の中から [n] 個の要素をランダムで抽出します。 [d] に true が設定された場合は、重複ありで抽出します。
nRR コマンド
nRR用のダイスロールコマンドでは、不利ダイス・ノーマルダイス・有利ダイス・Exダイスのどれかを選んでロールできます。
/nrr [dice] [label?] [private?]
nRRのダイスロールを実行します。[dice] はダイスの種別です。オプションとして [label?] で技能名を指定できます。指定しなかった場合は表示されません。結果は絵文字で通知されます。
エモクロアTRPG コマンド
エモクロアTRPG系のコマンドでは、数値が要求される部分に式を入力できます。入力できる式については「数式について」を参照してください。
また、20個を超えるダイスロールの内容は省略されます。
/emo-skill [level] [value] [label?] [private?]
エモクロアTRPGの技能ロールを実行します。[level] は技能レベル、[value] は判定値です。オプションとして [label?] で技能名を指定できます。指定しなかった場合の既定値は「技能値」です。
/emo-res [level] [strength] [kind] [private?]
エモクロアTRPGの共鳴判定ロールを実行します。[level] は技能レベル、[strength] は強度、[kind] は感情マッチング種別です。
クトゥルフ神話TRPG 第6版 コマンド
クトゥルフ神話TRPG系のコマンドでは、数値が要求される部分に式を入力できます。入力できる式については「数式について」を参照してください。
/coc-cbr [x] [y] [label?] [private?]
組合せ技能ロール CBR(x, y) を実行します。[label?] で技能名を指定できます。指定しなかった場合の既定値は「技能値」です。
/coc-cbrb [x] [y] [label?] [private?]
組合せ技能ロール CBRB(x, y) を実行し、それぞれ結果を返します。
/coc-cc [x] [label?] [private?]
技能ロール CC(x) を実行します。
/coc-ccb [x] [label?] [private?]
技能ロール CCB(x, y) を実行し、それぞれ結果を返します。
/coc-res [x] [y] [label?] [private?]
抵抗ロール RES(x, y) を実行します。
/coc-resb [x] [y] [label?] [private?]
抵抗ロール RESB(x, y) を実行します。
クトゥルフ神話TRPG 第7版 コマンド
/coc7-bpd [n] [x] [label?] [private?]
ボーナス・ペナルティダイスロール BPD(n, x) を実行します。ボーナスの場合は n > 0 を、ペナルティの場合は n < 0 を指定してください。
/coc7-cbr [x] [y] [label?] [private?]
組合せ技能ロール CBR(x, y) を実行します。
/coc7-cc [x] [y] [label?] [private?]
技能ロール CC(x, y) を実行します。
管理用コマンド
/tdice-activate [key]
ダイスボットのライセンスキーを入力します。このコマンドはダイスボットのクレジットを消費しません。
/tdice-stats
ダイスボットの利用プランと使用量を確認します。このコマンドはダイスボットのクレジットを消費しません。
数式について
TDiceBotでは 10 や 8 といった単一の値だけでなく、2.5 + 8 のような式を書くこともできます。普段からExcelやプログラミング言語に慣れ親しんだ人にとっては理解しやすいとは思いますが、すこし複雑な部分もあるので、ひとつずつ順を追って解説します。
整数と実数
20 や 5 といった値は整数として扱われます。TDiceBotでは から の間の値を扱うことができ、式の計算過程でこの範囲外になったときは計算エラーが発生します。
3.14 や 20.5 は実数として扱われます。コンピュータで実数を扱う都合上、計算誤差を防ぎきれないので、計算によっては正しい結果にならないことがありますが、ほとんどの場合は問題にならないほどの小さな誤差のはずです。
20 + 5 のように整数と整数を計算したときの結果は整数となりますが、3 + 20.5 のように、整数と実数を計算したときの結果は実数となります。実数から整数に変換したいときには、後述の FLOOR(), CEIL() または ROUND() 関数を使用してください。
利用できる演算子
+ や * などの計算記号を演算子と呼びます。TDiceBotで利用可能な演算子には次のものがあります。これらの演算子は整数と実数を区別せず、どちらに対しても適用できます。
| 式 | 意味 | 説明 |
|---|---|---|
| 3 + 8 | 加算 | 値を足します。 |
| 9 - 2 | 減算 | 値を引きます。 |
| 4 * 3 | 乗算 | 値を掛けます。 |
| 10 / 8 | 除算 | 値を割ります。整数の場合、端数は切捨てとなります()。 |
| 14 % 3 | 剰余 | 値を割った余りを求めます。 |
| -20 | 単項マイナス | 負数を返します。 |
| (2 + 3) * 4 | 括弧 | 式の優先順位を上げます。 |
| 演算子の優先順位は一般的な数式の規則に則ります。つまり、乗算・除算・剰余は加算・減算に優先し、同じ優先順位の演算は左結合で(左から順番に)計算されます。 |
特殊な演算子
TDiceBotでは、ダイスロールを表す特殊な演算子 が用意されています1。ダイスの個数は10,000まで( )で、面数に制限はありません。ただし、面数と計算結果は整数で表現可能な範囲に収まっている必要があります。
| 式 | 意味 | 説明 |
|---|---|---|
| 2d6 | 2d6ダイス | 2個の6面ダイスを表します。 |
| ダイスの個数と面数は入れ子にでき、再帰的に計算されます。 |
関数
関数を使うことで、通常の演算子だけでは表現できない複雑な処理を実現できます。また、関数の引数に式を書くことや、関数を式の中で利用することもできます。
| 関数 | 意味 | 説明 |
|---|---|---|
| ABS(-32) | 絶対値 | 値の絶対値を返します。 |
| FLOOR(20.3) | 切捨て | 小数点以下を切捨て、整数を返します。 |
| CEIL(20.3) | 切上げ | 小数点以下を切上げ、整数を返します。 |
| ROUND(20.3) | 四捨五入 | 小数点以下を四捨五入して、整数を返します。 |
| MAX(2, 8, …) | 最大値 | 2つ以上の複数の式のうち、一番大きいものを返します。 |
| MIN(4,3, …) | 最小値 | 2つ以上の複数の式のうち、一番小さいものを返します。 |
| 関数名は大文字と小文字を区別しません。 |
式の例
次に示す式はすべて有効な式です。
0
4 + 8
2 - -3
(2 + 3) * 4
-(10 - 3)
9 / 3
CEIL(9.0 / 2) + 2
MIN(1, 2, 3, 4, 5 + 5)
さらに /expr コマンドでは次の式も有効です。
5
20d6 + 2
1d(2 + 3)
2d(3d(4 + 5))
1d2 + 1d3 + 1d4
MAX(1d6, 4)
その他
ロールの算出根拠および解釈
本ボットでは、下記の書籍の定義に沿ってロール結果の算出を行います。また後述の引用は著作権法 第32条1項に基づくものです:
・株式会社KADOKAWA, クトゥルフ神話TRPG, 2004, ISBN978-4-04-729464-6 (第6版)
・株式会社KADOKAWA, 新クトゥルフ神話TRPG ルールブック, 2019, ISBN978-4-04-735852-2 (第7版)
第6版の1D100ロールについて
本ボットでは、次の示す条件を上から順に判定します:
- 1D100によりクリティカルが発生した場合 → クリティカル
- 1D100 ≦
技能値だった場合 → 成功 - 1D100によりファンブルが発生した場合 → ファンブル
- 1D100 >
技能値だった場合 → 失敗
クリティカルとファンブルの判定について
クトゥルフ神話TRPG (pp.149)では、「戦闘時の決定的成功とファンブルのオプションルール」では、通常の技能・能力値ロールの代わりに、01~05を決定的成功、96~100をファンブルとするオプションルールが提案されています。本ボットではこのルールが適用されている国内の状況を鑑みて、BCDiceと同じ挙動になるようにしています。
ロールの解釈
クトゥルフ神話TRPG pp.58
【D100ロール】:(前略)…D100の結果が探索者のパーセント値以下だった場合、そのアクションは成功したことになる。それ以外の場合、アクションは失敗したのである。
クトゥルフ神話TRPG pp.149
【戦闘時の決定的成功とファンブル】武器の技能のロールで、D100の結果が「01~05」だった場合には、「決定的成功」だったということである…(中略)…D100の結果が「96~00」だった場合には、そのロールはファンブル(大失敗)だったことを表す。…(中略)…モンスターでもファンブルすることがあるが、攻撃技能が100%以上あれば、攻撃でファンブルすることはない。
pp.58のD100ロールの基本的な定義と、pp.149のモンスターの攻撃技能が十分あればファンブルを無視できるという記述から、成功はファンブルに優先すると考えることが自然であると判断しています。
第6版の組み合わせロールについて
本ボットでは、組み合わせロールに指定した技能値ごとに結果を返します。判定結果をひとつにまとめて「部分的成功」と表現することはありません。それぞれの結果をどう解釈するかはキーパーに委ねられます。
ロールの解釈
新クトゥルフ神話TRPG ルールブック (pp.149)
【組み合わせロール】(前略)…成功するためには、ロール結果がパーセント値の少ない方の技能値以下の値でなければならない。2つの技能の1つにだけ成功した場合には、部分的成功を意味する場合もあるし、完全な失敗とみなされる場合もある。…(中略)…ハーベイの〈図書館〉は65%、〈ラテン語〉は50%である。プレイヤーのロール結果は「51」だった。〈図書館〉には成功したが〈ラテン語〉は惜しいところで失敗だった。成功するためには50以下でなければならなかったのだ。キーパーは今回は部分的成功だったことにし、ハーベイはその本見つけたけれども、中に書かれている中世の引用や言葉を理解するのには助けが必要だといった。
このようにpp.149では、前後関係があるように見える組み合わせロールが例示されています。しかし実際には条件に前後関係があるのか、それとも並列なのかが文脈によるものであり、どちらの場合でも組み合わせロールは発生しうると考えられます。
また、その結果も判定に使われた技能に依存するので、端的に「部分的成功」とみなすことはできません。そのため「部分的成功」と表示することは避けており、キーパーとプレイヤーの裁量に任せています。
第7版のボーナス・ペナルティダイスについて
ボーナス・ペナルティ値の解釈
日本版公式クトゥルフ神話TRPGアカウントからは、
@cthulhumasters (2024年12月16日)
ルールブック87ページにありますように、ボーナス・ダイス、ペナルティー・ダイスは2つまでです。
https://x.com/cthulhumasters/status/1868527532175458350
のように回答が得られていますが、本ボットではシナリオやコミュニティルールに柔軟に対応するべく、ボーナス・ペナルティダイスの値に明確な制限を設定していません。
新クトゥルフ神話TRPG ルールブック (pp.87)
多くの場合、キーパーはロールを応援するか不利にする時にボーナス・ダイスかペナルティー・ダイスを1つだけ与えるだろう。しかし、状態が非常に有利だったり、ひどかったりすれば、2つ目のボーナス・ダイスまたはペナルティー・ダイスを与えてもよい。
Footnotes
-
この式は
/exprコマンドでのみ利用可能です。 ↩