I'm a tank, so my job is to keep mobs coming after me, and not after my squishy dps partners, however I am not sure what the aggro/threat rules are
I'm fairly sure it's not the closest player or the one that hits first based on some of the longer boss fights I've done with some friends. I don't think it's damage-based either, although I'm not positive on that one. I also don't think its entirely random because I'm usually not targeted if I hang back.
I'm looking to find out:
How does aggro work in Diablo III?
Can it be "controlled"?
And does it work differently for bosses or regular mobs?
I play a tank and try my best to keep aggro on me at all times, and here is what I've observed
Aggro is initially obtained through proximity or attacks (even non-damaging attacks)
Aggro obtained through proximity can be trumped by damage, meaning if you do damage you can pull aggro off of someone who had obtained it through proximity only.
You do not pull aggro from doing more damage than another person once aggro is obtained via damage
Mobs will frequently and randomly decide to stop hitting their target, and look for someone else to hit. Once this happens, aggro can be re-obtained through the same thing: either proximity or attacks
Skills which interrupt mobs, including those which push/pull mobs around, will cause monsters to find a new target after they've recovered
Boss fights seem to work the same as regular mob fights
Some things I have noticed to back this theory up:
If I aggro monsters by being too close to them and my DPS hits them before I do, the monsters run for the DPS player
If I pull monsters with a damaging ability, such as Cyclone Strike, I keep agro for a few seconds regardless of how much damage the dps players do until monsters randomly start dropping aggro and looking for a new target
Tanking monsters with an AOE dps ability active, such as Sweeping Wind, typically will keep monsters on me since when they drop agro, my aoe ability will tick and cause them to stay on me. Of course, it's not perfect since dps has a chance to hit before my aoe ability ticks.
Using a skill like Cyclone Strike to pull a mob off a dps player will cause the monster to re-focus on me in most cases, unless they take damage from the dps player before I can do damage, or are shielded/invulnerable so I don't do damage
Initial agro is acquired by attacks, or proximity from a player. After that, if other players / minions come into the screen, it's random. Agro can't be controlled in the same way threat levels can in WoW (assuming you can relate your question to that). However use of snare, confusion, slow spells can help. When you force the mob to slow it's path of direction to you, it's more likely to jump to another player in that time.
Pretty loosely. In most cases it's first proximity which can be
trumped by damage. It depends on the enemy, though.
So this means that range is the primary reason mobs attack you. Obviously range enemies have a higher range so its harder to estimate but for melee mobs it's pretty obvious. If you want to "hold aggro" you gotta do more damage since we don't have the option of real taunt's for most classes.
Cyclone Strike is kind of a taunt in the way that the enemies get into melee range or close to the monk, therefore they will primaril attack him unless you outperform him damagewise.
I tested non damaging effects like threatening shout and Horrify.It seems they will also aggro (horrify obviously after the fear effect is done) because an effect produces more threat than just coming in range of an enemy.