Arquivo

Archive for julho \17\+00:00 2023


Rolador de Ataques body { display: flex; justify-content: flex-end; align-items: center; height: 100vh; margin: 0; font-family: Verdana, Geneva, sans-serif; background-color: #f4f4f4; } .container { text-align: right; padding: 20px; border: 1px solid #ccc; border-radius: 5px; background-color: #fff; max-width: 400px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } .container h1 { margin-top: 0; } .container label { display: block; margin-bottom: 5px; } .container input { margin-bottom: 10px; } .container button { background-color: #1da1f2; color: white; border: none; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; border-radius: 5px; cursor: pointer; margin-right: 10px; }

Rolador de Ataques

Bônus de Ataque:
Dado de Dano da Arma (Ex: 1d8):
Bônus de Dano:
Margem de Ameaça de Acerto Crítico:
Rolar Ataque Compartilhar no Twitter Copiar Resultado

function rolarAtaque() { const bonusAtaque = parseInt(document.getElementById(“bonusAtaque”).value) || 0; const danoArma = document.getElementById(“danoArma”).value; const bonusDano = parseInt(document.getElementById(“bonusDano”).value) || 0; const margemAmeaca = parseInt(document.getElementById(“margemAmeaca”).value) || 20; if (!danoArma.match(/^\d+d\d+$/)) { alert(“Digite o dado de dano da arma no formato correto (Ex: 1d8).”); return; } const [numDados, ladosDados] = danoArma.split(“d”).map(Number); // Rolagem do dado de ataque (1d20) const dadoAtaque = Math.floor(Math.random() * 20) + 1; const totalAtaque = dadoAtaque + bonusAtaque; let resultado = `Resultado do dado de ataque: ${dadoAtaque} (${totalAtaque})\n`; if (dadoAtaque >= margemAmeaca) { // Rolagem do dado de dano dobrado const danoRolado = Array.from({ length: numDados * 2 }, () => Math.floor(Math.random() * ladosDados) + 1); const totalDano = danoRolado.reduce((sum, roll) => sum + roll, 0) + bonusDano; resultado += `Dado de dano dobrado (2x ${numDados}d${ladosDados}): ${danoRolado.join(“, “)}\n`; resultado += `Total de dano dobrado: ${totalDano}`; } else { // Rolagem do dado de dano normal const danoRolado = Array.from({ length: numDados }, () => Math.floor(Math.random() * ladosDados) + 1); const totalDano = danoRolado.reduce((sum, roll) => sum + roll, 0) + bonusDano; resultado += `Dado de dano (1x ${numDados}d${ladosDados}): ${danoRolado.join(“, “)}\n`; resultado += `Total de dano: ${totalDano}`; } // Adiciona o bônus de ataque no resultado final resultado += `\nBônus de ataque: ${bonusAtaque}`; document.getElementById(“resultado”).innerText = resultado; } function compartilharTwitter() { const resultado = document.getElementById(“resultado”).innerText; const textoCompartilhamento = “Este foi meu resultado no rolador de ataques: ” + resultado; const url = `https://twitter.com/intent/tweet?text=${encodeURIComponent(textoCompartilhamento)}`; abrirNovaAba(url); } function copiarResultado() { const resultado = document.getElementById(“resultado”).innerText; const textarea = document.createElement(“textarea”); textarea.value = resultado; document.body.appendChild(textarea); textarea.select(); document.execCommand(“copy”); document.body.removeChild(textarea); alert(“Resultado copiado para a área de transferência!”); } function abrirNovaAba(url) { window.open(url, “_blank”, “width=600,height=400”); }
Categorias:Uncategorized