3d6の分布を計算し、1と2を1回保持して再ロールするにはどうすればよいですか?[複製]

Aug 19 2020

私のDMが試したい方法は、3d6をロールし、1または2を1回リロールすることです。2をロールし、リロールが1になる場合は、1を取る必要があります。

回答

4 IlmariKaronen Aug 19 2020 at 04:29

この回答のヘルパー関数を使用して、このように行うことができます:

function: ROLL:n replace FILTER:s with REROLL:d {
  if ROLL = FILTER { result: REROLL }
  result: ROLL
}

X: [d6 replace {1,2} with d6]
output 3dX named "3d6, reroll 1 and 2 once" 

最初にX、1と2が1回リロールされた単一のd6を表すカスタムダイを定義し、次にこれらのカスタムダイを3つロールすることに注意してください。特にサイコロのプールが大きい場合、プール全体を一度にロールして結果をシーケンスとしてカスタム関数にフィードするよりもはるかに効率的です。その場合、AnyDiceは、プール内の個々のサイコロが影響を及ぼさないことを理解するほど賢くないためです。お互い。

3 Daveman Aug 19 2020 at 04:22

https://anydice.com/program/1d573

これは、単一のd6で必要なことを実行するはずです。これは、修正された優れた武器戦闘スクリプトです。私はプログラムを更新して、一般的な慣行によりよく従うようにしました。

function: reroll R:n under N:n {
   if R < N { result: d6 } else {result: R}
}
output 3d[reroll 1d6 under 3]
3 DaleM Aug 19 2020 at 05:00

36面のサイコロが必要です

output 3d{1:2,2:2,{3..6}:8}

見る https://rpg.stackexchange.com/a/104780/6203