# Igor1201/d20

Dart library for RPG dice rolling
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
 Failed to load latest commit information. .circleci Sep 14, 2018 example Sep 17, 2018 lib Sep 17, 2018 test Sep 17, 2018 .gitignore Sep 14, 2018 CHANGELOG.md Sep 17, 2018 LICENSE Sep 14, 2018 README.md Sep 17, 2018 analysis_options.yaml Sep 14, 2018 pubspec.yaml Sep 17, 2018

# D20

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

## Installation

add the following to your `pubspec.yaml` file:

```dependencies:
d20: <1.0.0```

then run:

`pub get`

or with flutter:

`flutter packages get`

## Usage

```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.

### Operators

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%)

You can also use use the `d%` notation instead of `d100`.