0
posting this for archiving purposes
TL;DR at the bottom.
As you might or might not know, effective life (short for eLife in the calcs) does not usually incorporate defenses based on chance, such as dodge and block. Effective life is a measurement of just how much you will survive in the worst scenario, which means in cases where you don't dodge or block at all. In these cases only your Life and %DR from armor will help you (not including resistances for magic damage or +phys resist for physical here). For this calculation, the eLife looks like this, as derived here: http://us.battle.net...67597687?page=1
L * (1+0,02A/Lv) = eLife
where L is life multipliers, base life, life from vitality and so forth, A is armor, Lv is target level.
The problem is simple. We all know that both dodge and %block does have a defensive value, so what is it and how to find it?
This thread is aimed at the block mechanics. Dodge yields 100% mitigation when successful, which makes it easier to determine the value. It can simply be treated as a resistance (ie damage multiplier), just like how you would calculate fire damage taken after armor dr + fire resistance dr.
Block does NOT yield a guaranteed 100% mitigation when successful. We have known for a long time d3 will not follow the path of the previous games and instead stick with a fixed block amount. If we assume our DR is zero, ie our eLife is our actual Life, we will see that when including block as well, our eLife becomes our Life + Avg Block.
In 0 dr scenarios;
L + (block chance * block amount) = eLife
If this is confusing, think about one swing repeatedly hitting for 100 damage. We are at 0 dr, which means we do not reduce any of the damage. Let's say that our life is 99,9 and we don't have a shield equipped. Every swing will take us below 0 and subsequently kill us. Now we equip a shield with 100% block chance and 1 block amount. We will start to survive one hit before we die, our eLife has increased by the average block amount. Remember, we have to allow averages here to be able to set a static value for a percentage based event when we don't have any variable (in this case incoming strike sizes). If we would have had incoming strike sizes, we could set the value for block directly as a percentage of damage reduction.
Now let's equip our armor again. This value then becomes the formula when including average blocks
(L+(block chance * block amount)) * (1+0,02A/Lv) = eLife w/ block
What do we even do with this value? What does it tell us?
In most cases if you calculate this value it will only be a few percents higher than a calculation without block averages. My idea for setting an actual useful value on this is to determine how much this increase in effective hp is worth in Armor. IE, the average block is worth X amount of extra Armor if you don't have that shield equipped.
Let's set it up:
(L+(block chance * block amount)) * (1+0,02A/Lv) = L * (1+0,02(A+x)/Lv)
On the left hand side is the eLife w/block from the previous paragraph. The right hand side consists of the standard non-block eLife calculation with the x we want to find.
If we break out x and decide to insert values for block, life and Armor, x becomes the Armor value we're looking for. I'll jump forward to what x looks like:
x = ( ( ( ((L+(block chance * block amount)) * (1+0,02A/Lv)) / L ) - 1 ) *Lv * 50 ) - A
This is what an average block equals to in Armor.
I'm going to use a few values I have in my spreadsheet. This character uses the pre-wipe database items from around September, with the exception of this shield:
http://us.battle.net...nd-dread-shield
He also uses Tough as Nails and Nerves of Steel.
The stats are as follows:
L = 2735 life
A = 21930 armor
Lv = 61 (ie inferno)
block chance = 16,8 %
block amount = 256
Inserting the values:
( ( ( ((2735+(0,168 * 256)) * (1+0,02*21930/61)) / 2735 ) - 1 ) *61 * 50 ) - 21930 = 392,8116417
Let's check if this value is correct by implementing the same stats in the regular eLife calculation, where x is equal to the calculation above.
2735 * (1+0,02 (21930 + 392,8116417) / 61 = 22752,3409 eLife
(2735 + (0,168 * 256)) * (1+0,02 * 21930 / 61) = 22752,3409 eLife
Yep that looks pretty equal to me! In other words, with these specific stats, the block values on this specific shield equals to an increase of almost 393 Armor.
Keep in mind we don't count the defensive stats on the shield, we are only looking to determine the values of the block itself. A shield almost always yields more defense than this (an exception would be in cases where a 2h/offhand would yield so much more strength that the Armor of the shield is less valuable.
TL;DR
x = ( ( ( ((L+(block chance * block amount)) * (1+0,02A/Lv)) / L ) - 1 ) *Lv * 50 ) - A
This gives you the value of Armor that equals to an average block.
Very good work! Interesting, detailed, very informative, and super clean/well organized. Well done
Wait, since block is a flat damage reduction, isn't the usefulness of block dependent on the incoming damage? As in if I had a shield with 50% to block 10 damage, I'd take 90 damage on average from two otherwise 50-damage attacks, but only 50 damage from 10 10-damage attacks. Or am I missing something here? I'm way too tired to math it up myself right now.
The usefulness of block is dependant on incoming damage ONLY if you want to model it as a form of %DR. This model doesn't, it only uses another theorycrafted formula to derive an x value for increases of life, where the increase of life is equal to the average block value. You'll never get away from it being an average though (unless the block% reaches 100, obviously).
Bookmarks