Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

librange: initial combo points lost due to client timing issues #1263

Closed
pabonamu opened this issue Mar 9, 2024 · 19 comments
Closed

librange: initial combo points lost due to client timing issues #1263

pabonamu opened this issue Mar 9, 2024 · 19 comments

Comments

@pabonamu
Copy link

pabonamu commented Mar 9, 2024

I saw a fix what was made for the issue of missing combo points. I actually noticed this problem a few months ago, but I didn't report it at the time. Instead, I just switched to using a different UI addon. After seeing the fix was made, I downloaded the new pfUI to use.
However, in recent raids, I still noticed instances of missing combo points. Unfortunately, I didn't record it, but it definitely happened. It usually occurs at the beginning of a boss fight and then doesn't happen again. I couldn't reproduce the issue in target dummy testing. I hope my feedback catches your attention and the issue gets fixed soon. pfUI is a great addon, I like it.

@Synven
Copy link

Synven commented Mar 15, 2024

I can confirm the same issue. Raiding on a druid is not possible with current PFUI(feral cat). Sometimes it will generate combo points and others i get nothing for entire mobs.

It ONLY happens in raid and with a group of people. Everything works fine solo or even in a raid by myself.

@welpenhund
Copy link

I can confirm this too, and the reason why it happens seems to have to do something with "click to cast" mouseover.
Maybe the developer can make a check that if a druid is in cat form, that the target swaps/mouseover clicktocast are not working. Only while out of form (not like we can heal or dispel in form anyways)
´That might fix getting our combo points removed while in cat.

@pabonamu
Copy link
Author

pabonamu commented Apr 1, 2024

image
This modification didn't completely solve this problem. I hope any developers can pay attention to it. I really wanna switch back to PFUI

@Sartigen
Copy link

Sartigen commented Apr 3, 2024

I can also confirm this is the case as of last Saturday. It seems to have gotten better but not entirely resolved. This has been going on for over a month for me for sure. I started noticing it in aq40 raid.

@welpenhund
Copy link

bump @shagu

@shagu
Copy link
Owner

shagu commented Apr 20, 2024

I can't help here, because I was never able to reproduce the issue on my druid.
I also don't see any other code within pfUI that would change the target.

The only automatic target-change that happens is inside the 40y range check emulation, which was already fixed by @gwetchen(d7a7387).

If there's still issues with that, please try to disable the 40y rangecheck and see if it gets better.

The other target-switch that can happen is when using mouseover macros or focus-frame casts, but that's something which cannot be fixed in vanilla. Because It will always silently switch target to cast the spell and then switch back.

Also, are you sure it's not related to any other target-changing addons like HonorSpy, NPCScan, UnitScan, etc?

Please let me know if you find a way to reproduce with only pfUI and I'll gladly help to fix the issue.
But as of now, there's nothing I can do here.

@Sartigen
Copy link

hey @shagu , in my case this is a newish issue. I have been using PFUI for a while and it was fine. Only started bugging out a few months ago. So I'm thinking of doing the following to troubleshoot:

-clean install of turtlewow with no other addons other than PFUI

If that is successful, then I will reinstall the addons I currently have one at a time until it triggers the issue.

If it doesnt fix it then perhaps you can help suggest things to disable such as the 40y range check.

I'll also record my screen if it persists. This is a bit tricky to test since I can only replicate it in raids.

Any other suggestions that might be helpful to test?

thanks!

@Sartigen
Copy link

@shagu ill also try disabling the 40y check first and let you know.

@welpenhund
Copy link

welpenhund commented Apr 20, 2024

I can't help here, because I was never able to reproduce the issue on my druid. I also don't see any other code within pfUI that would change the target.

The only automatic target-change that happens is inside the 40y range check emulation, which was already fixed by @gwetchen(d7a7387).

If there's still issues with that, please try to disable the 40y rangecheck and see if it gets better.

The other target-switch that can happen is when using mouseover macros or focus-frame casts, but that's something which cannot be fixed in vanilla. Because It will always silently switch target to cast the spell and then switch back.

Also, are you sure it's not related to any other target-changing addons like HonorSpy, NPCScan, UnitScan, etc?

Please let me know if you find a way to reproduce with only pfUI and I'll gladly help to fix the issue. But as of now, there's nothing I can do here.

Could you implement a check that the mouseover casting for raid frames is disabled as long as the druid is in cat form?
So that it only does apply the cast when form is removed? Dunno if that would help maybe? :)

@shagu
Copy link
Owner

shagu commented Apr 21, 2024

Could you implement a check that the mouseover casting for raid frames is disabled as long as the druid is in cat form? So that it only does apply the cast when form is removed? Dunno if that would help maybe? :)

No, there are way too many people that rely on the mouseover to quickly throw and innvervate, battlerez or heal.
Just don't cast something on others if you want to keep your combo points.

@shagu
Copy link
Owner

shagu commented Apr 21, 2024

Any other suggestions that might be helpful to test?

  1. Without any other addons
  2. With 40y rangecheck disabled (the pfUI default)
  3. If you use /startattack macros (or ones that include the AttackTarget() call), try without them. I can see a potential that they would break the 40y range check due to timings inside the game engine.

I have no other ideas what could possibly switch targets or confuse the 40y range check.

@shagu
Copy link
Owner

shagu commented Apr 21, 2024

Finally I found a way to reproduce it at the training dummies in orgrimmar.
Here's how to lose the combopoints of the openening hit:

  1. Move to Training Dummies
  2. Group with a character and move him to like 35-40y away from you (>28y and <40y)
  3. Enable the 40y Range Check in the pfUI settings
  4. Set "Range Check Interval" to "Very Fast"
  5. Clear your target and make sure to not have any Combo Points
  6. Target the Training Dummy
  7. Open the fight on the training dummy with a Combo Point generating hit like Claw

It's now visible how 1-2 combo points appear for a very short time and directly disappear again.
Like this I'm able to reproduce the loss of opener combo points at a rate of > 90%.

As it is nice to know a way to reproduce, it is also sad why it happens:

After quite some time of debugging it turned out that both event checks (InCombat and ComboPoints) are only received with a delay from the server. That communication delay between server and client (or even just client internal?) is bigger than the interval of the range checks. Meaning that when the client detects one of the pause-events, the range check already continued scanning 1-2 units and therefore resetting the combo points back, before the client even notices that he had some.

Sadly, there's also no other usable event fired, that could be use to put in another delay, right after the opener is pressed. So the only way to fix it, would be to disable the 40y-range-check entirely while being in cat form. And therefore turning it back from 40y to the game default of 28y while in this form.

@welpenhund
Copy link

welpenhund commented Apr 21, 2024

Finally I found a way to reproduce it at the training dummies in orgrimmar. Here's how to lose the combopoints of the openening hit:

1. Move to Training Dummies

2. Group with a character and move him to like 35-40y away from you (>28y and <40y)

3. Enable the 40y Range Check in the pfUI settings

4. Set "Range Check Interval" to "Very Fast"

5. Clear your target and make sure to not have any Combo Points

6. Target the Training Dummy

7. Open the fight on the training dummy with a Combo Point generating hit like Claw

It's now visible how 1-2 combo points appear for a very short time and directly disappear again. Like this I'm able to reproduce the loss of opener combo points at a rate of > 90%.

As it is nice to know a way to reproduce, it is also sad why it happens:

After quite some time of debugging it turned out that both event checks (InCombat and ComboPoints) are only received with a delay from the server. That communication delay between server and client (or even just client internal?) is bigger than the interval of the range checks. Meaning that when the client detects one of the pause-events, the range check already continued scanning 1-2 units and therefore resetting the combo points back, before the client even notices that he had some.

Sadly, there's also no other usable event fired, that could be use to put in another delay, right after the opener is pressed. So the only way to fix it, would be to disable the 40y-range-check entirely while being in cat form. And therefore turning it back from 40y to the game default of 28y while in this form.

Would that be hard to implement disabling the 40y range check automatically while in cat form and enabling it back when out of cat?
Just for figuring that out you are already a legend, i could never re-produce it myself properly...
And in PvP its such a big game changer if you lose all combo points to nowhere.... will disable 40yard check till there might be found a workaround. ty anyways

@shagu
Copy link
Owner

shagu commented Apr 21, 2024

Would that be hard to implement disabling the 40y range check automatically while in cat form and enabling it back when out of cat?

No, that would be quite easy. It's just that I'm not happy with it at all. I'd like to give myself and others more time to think about it. Maybe there's another solution that I just can't see right now.

@shagu shagu changed the title Druid lose COMBO POINTS in raid librange: initial combo points lost due to client timing issues Apr 21, 2024
@pabonamu
Copy link
Author

Thanks everyone for the feedback. I tried using a clean client, only installing the latest version of pfui, and went to Zul'Gurub with friends. The same issue still occurred when fighting Hakkar. So I'm pretty sure the problem lies with pfui. It seems like Shagu has already found the issue, looking forward to the day it gets fixed.

@Sartigen
Copy link

Simply turning off the 40 yr check in the pfui settings worked as @shagu suggested! I tested it in Naxx yesterday.

@welpenhund
Copy link

confirmed, worked for me aswell in pve and pvp... sad there is no workaround

Copy link

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale label May 23, 2024
@shagu
Copy link
Owner

shagu commented May 23, 2024

No, that would be quite easy. It's just that I'm not happy with it at all. I'd like to give myself and others more time to think about it. Maybe there's another solution that I just can't see right now.

As nothing better came to my mind and also no further ideas came up, I have now disabled the 40y range check while being in cat form. (Cat detection is done by checking for class == druid and powertype == energy)

"Fixed" via: 7e0990c

@shagu shagu closed this as completed May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants