"Fix" Alley skinniness - or change which slider gets set!
Jan 2, 2024 19:34:01 GMT -5
Kel, 🌠 Aubrey, and 2 more like this
Post by sintax on Jan 2, 2024 19:34:01 GMT -5
EDIT: See Reflet's reply for how to turn off the function that causes Alley skinniness entirely!
So, you know how Alley Cats are constantly skinny because the game sets the Fatness slider to 0 every time you touch them? It turns out you can edit the breed file to change which slider gets affected, and even change what value it gets set to!
This means that you can neutralize the skinniness problem by making it so that touching the cat does something harmless instead, like setting the Neglect slider to 0. You can also play around with sillier effects, such as making them plump up to 100 fatness instead of getting skinny, or making it so they get catnipped every time you touch them.
Important note: I haven't tested this super thoroughly, so it's possible that some changes will cause crashes. I've already observed that changing the function to set the Age slider to 0 causes the game to crash if you pet the cat when its age is already 0. (It doesn't seem to crash if the function sets the Age slider to 100, though.) I've also only tested this in Petz 4.
Details:
In the Alley Cat breed file, the function that causes the perma-skinniness turns out to be just a little bit below the area where personality values are set. The area you're looking for is 1158 bytes from the ÿ%P: at the beginning of the "personality" section of the file (the second section from the top of the file). The hex code here is 6A 00 6A 02. The two values that come after the 6As are what we are interested in.
Changing the value after the second 6A changes which slider this function applies to. The default is 02, which corresponds to the Fatness slider. You can change it to a different slider by setting it to one of the following values:
00 Energy
01 Fullness
02 Fatness
03 Sickness (note: an otherwise unmodified Alley will still revert back to 100 sickness within seconds)
04 Catnipped
05 Fleas (note: again, an otherwise unmodded Alley will revert back to 100 fleas within seconds)
06 Horniness
07 Neglect
08 Age
Note that any value higher than 08 will cause the game to crash as soon as you touch the cat.
Changing the value after the first 6A changes what the slider gets set to. Any value from 0x00-0x64 (decimal 0-100) will cause the slider to get set to that exact value. Values from 0x65-0x7F cause the slider to get set to 100. Values of 0x80 or above cause the slider to get set to 0.
Examples:
6A 00 6A 07 - sets Neglect to 0 every time you touch the cat
6A 64 6A 08 - sets Age to 100 every time you touch the cat. Instant adult, just add skritches
6A 2A 6A 04 - sets Catnipped to 42 every time you touch the cat
Anyway, I haven't figured out how to stop the function from happening entirely, but hopefully being able to change which slider it applies to will help, and maybe even make some other fun effects possible!