PDA

View Full Version : Optimization Comprehensive DPR Calculator (v2.0!)



LudicSavant
2019-03-07, 09:28 AM
https://i.postimg.cc/prw4j9k8/DPRCalculator23.png
An example of what you can do with this calculator.

Ever wanted to know just how much Elven Accuracy was really helping you? How about the exact AC you should stop using -5 to hit/+10 damage? Or how many rounds it'd take on average for a Hold Person to wear off? Or just how much the party's DPR goes up from the Cleric casting Bless? Well, now you can easily calculate all of this and much, much more!

Some time ago, I posted a DPR calculator which has since apparently become the #1 result for such on Google. It factors in a wide variety of things that many DPR formulas posted around here do not, such as advantage/disadvantage, great weapon fighting, elemental adept, riders, DoTs, rounding effects, critical hit chance / damage, when you should power attack (such as with Heavy Weapon Master or Sharpshooter), and so forth. It also will produce a chart showing DPR against enemies of every AC value. Three sheets are currently included; one for attack rolls, one for saving throw effects, and one with a few miscellaneous tools.

In collaboration with mathematician AureusFulgens, I have upgraded the calculator even further with numerous additional functions, such as Elven Accuracy, the Lucky feature of halflings, multiple sources of Bless-like bonuses, bonus actions, checkboxes, dropdown menus, custom scripts, etc. Additionally, we have included thorough documentation for the formulas we use and how to accurately calculate probability for just about everything in D&D (including the nitty gritty bits such as "how do you calculate the odds of success with Triple Advantage, Bless, and Bane active at the same time?")

The sheet can be found here: https://docs.google.com/spreadsheets/d/14WlZE_UKwn3Vhv4i8ewVOc-f2-A7tMW_VRum_p3YNHQ/edit?usp=sharing
The documentation can be found here: https://docs.google.com/document/d/11eTMZPPxWXHY0rQEhK1msO-40BcCGrzArSl4GX4CiJE/edit?usp=sharing

Just make a copy, enter your basic information like attack bonus and damage dice, and get all the information you want printed out.

Please let me know if you find this useful, if you have any questions, if there is anything even slightly inaccurate, or if there is additional functionality you would like to see provided. Note that this runs a little bit slower than the old calculator, since the new one uses Javascript in order to perform more complex calculations (you'd be surprised at how complex probability math can get for certain rules interactions).

I hope you guys enjoy. And if you do, spread the word! :smallsmile:

-Ludic

Edit: Now updated to version 2.51, with additional features! New features are described in replies to the thread. Feel free to suggest anything you'd like to see in the future!

AureusFulgens
2019-03-07, 09:37 AM
Good day! I'm AureusFulgens, the other developer on this project. A lot of the more esoteric formulas on this sheet sprang out of the twisted eldritch depths of my mathematician brain, so I'm also on call to answer questions or complaints or corrections about the calculator!

(And if anything is wrong, then we seriously want to know. Every time a math error is published, Carl Friedrich Gauss rolls over in his grave, ad we don't want to do that to him.)

I'm on GitP a little less frequently than Ludic, so my responses might be a little more delayed than his, but I do promise to respond.

Hope this is of help to you!
Cheers,
Aureus

(Seriously, just call me Aureus. "Mr. Fulgens" just feels so formal, y'know?)

fert1g
2019-03-07, 09:57 AM
Many thanks to the both of you for this update! I especially enjoy the fact that the bonus attack field is overrided (edit: that it takes into account a bonus attack is still made if no crit is scored) upon checking the GWM crit bonus check-box. Speaking of, check-boxes are a fantastic quality of life improvement. Issues I had with the previous iteration all seem to have been dealt with so a 10/10 from me.

GreyBlack
2019-03-07, 10:38 AM
Good day! I'm AureusFulgens, the other developer on this project. A lot of the more esoteric formulas on this sheet sprang out of the twisted eldritch depths of my mathematician brain, so I'm also on call to answer questions or complaints or corrections about the calculator!

(And if anything is wrong, then we seriously want to know. Every time a math error is published, Carl Friedrich Gauss rolls over in his grave, ad we don't want to do that to him.)

I'm on GitP a little less frequently than Ludic, so my responses might be a little more delayed than his, but I do promise to respond.

Hope this is of help to you!
Cheers,
Aureus

(Seriously, just call me Aureus. "Mr. Fulgens" just feels so formal, y'know?)

To be clear, if Gauss turns in his grave every time a maths error is published, wouldn't we have a perpetual energy machine? 🤔

Connington
2019-03-07, 11:14 AM
I'm simultaneously amazed by the amount of thought and math that went into this, and amazed that nobody implemented such an obviously useful tool at this level before. This is great stuff.

I'm currently playing a archer rogue/ranger in a game with some crazy house-rules, so this is perfect for understanding what to expect from my character in combat.

The real trick for me is going to be converting it to Microsoft Excel - I tried that briefly and the monitor screamed and leaked blood.

Bloodcloud
2019-03-07, 11:17 AM
To be clear, if Gauss turns in his grave every time a maths error is published, wouldn't we have a perpetual energy machine? 🤔

His spinning induce gauss projectile propulsion, making it far too deadly to get near.

Rukelnikov
2019-03-07, 11:24 AM
Awesome work!

stoutstien
2019-03-07, 01:30 PM
You make all my math look like child's play. Good show.

DontEvenAsk
2019-03-07, 01:53 PM
Oh, wow! I'm sadly not well up enough on my 5e to really understand what's going on here, but I know enough to know that this is really impressive! I've long wished there was something like this for... almost every system I've used, really. Great work!

Makorel
2019-03-07, 05:10 PM
Thank you very much for this. I was a big fan of the old calculator and used it to calculate good effective damage numbers for classes I was interested in and these quality of life changes that have been made are most welcome.

thereaper
2019-03-07, 11:31 PM
Nice! I'm a fan of the first one, and I'm sure I'll like this one, too.

Crucius
2019-03-08, 07:42 AM
I'm loving this! Great work!

Minor detail thingy: I used it to calculate the tipping point in AC to do a power attack yes or no, and while it nicely indicates the intersection between the two attack modi, it can be difficult to really read out what the AC is at that point. Is it possible to calculate this point and display its value either on the graph or in a separate box?

It is only because the calculator works extremely well that these kind of quality of life changes are the only remarks I can make, well done!

LudicSavant
2019-03-08, 10:17 AM
Thanks for the feedback thus far, everyone!


I'm loving this! Great work!

Minor detail thingy: I used it to calculate the tipping point in AC to do a power attack yes or no, and while it nicely indicates the intersection between the two attack modi, it can be difficult to really read out what the AC is at that point. Is it possible to calculate this point and display its value either on the graph or in a separate box?

It is only because the calculator works extremely well that these kind of quality of life changes are the only remarks I can make, well done!

Try clicking on the graph in question, then mousing over any given point. It should have a popup display the AC for that point, as well as some other information.

Bellin878
2019-03-08, 12:11 PM
This is wonderful. I am especially fond of the "When to Powerattack" charts. Thank you kindly.

Halabalousa
2019-03-08, 01:27 PM
Where do you add extra damage from hunters mark / hex? I can only find an option for first hit bonuses like sneak attack.

LudicSavant
2019-03-09, 03:22 AM
Where do you add extra damage from hunters mark / hex? I can only find an option for first hit bonuses like sneak attack.

You can add any damage dice that apply on a per-attack basis (such as Hunter's Mark and Hex) in the "Damage" section, right under "Target AC."

Connington
2019-03-19, 04:15 PM
So this actually settled a debate at the table I play at.

My DM felt that another player's use of Sharpshooter was unbalanced, and wanted to ban or nerf it. I sent him a link to this spreadsheet, and we played around with some numbers. This led to a very nerdy conversation about why Sharpshooter isn't actually that great for PCs like Rogues that get a lot of damage from single attacks, and discussion about how the flanking & ranged flanking rules he used were resulting in everyone rolling with Advantage and thus doing more damage than intended.

May all future rules debates be this easy to solve with math and spreadsheets.

LudicSavant
2019-03-25, 11:20 AM
Thank you very much for this. I was a big fan of the old calculator and used it to calculate good effective damage numbers for classes I was interested in and these quality of life changes that have been made are most welcome.


This is quite useful, thanks for all the great work.

I like to play a lot of Archer types and this helped tremendously in figuring out which ones had better dps at each tier, and what could be done to optimize for that. I think the biggest surprise was the Rogue Assassin keeps up very well.


So this actually settled a debate at the table I play at.

My DM felt that another player's use of Sharpshooter was unbalanced, and wanted to ban or nerf it. I sent him a link to this spreadsheet, and we played around with some numbers. This led to a very nerdy conversation about why Sharpshooter isn't actually that great for PCs like Rogues that get a lot of damage from single attacks, and discussion about how the flanking & ranged flanking rules he used were resulting in everyone rolling with Advantage and thus doing more damage than intended.

May all future rules debates be this easy to solve with math and spreadsheets.

It's always great to hear about people testing their intuitions or builds and learning something new! :smallbiggrin:

Indeed, my motivation for creating this in the first place was noticing how consistently certain abilities were over- or under-valued in forum discussion. My hope is that people will take advantage of this calculator in order to make such discussions more evidence-based. Let us know your results! :smallsmile:

Chronos
2019-03-25, 11:31 AM
Does this include any sort of data for typical ACs and save bonuses by level? If so, how is "typical" defined?

LudicSavant
2019-03-25, 12:11 PM
Does this include any sort of data for typical ACs and save bonuses by level? If so, how is "typical" defined?

No; the calculator does not make any assumptions about what is "typical," precisely because that would require making an assumption. The user inputs the target's AC or saving throw (or can get a graph of their DPR against every AC).

That said, you might find the table on page 274 of the DMG helpful. :smallsmile:

Outcast_Shadow
2019-03-25, 01:53 PM
1.) Great work! I believe that you may very well have achieved the goal you mentioned to me of making your previous work look... <ahem> shoddy.
2.) Many thanks to Aureus. Anyone that was actually able to provide assistance to Ludic gets major cred in my book.
3.) I notice that there are some non-obvious tabs listed. Can either of you explain, in brief, what differences, if any other than formatting, there are b/w the Simple Attack Calculator v/s the Advanced Calculator?

Thanks to you both. You do good work.

LudicSavant
2019-03-25, 02:25 PM
3.) I notice that there are some non-obvious tabs listed. Can either of you explain, in brief, what differences, if any other than formatting, there are b/w the Simple Attack Calculator v/s the Advanced Calculator?

I see you've found the hidden sheets! That's an earlier, incomplete draft of the UI that we didn't end up using. It doesn't do anything in the current version, which is why it was a hidden sheet (along with a few others that were basically just used as scratch pads by Aureus and I). I probably should have just deleted it. In fact, I'll do that right now.

Following that little bit of cleanup, here is a summary of the function of each tab (both the public ones, and the hidden ones):

Visible Tabs:
The "Attack Calculator" is for anything that targets AC. The "Saves Calculator" is for anything that targets a saving throw.

Hidden Tabs:
The "Data Validation" sheet is necessary for the dropdown menus to work and look pretty. Don't edit it.

AureusFulgens
2019-03-25, 09:11 PM
Glad people seem to be finding this useful! As always, keep us posted about any questions, concerns, or suggestions you have about the calculator. We want to make sure this thing is as accurate and useful as it can be.


1.) Great work! I believe that you may very well have achieved the goal you mentioned to me of making your previous work look... <ahem> shoddy.
2.) Many thanks to Aureus. Anyone that was actually able to provide assistance to Ludic gets major cred in my book.
3.) I notice that there are some non-obvious tabs listed. Can either of you explain, in brief, what differences, if any other than formatting, there are b/w the Simple Attack Calculator v/s the Advanced Calculator?

Thanks to you both. You do good work.

You're very welcome! And thank you for your kind words :)

Outcast_Shadow
2019-03-27, 05:16 PM
I am aware that in D&D 5E, RAW, the damage multiplier on a crit is 2. That being said, if we wanted to play around with items doing triple (or other) damage on a crit, would it be valid to add an input at, say, E14 on the DPR sheet, then, going down to B208, F208, & J208 and replace the number "2" in all instances to the value of E14? It *seems* to work as intended at first glance. Without being intimately familiar with the inner workings of your mathematical wizardry I don't want to presume too much.

Can either of you confirm that my clumsy toying around with your delicate machine will or will not have the desired effect and not cause any... imbalances in the force?

AureusFulgens
2019-03-27, 05:39 PM
I am aware that in D&D 5E, RAW, the damage multiplier on a crit is 2. That being said, if we wanted to play around with items doing triple (or other) damage on a crit, would it be valid to add an input at, say, E14 on the DPR sheet, then, going down to B208, F208, & J208 and replace the number "2" in all instances to the value of E14? It *seems* to work as intended at first glance. Without being intimately familiar with the inner workings of your mathematical wizardry I don't want to presume too much.

Can either of you confirm that my clumsy toying around with your delicate machine will or will not have the desired effect and not cause any... imbalances in the force?

Oooh, now this is interesting.

Yes, on looking over our sheet again, this should work. The six cells you'd want to edit would indeed be the ones in row 208. (Don't forget the ones on the Bonus Action Attack table: Q208, U208, Y208.) Everywhere else that references or depends on crit damage ties back to those cells.

The precise mechanic is that dice are doubled, so if we were a fairly average 1st-level Fighter (16 STR) with the Dueling style wielding a longsword, then you'd expect your damage on crit to change to:
1d8 + 5 --> 2d8 + 5, 3d8 + 5, etc.
depending on your multiplier. Things like the Half-Orc's extra die are added in separately, so that would be unaffected, as I assume you'd desire.

Hope this helps. Glad you're getting into modding our sheet :D



EDIT: Oh, there's one other thing. The sheet handles Sneak Attack damage in a somewhat awkward way, and you'd want to factor that in.
In this little formula from Y9, under Damage per Round:

=B202+Q202+IF(I19,B232*(B223-Q202))+AZ167*Y21+(AZ167-Q22)*Y21*(Y18/Y6)

the highlighted term adds in the damage from a potential crit while Sneak Attacking, by adding in the averages of the damage dice *again* without the static bonus. Just modify it to multiply by E14 (or whatever) minus one, to add in that damage the right number of times. Like so:

=B202+Q202+IF(I19,B232*(B223-Q202))+AZ167*Y21+(E14 - 1)*(AZ167-Q22)*Y21*(Y18/Y6)

Make that edit in Y9, AC9, and AG9.

Outcast_Shadow
2019-03-27, 06:34 PM
Oooh, now this is interesting.

Yes, on looking over our sheet again, this should work. The six cells you'd want to edit would indeed be the ones in row 208. (Don't forget the ones on the Bonus Action Attack table: Q208, U208, Y208.) Everywhere else that references or depends on crit damage ties back to those cells.


So doing this would mean that the Bonus Action Attack would utilize the same multiplier for critical hits that the "Standard Action" Attack uses. If the Bonus Action Attack were to utilize (for purposes of computation) some mechanic that provided a different (lesser or greater, whatever) multiplier for crits then we'd want to insert *another* input field for Bonus Action Attack crit multiplier... say at E42 and then have E42 replace the 2 in all instances for fields Q, U, & Y 208, yes?



The precise mechanic is that dice are doubled, so if we were a fairly average 1st-level Fighter (16 STR) with the Dueling style wielding a longsword, then you'd expect your damage on crit to change to:
1d8 + 5 --> 2d8 + 5, 3d8 + 5, etc.
depending on your multiplier. Things like the Half-Orc's extra die are added in separately, so that would be unaffected, as I assume you'd desire.

Hope this helps. Glad you're getting into modding our sheet :D



EDIT: Oh, there's one other thing. The sheet handles Sneak Attack damage in a somewhat awkward way, and you'd want to factor that in.
In this little formula from Y9, under Damage per Round:

=B202+Q202+IF(I19,B232*(B223-Q202))+AZ167*Y21+(AZ167-Q22)*Y21*(Y18/Y6)

the highlighted term adds in the damage from a potential crit while Sneak Attacking, by adding in the averages of the damage dice *again* without the static bonus. Just modify it to multiply by E14 (or whatever) minus one, to add in that damage the right number of times. Like so:

=B202+Q202+IF(I19,B232*(B223-Q202))+AZ167*Y21+(E14 - 1)*(AZ167-Q22)*Y21*(Y18/Y6)

Make that edit in Y9, AC9, and AG9.

So Y9, AC9, and AG9 factor in potential sneak attack damage with regards to average damage yield/round as well as potential Bonus Action Attack(s), yes? And my ham handed tinkering STILL shouldn't break the machine. Correct?

Also, thank you VERY much for your prompt reply to my last question. :)


EDIT: For those of you playing along on the home version of this game, YES! I am tinkering about with this with the thought of crit multipliers as they existed in legacy versions of D&D (such as 3.5) for various weapons.

Post post scriptum: Aureus or Ludic, the "crits on" value at E13 applies across all attacks, Standard & Bonus alike. Is there a field that can be edited that would change the Crits On value for JUST bonus action attacks? I'd search it out myself for a bit but there's this muscle relaxer kicking in that I took for my back a short while ago and I feel I'm losing the edge on my focus.

AureusFulgens
2019-03-28, 11:54 AM
So doing this would mean that the Bonus Action Attack would utilize the same multiplier for critical hits that the "Standard Action" Attack uses. If the Bonus Action Attack were to utilize (for purposes of computation) some mechanic that provided a different (lesser or greater, whatever) multiplier for crits then we'd want to insert *another* input field for Bonus Action Attack crit multiplier... say at E42 and then have E42 replace the 2 in all instances for fields Q, U, & Y 208, yes?

Yes, precisely. That should work.


So Y9, AC9, and AG9 factor in potential sneak attack damage with regards to average damage yield/round as well as potential Bonus Action Attack(s), yes? And my ham handed tinkering STILL shouldn't break the machine. Correct?

Also, thank you VERY much for your prompt reply to my last question. :)

[…]

Post post scriptum: Aureus or Ludic, the "crits on" value at E13 applies across all attacks, Standard & Bonus alike. Is there a field that can be edited that would change the Crits On value for JUST bonus action attacks?

My pleasure! :D

The three row-9 cells are pretty much the tying-it-all-together cells. I'll bring back that formula from my last post, from Y9 (the other two are analogous):

B202+Q202+IF(I19,B232*(B223-Q202))+AZ167*Y21+(AZ167-Q22)*Y21*(Y18/Y6)

B202 and Q202 reference the tables down at the bottom - the total average damage from the action and bonus-action attacks, respectively.

The IF(...) statement handles the Great Weapon Master crit bonus.

And the last two terms handle, respectively, Sneak Attack damage from normal hits and crits.

The issue with having separate crit multipliers and crit thresholds for Action and Bonus Action attacks is probably going to be that the last term might not work quite right. You'd have to split it into two terms to factor in the separate cases where the Sneak Attack is triggered by the Action attacks vs. the Bonus Action attacks. As I'm writing this, I'm wondering if perhaps we should be doing that already - the probability of crit-given-hit on the Action vs. Bonus Action attacks might already be different if the probability of a hit is different.

Issue detected:There's a minor issue with Sneak Attack crit damage that would come up in the case that Action and Bonus Action attacks have different probabilities of hitting and once-per-round damage is nonzero and nonconstant. I'll address that ASAP (grad school has demands on my time today, so this will likely be tomorrow or Saturday) and announce again once it's been repaired. Thanks to Outcast_Shadow for giving me the context to notice this; this is why I keep asking for people to test it and giving feedback!


I'd search it out myself for a bit but there's this muscle relaxer kicking in that I took for my back a short while ago and I feel I'm losing the edge on my focus.
Hope you recover quickly!

You're certainly pushing our limits, and I love that. Keep fiddling with this thing and let us know any questions you have or things you notice.

AureusFulgens
2019-03-30, 11:47 PM
Issue detected:There's a minor issue with Sneak Attack crit damage that would come up in the case that Action and Bonus Action attacks have different probabilities of hitting and once-per-round damage is nonzero and nonconstant. I'll address that ASAP (grad school has demands on my time today, so this will likely be tomorrow or Saturday) and announce again once it's been repaired. Thanks to Outcast_Shadow for giving me the context to notice this; this is why I keep asking for people to test it and giving feedback!

The issue described here should be resolved. To explain briefly: Damage from Sneak Attack and similar effects is now split into three terms (instead of two as previously), since this lends itself to the correct formula for the probability that the effect is triggered by a critical hit. The documentation has also been edited to explain the new, correct formula.


(The following deals with editing the sheet to reflect rules outside of standard 5E, as do a couple previous posts)

As a nice side benefit to correcting our formula, the alternate rules Outcast_Shadow is working with are now relatively natural to include. In order to implement potentially different critical hit thresholds and dice multipliers for the regular attacks and bonus action attacks, do the following:

In the tables at the very bottom, the formulas for "probability of a critical hit" are the same in the Attack and Bonus Action Attack tables (this is in row 211), as both depend on the cell E13 that gives the crit threshold. If you want to make this value different for bonus action attacks, just replace the text "E13" in cells Q211, U211, Y211 with whatever cell the new crit threshold comes from.
Edit the cells that read Damage Per Crit (row 208) to replace the 2* multipliers with the appropriate new multipliers.
Edit the cells Y9, AC9, AG9 up at the top to add crit multipliers to the last two terms. I explained how to do that in a previous post; just be sure to do it for both of the last two terms of the sum.

In general, if you're interested in modding the sheet, give the documentation a good read-over. I've tried to make it as accessible to those unfamiliar with probability theory as possible.

Outcast_Shadow
2019-04-02, 02:36 AM
The issue described here should be resolved. To explain briefly: Damage from Sneak Attack and similar effects is now split into three terms (instead of two as previously), since this lends itself to the correct formula for the probability that the effect is triggered by a critical hit. The documentation has also been edited to explain the new, correct formula.




Is this something I'm going to need to go in and correct manually on my particular version of the calculator or am I "good" now?




(The following deals with editing the sheet to reflect rules outside of standard 5E, as do a couple previous posts)

As a nice side benefit to correcting our formula, the alternate rules Outcast_Shadow is working with are now relatively natural to include. In order to implement potentially different critical hit thresholds and dice multipliers for the regular attacks and bonus action attacks, do the following:

In the tables at the very bottom, the formulas for "probability of a critical hit" are the same in the Attack and Bonus Action Attack tables (this is in row 211), as both depend on the cell E13 that gives the crit threshold. If you want to make this value different for bonus action attacks, just replace the text "E13" in cells Q211, U211, Y211 with whatever cell the new crit threshold comes from.
Edit the cells that read Damage Per Crit (row 208) to replace the 2* multipliers with the appropriate new multipliers.
Edit the cells Y9, AC9, AG9 up at the top to add crit multipliers to the last two terms. I explained how to do that in a previous post; just be sure to do it for both of the last two terms of the sum.

In general, if you're interested in modding the sheet, give the documentation a good read-over. I've tried to make it as accessible to those unfamiliar with probability theory as possible.

As long as you're sharp while you're doing this it's REALLY quite easy and not an issue (Super easy, barely and inconvenience).

Keep up the good work fellows!

LudicSavant
2019-04-02, 03:13 AM
Is this something I'm going to need to go in and correct manually on my particular version of the calculator or am I "good" now?

The calculator has been updated to v2.1. If your version was created from a copy of version 2.0, then you would have to make a new copy in order to get the update.

Outcast_Shadow
2019-04-02, 05:00 PM
The calculator has been updated to v2.1. If your version was created from a copy of version 2.0, then you would have to make a new copy in order to get the update.

No changes to the Save Calculator though, right?

Shadhael
2019-04-03, 06:34 PM
I want to say first that I love everything about this. Really appreciate the effort that's been put into this.

It seems like everyone else is having no issues with the spreadsheet, wish I could say the same. I've opened the sheet and re-copied it multiple times, made sure the sheet I was copying to had both the attack and save sheets, opened the sheet in Chrome and in Firefox, and every single time all the outputs have been filled with errors.

The input boxes seems to work perfectly. However the outputs are all #NAME? and when I put my cursor over them I get a Error Unknown Function:

Most of the time the unknown function is TotalProb, but there are some critChance and maxDamage errors as well.

Every single output box below row 100 are also filled exclusively with the same #NAME? errors, except for the GWM Crit Adjustment, which are just 0

If anyone else has had this problem, or more importantly, knows how to fix this, I'd love to hear it

LudicSavant
2019-04-03, 07:27 PM
No changes to the Save Calculator though, right?

That's right! :smallsmile:


I want to say first that I love everything about this. Really appreciate the effort that's been put into this.

It seems like everyone else is having no issues with the spreadsheet, wish I could say the same. I've opened the sheet and re-copied it multiple times, made sure the sheet I was copying to had both the attack and save sheets, opened the sheet in Chrome and in Firefox, and every single time all the outputs have been filled with errors.

The input boxes seems to work perfectly. However the outputs are all #NAME? and when I put my cursor over them I get a Error Unknown Function:

Most of the time the unknown function is TotalProb, but there are some critChance and maxDamage errors as well.

Every single output box below row 100 are also filled exclusively with the same #NAME? errors, except for the GWM Crit Adjustment, which are just 0

If anyone else has had this problem, or more importantly, knows how to fix this, I'd love to hear it

I don't seem to be able to replicate this error, so I can only speculate as to the cause.

The "#NAME" error messages mean that you're referencing functions which don't exist... and those functions (totalProb, etc) definitely exist, so there must be something blocking your access to them somehow.

Is there anything on your end that blocks the use of scripts in webpages? Can you use other Google Spreadsheets with custom scripts? Are you able to reproduce this error on multiple devices?

Shadhael
2019-04-03, 08:28 PM
I don't seem to be able to replicate this error, so I can only speculate as to the cause.

The "#NAME" error messages mean that you're referencing functions which don't exist... and those functions (totalProb, etc) definitely exist, so there must be something blocking your access to them somehow.

Is there anything on your end that blocks the use of scripts in webpages? Can you use other Google Spreadsheets with custom scripts? Are you able to reproduce this error on multiple devices?

Fair enough. I'm glad this isn't an issue for most people.

I figured that at least totalprob was an existing function, making why I can't access it all the more confusing. I can't find anything one way or the other about having scripts blocked. I uninstalled, reinstalled Java, no change. Tried opening the file on my old laptop, nothing new.

Unfortunately I've used Excel much more than I have Sheets so I'm not terribly familiar with it. Looking at Sheets' Tool>Script Editor, there is nothing there. Any chance I just need to install a library of some kind? Maybe in the form of an Add-on (of which I also have none)?

Google yields very little, but one nugget I found was how to write your own script. A sample was creating a DOUBLE function, and when I made that script it worked fine.

LudicSavant
2019-04-03, 08:55 PM
Fair enough. I'm glad this isn't an issue for most people.

I figured that at least totalprob was an existing function, making why I can't access it all the more confusing. I can't find anything one way or the other about having scripts blocked. I uninstalled, reinstalled Java, no change. Tried opening the file on my old laptop, nothing new.

Unfortunately I've used Excel much more than I have Sheets so I'm not terribly familiar with it. Looking at Sheets' Tool>Script Editor, there is nothing there. Any chance I just need to install a library of some kind? Maybe in the form of an Add-on (of which I also have none)?

Google yields very little, but one nugget I found was how to write your own script. A sample was creating a DOUBLE function, and when I made that script it worked fine.

That's really strange. When you go to Tool>Script Editor you should see something like this this:


// Base probability of hitting a given AC with a given attack bonus.
function toHit(atk, ac) {
return Math.max(Math.min(21-ac+atk,19),1)/20;
}

// Probability of a hit with the Halfling Luck feature:
// that is, the probability of a hit, or a 1 becoming a hit.
function luckP(p, isLucky) {
if (isLucky) {
return p*(1+1/20);
}
return p;
}

// Transform a base hit probability to include disadvantage
// and (if applicable) Halfling Luck.
function disadvP(p, isLucky) {
// Disadvantage transform:
// You have to hit with both dice.
var d = p*p;

// Lucky transform:
// If you get a 1 on either die, you missed, but you get
// another shot.
if (isLucky) {
d += 2*p*p/20;
}
return d;
}

// Transform a base hit probability to include advantage
// and (if applicable) Halfling Luck.
function advanP(p, isLucky) {
var a = 2*p - p*p;
if (isLucky) {
a += (2/20*(1-p)-1/400)*p;
}
return a;
}

// Transform a base hit probability to include Elven Accuracy
// and (if applicable, though it's difficult to imagine why it
// would be) Halfling Luck.
function elvenP(p, isLucky) {
var e = p*p*p + 3*p - 3*p*p;
if (isLucky) {
e += (3*(1-p)*(1-p)/20-3*(1-p)/400+1/8000)*p;
}
return e;
}

// Utility function: takes the probability distribution of a value X
// and computes the probability distribution of X + D (for a single
// die of size D).
function convolve(arr, die) {
for (var i=1; i <= die; i += 1) {
arr.push(0);
}

for (var j=arr.length-1; j >=0; j -= 1) {
arr[j] = 0;
for (var k=j-1; k>=j-die && k >=0; k -= 1) {
arr[j] += arr[k];
}
arr[j] /= die;
}

}

// Compute the probability distribution of a pile of
// d4, d6, d8, d10, and d12 rolls.
function buffDist(four,six,eight,ten,twelve) {
var arr = [1];
for (var i = 0; i < four; i++) {
convolve(arr, 4);
}
for (var i = 0; i < six; i++) {
convolve(arr, 6);
}
for (var i = 0; i < eight; i++) {
convolve(arr, 8);
}
for (var i = 0; i < ten; i++) {
convolve(arr, 10);
}
for (var i = 0; i < twelve; i++) {
convolve(arr, 12);
}

return arr;
}

// Compute the attack probability taking all variables into account:
// attack bonus, AC, advantage, Elven Accuracy, and bonus dice (e.g. Bless).
function totalProb(atk, ac, isAdvan, isElven, isLucky, four, six, eight, ten, twelve, mfour, msix, meight, mten, mtwelve) {
var arr = buffDist(four, six, eight, ten, twelve);
var negArr = buffDist(mfour, msix, meight, mten, mtwelve);

var blessed = 0;

if (isAdvan == "No Advantage") {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < negArr.length; j++) {
blessed += (arr[i]*negArr[j]*luckP(toHit(atk + i - j, ac),isLucky));
}
}
}
if (isAdvan == "Advantage" && isElven) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < negArr.length; j++) {
blessed += (arr[i]*negArr[j]*elvenP(toHit(atk + i - j, ac),isLucky));
}
}
}
if (isAdvan == "Advantage" && !isElven) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < negArr.length; j++) {
blessed += (arr[i]*negArr[j]*advanP(toHit(atk + i - j, ac),isLucky));
}
}
}
if (isAdvan == "Disadvantage") {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < negArr.length; j++) {
blessed += (arr[i]*negArr[j]*disadvP(toHit(atk + i - j, ac),isLucky));
}
}
}

return blessed;
}

// Calculate the probability of a hit without any bonus dice.
// (Simplified version of totalProb)
// To add: Lucky
function atkProb(atk, ac, isAdvan, isElven) {
if (isAdvan == "No Advantage") {
return toHit(atk, ac);
}
if (isAdvan == "Advantage" && isElven) {
return elvenHit(atk, ac);
}
if (isAdvan == "Advantage" && !isElven) {
return advanHit(atk, ac);
}
if (isAdvan == "Disadvantage") {
return disadvHit(atk, ac);
}
}

// Compute the crit chance given the relevant parameters:
// the crit threshold (should normally be 20, except for things
// like Champion features), and the presence of Advantage,
// Elven Accuracy, and Halfling Luck.
function critChance(threshold, isAdvan, isElven, isLucky) {
if (threshold > 20 || threshold < 1) {
return 0;
}
var p = (21-threshold)/20;
if (isAdvan == "No Advantage") {
c = luckP(p,isLucky);
}
if (isAdvan == "Advantage" && !isElven) {
c = advanP(p,isLucky);
}
if (isAdvan == "Advantage" && isElven) {
c = elvenP(p,isLucky);
}
if (isAdvan == "Disadvantage") {
c = disadvP(p,isLucky);
}

return c;
}

// ************************************************** ********************
// The following section focuses on computing SAVE probabilities,
// which have the notable difference that there are no crits.

// Compute the base save probability based on bonus and DC.
function toSave(bonus, dc) {
return Math.max(Math.min(21-dc+bonus,20),0)/20;
}

// Probability of a hit with the Halfling Luck feature:
// that is, the probability of a hit, or a 1 becoming a hit.
function luckS(p, isLucky) {
if (isLucky) {
if (p == 1) {
return p;
} else {
return p*(1+1/20);
}
}
return p;
}

// Transform a base hit probability to include disadvantage
// and (if applicable) Halfling Luck.
function disadvS(p, isLucky) {
// Disadvantage transform:
// You have to hit with both dice.
var d = p*p;

// Lucky transform:
// If you get a 1 on either die and you missed,
// you get another shot.
if (isLucky) {
if (p == 1) {
return p;
} else {
d += 2*p*p/20;
}
}
return d;
}

// Transform a base hit probability to include advantage
// and (if applicable) Halfling Luck.
function advanS(p, isLucky) {
var a = 2*p - p*p;
if (isLucky) {
if (p == 1) {
return p;
} else {
a += (2/20*(1-p)-1/400)*p;
}
}
return a;
}


// Compute the save probability taking all variables into account:
// save bonus, DC, advantage, and bonus dice (e.g. Bless).
function saveProb(bonus, dc, isAdvan, isLucky, four, six, eight, ten, twelve, mfour, msix, meight, mten, mtwelve) {
var arr = buffDist(four, six, eight, ten, twelve);
var negArr = buffDist(mfour, msix, meight, mten, mtwelve);

var blessed = 0;

if (isAdvan == "No Advantage") {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < negArr.length; j++) {
blessed += (arr[i]*negArr[j]*luckS(toSave(bonus + i - j, dc),isLucky));
}
}
}
if (isAdvan == "Advantage") {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < negArr.length; j++) {
blessed += (arr[i]*negArr[j]*advanS(toSave(bonus + i - j, dc),isLucky));
}
}
}
if (isAdvan == "Disadvantage") {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < negArr.length; j++) {
blessed += (arr[i]*negArr[j]*disadvS(toSave(bonus + i - j, dc),isLucky));
}
}
}

return blessed;
}

// Compute the average DPR of a single attack.
// Takes into account the chance of a hit, the damage from a hit,
// the chance of a crit, and the damage on a crit (INCLUDING the damage
// already dealt by an ordinary hit).
function attackDPR(hitChance, hitDamage, critChance, critDamage) {
return (hitChance - critChance)*hitDamage + critChance*critDamage;
}

// Compute the average output of a series of dice with a bonus.
// The last two arguments are booleans to indicate whether the features
// Great Weapon Fighting (Fighting Style) and Elemental Adept (Feat)
// are active.
function averageDamage(four, six, eight, ten, twelve, bonus, isGWF, isEA) {
if (isGWF) {
if (isEA) {
return (3.125*four + (38/9)*six + (169/32)*eight + 6.32*ten + (529/72)*twelve + bonus);
} else {
return (3*four + (25/6)*six + 5.25*eight + 6.3*ten + (22/3)*twelve + bonus);
}
} else {
if (isEA) {
return (2.75*four + (11/3)*six + 4.625*eight + 5.6*ten + (79/12)*twelve + bonus);
} else {
return (2.5*four + 3.5*six + 4.5*eight + 5.5*ten + 6.5*twelve + bonus);
}
}
}

function minDamage(four, six, eight, ten, twelve, bonus) {
return (four + six + eight + ten + twelve + bonus);
}

function maxDamage(four, six, eight, ten, twelve, bonus) {
return (4*four + 6*six + 8*eight + 10*ten + 12*twelve + bonus);
}

Shadhael
2019-04-03, 09:03 PM
There we go! Was a tense couple minutes while everything was LOADING! but it's all there now.

Thanks a ton for the assist!

El_Magnifico
2019-04-04, 10:30 AM
That's right! :smallsmile:



I don't seem to be able to replicate this error, so I can only speculate as to the cause.

The "#NAME" error messages mean that you're referencing functions which don't exist... and those functions (totalProb, etc) definitely exist, so there must be something blocking your access to them somehow.

Is there anything on your end that blocks the use of scripts in webpages? Can you use other Google Spreadsheets with custom scripts? Are you able to reproduce this error on multiple devices?

Hi there. The calculator is excellent, so kudos! I was able to replicate the error yesterday by duplicating the DPR sheet several times (as if you wanted to calculate the each party member's DPR and send it all to one graph :D), close the page, and reopen it. I also did it by copying the sheet to a new document. It seems to be very hit or miss. Basically though, I think you're making too many calls to the script server, so it kicks you out. When you then go to the script editor, its empty.

I messed around yesterday, and managed to get it to "half load". I got a bunch of #NAME? errors as well as a #ERROR!

The error:

"Service invoked too many times in a short time: exec qps. Try Utilities.sleep(1000) between calls. (line 0).'"

Using google-fu, second result leads to StackOverflow, leading us to Google's app script help guide:

"Each time a custom function is used in a spreadsheet, Google Sheets makes a separate call to the Apps Script server. If your spreadsheet contains dozens (or hundreds, or thousands!) of custom function calls, this process can be quite slow."

Source: https://developers.google.com/apps-script/guides/sheets/functions#optimization

I fixed mine by adding a column in each broken sheet. Worked yesterday, but not today. :/ Anyway, I hope this fills in some of the missing information for this problem!

Regards. And thanks again for this great tool!

edit: named the second error.

Mind's Eye
2019-04-04, 11:04 AM
Amazing calculator, is there a way you could add damage types and the chance of enemies resisting them?

LudicSavant
2019-04-04, 12:39 PM
Hi there. The calculator is excellent, so kudos! I was able to replicate the error yesterday by duplicating the DPR sheet several times (as if you wanted to calculate the each party member's DPR and send it all to one graph :D), close the page, and reopen it. I also did it by copying the sheet to a new document. It seems to be very hit or miss. Basically though, I think you're making too many calls to the script server, so it kicks you out. When you then go to the script editor, its empty.

I messed around yesterday, and managed to get it to "half load". I got a bunch of #NAME? errors as well as a #ERROR!

The error:

"Service invoked too many times in a short time: exec qps. Try Utilities.sleep(1000) between calls. (line 0).'"

Using google-fu, second result leads to StackOverflow, leading us to Google's app script help guide:

"Each time a custom function is used in a spreadsheet, Google Sheets makes a separate call to the Apps Script server. If your spreadsheet contains dozens (or hundreds, or thousands!) of custom function calls, this process can be quite slow."

Source: https://developers.google.com/apps-script/guides/sheets/functions#optimization

I fixed mine by adding a column in each broken sheet. Worked yesterday, but not today. :/ Anyway, I hope this fills in some of the missing information for this problem!

Regards. And thanks again for this great tool!

edit: named the second error.

Wow, thanks for figuring this out! Our sheet does indeed use a great deal of custom function calls (mostly because we have to call our DPR functions for every single AC on the DPR by AC graphs).

We'll look into it and see if we can find a workaround for this little idiosyncracy of Google's server setup.

Skemo
2019-04-06, 09:44 AM
Great resource here, thanks for all the work to make this happen!

XZlayeD
2019-04-07, 04:57 PM
This calculator is absolutely amazing!


Would it be able to perhaps give the ability to show advantage for a single attack while still showing the total?

For example a character with a familiar that provides the help action on my EK fighter, thus only giving advantage for the first attack.

Thanks in advance!

AureusFulgens
2019-04-11, 04:39 PM
This calculator is absolutely amazing!


Would it be able to perhaps give the ability to show advantage for a single attack while still showing the total?

For example a character with a familiar that provides the help action on my EK fighter, thus only giving advantage for the first attack.

Thanks in advance!

Hey, sorry for the delay!

So, allowing this amount of granularity in the calculator (e.g. different effects on different attacks in a single-round routine) is a feature we noodled with a bit during development, but did not manage to implement; the only UI's we came up with were nightmarish, and there were other features we had prioritized putting our time into finishing.

I think that would be on our to-do list if we ever build a v3.0. Though such a project would be a long way in the future.

LudicSavant
2019-04-15, 01:33 AM
Thanks for the update fellas. Keep up the good work!


Great resource here, thanks for all the work to make this happen!


This calculator is absolutely amazing!


Amazing calculator, is there a way you could add damage types and the chance of enemies resisting them?


Hi there. The calculator is excellent, so kudos!

Thank you all for the kind words! It really does help to hear all the support.


Would it be able to perhaps give the ability to show advantage for a single attack while still showing the total?

As is you'd have to do such calculations piecemeal. We fiddled with an interface that would let you do it all at once, but it didn't make it into 2.0 (mostly for reasons of keeping the UI inviting / prioritizing the time we spent on different features). Something like that may feature in a future update though.


Amazing calculator, is there a way you could add damage types and the chance of enemies resisting them?

What exactly do you mean by a chance of resisting? Enemies either have a damage resistance, or they do not.

Anyways, we decided not to add elemental damage types for UI reasons. Basically, imagine if instead of having 1 line to input all your damage dice of each die size, you had to have separate lines saying "2 of these d6s are Acid, 3 are Fire," etc etc. It would really bulk up the interface. And while I'm cool with doing that when it will be very informative, I think people basically already have an intuitive idea of how Resistance impacts their damage (it approximately halves it for any source that has Resistance).


There we go! Was a tense couple minutes while everything was LOADING! but it's all there now.

Thanks a ton for the assist!

Glad I could help!

XZlayeD
2019-04-16, 08:18 AM
Hey, sorry for the delay!

So, allowing this amount of granularity in the calculator (e.g. different effects on different attacks in a single-round routine) is a feature we noodled with a bit during development, but did not manage to implement; the only UI's we came up with were nightmarish, and there were other features we had prioritized putting our time into finishing.

I think that would be on our to-do list if we ever build a v3.0. Though such a project would be a long way in the future.

Thanks for the answer!

Would it be possible to put it in like with "bonus action" attacks? that way one could give the "main attack" advantage, and not the rest?

I really love this calc by the way! I got my DM convinced that my EK could get hex without the numbers spiraling out of control (still do less damage than our barbarian, which I could easily demonstrate with this)

LudicSavant
2019-04-16, 05:45 PM
I really love this calc by the way! I got my DM convinced that my EK could get hex without the numbers spiraling out of control (still do less damage than our barbarian, which I could easily demonstrate with this)

It warms my heart to hear stories like this. It's exactly what I was hoping this would contribute to the community; people making judgments based on tests and data instead of knee-jerk reactions and assumptions. So thank you for sharing! :smallsmile:


Thanks for the answer!

Would it be possible to put it in like with "bonus action" attacks? that way one could give the "main attack" advantage, and not the rest?

It shouldn't be too hard to patch something like that in. I'll look into adding it for the next update (no promises when that will be).

Zigludo
2019-04-20, 04:42 PM
This is my favorite resource that I have ever used for 5th Edition. Thanks so much for making this, nothing I've seen compares. Saw on the other thread that a new version had been made and decided to make an account just to say thanks. Been using it to test all sorts of homebrew and houserules (even an attempted 3d6 conversion, way more math than I'm used to doing. some real mad science.) and this has been insanely helpful.

Zigludo
2019-04-26, 11:44 AM
Sorry for the double reply, but I've got a question that I'd like clarified and I am neither good enough with math nor good enough with Google Sheets to figure out the answer for myself.


How exactly is crit chance handled when dealing with multiple attacks in conjunction with "Bonus on First Hit" effects such as Zealot's Divine Fury, Sneak Attack, Divine Strike, etc? Does it always assume that the attacker uses these effects whenever possible?

The reason I ask is, I noticed that some of these effects are actually worded differently from each other. For instance, Divine Fury and Colossus Slayer are worded to the effect of "the creature takes extra damage", but Sneak Attack and Divine Strike are worded to the effect of "you can deal extra damage".

This latter case got me thinking. I was fiddling around with a Champion11/Rogue9 with Elven Accuracy, and was wondering if he might actually be wiser not to commit his Sneak Attack to his first hit if he thought he was likely to score a crit later in the round. According to the calculator, a Champion who crits on 19 and attacks 4 times in a round (CBE) with Elven Accuracy has roughly a 72% chance of landing at least one crit. So it seems to me that there might be some wisdom to this, but doing the math was starting to make my head spin.

Similarly there are also cases where extra attackers with "bonus on first hit" are better off not power-attacking until after they land their first hit, but I don't know if any of this is within the scope of this project :smalltongue:

LudicSavant
2019-04-26, 08:40 PM
This is my favorite resource that I have ever used for 5th Edition. Thanks so much for making this, nothing I've seen compares. Saw on the other thread that a new version had been made and decided to make an account just to say thanks. Been using it to test all sorts of homebrew and houserules (even an attempted 3d6 conversion, way more math than I'm used to doing. some real mad science.) and this has been insanely helpful.

You're welcome! And thank you for the kind words :smallsmile:


Sorry for the double reply, but I've got a question that I'd like clarified and I am neither good enough with math nor good enough with Google Sheets to figure out the answer for myself.

How exactly is crit chance handled when dealing with multiple attacks in conjunction with "Bonus on First Hit" effects such as Zealot's Divine Fury, Sneak Attack, Divine Strike, etc? Does it always assume that the attacker uses these effects whenever possible?

The function assumes that the attacker uses the effect at the first opportunity, as noted in the popup tooltip for the "damage on first hit" section (pretty much every function on the sheet has a pop-up tooltip, and we are extra careful to try to clear up ambiguities of this sort).

Which means that we have to do a little extra work to solve your Champion/Rogue conundrum. So let's see if I can do that.


This latter case got me thinking. I was fiddling around with a Champion11/Rogue9 with Elven Accuracy, and was wondering if he might actually be wiser not to commit his Sneak Attack to his first hit if he thought he was likely to score a crit later in the round. According to the calculator, a Champion who crits on 19 and attacks 4 times in a round (CBE) with Elven Accuracy has roughly a 72% chance of landing at least one crit. So it seems to me that there might be some wisdom to this, but doing the math was starting to make my head spin.

Alright, so our goal here is to determine, upon landing any given hit, whether or not we should sneak attack right now or gamble on doing it later. Let's call it a "a bird in hand" option vs "gambler" option.

So we can calculate two numbers, then see which one is bigger. Thankfully the calculator makes this a lot easier than it otherwise would be, but we still have to do a little bit of math ourselves.

Bird in Hand option = (Damage on hit w/ Sneak Attack) + (DPR calculation for remaining hits, with the sneak attack option on the calculator turned off)
Gambler option = (Damage on hit w/o Sneak Attack) + (DPR calculation for remaining hits, with the 5d6 sneak attack option on the calculator turned on)

Note that the formula is the same whether this is attack 1, 2, 3, whatever. It's the damage on hit (not DPR) of the current hit + DPR of remaining hits to determine which one will have a greater DPR; you don't need to know past hits. You basically repeat the comparison on each successful hit until the Bird in Hand option is superior (which it always eventually will be). This is called a recursive algorithm.

In the case of a 20 Dex Crossbow Expert / Sharpshooter Rogue 9 / Champion 11 with Elven Accuracy Advantage and the Archery fighting style using -5/+10 against AC 19, those numbers work out to...
Bird in Hand option = (36) + (51.408) = 87.408
Gambler option = (18.5) + (74.28323438) = 92.78323438

In other words, gambling will provide a higher average DPR in this case.

There is one additional factor to consider. Namely, that even if the average DPR is higher, you're making the distribution of your damage less bell-curved by gambling.

Zigludo
2019-05-02, 03:29 PM
Pretty happy to see my hunch validated by the math! Also kicking myself for not realizing how to work it out myself - yet another situation where your calculator comes in handy.

Experimentation with the calculator has revealed some strange insights to me; for instance, I'm now under the impression that Fighters should very rarely continue to take Fighter levels past 11 in the interest of DPR. Kind of counterintuitive; you'd probably think that taking more Fighter levels would be the best way to get better at fighting with weapons. But it seems they're generally better off putting levels into Barbarian for Reckless Attack and Rage uptime, or levels in Rogue for Sneak Attack - or even both, for melee DEX Fighters. It helps with defense, too, since Barbarian has damage reduction via Rage and a larger hit die, and Rogue eventually gets Uncanny Dodge.

Outcast_Shadow
2019-05-07, 08:35 PM
I'm going to have to look into what Zigludo brought up. That looks interesting.

Once I found a few minutes of uninterrupted time (and a PM from Aureus) I was able to successfully alter my version of the DPRcalc to v 2.11. This has enabled us to really do all the calculations necessary for some legacy/crossover items from earlier 3.5 incarnations of D&D.

Thanks again to you both.

The next thing to put it to work on is a comparison of how a homebrew version of the Axe of Dwarven Lords will compare in its *whole* form to a couple of different prototypes in which it will break down into two "lesser" weapons (b/c I run a Dwarven Ranger that decided to go for TWF and a STR build!). Once we get it all tweaked out I'll throw an update this way again.

Outcast_Shadow
2019-05-11, 11:09 PM
Just noticed something a bit odd. Maybe I’m the only one getting this result and maybe *that* is due to my mucking with the sheet, BUT...

Under the Outputs section, shouldn’t minimum damage per hit reflect the minimum damage output from the least of all possible hits INCLUDING the bonus action attack?

When I’m running the sheet (on my phone) the min damage per hit is basing solely off of the standard attack. That seems somehow odd.

LudicSavant
2019-05-11, 11:29 PM
Just noticed something a bit odd. Maybe I’m the only one getting this result and maybe *that* is due to my mucking with the sheet, BUT...

Under the Outputs section, shouldn’t minimum damage per hit reflect the minimum damage output from the least of all possible hits INCLUDING the bonus action attack?

When I’m running the sheet (on my phone) the min damage per hit is basing solely off of the standard attack. That seems somehow odd.

That section is meant to be listing the damage on a single hit from your 'normal' attacks, rather than your 'bonus action' attacks. It's working as intended.

Updated the tooltip to make this more clear.

Outcast_Shadow
2019-05-11, 11:37 PM
That section is meant to be listing the damage on a single hit from your 'normal' attacks, rather than your 'bonus action' attacks. It's working as intended.

Updated the tooltip to make this more clear.

The average dpr reflects the probabilities involved with an “only hit” in full routine being one of the bonus action attacks though, right?

LudicSavant
2019-05-11, 11:52 PM
The average dpr reflects the probabilities involved with an “only hit” in full routine being one of the bonus action attacks though, right?

The average DPR section factors in absolutely everything, yes. It's only the "damage on a single hit" section that reflects the damage of a specific attack.

Incidentally, while I was checking up on this I made a small QoL update to the user interface:
2.2 update: Input sections for dice now change color when there's a die entered into them, so it's easier to see all of your variables. Also added a fifth graph.

Outcast_Shadow
2019-05-12, 12:31 AM
Incidentally, while I was checking up on this I made a small QoL update to the user interface:
2.2 update: Input sections for dice now change color when there's a die entered into them, so it's easier to see all of your variables. Also added a fifth graph.
Arg... would like to ask how to update my version of the sheet to reflect these updates. Since I’m running a personally revised version it’s not as simple for me to just d/l the updated revision.

Thank you!

Zigludo
2019-05-12, 10:32 AM
Incidentally, while I was checking up on this I made a small QoL update to the user interface:
2.2 update: Input sections for dice now change color when there's a die entered into them, so it's easier to see all of your variables. Also added a fifth graph.

Well how about that. I was just about to make a post complaining about not being able to quickly discern if I had successfully emptied out all of the fields I wasn't using, so I pull up the thread and find this. You're a pro, LudicSavant.

LudicSavant
2019-05-13, 10:34 PM
Well how about that. I was just about to make a post complaining about not being able to quickly discern if I had successfully emptied out all of the fields I wasn't using, so I pull up the thread and find this. You're a pro, LudicSavant.

http://www.giantitp.com/forums/images/sand/icons/icon_thumbsup.png

Stuff on the docket for future updates:
- Implementing a workaround for the Google server calls thing that El Magnifico pointed out. This should make the entire sheet run faster.
- Adding a function for stacking rerolls (Lucky/Indomitable/etc) to the saving throw sheet.
- Adding the ability to set Advantage/Disadvantage separately for different attacks (e.g. you could make it so that only your first attack has Advantage, for instance). Per XZlayed's feature request. (http://www.giantitp.com/forums/showsinglepost.php?p=23830328&postcount=43)
- Adding skill contests (such as for shoving/grappling).

Let us know if there's anything else you'd like to see added.


Arg... would like to ask how to update my version of the sheet to reflect these updates. Since I’m running a personally revised version it’s not as simple for me to just d/l the updated revision.

Thank you!

Either you could re-implement your homebrew mods on the new sheet, or...

- For the color changing thing, you would need to copy the conditional formatting from any of the dice input sections (on my sheet) to all of your modded sheet's input sections for dice or number of attacks (on your sheet). Relevant: https://stackoverflow.com/questions/25935946/how-can-i-copy-a-conditional-formatting-from-one-document-to-another
- For the graph, you would need to create a graph on your modded sheet and copy all the variables in the "Series" sections (both under the "Graph" and "Customize" tabs) from the graph in my sheet. That'll work as long as your mod hasn't changed anything under Row 104.

Zigludo
2019-05-14, 07:21 PM
Just a little thing, but the green field thingy isn't showing up for the "Bonus on Crit" fields for the normal attack? It is on the bonus action attack, though. Seems like an oversight.
See image: https://i.imgur.com/RgZl8cy.png

I also feel like maybe it should be on the "Crits on" field as well? Maybe not.
See image: https://i.imgur.com/jOpr9PJ.png

LudicSavant
2019-05-14, 10:35 PM
*Snip*

Thanks for pointing this out!

Update 2.21: Updated to apply the "green fields" feature to the Bonus on Crit and Crit Range fields, per Zigludo's recommendation.
Update 2.22: Added new display for damage dice (basically just a UI thing. Please let me know how it looks and whether or not you like it better this way).

Outcast_Shadow
2019-05-22, 09:09 AM
I’m going to provide a view only link to my copy of the calculator. The tab marked as “Attack Calculator” is in process of being edited for my purposes. The tab marked as Copy of Attack Calc 2.1 is the one that is in a “completed” state. The graph is telling me that something is off. Ludic, Aureus, would one of y’all mind taking a look at my work to see what’s off (assuming I’m right about getting something wrong)?

Oh! I have to make this post before I can post a link apparently. Link will be posted soon.

Outcast_Shadow
2019-05-22, 09:11 AM
I’m going to provide a view only link to my copy of the calculator. The tab marked as “Attack Calculator” is in process of being edited for my purposes. The tab marked as Copy of Attack Calc 2.1 is the one that is in a “completed” state. The graph is telling me that something is off. Ludic, Aureus, would one of y’all mind taking a look at my work to see what’s off (assuming I’m right about getting something wrong)?

Oh! I have to make this post before I can post a link apparently. Link will be posted soon.

https://docs.google.com/spreadsheets/d/1T_0lY_Cn9j3wvxBneL0an8gGY6bzlKVwT7p9JEV-xp4

AureusFulgens
2019-05-22, 10:09 AM
https://docs.google.com/spreadsheets/d/1T_0lY_Cn9j3wvxBneL0an8gGY6bzlKVwT7p9JEV-xp4

Good day Outcast_Shadow! So first of all, sorry I've been AWOL for a bit; qualifying exam season just finished in the grad school program I'm in.

That graph does look a bit funky. Is your concern that there are multiple points where the slope changes? That isn't what we normally see, but I think it might be natural for having two different attack bonuses. Usually, the sharp turns occur at two points: where AC is no longer so low that anything besides a crit fail hits, and where AC is high enough that only a nat 20 can hit. But if the attack bonus is different for bonus hits and normal hits, you might have more such sharp turns. That's my best guess, anyway.

(The guess is supported by the fact that the two corners are separated by three points of AC, and that the two attack bonuses also differ by 3.)

If that addresses your concern, you should be good to go. I can also sit down and do a closer look at your altered calculator if you'd like, you'd just need to remind me which cells you've edited.

Outcast_Shadow
2019-05-22, 10:21 AM
Good day Outcast_Shadow! So first of all, sorry I've been AWOL for a bit; qualifying exam season just finished in the grad school program I'm in.

That graph does look a bit funky. Is your concern that there are multiple points where the slope changes? That isn't what we normally see, but I think it might be natural for having two different attack bonuses. Usually, the sharp turns occur at two points: where AC is no longer so low that anything besides a crit fail hits, and where AC is high enough that only a nat 20 can hit. But if the attack bonus is different for bonus hits and normal hits, you might have more such sharp turns. That's my best guess, anyway.

(The guess is supported by the fact that the two corners are separated by three points of AC, and that the two attack bonuses also differ by 3.)

If that addresses your concern, you should be good to go. I can also sit down and do a closer look at your altered calculator if you'd like, you'd just need to remind me which cells you've edited.

Awesome! You have correctly ascertained my question and addressed it. Thank you both for your time.

LudicSavant
2019-05-31, 12:11 PM
Version 2.3 update! You can find it here: https://docs.google.com/spreadsheets/d/14WlZE_UKwn3Vhv4i8ewVOc-f2-A7tMW_VRum_p3YNHQ/edit#gid=151780215

New Update Features:
You can now set Advantage/Disadvantage separately for your normal and bonus action attacks.
Added the HP Calculator, Slot Calculator, and Prof Calcuator (all on the same page. There's a tab at the bottom). This will allow you to do things like calculate just how much you can expect the Durable feat to be adding to your recovery every day, or quickly compare the spell slots of multiclass combos. The slot calculator even automatically detects whether you're multiclassing and uses the appropriate rounding rules accordingly.

Zigludo
2019-06-01, 02:12 AM
Neat stuff as always, guys. If you keep adding features soon I'll just be referring to this sheet for every question I ever have...

Any idea when the contested check calculator is going to be included?

Laserlight
2019-06-01, 07:32 AM
We have a new player with a sharpshooter rogue; this is going to help a lot with explaining to him how to use it for best effect

LudicSavant
2019-06-08, 11:02 AM
Any idea when the contested check calculator is going to be included?

Not sure when we'll get around to the next update. However, I can tell you how to calculate basic contested check probabilities using AnyDice right now.

output
(1d20+Your Mod)-(1d20+Target Mod)

Then go down the results and click where it says "at least." The chance of it being "at least 1" is the chance of you winning the ability contest. The chance of it being "at most -1" is the chance of you losing. The chance of it being zero is the chance of a tie.

For advantage, replace "1d20" with "[highest 1 of 2d20]". For disadvantage, it'd be "[lowest 1 of 2d20]"

Here's an example program: https://anydice.com/program/160ff

Outcast_Shadow
2019-06-12, 10:54 PM
Version 2.3 update! You can find it here: https://docs.google.com/spreadsheets/d/14WlZE_UKwn3Vhv4i8ewVOc-f2-A7tMW_VRum_p3YNHQ/edit#gid=151780215

SNIP:

Ludic & Aureus: You sick, demented, sadistic geniuses, I both love and hate you guys.

Outstanding update. You streamlined the sheet to solve some known problems and threw in some delightful upgrades while you were at it.

Those tweaks I was playing with?

I can’t figure out how to integrate them now that you’ve streamlined the sheet.

Can y’all either guide my idiot hand in figuring out how to start the process of figuring out how to implement my tweaks OR (just go ahead and say yes, you know you want to be all magnanimous) integrate my tweaks into the sheet for future upgrades?

Y’all are swell and you make my head hurt sometimes.

NOMster
2019-06-20, 10:14 AM
I know it's not a popular feat but it would be nice to see Savage Attacker and how it affects the minimum expected and average ranges incorporated.

AureusFulgens
2019-07-02, 11:42 AM
Ludic & Aureus: You sick, demented, sadistic geniuses, I both love and hate you guys.

Outstanding update. You streamlined the sheet to solve some known problems and threw in some delightful upgrades while you were at it.

Those tweaks I was playing with?

I can’t figure out how to integrate them now that you’ve streamlined the sheet.

Can y’all either guide my idiot hand in figuring out how to start the process of figuring out how to implement my tweaks OR (just go ahead and say yes, you know you want to be all magnanimous) integrate my tweaks into the sheet for future upgrades?

Y’all are swell and you make my head hurt sometimes.

Yikes, it appears I missed this nearly a month ago. I have been rather distracted recently, I apologize.

Short version: In streamlining the sheet, I moved the pieces of the total DPR calculation into the third table down at the bottom (Full Routine). The most difficult piece of your changes, as I recall, was making it reflected in the Once-Per-Round damage, which is now computed in the appropriately-labeled six cells of that table. Adding it would be a little complex, yes, but I think it looks similar to what I told you before; the basic formulas have not changed, just the organization.

That's a little on the vague side, so I'll see if your feature (separate crit ranges for the action and bonus action attacks) can be added to the official calculator on a future update. I think such a thing could come up in a few niche cases for a Hexblade Warlock, which suggests it isn't entirely out of the question for future material, so it might be good to have. Ludic has a few things I've promised him I'll get to first, but I'll see what I can do.

Outcast_Shadow
2019-07-03, 09:30 AM
Yikes, it appears I missed this nearly a month ago. I have been rather distracted recently, I apologize.

Short version: In streamlining the sheet, I moved the pieces of the total DPR calculation into the third table down at the bottom (Full Routine). The most difficult piece of your changes, as I recall, was making it reflected in the Once-Per-Round damage, which is now computed in the appropriately-labeled six cells of that table. Adding it would be a little complex, yes, but I think it looks similar to what I told you before; the basic formulas have not changed, just the organization.

That's a little on the vague side, so I'll see if your feature (separate crit ranges for the action and bonus action attacks) can be added to the official calculator on a future update. I think such a thing could come up in a few niche cases for a Hexblade Warlock, which suggests it isn't entirely out of the question for future material, so it might be good to have. Ludic has a few things I've promised him I'll get to first, but I'll see what I can do.

1.) Thank you for your kindness both in replying to me about this & for working with me on all this. It has to be a pain in the butt sometimes.

2.) I don’t know which is the greater favor, continuing to guide me when mucking about with y’all’s work OR considering taking the task from me and incorporating my tweaks into the body of y’all’s works here.

3.) Time isn’t an issue so much. I’m a Linux hobbyist so I’m used to asking what are, to me, difficult questions and then waiting for a week for a reply in an IRC channel. I’ll look at your suggestions for manual alterations and see if I can implement them on my own. From scanning your reply, it seems like I won’t be pushing too far outside of my bubble of knowledge.

LibraryOgre
2019-09-24, 12:59 PM
The Mod Ogre: CPR: Consented Post Resuscitation.

Outcast_Shadow
2019-09-24, 03:23 PM
1.) Thank you for your kindness both in replying to me about this & for working with me on all this. It has to be a pain in the butt sometimes.

2.) I don’t know which is the greater favor, continuing to guide me when mucking about with y’all’s work OR considering taking the task from me and incorporating my tweaks into the body of y’all’s works here.

3.) Time isn’t an issue so much. I’m a Linux hobbyist so I’m used to asking what are, to me, difficult questions and then waiting for a week for a reply in an IRC channel. I’ll look at your suggestions for manual alterations and see if I can implement them on my own. From scanning your reply, it seems like I won’t be pushing too far outside of my bubble of knowledge.


As it turns out putting the new information into the sheet was a breeze. So that part I've got down now I think. I haven't had much time to attempt to implement until today and I'm not even sure right now why it was presenting as a problem.

Now I'm looking at sheet 3, the HP & levels calc. Something seems off there. It doesn't look like it's calculating correctly. Care to give it a second look guys?

LudicSavant
2019-09-24, 04:01 PM
As it turns out putting the new information into the sheet was a breeze. So that part I've got down now I think. I haven't had much time to attempt to implement until today and I'm not even sure right now why it was presenting as a problem.

Now I'm looking at sheet 3, the HP & levels calc. Something seems off there. It doesn't look like it's calculating correctly. Care to give it a second look guys?

Are you talking about your alternate version of the sheet for your homebrew stuff? Everything works fine on my version as far as I know.

Outcast_Shadow
2019-09-24, 04:16 PM
Original document, 3rd sheet in, HP & Levels Calculator, field AG9. Some of the variables that play into the calculations target blank fields if I'm not terribly mistaken. I haven't knowingly messed with that sheet.

LudicSavant
2019-09-24, 04:44 PM
Original document, 3rd sheet in, HP & Levels Calculator, field AG9. Some of the variables that play into the calculations target blank fields if I'm not terribly mistaken. I haven't knowingly messed with that sheet.

Huh. It looks like a value got accidentally deleted somehow from AG9. Will have it fixed shortly. Thanks :smallsmile:

Edit: I'll want to double check it to make sure when I have time, but it should be good now.

Was there anything else you noticed on the HP and Levels sheet?

Outcast_Shadow
2019-09-25, 03:47 AM
Huh. It looks like a value got accidentally deleted somehow from AG9. Will have it fixed shortly. Thanks :smallsmile:

Edit: I'll want to double check it to make sure when I have time, but it should be good now.

Was there anything else you noticed on the HP and Levels sheet?

Not as of yet. Now that I'm happy with my weird additions/alterations to what I regard as the main sheet I'm just starting to look at the others. I'll check in when I can (less than 45 days!).

Outcast_Shadow
2019-10-03, 04:44 PM
Not as of yet. Now that I'm happy with my weird additions/alterations to what I regard as the main sheet I'm just starting to look at the others. I'll check in when I can (less than 45 days!).

I've had a couple of minutes to sit down with it now. I'm not seeing anything that causes concern at the moment.

Keep up the GREAT work Ludic & Aureus!

Jerdna
2019-10-30, 06:42 AM
Awesome! Just Awesome!
Love it!

And extended it.

I wanted to know two things:
- How much does Haste helps me
- when it is best to use Booming Blade

So I have integrated it into the sheet.
Please have a look at it if I made any mistakes or misinterpreted your previous work somehow.
And I would be very proud if you integrate it into the calculator!

DAMN! I just registered for this and cant paste links...
So please just remove the = from https

http=s://docs.google.com/spreadsheets/d/1VTjbTnQqn_uAKkTMBuclIsMxkNnv7LYDRBSRojdxenU/edit?usp=sharing


Cheers!
Jerdna

AureusFulgens
2020-01-06, 01:23 AM
Howdy! Reporting a fixed bug in the sheet.

It was brought to our attention that attack routines with a bonus action had some weird output on the graphs. It turns out that the reason is quite simple, namely, that I am an idiot.

In the data tables down at the bottom, under "DAMAGE PER ROUND (1 Bonus Attack)" you will notice that there are six columns, for Normal-Advantage-Disadvantage and Regular-Power (Power being -5/+10). These would, logically, reference the corresponding "ATTACK PROBABILITIES" cells. Except, in previous versions, the Power Attack columns did not. They referenced the Regular Attack probabilities, without -5/+10. This is because I slipped up while creating the tables.

The version linked in the first post in this thread should be correctly fixed. Please keep us posted on any further issues! We want this sheet to be as accurate as possible, in as many situations as possible, and your feedback helps us do that.

Ludic also has a bug fix in the HP calculator, so I'll let him explain that.

Yours sincerely, in the name of good math,
Aureus

LudicSavant
2020-01-06, 01:27 AM
Updated to v2.4. Just some minor bugfixes (One of the newer graphs was referencing the wrong cells, and there was a typo in one of the HP Calculator cells that was affecting how it was calculating rest hp with the Durable feat. Both are fixed now).

Outcast_Shadow
2020-01-16, 01:26 AM
Checking in to see how things are progressing. Holidays were busy for me as, I assume, they were for everyone. I’m looking forward to pulling up the updated sheet and adding my Frankenstein to it.

Thanks for your continued vigilance L & A.

ZorroGames
2020-01-17, 12:38 PM
Anyone else having problems copying this to a Mac?

My iPhone gets google drive.
My iPad (way old) ditto.
My Mac - not playing nice...

Outcast_Shadow
2020-01-23, 06:23 PM
Anyone else having problems copying this to a Mac?

My iPhone gets google drive.
My iPad (way old) ditto.
My Mac - not playing nice...

I can't comment about copying to a Mac. I can say that my iPhone works fine with google sheets and that my laptop runs linux and has no problems (run through "Version 79.0.3945.79 (Official Build) Built on Ubuntu , running on Ubuntu 18.04 (64-bit)")

In what environment are you attempting to run the spreadsheet?

Outcast_Shadow
2020-01-23, 08:16 PM
I *thought* I'd found a bug. I was wrong. I just hadn't put the "bless die" in both the field for the normal attacks and the bonus attack (not realizing that you had a separate field for each). All is well, keep up the great work. I still seem to be able to implement my Frankensteining of your spreadsheet to cover my peculiar needs.

Thanks guys!

Outcast_Shadow
2020-02-28, 07:42 PM
Any new features/updates coming down the line boys? Just curious now that the forums have been back up for a while.

Hortonman
2020-04-07, 05:18 PM
It seems that the "When to power attack (Advantage)" graph isn't properly reflecting the GWM Crit Bonus option.
When the GWM Crit Bonus is checked, the Average DPR numbers in the Outputs table change, but the red line on the graph does not, and continues to show the same numbers as before the box was checked.

LudicSavant
2020-04-07, 05:31 PM
It seems that the "When to power attack (Advantage)" graph isn't properly reflecting the GWM Crit Bonus option.
When the GWM Crit Bonus is checked, the Average DPR numbers in the Outputs table change, but the red line on the graph does not, and continues to show the same numbers as before the box was checked.

*Goes to check*

Oh, weird! My other versions have it working as expected, so something must have gotten misplaced when I updated. Should have it fixed in a jiffy. Thanks for pointing this out!

da newt
2020-04-08, 07:57 AM
I just found this - awesome!


Have you thought about creating a similar product but for the DEFENSIVE side of things? A damage taken per round calculator.

If my AC is X and the bad guy has an attack bonus of Y, Z attacks/round for ABC damage each and all the permutations of ADV/DISADV, resistance, saves, etc?

LudicSavant
2020-04-09, 04:31 PM
It seems that the "When to power attack (Advantage)" graph isn't properly reflecting the GWM Crit Bonus option.
When the GWM Crit Bonus is checked, the Average DPR numbers in the Outputs table change, but the red line on the graph does not, and continues to show the same numbers as before the box was checked.

v2.41: This issue has been fixed! Thanks for reporting it! Apparently somehow it got messed up in a prior update (since it was working in other versions), should be fine now.


I just found this - awesome!


Have you thought about creating a similar product but for the DEFENSIVE side of things? A damage taken per round calculator.

If my AC is X and the bad guy has an attack bonus of Y, Z attacks/round for ABC damage each and all the permutations of ADV/DISADV, resistance, saves, etc?

Wouldn't this essentially be the same thing? One person's damage per round is another person's damage taken per round.

Keravath
2020-04-17, 09:48 AM
Removed comment .. my mistake.

I was wondering if the number of decimal places for the DPR on the plots could be reduced? When reading the plots the numbers are centered over the AC which makes them harder to line up with all the decimals.

P.S. Really nice spreadsheet :)

LudicSavant
2020-04-27, 06:03 AM
I was wondering if the number of decimal places for the DPR on the plots could be reduced? When reading the plots the numbers are centered over the AC which makes them harder to line up with all the decimals.

In Google Spreadsheets there's an option to decrease decimal places next to Font. Just hit CTRL+A, then click the icon that looks like ".0" with an arrow under it and it'll change the decimal places displayed for everything.


P.S. Really nice spreadsheet :)

Thanks! :smallsmile:

JonnyBolton16
2020-06-01, 05:02 AM
Why does the formula for L_adv have -1/400? I'm getting +1/400:

L_adv requires
- succeeding outright while advantaged, OR
- rolling a 1 with die a AND failing with die b, AND THEN succeeding the reroll, OR
- rolling a 1 with die b AND failing with die a, AND THEN succeeding the reroll, OR
- rolling two 1s AND THEN succeeding a reroll:

L_adv = P_adv + 1/20*(1−P)*P + 1/20*(1−P)*P + 1/400*P = P_adv + [2/20*(1−P) + 1/400]*P

AureusFulgens
2020-06-01, 08:59 AM
Why does the formula for L_adv have -1/400? I'm getting +1/400:

L_adv requires
- succeeding outright while advantaged, OR
- rolling a 1 with die a AND failing with die b, AND THEN succeeding the reroll, OR
- rolling a 1 with die b AND failing with die a, AND THEN succeeding the reroll, OR
- rolling two 1s AND THEN succeeding a reroll:

L_adv = P_adv + 1/20*(1−P)*P + 1/20*(1−P)*P + 1/400*P = P_adv + [2/20*(1−P) + 1/400]*P

Thanks for the question! Briefly: The last case in your breakdown is a sub-case of the previous two, in the sense that rolling two 1's is also rolling a 1 with die a and failing with die b, and rolling a 1 with die b and failing with die a, since a natural 1 is always a failure. So the 1/400 chance of rolling two 1's isn't an additional case we need to add, but rather, a case that's already been counted twice by the previous cases that we need to compensate for.

Does that make sense? It's an application of a probability rule called inclusion-exclusion, which is used precisely to compute the probability of "at least one of these things happens," where "these things" are your second and third cases.

JonnyBolton16
2020-06-01, 10:30 AM
Thanks for the question! Briefly: The last case in your breakdown is a sub-case of the previous two, in the sense that rolling two 1's is also rolling a 1 with die a and failing with die b, and rolling a 1 with die b and failing with die a, since a natural 1 is always a failure. So the 1/400 chance of rolling two 1's isn't an additional case we need to add, but rather, a case that's already been counted twice by the previous cases that we need to compensate for.

Does that make sense? It's an application of a probability rule called inclusion-exclusion, which is used precisely to compute the probability of "at least one of these things happens," where "these things" are your second and third cases.

Yup, makes sense. I overlooked the fact that I'd already counted it!

LudicSavant
2020-06-02, 03:41 PM
Thank you for the calculator, you and your partner have obviously put a lot of work into it. I do have a question though. I can't get it to accurately calculate the average DPR when bonus damage is added to a damage roll. For instance, in the simplest example possible, I've made it impossible to miss the attack, there is no damage roll at all, and 1 bonus damage should be applied. The average DPH is 1. The average CPH is 1. But somehow, the average DPR is 0.95? I have found the same result even with damage die being rolled.

dropbox.com/s/c966i6nwfpwnfaa/Annotation%202020-06-02%20131541.png?dl=0

I believe the issue lies in the damage calculation below.

dropbox.com/s/wh5cllv31f5drzq/Annotation%202020-06-02%20131853.png?dl=0

Here, the damage is calculated as the 95% chance to hit minus the 5% chance to crit, making it only a 90% chance to hit, then you add in the 5% chance to crit. But that only adds up to 95% lol.

dropbox.com/s/inqaxnc355o0i1n/Annotation%202020-06-02%20132037.png?dl=0

Here the same calculation is made, making me believe that you guys did it intentionally, but I can't for the life of me figure out why. Once I change the formulas to what you guys have under Basic DPR in your documentation, it works perfectly. Is this an error or am I missing something?

You still have a 5% chance to miss because if you roll a natural 1, you automatically miss.

Sassbearilla
2020-06-02, 03:52 PM
Makes sense. I thought I was isolating just the damage roll. If that's the case though, why not make the chance to hit 90%?

JonnyBolton16
2020-06-04, 03:52 AM
Is there some option for two-weapon fighting (i.e. using your bonus action to make a second attack without the proficiency bonus)? I selected "# of Attacks = 2" but I think that applies the bonus to both damage rolls

LudicSavant
2020-06-04, 07:43 AM
Is there some option for two-weapon fighting (i.e. using your bonus action to make a second attack without the proficiency bonus)? I selected "# of Attacks = 2" but I think that applies the bonus to both damage rolls

Use the bonus attack section at the bottom.

ler.gan964
2020-07-12, 06:39 AM
:smallcool::smallcool::smallwink: this is great!

ThePiGuy
2020-07-22, 12:51 AM
Is there a planned update for the oath of glory paladin feature? I can't for the life of me figure out how to calculate avg damage for a class that can choose to hit one time it would miss in a round. Additionally, although much lower priority, a slot calculator input option for artificer (which rounds up), would be appreciated. Thanks for the great tool! :)

LudicSavant
2020-08-08, 12:21 PM
New Update!


Is there a planned update for the oath of glory paladin feature? I can't for the life of me figure out how to calculate avg damage for a class that can choose to hit one time it would miss in a round. Additionally, although much lower priority, a slot calculator input option for artificer (which rounds up), would be appreciated. Thanks for the great tool! :)

Function for the Artificer added!

Also, added a Spellbook calculator that makes it easy to sum up how much it'll cost to scribe spells / make backup spellbooks.

I have not added a function for the Glory Paladin because I don't have that book yet. Perhaps I'll do that in a future update.

Please let me know if there are any glitches with the new features and I'll be on it right away.

Link to new version here: Ludic & Aureus DPR Calculator Version 2.51 (https://docs.google.com/spreadsheets/d/14WlZE_UKwn3Vhv4i8ewVOc-f2-A7tMW_VRum_p3YNHQ/edit?usp=sharing)

Snownine
2020-08-10, 12:46 AM
This is crazy impressive, I have been messing with it a lot lately just for fun. How long did it take to put this thing together? It seems like a monumental task.

q999
2020-08-17, 08:29 AM
How do I fix the " Unknown function: 'totalProb'. " problem? I have tried to see the other person who encountered this problem did, but it left me more confused than before. I do not delve that much into google code, so I would love if there was a simple solution that I could understand. The in-dept data I could get from these calculations would prove invaluable <3

LudicSavant
2020-09-21, 05:42 AM
This is crazy impressive, I have been messing with it a lot lately just for fun. How long did it take to put this thing together? It seems like a monumental task.

Hard to say how long it took -- Aureus and I were working on it off and on, bit by bit, over quite some time. Definitely took a while, though!

Voip
2020-09-23, 09:29 PM
This is amazing. Thank you.

I have a question. When I work DPR out on my own, my results are always a little different from yours. I put in a simple test case to see what the difference could be. Attack Bonus = 5. Target AC = 13. That should be 8/20 misses and 12/20 hits, right? But your "Chance of at least one hit: Normal" shows 0.65 which would be 13/20. (I notice something equivalent in the thumbnail on the original post.) Are you giving ties to the attacker? Or is there something more subtle happening here?

Darthnazrael
2020-09-23, 09:37 PM
Are you giving ties to the attacker? Or is there something more subtle happening here?

That's how the game's rules work. Per the PHB, p. 194, "If the total of the roll plus modifiers equals or exceeds the target's Armor Class (AC), the attack hits."

Frogreaver
2020-09-24, 09:34 AM
First of all, cool calculator.

Secondly, There is one important DPR increasing ability I make common use of that isn’t an option I can find. The Battlemaster’s precision attack. I realize this is a complicated option to model but it’s a powerful enough that it would make a great addition IMO. It’s also an ability that when used properly lasts most of the adventuring day.

MaxWilson
2020-09-24, 10:59 AM
First of all, cool calculator.

Secondly, There is one important DPR increasing ability I make common use of that isn’t an option I can find. The Battlemaster’s precision attack. I realize this is a complicated option to model but it’s a powerful enough that it would make a great addition IMO. It’s also an ability that when used properly lasts most of the adventuring day.

You may find this Anydice tutorial helpful: https://www.reddit.com/r/3d6/comments/gf111s/anydice_tutorial_part_3_state_the_great_weapon/ (hat tip: LudicSavant to posting this link a few days ago)

The example at the end of the article is this link: https://anydice.com/program/1b740 which you can tweak just by changing variable assignments like

AC: 13
PROF: 2

to whatever values you're interested in, and then re-running the outputs like

output
[battlemaster 4 superiority d8 precise {AC-8 .. AC-1} attacks 3 roll d20 plus PROF + 3 + 2 vs AC for 1d6 + 3 crit 1d6 on 20] named "[3] Variant human battlemaster crossbow expert"

Frogreaver
2020-09-24, 11:09 AM
You may find this Anydice tutorial helpful: https://www.reddit.com/r/3d6/comments/gf111s/anydice_tutorial_part_3_state_the_great_weapon/ (hat tip: LudicSavant to posting this link a few days ago)

The example at the end of the article is this link: https://anydice.com/program/1b740 which you can tweak just by changing variable assignments like

AC: 13
PROF: 2

to whatever values you're interested in, and then re-running the outputs like

output
[battlemaster 4 superiority d8 precise {AC-8 .. AC-1} attacks 3 roll d20 plus PROF + 3 + 2 vs AC for 1d6 + 3 crit 1d6 on 20] named "[3] Variant human battlemaster crossbow expert"

I read through the program but didn’t spend forever on it. So please correct me if I’m wrong but that program is having you use precision attack on any miss? Whereas the optimal case is to use it only when you miss by 3 or 4 or whatever (varies a bit depending on exact setup)

MaxWilson
2020-09-24, 11:17 AM
I read through the program but didn’t spend forever on it. So please correct me if I’m wrong but that program is having you use precision attack on any miss? Whereas the optimal case is to use it only when you miss by 3 or 4 or whatever (varies a bit depending on exact setup)

It depends on what you pass in as PRECISE_RANGE, here in bold:

output
{AC-8 .. AC-1} attacks 3 roll d20 plus PROF + 3 + 2 vs AC for 1d6 + 3 crit 1d6 on 20] named "[3] Variant human battlemaster crossbow expert"


If you want to use it only on a miss by 1-4, just change the "-8" to "-4".

LudicSavant
2020-09-24, 11:28 AM
So please correct me if I’m wrong but that program is having you use precision attack on any miss?

It doesn't use Precision Attack on any miss. It uses Precision Attack if you miss by a given range, set by a variable.

q999
2020-09-30, 01:44 AM
What options are there for actions such as the arcane archers' Curving Shot? If there are none, do you consider making any?

LudicSavant
2020-10-07, 10:32 AM
What options are there for actions such as the arcane archers' Curving Shot? If there are none, do you consider making any?

I suppose what you're looking to calculate would be "if I miss at least once in a turn, get a bonus action attack"? There's no dedicated button for it, but you can basically do it piecemeal like so:

First, get the DPR of your Action attacks. That's your DPR against the first target.

Then, separately calculate the DPR of your bonus action attack. Multiply it by the chance that at least one of your attacks misses. That's your average DPR against the second target.

The chance of missing at least one attack is just 1-(chance to hit)^(number of attacks).

If you have some alternate bonus action that you would use whenever Curving Shot doesn't activate, then you would calculate the DPR of that bonus action, and multiply it by the chance that none of your attacks miss. (So, (chance of no misses)% of the time you'd use that bonus action, and the other (chance of at least one miss)% of the time you'd use the Curving Shot instead).

nathan01
2020-10-31, 04:13 AM
So if you need an 11 to hit, why is it that attacking once with disadvantage has the probability of .25(.5*.5), but attacking twice with disadvantage only has a .4375 chance of hitting at least once? Shouldn't it be .5? Why is it only 1.75 times as likely to get at least once hit instead of twice as likely?

MaxWilson
2020-10-31, 04:18 AM
So if you need an 11 to hit, why is it that attacking once with disadvantage has the probability of .25(.5*.5), but attacking twice with disadvantage only has a .4375 chance of hitting at least once? Shouldn't it be .5? Why is it only 1.75 times as likely to get at least once hit instead of twice as likely?

Because you can hit twice, once, or zero times. If the chance of missing once is 75%, then the chance of missing twice is 0.75 * 0.75, which is 56.25%. The chance of NOT missing twice is 100% - 56.25%, which is .4375 or 43.75%. On average you'll hit 0.5 times, but some of those hits are rolled into the parts of 43.75% where you hit twice in one round (25% * 25%, or 6.25%).

6.25% of the time you'll hit twice.
37.5% of the time you'll hit once.
(These add up to 43.75%.)

56.25% of the time you won't hit at all.

nathan01
2020-10-31, 04:29 AM
Because you can hit twice, once, or zero times. If the chance of missing once is 75%, then the chance of missing twice is 0.75 * 0.75, which is 56.25%. The chance of NOT missing twice is 100% - 56.25%, which is .4375 or 43.75%. On average you'll hit 0.5 times, but some of those hits are rolled into the parts of 43.75% where you hit twice in one round (25% * 25%, or 6.25%).

6.25% of the time you'll hit twice.
37.5% of the time you'll hit once.
(These add up to 43.75%.)

56.25% of the time you won't hit at all.

Ah, ok, I see what I was getting hung up on now. Thanks!

casualaf
2020-11-05, 04:52 PM
Hello. My math skill are pretty average. Would you be able to advise how to add the following Gloom Stalker lvl 11 skill into the calculator?

"At 11th level, you learn to attack with such unexpected speed that you can turn a miss into another strike. Once on each of your turns when you miss with a weapon attack, you can make another weapon attack as part of the same action."

Interested to see the numbers on this when combined with GWM and / or GWF.

LudicSavant
2020-11-05, 06:05 PM
Hello. My math skill are pretty average. Would you be able to advise how to add the following Gloom Stalker lvl 11 skill into the calculator?

"At 11th level, you learn to attack with such unexpected speed that you can turn a miss into another strike. Once on each of your turns when you miss with a weapon attack, you can make another weapon attack as part of the same action."

Interested to see the numbers on this when combined with GWM and / or GWF.

It'd be similar to Curving Shot (https://forums.giantitp.com/showsinglepost.php?p=24743318&postcount=114).

cutlery
2020-11-06, 09:21 AM
I read through the program but didn’t spend forever on it. So please correct me if I’m wrong but that program is having you use precision attack on any miss? Whereas the optimal case is to use it only when you miss by 3 or 4 or whatever (varies a bit depending on exact setup)

You'll need a simulation to determine how many rounds (or how many attacks) it takes to deplete your superiority die; this will of course vary based on the rule you set for when you use them.

For example, attacking AC 17 at level 11 with a prof bonus of 4 and a main stat mod of 5; using GWM on every attack with a greatsword and only applying a d10 sup die on misses of 5 or less; You'll have on average (with 10,000 iterations)

14.01 hits (for 22 damage; ignoring fighting style)
22.01 swings
7.34 rounds (one less round if action surge used)
dpr: 42.02 (again, this changes with action surge; 42.02*7.34/6.34=48.65 with action surge used.)

You'll tend to have one crit occur during the 22 swings, and at least one bonus swing, this won't alter the number of swings until you deplete superiority die, only how few rounds it takes to do it. Easy enough to model but not that important for deciding what rule to use for when to use precision attack to match your rate of Sup die depletion to number of combat rounds between rests.

Kerrec
2020-11-25, 01:42 PM
EDIT: Never mind. Reading comprehension problem.

LudicSavant
2020-11-25, 01:44 PM
Fooling around with your awesome calculator and I ran into a problem with respect to Elven Accuracy.

From what I understand, a normal attack roll becomes an attack roll with advantage when you have Elven Accuracy. An attack roll with advantage becomes Super Advantage (your nomenclature per the documentation). And of course, Disadvantage + Elven Accuracy is a weird thing all it's own...

But your calculator doesn't seem to turn a normal attack into an attack with advantage when calculating the Crit Chance% when Elven Accuracy is checked.

https://i.imgur.com/yYldjFp.png

https://i.imgur.com/wuQWVwC.png

Should have circled the relevant bits before uploading those images. But notice the top doesn't have Elven Accuracy checked, and the crit chance% for a normal attack is 0.15. Then the bottom image does have the Elven Accuracy checked, but the crit chance% is still 0.15.

The calculator is correct.

Elven Accuracy doesn’t turn a normal attack into advantage, it only turns an Advantage roll into triple Advantage.

Kerrec
2020-11-25, 01:45 PM
Wow, you replied pretty quick. I figured it out too, but apparently too late.

Bowbreaker
2020-11-25, 03:12 PM
@LudicSavant: Completely off topic, but your PM folder is full. I stumbled upon some of your homebrew worldbuilding and wanted to ask you about it.

LudicSavant
2020-11-25, 05:49 PM
@LudicSavant: Completely off topic, but your PM folder is full. I stumbled upon some of your homebrew worldbuilding and wanted to ask you about it.

NP. Yeah, my PM box is almost perpetually full. I just cleared some space... for however long that will last ^^;;

(It's a shame they only let you keep 100 messages on here)

Bowbreaker
2020-11-30, 03:58 AM
Damn. This forum also doesn't inform me when someone quotes me in a thread. So I was too slow. Do you have any other messaging system you are willing to share? Maybe something not so private, like your username on another forum you like to frequent? I have an account on SpaceBattles, SufficientVelocity, Reddit, Discord, Steam...

LudicSavant
2020-12-01, 01:10 AM
Damn. This forum also doesn't inform me when someone quotes me in a thread. So I was too slow. Do you have any other messaging system you are willing to share? Maybe something not so private, like your username on another forum you like to frequent? I have an account on SpaceBattles, SufficientVelocity, Reddit, Discord, Steam...

Best way to reach me on short notice is generally via Discord; anyone who wants to can PM me asking for an address (if they can manage to send one when the PM box isn't already full). Sent you mine.

Hael
2020-12-16, 01:52 PM
Any chance this super useful tool might get an update? Several of the new feats (piercer/Crusher/Slasher) changes the computation somewhat. Also a few others like the Gloomstalker feature and precision attack could stand to be included.

I usually write my own script for that sort of thing on any dice, but it gets tedious and it’s easy to make a mistake, especially when you combine them.

LudicSavant
2021-01-04, 01:29 PM
Any chance this super useful tool might get an update? Several of the new feats (piercer/Crusher/Slasher) changes the computation somewhat. Also a few others like the Gloomstalker feature and precision attack could stand to be included.

I usually write my own script for that sort of thing on any dice, but it gets tedious and it’s easy to make a mistake, especially when you combine them.

As usual with this sort of thing it's really a question of whether Aureus or I have the time to do it -- and aren't using our free time on other things, as we often are.

One of the obstacles isn't just calculating it, but calculating it in a way that is compatible with everything else on the spreadsheet. Piercer is unusually complex because it cares about the order of your actions, and has an element of player choice: You basically need to weigh the value of rerolling your current hit, vs the probability that you will hit a lower damage roll later on in the turn (thus raising the DPR gain). Calculating the minimum DPR gain (e.g. reroll on first below-average hit) is pretty simple, but calculating the optimal DPR gain is complex.

If you have something on AnyDice for Piercer I'd be curious to see how you implemented it.

VicenarySolid
2021-03-16, 05:52 AM
Hey, i wanna say thanks to you, this calc is super good!
I have a question is there a function to add on-hit effects like hex or hunter mark, or am i missing something?

LudicSavant
2021-03-16, 06:09 AM
Hey, i wanna say thanks to you, this calc is super good!
I have a question is there a function to add on-hit effects like hex or hunter mark, or am i missing something?

Those are just extra damage dice, enter 'em like any other damage dice.

Pimplup
2021-05-03, 02:16 PM
Just wanted to say thanks a bunch for making this—it's super intuitive and powerful, and the fact that you made it and are sharing it for free is awesome. :D

nel__
2021-05-04, 03:54 PM
Would it be possible to add the lucky feat to the calculations?

Amdy_vill
2021-05-04, 04:00 PM
my only suggestion would be to add reaction attack calculators as there are some feat combos and builds that can consistently get reaction damage out.

Cass
2021-05-05, 10:37 AM
my only suggestion would be to add reaction attack calculators as there are some feat combos and builds that can consistently get reaction damage out.

I would just add another attack to the computation.

quindraco
2021-05-05, 03:54 PM
I was noodling around on the calculator, appreciating its many excellent qualities, but it has a drawback which is fine, except that the relevant tooltip isn't explicit.

It's frankly common and typical for a given situation to have multiple rules entries which are mutually exclusive and so your DM has to decide between them. To give an example the calculator doesn't care about it, I can quote you absolutely canon RAW that states when you throw a longsword you must use your DEX modifier and I can do the same thing for STR modifier. The point of this preface is to emphasize that you cannot assume WOTC has issued errata to address an issue, even when an issue is known.

That applies to the calculator, but it doesn't tell you which of the two RAWs it's using: Great Weapon Fighting.

Here's the RAW rules entry the calculator is using:

When you roll a 1 or 2 on a damage die for an attack you
make with a melee weapon that you are wielding with
two hands, you can reroll the die and must use the new
roll, even if the new roll is a 1 or a 2. The weapon must
have the two-handed or versatile property for you to gain
this benefit. -- PHB p72

Here's another equally RAW rules entry:
The Great Weapon Fighting feature—which is shared by fighters and paladins—is meant to benefit only the damage roll of the weapon used with the feature. For example, if you use a greatsword with the feature, you can reroll any 1 or 2 you roll on the weapon’s 2d6. If you’re a paladin and use Divine Smite with the greatsword, Great Weapon Fighting doesn’t let you reroll a 1 or 2 that you roll for the damage of Divine Smite. -- SAC v2.6, p4 (reminder SAC is a core rules document on par with the PHB, DMG, and MM)

There's no question these two rules contradict each other - the PHB says reroll the dice for the attack, while the SAC says to do it for the weapon. And there's no question the only reasonable choice here for the calculator is the attack, because the calculator doesn't distinguish weapon damage from non-weapon damage - in fact, you can't even give the calculator damage dice for the attack that don't crit. But the GWF tooltip doesn't make it clear that the calculator is using the PHB text, not the SAC text. I made sure of it by taking a look directly at the code for it. Elemental Adept has a similar issue if you're e.g. attacking with a flame tongue sword - it's just how the calculator works. It would be nice having the tooltips clarify that. :)

Speaking of which, while I was at it, I wrote a function for calculating the damage dice coefficients, to make it easier to tell specific dice whether or not to apply elemental adept and great weapon fighting:



function damdie(sides, ea, gwf) {
var g = 0;
if (gwf) {
g = 1-2/sides;
}
var e = 0;
if (ea) {
e = (1+gwf)/Math.pow(sides,1+gwf);
}
return (sides+1)/2 + g + e;
}


That makes averageDamage a much shorter function:



function averageDamage(four, six, eight, ten, twelve, bonus, isGWF, isEA) {
return damdie(4,isEA,isGWF)*four+damdie(6,isEA,isGWF)*six +damdie(8,isEA,isGWF)*eight+damdie(10,isEA,isGWF)* ten+damdie(12,isEA,isGWF)*twelve+bonus;
}


Tested it for all four situations for every die, no errors.

What I'd really like to do the calculator can't handle at all, unfortunately - calculate the DPR of a ranger with the Tasha's companion murdering someone in melee after the beast of the land has charged, at levels 10 and 11. It can't handle attacks with riders you have to save against that modify later attacks. :'( Still, it's really cool and useful!

HX2GPX
2021-05-12, 09:01 AM
Is there any way to specify an auto-crit on hit (such as on someone effected by Hold Person)

Chaos Jackal
2021-05-12, 09:35 AM
Is there any way to specify an auto-crit on hit (such as on someone effected by Hold Person)

You could assign 2 (or the minimum number needed to hit) to the crit range, so that any hit is automatically considered a crit.

HX2GPX
2021-05-12, 10:33 AM
You could assign 2 (or the minimum number needed to hit) to the crit range, so that any hit is automatically considered a crit.

Thanks, this works great!

Zrave
2021-06-07, 11:57 AM
I'm working on a calculator as well, and I've spent several hours now working on the Savage Attacker feat. It was easy enough to produce a table of damage increases relative to the number and type of dice being rolled (from 1d4 to 8d12).

However, things got a lot trickier when considering multiple attacks in one turn since the feat can only be activated once. My solution was to break the range of rolls into deciles to compare the present benefit with the expected benefit from future rolls. I then took the average over all deciles. It's not perfect, but it's more precise than not considering it (the function is concave up, so this method underestimates the true benefit). The interaction between GWF and Savage Attacker is also a bit of a computational nightmare, which I simplified by simply treating 1s and 2s as the average die roll. Are you interested in discussing any of this work? I feel like there must be a better way of going about it, such as using a formula for the frequency of each result.

I noticed you stayed away from the more cumbersome calculation with once per turn effects (Essentially the same that I used for savage attacker: comparing the benefit now with the expected benefit over the remaining attacks, rather than always taking the benefit now). The difference is potentially significant, especially with advantage or a wide critical range. I'm currently working on that section of my calculator, I'll post later with an estimate of how much difference it makes.

Zrave
2021-06-12, 07:09 AM
As promised, I calculated the difference between using a "once per round" effect on the first hit, versus considering the expected value of the further attacks before making that decision.

Let's assume a level 20 fighter, dual wielding longswords with 5 attacks per turn, each with a 60% chance to hit and 5% chance to crit. They have one Battlemaster maneuver remaining and want to optimize it.

As expected, the effect without advantage is very small. If the first attack is a hit, it's a tiny gain of 0.33 DPR to hold off instead of using it right away. The effect is neglible past that, so they should use it on a hit starting from the second attack.

However, with advantage it's a different story. It's now a 1.31 DPR gain to hold off on the first hit, and if the second attack is a hit waiting is still a 0.89 DPR gain.

Under these parameters, it takes a minimum of 3 attacks with advantage for waiting to be profitable, so a rogue is unlikely to benefit from this strategy.

On the other hand, it's probably really useful for an elven rogue with 5 levels of champion and elven accuracy.

LordShade
2021-07-19, 04:44 PM
As an aside, for anyone getting the #NAME error, try making a copy in Google Docs as opposed to downloading as an Excel file. The special functions that Ludic/Aureus have programmed into the sheet are apparently not recognized or don't exist in Excel.

Person_Man
2021-07-20, 07:38 AM
Question to those who have played with this a lot - do any options stand out as being particularly efficient at increasing damage?

Honestly, I think the 5E devs did a great job on this and there are no clearly “broken” damage options I’ve seen yet, though there is some splat that grants moderately better AC or slightly easier access to Advantage that might bother some DMs. The most powerful options seem to still be high level Summons, Dominate, and battlefield control. Which is fine with me. Though it would be nice if non-full casters got a bigger damage bump at high levels to compensate for the lack of these options.

Also, more kudos for the OP who developed this. You guys are great and math rules!

LordShade
2021-07-22, 12:10 AM
My takeaways--advantage is huge, especially for the power attack feats. I intuitively knew this already but the DPR calculator reinforces just how important it is. If you have a -5/10 feat, you should be selling out on just about everything else to get advantage any way you can.

Conversely, it shows how bad other options are. I already knew GWF was terrible, but this DPR not only 1) shows mathematically how little damage it adds and 2) shows you what you could be gaining if the fighting style helped you get advantage (like Blindfighting).

I was also surprised about Elven Accuracy. It's certainly good, but it's not as good as I thought it was. I think a lot of the value of the feat is the +1 ASI. If it was triple advantage only, without a stat increase, it would probably be a pass in most cases.

MaxWilson
2021-07-22, 01:21 AM
Question to those who have played with this a lot - do any options stand out as being particularly efficient at increasing damage?


No-concentration summons are a standout, especially if you can give them advantage somehow such as with a Web spell. Doubling your damage is as easy as casting twice much Animate Dead/Tiny Servant. (You can also do things like give your skeletons dual shortswords for TWF to almost double it again.)

This stands in stark contrast to character-intrinsic options like feats and abilities cantrip damage, which scale slowly: it is very, very difficult for a Sharpshooter archer with Extra Attack already to double his damage (and the easiest way is for him to Conjure Animals before shooting).

Minionmancy is playing 5E on Easy mode.

LudicSavant
2021-07-22, 02:15 AM
Question to those who have played with this a lot - do any options stand out as being particularly efficient at increasing damage?

Honestly, I think the 5E devs did a great job on this and there are no clearly “broken” damage options I’ve seen yet, though there is some splat that grants moderately better AC or slightly easier access to Advantage that might bother some DMs. The most powerful options seem to still be high level Summons, Dominate, and battlefield control. Which is fine with me. Though it would be nice if non-full casters got a bigger damage bump at high levels to compensate for the lack of these options.

Also, more kudos for the OP who developed this. You guys are great and math rules!


My takeaways--advantage is huge, especially for the power attack feats. I intuitively knew this already but the DPR calculator reinforces just how important it is. If you have a -5/10 feat, you should be selling out on just about everything else to get advantage any way you can.

Conversely, it shows how bad other options are. I already knew GWF was terrible, but this DPR not only 1) shows mathematically how little damage it adds and 2) shows you what you could be gaining if the fighting style helped you get advantage (like Blindfighting).

I was also surprised about Elven Accuracy. It's certainly good, but it's not as good as I thought it was. I think a lot of the value of the feat is the +1 ASI. If it was triple advantage only, without a stat increase, it would probably be a pass in most cases.


No-concentration summons are a standout, especially if you can give them advantage somehow such as with a Web spell. Doubling your damage is as easy as casting twice much Animate Dead/Tiny Servant. (You can also do things like give your skeletons dual shortswords for TWF to almost double it again.)

This stands in stark contrast to character-intrinsic options like feats and abilities cantrip damage, which scale slowly: it is very, very difficult for a Sharpshooter archer with Extra Attack already to double his damage (and the easiest way is for him to Conjure Animals before shooting).

Minionmancy is playing 5E on Easy mode.

I must say, I'm glad to see people taking the topic in this direction, with people sharing their discoveries! Empowering people to learn about the game and see for themselves is what I made this tool for, after all :smallsmile:

Feel free to use this thread to share such things!

Dalinar
2021-07-22, 07:03 AM
Question to those who have played with this a lot - do any options stand out as being particularly efficient at increasing damage?

It also falls under the minionmancy umbrella, but Simulacrum = two concentrations, which means potentially two Animate Objects or Tasha summons; also twice as many regular spells, not counting your 7th-level slot. There's a reason both the casting time and the material cost of it are very high. I haven't actually run the numbers, but I've seen math elsewhere showing, for instance, 8th-level Summon Celestial on its own out-DPRing most martial builds. (I think that was Ludic, actually!)

quindraco
2021-07-22, 07:18 AM
It also falls under the minionmancy umbrella, but Simulacrum = two concentrations, which means potentially two Animate Objects or Tasha summons; also twice as many regular spells, not counting your 7th-level slot. There's a reason both the casting time and the material cost of it are very high. I haven't actually run the numbers, but I've seen math elsewhere showing, for instance, 8th-level Summon Celestial on its own out-DPRing most martial builds. (I think that was Ludic, actually!)

Yeah, infinite Simulacra makes all of the math break down. There isn't a whole lot of point comparing numbers at level 17+ unless you put constraints down.

I would be interested in someone inverting the standard narrative of making a monobuild and analyzing its output, instead explicitly listing just how good a legal glyph of warding spam chamber they can make. I've never actually sat down and tried it.

Hael
2021-07-23, 08:08 AM
I was also surprised about Elven Accuracy. It's certainly good, but it's not as good as I thought it was. I think a lot of the value of the feat is the +1 ASI. If it was triple advantage only, without a stat increase, it would probably be a pass in most cases.

It adds the usual +1asi, which is good, but how good it is is build specific. It’s ok in general, but where it really shines is with hexblade or dex champions bc the extra crit range starts actually being quite effective for dpr increases, particularly against high AC foes.

Person_Man
2021-07-23, 12:01 PM
No-concentration summons are a standout...
Minionmancy is playing 5E on Easy mode.

Strongly agreed.

Early on in development, a number of play testers (myself included) pointed out that the most important balancing factor in the game was not damage output per se, but the Action Economy.

WotC took this seriously, and went out of their way to make sure that most combat benefits required an Action, Bonus Action, Reaction, or Concentration. This also has the effect of making the passive bonuses they do allow a bigger deal, because they can be stacked.

But then they ran into a worldbuilding problem. Undead are a thing in D&D. Where do they come from? If its magic, why can’t players access it? If Animate Dead has a high cost attached to discourage players, why would anyone in the game world make them? If they disappear when Concentration is broken, why are there still weak undead roaming around in the game world for the players to encounter? Playing a Necromancer or other summons focused build has almost always been a thing in D&D, and the devs were super concerned with making sure everyone felt like “their version” of a class could be played.

The net result is that Animate and summons spells were somewhat nerfed, but are still a thing that breaks the Action Economy.

On the plus side, I think this math “problem” is easily fixed by competent DMs. Yes, the Necromancer can have his squad of undead minions. And if thats what they want to do, let them have fun with their toys. Let them play some battles on easy mode, because they clearly want to. But bringing minions into any populated area is going to be problematic, mobs of weak creatures can be wiped out by area of effect builds, its hard to maneuver your mob of minions in a narrow dungeon, and having a bunch of undead will probably draw the attention of local Paladins/Clerics/etc to come and stop you.

So its probably a better idea to just animate/summon a small-ish group of minions, don’t let them stand near each other, give them shortbows and two shortswords, keep them out of town, and have them hang back and use them as needed, instead of investing significant class resources into them.

XZlayeD
2021-08-26, 05:08 PM
Would it be possible to implement something to make it possible to do calculations on attack types as the one seen on the two bird sling as seen in MOT? "When you make a ranged attack with this sling and hit a target, you can cause the ammunition to ricochet toward a second target within 10 feet of the first, and then make a ranged attack against the second target."

Basically it's an attack contingent on a previous attack, but it also needs to do a seperate roll to see if it hits as well, so it can't be lumped in with a "sneak attack" style calculation.

Scipo0419
2021-09-21, 03:30 PM
Those are just extra damage dice, enter 'em like any other damage dice.

Thank you both for your work with this calculator, but the problem I'm seeing with something Like Hex or Booming Blade, is they are flat 1d6 or xd8's with no bonus damage respectively, but with the calculator, if I wanted to add my 1d6 from Hex to each attack it would still add the +6 bonus damage to my 1d8+6 Weapon calculations, turning Hex from 1d6 to 1d6+6. Using Bonus Actions to apply the effect has a similar issue where you can't really get the full value out of your turn because there's no where for these on hit effects to be calculated on top of your usual bonus actions that may apply a bonus to damage.

The other issue I found may not actually be an issue and simply my misunderstanding of the calculations, but I noticed that your damage formulas for Crit Damage are taking the +X Flat Modifier into account and everything I've read up on Damage in DND is that the modifier is not multiplied. So where an actual crit with a 1d8+6 with Hex would be (2*(1d8+1d6))+6, the calculator is calculating it as "2*((1d8+6)+(1d6+6))"

Any clarifications on these observations would be greatly appreciated!

LudicSavant
2021-09-22, 10:42 AM
Any clarifications on these observations would be greatly appreciated!

https://forums.giantitp.com/images/sand/icons/icon_thumbsup.png


Thank you both for your work with this calculator, but the problem I'm seeing with something Like Hex or Booming Blade, is they are flat 1d6 or xd8's with no bonus damage respectively, but with the calculator, if I wanted to add my 1d6 from Hex to each attack it would still add the +6 bonus damage to my 1d8+6 Weapon calculations, turning Hex from 1d6 to 1d6+6. Using Bonus Actions to apply the effect has a similar issue where you can't really get the full value out of your turn because there's no where for these on hit effects to be calculated on top of your usual bonus actions that may apply a bonus to damage.

Hex and Booming Blade already work on the calculator. If you want to add Hex to your 1d8+6 weapon attack, you would simply enter it like so:

https://cdn.discordapp.com/attachments/841980415115919381/890257334960549938/unknown.png

This will make each attack do 1d8+1d6+6 damage... which is exactly how much you would do with Hex.

For Booming Blade, you would enter the initial "on-hit" bonus damage the same way. If you want to represent the "on-movement" rider activating, you would add that as a flat damage bonus instead (so that it doesn't get multiplied by crits).


The other issue I found may not actually be an issue and simply my misunderstanding of the calculations, but I noticed that your damage formulas for Crit Damage are taking the +X Flat Modifier into account and everything I've read up on Damage in DND is that the modifier is not multiplied. So where an actual crit with a 1d8+6 with Hex would be (2*(1d8+1d6))+6, the calculator is calculating it as "2*((1d8+6)+(1d6+6))"

This indeed appears to be a misunderstanding. Check the formula again: The calculator does not multiply flat damage on crits. It is already doing 2*(1d8+1d6))+6, not 2*((1d8+6)+(1d6+6)).

quindraco
2021-09-22, 11:30 AM
Would it be possible to implement something to make it possible to do calculations on attack types as the one seen on the two bird sling as seen in MOT? "When you make a ranged attack with this sling and hit a target, you can cause the ammunition to ricochet toward a second target within 10 feet of the first, and then make a ranged attack against the second target."

Basically it's an attack contingent on a previous attack, but it also needs to do a seperate roll to see if it hits as well, so it can't be lumped in with a "sneak attack" style calculation.

Yes, that's easy. Make a new... here, I'll show you on my copy (I grabbed Ludic's sheet a while back to fix some minor bugs in it, like Elemental Adept out to more decimal places than most people care about, which may well be fixed in the current version from Ludic; my copy also uses a different interpretation of Critical Hit ranges than JC's does, so my copy doesn't have crits auto-hit, they only double damage).

https://docs.google.com/spreadsheets/d/1S5BJ9smime__YMCyDC09t779-oJKxU-QHS5PlPaNxu8/edit?usp=sharing

Note: What I did here was make a new field for number of attacks you try to make, and then I calculate actual attacks based on accuracy, to make a second set of attacks. Since I was doing this quick and dirty, I didn't do a full set for all advantage states, so I slapped on a drop-down for picking your advantage state for the calculation. That means the cells for calculating how your DPR changes with advantage won't work and neither will the ones for showing -5/+10, as none of them know that those changes also change your total attacks made. I also didn't bother with Bonus Action attacks (i.e. I didn't add a way for Bonus Action attacks to ricochet). That said, the DPR cell for the advantage state you picked in the drop-down will be correct (No Advantage is the same as Normal).

I'm assuming the sling can only ricochet once. Infinite ricochets would be a different formula.

Note 2: You can copy what I did over to Ludic's version and it should work fine. Please grab it soon if you're going to, as I may revert the changes I made for you at any time.

LudicSavant
2021-09-22, 11:42 AM
(I grabbed Ludic's sheet a while back to fix some minor bugs in, like it assuming Champions auto-hit on a 19, but I didn't muck with the basic structure up top).

That is actually intended, as Champions automatically hit on a 19. (https://rpg.stackexchange.com/questions/80977/does-a-critical-hit-from-an-expanded-crit-range-always-hit-regardless-of-ac)

As JC puts it: "If a feature says you scored a critical hit, you hit."

quindraco
2021-09-22, 11:44 AM
That is actually intended, as Champions automatically hit on a 19. (https://rpg.stackexchange.com/questions/80977/does-a-critical-hit-from-an-expanded-crit-range-always-hit-regardless-of-ac)

As JC puts it: "If a feature says you scored a critical hit, you hit."

Yes, I edited my post to clarify that I apparently interpret things differently from how JC does.

Gotama
2021-10-03, 09:59 AM
Hi,
I tumbled over your guys work and I have a problem with copying the sheets. Every time I try to copy the first and the second sheet, I get the message #NAME! and the error Unknown function: (insert any function name here, like maxDamage, minDamage etc.). For some reason it worked with the third sheet, but I can`t seem to get it to work with the other two.
I did let it load till the end and everything, so I don`t understand why the functions don`t get copied. Pls Help, would be greatly appreciated. Have a nice Day!

Omegon90
2021-11-04, 04:11 AM
Hello,

first I want to say, thank you for the great work with this sheet. it does amazing things.


now I have a question. Bladesinger can use booming blade/GFB on one attack when taking the attack action. I dont think the sheet can calculate that correctly, since the damage is not applied on the first hit, like sneak attack but is tied to a specific attack, regardless of where it hits or not. I can work aroudn this with using the bonus action attack, but if you do have a bonus action attack on top of this, it gets difficult. is there another way I'm not seeing? thanks for the help.

NOMster
2022-01-01, 11:27 AM
on the HP if you have a periapt of wound closure, just double the number under HP recovered from HD, right?

Sirgoulas
2022-01-29, 02:54 PM
The documentation can be found here:
-Ludic

[b]Edit: Now updated to version 2.51, with additional features! New features are described in replies to the thread. Feel free to suggest anything you'd like to see in the future!

Please explain the following:

''A halfling has a racial feature, Lucky, which gives them the ability to reroll one d20 (veryspecifically one d20 - the rule is on PHB 173) if they roll a 1. Success with this feature amounts to either succeeding without it, or failing but also rolling a 1, and then succeeding on the additional roll. This feature interacts with advantage and disadvantage, so we get the following formulas, which you may think of as adding a small bonus to the normal probability:

Lnorm=P+(1/20)P

X:The result of a D20 dice
In case of saving throws P(X>=x)=P(hit)=P for a given x E Z .
Failing doesn't necessarily means bringing a 1 in cases such as saves.

ex X>=3 success -> X<3 faillure and x=1 -> x=1
so Lnorm=P+(1/20)P=18/20+(1/20)18/20=0.9+0.05*0.9=0.945

ex2 X>=1 success ->X<1 faillure and x=1 -> null
Lnorm should be P+0*P=P=1 which is the correct answer
But if based on the formula it gives P+(1/20)P=1+0.05*1=1.05

Please explain. Your choice of words is confusing.
Maybe you meant to say: Success with this feature amounts to either succeeding without it, or rolling a 1, and then succeeding on the additional roll??
That would get P+(1/20)P=1+0.05*1=1.05 but is wrong because:


The formula Lnorm=P+(1/20)P works for X>=2 in case of saves (where 1 doesn't automatically mean faillure).
I cannot post links since less than 10 posts but basically to roll a 6 all I need is either roll a 6 on first dice or roll a 1 and roll a 6 on re-roll.
But to roll a 1 all I need is roll a 1 on first dice and 1 on re-roll:

So to roll a 1 : 1/20 * 1/20
A 5: 1/20+1/20 * 1/20

P(X>=1)=19*1/20+20(1/20)^2=1 correct, while by using P+(1/20)P=1+0.05*1=1.05

AureusFulgens
2022-01-31, 10:10 PM
Please explain the following:

(...)


Hi! Apologies for the delay, I've been busy with grad school.

The halfling luck calculations as given in the documentation are correct for attacks. To see this, note that a 1 is ALWAYS a miss. So, rolling a hit and rolling a 1 are mutually exclusive. This means that we can add the cases "you roll a hit" (probability P) and "you roll a 1, then reroll and roll a hit" (probability 1/20 * P). In line with this, P *cannot* be 1.0: there will always be at least one d20 result that causes a miss. So you will never get that 1.05 result.

This does not work for saves, and my solution was a little clunky: I just case-split on whether 1 is a success. If it is, then EVERYTHING is a success, so just return 1.0. Otherwise, use the formula as given, and it works for the reasons given above.

I'll see if I can clarify the wording in the documentation.

tmsduck
2022-02-04, 03:59 PM
Is there a chance that the piercer feat will be added as one of the advanced options?

Psyren
2022-02-04, 04:37 PM
Thanks so much for this calculator, it's been added to my sig. Excellent work, easy to use and very detailed.

I had a potentially dumb question - is there an easy way to use this to calculate DPR across an entire 1-20 build? My understanding is that the attack calculator looks at a specific level; My idea was to make 20 copies of the attack calculator tab (adjusting the inputs for each level of the build) and then plot the average DPR numbers for each of those levels - is there a better way? Basically I wanted to compare two level 20 builds side by side and see whether one is better than the other all the way through, whether one is better than the other in some tiers but worse in others, whether one is better with or without feats or magic items etc.


Is there a chance that the piercer feat will be added as one of the advanced options?

As a workaround you can do the +1 die on a crit manually (row 30). The reroll 1 die per turn I'm not sure about but the difference is likely to be negligible anyway.

the-real-orson
2022-09-22, 06:42 PM
I apologize if this question has been posed before, I perused several pages but did not see it...

What would be the best approach to account for Reaction based attacks? In particular, I'm finding it difficult to analyze how a rogue optimized to get sneak attack on a reaction might stack up against some other martials (because my DM is telling me my BM is OP in comparison).

LudicSavant
2022-09-22, 08:03 PM
I apologize if this question has been posed before, I perused several pages but did not see it...

What would be the best approach to account for Reaction based attacks? In particular, I'm finding it difficult to analyze how a rogue optimized to get sneak attack on a reaction might stack up against some other martials (because my DM is telling me my BM is OP in comparison).

To determine how much damage you would do if you get the Reaction, just add it like any other attack.

As for how likely it is you will get said reaction, that's a judgment call you'd have to make yourself.

the-real-orson
2022-09-23, 09:50 AM
To determine how much damage you would do if you get the Reaction, just add it like any other attack.

As for how likely it is you will get said reaction, that's a judgment call you'd have to make yourself.

Thanks! This calculator is awesome!

Would be super helpful with certain builds to have a Reaction block that is similar to the BA block, but I can certainly make due.

ShockeyMIG
2022-10-18, 03:35 AM
This is really great work!
Very usefull for so many things.

It seams that when making multiple characters, or make a lot of changes, the google server kicks you out from using the scripts. (From earlier posts, i might not be the only one :smallbiggrin:)
Could this be avoided with a button or function for recalculating, so it does not update everytime you change a number, but when you ask it to after you made all your changes?
Also could it help with the calculation time, if there was a checkmark for power attack (Great Weapon Master and Sharpshooter) so it only calculated these if the character actually had them?

Again, great work, and this is only stuff i have run into, because im getting addicted to using your calculater!

freakybeak
2022-11-27, 02:17 AM
Amazing tool, thanks so much for your work Ludic!

Does anyone have an idea how one could calculate the Gloomstalker 11 feature "Stalker's Flurry" which allows you to attack again if you miss?

stoutstien
2022-11-27, 08:04 AM
Amazing tool, thanks so much for your work Ludic!

Does anyone have an idea how one could calculate the Gloomstalker 11 feature "Stalker's Flurry" which allows you to attack again if you miss?

It's pretty close to having elven accuracy unless you already have EA then you have a little bit of math to do mostly because of critical hits.

talldrummerboy
2023-02-13, 04:34 PM
I know it is a little specific, but how easy would it be to add custom dice to the bonus to hit portion? for instance, the wild magic barbarian is a d3 (don't ask why).

Psyren
2023-02-13, 09:11 PM
I know it is a little specific, but how easy would it be to add custom dice to the bonus to hit portion? for instance, the wild magic barbarian is a d3 (don't ask why).

I'm not LS obviously, but the average of 1d3 is +2 so you can just add that to your attack bonus and come pretty close.

Haggoroth
2023-04-27, 10:39 PM
Good day! I'm AureusFulgens, the other developer on this project. A lot of the more esoteric formulas on this sheet sprang out of the twisted eldritch depths of my mathematician brain, so I'm also on call to answer questions or complaints or corrections about the calculator!

(And if anything is wrong, then we seriously want to know. Every time a math error is published, Carl Friedrich Gauss rolls over in his grave, ad we don't want to do that to him.)

I'm on GitP a little less frequently than Ludic, so my responses might be a little more delayed than his, but I do promise to respond.

Hope this is of help to you!
Cheers,
Aureus

(Seriously, just call me Aureus. "Mr. Fulgens" just feels so formal, y'know?)

I started using your calculator, started with a very simple setup of a 14 AC target with just 1 attack, 6 to hit, 2d6+6 damage with no other options and I was noticing the DPR was off. So I looked a bit deeper and it appears to be off where you're calculating crits. For something simple like this, a crit should just be double the damage of a normal hit. And the average crit damage should be double the normal hit damage. When I get down to B205 and B208 I see that the normal avg damage is 13 and the crit avg damage is 20. It should be 13 and 26 for this simple setup. Due to it calculating the crit avg damage too low, the follow on formula of DPR is also off. I'm not exactly sure how to fix the error because you're using some formulas I'm not familiar with, I just know that it's off.

Good luck, and great work otherwise.

LudicSavant
2023-04-28, 12:21 AM
I started using your calculator, started with a very simple setup of a 14 AC target with just 1 attack, 6 to hit, 2d6+6 damage with no other options and I was noticing the DPR was off. So I looked a bit deeper and it appears to be off where you're calculating crits. For something simple like this, a crit should just be double the damage of a normal hit. And the average crit damage should be double the normal hit damage. When I get down to B205 and B208 I see that the normal avg damage is 13 and the crit avg damage is 20. It should be 13 and 26 for this simple setup. Due to it calculating the crit avg damage too low, the follow on formula of DPR is also off. I'm not exactly sure how to fix the error because you're using some formulas I'm not familiar with, I just know that it's off.

Good luck, and great work otherwise.

That's not an error; 13 and 20 is correct. Keep in mind that crits in 5th edition only double the dice, not the bonuses, so if you're rolling 2d6+6 (13 average), a crit would increase it to 4d6+6 (20 average).

Psyren
2023-04-28, 10:53 AM
While you're here Ludic - would it be possible to program a beta version that lets us calculate the expected damage increases from Graze, Cleave, and Vex?

LudicSavant
2023-04-30, 10:38 PM
While you're here Ludic - would it be possible to program a beta version that lets us calculate the expected damage increases from Graze, Cleave, and Vex?

Maybe -- I haven't kept up with the latest 1D&D updates, so I'd have to look at what those do (I've sort of been taking a 'just wait and see how 1D&D turns out in the end' approach).

Psyren
2023-04-30, 11:19 PM
Maybe -- I haven't kept up with the latest 1D&D updates, so I'd have to look at what those do (I've sort of been taking a 'just wait and see how 1D&D turns out in the end' approach).

That's perfectly fair. Just in case you want to look into it though:

Graze = each attack does some amount of damage even on a miss
Vex = each hit means the next attack with that weapon turn has advantage
Cleave = one hit per turn triggers another attack against an adjacent target

serpentax2001
2023-05-22, 05:43 PM
so something I noticed is that the GWF style option on the calculator applies to all dice rolled when it should only apply to the damage dice of the weapon, so the d12 of a greataxe or both the d6s of a greatsword, and nothing else. so making it only apply to the dice values on rows 11 and 35 would fix it, especially since stuff like the 2d6 fire from a flame tongue can be rerolled with GWF, but not anything like brutal critical, superiority dice, or smites, it may not make a huge difference, but it does muddy the figures, which isn't good when trying to get accurate results

aside from that this calculator has been great, amazing work.

Danish_raven
2023-06-21, 02:39 AM
Hi Ludic. I just found your work through d4: D&D Deep Dive on YouTube. I am currently working on a website that is supposed to do much of the same work. Would you mind if i borrow your documentation?

Orvar
2023-06-23, 02:52 AM
I love this, thank you! All I have is a niche nitpick, can you add a working Lucky (feat) checkbox? I want to be able to calculate my DPR while burning luck points on top of elven accuracy. It's the only bit I can find that brings it short of perfection, though. Definitely the most comprehensive DPR calculator on the internet, thank you.

q999
2023-10-29, 04:46 AM
Is 2.51 still most recent version? (Also is savage attacker implemented?)

LudicSavant
2023-10-29, 10:26 AM
Definitely the most comprehensive DPR calculator on the internet, thank you.

You're welcome! :smallsmile:


Is 2.51 still most recent version? (Also is savage attacker implemented?)

It is indeed the most recent public version. And likely the final one until the 2024 revisions come out.

Savage Attacker wasn't implemented, because of a combination of 'it would take us as long to implement as several other features combined' and 'this feat is never worth taking anyways.'

If you're wondering why it would have taken longer than several other features combined, it's basically because the exact amount it affects DPR changes based on when in your attack routine the player chooses to use its 1/turn reroll. For example, "do I reroll the 3 on a 1d8 on my first attack, or gamble on the possibility that I'll roll a 1 or 2 on one of my later damage dice?"

Thus, it would require us to make the calculator a lot more attentive to the order in which things occur, and also a UI that lets the player say what conditions they'd decide to reroll in, or have it determine the optimal choice for you and then have a UI that would print out something like ("reroll on attack 1 if you roll any damage dice lower than 3, reroll on attack 2 if you roll any dice lower than 4, etc"). We also worried that this might make the UI a bit more cluttered than we wanted it to be, especially considering that the feat is basically never worth taking.

AccursedGnome
2023-11-28, 09:04 PM
Does this damage calculator factor in the interaction with critical hit chances? i.e. a longsword with a 65% percent to hit and 17 Strengh would be:
((1d8+3)0.35)0+(1d8+3)0.6+(2d8+3)0.05
((4.5+3)0.35)0+(4.5+3)0.6+(9+3)0.05
(7.5*0.35)0+7.5*0.6+12*0.05
2.625*0+4.5+0.6
0+5.1
5.1 Damage

and not:
(1d8+3)0.65
(4.5+3)0.65
7.5*0.65
4.875 Damage

This is because with a 65% chance to hit, 35% of the time you will miss, dealing 0 Damage. Also, included in that 65% to hit is a 5% to get a natural 20, automatically hitting and rolling double damage dice.

If it does, does the calculator also include how the chances of getting a natural 20 will decrease with the number of attacks? i.e.
Rolling one nat 20: 1/20, 5%, or 0.05
Rolling two nat 20s: 1/400, 0.25%, or 0.0025
Rolling three nat 20s: 1/8000, 0.0125%, or 0.000125
Rolls four nat 20s: IDK

This is because the chance of rolling the same number on a die gets smaller the more times you roll. With the longsword from earlier, the second attack would be:

((1d8+3)0.35)0+(1d8+3)0.6475+(2d8+3)0.0025
((4.5+3)0.35)0+(4.5+3)0.6475+(9+3)0.0025
(7.5*0.35)0+7.5*0.6475+12*0.0025
2.625*0+4.85625+0.03
0+4.88625
4.88625 Damage

This is because the chance to hit stays the same(65%) but the chance to get a critical hit does not, so the hit chance must fill that gap.

JNAProductions
2023-11-28, 10:26 PM
That’s not how dice work.

Your odds of rolling 20 on your first attack are 1/20.
On the second attack, it’s also 1/20.

They’re independent of one another.

LudicSavant
2023-11-28, 11:35 PM
Does this damage calculator factor in the interaction with critical hit chances? The calculator fully accounts for critical hits, and their interactions with all other mechanics.


If it does, does the calculator also include how the chances of getting a natural 20 will decrease with the number of attacks?

As JNAProductions mentions above, you're mistaken; the chances of getting a natural 20 do not decrease with the number of attacks.