How Next Hit Delay Actually Works (another essay)

I find myself explaining somewhat frequently the mechanics of Next Hit Delay (NHD) and I see a few videos about it on YouTube that are close to how it works but are either off by a little bit or greatly over-exaggerate its influence in some cases. So let’s write out a full detailed explanation of NHD mechanics with plenty of examples so that I can just link people to this post.

How Next Hit Delay Works

Next Hit Delay (a combination of the columns NextHit and NextDelay from within the ‘missiles.txt’ file) is a mechanic used to prevent a missile from colliding (interacting) with an entity (player or monster) shortly after another missile already had. This means that if an entity is subject to NHD, every other missile with NHD will simply pass through it for the duration of the original missile’s NHD.

NextHit is simply a boolean determining whether a missile should use NextDelay. If a missile has NextDelay but does not have NextHit=1, then NextDelay does nothing. This can be seen with Fist of the Heaven’s Holy Bolt missiles. They have NextDelay, but no NextHit, and thus they are still able to shotgun because of it.

NextDelay is the determining length in frames of how long the entity this missile collided with is unable to be hit by any other missile also containing NHD. There are 25 frames in a second. If an entity is hit by a NHD=4 missile, and then is hit by Blizzard (which does not have NHD) 1 frame later, the Blizzard will continue to hit the entity. If an entity is hit by a NHD=4 missile, and then hit by another NHD missile in the same frame of the application or the following 3 frames, then that missile will pass through the entity. On the fourth frame, NHD will have expired and another NHD missile can collide with that entity.

The purpose of NHD

NHD aims to prevent multi-missile skills from having all their missiles collide with and end on the same entity. It is also an anti-shotgun mechanic. Think of shotgun skills like Multiple Shot and Teeth. The missiles of both of these skills have NHD=4. If two Multiple Shot or Teeth missiles collide with the same entity, one will hit the entity and the other will pass through it. This is why these skills cannot shotgun, as only 1 missile is able to hit each monster from each effective cast. Charged Bolt (Sorceress), on the other hand, does not have NHD. If you stand really close to a large monster and cast Charged Bolt in the right direction, all Charged Bolts will collide with the monster, creating an effective shotgun.

Let’s think about Nova skills. Nearly all nova skills have a NHD. Poison Nova, Frost Nova (and the monster variation), Nova (and the monster and trap variations), most if not all Barbarian Shouts, and Leap Attack’s Nova, to name some, all have a NHD of 4 (exception to Cold Enchanted death explosion Frost Nova, which is 3). This is to prevent the nova from double hitting as it passes through the monster. Since nova missiles do not expire on collision, they are able to hit an entity every frame that the nova missile passes through it. NHD serves to prevent nova skills from hitting an entity every frame the nova missiles pass through it. Basically, this is the reason you or a monster are only hit once by a particular nova skill and not 3-4 times.

Let’s think about large area-of-effect (AoE) skills. Frozen Orb is one such skill. However, Frozen Orb does not have NHD. This is why the orb explosion at the end can shotgun and do more damage than the normal missile spam as the orb moves. But Phoenix Strike, which bares some similarity to Frozen Orb, has NHD. If Phoenix Strike did not have NHD, every ice bolt released would end up colliding with the monster you kicked, shotgunning the monster and removing the entire AoE expression of the skill. Thus, NHD serves to ensure some skills with many missiles function in an AoE mechanic while also effectively preventing shotgun mechanics.

Lastly, there is one unique usage of NHD involving chain lightning skills. Any chain lightning skill uses NHD to know what to target. Every chain lightning skill has NHD. This is why chain lightning skills don’t infinitely bounce back and forth between the same two monsters always (as it is likely the case that the next closest monster to the current monster is the monster that was just previously hit by the chain lightning skill). The NHD serves to determine the next entity to auto aim, so that it will actually hit groups of entities and not only 2. It has no other determining purpose, as it is an auto-aiming missile, so it does not normally have the possibility of colliding with more than one enemy at a time.

What the New Change Brings

For most of the game’s length, NHD was global. Every single NHD missle, regardless of source, could not interact with a monster that had recently been interacted with by another NHD missile. Have you ever played with an Assassin running Shock Web and feel like neither she nor you do any damage to the monster under the effects of Shock Web? Well, that would be because of NHD. Shock Web has a 25 frame NHD, which is a full second. It is also an active, stationary, ticking missile. This means that as soon as the NHD expires from the first hit of Shock Web, if the monster is still in the Shock Web, they will immediately be hit by Shock Web again. This obviously serves to prevent Shock Web from dealing damage every frame and limiting its damage rate to once per second. However, this comes with an issue. NHD is global. This now means that Wake of Fire (another NHD missile skill) cannot interact with that monster at all. It also means a party member, a Tornado Druid, where Tornado is also a NHD missile skill, cannot deal damage to that monster either.

Multishot Amazons are another example. Every arrow has NHD. If you have a quick-firing NHD Multishot Amazon in your party, they will be able to apply NHD to monsters for roughly half of the monster’s life time under constant cast. This means that any other NHD missile user in the party will have roughly a 50% chance to hit a monster that is under active Multiple Shot fire (based purely on hitting at the right timing during those few frame periods between Multiple Shot volleys).

This is where this NHD change really comes into play. NHD is no longer global. Instead, it is (confirmed to be) per skill execution. This means that under a single execution of a specific skill, only the missiles from that particular skill execution will share a NHD timer. So what does this imply?

Imagine two Nova sorceresses playing together.
Before: Both of them cannot attack the same monsters without one of the Sorceresses’ Novas ending up being mostly useless because once one Nova hits a monster, no other Nova can hit each monster, including the party member’s Nova. Each Nova missile can only hit each monster once, and then, due to NHD, it won’t hit that monster again.
After: Both of them can now attack the same monsters, as each Nova cast has its own NHD, rather than it being shared between the both of them. Each Nova missile can STILL only hit each monster once, because NHD prevents that particular missile from interacting with each monster more than once during the nova’s lifetime.

Before: Two Multishot Amazons cannot volley spray in the same area without heavily canceling each others’ damage out.
After: Two Multishot Amazons can now volley spray in the same areas, as each volley has its own NHD timer.

Before: Baal and his clone cannot cast two skills at the same time and have both of them hit you. Many, if not all, of Baal’s missiles have NHD, so if Baal and his clone hit you at the same time, only one of the missiles would deal damage.
After: Baal and his clone can now both hit you at the same time in every circumstance, as each one of their skills have their own NHD timer.

I’m sure you see the point. Every NHD skill sees some “buff” to this change when in a group/party with other users of NHD skills. Your Poison Nova will now always hit a monster it passes through even if there is a Multizon Amazon in your party spamming volleys.

Let’s look at situation where this change as no effect:

In solo play, all nova skills gain no benefit. Nobody can cast their novas at a rate faster than 4 frames (unless you want to be technical with Claws of Thunder), so NHD has always expired before the next nova missile came in. The NHD is still shared amongst all the missiles of each nova, so each nova will still only interact with a monster once and not normally be able to hit a monster more than once per missile. The same can be said for shotgun skills (one could technically think of nova skills as shotgun skills).

In solo play, chain lightning skills also get extremely little benefit. It was only used to determine which entity to target next. It was never used to avoid applying damage. In very specific situations, such as spam casting Chain Lightning into a group of 2-3 monsters, Chain Lightning will do more damage here, as each Chain Lightning can now target monsters individually and so two Chain Lightnings can target the same monster. Outside of this, Chain Lightning sees no benefit. In large groups of monsters, Chain Lightning will almost never run into a scenario where there is no monster nearby that is close enough that is also not under the effect of NHD to target, so Chain Lightning will almost never abruptly end due to no valid targets.

Specific Skill Interactions

There are a handful of builds containing either more than one NHD missile in a single skill, long enough NHD lengths that you are able to cast another NHD skill within the same time period, or the build has the ability to cast more than one NHD skill per animation. These are:
Martial Arts Assassin using Mosaic: Claws of Thunder, charge 2 and 3; Phoenix Strike, charge 2 and 3
Trap Assassin: Wake of Fire; Blade Sentinel
Wind Druid: Tornado and Twister
Fire Druid: Volcano and Fissure

All of these builds will see damage-per-second (dps) increases even in solo play, as the global NHD timer applied across their skills at the same time as well. This means that a Martial Arts Assassin won’t see half of her missile damage output suddenly vanish. A Trap Assassin can lay down multiple Wake of Fire traps and each trap will deal its damage to the same monsters as other traps. A Blade Assassin can have two Blade Sentinels hit the same monster at the same time. A Druid can cast both Tornado and Twister or Volcano and Fissure without the skills negatively affecting each other. A Druid can spam cast Tornado and every Tornado can deal damage to each monster, rather than just one Tornado per monster. A Druid can also spam cast Twister without every other Twister volley being useless.

Common Misconceptions

This change does not affect any skills not possessing NHD. Here is a list of player skills impacted by this change:

https://maxroll.gg/d2/resources/next-hit-delay#next-hit-delay

Do note, at the time of writing, Fist of the Heaven’s Holy Bolt, Dragon Flight, and Grim Ward are listed as having NHD when they do not. I let Maxroll know about the incorrect information.

There is another, separate bug in the game with poison damage which has no relation to NHD, though many people I’ve seen talking about it think there is a correlation. Read more about it here:

Yes, Martial Arts Assassin got buffed. But it is not as massive as a buff as many people think it is, as many people start with the assumption that huge portions of the Martial Arts damage are being ignored. This is simply not the case. I can see specifically Phoenix Strike charge 3 doing upwards of double the dps it use to, but charge 3 was not the meta damage build to begin with, as charge 2 does much more damage. Still, it’s a notable buff. Maybe upwards of 50% more total dps factoring in all sources. Yes, that is still a lot. But it is nowhere as crazy as 100% or 200% more total dps that many on the forums are claiming. Yes, this build got powercrept even harder with this change. But please understand this change is extremely healthy for many other aspects of the game, and was not introduced to buff Martial Arts Assassin specifically. I am personally hoping that in light of the NHD change, Blizzard will be comfortable nerfing the Martial Arts Assassin in some form to counteract this change and as well as bring down her current 2.6 power level some as well.

10 Likes

So, where is it healthy? Also, I would say that party play got buffed, 5x Nova Sorc in Throneroom should amount to 5x Damage, right?

if you think it’s healthy to have a hidden mechanic that makes you do 0 damage when playing with your friends, then by all means. this doesnt make 5x nova sorcs do 5x the damage, it makes 5x nova sorcs actually do their damage instead of 1 nova doing damage and 4 of them being ignored.

5 Likes

Healthy for Druid because tornado, twister, and volcana had problems with the old nhd system, so those skills will actually work like they are supposed to and deal damage per cast.

1 Like

Let me see if I get this right… lets say they do damage of 1.

5x1 = 5.

1x1 + 4x0 = 1.

Hmm.

all it is is a nitpick of language. if you go into the game assuming 5 nova sorceresses all do their intended damage, they are not doing 5x more than that. if you go into the game with the understanding that “wow, 4 characters abilities are useless due to a hidden mechanic”, then sure, in that scenario, with this change, the damage would be effectively 5x.

6 Likes

So wait… is this going to fix poisons damage interruption when there are other sources of damage being applied?

Might actually be worth making a skeleton/poison build if they fix this

did u read the thread? i explicitly stated in it that this does not fix that issue, and many people are misunderstanding the change that it does fix it, when it does not

2 Likes

Ahh, I see it. Bummer. Should still be a positive multiplayer change though. Thanks for the write up

1 Like

it is bummer, maybe i write a whole thread on that issue and they address it next patch xd

“The Next Hit Delay system now only applies to missiles created by casting the same skill”

My interpretation of this is that different skills will no longer apply NHD to each other, but ALL castings of a specific skill (no matter if from yourself or others) will still NHD each other.

Meaning 8 nova sorcs will still NHD each other a vast majority of the time.

why bother specifying “cast” then? couldve just written “The Next Hit Delay system now only apploes to missiles created by the same skill”

1 Like

Yes, this is my understanding as well. NHD is now per skill instead of being global, meaning exactly what you say: 8 nova sorcs will NHD eachother, but one of them casting nova won’t stop the other one from dealing damage via literally any other spell.

no, the patch is out, its been tested, its per cast

2 Likes

“A Trap Assassin can lay down multiple Wake of Fire traps and each trap will deal its damage to the same monsters as other traps.”

Thanks for your work, but I still do not fully get it. The Next Hit Delay system now only applies to missiles created by casting the same skill”

If I lay down 5 wake of infernos, this is all the same skill. So you are saying that there is no more NHD issue for these traps, because each layed down trap counts for itself? Thus, the 5 traps no longer NHD themselves like for ages.

its explained in detail in the post… it is the CAST of each skill, not just each skill… and the 2 above previous replies also clarify that…

wake of inferno doesnt have NHD, so theres nothing different there.
wake of fire has NHD, and before only 2 wake of fire waves (aka 2 traps) could deal damage, otherwise NHD prevented the rest of them from doing anything. now all 5 waves will deal damage.

2 Likes

Yes, I mixed up the fire taps indeed. I read your post and the replies, I was still not sure.
Thanks for taking the time to reply.

where has this been proven? That seems very unlikely after reading the patch notes especially.

me, i proved it myself by testing it. i set fire bolt to 2 second NHD and every fire bolt hit

Yes wake of fire is insanely buffed now.

Lightning skills are buffed now as well like chain lightning.

Casters are even more broken.

Gg melee just delete.