RPGDadosGuia de Rolagem

Sintaxe do Sistema de Rolagem de Dados

Introdução

Utilizamos a sintaxe padrão de dados para RPG, <número de dados> d <número de lados do dado>

Exemplos:

5d20: Roda 5 dados de 20 lados e retorna a soma de todos eles

100d4: Roda 100 dados de 4 lados e retorna a soma de todos eles

Por padrão, se não for escrito o número de dados, será considerado 1, e se não for escrito o número de lados, será considerado 20.

Exemplos:

d5: Roda 1 dado de 5 lados

42d: Roda 42 dados de 20 lados

d: Roda 1 dado de 20 lados

Obs: Para evitar ataques DoS ao bot, a quantidade total de dados não pode ultrapassar 200, e a quantidade máxima de lados de um dado é 1000.

Explosivos

Dados explosivos são dados que, caso a rolagem caia determinado número ou mais, rolam novamente.

e Caso o número rolado seja maior que o número pedido, explode o dado uma única vez.

ei Explode até que o resultado seja menor que o número pedido.

Exemplos:

d20e: Se o dado original cair maior ou igual a 5, rola mais uma vezd

30ei: Se o dado cair maior ou igual a 10, rola mais uma vez, e caso o novo dado também, rola novamente, até que o resultado seja menor que 10

Por padrão, se não for escrito o número, será considerado o número máximo do dado.

Exemplos:

15d24e = 15d24e245d4

ei/! = 5d4ei

Obs: Para evitar ataques DoS ao bot, limitamos a quantidade de explosões para 200, mesmo porque usando de forma legítima você nunca vai precisar de mais do que isso.

Incompatível com dados keep por gerar ambiguidades demais.

Intervalos

Apenas os números no intervalo determinado são mantidos.

<<: Mantém apenas os números menores ou iguais ao solicitado, o resto descarta.

>>: Mantém apenas os números maiores ou iguais ao solicitado, o resto descarta.

Exemplos:

12d30<<25: Mantém apenas os números menores ou iguais a 25, o resto descarta.

12d10>>5: Mantém apenas os números maiores ou iguais a 5, o resto descarta.

12d50<<35>>10: Mantém apenas os números entre 10 e 35, o resto descarta.

Por padrão, se não for escrito o número, será considerada a metade do número máximo do dado.

Exemplos:

6d32>> = 6d32>>16

8d42<< = 8d42<<21

Keep

Apenas os maiores ou menores números são mantidos.

Sintaxe

k: Mantém apenas os maiores números da rolagem, o resto descarta.

km: Mantém apenas os menores números da rolagem, o resto descarta.

Exemplos:

12dk5: Supondo um resultado de {3, 5, 10, 15, 2, 1, 6, 8, 2, 20, 9, 19}, manterá apenas os 5 maiores, ou seja, {10, 15, 20, 9, 19}

12dkm5: Supondo o mesmo resultado de antes ({3, 5, 10, 15, 2, 1, 6, 8, 2, 20, 9, 19}), manterá apenas os 5 menores, ou seja, {3, 5, 2, 1, 2}

12dkm2k3: Supondo o mesmo resultado de antes ({3, 5, 10, 15, 2, 1, 6, 8, 2, 20, 9, 19}), manterá apenas os 2 menores e os 3 maiores, ou seja, {15, 2, 1, 20, 19}Por padrão, se não for escrito o número, será considerado 1.

Exemplos:15d24k = 15d24k15d4km = 5d4km1

Incompatível com dados explosivos por gerar ambiguidades demais.

Expressões Numéricas

E claro, não poderiam faltar, expressões numéricas!

Essas funcionam exatamente como você aprendeu na escola.

A expressão (5 + 10 * 8) / (10 - 15) resultará em -17.

Mas claro, nosso dado não é apenas uma calculadora.

Operadors permitidos:

+: Soma.

-: Subtrai.

*: Multiplica.

/: Divide.

%: Calcula o resto da divisão. (ainda quero saber quem que vai usar isso na vida)

(): Muda a ordem de procedência da expressão

Exemplos:

23d20+3: Soma 3 ao resultado dos dados.

5d3+33d4*3d10: Multiplica o resultado de 3d10 com o resultado de 33d4, depois soma ao de 5d3.

Expressões Numéricas em Massa

As expressões dos operadores em massa funcionam da esquerda para a direita, independentemente da ordem de prioridades da matemática. Isso é uma escolha de design para evitar complicar os dados tendo que colocar parênteses no meio deles.

Sintaxe

++: Soma o número determinado em todos os dados.

--: Subtrai o número determinado de todos os dados.

**: Multiplica todos os dados pelo número determinado.

//: Divide todos os dados pelo número determinado.

%%: Calcula o resto da divisão pelo número determinado. (sinceramente, quem que vai usar isso na vida?)

Exemplos:

23d22++6: Soma 6 em cada um dos dados.

2d2--4**8: Subtrai 4 e depois multiplica por 8 cada um dos dados.

2d2**8--4: Multiplica por 8 e depois subtrai 4 em cada um dos dados.

Rolagem em Massa

As vezes precisamos dar várias roladas de uma unica vez, para isso usamos o argumento #

A expressão 5#d20 resultará em 5 rolagens independentes de dados de 20 lados.

Exemplos:

23d20+3: Soma 3 ao resultado dos dados.

5d3+33d4*3d10: Multiplica o resultado de 3d10 com o resultado de 33d4, depois soma ao de 5d3.

Caso exceda o limite de caracteres a exibição é reduzida com a soma dos totais dos dados.

Dados Fate

São dados que só possuem 3 valores possíveis: -1, 0 ou 1. E sim, isso é tudo que eles fazem. O sistema Fate usa eles, então é, tá aí.

f<número>

Padrão: 4

Exemplos:

d+f: Roda um d20 + 4 dados fate.

f10: Roda 10 dados fate.