This post has potentially manipulated dice roll results.
(Version 4)
The forums feature a dice rolling feature by means of the [ roll ] tag. This post will highlight how to format dice expressions and the various features that are supported. In this post, bold red text refers to placeholders, where normal text indicates letters or numbers that should be left as-is. For example, the d in 1d20 must be left as the lowercase letter d; it is not a placeholder for something else. When copy/pasting examples, remember to remove the extra spaces inside of [ roll ] and [ /roll ] to make the forums actually roll the dice.
Basic Rolls
Many of the roll features you need (advantage/disadvantage, and dropping/keeping certain dice) are available by clicking the dice icon in the post toolbar.
By clicking on this icon, you will be presented with a pop-up which lets you fill in roll details. While this supports the majority of rolls you will need to make for D&D Play-by-Posts, you will sometimes need more advanced features. For information on how to format your own die rolls, see the Custom Rolls section below.
Custom Rolls
[ roll ]NdX[ /roll ]
This expression rolls N dice with X sides per die. Up to 1,000 dice may be rolled in a single [ roll ] tag, and X can be any number from 1 to 10,000. When the dice are rolled, the result will appear in blue, green, red, or purple. The color of the result can be used as a quick indicator of how well you rolled. A green roll indicates that one or more dice rolled a critical (maximum value). A red roll indicates that one or more dice rolled a fumble (minimum value). A purple roll indicates that some dice rolled maximum and others rolled minimum in the same roll, and finally a blue roll indicates no dice rolled either their maximum or minimum. Hovering over the result will display a tooltip showing the details of the roll, including what expression was being rolled as well as what values each die had in the roll. For example, the following is the result of a 3d6 roll: 8.
Math
Basic math can be performed on dice rolls. Addition, subtraction, multiplication, and division are all supported. You may use parenthesis to dictate the order of operations should complicated expressions be needed. Additionally, parenthesis can be used to place a math expression wherever a number would normally be expected, such as the number of dice being rolled.
Examples:
[ roll ]1d20 + 4[ /roll ] ⇒ 7
[ roll ](1d4 + 1)d6[ /roll ] ⇒ 13
Math-only Rolls
While the [ roll ] tag is primarily for rolling dice, you can use it as a general-purpose calculator by specifying math expressions without specifying any rolls. For example, you can calculate 9,000/6 like so 1500.
Anti-Cheat Measures
The roll tag supports a number of anti-cheat measures to ensure that rolls are not modified. Once something is rolled, the result will remain the same across previews and edits of the post. Modifying or removing a previously-rolled expression will result in the warning "This post has potentially manipulated dice roll results." being displayed above the post; see the top of this post for an example of what it looks like. You can add new rolls at the end without issue, but you cannot manipulate any previously-rolled expressions. To get rid of the warning, you need to edit your post to return the rolls to what they were before, at which time they will take on their previously-rolled values.
Macros
Whenever a number is expected, a macro can be provided instead. Macros are surrounded by square brackets, and can be used to retrieve the results of previous rolls in the post as well as properties on your character sheet such as your Initiative (character sheet macros are not yet implemented, but are expected to arrive sometime after Beta Phase 2).
The roll macro
The roll macro can be used to retrieve results of previous die rolls on the same post. For example, you could roll your attack and automatically roll normal vs critical damage depending on whether or not the attack roll was a natural 20. In the examples below, X refers to the Xth roll in the post (the first roll is X=1), where negative values for X count backwards from the current roll (so X=-1 would be the roll immediately preceding the current roll). Y refers to the Yth die in the Xth roll (the first die in each roll is Y=1). Unlike X, Y cannot be negative.
[ roll ][roll:X][ /roll ]
This retrieves the final result of the Xth roll. For example, if I roll a d20 and later want to take that same roll and add 1 to it, I can do 7 followed by 8.
[ roll ][roll:X:X][ /roll ]
This retrieves the value of the Yth die in the Xth roll. Y is counted from left-to-right in the dice expression, and skips over dropped dice.
[ roll ][roll:X:critical][ /roll ]
This counts the number of dice in the Xth roll that were marked as criticals. A critical is usually because you rolled the maximum value on the die, but you can make use of Extra Features to change the range of values marked as critical. For example, I can use this to roll an attack such as 13 and then determine normal vs critical damage automatically 2.
[ roll ][roll:X:fumble][ /roll ]
This counts the number of dice in the Xth roll that were marked as fumbles. A fumble is usually because you rolled the minimum value on the die, but you can make use of Extra Features to change the range of values marked as fumbles.
The above highlights the most useful features of the roll macro, however it supports additional features. See the Advanced Rolls section for more details.
Extra Features
Rolls can be further manipulated via extras and functions. An extra is an expression that goes after a die roll, and a function performs some sort of operation on a die roll or its result. The most commonly useful extra features are below, see the Advanced Rolls section for a full list of supported extra features. For the extra features below, C refers to a comparison, and EC refers to an explicit comparison. N simply refers to a number. See the Comparisons section below for more details.
All of these go immediately after the dice portion of a roll. For example, "1d20ad + 3" or "1d20.advantage() + 3". You can have multiple extras on a single roll, for example "3d6rr1dl1 + 6" or "3d6.reroll(=1).dropLowest(1) + 6". When using extra features, you should use either the shorthand version or the longhand version, but it is not recommended to mix between them on the same roll. When using the shorthand version, all letters must be lowercase. The longhand version is case-insensitive.
Rerolling Dice
rrCor .reroll(EC)
This expression will reroll a die every time the comparison succeeds. You can specify them multiple times to compare against multiple different things. The die will continue to be rerolled until the comparison fails.
Examples:
[ roll ]4d6rr1[ /roll ] or [ roll ]4d6.reroll(=1)[ /roll ] ⇒ 16 (rolls 4d6 and rerolls all 1's)
[ roll ]4d6rr1rr>=5[ /roll ] or [ roll ]4d6.reroll(=1, >=5)[ /roll ] ⇒ 15 (rolls 4d6 and rerolls all 1's, 5's, and 6's)
roCor .rerollOnce(EC)
Like above, however this will reroll each die a maximum of 1 time.
Dropping Dice
khNor .keepHighest(N)
After all dice have settled, this will keep the N dice with the highest values and drop the rest.
klNor .keepLowest(N)
As above, except only the N dice with the lowest values are kept.
dhNor .dropHighest(N)
As above, except the N dice with the highest values are dropped.
dlNor .dropLowest(N)
As above, except the N dice with the lowest values are dropped. This is useful when generating ability scores, for example I can roll 4d6, dropping the lowest die, and rerolling 1's once 6 times: 6151118910.
Advantage/Disadvantage
ad or .advantage()
da or .disadvantage()
This will roll the dice twice, keeping the highest result for advantage or the lowest result for disadvantage. Advantage/Disadvantage cannot be combined with Keep/Drop expressions. For example, here is a d20 roll with advantage:
[ roll ]1d20ad[ /roll ] or [ roll ]1d20.advantage()[ /roll ] ⇒ 16
Math Functions
A number of mathematical functions are supported: max(), min(), round(), abs(), floor(), and ceil().
max(N, N)
Returns the higher (maximum) of the two numbers. For example, [ roll ]max(1d20, 10) + 4[ /roll ] ⇒ 17 takes the higher of the d20 roll or 10, then adds 4 to the result.
min(N, N)
Returns the lower (minimum) of the two numbers.
round(N)
Rounds N to the nearest whole number. A value of 0.5 is rounded away from 0 (so 1.5 rounds to 2, and -0.5 rounds to -1).
abs(N)
Returns the absolute value of N (strips off any negative sign).
floor(N)
Takes the floor of N, which removes any decimal portion of the number (rounds down). This is the function you'll most frequently use when rounding decimals in D&D, as the rule is to always round down.
ceil(N)
Takes the ceiling of N, which increases any decimal to the next whole number (rounds up).
Logic Functions
if(N1, EC, N2)
if(N1, EC, N2, N3)
Compares N1 to EC. If the comparison succeeds, N2 is returned. If the comparison fails, N3 is returned, or 0 is returned if N3 was not specified.
Comparisons
Many of the extra features above ask for comparisons. A comparison can either be implicit or explicit. An implicit comparison looks just like any other number, and it is assumed that you are trying to compare something equal to that number. An explicit comparison always contains the comparison operation. The comparison operations are as follows:
N — Implicit comparison; checks if the value is equal to N.
=N — Checks if the value is equal to N.
>N — Checks if the value is greater than N.
<N — Checks if the value is less than N.
>=N — Checks if the value is greater than or equal to N.
<=N — Checks if the value is less than or equal to N.
!=Nor <>N — Checks if the value is not equal to N.
Advanced Rolls
The above covers the majority of cases you'll need for rolling dice in Play-by-Posts for D&D 5th Edition, however the dice roller supports additional functionality for nonstandard cases such as house rules or for playing other game systems on these forums.
Grouped Rolls
N{roll1, roll2, ...}
or {roll1, roll2, ...}
Grouped rolls are a complex and powerful mechanism to roll groups of disparate dice and then operate on those groups. A grouped roll is made by enclosing one or more basic rolls inside of curly braces. A number N can be specified in front of the group to evaluate that group that number of times.
When using grouped rolls, each roll is accumulated into a final value. For the above example, you can hover over to get the tooltip for each stat, but the value in the post is all of the stats added together. To roll stats and have the post reflect each state, specify 6 different roll tags instead, each with 4d6dl1.
Like basic rolls, grouped rolls can be augmented with extras. Everything except for explode and critical/fumble can be applied to grouped rolls. Grouped rolls additionally support an expand function. By default, each roll in the group shows the total in the tooltip instead of the individual dice rolled. By using the expand function, you can see the individual dice in the tooltip when hovering over the roll.
[ roll ]6{4d6dl1}[ /roll ] ⇒ 69 (rolls 4d6 dropping the lowest 6 times; when hovering over the roll, the tooltip shows the aggregated results)
[ roll ]6{4d6dl1}.expand()[ /roll ] ⇒ 83 (rolls 4d6 dropping the lowest 6 times; when hovering over the roll, the tooltip shows each individual die roll)
Fudge Dice
Fudge dice are numbered from -X to X (typically -1 to 1), as opposed to 1 to X.
NdF
This rolls N fudge dice, with faces -1, 0, and 1.
NdFX
This rolls N fudge dice, with faces from -X to X (including 0).
Advanced Extra Features
Explode
!e or !eCor .explode(EC)
Explodes the dice, causing additional dice to be rolled whenever the comparison succeeds (or the maximum value is rolled, if no comparison is specified). This repeats until the comparison fails or something other than the maximum value is rolled. For example, 1d6!e could lead to a roll of 6, 6, 4, for a total of 16.
!c or !cCor .compound(EC)
As above, however the results are accumulated into a single value in the tooltip instead of showing each exploded die individually.
!p or !pCor .penetrate(EC)
As !e, except 1 is subtracted from each subsequent die rolled (so 6, 6, 4 would be 6, 5, 3, for a total of 14). As a special case, d20!p penetrates down to d6!p and d100!p penetrates to d20!p (if that d20 would roll a 20, it does not further penetrate down to d6!p). This special behavior is not used if a comparison is specified.
.compoundPenetrate(EC)
As !p, however the results are accumulated into a single value in the tooltip instead of showing each exploded die individually.
Success/Failure
ECor .success(EC)
Each die rolled is compared against EC. If it matches, it counts as one success. If it does not match, it counts as zero successes. The result of the roll is the number of successes, rather than the sum of the dice. For example, 5d10>6 will roll 5d10 and count one success each time the die comes up as 7 or higher: 2.
ECfCor .success(EC).failure(EC)
Each die rolled is compared against EC. If it matches, it counts as one success. If it does not match EC, but does match C (or the failure condition), it removes one success. Otherwise, it counts as zero successes. The result of the roll is the number of successes (which may be negative), rather than the sum of the dice.
When mixing success rolls with normal rolls, the normal rolls take precedence and the result will be reported as a dice total rather than a number of successes.
Critical/Fumble
csCor .critical(EC)
Each die rolled is compared against C, and marked as a critical success should it succeed.
csCfCor .critical(EC).fumble(EC)
Each die rolled is compared against both comparisons. The first marks it as a critical success should it succeed, and the second marks it as a fumble (critical failure) should it succeed.
cfCor .fumble(EC)
Each die rolled is compared against C, and marked as a fumble should it succeed.
Critical successes and fumbles do not have any mechanical function by themselves, but can be tracked via the roll macro. It is possible for a die to be marked as both a critical and a fumble at the same time. If a roll does not have a critical/fumble expression attached to it, then a roll of the maximum result is counted as a critical and the minimum result is counted as a fumble.
Sort
sa or .sortAscending()
Causes each die rolled to be sorted in ascending order for display purposes.
sd or .sortDecending()
Causes each die rolled to be sorted in descending order for display purposes.
Advanced Rerolls
.rerollN(N, C, C, ...)
Like reroll, however will only reroll at most N times before it keeps the final result (even if one of the comparisons would still succeed). At least one comparison must be specified.
Advanced roll Macro
[roll:X:Y:critical]
This is 1 if the Yth die in the Xth roll is critical, and 0 otherwise.
[roll:X:Y:fumble]
This is 1 if the Yth die in the Xth roll is a fumble, and 0 otherwise.
[roll:X:success]
Counts the number of dice in the Xth roll that were marked as successes. Unlike the roll's value, this does not deduct successes when there are failures.
[roll:X:Y:success]
This is 1 if the Yth die in the Xth roll is a success, and 0 otherwise.
[roll:X:failure]
Counts the number of dice in the Xth roll that were marked as failures.
[roll:X:Y:failure]
This is 1 if the Yth die in the Xth roll is a failure, and 0 otherwise.
This post has potentially manipulated dice roll results.
Unless I'm mistaken, each command within roll tags only produces a single number, so to generate the stats in the way you want, you'd issue multiple commands for:
[ roll ]4d6dl1[ /roll ], [ roll ]4d6dl1[ /roll ], [ roll ]4d6dl1[ /roll ], [ roll ]4d6dl1[ /roll ], [ roll ]4d6dl1[ /roll ], [ roll ]4d6dl1[ /roll ], [ roll ]4d6dl1[ /roll ]
It might well be possible, but that's something that BadEye or Skizzerz would need to comment on.
At this time, you need to do 6 different roll tags if you want it to list each result in the post itself. There's a reason I hid grouped rolls in the advanced features spoiler -- it's not something I expect people will be using often given how it currently works.
This feature is still new and may be a bit rough around the edges. I believe the following is planned (but cannot confirm, as I'm not actually DDB staff; while I developed a large portion of the dice roller all of the UI stuff is on DDB's end)
- Button in the editor to let you roll dice without needing to know how to format rolls. This will be pretty simple, probably just NdX plus a modifier, a checkbox for advantage/disadvantage, and fields for rerolling and dropping dice (aka it won't support everything)
- Extra work on the tooltip to make the results a bit easier to read
If you have any feedback or suggestions on how to make this more useful for you, or you run into any problems, let us know!
Edit: I've updated the initial post to make it more clear how grouped rolls operate. I also removed the links, as it appears they weren't working (they were working in preview, but the id attribute was stripped on save apparently)
DM in the kobold fight club "Yes i know this is insane, but my usual players are murderhobos." Birdman in adventures in faerun "Flapping wings" (telepathy) "The enemies are overwhelming us, i'll go break their minds." Irthos Bladesinger in trouble in timberbottom (DED) (All PbP)
It might well be possible, but that's something that BadEye or Skizzerz would need to comment on.
At this time, you need to do 6 different roll tags if you want it to list each result in the post itself. There's a reason I hid grouped rolls in the advanced features spoiler -- it's not something I expect people will be using often given how it currently works.
This feature is still new and may be a bit rough around the edges. I believe the following is planned (but cannot confirm, as I'm not actually DDB staff; while I developed a large portion of the dice roller all of the UI stuff is on DDB's end)
- Button in the editor to let you roll dice without needing to know how to format rolls. This will be pretty simple, probably just NdX plus a modifier, a checkbox for advantage/disadvantage, and fields for rerolling and dropping dice (aka it won't support everything)
- Extra work on the tooltip to make the results a bit easier to read
If you have any feedback or suggestions on how to make this more useful for you, or you run into any problems, let us know!
Edit: I've updated the initial post to make it more clear how grouped rolls operate. I also removed the links, as it appears they weren't working (they were working in preview, but the id attribute was stripped on save apparently)
Skizzerz is correct, we will definitely be making these enhancements. And I'd like to say thanks to him for his great work on the API and ideas / suggestions on its integration into DDB!
(Version 4)
The forums feature a dice rolling feature by means of the [ roll ] tag. This post will highlight how to format dice expressions and the various features that are supported. In this post, bold red text refers to placeholders, where normal text indicates letters or numbers that should be left as-is. For example, the d in 1d20 must be left as the lowercase letter d; it is not a placeholder for something else. When copy/pasting examples, remember to remove the extra spaces inside of [ roll ] and [ /roll ] to make the forums actually roll the dice.
Basic Rolls
Many of the roll features you need (advantage/disadvantage, and dropping/keeping certain dice) are available by clicking the dice icon in the post toolbar.
By clicking on this icon, you will be presented with a pop-up which lets you fill in roll details. While this supports the majority of rolls you will need to make for D&D Play-by-Posts, you will sometimes need more advanced features. For information on how to format your own die rolls, see the Custom Rolls section below.
Custom Rolls
This expression rolls N dice with X sides per die. Up to 1,000 dice may be rolled in a single [ roll ] tag, and X can be any number from 1 to 10,000. When the dice are rolled, the result will appear in blue, green, red, or purple. The color of the result can be used as a quick indicator of how well you rolled. A green roll indicates that one or more dice rolled a critical (maximum value). A red roll indicates that one or more dice rolled a fumble (minimum value). A purple roll indicates that some dice rolled maximum and others rolled minimum in the same roll, and finally a blue roll indicates no dice rolled either their maximum or minimum. Hovering over the result will display a tooltip showing the details of the roll, including what expression was being rolled as well as what values each die had in the roll. For example, the following is the result of a 3d6 roll: 8.
Math
Basic math can be performed on dice rolls. Addition, subtraction, multiplication, and division are all supported. You may use parenthesis to dictate the order of operations should complicated expressions be needed. Additionally, parenthesis can be used to place a math expression wherever a number would normally be expected, such as the number of dice being rolled.
Examples:
Math-only Rolls
While the [ roll ] tag is primarily for rolling dice, you can use it as a general-purpose calculator by specifying math expressions without specifying any rolls. For example, you can calculate 9,000/6 like so 1500.
Anti-Cheat Measures
The roll tag supports a number of anti-cheat measures to ensure that rolls are not modified. Once something is rolled, the result will remain the same across previews and edits of the post. Modifying or removing a previously-rolled expression will result in the warning "This post has potentially manipulated dice roll results." being displayed above the post; see the top of this post for an example of what it looks like. You can add new rolls at the end without issue, but you cannot manipulate any previously-rolled expressions. To get rid of the warning, you need to edit your post to return the rolls to what they were before, at which time they will take on their previously-rolled values.
Macros
Whenever a number is expected, a macro can be provided instead. Macros are surrounded by square brackets, and can be used to retrieve the results of previous rolls in the post as well as properties on your character sheet such as your Initiative (character sheet macros are not yet implemented, but are expected to arrive sometime after Beta Phase 2).
The roll macro
The roll macro can be used to retrieve results of previous die rolls on the same post. For example, you could roll your attack and automatically roll normal vs critical damage depending on whether or not the attack roll was a natural 20. In the examples below, X refers to the Xth roll in the post (the first roll is X=1), where negative values for X count backwards from the current roll (so X=-1 would be the roll immediately preceding the current roll). Y refers to the Yth die in the Xth roll (the first die in each roll is Y=1). Unlike X, Y cannot be negative.
[ roll ][roll:X][ /roll ]
This retrieves the final result of the Xth roll. For example, if I roll a d20 and later want to take that same roll and add 1 to it, I can do 7 followed by 8.
This retrieves the value of the Yth die in the Xth roll. Y is counted from left-to-right in the dice expression, and skips over dropped dice.
[ roll ][roll:X:critical][ /roll ]
This counts the number of dice in the Xth roll that were marked as criticals. A critical is usually because you rolled the maximum value on the die, but you can make use of Extra Features to change the range of values marked as critical. For example, I can use this to roll an attack such as 13 and then determine normal vs critical damage automatically 2.
[ roll ][roll:X:fumble][ /roll ]
This counts the number of dice in the Xth roll that were marked as fumbles. A fumble is usually because you rolled the minimum value on the die, but you can make use of Extra Features to change the range of values marked as fumbles.
The above highlights the most useful features of the roll macro, however it supports additional features. See the Advanced Rolls section for more details.
Extra Features
Rolls can be further manipulated via extras and functions. An extra is an expression that goes after a die roll, and a function performs some sort of operation on a die roll or its result. The most commonly useful extra features are below, see the Advanced Rolls section for a full list of supported extra features. For the extra features below, C refers to a comparison, and EC refers to an explicit comparison. N simply refers to a number. See the Comparisons section below for more details.
All of these go immediately after the dice portion of a roll. For example, "1d20ad + 3" or "1d20.advantage() + 3". You can have multiple extras on a single roll, for example "3d6rr1dl1 + 6" or "3d6.reroll(=1).dropLowest(1) + 6". When using extra features, you should use either the shorthand version or the longhand version, but it is not recommended to mix between them on the same roll. When using the shorthand version, all letters must be lowercase. The longhand version is case-insensitive.
Rerolling Dice
This expression will reroll a die every time the comparison succeeds. You can specify them multiple times to compare against multiple different things. The die will continue to be rerolled until the comparison fails.
Examples:
Like above, however this will reroll each die a maximum of 1 time.
Dropping Dice
After all dice have settled, this will keep the N dice with the highest values and drop the rest.
As above, except only the N dice with the lowest values are kept.
As above, except the N dice with the highest values are dropped.
As above, except the N dice with the lowest values are dropped. This is useful when generating ability scores, for example I can roll 4d6, dropping the lowest die, and rerolling 1's once 6 times: 6 15 11 18 9 10.
Advantage/Disadvantage
This will roll the dice twice, keeping the highest result for advantage or the lowest result for disadvantage. Advantage/Disadvantage cannot be combined with Keep/Drop expressions. For example, here is a d20 roll with advantage:
[ roll ]1d20ad[ /roll ] or [ roll ]1d20.advantage()[ /roll ] ⇒ 16
Math Functions
A number of mathematical functions are supported: max(), min(), round(), abs(), floor(), and ceil().
Returns the higher (maximum) of the two numbers. For example, [ roll ]max(1d20, 10) + 4[ /roll ] ⇒ 17 takes the higher of the d20 roll or 10, then adds 4 to the result.
Returns the lower (minimum) of the two numbers.
round(N)
Rounds N to the nearest whole number. A value of 0.5 is rounded away from 0 (so 1.5 rounds to 2, and -0.5 rounds to -1).
abs(N)
Returns the absolute value of N (strips off any negative sign).
floor(N)
Takes the floor of N, which removes any decimal portion of the number (rounds down). This is the function you'll most frequently use when rounding decimals in D&D, as the rule is to always round down.
ceil(N)
Takes the ceiling of N, which increases any decimal to the next whole number (rounds up).
Logic Functions
Compares N1 to EC. If the comparison succeeds, N2 is returned. If the comparison fails, N3 is returned, or 0 is returned if N3 was not specified.
Comparisons
Many of the extra features above ask for comparisons. A comparison can either be implicit or explicit. An implicit comparison looks just like any other number, and it is assumed that you are trying to compare something equal to that number. An explicit comparison always contains the comparison operation. The comparison operations are as follows:
Advanced Rolls
The above covers the majority of cases you'll need for rolling dice in Play-by-Posts for D&D 5th Edition, however the dice roller supports additional functionality for nonstandard cases such as house rules or for playing other game systems on these forums.
Grouped Rolls
Grouped rolls are a complex and powerful mechanism to roll groups of disparate dice and then operate on those groups. A grouped roll is made by enclosing one or more basic rolls inside of curly braces. A number N can be specified in front of the group to evaluate that group that number of times.
When using grouped rolls, each roll is accumulated into a final value. For the above example, you can hover over to get the tooltip for each stat, but the value in the post is all of the stats added together. To roll stats and have the post reflect each state, specify 6 different roll tags instead, each with 4d6dl1.
Like basic rolls, grouped rolls can be augmented with extras. Everything except for explode and critical/fumble can be applied to grouped rolls. Grouped rolls additionally support an expand function. By default, each roll in the group shows the total in the tooltip instead of the individual dice rolled. By using the expand function, you can see the individual dice in the tooltip when hovering over the roll.
Fudge Dice
Fudge dice are numbered from -X to X (typically -1 to 1), as opposed to 1 to X.
NdF
This rolls N fudge dice, with faces -1, 0, and 1.
This rolls N fudge dice, with faces from -X to X (including 0).
Advanced Extra Features
Explode
Explodes the dice, causing additional dice to be rolled whenever the comparison succeeds (or the maximum value is rolled, if no comparison is specified). This repeats until the comparison fails or something other than the maximum value is rolled. For example, 1d6!e could lead to a roll of 6, 6, 4, for a total of 16.
As above, however the results are accumulated into a single value in the tooltip instead of showing each exploded die individually.
As !e, except 1 is subtracted from each subsequent die rolled (so 6, 6, 4 would be 6, 5, 3, for a total of 14). As a special case, d20!p penetrates down to d6!p and d100!p penetrates to d20!p (if that d20 would roll a 20, it does not further penetrate down to d6!p). This special behavior is not used if a comparison is specified.
.compoundPenetrate(EC)
As !p, however the results are accumulated into a single value in the tooltip instead of showing each exploded die individually.
Success/Failure
Each die rolled is compared against EC. If it matches, it counts as one success. If it does not match, it counts as zero successes. The result of the roll is the number of successes, rather than the sum of the dice. For example, 5d10>6 will roll 5d10 and count one success each time the die comes up as 7 or higher: 2.
Each die rolled is compared against EC. If it matches, it counts as one success. If it does not match EC, but does match C (or the failure condition), it removes one success. Otherwise, it counts as zero successes. The result of the roll is the number of successes (which may be negative), rather than the sum of the dice.
When mixing success rolls with normal rolls, the normal rolls take precedence and the result will be reported as a dice total rather than a number of successes.
Critical/Fumble
Each die rolled is compared against C, and marked as a critical success should it succeed.
Each die rolled is compared against both comparisons. The first marks it as a critical success should it succeed, and the second marks it as a fumble (critical failure) should it succeed.
Each die rolled is compared against C, and marked as a fumble should it succeed.
Critical successes and fumbles do not have any mechanical function by themselves, but can be tracked via the roll macro. It is possible for a die to be marked as both a critical and a fumble at the same time. If a roll does not have a critical/fumble expression attached to it, then a roll of the maximum result is counted as a critical and the minimum result is counted as a fumble.
Sort
Causes each die rolled to be sorted in ascending order for display purposes.
Causes each die rolled to be sorted in descending order for display purposes.
Advanced Rerolls
Like reroll, however will only reroll at most N times before it keeps the final result (even if one of the comparisons would still succeed). At least one comparison must be specified.
Advanced roll Macro
This is 1 if the Yth die in the Xth roll is critical, and 0 otherwise.
This is 1 if the Yth die in the Xth roll is a fumble, and 0 otherwise.
[roll:X:success]
Counts the number of dice in the Xth roll that were marked as successes. Unlike the roll's value, this does not deduct successes when there are failures.
This is 1 if the Yth die in the Xth roll is a success, and 0 otherwise.
[roll:X:failure]
Counts the number of dice in the Xth roll that were marked as failures.
This is 1 if the Yth die in the Xth roll is a failure, and 0 otherwise.
Thanks for this! This would make Play by Post so much easier.
5 13 11 14 10 14
That's cool. I wonder if this works?
94 4d6 drop lowest, 7 times, drop lowest score.
Not how I expected. How would I get it to print each result seperately?
...
Do you have difficulty fitting everything you want into your signature? Then check out the Extended Signature thread!
Here's my Extended Signature!
Unless I'm mistaken, each command within roll tags only produces a single number, so to generate the stats in the way you want, you'd issue multiple commands for:
7, 11, 14, 15, 8, 10, 12
Pun-loving nerd | Faith Elisabeth Lilley | She/Her/Hers | Profile art by Becca Golins
If you need help with homebrew, please post on the homebrew forums, where multiple staff and moderators can read your post and help you!
"We got this, no problem! I'll take the twenty on the left - you guys handle the one on the right!"🔊
Ah, I was confused by this line:
Thanks for the info.
Do you have difficulty fitting everything you want into your signature? Then check out the Extended Signature thread!
Here's my Extended Signature!
It might well be possible, but that's something that BadEye or Skizzerz would need to comment on.
Pun-loving nerd | Faith Elisabeth Lilley | She/Her/Hers | Profile art by Becca Golins
If you need help with homebrew, please post on the homebrew forums, where multiple staff and moderators can read your post and help you!
"We got this, no problem! I'll take the twenty on the left - you guys handle the one on the right!"🔊
Thank you very much for this. You and Hartless make a great team of rear end developers. ;)
Great job!
Site Rules & Guidelines --- Focused Feedback Mega Threads --- Staff Quotes --- Homebrew Tutorial --- Pricing FAQ
Please feel free to message either Sorce or another moderator if you have any concerns.
This is wonderful. Great work!
A dwarf with a canoe on his back? What could go wrong?
GreaaT
11
- Dro Coborel in Firedeath MUST die
4930129
heheheheh maxxed
I'm that cat guy, and i do stuff. Youtube account: https://www.youtube.com/channel/UCGyrtkNMBOOCxyH4Eueno3w
Tabaxi Bard Level 15
DM in the kobold fight club "Yes i know this is insane, but my usual players are murderhobos."
Birdman in adventures in faerun "Flapping wings" (telepathy) "The enemies are overwhelming us, i'll go break their minds."
Irthos Bladesinger in trouble in timberbottom (DED)
(All PbP)
I am the Inquisitor Imperitus. I am judge, jury, and executioner. Draw your last breath now, as I send you to the Nine Hells.
Test
[roll]2d6+3.reroll(<=2)[/roll]
hmm am I doing it wrong? or is it broken?
Skameros - Bugbear Barbarian - Out of the Abyss - By Kerrec
Follow your Arrow where it Points - Tabaxi Monk - Baldur's Gate: Descent Into Avernus (by Pokepaladdy)
Citron Pumpkinfoam - Fairy Monk - Project Point: Team Longsword
14
[ Site Rules & Guidelines ] --- [ Homebrew Rules & Guidelines ]
Send me a message with any questions or concerns
A dwarf with a canoe on his back? What could go wrong?
2d6.reroll(<=2) + 3 or equivalently 2d6rr<=2 + 3
stuff like .reroll .dropLowest .advantage get attached to the dice portion, not a static number
also don't copy/paste my examples, I insterted some invisible characters into the [roll] tag to prevent it from being registered as a dice roll
Ahh ok thanks - my great weapon mastery lets me reroll 1 or 2 on damage rolls and I was trying to figure out how to get it to work....
12
17
Skameros - Bugbear Barbarian - Out of the Abyss - By Kerrec
Follow your Arrow where it Points - Tabaxi Monk - Baldur's Gate: Descent Into Avernus (by Pokepaladdy)
Citron Pumpkinfoam - Fairy Monk - Project Point: Team Longsword
This is great