En solution générale pour relancer une fois est d'utiliser une fonction d'aide comme celle-ci :
function: ROLL:n reroll BAD:s as REROLL:d {
if ROLL = BAD { result: REROLL }
result: ROLL
}
Vous pouvez assigner le résultat de cette fonction à un dé personnalisé, puis en lancer autant que vous le souhaitez :
X: [d6 reroll {1,2} as d6]
output [highest 3 of 4dX]
Pour relancer un nombre illimité de fois, nous pouvons utiliser une astuce de cette réponse de Carcer et faire passer le "dé vide" d{}
en tant que REROLL
paramètre, así :
Y: [d6 reroll {1,2} as d{}]
output [highest 3 of 4dY]
Lors de l'addition des résultats de la fonction, AnyDice ignorera simplement ces dés vides, comme si les jets qui les ont produits n'avaient jamais eu lieu.
Cependant, pour des dés simples comme un simple d6, il est également possible de définir directement un dé personnalisé qui exclut les faces à relancer, comme décrit dans la section Alex P's y Dale M's réponses :
output [highest 3 of 4d{3..6}]
L'astuce générale de relance est plus utile dans les cas où le "dé" à relancer est déjà le résultat d'une procédure de relance complexe, de sorte que les probabilités des différents lancers ne sont pas toutes les mêmes (comme c'est le cas avec un simple d6).
Par exemple, si vous voulez calculer la distribution des scores d'aptitude obtenus en lançant 4d6, en laissant tomber le dé le plus bas et en puis de relancer l'ensemble du score jusqu'à ce qu'il soit d'au moins 10 vous pouvez utiliser ce code :
output [[highest 3 of 4d6] reroll {3..9} as d{}]
0 votes
Ai-je raison de supposer que votre DM utilisait cette méthode pour générer des scores d'aptitudes ?