Original Post — Direct link

In the Balance Manifesto we see:

"Previously if a projectile had a chain remaining, the skill couldn't return until it had chained the last time even if there were no enemies in range to chain to. Now the projectile will return, and could still make use of the remaining chain if it hits an enemy during that return."

I am wondering:

Does this only apply to Chain?

If there are remaining Split/Pierce/Fork will those still prevent Eeturn? I would assume they wouldn't prevent the Eeturn, but the post only refers to Chain.

Does this apply to "Return from final target"

From the wording in the balance manifesto, it sounds like it both would and wouldn't. On one hand it sounds like it still wouldn't return because of the "from final target" not being fulfilled, but on the other hand the two sources of generic "Return to you" that are not final target on Venom Gyre and Reach of the Council already occur even if there are remaining Pierce/Fork/Chain so this doesn't sound like it is referring to those mods.

EDIT: I guess this might also be "if a projectile hits final target and has a chain but cannot chain, it will check for return".

External link →
over 4 years ago - /u/Mark_GGG - Direct link

The description of current behaviour in the manifesto was incorrect - some inaccuracies were introduced while trying to shorten it from the longer description Nick and I worked out for the patch notes.

Previously, projectiles could only move forward through the list of behaviours (with some exceptions for pierce because that's handled a bit differently - it has to intercept before the projectile is stopped, not react to it). If it hit a target and was currently in the "chain" behaviour, and had chains left, it would try to chain. If it failed to chain (due to no valid target), it would move on to return and do that. Because it moved on to the returning, it could no longer chain (the remaining chains were "wasted"). If it hit something while returning, it would already have

Now, it checks the full list of behaviours to see if any are left on each target, so in that situation it would return after failing to chain, and then when hitting something else on the way back, it would see that it has a remaining chain and do that.

It returns in both cases, the change is that previously moving on from chaining to returning was a one-way state change, where now it just has a list of things to try, and tries each one it hasn't used up in order until something works, for each target.

The rule is technically universal over all behaviours, but chain is the only one it can happen for in "normal" circumstances - Splitting, forking, and piercing can't "fail" like chain because they can all happen regardless of whether there's anything else in range - they don't have a requirement like that to fulfil. Also, both splitting and returning can only happen once. So the only non-chain cases where it really matters are where specific modifiers prevent one of the other behaviours from happening on a given target (e.g. a specific monster that can't be pierced for some reason), or for other, more obscure behaviours on specific skills.

over 4 years ago - /u/Mark_GGG - Direct link

Originally posted by Snow_Regalia

From a technical perspective, is this going to come at a performance cost to players? I'm not sure how much of this is additive to previous projectile behavior or how much of it is simply standardizing and restructuring, but we've seen past behaviors come at huge costs to player performance due to the sheer amount of calculations that were being done at a given time.

No. This changes the order certain checks are done in, and the structre of the code around them. There is no signficant difference to performance, and what there is, would technically be expected to be an incredibly minor performance improvement, because it's actually doing less stuff now - it no longer has to set stuff to remember it can't chain again after failing.

over 4 years ago - /u/Mark_GGG - Direct link

Originally posted by Pintash

Just to clarify... forking and piercing can have multiple uses like chain. Even though they can't fail they can simply not be used if there is nothing to hit.

If only one of two was used up prior to returning the second pierce or fork use could still occur if something is hit on the return?

Sorry if I've completely misunderstood this.

Yes, if you have a source of returning that doesn't require hitting a target (in which case the pierce/fork would have happened on that target)