Pet evolution is an important aspect of Elona+, yet our knowledge about it is still incomplete. It's a a difficult thing to test, mainly because heart items are tough to get. Known sources are few, and the hearts cannot be wished for, not even in wizard mode.
One solution could be to hunt down one heart of each type and then hack its quantity into near-infinity. But hacking offers a more effective solution: just make hearts when you need them. Any random item can be turned into any specific heart type with little effort.
To make a basic, functioning heart object, at least two item attributes need to be changed: usage modifier and heart type. How it works is shown in the following example, where we turn a Dead fish from a random field, into a god heart.
- With dead fish as the only item in your inventory, use Elosnack or your favorite memory editor to locate the item's usage modifier. Change it to 58.
- Using the same method, locate the heart type modifier nearby ("Weapon Level OR deed house type" in Elosnack). Change it to 13.
- Use ( ) the dead fish on a pet nearby. It will respond as a god heart would.
- So our dead fish acts and works as a heart, but it's still called dead fish and looks like one, which stinks. If you want to complete the transformation, let's make a couple cosmetic changes:
- Locate the image ID of dead fish (201) in Elosnack or in the memory editor, change it to 656.
- Right next to it (offset 4) is the item type - this is where items get their name from in the inventory. In this case, 220 is responsible for "dead fish". Changing this to 869 will make the item called "god heart".
Values for the heart items are the following:
- 11: King heart
- 12: Machine heart
- 13: God heart
- 14: Another heart
- 15: Evolution heart
- 16: Magic heart
Real testing usage
In a real testing scenario, I turn a large pack of monster balls into heart items, after I summoned the target monster and increased its affection. Doing only the first two heart item modifications, I cycle through all heart types, using each on the pet. Once done, I turn both attributes back to monster ball (33 for item usage, 0 for heart type), so I can summon the next monster of interest. Done with Cheat Engine, a complete evolution test can be done in less than a minute.
Hope this will be useful - happy testing! :-)