UnknownX7/ReAction

[Usability] Regarding the new Queueing enhancements

Closed this issue · 2 comments

I have been enjoying the new Queueing threshold option in ReAction, especially since certain issues that it had in its previous incarnation within NoClippy have been resolved. However, there are still a couple usability issues to resolve before it will work flawlessly and effortlessly.

  1. If you happen to press two buttons at the same time by accident (fat fingering), the other skill will unexpectedly happen when your GCD finishes rolling. (You may not think this would happen often in raids, but consider more chaotic game modes such as PvP.) To resolve this, it would be best not to use a full 2.5 second window. So let's say you set it to 2.0 seconds. But then you switch to Monk and have a GCD of 1.95 seconds. The issue will still occur. Now you set it even shorter, to 1.5 seconds, faster than the GCD of any class. At this point, you can't be sure whether the skill actually queued or not if you press in the middle of the GCD, mostly defeating the point of the feature.

In order resolve this issue, we need a feature that inverts the Queue Threshold and turns it into a Queue Lockout that prevents queueing within an adjustable time period since the last ability was used (defaulting to 0.5 seconds probably). This way the queueing window will function consistently between different GCD lengths.

  1. The other issue occurs if you use a form of input that tends to be applied repeatedly (scroll wheel keybinds) or if you're using it in conjunction with the new Turbo Hotbar Keybinds feature. Any button you press can immediately re-queued with little to no opportunity to prevent it. Consider a skill such as Gunbreaker's Rough Divide, which is an oGCD with two charges, and you will see the issue. If you use it with a scroll wheel or a turbo keybind, there is a very high probability that the skill will be used and immediately queued again, and there's no way to stop it if you have Queue Lock Threshold enabled to a value such as 0.5. (and even with Queue Lock disabled, you'd have a very small window to input another action)

In typical gameplay it is very normal to mash two oGCDs at nearly the same time (double weaving), so we can't use something like the Queue Lockout universally so that it applies to oGCDs as well as GCDs. But it's never optimal behavior to use the same oGCD twice in a row in normal gameplay. Therefore, the most precise way to resolve this issue is one that only affects the ability to re-queue the exact same GCD or oGCD within an adjustable time threshold. For example, if this feature is enabled and you just used Rough Divide, it will block Rough Divide ONLY from being queued for the next 0.5 (adjustable) seconds. This value could be referred to as the Requeue Lockout.

I've added some extra features that should hopefully alleviate these issues, please let me know if they do.

It does seem to work much better, now. I noticed that the lockout is scaled to your GCD which effectively makes the slider a percentage. Perhaps that would be a more intuitive way to present it.

These changes seem to have addressed all of my concerns, nice work.