Fixing a glitched personality- draft
Recently petz modders have figured out the code that determines an individual petz's personality. You can read more about it at the Personality Discussion RKC thread and download a viewer by Reflet called the Goal Descriptor Analyzer (GDA). You'll need it for this tutorial. You'll also need to know how to balance a checksum or how to use Yabiko's Petz Byte
Some petz have strange values when run through the GDA. It's believed this is due to a type of breed file called Unibreed, which are generated by the LnzPro program. They've grown quite popular since the Unibreed files work in all Petz versions, but appear to have a glitch where the Liveliness, Playfulness, Independence, Confidence, Naughtiness, Acrobaticness, and Patience values are always "0 50" which can affect a Petz behavior.
For this tutorial you'll need teh GDA and a hex editor (I'm using Hex workshop). This tutorial has a HIGH LIKELIHOOD of corrupting your .pet file so start with making a backup!
I will demo fixing this with a Honey Bear, Honey.pet, adopted from the unibreed in Petz 4. I first copied the file to back it up, and named the backup Honey - original.pet
The GDA shows the glitched personality. Keep the GDA open so you can use it later but I'm also going to write down the numbers from "Kindness", the first non-glitched personality trait. For this pet these are 89 and 13.
I'll open up the honey.pet file in the hex editor. Here's a quick run down of the parts of the program we'll be using and what they are called (see larger version).
Remember those numbers from the GDA? The first one is 89. We need to find this number in the file. But differently...because it won't be stored as 89, it will be stored as a hexadecimal (hex) number, which works a little differently. There are lots of converters out there but I really like rapidtables decimal to hex.
Turns out 89 = 59 in hex. We'll use that to find where the personality numbers are. Go to the Edit menu and select Find (or use CTRL-F). Select "Hex Values" for type. The pattern here is to convert both numbers to hex and there will be 00 00 00
between them so search for 59 00 00 00 0D
The other personality values are somewhere above this. I know one of the glitched values I want to change is 50. 50 converted to hex is 32
So I'm going to look for a 32 above it in the hex area. I find one here.
!(https://cdn.glitch.com/e8c48446-7221-44a1-aabd-d809cd1d1e34%2FCleanShot%202021-05-29%20at%2017.45.25%402x.jpg?v=1622344745624) expand image
Now it's important I do the edit on the hex and not on the ascii side because it won't make sense there.
Some good numbers for Honey Bears are (based on a sample of 6 sets)
- Liveliness 5-40, average 17
- Playfulness 18-59, average 32
- Independence 3-40, average 15
- Confidence 22-50, average 40
- Naughtiness 4-29, average 13
- Acrobaticness 0-22, average 10
- Patience 36-99, average 64
I'm going to pick 36. BUT first I need to convert to hex.
36 converted to hex is 24.
I change the number from 32 to 24 in the hex section. Save, now run honey through GDA. If I was successful it should show 36 in the GDA.
Count three sets of 00s from the number you just changed. This should be the next patience value.
I'm going to pick the number 78 for the next value.
78 converted to hex is 4E. So I change that 00 to 4E.
Then I check with GDA to confirm the change.
Finally you'll need to balance the checksum. I recommend using Petz Byte to do this. I'll add more to this tutorial later.