From ed0a12c3bc326213a31b71d848c8f089dddbcbe2 Mon Sep 17 00:00:00 2001 From: "Ean Milligan (Bastion)" Date: Wed, 29 Jun 2022 03:28:15 -0400 Subject: [PATCH] deno fmt + added docs on cwod dice --- README.md | 4 ++++ src/commands/rollHelp.ts | 25 +++++++++++++++++++++---- src/solver/rollFormatter.ts | 4 ++-- src/solver/roller.ts | 4 ++-- src/solver/solver.d.ts | 2 +- 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index df465de..2edd1ad 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,10 @@ The Artificer comes with a few supplemental commands to the main rolling command * `[[4d20r1!]]` will roll 4 d20 dice, rerolling any dice that land on 1, and repeatedly rolling a new d20 for any critical success rolled. * `[[d20/40]]` will roll a d20 die and divide it by 40. * `[[((d20+20) - 10) / 5]]` will roll a d20, add 20 to that roll, subtract off 10, and finally divide by 5. + * This command can also handle some custom format dice: + * CWOD Dice - `[[xcwody]]` + * `x` - Number of CWOD dice to roll + * `y` - Difficulty to roll at * This command also has some useful decorators that can used. These decorators simply need to be placed after all rolls in the message: * `-c` - Count - Shows the Count Embed, containing the count of successful rolls, failed rolls, rerolls, drops, and explosions * `-nd` - No Details - Suppresses all details of the requested roll diff --git a/src/commands/rollHelp.ts b/src/commands/rollHelp.ts index 0142151..538afa8 100644 --- a/src/commands/rollHelp.ts +++ b/src/commands/rollHelp.ts @@ -14,13 +14,17 @@ export const rollHelp = (message: DiscordenoMessage) => { message.send({ embeds: [ { - color: infoColor2, + color: infoColor1, title: 'The Artificer\'s Roll Command Details:', description: `You can chain as many of these options as you want, as long as the option does not disallow it. - This command also can fully solve math equations with parenthesis. - - The Artificer supports most of the [Roll20 formatting](https://artificer.eanm.dev/roll20). More details and examples can be found [here](https://artificer.eanm.dev/roll20).`, +This command also can fully solve math equations with parenthesis. + +The Artificer supports most of the [Roll20 formatting](https://artificer.eanm.dev/roll20). More details and examples can be found [here](https://artificer.eanm.dev/roll20).`, + }, + { + color: infoColor2, + title: 'Roll20 Dice Options:', fields: [ { name: `\`${config.prefix}xdydzracsq!${config.postfix}\` ...`, @@ -165,6 +169,19 @@ export const rollHelp = (message: DiscordenoMessage) => { }, { color: infoColor1, + title: 'Custom Dice Options', + fields: [ + { + name: 'CWOD Rolling', + value: `\`${config.prefix}xcwody${config.postfix}\` +\`x\` - Number of CWOD dice to roll +\`y\` - Difficulty to roll at`, + inline: true, + }, + ], + }, + { + color: infoColor2, title: 'Roll Command Decorators:', description: `This command also has some useful decorators that can used. These decorators simply need to be placed after all rolls in the message. diff --git a/src/solver/rollFormatter.ts b/src/solver/rollFormatter.ts index 3ea32c0..c7bc1e8 100644 --- a/src/solver/rollFormatter.ts +++ b/src/solver/rollFormatter.ts @@ -28,7 +28,7 @@ export const formatRoll = (rollConf: string, maximiseRoll: boolean, nominalRoll: if (!e.dropped && !e.rerolled) { // If the roll was not dropped or rerolled, add it to the stepTotal and flag the critHit/critFail - switch(e.type) { + switch (e.type) { case 'ova': case 'roll20': tempTotal += e.roll; @@ -67,7 +67,7 @@ export const formatRoll = (rollConf: string, maximiseRoll: boolean, nominalRoll: // After the looping is done, remove the extra " + " from the details and cap it with the closing ] tempDetails = tempDetails.substring(0, tempDetails.length - 3); if (tempRollSet[0]?.type === 'cwod') { - tempDetails += `, ${tempRollSet.filter(e => e.critHit).length} Successes, ${tempRollSet.filter(e => e.critFail).length} Fails`; + tempDetails += `, ${tempRollSet.filter((e) => e.critHit).length} Successes, ${tempRollSet.filter((e) => e.critFail).length} Fails`; } tempDetails += ']'; diff --git a/src/solver/roller.ts b/src/solver/roller.ts index 93c09c3..c6a7730 100644 --- a/src/solver/roller.ts +++ b/src/solver/roller.ts @@ -5,7 +5,7 @@ import { LT, } from '../../deps.ts'; -import { RollSet, RollConf, RollType } from './solver.d.ts'; +import { RollConf, RollSet, RollType } from './solver.d.ts'; import { compareOrigidx, compareRolls, genRoll, loggingEnabled } from './rollUtils.ts'; // roll(rollStr, maximiseRoll, nominalRoll) returns RollSet @@ -104,7 +104,7 @@ export const roll = (rollStr: string, maximiseRoll: boolean, nominalRoll: boolea // Use critScore to set the difficulty rollConf.critScore.on = true; - const difficulty = parseInt(cwodParts[1] || '10') + const difficulty = parseInt(cwodParts[1] || '10'); for (let i = difficulty; i <= rollConf.dieSize; i++) { loggingEnabled && log(LT.LOG, `handling cwod ${rollStr} | Parsing difficulty ${i}`); rollConf.critScore.range.push(i); diff --git a/src/solver/solver.d.ts b/src/solver/solver.d.ts index 9d7a3dc..af67e86 100644 --- a/src/solver/solver.d.ts +++ b/src/solver/solver.d.ts @@ -97,4 +97,4 @@ export type RollConf = { once: boolean; nums: number[]; }; -} +};