I've checked the main avoidance point generation function in NavHelper.cs and found some bugs which may lead to disastrous results in avoiding skills.
Note: this is my own observation.
@rrrix
Bugs
Line 287 and 296
original
Code:
xyz.Distance2DSqr(a.Position) - (a.Radius * a.Radius) <= gridSquareRadius * gridSquareRadius)
should be
Code:
Math.Sqrt(xyz.Distance2DSqr(a.Position)) - a.Radius <= gridSquareRadius)
It is totally non sense to reduce a squared distance from another.
Line 319
gridSquareRadius instead of gridSquareSize
Line 323
original
Code:
Vector3.Distance(xyz, a.Position) + a.Radius <= checkRadius
should be
Code:
Vector3.Distance(xyz, a.Position) - a.Radius <= checkRadius
I suppose a.Position will return the center of the monster/object.
Make life easier
This one is canceled: (I changed maxDistance to 120f, and make the step sizes in Line 234 and 237 to 2. That results in a much efficient and intelligent avoidance points generation.)
Line 248 seems strange. I changed it to dx * dx + dy * dy > maxDistance * maxDistance
Line 297 - 301 commented. Most obstacles seems to be false alarm.
Line 329 - 340: I'm not sure whether it is useful. I commented them out and the avoidance seems still works well.
I may be totally wrong...
My season DH death/hr reduces from ~10 to ~2 after changes. Doing T5 normal rifts. This sounds like kidding tho...