BCRoller
A module to query the BCDice API for dice rolls. BCDice is the largest dice rolling bot in Japan, containing 100s of different TRPG systems and playstyles. You can find the sourcecode here. Please feel free to join their Discord and discuss your favorite Japanese TRPGs. You can even submit localization files for them.
Alternatively, if you have a system which foundry does not support, you can submit how that system does dice rolls and it can be implemented in BCDice (thus allowing you to use that system in foundry). Currently, the majority of users are from Japan and Korea. Looking forward to seeing others joing the team!
BCDice
日本でもっとも使われている、TRPG用ダイスロール処理システムです。どどんとふ、ココフォリア、ユドナリウム、TRPGスタジオなどさまざまなオンセツールで使われています。(https://bcdice.org/ より引用)
Modの使い方はWikiよりご確認ください(jsin_me版の情報)。
サポートはWikiにあるコミュニティDiscordに入り(事前確認不要)、BCDiceチャンネルで要望をご報告ください。
Custom System Builderとの連携
使用方法
「Label roll message」に以下のコードを入力することでBCDiceを経由するロールが可能になります。
${#%{localVars.bcdformula=`BCDiceコマンド`}%}$${#%{localVars.text=await game.modules.get("fvtt-bcdice-addon").api.customCommand("/bcd","",`${bcdformula}$`)}%}$${#%{localVars.result=`${text}$`.substring(`${text}$`.lastIndexOf("> ") + 2)}%}$
-
BCDiceコマンドの部分を任意のコマンドに置き換えてください。
-
BCDiceコマンドの部分には
{}
で括ったチャットパレットの変数に加えて、${}$
で括ったCustom System Builderの変数も使用できます。 -
ダイスロールコマンドの場合、出力結果の全文が
${text}$
に代入され、最後の1項目がロール結果として${result}$
に代入されます。- 自動化は
${result}$
を使用したコードを追加することである程度実現できます。 - 選択したダイスボットやロール式によっては
${result}$
が特殊な結果になる場合がありますが、その場合はスクリプトやマクロで${text}$
を整形して利用してください。
- 自動化は
-
変数操作コマンドの場合、変数名が
${text}$
に代入され、操作後の値が${result}$
に代入されます。 - BCDiceの出力結果のみを表示したい場合は「Send roll message to chat」オプションをオフにしてください。
- ロール結果の発言者は現在選択しているトークンになります。キャラクターシートのアクターではないので注意してください。
変数同期
設定で「CustomSystemBuilder連携」を有効にすると、BCDiceの変数とCSBの変数の双方向同期を行えるようになります。
- BCDice側の変数は事前に作成しておく必要があります。自動で作成されません。
- 各変数が変更された時に同期する仕組みです。常時監視して同期しているわけではないので注意してください。
同期対象の変数を設定する必要があります。
- 「BCDiceの変数名 : CSBのCompornent key」という「:」区切りの形式で1行ずつ記述します。
- CSB側がDynamicTable内の変数である場合、「BCDiceの変数名:DynamicTableのCommentkey, 判別用FieldのCompornentkey, 同期対象FieldのCompornentkey」となります。
設定例:
HP : currenthp
敏捷 : attributes, name_attributes, value_attributes
この例では、以下の2つの変数が同期されます。
-
BCDiceの変数「HP」と、CSBのkey「currenthp」の値
- BCDiceの変数「敏捷」と、CSBのkey「attributes」のDynamicTable内のkey「name_attributes」欄が「敏捷」である行のkey「value_attributes」欄の値