trpg-dice

    1.3.4 • Public • Published

    trpg-dice

    Build Status npm NpmLicense

    Tabletop RPG dice-roller with a multiple dice-types, rolling methods, minimum and maximum values, string output, and error-first callbacks.

    Installation

    npm install trpg-dice

    Usage

    To use the library, import the module and call the roll() method with a dice expression, an optional options parameter, and a callback function. Dice expressions with standard <number of dice>d<number of sides> are all supported as well as simple math. To roll Fate/Fudge dice, use dF or df for the dice expression.

    const dice = require("trpg-dice");
     
    function callback(err, result) {
      if (err) {
        throw err;
      } else {
        console.log(result);
      }
    }
     
    dice.roll("2d6+10", callback);
    dice.roll("d20-2", { roll: 10 }, callback); // will roll d20-2 for 10 times
    dice.roll("4dF+2", callback); // will roll Fate/Fudge dice
    dice.roll("d8+d12", callback);
    dice.roll("4d6+(2d6/2)", callback);

    The roll() method is an error-first callback that invokes the callback function with an error (or null if none) and an object with the original dice expression, minimum, maximum, average, and roll results.

    {
      expression: '2d6+2',
      min: 4,
      max: 14,
      avg: 9,
      rolls: [
        { result: 12, resultString: '(5+5)+2', condensedResultString: '(10)+2' },
        { result: 8, resultString: '(1+5)+2', condensedResultString: '(6)+2' },
        { result: 11, resultString: '(3+6)+2', condensedResultString: '(9)+2' },
        { result: 5, resultString: '(2+1)+2', condensedResultString: '(3)+2' },
        { result: 8, resultString: '(5+1)+2', condensedResultString: '(6)+2' },
        { result: 13, resultString: '(6+5)+2', condensedResultString: '(11)+2' },
        { result: 9, resultString: '(5+2)+2', condensedResultString: '(7)+2' },
        { result: 9, resultString: '(4+3)+2', condensedResultString: '(7)+2' },
        { result: 8, resultString: '(4+2)+2', condensedResultString: '(6)+2' },
        { result: 8, resultString: '(4+2)+2', condensedResultString: '(6)+2' }
      ]
    }

    Options

    The following options are currently supported:

    • roll - specifies the amount of times the dice expression should be rolled, increasing the number of roll results returned in the object

    Install

    npm i trpg-dice

    DownloadsWeekly Downloads

    5

    Version

    1.3.4

    License

    MIT

    Unpacked Size

    16.7 kB

    Total Files

    9

    Last publish

    Collaborators

    • hdtran