As respostas para as suas perguntas podem ser encontradas na documentação sobre dados arbitrários.
Besides creating a die based on a single number, you can also create a die based on a sequence, for example d{1,2,4,4}. This allows you to create dice of any shape. It is also possible to explicitly create dice based on another die or collection of dice.
Essencialmente, qualquer dado não faz nada com dados. Para isso, todos os dados são seqüências. Então, quando você dá 1d (2d4), ele vê isso como 1d {2,3,3,4,4,4,5,5,5,5,6,6,6,7,7,8}. O "1d" então seleciona 1 número aleatoriamente daquela sequência, o que equivale a rolar 2d4.
O que você precisa é (como costuma ser o caso com qualquer dado) uma função.
function: roll D:n {
result: dD
}
output [roll 2d4]
Você pode ver os resultados aqui . Se você está se perguntando como essa função funciona quando tudo o que faz é usar o mesmo "d" que você usou, é por causa da maneira como qualquer dado lida com parâmetros de função.
Expecting a number
If a sequence is provided, then the sequence will be summed. If a die is provided, then the function will be invoked for all numbers on the die – or the sums of a collection of dice – and the result will be a new die.
Então, dizendo à função para esperar um número, e dando a ela um dado, ele rola o dado e avalia a função para todos os resultados possíveis individualmente.
Alternativamente, você pode fazer o que qualquer um faz, e apenas descobrir a sequência que contém todos os resultados possíveis - essa abordagem funciona para qualquer coisa que você queira fazer, mas geralmente envolve muito esforço manual tedioso.