Short title of the issue: Alchemy Liquid Reset
Platform and Build Version: All
Can you replicate (redo) the issue always?: No, see description
Full detailed description of the issue:
I believe the existence of the liquid reset bug is known, so I won't explain what it is. This report is because I believe I have discovered what causes it.
tl;dr: The issue is that CloudSAVE is being triggered by the player while another CloudSAVE is already running, causing incorrect data to be saved.
While the game is saving, after "CauldronInfo" [8] is saved as "CauldUpgLVs" and CauldUpgXPs", it is temporarily cleared so that it doesn't get saved with the rest of "CauldronInfo". At the end of the save, "CauldronInfo" [8] is restored. This means that if the player manually triggers a save part way through an autosave, after "CauldronInfo" [8] is cleared, but before it is restored, the manual save will see an empty "CauldronInfo" [8] value and save it into "CauldUpgLVs" and CauldUpgXPs", overwriting the real values.
This also explains why accounts that have had their liquid reset can also have bubble cauldron upgrade levels over the normal max of 170, since if they are 0, they are getting set based on the player alchemy skill. (Happy to discuss this part if this doesn't make sense).
My recommendation would be to prevent the CloudSAVE function from running if it is already running, and to save a slice() of "CauldronInfo" with "CauldronInfo"[8] removed so that the original "CauldronInfo" never has the information removed.