[RPG] Does this AnyDice function accurately calculate the number of ogres you make unconcious with three 4th-level castings of Sleep


Say we have three ogres, and want to put them to sleep as a handful of level 7 casters with the sleep spell. We want to know how many of them, on average, will get put to sleep.

I tried to make an AnyDice function that searches a listing of all of the results of 11d8 for the HP totals that would put to sleep one of the ogres (using the average of 59 HP). Is this AnyDice function accurate to the goal?

output [count {59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88} in 3d(11d8)]

If not, how would I properly create the function?

Best Answer

The function is correct but can be made simpler

The function makes sense from a theoretical point of view (you are counting the number of times one of the listed numbers appears when doing 11d8 three times) and from practical corroboration from Xirema's answer.

However, it seems to be a particularly taxing function for anydice. Indeed, when changing it to 4 times instead of 3, anydice refused to provide results because it exceeded the maximum execution time.

A simpler and faster way to do the same function would be this anydice function:

output 3d(11d8 > 58)

Which is equivalent, also helps show that your initial thoughts were correct but is much faster and you can also use it for bigger values without anydice complaining.

Naturally this is not as versatile as your specific listing of each possible result but since you only care about results bigger than the creature's HP in this case it may work better.

Alternatively, as proposed by Ilmari Karonen, you could also use, for some more versatility in the results, this function:

output 3d[count {59..88} in 11d8 + 0]

(The + 0 makes AnyDice sum the 11d8 roll before passing it to [count VALUES in SEQUENCE])

Related Topic