Como posso calcular a distribuição de 3d6, manter e relançar quaisquer 1s e 2s, uma vez? [duplicado]
A maneira que meu mestre quer tentar é rolar 3d6 e rolar novamente qualquer 1 ou 2 uma vez. Se você tirar 2 e a nova jogada acabar sendo 1, você terá que pegar o 1.
Respostas
Você pode fazer assim , usando a função auxiliar desta resposta :
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"
Observe que primeiro estou definindo um dado personalizado X
que representa um único d6 com 1s e 2s relançados uma vez e, em seguida, rolando três desses dados personalizados. Especialmente com grandes pools de dados, isso é significativamente mais eficiente do que rolar o pool inteiro de uma vez e alimentar os resultados em uma função personalizada como sequências, uma vez que, nesse caso, AnyDice não é inteligente o suficiente para perceber que os dados individuais no pool não podem afetar entre si.
https://anydice.com/program/1d573
Isso deve fazer o que você quer com um único d6, é um ótimo script de luta com armas modificado . Eu atualizei o programa para seguir melhor as práticas comuns.
function: reroll R:n under N:n {
if R < N { result: d6 } else {result: R}
}
output 3d[reroll 1d6 under 3]
Você só precisa de dados de 36 lados
output 3d{1:2,2:2,{3..6}:8}
Vejo https://rpg.stackexchange.com/a/104780/6203