This is a long-overdue companion article to the classic Damage Mechanics - Armis by Armis.
This is the understanding of Torchlight 2's defensive mechanics that I have been able to assemble through empirical testing. I've tried to test everything, including re-testing a lot of things that are “common knowledge” (some of which turned out to be wrong). Where I didn't do the testing myself, I try to provide a link to the thread where the testing was done.
When a monster attacks you, the following defensive mechanics apply in the following order:
Step 0: Kiting If you successfully kite an attack, you take no damage, so stop here. Otherwise, continue to the next step. Step 1: Missile Reflect If you successfully reflect an attack via missile reflect, you take no damage, so stop here. Otherwise, continue to the next step. Step 2: Dodge If you successfully dodge an attack, you take no damage, so stop here. Otherwise, continue to the next step. Step 3: Armor Armor cannot reduce damage below 1, so always continue to the next step. Step 4: Damage Reduction Damage reduction cannot reduce damage below 1, so always continue to the next step. Step 5: Damage Absorption Even if all the damage from an attack is absorbed, it is still checked for block, so always continue to the next step. Step 6: Block If you successfully block an attack, you take no damage, so stop here. Otherwise, continue to the next step. Step 7: Health Loss If any damage remains at this point, it is deducted from your health total. If your health is reduced to zero, you die. Step 8: On-Get-Hit Triggers If you lost health, and survived the health loss, then these events occur simultaneously: * Step 8a: Chance to Cast Fully Heal Self When You Get Hit * Step 8b: Damage Reflection
“Kiting” refers to the act of moving your character before an attack lands so that it fails to hit. Players coming from Guild Wars 1 should be familiar with the concept. By contrast, this concept may be new to players coming from Diablo 3, where all attacks will land if the target was in range when the attack started. Kiting is not an “official” part of the defensive mechanics. You don’t have a “kiting” entry in your Arcane Statistics panel. It is nevertheless your first line of defense, and also one of the most important.
Missile reflect causes a missile attack to bounce off of your character, dealing no damage. If the bounced missile hits a monster, it deals damage based off your weapon DPS.
What qualifies as a “missile” for purposes of missile reflect? There are no fixed rules; every projectile needs to be considered sui generis. Some of the most surprising test results are that Deathflingers’ (Sturmbeorn) spears are not “missiles,” but the possessed Guardian who sometimes charges you during the Act I boss fight is a “missile.” Here is a far-from-complete list of projectiles that I happen to consider important:
Can be reflected:
Can NOT be reflected
Sometimes missile reflect is “aimed” directly at the monster that attacked you; sometimes the direction of reflection is random. I’m not sure what controls this.
The chance to reflect missiles from multiple sources stacks multiplicatively, not additively. The easiest way to calculate this is to compute your chance to get hit by multiplying together your chance to get hit with respect to each missile reflect source, then subtract from 100%.
Example: 2 sources of 25% missile reflect This is NOT correct: 25% + 25% = 50% This IS correct: 100% - ((100% - 25%) * (100% - 25%)) = 43.75%
When a reflected missile hits a monster, it deals damage based off your weapon DPS, identical to a skill that says it deals “X% of Weapon DPS,” except that it can fumble. See How Stuff Works Damage for how to compute damage for skills that use weapon DPS. Reflected missiles do not build charge.
The damage from multiple sources of missile reflect stacks in an odd way. (You might think that, since the chances to reflect missiles from various sources roll independently, you’ll get the Weapon DPS % from whichever source triggers. But that’s not how it works.) Every reflected missile does the percentage of Weapon DPS shown in the Arcane Statistics. As best I can tell, this value is calculated by
D(1) + D(2) + D(3) + … D(n), where: D(n) = W(n) * ( C(n) / R), where: W(n) is the Weapon DPS % for the nth source of missile reflect, C(n) is the chance to reflect for the nth source of missile reflect, and R is the total chance to reflect missiles from all sources (explained above).
Missile reflect is available from the following sources:
Dodge stops all damage from a dodged attack. Chance to dodge is capped at 75%.
The scope of things that can be dodged is rather narrow. The most extensive testing that I am aware of was done by forum newcomer Squiggler, who concludes that you can dodge (1) melee autoattacks, and (2) non-aoe ranged autoattacks; Skills can never be dodged. It’s worth noting that the scope of things that can be blocked is significantly broader than the scope of things that can be dodged.
Some basic mathematics about dodge are poorly understood by the overall TL2 community, so I’m going to summarize them here: The survivability benefits of dodge are inherently escalating. So each point of dodge chance is more valuable than the one that came before it.
You can read more about this in this classic thread by Rokiyo and oneOverZero.
Some important consequences of this:
Dodge is available from the following sources:
Armor subtracts a flat integer amount from incoming damage. The amount subtracted is a random amount between 50% and 100% of your armor value.
Depending upon whether the attack that hits you is physical, fire, ice, electric, or poison, your corresponding armor value will be used.
If the incoming damage is multi-typed, each damage type is handled separately during the armor and damage reduction steps, then added together. For multi-typed damage, armor is pro-rated according each damage type’s share of the total damage. (Example: If a monster’s multi-type attack deals 120 fire damage, 60 ice damage, and 20 poison damage, then 60% of your fire armor will be applied to the fire damage portion, 30% of your ice armor will be applied to the ice damage portion, and 10% of your poison armor will be applied to the poison damage portion.)
There is a bug in the way this pro-rating is done when a multi-type hit is part physical that causes the proportion of physical armor applied to be improperly doubled, capped (I think) at 100%. (Lest you think that this is a “good” bug, remember that it also applies when you hit a monster with your fancy multi-type weapon.)
If armor would reduce incoming damage to 0, it is reduced to 1 instead.
Armor comes primarily from items. It is also available from some skills (e.g. Berserker’s Shred Armor skill).
You can get a percentage-based increase to the armor you already have from the following sources:
Damage reduction reduces incoming damage by a percentage amount. It applies after the incoming damage is reduced by armor.
Like armor, you have independent damage reduction values for physical, fire, ice, electric, and poison. (Although there is an “all damage reduced” modifier that boosts all of them at once.)
Damage reduction is capped at 75%.
If damage reduction would reduce incoming damage below 1, it is reduced to 1 instead.
Damage reduction is available from the following sources:
Damage absorption is a unique mechanic that is only available from the Engineer skills Forcefield and Aegis of Fate. Damage absorption applies after the incoming damage is reduced by armor and damage reduction. Assuming your forcefield/aegis has adequate hitpoints, damage absorption negates all incoming damage and your forcefield/aegis loses that many hitpoints. If your forcefield/aegis does not have enough hitpoints, an amount of damage equal to the forcefield/aegis’s hitpoints is negated, the forcefield/aegis is destroyed, and the remaining damage is applied to your health.
Even if all the incoming damage is negated, the zero-damage hit is still passed on to the next step for a block check.
If both Forcefield and Aegis of Fate are active, whichever one was activated first will apply first and absorb the incoming damage. The overwhelming majority of the time, Aegis of Fate will get activated first, because an active Forcefield usually prevents you from taking the damage necessary to activate Aegis of Fate. In the rare cases where Forcefield is activated before Aegis of Fate, if you recast Forcefield before it expires, it will continue to count as having been activated before Aegis of Fate.
Sources of damage coming up from the ground (such as standing in fire) generally bypass your forcefield/aegis.
The rules that prevent armor and damage reduction from reducing incoming damage below 1 do not seem to apply if the damage is absorbed instead of health lost. (For example, in one test I observed 10 hits reducing a Forcefield’s hitpoints by 0.6 in total.)
Block stops all damage from a blocked attack. You must have a shield equipped in order to block. Chance to block is capped at 75%.
Unlike dodge, just about everything in the game can be blocked. (Even some crazy things like the environmental damage in the Luminous Area can be blocked.)
The mathematics of block are identical to those of dodge. Please refer to the description of dodge above.
Block is available from the following sources:
Any damage that remains after the preceding steps is deducted from your health total. If your health falls below 20%, a red glow will appear around the border of your screen to warn you that you are in imminent danger. If your health is reduced to zero, you die. (Due to a rounding issue in the display, you may still be alive with a health display of zero. In this instance you actually have somewhere between 0 and 0.5 health remaining.)
Extra health is available from a number of sources:
When your maximum health changes (for instance, if you hit the ‘W’ key to switch to a weapon set with a smaller health bonus), your current health does not change, unless it exceeds the new maximum (in which case your current health is reduced to the new maximum). Therefore it is not possible to end up in the “negative health” state that is possible in some other games such as Guild Wars 1.
This is a rare mechanic that is available from a small number of item modifiers and item enchantments, usually on amulets. It can also be found on the rare unique socketable Lito Inso's Lens. When triggered, you are automatically healed to full health over a very short period of time.
It can only be triggered if you actually lost health as the result of an attack. (E.g. it will not trigger if Forcefield negates all the incoming damage.)
The heal occurs after the health loss from the attack, so you must have enough health to survive the attack to gain the benefit of the full heal.
There are two types of damage reflection, both of which deal damage back to a monster that damages you. Damage reflection does NOT reduce the amount of damage you take; it only makes the monster take damage too.
Integer damage reflection deals a flat amount of damage back to the monster that damaged you. It always deals exactly this much damage, even if the monster dealt less damage to you in the first place. It does not scale with anything. Integer damage reflection will only trigger if you actually lost health as the result of an attack. (E.g. it will not trigger if Forcefield negates all the incoming damage.)
Percent damage reflection deals a percentage of the damage a monster did to you back to the monster. The amount of damage dealt is based on the actual amount of health you lost. It does not scale with anything else. Obviously, percent damage reflection will only trigger if you actually lost health as the result of an attack.
Damage reflect will not trigger if an attack kills you.
Integer damage reflect is available from items.
Percent damage reflect is available from skills (Embermage’s Ice Prison and Outlander’s Stone Pact) and the “Retribution <X>” spell scrolls.
In TL2, as levels increase, the amount of damage monsters deal grows much faster than player health and armor possibly can. This trend is especially pronounced on Elite difficulty level. As a result, you are required to devise a defense that can survive a steady stream of potential one-hit kills.
Early on, before this trend becomes pronounced, many things may work to keep you alive. Over the long term, however, there is one, and only one, strategy for dealing with the constant threat of being one-hit killed: Avoid getting hit as much as possible, and, when you do get hit, rely on percentage damage reduction to make the hits survivable.
The most important defensive measure is damage reduction. This is the only thing that’s going to make a huge hit that would otherwise be a one-hit kill into something you can survive. Every serious build should have 75% damage reduction, and getting there should by your highest priority on the defensive side of your build development. (Have fun farming Limoanies. :D )
Collectively, the mechanics that cause you to take no damage at all from an attack – kiting, block, missile reflect, and dodge – are the second-most important defensive measure. Dodge falls somewhat behind the other three because its scope of coverage is inferior to block’s.
The third-most important defensive measure is extra health. This is not because it’s an inherently strong mechanic (it’s not), but rather because Skull of Riechliu allows you to increase it so dramatically.
Armor is basically meaningless. Not only is it badly outscaled by monster damage, but its effectiveness is also reduced by any damage reduction you have.
(To be as charitable as possible to armor, it's reasonably effective early on before monster damage scaling really gets going. A player who only did the first playthrough and did not do mapworks or NG+ might not encounter very many situations where no feasible amount of armor makes a meaningful difference.)
All in all, there is some satisfying depth to Torchlight 2's defensive mechanics. Even though damage reduction is clearly dominant, most of the other mechanics are both meaningful and necessary, creating a fun min-maxing problem. The presence of kiting keeps things interesting by making player skill a big factor in survivability.
That said, there are some problems with the system:
The issues with armor and damage reduction are the biggest problem. To be honest, they call for a total redesign that would give armor some kind of percentage reduction effect (and probably change damage reduction into an integer reduction applied after armor). A “band-aid” solution would be to change the order of operations so that armor applies after damage reduction. (To avoid unbalancing things on the damage dealing side, damage reduction would need to be split off from damage increase effects like Howl, or those effects would also have to give their targets a corresponding armor boost.) This would at least make armor meaningful, if still not anywhere close to being the main defensive mechanic.