14
\$\begingroup\$

I am reworking a homebrew class I made a while ago where one class feature stated:

when making a melee attack you can choose to reroll the damage die. The new total must be used.

I wanted to make this a bit stronger by making it into:

when making a melee attack you can choose to reroll the damage die. You can use either total

I was wondering what is the difference in terms of damage when making them use the new total vs picking what total to use.

I am not asking for the balance aspect of this feature, just the numerical, statistical difference between the two options.

\$\endgroup\$
  • \$\begingroup\$ @NautArch It is about melee attacks, that can be from 1d4 to 2d6 \$\endgroup\$ – darnok Sep 4 at 11:39
  • \$\begingroup\$ @darnok So any standard melee weapon (as found in PHB). There are melee spell attacks which can deal other dice (as in 3d6 etc). \$\endgroup\$ – Someone_Evil Sep 4 at 11:41
20
\$\begingroup\$

Mathematically, "either total" is 4%~6% better than "take new total".

I made a spreadsheet where I compare this using a d6. The columns represent the value you rolled on a d6, so 1 to 6. The rows represent the value rolled on the second d6 (if you did re-roll). The value in the matrix is the actual end-value taken from rolling the die/dice.

enter image description here

If you get to choose either total, you will always roll twice and pick the best, as shown below. The average result here is 4.47.

enter image description here

If you pick the new total, it only makes sense to re-roll when you roll a 1, 2, or 3 on the first die (since those values are worse than the average value for a d6). As you see below, in the columns for 4, 5, and 6, you don't re-roll, and keep the value. On the others, you re-roll and get the new value (1 to 6). The average here is 4.25.

enter image description here

So, on a d6, if choosing "either total" represents on average a 4.47, and taking the "new total" represents on average a 4.25, then there is a 5% improvement in being able to choose either total.

Running a simple python script shows you the improvements for:

  • d4: 4.17%
  • d6: 5.23%
  • 2d6: 5.01%
  • d8: 5.68%
  • d10: 5.93%
  • d12: 6.08%
  • d20: 6.35%

That being said, this assumes there is no limitation on using this feature. If it is more limited, you might just re-roll when you get low values, and that will skew the averages I've shown. As R.. pointed out,

"New total" also has much higher risk, making it reasonable to decline to use it in cases where your initial roll is somewhat below the mean if a very low re-roll would be catastrophically worse than the initial low roll. Both the risk itself and any hesitance to take a re-roll due to the risk are factors that increase the advantage of the "choose either roll" variant.

\$\endgroup\$
  • 1
    \$\begingroup\$ I wrote an anydice program to do this comparison quickly for any given dice expression. Observation: as a general rule, the relative improvement in average output is proportional to the standard deviation of the result, e.g. large single dice offer a greater improvement, dice pools with a pronounced bell curve less so. If you run it with a 1d100 you'll see about a 9.4% improvement. \$\endgroup\$ – Carcer Sep 4 at 15:49
  • 4
    \$\begingroup\$ "New total" also has much higher risk, making it reasonable to decline to use it in cases where your initial roll is somewhat below the mean if a very low re-roll would be catastrophically worse than the initial low roll. Both the risk itself and any hesitance to take a re-roll due to the risk are factors that increase the advantage of the "choose either roll" variant. \$\endgroup\$ – R.. Sep 4 at 22:44
  • \$\begingroup\$ @carcer perhaps I don't understand anydice but why don't you simply remove the [rerollnew] function entirely, and just have the line "output [rerollnewhelper DICE DICE]"? anydice.com/program/17792 \$\endgroup\$ – Medix2 Sep 5 at 4:52
  • \$\begingroup\$ @R.. I've added your comment to the answer, very insightful \$\endgroup\$ – BlueMoon93 Sep 5 at 9:38
  • 1
    \$\begingroup\$ @Medix2 that also works fine, I just wanted to write it so that the directly used functions all took the same single argument format. \$\endgroup\$ – Carcer Sep 5 at 15:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.