Nik-Potokar / XIVSlothCombo

XivCombo for very lazy gamers
GNU General Public License v3.0
239 stars 250 forks source link

mnk Perfect Balance/Form Shift issue. #1348

Open tita9 opened 5 months ago

tita9 commented 5 months ago

Issue: In some cases, sloth will try to trigger form shift while perfect balance is active, leading you to be stuck into perpetually doing form shift until PB wears off. The form shift just misses.

Steps to reproduce: Find a dummy, enter combat by right clicking it, trigger PB, right click the dummy's hp bar > reset enmity, you then exit combat and combo buttons will change to Form Shift, leading you to perpetually do form shift that won't work because PB until you re-enter combat by other means or PB expires.

Possible resolution: Add a condition to check if Perfect Balance is active when deciding if combo buttons should be Form Shift.

tita9 commented 5 months ago

I am running: Bootshine Combo

Masterful Blitz option CDs on Main Combo

Riddle PB

Meditation on Main Combo

Meditation uptime feature

Arm of the Destroyer combo

Masterful Blitz CDs on AOE combo

Riddle of Wind PB

Meditation on AOE combo

Kagekazu commented 5 months ago

Hey, can u do /scombo debug MNK and send the file?

This happens because the code says to only use form shift when outside of combat ( and looks if u have the formless fist buff ), and u can only use perfect balance while in combat.

A rework for monk is in the works, but even then, it can always happen when u leave combat in the middle of perfect balance. Since perfect balance overrules form shift's buff.

I might look for a resolution in the new monk code, but it should be a rare case in general :)

tita9 commented 5 months ago

I mean, it's not that rare of a case. It can happen several times in a healthy playing day, something like doing my roulettes and a few more runs of random stuff, something like ~2-3 hours of gameplay time. It do be bothersome enough for me to come on here, make an anonymous account to protect my identity, spend like... 30 minutes crafting a scenario to reproduce the issue reliably, and make a report about it. It's also fairly random, some days, it doesn't happen at all, it happens more in other days. It's fairly embarassing when it happens too ?

Edit: I seem to have resolved the problem by adding !HasEffect(Buffs.PerfectBalance) to the conditional branches at line 122 and line 471 of mnk.cs, it behaves like I would expect it to now, if PB is running, FS doesn't get assigned to buttons, and soon as PB expires, the buttons turn to FS. I just don't know how to handle github and stuff, I'm a hobbyist and I mostly do stuff on my own locally. I also don't know if that would break other stuff. I made a test build and will run it through the night and tomorrow, see if issues arise. ♥

Kagekazu commented 5 months ago

I adjusted it in my reworked monk PR. I apparently already solved it in my ST one, but added it to AoE now aswell.