Swapping breedfile personalities
Note: this tutorial assumes a basic familiarity with LNZ Pro. You may want to read my tutorial A tour of the breedfile in LNZ Pro if you need to get yourself up to speed on the contents of a breedfile.
Note: Deeper research into the Petz AI system has shown that the files being swapped here do not control the full petz personality, therefore this method will not change everything. Speculation appears to be that the .scp file relates to animations, but not personality traits as such. See "Limitations of SCP Swaps" below.
Each cat and dog breed in the Petz game has its own unique personality. If you're making a breed, you can swap the personality files from one breed to yours, creating all sorts of unusual combinations. Here I'll be inserting the Alley cat's personality into the Orange Shorthair breedfile to give you a demonstration.
Before you start, it goes without saying, but always make a backup of your breedfiles. This procedure should not break the game, but it will modify your breeds, so be safe.
The first thing to do is to open up your "donor" breedfile - that is, the one that contains the personality you want to insert. In the menu on the left, open up "SCP" and then the two letter code for your breed that appears (here "AC" for "Alley Cat"), and then click "1033":
That weird mess of hex code and gibberish you see in the right pane is the Alley Cat's .scp file. If you remember from the breedfile tour tutorial, this is what controls your breed's personality. The first thing we need to do is export it. Left click on "1033" in the menu and select "Save to file...".
You'll see a "save to file" dialogue box, just like when saving any other file. Save it in a place and with a name you'll remember. Probably the best place to put it is inside your resource/catz or resource/dogz directory so everything is in one place, but it's really up to you. Note this won't do anything to the donor breed, you're just making an external copy of its .scp.
Now you can close the donor breedfile, you won't be needing it after this point. Open up the recipient breedfile. As before, in the left menu, click "SCP" then the two letter breed code. Now right click "1033" to open the save/replace menu, this time selecting "Replace from file..."
Select the .scp file you exported from the donor breed:
This will overwrite the existing .scp with the donor's. Now save and open up Petz, and bring out your recipiant breed in the Adoption Center. With all luck, it should have the new personality.
Limitations of SCP Swaps
SCP swapping will transfer some aspects of the breed personality, but not all. The rest appears to be controlled by the trait system - see the dev interview linked below. My Alley-Oshies had the fearless attitude (and fleas) but they still trembled when walking and had the Oshie-meow. If you want to do a full swap, it may be better to transfer the lnz files that govern the pet's appearance instead. So in the example above, you would replace the Alley lnz with the Oshie lnz, getting you a breed that acts fully like an Alley and has the Alley name, but looks like an Oshie. The method is the same, just swap lnz instead of scp files. Remember again to always make backups.
Can you make new breed personalities from scratch?
Not as far as anyone currently knows. The .scp file is compliled machine code and not human-readable, and nobody has yet been able to reverse engineer it, although I've done a little digging and others are working on the same.
Update: This interview with a Petz dev contains some interesting hints as to the nature of .scp files, and might take us a few steps closer to building custom personalities in the future!
Update: As of summer 2020, the .scp format has been reverse engineered! See Yabiko for details. Custom .scps are still in the future, but looking more and more plausible!
Can you swap .scp files between species (e.g. put a dog .scp in a cat file)?
I tried this, putting a dog .scp into the Oshie file. The answer, somewhat anticlimatically, is nothing at all, at least to begin with. You can adopt the pet and it will behave normally - I suspect it falls back on the default cat personality which is probably hidden away in one of the resource .dll files.
However once I put the pets away and tried to take them back out, the game crashed. But I was then able to restart the game and take them out properly. I was even able to breed them (using PetzA, but I assume doing it naturally would work too). However I would still have game crashes randomly when trying to take out or put away the pets.
The end result seems to be that it won't completely break the game, but any pets adopted from such a file will cause unstable play, and there's no real reason to do it unless you feel like experimenting. If you're interested in that, you might find Carolyn's Mad Scientist page interesting, in particular the "Insane Calicos" which seem to delve into the topic of species swapping with some more depth.