CaiClone / GCDTracker

FFXIV Dalamud plugin tracking GCD and OGCDs
MIT License
14 stars 1 forks source link

[BUG] Ninja Ninjitsu/Mudra actions #6

Closed kaedys closed 2 years ago

kaedys commented 2 years ago

When using a Ninja's Ninjitsu/Mudra actions, these actions are flagged as Abilities, but trigger and are subject to the GCD. The Mudras (Ten, Chi, and Jin) trigger 0.5s GCDs, while Ninjitsu triggers a 1.5s GCD (the Mudras trigger 1.0s GCDs when used with the Ten Chi Jin cooldown, however). When a Ninjitsu is used, if the player spaces out their actions, the Ninjitsu case (that actually casts the ability) is displayed as "clipping" by the red color, and the circle remains red until the end of the next GCD, but otherwise works as expected. If the player spams (queues) the buttons during the Mudras, Ninjitsu, and the GCDs following, the circle appears to break and highlight most, though not all, of the circle as wide-red and stays that way (with some variation in how much of the circle is red) until the player stops using GCD actions long enough for the GCD to full expire.

Video of issue (it was too big for direct upload to Github): https://i.imgur.com/7xaLw6W.mp4

I show 4 Mudra sequences in that. The first one, I space out all of my usages, and everything works as expected. In the second one, I queue the Mudras and the Ninjitsu, causing the Ninjitsu to flag as clipping (and show the entire bar as red), but not the following GCD, and it works after that. The third one, I do not queue the Ninjitsu (giving it space after the Mudra GCD), but do queue the following GCD, and the Ninjitsu is flagged as clipping, but as a "normal" clip (though it is on the GCD itself, so it's not technically clipping).

The fourth one is the big bug. In this one, I queue everything, the Mudras, the Ninjitsu, and the following GCDs, and keep spamming them. Most of the circle turns wide red and stays that way, with some odd overlays and motion, until I completely stop using my GCD abilities long enough for the GCD to fully expire (no queueing), only after which does it return to normal.

CaiClone commented 2 years ago

Thank you for the detailed report! It was a really nice analysis and really helped pinpoint the errors.

I have fixed both issues and created some tests so they don't reappear in the future. I'll put it in testing for now with a couple more changes and if no issues are found I'll release a new version with the changes this weekend.

kaedys commented 2 years ago

Much appreciated! Glad the details helped!