Athavar / Athavar.FFXIV.Plugin

GNU Affero General Public License v3.0
12 stars 4 forks source link

skipQuality incorrectly skipping first action in multi-job queue. #54

Closed Lusankya closed 2 months ago

Lusankya commented 3 months ago

Symptom: When skipQuality is enabled, a queue job has a quantity >1, and the previous craft completed at 100% quality, the next craft will skip its first action if it is a quality-increasing action.

To reproduce, queue up a single job with a quantity >1, skipQuality on, and with a rotation starting with any quality action guaranted to achieve 100%. It's most notable on rotations using Trained Eye or Reflect.

The issue is not present if you queue up two identical jobs with a craft quantity of 1.

I suspect the issue is here: https://github.com/Athavar/Athavar.FFXIV.Plugin/blob/1f1058b5ca06a25ba008feddadc577dc7dbe1f03/src/Athavar.FFXIV.Plugin.CraftQueue/Job/BaseCraftingJob.cs#L554-L563

I think that Commandinterface is not updating HasMaxQuality() when a new craft begins, and is returning a cached value from the last successful step of the previous craft. But I'm not set up for live debugging Dalamud plugins to check.

Athavar commented 3 months ago

After investigating it I found out that during the first crafting action the Synthesis addon is not updated/reset for the next craft. Should be fixed in release 2.2.0.0.

Lusankya commented 3 months ago

Thanks, Athavar!