Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edit max heart/stamina values #30

Closed
jay-deez opened this issue Sep 10, 2017 · 3 comments
Closed

Edit max heart/stamina values #30

jay-deez opened this issue Sep 10, 2017 · 3 comments

Comments

@jay-deez
Copy link

jay-deez commented Sep 10, 2017

I'm using BotW EU v1.3.1

Hearts
I've only looked for red permanent hearts, not temporary yellow ones.

There are 2 values - one is the maximum number of hearts you have, the other is the current number of hearts you have filled (for example, you might have 9 max hearts but only have 3.75 filled if you've taken some damage). The heart values are stored in quarters.

0001043B: max hearts x4 (e.g. "28" = 10 max red hearts)
000B53AB: filled quarter-hearts ("23" = 8 filled red hearts and 1 heart 3/4 filled = 8.75 filled hearts)

In your editor, you should just set the second value equal to the first value to make it simpler, because no-one would want to give themselves 10 hearts but only have 5 of them full.

Stamina
Stamina is the same as hearts: 'max stamina' and 'how much stamina you have left when you save'

00043C98-00043C9A: max stamina
000516F8-000516FA: filled stamina

The Filled Stamina is saved in the file but ignored when you load, it just fills your filled stamina to max stamina when you load, so in the editor you don't need to change the second value.

Stamina value starts at 447A00 at the start of the game. When you get your first Stamina Vessel, the value increases to 449600 (the first part of the middle stamina wheel).

The values are (and I've included the difference so you can use a function to calculate the correct value):
447A00 (inner wheel full, start of the game)
449600 (middle wheel 1) (diff of 1C00)
44AF00 (middle wheel 2) (diff of 1900)
44C800 (middle wheel 3) (diff of 1900)
44E100 (middle wheel 4) (diff of 1900)
44FA00 (middle wheel full) (diff of 1900)
450980 (outer wheel 1) (diff of 0F80)
451600 (outer wheel 2) (diff of 0C80)
452280 (outer wheel 3) (diff of 0C80)
452F00 (outer wheel 4) (diff of 0C80)
453B80 (outer wheel full) (diff of 0C80)

I've tested each value for max stamina individually, and they are all correct, by loading a save in front of a Goddess Statue, gaining a Stamina Vessel, and noting the new value. You can actually use any number for the max stamina in the range 447A00-453B80, and it will create you wheels of different sizes, not just ones which are 1/5 of a circle.

I did the same to test the hearts, but I only did a it a couple of times because it uses a standard formula.

For Max Stamina, if you add it to your editor I recommend you just have a dropdown option so people can use presets of "inner wheel full", "middle wheel full", "outer wheel full", to make it easy. No-one is going to want to edit their save so they have e.g. middle wheel 2.

@x43x61x69
Copy link

I haven't find the exact offset of the stamina, but in 1.4/1.5 Switch saves, the heart value is right behind 27F30629, each extra heart += 4. (e.g. 30 heart = 120 = 0x78), result in 27F30629 78000000.

As DLC 2 will lock out upgrades, you can simply extract hearts into stamina and max it out, then edit the heart value.

@marcrobledo
Copy link
Owner

Posting offsets has no point, since they change with every game update. Instead, post hashes which are compatible with any version. These are the ones you are looking for:
MaxHartValue=0x2906f327
CurrentHart=0xbe9bc993
StaminaMax=0x3adff047
StaminaCurrentMax=0x58af5eac
(remember to flip them if you are editing Switch savegames)

I never implemented this when @jay-deez posted it because I was busy, thought someone would implement it eventually :-P

@marcrobledo
Copy link
Owner

Added max hearts and max stamina in c9694b5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants