It's all about who hit the mob last.
TL;DRExcluding special mechanics, mob aggro table is based entirely on a combination of "who hit me first" and an astonishingly short attention span. The person who first taps the mob will get somewhere in the range of 5 seconds (+/-2) of aggro on that mob. At that point, if that person is still attacking without interruption, they will maintain that aggro until they are interrupted. If, however, that person does nothing after that first tap, the mob will swap to whoever has attacked them most recently at that point in time.
Update from 2018 -> 2021
The timer on aggro checks seems like it shortened from ~7sec in 2018 to ~5sec in 2021, but that's within our error margin and might not be different. Heals and damage over time do not seem to generate as much (or perhaps not at all) aggro in 2021 as they did in 2018.
Background
First up, a quick definition: In this context, "Aggro" is basically who a hostile NPC or monster (a.k.a. mob or boss) wants to attack. If you have aggro, you're about to get smacked.
I like tanking, but I taunt's problems drive me insane (puncture has a massive cast time hidden in the animation, inner fire doesn't apply breach, and I don't want to give up gear slots), so I like to control aggro as much as I can outside of taunt. To find out just how hostiles decide who to attack in ESO, I took a few willing
sacrifices pals out to test just how aggro mechanics work with your average dungeon boss. Our
first round of tests was done in 2018 and the second in 2021. Although there were some changes we noticed between the two rounds of testing, the basic rules are similar.
We tested facepulling, dps, healing+dps+shielding, burst vs consistent dps, proximity, and a few other variables you can preview in the "Method Variables" spoiler below. For information on where and how we did this, see "Testing Variables." The only thing we didn't do was taunt.
Aggro in Practice
It's about frequency, not quality. Mobs attack the person who attacked them first. Five seconds later, they attack the person who hit them most recently. An uninterrupted stream of direct damage will hold aggro off anything but a taunt. Damage over time only aggro's off each tick, which can leave long gaps between ticks where other people's actions can steal aggro. Heals, blocking, and pets do not generate any meaningful aggro.
Let's look at three examples. In all examples, we are using the first miniboss in veteran Fungal Grotto 1, who is about as basic as a dungeon boss gets -- he's basically a standard melee monster with a slightly larger health pool. None of the players are wearing gear that has any procs (in fact, most players are wearing only a weapon... except for Fish, who really commits to the naked lifestyle and went full bare fisted, bare bottomed boxing).
Example 1: Burt the healer runs his face straight into the boss and starts heavy attacking. Because Burt is the worst healer ever, he just uses his restoration staff to constantly heavy attack. Moo the damage dealer tries to do his job proper by absolutely laying into the boss with every ability on his bars and weaving light attacks between casts. Moo is now doing ten-fold Burt's damage, plus more buffing and healing. The boss ignores Moo and continues to attack Burt.
Example 2: Fish starts the pull by casting his targeted DoT under the boss. Anti follows and casts a similar spell. The boss stays on Fish. Moo enters the room and casts orb, which is also a dot but has a shorter gap between ticks of damage (i.e., 0.5seconds instead of 1seconds between damage applied). After ~5 seconds, the boss attacks Moo. Burt is in the room the whole time, enjoying the scenery, and the boss does not care.
Example 3: Fish, Moo, and Anti run into the boss room where there are 3 mobs up. Fish casts a targeted ground-based damage over time spell under the boss, Moo spams light attacks on the boss' pet dog, and Anti casts one light attack on their goblin archer buddy. Each mob is now attacking the person who touched them. Burt runs into the room and starts spamming regeneration. Moo is still light attacking, Fish is keeping his dot up, and Anti is doing her best statue imitation or maybe has gone afk because she's doing nothing, but the mobs are still attacking them. Burt escalates by casting every heal on his bar. The mobs do not care and continue attacking Fish, Moo, and Anti. Burt gives up on healing these idiots and begins attacking, which gets immediate aggro from the mob on Anti (who is doing nothing), aggro shortly after from Fish's mob (he was only dropping an aoe dot), and never pulls Moo's mob (Moo is still spamming LA).
Testing Variables
Methods Variables
So, folks, this is why I will let you die if you sprint ahead of my fast-pulling tank just to get the first light attack hit on a group of mobs (especially if you proceed to spread them out rather than group them up like my tank, but that's a separate topic). Aggro has nothing to do with output/input and everything to do with activity.
This is all helpful, perhaps even vindicating info, and highly entertaining to certain nerds among us just for testing's sake. That said, I thought I'd throw in some
suggested ways to apply what we know of aggro into your gameplay:
- Taunts are still super great since they allow you to pause attacks long enough to, say, block/bash/move/switch targets.
- Let the person who is supposed to have aggro make initial contact.
- If you want to hold aggro without taunting, open with direct damage and never stop. This applies for both single-target and aoe.
- If you are pulling, lay down the biggest aoe you got, and lay it down a couple times if you have to spread over the mobs you want. Then keep casting an aoe DD to keep the mobs on you or tell dps they have 5 seconds before aggro is on them.
- If you need to swap aggro without taunt, swap who is actively attacking it (keeping in mind that procs and damage-over time effects will keep ticking for their duration).
Edit Log