From 50ecd27c92a47bd370f018af6202be09f89fa8d6 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Wed, 28 Aug 2024 23:35:26 -0600 Subject: [PATCH] Add a simple macro for rolling Eat The Reich dice --- scripts/macros/rollDice.mjs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 scripts/macros/rollDice.mjs diff --git a/scripts/macros/rollDice.mjs b/scripts/macros/rollDice.mjs new file mode 100644 index 0000000..c4011eb --- /dev/null +++ b/scripts/macros/rollDice.mjs @@ -0,0 +1,35 @@ +async function rollDice() { + + const statBase = await DialogManager.ask({ + question: `How many dice to roll?`, + initialValue: 2, + inputType: `number`, + }); + + if (!statBase) { + return; + } + + const sidesOnDice = 6; + const successThreshold = 4; + + let successes = 0; + const results = []; + for (let i = statBase; i > 0; i--) { + let r = new Roll(`1d${sidesOnDice}`); + await r.evaluate(); + results.push(r.total); + if (r.total >= successThreshold) { + successes++; + } + if (r.total === sidesOnDice) { + successes++; + } + } + + await ChatMessage.create({ + content: `Rolled: ${results.join(`, `)}
Successes: ${successes}`, + }); +} + +rollDice() \ No newline at end of file