Hello all! So very shortly after the Hob release I put a PAK extractor that I knew worked online: http://www.runicgamesfansite.com/mod_downloads/tools/download-1521-hobs-pak-extractor.html
I know modding isn't officially supported yet, but I'm still hoping to both get things moving to make it possible for the game (mostly cosmetic I'm guessing) and to get some of those awesome creatures and characters made into Torchlight 1/2 mods.
Let's combine our skills and see what we can do!
While I think people mostly understand now the major points of how the game calculates damage, I think it’d be useful to have a central reference for this. First, to encourage discussion on the things I may have gotten wrong, obviously, and second so that you don’t have to search the boards for an hour to find the tiniest bit of accurate information. Comments in orange are those that I still have to test whenever I get a minute, which might not be for the next few days.
Before we start crunching numbers, there are a few rules that one should understand about how damage works:
1) Virtually all bonus damage is additive. If you find an item with +20% melee damage, for instance, or +10% all damage, it’s not going to multiply your current damage output by 1.2 or 1.1, respectively. The damage bonus will add to all the other bonus sources you may have, and only then will the resulting total be applied to your base damage.
2) Fumbles only happen on auto-attacks, not on skills.
3) Fumbles never crit.
4) DoTs don’t crit. Nope.
5) Weapon-based critical hits always deal maximum damage. Surprisingly, I haven’t seen anyone mention this here yet though it’s both rather huge in terms of optimization, and pretty glaring when you look at the combat log. This holds true for auto-attacks and all skills wased on weapon DPS.
6) There are hard caps you can’t go over, no matter how much stuff you stack:
- Fumble chance: minimum of 0% (duh)
- Fumble damage recovery: maximum of -0% (duh again)
- Execute chance: maximum of 100% (you don’t say?)
- Critical chance: maximum of 100% (yes, this is Captain Obvious speaking)
- Critical damage: maximum of 500%
- Dodge chance: maximum of 75%
- Block chance: maximum of 75%
The Fake Formula
The formula below describes how damage works, but incorrectly. I want to make that very clear. However, it’s simple enough to give you a basic understanding of how things work, and then I’ll go on to post the actual full formula.
DPS = base_dps * (1+bonus_damage) * (1+speed_bonus) * (1+crit%*crit_dmg) * (1+u*fumble%*fumble_dmg)
1) The bonus damage is, like I mentioned above, the sum of all sources of applicable bonus damage. This includes:
- strength bonus for weapons (equal to Str/2 and uncapped)
- focus bonus for elemental damage (equal to Foc/2 and also uncapped)
- sources of direct applicable bonuses like +10% all damage, +35% fire damage, +20% ranged weapon damage, etc.
In very few cases, a source of bonus damage will apply directly to the base damage (instead of being added to all the others), thus making it extremely valuable. This is the case, for example, with Prismatic Bolt’s tier bonuses.
2) The speed bonus is either attack speed bonus (if it’s a weapon attack) or a cast speed bonus (if it’s a skill). Some skills have a cooldown, and as far as I know they never benefit from casting speed bonuses in terms of damage per second. Others are channeled (their mana cost is expressed in mana per second): some of them do benefit (Arc Beam, Shocking Burst for instance) from cast speed bonuses, but others don't (Magma Spear); at this point I'm not sure why, and I don't have a full list. In all cases, however, cast speed does accelerate the wind-up animation, so the spells do come out a bit quicker. Attack speed does benefit skills based on weapon DPS indirectly, in that increasing attack speed increases weapon DPS.
3) Critical hit chance for skills is actually often not the one you see in the Arcane Statistics panel. For skills dealing a percentage of weapon DPS, it is usually your normal crit chance multiplied by this factor. For other skills it's a different hidden value that needs to be figured out (or fished from game data files). For instance, each pillar of Ice Prison has a ~75% adjustment to its crit chance when shattering.
4) The next expression is the increased damage from critical hits, assuming critical hits are based off the normal base damage range. Since weapon-based crits always deal max damage, this expression is in fact wrong for thos type of attacks but it's just simpler to visualize like this anyway.
5) The last expression is fumbles. Fumbles only happen on auto-attacks, so u is a special variable equal to 1 for auto-attacks, and equal to 0 with skills. Since fumbles and crits are separate events, this expression is technically wrong too - again, it's simpler to explain the concepts this way.
6) Base dps here can be a great many things.
- With auto-attacks, your base dps is your weapon DPS. But wait! That’s straightforward enough with one-handed and shield or with two-handed weapons, but with dual weapons it becomes more complicated.
Dual weapons alternate their attacks depending on their speed, which works out to a sort of averaging of their DPS values. That’s lame, because it makes them strictly inferior to one-handed weapons. Their saving grace is Execute. Execute means both fire at once, so your damage is the sum of the two.
The DPS formula for dual wield has been found to be the following (I take no credit for that one – in fact I haven’t even tested it, so take that with a pinch of salt):
Base_dps = (A+B)/(a+b) * (1+execute%) A and B are the average damage per hit values of the two weapons, a and b are their respective speeds.
With skills based on weapon damage (those that say “X% of weapon DPS”) in the tooltip, the base dps is:
Cycle speed isn't listed anywhere and must be figured out for each skill (though it is equal to the cooldown on skills that have those). It is only relevant if you want an absolute measure of DPS, or want to compare two skills in terms of damage over time. If you're just figuring out the optimal gear/stats for one skill, then you can actually do your comparisons without this variable.
Base_dps = WDPS * X% / CS where X% is the skill’s damage multiplier and CS is the cycle speed of the skill, i.e. the time between two consecutive castings of the skill.
Do note that when dual-wielding, skill damage is always, and only, based on the weapon in your right hand (i.e. the one in the box on the left side of the inventory screen) (edit: except Arc Beam, apparently - credit to Baron).
If the skill deals elemental damage (“X% of weapon DPS as Fire,” for instance) then you get to add both Strength and Focus as sources of bonus damage in (1).
With skills based on flat damage values, such as say Hailstorm, the base dps is the damage range listed in the tooltip divided by the cycle speed. Easy. For those skills, Strength does not factor at all and it’s all about the Focus.
The Actual Formula
Now that we understand the basics, let’s dig into the details. The actual accurate formula is the following (hang on, it’s a bit long):
DPS = (1+bonus_damage) * (1+speed_bonus) * [(1- u * fumble%) * [(1-crit%) * base_dps + crit% * crit_dmg * crit_dps] + u * fumble% * fumble_dmg * base_dps]
Yay for science. Pay attention to the nested parentheses, it’s a bit hard to read on screen.
Crit_dps is basically the same as base_dps for flat-damage skills (e.g. Hailstorm), and is the maximum damage in the range for weapon-based skills (e.g. Flame Hammer) and auto-attacks.
The idea is basically that:
- if you fumble, you deal your fumble damage (if it’s an auto-attack, obviously)
- if you don’t, you have a chance to crit and deal crit damage (plus your crit damage bonus)
- otherwise you deal normal damage
- whatever happens, it’s all augmented by bonus damage and the appropriate speed bonuses
But it gets worse, because sometimes base_dps is actually made of different things: physical and elemental damage. In this case, I won’t type out the whole equation but basically you need to split the physical and elemental damage, calculate DPS separately, then add them up again, all because elemental damage is increased by Focus (and some specific bonus sources, like +15% ice damage) while physical isn’t.
Gear: As If It Weren’t Confusing Enough
There are many affixes on gear that can impact the equation above (poetically named “(2)”).
- increases to attack or cast speed add to the speed_bonus variable
- damage increases, when relevant (and including Strength and Focus, or Melee/Ranged bonuses), add to the damage_bonus variable
- affixes modifying crit chance, crit damage, fumble chance and fumble recovery add to their respective variables
- here’s where it gets neat: what happens with stuff that adds fixed damage?
Well, thanks for asking. It depends on whether it’s a weapon socketable (or a weapon enchantment) or not. If it is, the added damage value gets added to the base weapon damage per hit. This is huge, because if you add a Skull of Vellinque (+199 physical damage) to a weapon that deals 100 damage per hit, you’re essentially tripling the total DPS (give or take). Bear in mind that if you add elemental damage such as from Embers, it gets bonus damage from Strength AND Focus (and all other applicable bonus sources). The flip side is that if you’re using a flat-damage skill, your weapon is irrelevant and so is this socketable.
If it’s not a weapon socketable/enchantment, then it ****. Not that I’m judging. The fact is, it gets no bonus damage whatsoever. That +173 ice damage necklace basically adds 173 ice damage to your final damage number before fumbles and crits, but that’s it. You could have 2000 Focus and you’d still only get +173 ice damage, even with skills. Note that the bonus damage from Sword and Board works like this too, making it IMO the most useless skill in the game.
Adding to the confusion is how the game calculates it: all elemental damages are actually calculated and applied separately, which means that enemy armor will apply separately to each of them. In addition, when socketing a physical damage gem (or enchant, etc.) in a weapon dealing physical damage, the game will count it separately. In other words, any addition of physical damage applies separately from the weapon's base physical damage. Yes, it's a bit confusing so here's a screenshot:
Notice in the combat log the +Physical line, which is separate from the first line (that corresponds to base damage of the gun), and is the result of a +27 physical enchant and +199 physical skull (226*(1+5% from Str) = 237).
Weapon affixes and skills
(largely copied from my Embermage Handbook but has general applications)
There's a lot of confusion around which skill applies which weapon affix. Like I said above, skills based on weapon DPS transmit some effects, but not all of them. Let me refine that a bit.
1) Skills that are NOT based on weapon DPS do not transmit any active effect (i.e. DoTs, % chance to cast spells, armor debuffs, etc.).
2) Skills based on weapon DPS may transmit some, but it depends on the effect and on the skill.
DoTs from skills never stack with themselves: you can cast Magma Spear as many times as you like, but the target isn't going to get more damage per second (however, the duration will be refreshed each time). Do note that the number in the icon that tells you how much damage the target is taking does change for some skills, as some DoTs have a damage range and a new application can roll a different number in that range. DoTs from skills usually scale with focus and the appropriate +% damage modifiers.
DoTs from weapons (as a native affix, not as a socket - enchantments not tested at this time) DO stack with themselves [edit: apparently so do DoTs from enchantments - thanks lminith]. Two hits from Endgame will result in the target taking twice the damage over time, with the game keeping track of each duration separately (the icon will only show the longest time remaining). In addition, those DoTs scale with your character's Focus, but not his strength (even though technically they're physical damage - go figure). In other words, they can be a source of massive damage if you have a fast-attacking weapon or a fast-casting skill, and lots of Focus.
DoTs from socketables stack with themselves too, both from multiple weapon hits or from having multiple socketables in one weapon. However, they don't scale with Focus (nor Strength), so their damage ends up rather piddly. Not worth the socket IMO. (edit: apparently fixed to scale with Focus in 1.22 - according to patch notes - but I haven't tested it)
Also, as a miscellaneous bit of information: DoTs don't build charge, whether from a skill, weapon or socketable.
Armor debuffs from weapons or socketables do stack with themselves too. More interestingly, the "% chance to flee" debuff (which I assume works like other "chance to inflict X" affixes) seems to stack too, though I have no idea how that works: if you hit the dummy with a "10% chance to flee" weapon, once every few hits it'll get a little icon that says "10% chance to flee". If it gets that effect applied again, the icon will be upgraded to 20%, then 30, etc. At face value it's like you have a chance to inflict a debuff that has a chance to cause the target to flee; my guess is that the game is just acting up a bit and the 20/30/40% chances just mean the "fleeing" debuff was applied while it was still active from a previous hit.
What About Attributes?
Attributes define a lot of the damage variables. What often happens is you take an attribute, derive the base value of, say, crit chance, and then add to that all the fixed bonuses you have (usually from gear).
Crit% = Dex * (0.2002 – 0.0002 * Dex), capped at 50.1% at 500 Dex (Dodge also follows this relationship)
Crit_dmg = 50 + Str * 0.4, capped at 450% (technically 449.6%; basically Str above 999 doesn’t give you anything. Total crit damage from all sources caps at 500% in the Arcane Statistics screen though)
Fumble% = 21%, and no amount of stats will change that number, only gear will improve it
Fumble_dmg = 25 + Dex * (0.3003 – 0.0003 * Dex), capped at 100% at 476 Dex
Execute% = 9.8 + Foc * (0.2002 – 0.0002 * Foc), capped at 60% at 500 Focus (technically 498)
Block% = Vit * (0.2002 - 0.0002 * Vit), capped at 50.1% at 500 Vit
How the Character and Arcane Statistics panels report things
Have you ever wondered what the Character and AS panels reported exactly? I know I have. Let’s find out with Serguei, my trusty consoled character.
Serguei's equipped with two Corbucci's rings, a pair of Steam-Tech Nines, and 6 pieces of the Labarinto set (which is, incidentally, ugly as ****).
Let's take a look at some numbers:
1) Physical Damage: 531-1069
The Steam-Tech Nine (which I'll call Tec9 as it's shorter) deals 79-159 physical damage. Serguei has 1000 Str, and his gears give him +72% ranged weapon damage. 79 * (1+1000/200+72/100) = 530.88; 159 * (1+1000/200+72/100) = 1068.48
2) Elemental damages: 1077 ice and poison
This field only seems to report the maximum value, not the average. The Tec9 deals 80-159 ice and poison damage. Serguei has 1000 Str and 10 Focus, and his gear gives him +72% ranged weapon damage. 159 * (1+1000/200+10/200) = 1076.43
3) Critical Damage: 19338
Serguei has +500% critical hit damage. Adding up the maximum physical, ice and poison damages above and boosting them by +500% gives (1069+1077+1077)*(1+500%) = 19338
4) Damage per second: 3995
The Tec9 deals 119 average physical damage, 119.5 average ice and poison damage, and has an attack speed of 0.64. Serguei has 6% increased attack speed.
DPS(physical) = 119/0.64 * (1+6%) * (1+1000/200+72/100) = 1324.47
DPS(ice) = 119.5/0.64 * (1+6%) * (1+1000/200+10/200+72/100) = 1339.93
DPS(poison) = 119.5/0.64 * (1+6%) * (1+1000/200+10/200+72/100) = 1339.93
DPS(total) = 1324.47+1339.93+1339.93 = 4004.33
That's an extra 10 points compared to the stats screen, which I'm attributing to rounding error. Note that this number doesn't take crits into account, and further testing shows it doesn't take fumbles into account either.
5) Magic Damage (from character screen): 1070-2154
2154 is simply twice (ice + poison) the 1077 number we've seen above. Repeating that calculation with the minimum damage of 80 gives you 541.6 minimum ice and poison damage, or 1081.2 total. I'm going to call rounding error again, but I can't help but notice that if you use 79 instead of 80 as the minimum elemental damage, all the calculations end up yielding exactly the reported numbers. I'm guessing the minimum damage is misreported in the tooltip.
6. Weapon Damage: 1601-3223
Easy enough: 531-1069 physical, 541-1077 ice and poison, total 1613-3223. Again this weird thing with the minimum value, see above.
7. Further testing reveals that none of the numbers above, including DPS, take fumbles into account.
So we now know what the reported numbers correspond to.
So we know that armor is basically a direct reduction to damage taken, and that a random amount between 50 and 100% of the armor value is applied to each hit. Beyond that not much has been done to figure out how armor works, which is why Chthon's work was so interesting. Lifted straight from his post a couple pages down:
Chthon wrote:A brief report on how monster armor works:
1. Testing methodology
Testing monster armor is a flying pain the **** for a couple of reasons. First, there's a range of damage reduction, so instead of straight numbers, you've got to deal with averages and mins and maxes that you're never sure you've hit yet. Second, the practice dummy has such absurdly high armor values that testing against it often results in damage being reduced to zero (for which the game gives you a consolation prize of 1 damage).
The best method I could come up with was this: I started a new character a made my way to the path of the honored dead where monsters are level 4 (at least for me). The low level results in a low armor, which in turn results in a narrow range of damage reduction, which allows testing to proceed without requiring a huge number of samples. Console "levelup 99" to get access to any skill I want to mess with and to equip any item. Console "aifreeze" to make the monsters hold still. Console "unit bandit_assassin" to spawn a bandit assassin to spawn an unlimited supply of guys to hit. I picked the assassin because he's supposed to have flat 100% armor across all types. Use console to spawn weapons as desired. Axes are preferred because they have no damage range to muddy up the picture. Start with a plain no-mods physical axe, then work up to more complicated weapons. For each sample, look at the combat log and subtract the "post" value from the (bonus modified) damage roll (the number on the right of the arrow).
2. Getting from .dat to actual damage reduction.
This one is a bit of a head-scratcher. ARMOR_MONSTER_BYLEVEL_VERYHARD.DAT says that level 4 monsters are supposed to have 15.14 armor. BANDIT_ASSASSIN.DAT says that bandit assassins are supposed to have 100% normal armor for all armor types. The observed range of damage reduction against the plain axe was 9-17. I don't really have a good theory for this discrepancy. (Uh... the monsters are really level 4.5?) If anyone is able to figure out where that extra 2 points of armor came from, please let me know.
3. Really unexpected result: Monster armor scales with skill WDPS!
For weapon-DPS-based skills that do less than 100% weapon DPS, monster armor is scaled by the same percentage. To replicate: While equipped with your plain axe, use a skill with really low WDPS at early ranks (rank 1 Chain Snare is a good example) and compare the average damage reduction to the average reduction from normal hits with the plain axe.
This is BIG NEWS since it means that a lot of skills everyone thought would get absolutely clobbered by armor to the point of uselessness are actually viable. (And Ravage fans should be doing a happy dance.)
4. Another unexpected result: Monster armor scales on secondary targets.
The armor on monsters taking splash damage from non-claw melee weapons (i.e., secondary targets) is getting scaled down by something -- presumably your damage-to-secondary-targets percentage. To replicate: Spawn two bandit assassins on top of each other; whack with plain axe.
5. Multi-type damage gets pro-rated... with one major anomaly
When you hit with a weapon that does multiple damage types, the monster's armor gets pro rated across the various damage sources. The pro rating is done in proportion to the post-roll, fully modified damage for each type (rather than the pre-modifier roll, or the pre-roll min/max/avg).
To replicate: This is best tested by using wands/staves with equal bases for all four elements. Each element will be reduced by 1/4 as much as your plain axe hits were. The Beast with a Million Eyes demonstrates that the base physical damage is also subject to pro rating (but see below). Adding items like 2x Ratchet Ring to boost one particular element will show that the pro rating cares about the final, post modifier roll.
Now for the anomaly:
If the weapon does base physical damage, this gets reduced by more than it should. To be precise, it looks like double. This appears to result in more than 100% of the monster's armor getting applied.
Example: A Four-Bearded Axe socketed with 3x Iron Ember Chip does 114 base physical and 105 +physical (yes, they get separate lines in the console even though they're both physical). That was as close as I could get to what should be a 50/50 pro rating. It's not. The base physical is subject to the exact same reduction range as the the plain axe (double what was expected), while the reduction applied to the +dmg from the socketables is about half what the plain axe had (as expected). The sum result is that ~150% of the monster's armor gets applied!
Another example: Mountain of the Cannibal ****. One would expect the reduction applied to the poison to be ~1.5x bigger than the reduction to the base physical, but the reduction to the base physical is actually slightly larger. Adding points to focus and/or poison_dmg% gear can eventually flip this over, but the reduction applied to the base physical stays higher than the ratio between the damage types would indicate.
My best theory to explain this is that it's a BUG.
6. Degrading Armor
These effects stack with each other and themselves. Unless otherwise stated, they have a 5 sec duration. They are not scaled down (or up) by WDPS% on skills (at least not for the skills I tested with). Ordinarily, these effects apply after the hit does its damage. One exception I saw was Ravage, where each hit does its armor degrade effect before it does its damage (degrade, hit, degrade, hit, degrade, hit). (Yet another reason for Ravage fans to do a happy dance.)
7. "Monsters takes X% more damage" effects (like Howl)
These effects are applied after the monster's armor is applied.
8. Frost Breath
Applies its "monsters takes X% more damage" effect before it does its damage.
9. Multi-component skills (like Wolfpack)
I only tested Wolfpack, but I assume the others (like Emberquake) work the same. It's hard to tell because the console reports poorly on flat damage skills, but it looks like the two components are treated as separate hits that are each subject to the monster's full armor. Also, if the flat component (against, just tested Wolfpack) is sufficient to kill a monster, the WDPS component doesn't happen at all.
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.
I. The Big Picture – Order of Operations – The Defense Waterfall
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
II. The Details
Details of Kiting
“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.
Details of Missile Reflect
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:
- Ratlin Archer’s AoE fire arrow
- Ratlin Lobber’s molotov cocktail
- All kinds of tornadoes (Mirka Frostbinder, Tuttara Sandweaver, etc.)
- Mirka Frostbinder's sigil
- All kinds of waves (Frost Elemental, Sand Spectre, Spectral Dragonkin)
- All of the Wraith Lord’s projectiles
- Venomous Hail/Acid Rain can be reflected... AT YOU. (Think twice before using it on those Ezrohir guys with the reflective shield. You’ll get hit 12 times!)
Can NOT be reflected
- Deathcap’s “purple **** of doom”
- Varkolyn Hurler’s poison molotov cocktail (rather unexpected since you can reflect the Ratlin Lobber’s molotov cocktail)
- Vyrax’s flame breath
- Goblin Foreman’s bombs
- Everything the Artifacer does
- Everything the War Titan does
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:
- Items. Of particular note is Zardon’s Mighty Skull which is a level 100 unique socketable that gives 25% missile reflect.
- The Berserker’s Ice Shield skill
- The Outlander’s Shadowmantle skill
Details of Dodge
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.At 1% dodge, 99 blows in 100 will land. At 2% dodge, 98 blows in 100 will land. Going from 1% to 2% results means you get hit ~99% as often.
At 98% dodge, 2 blows in 100 will land. At 99% dodge, 1 blow in 100 will land. Going from 98% to 99% means you get hit half as often. If you can survive for an average of 60 seconds without heals at 98% dodge, then you'll survive for an average of 120 seconds without heals at 99% dodge.
(There is no way to go above 75% dodge. This is an example only.)
Some important consequences of this:
- 75% dodge will improve your survivability (as measured by how much raw damage the monsters must dish out to kill you) by 4x.
- 75% dodge will improve your survivability by twice as much as 50% dodge (4x vs. 2x).
- The 75th point of dodge chance improves your survivability from ~3.85x to 4x all by itself. (Because each point of dodge chance is more valuable than the one that came before it, the last one is the most important one.)
Dodge is available from the following sources:
- Dexterity gives dodge chance according to the formula “Dodge_Chance_From_ Dex = Dex * (0.2002 – 0.0002 * Dex)” up to a cap of 50.1% chance to dodge at 500 Dexterity.
- Dodge chance is available as an item modifier.
- 1% Dodge chance is available on the unique socketable the Eye of King Pogg.
- Dodge chance is available as an enchantment from the elemental oasis enchanter on some items (e.g. shields).
- Dodge chance is available from various skills.
- Dodge chance is available from the Outlander charge bar talent.
Details of Armor
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:
- Vitality increases armor by 0.25% per point of Vitality.
- The “Armor Expertise <X>” spell scrolls increase physical armor, up to 24% from the “Armor Expertise VI” scroll.
- Several skills (e.g. Engineer’s Bulwark skill) increase armor on a percentage basis.
Details of Damage Reduction
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:
- Berserkers and Engineers have an inherent 25% damage reduction.
- Damage reduction is available from a number of item modifiers and item enchantments. Most notably, the Eye of Grell, which is available as a drop from General Grell halfway through Act I, is a socketable that gives 3% damage reduction (all types); and the Skull of Limoany, which is available in any area that can drop level 62 items, is a socketable that gives 5% damage reduction (all types).
- Some skills give damage reduction. Most notably, the Embermage’s Immolation Aura gives 15% damage reduction (all types) at max rank.
Details of Damage Absorption
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.)
Details of Block
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:
- Vitality gives block chance according to the formula “Block_Chance_From_ Vit = Vit * (0.2002 – 0.0002 * Vit)” up to a cap of 50.1% chance to block at 500 Vitality.
- Block chance is available as an item modifier, particularly on shields.
- Block chance is available as an enchantment on shields from the general, master, and grandmaster enchanters.
- Block chance comes as a benefit from the “Blocking <X>” spell scrolls, up to 12% from the “Blocking VI” scroll.
Details of Health Loss
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:
- You begin the game with 200 health and gain 40 health per level.
- Vitality gives 3.6 health per point of Vitality.
- Health is available from a number of item modifiers and item enchantments. Most notably, Skull of Riechliu, which is available in any area that can drop level 73 items, is a socketable that give 1540 health. Earlier in the game, blood embers are a good source of extra health.
Details of Chance to Cast Fully Heal Self When You Get Hit
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.
Details of Damage Reflection
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.
III. Some Conclusions
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. )
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.)
IV. Some Commentary
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 most important defensive stat, damage reduction, is ridiculously hard to obtain. It's only available as an inherent modifier on a handful of items, most of which are unique rarity; and from two unique socketables, with the better one having a pretty ridiculous level restriction on where it drops.
- Armor is basically worthless.
- The system is opaque. An objective observer studying the UI for hints would likely conclude that armor is the main defensive mechanic. And that objective observer would be dead wrong. By the same token, an objective observer studying the UI would be hard pressed to find any clue that damage reduction is extremely important.
- With the introduction of Tarroch's Tomb, there are now a few monsters that pretty much require a shield (or a big range advantage) to survive. This puts too big of a crimp in build diversity. This problem could be solved by broadening dodge's scope or introducing a new parry/weapon block mechanic with a wider scope.
- Damage absorption applying before block is kind of a kick in the nuts for Engineers.
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.
[edit: Cleaned up a few typos, added RetsReds's point about armor not being worthless at low levels.]
Before Hob: The 5 Cave Paintings
I've been trying to make sense of the backstory of Hob, which is conveyed mainly through pictograms in the 5 sword caves on the world map. Here is what I've pieced together. Feel free to make your own observations. I don't remember what order the caves came in (they had to be unlocked sequentially as you leveled up your sword), I've put them in the order I think makes sense for this story.
Cave 1 (Center of the map): Hob's people, led by the Three, lived underground on an artificial world, for the sun was dying. The Three in the Tower watched, and waited, and when the energy of the sun could not be gathered any longer, they gathered all people near the tower and put them in stasis to prepare for the long journey. I believe (based on the next cave) that the whole world was the vessel on which they traveled, with the tower being the command center.
Cave 2 (Bottom of the map): The journey through the starless void felt an eternity to the three watchers, though their charges slept dreamlessly. It was not, however, for at last starlight illumined the tower again, and the worldship opened like a flower to receive it. The symbol that "moves" left to right in this cave is the one that represented the world in the last cave, but in miniature. The symbol that lights up last on the right is the save logo of the game as well. The symbol in the upper right is the new sun, and it shows up again in the next cave.
Cave 3 (Top of the map): The Three stretched in the unfamiliar light. They had work to do - a world to make ready for their people. They input their commands, and the world itself started moving. Lands long underground moved towards the light as the mechanical Helpers, reactivated, shepherded the world towards a new dawn. Note the sun symbol again.
Cave 4 (Left of the map): Despite this industry, all was not well. Speculation: [The sprites, an energy-manipulating race who lived in the orbit of the same star, found these newcomers not to their liking, and so infected the mind of one of the Three, and through them, the world. That would make the sprite mother and the ones you rescue dissenters or allies of Hob's people.] Regardless of particulars, one of the Three used his power to raise the purple Blight, which quickly overtook the land. The Helpers, attempting to obey their first directive, buried the land again to prevent further Blight victory. Speculation: [The last act of the other two of the Three before they were overtaken by Blight was to lift the tower off of the world, severing the connection of the defector to prevent his total victory]
Cave 5 (Right of the map): This depicts the war between the Blight and the Helpers. The Helpers modified themselves for war and threw themselves against the Blight, for their directive to prepare the land still had not been carried out. But the Blight was too strong, and even the Helper's colossi could not avail them. Here the Hob prequel starts. A dead Helper, given new life by the [rogue?] sprites, begins awakening the people one at a time, in the hopes that they could succeed where the Helpers had failed, and make the world a home fit for their brethren again.
Unexplained: the corpse?/empty cloak of the defector in Cave 5 (the headdress is the same). All Three are still in the tower, so what is that? Whence came the Blight? What are the four beings closest to the tower in Cave 1? The colossi? The (unlit) symbol in the upper left of Cave 4 does not resemble the sun symbol from Caves 2 and 3, so it's possible I have the order wrong. I also may have missed clues from the final encounter on the tower - the way I read it, either you accept that the Blight is good/deserves to be there and the last Helper continues its futile mission, or you reject the Blight, fight and kill One-Eye and then kill the last of the Three and take her throne, upon which the Blight is gone and the People emerge into the sunlight (and the last Helper is at peace :_)