KingEnderBrine / -RoR2-ProperSave

MIT License
23 stars 13 forks source link

Loading a save with Benthic Bloom does not result in the original item transformations #45

Closed 6thmoon closed 2 years ago

6thmoon commented 2 years ago

Follow the steps below to reproduce this issue. Only ProperSave-2.8.3 and BepInExPack-5.4.1905, HookGenPatcher-1.2.3 dependencies were enabled.

  1. Obtain a Benthic Bloom, as well as several unique items of common and/or uncommon rarity.
  2. Continue to the next stage. Note the item transformations that occur.
  3. Exit to desktop or menu.
  4. Load the saved game and observe different item transformations than seen previously.

Both the items chosen and resulting items have been observed to differ. Further save loads appear to maintain the same outcome as seen in step #4. However - based on release notes for version 2.8.2, I would expect all cases to follow the original transformation.

KingEnderBrine commented 2 years ago

Couldn't reproduce it, for me transformations are the same after stage transition and run loading. Can you repeat your steps then quit the game and send log file?

6thmoon commented 2 years ago

Hello, and thanks for the timely response. I found it odd that an issue observed with such consistency would be completely absent on your end - then, a thought occurred to me. As you may know, Eclipse & Monsoon difficulties give the player a hidden item MonsoonPlayerHelper, which reduces health regeneration. A similar item also exists for Drizzle.

Indeed, when testing on Rainstorm - which grants no such item - the issue did not occur. Upon inspecting inventory it became apparent that the player is receiving an additional copy of these items on save load. This is affecting the choices determined for Benthic Bloom.

I considered opening a separate issue for this behavior, but since the item effect does not appear to stack, it seemed unnecessary. The issue with Benthic Bloom is likely the only visible consequence.

6thmoon commented 2 years ago

I can also confirm that removing previous instances of MonsoonPlayerHelper by deleting the following string(s) from the save file restores the original item transformations.

{"i":114,"c":1},

Using this as a workaround for now. Seems unlikely, but posting here in case anybody else needs it. Item ID for DrizzlePlayerHelper is 43 instead of 114.

KingEnderBrine commented 2 years ago

Thank you for the report, indeed hidden items were the issue, these items weren't duplicated in inventory on load, but they were duplicated in the list that tracks in what order you got items. And that list is used by Benthic Bloom. Fixed the issue and published an update.

KingEnderBrine commented 2 years ago

Also, saves from 2.8.3 will have correct transformations in 2.8.4

6thmoon commented 2 years ago

Thanks for the update, excellent work as always. All changes appear to be working as expected.