How Next Delay Impacts Martial Arts (an essay)

Skip to the “The Question” section above the first video if you understand in depth how NextDelay, LastCollide, Missile Size, and the Martial Arts (MA) charge-up skills function. My suggested changes will be below all the explanations and video demonstrations, near the bottom.

In D2, there is a function for missiles and skills called NextDelay (also called NextHitDelay or NHD). NHD has several purposes. Its main purpose for the MA skills is to prevent many of the same type of missile from hitting the same monster all at the same time and effectively preventing the area-of-effect (AoE) design of these skills.

Additionally, there is a function called LastCollide (LC), which prevents a multi-collision missile from hitting a monster for every frame it is passing through it. All untargeted Lightning skills have LC, as an example. LC is not an ideal solution in every scenario to preventing a single missile from hitting a monster more than once, which will be discussed below.

Missiles also have a size. This size dictates how many subtiles it occupies as it travels. A Size 1 missile is (normally) only capable of hitting one monster per frame along its path. A Size 2 missile can occupy two subtiles at any given time, so it has the potential to hit two (sometimes more) monsters per frame. A Size 3 (max) missile occupies three subtiles at any given time, and has a high likelihood (depending on how the missile travels) of hitting more than one monster at any given time.

Lastly, charge-up skills have a function called prgstack, which controls whether or not the release of a charge-up skill will activate all charges below it as well. Fists of Fire, Claws of Thunder, and Blades of Ice use this, while the rest do not. This means that when you release the third charge of Claws of Thunder, you will also activate the effects of the first and second charges of Claws of Thunder too. Likewise, If you release the second charge of Claws of Thunder, you will also activate the effects of the first charge of Claws of Thunder. However, if you release the third charge of Phoenix Strike, you will only release the effects of the third charge of Phoenix Strike.

However, the flaw with NHD is that it is global amongst all skills and missiles who use it. If a monster is hit by a skill or missile with NHD, every other skill or missile with NHD cannot interact with that monster for the duration of the NHD. In the case of all relevant MA skills, the NHD is 4 frames.

The relevant missiles in this discussion are:

Charge Missile Name NextHitDelay LastCollide Missile Size
Claws of Thunder (CoT) 2 Nova 4 frames Yes 1
Claws of Thunder (CoT) 3 Charged Bolts (CB) 4 frames Yes 1
Phoenix Strike (PS) 2 Chaos Lightning 4 frames No 2
Phoenix Strike (PS) 3 Chaos Ice Bolts 4 frames Yes 1

From here on, if I reference “Nova”, I am specifically referencing CoT 2 isolated. Likewise, “CB” references CoT 3 isolated. If I reference “CoT 3”, I am referencing the charges of CoT 3, 2, and 1. If I reference PS 3, I am only referencing the charge of PS 3 (see the explanation of prgstack above if this confuses you).

The Question

Practically, how does NHD impact the combination of these missiles? Theoretically, they have the potential to prevent each other from actually doing anything. The faster missiles will typically win the race, so Nova and Chaos Lightning would likely take dominance. But what happens if you only use CoT 3? Both Nova and CB have NHD. Would one make the other redundant to some degree? This is what I aim to demonstrate.

I will be demonstrating NHD within combinations of these missiles by setting one of the missiles to deal cold damage so the chill overlay will visualize what a missile does and does not hit. In my test, all of my skills are level 60. My charges were set to be infinite and to never consume. I have modded CoT and PS missiles to deal only 1 damage. I have set the Blood Moor to be densely packed with Zombies, made them immune to everything except cold damage, and gave them 5 HP.

When looking at these visualizations, the chill overlay is the takeaway. There will be combinations with other missiles which do lightning damage and activate their NHD. The idea is to see how a specific missile interacts with the rest of them. Each missile in each combination will have its own video applying cold damage to show how it interacts with other missiles.

First, let’s see how each missile visualizes when it is alone.

Nova:

CB:

Chaos Lightning:

Chaos Ice Bolts:

Here is what we can see from this:
CB and Chaos Ice Bolts expire on first collision. The first time they hit a monster, they are deleted.
Nova and Chaos Lightning do not expire on collision (only on distance/time). They will continue to hit multiple monsters.
This means LC has no impact for CB and Chaos Ice Bolts despite having it. They expire on first collison so they cannot hope to repeatedly hit the same monster as the missile passes through the monster.
LC would normally be impactful for Nova, but in truth it has little effect. Nova is a circular AoE, so it has extremely high chances of colliding with multiple monsters on each frame, thus making LC useless, as the LC status would swap back and forth between the monsters rapidly, achieving nothing.
LC has slightly more impact for Chaos Lightning than it does for Nova, but largely falls under the same issue. Chaos Lightning has a decent chance to hit more than one monster at a time, especially since it is Size 2.
In conclusion: LC alone is not enough to prevent these missiles from colliding with a monster more than once on their own, thus giving reason to their NHD.

Now, let’s look at how the missiles interact with each other. The phrasing of this will be written in the way of “How Missile X interacts with Missile Y”. What this means is Missile X is the missile that is being visualized and how ineffective it may be when used in combination with Missile Y. These demonstrations should be compared with how the missile normally visualizes by itself (with the examples above).

Let’s look at CoT 3 first and see if Nova and CB interfere with each other:

How Nova interacts with CB:

How CB interacts with Nova:

Interestingly, these missiles don’t really impact each other. The same monsters in the same areas are hit in the same frequency regardless of what the other missile does (Do note there is a bug or unknown interaction in the game where some missiles ignore their NHD, Fist of the Heavens is one such example).

How Chaos Ice Bolts interact with CoT 3:

Here is where we can see some real impact. Take note of the original Chaos Ice Bolts video and how closely packed the Chaos Ice Bolts hit. In this video, we can see the Chaos Ice Bolts hit much farther out. This is because the Nova is faster and applies a 4 frame NHD, so for the 4 frames following Nova, Chaos Ice Bolts cannot interact with a monster, so they hit monsters further away.

One may think, “Well, this is okay, it just makes the effective hitbox further away.” Sure, this is true, but try the skill out practically and see how it works. Unless you’re in highly dense areas, it is more common than not that the Chaos Ice Bolts hit little to no monsters and is effectively useless.

Also, note a visual bug! The client does not respect NHD and causes the Chaos Ice Bolts to vanish on first monster collision attempt. However, the missiles did not actually hit the monsters there, and continue moving server side. Thus, you see the monsters further away get hit by what appears to be nothing. The Chaos Ice Bolts are invisible as a result of this visual bug.

Let’s move on to other interactions.

How Chaos Lightning interacts with Nova and CB:

Once again, seemingly very little interference. The Chaos Lightning persists much longer than the Nova or CB missiles do, so it is effectively difficult to cause Chaos Lightning to be ineffective.

How Nova and CB interacts with Chaos Lightning:

Likewise, the same. Nova and CB are faster than Chaos Lightning, so they dominate their space first and Chaos Lightning does not interfere with them. You can see small interference in the middle of Nova’s AoE and see how some monsters don’t turn blue, but the effect is not extreme.

Phoenix Strike does not have prgstack, so unless this were changed, Chaos Ice Bolts and Chaos Lightning could never happen at the same time.

TL;DR of the video demonstrations: CoT 3 massively deters PS 3 in the area of CoT’s Nova, but otherwise none of the four NHD missiles are massively detrimental to each other. So nothing needs to change, right?

The Greater Concern

Dragon Talon is able to kick at a speed of up to 3 frames. With these 4 missiles having 4 frame NHD, it makes every other charge activation for those missiles ENTIRELY redundant. Let’s suppose you only used CoT 3 and PS 3. This would mean, with exception to the single target effect of CoT 1, every other kick is entirely wasted, and you are effectively kicking at 6 frames. You are forced to stay at 4 frame kick to gain the full effect of your skills (with exception to the interference mentioned above). Additionally, Dragon Claw’s action frames are very likely within 4 frames of each other at high speeds, making the second hit of Dragon Claw also completely redundant.

My Proposed Changes

The best solution is to redesign NHD to not be global amongst all missiles and only global per skill function execution! This will still prevent a single Nova from hitting a monster more than once. It will prevent two different missiles from the same skill function execution from hitting the same monsters at the same time. It will not prevent missiles from other skill function executions from hitting this monster as well (each charge would be its own execution of a skill function). This change alone would completely fix the missile interference issues listed above!

Assuming the above fix is out of the question:

Remove NHD from CB. It is fine if multiple Charged Bolts hit the same target. Charged Bolt (Sorceress) and Charged Strike do not have NHD, and their Charged Bolts are capable of hitting the same target. Let this effect be single-target burst. This change would be unnecessary (though welcome) if NHD were reworked.

Reduce NHD of Nova to 3. This will have the effect of allowing Nova to double hit Size 3 monsters ~50% of the time (depends on orientation and active movement of the monster) which is not a huge issue. Other novas already double hit at the outer edge of their AoE. Nova is the only exception to this rule because it does not slow down at the end like others do. This Nova is weaker than Sorceress’s Nova, and I do not think it would be overpowered to let this Nova have a chance to double hit large, moving monsters. This change would be unnecessary if NHD were reworked.

Remove NHD from Chaos Lightning. Instead, enable LC to reduce the chances of the missile hitting a monster more than one per passthrough. No other untargetted Lightning ability has NHD. This Lightning is more easily capable of colliding with more than once monster at a time than other untargetted Lightning abilities, so hitting a monster more than once on a single passthrough is possible, but still unlikely given that monsters move. At the very least, give it a NHD between 1 and 3 so that it is not entirely redundant when used with quick finishing skills. This change would be unnecessary (though welcome) if NHD were reworked.

Reduce NHD of Chaos Ice Bolts to 3. This skill design actually needs NHD, otherwise the initial spiraling motion of the missiles will all collide with (and then expire on) the same monster, nullifying its AoE effect. This change would be unnecessary if NHD were reworked.

With these changes, the designs of the skills will be preserved without an immense amount of unintended missile collisions and allow them to be used to the fullest potential under rapid activations. The interference between Nova and Chaos Ice Bolts will still exist unless NHD is redesigned, but the effect will be slightly reduced.

46 Likes

I’d amend slightly and say it should apply across a given skill function being executed (i.e. each missile created by a given function execution shares NHD). This would cover any cases where a skill consists of several missiles that should not all be able to hit the same target, but it would stop the problem where two different skill functions (like two charge-up effects) block each other, and it would stop one player’s skill function from blocking another player’s (e.g. I use Claws of Thunder and my friend uses Chain Lightning).

But 100% with the concept, they need to replace NHD with a better system that doesn’t cause skills to not deal damage when they should.

Also I’m amenable to the idea of Claws of Thunder’s charged bolts not having the new “not-NHD” to be in line with Charged Bolt and Charged Strike. Makes perfect sense to me.

Well put together.

5 Likes

good call and good suggestion, that one is better than mine

I feel genuinely bad that no dev will read this.

14 Likes

they read these. my last big post was read by a dev (and hence where the refreshing charge stack duration came from). they just don’t ever reply to them.

still, this is more informational to players who don’t know how NHD interacts with each other. and gives a definitive outline/visualization on how big the effect is for everyone.

9 Likes

Great work actualy. Hopefully they will notice this topic and it will not get burried.

1 Like

Great work!
However, I still suggest removing NHD from Chaos bolt - the damage per icebolt is too low. all of the ice bolts hitting the target can cause acceptable damage.

1 Like

Insane work,
I really hope they see this and maybe tweak some things

2 Likes

Incredible work, i didnt know about NHD but with this explanation it is CLEAR

2 Likes

i think thats the reason i prefer for it to be a slowing AoE rather than single target burst. but frozen orb doesn’t have NHD so its not a crazy idea :slight_smile:

1 Like

hate to burst your bubble but a streamer that i gave my original post to gave it directly to a blizzard dev and they read it. and for clarification, im not indicating they specifically chose my suggestion and that it was my idea. theres thousands of people playing this game, teh chance i come up with an original idea is effectively 0% lol. the point was that i had prior info that they DID read it, and that a change they made was part of something i wrote after knowing they had read it that was not largely talked is a good indication that they do read these posts

just because you think they don’t read it does not mean they don’t read it. even if you strawman my defense with “but a streamer gave it to them” that is still significantly more evidence to them reading it than not reading it. they probably don’t read every garbage toxic post half of the players post here, but they definitely read things and take things into consideration

2 Likes

FO does have a cooldown and, except for size 3 targets with the final burst, its missiles don’t all hit the same target anyway though. So they each have different limiters.

This undermines the argument though. If they read it because a streamer passed it along to them, that’s an exception that proves the rule that generally they don’t read everything on the forums. (And who would have time to do that? This is part of why they have community managers - to elevate items from the forums to the developers as appropriate.)

That’s not a strawman. That’s an exceptional circumstance that does not apply to the vast majority of feedback in the forums.

I’m not arguing that they didn’t read your post. But I am asserting that they do not read the vast, vast majority of posts.

1 Like

why does a dev reading something because a streamer gave it to them evidence that they wont read anything else? that doesn’t make any sense to me. there is 0 evidence to suggest they don’t read anything at all. there is partial evidence to suggest that they do read stuff (even if theyre directly linked to it by a streamer).

you have 0 evidence to show that they don’t read anything at all. asserting that as truth with no evidence is logically invalid.

Because there is a causal relationship there that is absent with other posts, and because absent that relationship it is wildly unrealistic to think that they dedicate the amount of time that would be necessary to keep up with most of the conversations on the forums, Reddit, Twitter, etc. Again, this is a big part of why there are community managers. They elevate feedback as (in their judgment) it makes sense to do so.

I did not say they do not read anything at all. That actually is a strawman if we want to do this debate-bro style.

you didn’t say it, the other guy did. im pretty sure we’re arguing the same point. i never made the implication they read everything. i am only saying that this is not a pointless echo chamber, and that they will read things given the right circumstances. the guy that i originally replied to suggested they read ltierally nothing at all, which is all im arguing against

wow this is such an amazing read, thanks for putting this all together. it will be interesting how dual mosaic, in combination with D2R’s change to DTalon (releasing charges on every kick in the sequence), will turn out in terms of PvM damage/efficiency

from what you’ve learned, what would be your ideal dual mosaic MA build? ie which # charges from which charge skills, and which finisher? do you think such a build would really compete with the other top off-meta builds (ie frenzy/ww barb, windy/fire druids, FOHdin, bowzon, trapsin)

1 Like

there is way too much variation and build possibility to say for sure which combination is best. the coolest part of MA sin is there are at least 6 different variations that are all strong enough to be considered as a top contender.

and with the right one and the right item build, this can definitely compete with other non-op builds. this build could rival javazon in non-dense areas (before someone comments, yes, javazon is still leagues ahead in dense areas…) as they share similarity in several aspects

still, several issues plague MA sin. dragon flight has a fixed 23 frame animation length that cannot be sped up, relatively poor range, and required LoS, all while the client doesn’t properly check for the last two conditions so half of your dragon flight attempts will fail. NHD has a gross interactions for chained charge executions with the new mosaic function. dragon tail is still bugged on live and client/server kick at different frequencies, causing dtail to fail enough times to be annoying.

1 Like

thank you for the detailed essay.

To be honest, I never quite understand why they have to implement Next Hit Delay to begin with outside of hardware limitations of the time. and if that is the case, it should be removed 20 years after as Blizzard’s servers are getting so much better…

The existance of Next Hit Delay has ruined lots and lots of builds

4 Likes

Yes, the mechanism is out.
20 years ago, NHD is because of hardware limitation.
For now, no reason to keep this.

There would be half failed hit when Dragon tail kicks continually.
Really terrible.