Dice expression tester

Result

Run a formula to see the result...

Maths

``` 3 + 6 ``` ``` 7 * 5 ``` ``` 8.3 / 1.4 ```

Dice

`1d4` `7d8` `3d6 + 4d10 + 1d20` `2d20 + 5` `37d14` `(1d6)d10`

Comparison

`1d20 > 10` `1d6 < 1d8` `10d20 <= 10` `(10d20) <= 100` `1d4 = 3` `1d4 != 2`

You can add weight to some values in the comparison. If the value is found, their success ou failure is multiplied by the number after ":".

`10 ={10:3} 10` `10d6 >{1:2,6:2} 4`

Tags

`(1d20 + 4)[initiative]` `1d20 + 3[dexterity] + 2[proficiency]` `8d6[fire, ice, damage]`

Functions

round, ceil, floor

Round : round to the closest integer. Ceil : round up. Floor : round down

`round(1d8/3)` `floor(3.14)` `ceil(1d20/2)`

keeph, keepl

Keep the higher results for keeph, and the lowest for keepl. You can pass a second argument for the number of result to keep (default : 1).

`keeph(2d20)` `keepl(10d10, 3)`

remh, reml

Remove the higher results for remh, and the lowest for reml. You can pass a second argument for the number of result to remove (default : 1).

`reml(2d20)` `reml(5d20, 3)`

min, max

Keep the highest or lowest result in the arguments.

`min(3, 1, 9)` `max(1d20, 10)`

Explosive dice. You can add arguments to choose the values that explodes (default : highest value of the dice). expl will add new dice, expladd will add the new value to the current dice.

`expl(10d6)` `expl(7d6, 5, 6)` `expladd(15d10)`

mul

Multiply only the dice size by the second argument. Useful for crits where you have to double the dice, but not the modifier.

`mul(8d10 + 7, 2)` `mul(1d4 + 3, 5)`

reroll, rerolln

Roll again for values passed as extra arguments. Use rerolln and add an extra argument at the end to specify the maximum reroll count.

`reroll(3d6, 1 , 2)` `rerolln(5d6, 1, 2, 3, 1)`

`1d6 > 2 ? 1d20 : 1d10`