Diablo – What are the precise effects of rubies in weapons (why do the tooltips show a range)

diablo-3

I can't quite figure out the tooltip for a ruby when socketed in a weapon. I have a radiant ruby, which according to the in-game tooltip adds +12-24 damage, but according to the website adds 12 to the minimum damage and 12 to the maximum.

When I socket it in a weapon, it seems to indeed add 12 to each:

Before:

unsocketed

After:

socketed

So why does it show +12-24? Where did that 24 come from? Under what conditions, if any, will that ruby provide anything else instead of +12/+12?

Best Answer

Most of this answer refers to the way rubies displayed their effects prior to patch 1.0.3. I've left it intact because while Rubies no longer display a range, the behavior or applying +Minimum Damage before +Maximum Damage persists, and does occasionally cause some weirdness in exactly how much benefit a Ruby and other similar affixes provide.

So, it's actually a lot more complicated than it first appears - it seems that the benefit of the Ruby is actually subject to a couple of bugs regarding how damage bonuses are calculated. The short version is that weapons with narrow damage ranges - which are usually slower, and lower level weapons - tend to receive a slightly larger benefit from rubies. This in turn is what has caused the vast majority of testing, which tends to be done with low level gems on level 15-20 weapons to be so inconclusive - the effect I'm about to describe basically washes out at higher levels. This is because the calculation is... strange.

As an example, let's take a look at this axe, which provides a useful test case because it doesn't have any elemental damage on it. (Elemental damage is handled slightly differently, and more importantly, is applied after the addition of damage from the Ruby, so you need to calculate it back out before evaluating most weapons. Note however that flat +Min/+Max modifiers are applied at the same time as a ruby, and can be simply aggregated).

Axe

As you can see, the ruby brings the axes total damage from 13-22 to 23-34, a bonus of +10-+12. The reason is because when a Ruby is socketed, it works in the form of two separate modifiers, of +10 to minimum and maximum damage. The +minimum is applied first, taking our 13-22 axe up to 23-22 -- BUT since the max can't be lower than the min, we have to bump the minimum up to Min+1, or 24 damage. Then, after this, the +10 Max damage bonus is applied, bringing us to, you guessed it, 23-34.

This effect tends to get washed out on weapons with a large damage range, so it's typically not noticed at higher levels. If you'd like to see more of the math, including how this interacts with elemental damage, % damage modifiers, etc., I'd direct you to this reddit thread.

The takeaway from this, for most players, is that you can evaluate the value of a ruby in most weapons simply by using the lower bound listed as a flat modifier. The only edge case is at very low levels with very slow weapons - a circumstance in which a Ruby is better than all other options no matter what, anyway.