Ein Würfel-Plugin für alle Pen-&-Paper-Webapps: echte 3D-Würfel mit Physik, Würfel-Log, eigene Würfel und eine Formelsprache von 3w20 bis 12w6>=5. Eine Datei, keine Abhängigkeiten, keine externen Aufrufe.
Jedes Element mit data-pnp-roll würfelt beim Klick, das Ergebnis landet im Log links.
Würfel können statt über der ganzen Seite auch in einem eigenen Bereich rollen und liegen bleiben.
Würfe kommen als kurze JSON-Daten übers Netz und werden mit genau diesen Werten nachanimiert. Verdeckte SL-Würfe kommen ohne Werte an.
<script src="redneck-dice.js"></script>
<div id="wuerfel"></div>
<script>
RedneckDice.mount('#wuerfel');
RedneckDice.bindAttributes();
// Würfel-Looks: jeder Knopf zeigt eine Vorschau und würfelt alle Körper in diesem Look
const looks = document.getElementById('looks');
function paintLooks() {
looks.innerHTML = '';
for (const t of RedneckDice.listThemes()) {
const b = document.createElement('button');
b.className = 'btn';
b.setAttribute('aria-pressed', String(t.name === RedneckDice.config.theme));
b.innerHTML = `${t.label}`;
looks.appendChild(b);
RedneckDice.renderPreview(b.querySelector('canvas'), { theme: t.name, size: 30, color: '#dc2626' });
b.addEventListener('click', () => {
RedneckDice.roll('1w4+1w6+1w8+1w10+1w12+1w20+1w100', { tray: '#mat', theme: t.name, label: t.label });
});
}
}
paintLooks();
RedneckDice.on('settle', r =>
sendToDiscord(r.text));
</script>