D20

D20 is a Dart library for RPG dice rolling. Supports standard notation (like "2d12", "d6+5" and "2d20-L").

add the following to your pubspec.yaml file:

dependencies: d20: <1.0.0

then run:

pub get

or with flutter:

flutter packages get

import 'package:d20/d20.dart'; void main() { final D20 d20 = D20(); print(d20.roll('2d8+5+5d6')); }

One can also get (probably) useful information of roll results:

import 'package:d20/d20.dart'; import 'package:d20/roll_statistics.dart'; void main() { final D20 d20 = D20(); final RollStatistics stats = d20.rollWithStatistics('2d8+5+5d6'); print(stats.results[0].faces); print(stats.results[1].results); }

Supported notation #

The standard dice notation will be parsed, such as 2d8+4.

L and H subtraction #

When a -L or -H follows a roll, as in 2d20-L , the lowest (or highest) roll of the sequence will be subtracted from the result.

You can also use mathematical operators, such as 1d6*3 or 10d4/d6 ; or even 10 * sin(d20) , though I'm not sure why you'd need that.

Percentile dice (d%) #