TohnoCoding / fgochecklist

Just another FGO Servant checklist with NP count.
MIT License
5 stars 1 forks source link

Checking/unchecking the "Mash is SR" checkbox causes Fast Mode to increasingly update values by one extra unit in either direction (positive or negative) #7

Closed TohnoCoding closed 2 months ago

TohnoCoding commented 2 months ago

I just somewhat figured how to isolate this piece of garbage that's been plaguing me for years.

When Fast Mode is activated, checking and unchecking and rechecking the "Mash is SR" checkbox will cause the incremental triggers for Servants to fire more than once at a time, thereby increasing the NP value by an additional unit per each time the checkbox state is changed. Example:

  1. Seiba is at NP0
  2. Activate Fast Mode or have it activated from before
  3. Left click Seiba once > Seiba is now NP1
  4. Change the state of the "Mash is SR" checkbox
  5. Left click Seiba once > Seiba is now NP3
  6. Left click Seiba one more time > Seiba is now NP5
  7. Change the state of the "Mash is SR" checkbox again
  8. Left click Seiba once > Seiba is now NP2 (rolls over counting to 0 > 1 > 2)
  9. Left click Seiba one more time > Seiba is now NP5

Attached is a recording of the issue. I'm only using left clicks, which is why the jumps in value are so jarring. This applies going upwards (left clicking) as well as downwards (right clicking).

I THINK this might be due to something happening inside updateUserDataFast(), but I haven't fully understood Nechi's code that I inherited, so I can't 100% debug the issue with full knowledge of everything. Any help is appreciated.

https://github.com/user-attachments/assets/03273ee1-00d3-4193-b5f3-08b50cf15d8a

LouizFC commented 2 months ago

Fixed by fa989969cfaf858f274fc38943163294dba31f95, can be closed

TohnoCoding commented 2 months ago

Well, I'm dumb and a half for never noticing that before. Thanks Luiz!