d20.js
Javascript library for rolling RPG dice. Supports dice notation such as "4d6" and "d20+2".
Installation
In the browser
Download the files from GitHub and include the d20.js file somewhere in your HTML page.
<script src="path/to/d20.js"></script>
As a Node.js module
Add the git repository as a dependency in your package.json file (you can specify a version branch instead of "master" if you want a specific version).
{
"dependencies": {
"d20": "git://github.com/michaelenger/d20.js.git#master"
}
}
require it in your app.
var d20 = require('d20');
Usage
Both methods of using the library provides a d20 object with the roll() method which is used to roll dice.
d20.roll(20);
d20.roll('4d6');
d20.roll('2d8+1');
d20.roll('1d8 +1 +2 -20');
You can get the result as an array of values rather than a single result if you pass true along as the second parameter. Note that the results will be sorted in ascending order except for the modifiers which will be in their order of apperance.
d20.roll(20, true);
d20.roll('4d6', true);
d20.roll('2d8+1', true);
d20.roll('1d8 +1 +2 -20', true);
Testing
The library can be tested by installing the dependencies and running npm test:
npm install
npm test