The issue where the Sniper continuously crounches still persists. I think it would be high time to try to fix this since it has been an issue for a long time.
/ Regards coldIRONy
Under the heading of "It took long enough": The TakeCover/Crouch system has been completely rewritten.
Its
unbelievable the amount of work it takes to simply get Crouch working properly. The final solution involves a wicked state machine, and 400 lines of code. The new algorithm simplifies to:
- Prefer Take Cover
- If Take Cover fails, try Crouch
- If Crouch fails, close some distance to the target and start with Take Cover again
- If we make it within melee distance to the target (never happened in any of our testing), just keep trying to Crouch between attacks.
In addition to that, we handle the glitchy cases:
- There are certain spots on the terrain that cannot be TakeCover/Crouched. The ability says we succeeded, yet the buff is never acquired. We detect this situation, and move closer to the mob and try again.
- There are certain situations where SWtOR says we have Line-of-sight to the target, but the ability claims we don't. We detect this, and move closer to the mob to try again.
- If the mob moves out of range or gets knocked out of range by one of our explosive attacks, we move closer and reapply TakeCover/Crouch.
- If a mob hides behind an obstacle due to pathing glitches, we move to line of sight and reapply TakeCover/Crouch.
- We also test for Line-of-Sight after crouching to determine whether action is needed.
This corrects those situations where a mob is slightly elevated, and our crouching too close to the dias on which it stands breaks line-of-sight. Without corrective action, the mob can hit us, but we can't hit the mob.
Another example is a box/barrel between us and mob that is LoS-okay while standing, but LoS-impaired once we crouch.
- Dozens of other conditions like those listed above.
There is one glitch remaining. It looks like this: the toon will TakeCover/Crouch, but every time it tries to use an ability, a "Cannot See Target" message will show up on the screen. From a programming viewpoint, this situation is not detectable (the
EffectResult return code from the ability use is 'Unknown', which is unactionable as its returned for many things--okay or not). Since the situation is not detectable, we cannot determine that corrective action is needed. We have looked at all kinds of alternative ways to detect this situation, but have come up empty handed. <sigh> Fortunately, in about a week's worth of testing, this situation occurred only about 5 times.
The new implementation has
much testing on it--Agent and Smuggler both to level 10 about a dozen times, and spot testing a level 25 Sniper.
Not all crouch-using classes/specs have been explicitly tested. Yet, despite this there may still be bugs. We had to work around all kinds SWtOR glitches/bugs involving LoS and terrain.
We've hooked the new functionality into all the CCs that were using "Crouch". We left the old code in place, but commented out should you run into trouble. After a while, if the Community verifies it works satisfactorily, we'll delete the commented out code.
You can find the new functionality in
WingIt changeset #686. Take your time and test it--don't be in a hurry. Please report back your success or failure, so we know what further actions to take.
cheers,
chinajade