Dear D&D Beyond fellow players, welcome to the generator I developed for calculating the Attack/Damage formula.
If up to now you have managed to use the 'Dice Roller' available in the D&D Beyond forum to generate the above formulas, you should have no difficulty using my tool.
Here are some comparative examples.
1) Let's start with quite a basic case: Dwarf Fighter level 2 with strength 16 attacking with a common Maul.
We all know: It is an attack at +5 to hit that does 2d6 + 3 bludgeoning damage if it lands.
These are the parameters you would set in the dice roller:
These are the parameters you would set in my tool:
As you can see, pretty much the same parameters, in this basic scenario. Only additional parameter (which is optional anyway - you can leave it blank and all will work all the same) is the one circled in green, 'Type'. This textbox allows you to specify the type of damage inflicted - useful, in my opinion, to specify, just in case the target has vulnerabilities/resistance/immunities. This information, when entered, of course appears in the result of the [roll].
2) Let's complicate case 1 a little bit: Dwarf Fighter level 2 with strength 16 attacking with a +2 Flame Tongue Greatsword.
We all know: It is an attack at +7 to hit that does 2d6 + 5 slashing damage and 2d6 fire damage if it lands.
These are the parameters you would set in the dice roller:
...And, well, nothing exactly wrong with them, things still work, but it's for example impossible to automatically discriminate which damage is slashing and which is fire. If the target were an Ice Mephit, however, discrimination would be important, because the Ice Mephit is vulnerable to fire - so the DM should consider the fire damage dealt by the attack doubled. The player could specify some convention before the roll (something like 'Hey, the first two d6s rolled are slashing, the other two are fire), but it's... well, it's more awkward, isn't it, than being able to differentiate damage automatically?
In my tool, this is how you would do it:
By pressing the '+' button which I circled in blue in the screenshot, it is possible to create new rows of damage parameters, in order to differentiate the different types of damage inflicted by an attack (and obviously with the '-' button you can eliminate the row , if entered by mistake or if it is no longer needed). So, once you've created the extra row, it's immediate to differentiate the 2d6 + 5 slashing damage from the 2d6 fire damage; the damage will be calculated separately in the [roll] and the DM will have a much easier time figuring out which damage to double and which not!
3) Now a case that deliberately presents many complexities; however, I want to use this case to show several things that the tool can handle (and the Dice Roller really can't): Half-Orc Fighter(Champion) level 3 with strength 18 attacking at disadvantage, using Great Weapon Fighting option, with Flame Tongue Greatsword, helped with Bless and Bardic Inspiration.
We all know: It is an attack at +7+1d6+1d4 to hit (but rolled at disadvantage) that crits on 19-20 and does 2d6 + 5 slashing damage (1s and 2s will be rerolled and the new roll will be kept) and 2d6 fire damage if it lands; it will also do 1 more d6 slashing if it crits.
The only peculiarity that the Dice Roller can handle among these, is the Disadvantage. All other peculiarities (which are rare to encounter all together, but certainly not so rare to encounter separately! Is a Half-Orc character rare? Is a Champion character rare? Is it rare to have the help of a Bless? Is it rare to have the help of a Bardic Inspiration? Is it rare for a warrior to choose Great Weapon Fighting?) can't be handled automatically. It is possible to specify variable bonuses to hit in the Dice Roller, like +7+1d6+1d4 - but this will lead to wrong results: the formula that the Dice Roller builds would consider a crit not only the rolls with a 20 on the d20, but also any roll with a 6 on the d6 or a 4 on the d4! Beneficial to the player, perhaps, but objectively wrong. It is not possible to specify a custom crit range. You cannot specify to reroll below a certain threshold, as Great Weapon Fighting would require. It is not possible to specify additional damage to be counted only on crit, as per the Half-orc's Savage Attacks feature - but also as per the barbarian's Brutal Critical…
In my tool this case would be handled like this:
To set Disadvantage, you have the combo box I encircled in green, pretty much like you would have had in Dice Roller.
To take variable damage to hit into account, there is the textbox I have encircled in orange. Those dice can of course have their sign - if you are under a Bane effect instead of Bless, you can write -1d4.
To specify a custom crit range, there is the textbox I encircled in yellow. There you write the number from which you score a crit.
To take into account Half-orc's Savage Attacks feature you have the textbox I encircled in azure: you write there the dice to be rolled in addition to the usual crit dice (in this case, 1d6, because Savage Attacks let's you roll one more weapon die on crits - the Greatsword does 2d6 - so 1 more die means 1d6 more on crits).
The Great Weapon Fighting Fighting Style allows you to reroll 1s and 2s rolled in weapon damage. Those who wants to have them automatically rerolled in the damage formula, can check the checkbox I circled in blue.
(Note that the generated formula also really handles the intricacies of the interactions between these features! For example, all weapon dice will reroll an aventual 1 or 2, even all crit dice, including additional crit dice from Savage Attacks features!)
There's only one convention for this to work: when there are multiple damage rows, the weapon damage must be the one on the first row. This is because I have to discriminate weapon damage, because some features (such as Great Weapon Fighting and Savage Attacks) only apply to weapon damage. Perhaps I could have done it differently (like adding a checkbox on each damage line to allow you to specify if the damage of the line was weapon damage or not) but it seemed to me an unnecessary complexity, compared to respecting a simple convention.
4) Another case that is not too rare but that cannot be handled automatically with the Dice Roller: Halfling Rogue(Assassin) level 3 with dexterity 16 attacking at advantage and by surprise with a common Dagger.
We all know: It is an attack at +5 hit, with advantage (plus, since this guy is an Halfling, he can reroll an eventual 1 rolled on his d20 in his attack roll, thanks to Halfling's Lucky trait), does 1d4 + 3 Piercing damage + 1d6 Sneak Attack damage base, if it lands, but if it does it is automatically a crit, so damage dice will be always rolled twice.
In Dice Roller, you cannot specify that a hit is automatically a crit. And, not surprisingly, you can not take the Halfling's Lucky trait into account either.
In my tool, I put two checkboxes to handle this:
The first checkbox is the one I encircled in blue. By checking it, the damage is automatically computed as a crit.
The second checkbox is the one I encircled in orange. By checking it, an eventual 1 rolled in the attack roll will be rerolled and the new result used.
5) This case should happen less often, but it is possible and I want to present it for completeness: Thiefling Sorcerer(Wild Magic) level 18 with charisma 20 attacking with Vampiric Touch.
We all know: It is an attack at +11 hit, does 3d6 Necrotic damage + 1d6 if any of the 3d6 dice is a 6 (becasue of Spell Bombardment feature that 18th-level sorcerers with wild magic source get).
In Dice Roller, you cannot specify the Spell Bombardment logic. You'd have to do the damage roll first, then look at the results and roll one more die on your own if you've got the maximum in at least one of the dice.
In my tool, I put a checkbox to activate Spell Bombardment computation logic:
And here you go! All you have to do is to check that checkbox I encircled in green - and my tool will take Spell Bombardment mechanics into account in the damage formula.
Please also note that if our mighty sorcerer chooses a spell that doesn't require an attack roll (say Fireball for example) you can avoid generating the attack component (and critical damage calculation logic) of the formula - there is a special combo box for this.
The special combo box I was talking about is the one I encircled in orange. It defaults to the most common scenario - generating both the attack and damage parts of the formula - but you can choose to generate only one of the components, when needed (for example, when you're calculating the damage of a spell that doesn't require an attack , or when calculating an attack roll for a non-damaging weapon, such as a net).
6) And now a case to show a feature that was requested from me by a user: Elf Fighter level 4 (Eldritch Knight) with strength 20, attacking with a Greatsword and using his Great Weapon Master feat to favor power over precision.
We all know: because of the choice to favor power over precision (-5 hit/+10 damage), the usual attack at +6 hit, that does 2d6 Slashing damage + 4 becomes an attack at only +1 hit, but that does 2d6 Slashing damage + 14.
In Dice Roller, you cannot have the -5 hit/+10 damage applied automatically; you have to adjust the parameters yourself when you enter them into the fields. In my tool (besides obviously being able to intervene in the same way) I have also inserted an appropriate checkbox that automatically applies these changes in the calculated formula:
And here you go! All you have to do is to check that checkbox I encircled in green - and my tool will apply the Great Weapon Master (or Sharpshooter - the modifiers are the same) mechanics that favors power over precision into account in the damage formula. In this way, the tool saves you the trouble of recalculating your usual bonuses to hit and damage - which you might be able to do very well, of course, but... isn't it more convenient, when a tool does it for you?