Este objeto contém informações sobre uma rolagem de dados que ocorreu ou que poderá ocorrer.
Você pode criar um objeto rolagem utilizando a função rrpg.interpretarRolagem
Propriedade |
Tipo |
Descrição |
tipo |
Enumerado:
|
Somente leitura, contém o tipo da rolagem. "direta" - Rolagem de dados padrão. "storyteller" - Rolagem de dados storyteller. Quantidade de dados cuja face seja maior ou igual a algum numero e que um resultado natural 1 anula um sucesso |
possuiAlgumDado |
Boolean |
Somente leitura, contém true se a rolagem possuir pelo menos um dado de qualquer face. Exemplo: Na rolagem "+5" a propriedade conteria false, enquanto na rolagem "d6 + 5" conteria true. |
asString |
String |
Somente leitura, contém a rolagem como uma cadeia de caracteres. |
isRolado |
Boolean |
Somente leitura, contém true se a rolagem já foi executada e possui o resultado, ou false se ainda não. |
resultado |
Integer |
Somente leitura, contém o valor resultado da rolagem se ela já tiver sido feita. Se a rolagem ainda não tiver executada, contém 0. |
Arranjo de Objetos OperacaoRolagem |
Contém a lista de operações "aritméticas" da rolagem. É um arranjo de tabelas/objetos, isto é, uma tabela lua indexada de 1 a N, onde cada posição possui uma tabela conforme a operação... |
Método |
Descrição |
rolagem:interpretarString(str) |
Dado uma cadeia de caracteres representando uma rolagem de dados (Exemplos: "1d20 + 5", "1d20 + 1d10 - 5", etc..), atualiza as informações da rolagem de dados. Observação: Se "str" não contiver um texto de uma rolagem válida, o objeto rolagem é resetado. |
Adiciona ao final desta rolagem de dados as operações "aritméticas" de outra rolagem, juntando-as. Parâmetros:
Retorno:
|
|
|
Executa a rolagem localmente. Esta função realiza os sorteios e demais operações sem haver necessidade do usuário estar em uma mesa.
|
Cada operação de rolagem é uma tabela lua com as seguintes propriedades:
Propriedade |
Tipo |
Descrição |
tipo |
Enumerado:
|
Determina qual é a operação. "dado" - Um grupo de dados a serem rolados "imediato" - Um número constante especificado pelo usuário. "comparacao" - Uma comparação entre números/dados. "ordenacao" - Pedido para ordenar o resultado de forma decrescente. Os demais valores são autoexplicativos. |
quantidade |
Integer |
Quando o tipo == "dado", determina quantos dados da face informada serão rolados. |
face |
Integer ou String |
Quando tipo == "dado", contém qual é face dos dados.. Exemplos:
|
resultados |
Arranjo de Integer |
Quando tipo == "dado" e se a rolagem já tiver sido feita, contém um arranjo de números representando o resultado individual de cada dado na operação. |
comparacao |
String |
Quando tipo == "comparacao", contém qual é o comparador. |
valor |
Integer |
Quando tipo == "imediato" contém o valor do número constante literal informado. |
<?xml version="1.0" encoding="UTF-8"?> <button> if not rolagem.possuiAlgumDado then local mesaDoPersonagem = rrpg.getMesaDe(sheet); |
Exemplo 2 - Rolar localmente e exibir uma mensagem personalizada.
local msg = ""; -- Interpretar uma rolagem, digamos: 4d6 + 2d4 + d20 + 5 -- Executar a rolagem localmente -- Loop para navegar em cada uma das operações da rolagem -- Vamos verificar que tipo de operação é esta. if operacao.tipo == "dado" then msg = msg .. "\n"; -- Concatenar à mensagem o resultado final da rolagem -- Exibir a mensagem que montamos. |
Exemplo 3 - Uma ficha fazendo um teste (de resistência, por exemplo) e postando o resultado na mesa.
<?xml version="1.0" encoding="UTF-8"?> -- se o usuário não preencheu modificador, vamos usar o valor 0 mesaDoPersonagem.chat:rolarDados("1d20 + " .. sheet.modificador, "Teste de Resistência", if rolado.resultado >= 15 then end); <button onClick="realizarTesteDeResistencia()"/> |
Created with the Personal Edition of HelpNDoc: Powerful and User-Friendly Help Authoring Tool for Markdown Documents