3 releases (breaking)

0.3.0 Apr 14, 2021
0.2.0 Apr 11, 2021
0.1.0 Apr 11, 2021

#3 in #rolls

27 downloads per month

EUPL-1.2

42KB
1K SLoC

Roll-rs

roll-rs is a dice roller that allows one to roll arbitrary dice and potentially combine them with arithmetic

Usage Modes

Normal usage

$ roll d8 + 2d4
d8    d4
d8 + 2d4 = 8
3     1
      4

Short mode

$ roll -s d8 + 2d4
d8 + 2d4 = [3] + [1, 4] = 8

Advanced mode
this allows using dice rolls to determine the sides and amount of another roll

$ roll -a (d8)d(2d4)
 d8 d7 d4
(d8)d(2d4) = 5
 2  3  3
    2  4

Notation

Standard
Standard notation allows you to roll any sided die any number of times

d     # roll a single 20 sided die
1d20  # equivalent

Percentile
You can use % as a shorthand for 100 sides

3d%   # roll a percentile die 3 times and add them together
3d100 # equivalent

Keep
The keep modifier allows you to roll multiple dice but only keep the highest or lowest result(s)

4d8kh2 # roll a d8 4 times and keep the highest 2 rolls
4d8k2  # equivalent to the above
4d8kl1 # roll a d10 4 times and keep the lowest roll

Drop
The keep modifier allows you to roll multiple dice but drop the highest or lowest result(s) (Opposite of Keep).

4d8dl2 # roll a d8 4 times and drop the lowest 2 rolls
4d8d2  # equivalent to the above
4d8dh1 # roll a d8 4 times and drop the highest roll

Maths

Roll-rs supports the following arithmetic operators

Operator Description
+ Plus
- Minus
* Multiplication
/ Division
// Integer division
mod Modulo
** Exponentiation

Roll-rs follows the normal order of operations and also allows the use of parenthesis to affect this.

Dependencies

~140–320KB