roccodev / recordkeeper

Xenoblade 3/Future Redeemed save editor
http://rocco.dev/recordkeeper/
GNU General Public License v3.0
10 stars 2 forks source link

Game Data: Deleting Gem Items does not reset the levels of Equippable Gems in the Characters Menu #11

Closed tomasadam3 closed 7 months ago

tomasadam3 commented 7 months ago

As explained in the title, using Recordkeeper to delete the Gem Items does not seem to reset or downgrade the highest level Gems available to you in the Characters Menu.

2024042515040500-A862246CB76B2B6DC14022F4545399F5

And while it does reset the gems you can craft in camps, crafting lower leveled gems only serves to update the "crafting progress" of each gem in that menu.

2024042515043900-A862246CB76B2B6DC14022F4545399F5

roccodev commented 7 months ago

I see, the game seems to store the IDs for the highest-level version of each gem before the item inventory. (at offset 0x53c08, if you want to play around with it in the meantime)

Unfortunately I couldn't make this automatic in the library, as it requires knowledge of game (BDAT) data. I will however add it to the webapp in the coming days.

tomasadam3 commented 7 months ago

Thanks! Setting all those IDs to 00 did the trick.

On the topic of Recordkeeper, is there any reason why it doesn't allow you to set Class Ranks to 0? I've actually been trying to make a clean NG+ save, and resetting everyone's classes is next on my list. After using the hex editor to reset the gem levels, it dawned on me that I could use the comparison tool to find the offsets for the class ranks, and set them all to 0 myself. I've only tested a few of Noah's early classes so far, (like Medic Gunner) but making that edit did seem to correctly lock those classes until the unlock point requirements were yet again met (via red/blue noponstone of course).

roccodev commented 7 months ago

Ah interesting, to be honest I have never tried locking classes on characters, but I can see that, for instance, base game characters have a rank of 0 for FR classes. Not sure why I limited rank input to >= 1, I've changed it now. Gem levels should now automatically be reflected in the table, if edited via the web UI.

Not sure what your requirements are, but for a barebones NG+ file wouldn't it be sufficient to start a new game and set the NG+ flag on that new save? These are the flag blocks that carry over, as well as these for unlocked mechanics. (check Flag for each SystemOpen)

Also, if you are looking to automate it, I'd suggest checking out the library. I think I'll add some examples for common scenarios.