RPGDicesDice Roll Guide

Dice Rolling System Syntax

Introduction

We use the standard RPG dice syntax, <number of dice> d <number of sides of the dice>

Examples:

5d20: Rolls 5 20-sided dice and returns the sum of them all

100d4: Rolls 100 4-sided dice and returns the sum of them all

By default, if the number of dice is not written, it will be considered 1, and if the number of sides is not written, it will be considered 20.

Examples:

d5: Rolls 1 5-sided die

42d: Rolls 42 20-sided dice

d: Rolls 1 20-sided die

Note To avoid DoS attacks on the bot, the total amount of dice cannot exceed 200, and the maximum number of sides on a die is 1000.

Explosive

Explosive dice are dice that, if the roll falls to a certain number or more, roll again.

e If the number rolled is greater than the requested number, the die explodes once.

ei Explodes until the result is less than the requested number.

Examples:

d20e: If the original die lands greater than or equal to 5, roll one more timed

30ei: If the dice lands greater than or equal to 10, roll once more, and if the new dice also, roll again, until the result is less than 10

By default, if the number is not written, it will be considered the maximum number on the die.

Examples:

15d24e = 15d24e245d4

ei/! = 5d4ei

Note To avoid DoS attacks on the bot, we limit the number of explosions to 200, even because using it legitimately you will never need more than that.

Incompatible with keep data as it generates too many ambiguities.

Breaks

Only numbers in the given range are kept.

<<: Keeps only the numbers smaller than or equal to the requested one, discards the rest.

>>: Keeps only the numbers greater than or equal to the requested one, discards the rest.

Examples:

12d30<<25: Keeps only the numbers less than or equal to 25, the rest discard.

12d10>>5: Keeps only numbers greater than or equal to 5, the rest discard.

12d50<<35>>10: Keeps only the numbers between 10 and 35, the rest discard.

By default, if the number is not written, it will be considered half of the maximum number on the die.

Examples:

6d32>>= 6d32>>16

8d42<< = 8d42<<21

Keep

Only the largest or smallest numbers are kept.

Syntax:

k: Keeps only the highest numbers from the roll, the rest discard.

km: Keeps only the lowest numbers from the roll, the rest discards.

Examples:

12dk5: Assuming a result of {3, 5, 10, 15, 2, 1, 6, 8, 2, 20, 9, 19}, it will keep only the 5 largest i.e. {10, 15, 20, 9, 19}

12dkm5: Assuming the same result as before ({3, 5, 10, 15, 2, 1, 6, 8, 2, 20, 9, 19}), it will only keep the 5 smallest, that is, {3, 5, 2, 1, 2}

12dkm2k3: Assuming the same result as before ({3, 5, 10, 15, 2, 1, 6, 8, 2, 20, 9, 19}), it will only keep the 2 smallest and the 3 largest, that is, { 15, 2, 1, 20, 19}By default, if the number is not written, it will be considered 1.

Examples:15d24k = 15d24k15d4km = 5d4km1

Incompatible with explosive data as it generates too much ambiguity.

Numerical Expressions

And of course, numerical expressions couldn’t be missing!

These work just like you learned in school.

The expression (5 + 10 * 8) / (10 - 15) will result in -17.

But of course, our data is not just a calculator.

Allowed operators:

+: Sum.

-: Subtract.

*: Multiplies.

/: Divide.

%: Calculates the remainder of the division. (I still want to know who will use this in life)

(): Changes the order of origin of the expression

Examples:

23d20+3: Add 3 to the dice result.

5d3+33d4*3d10: Multiplies the result of 3d10 with the result of 33d4, then adds it to the result of 5d3.

Bulk Numerical Expressions

Bulk operator expressions work from left to right, regardless of the order of math priorities. This is a design choice to avoid complicating the data by having to put parentheses in the middle of it.

Syntax:

++: Sums the given number across all data.

--: Subtracts the given number from all data.

**: Multiplies all data by the given number.

//: Divides all data by the given number.

%%: Calculates the remainder of division by the given number. (honestly, who is going to use this in their life?)

Examples:

23d22++6: Adds 6 to each dice.

2d2--4**8: Subtract 4 and then multiply each dice by 8.

2d2**8--4: Multiply by 8 and then subtract 4 from each dice.

Bulk Scrolling

Sometimes we need to make several rolls at once, to do this we use the # argument

The expression 5#d20 will result in 5 independent rolls of 20-sided dice.

Examples:

23d20+3: Add 3 to the dice result.

5d3+33d4*3d10: Multiplies the result of 3d10 with the result of 33d4, then adds it to the result of 5d3.

If the character limit is exceeded, the display is reduced with the sum of the data totals.

Fate Dices

These are data that only have 3 possible values: -1, 0 or 1. And yes, that's all they do. The Fate system uses them, so yeah, there it is.

f<number>

Pattern: 4

Examples:

d+f: Rolls a d20 + 4 fate dice.

f10: Rolls 10 fate dice.