wow.
some questions:
- which tokens/properties of creatures are part of their soul and which arent? stuff like [CAN_LEARN] etc seems to be soul material, what about [OPPOSED_TO_LIFE] or even [PRONE_TO_RAGE]? what about crazy dwarves? could custom tags be created and stored in souls to be used in a script later on?
- can this be done in world space? im thinking for example of a babysnatching civ that is eating the souls of their captives, or taking over their bodies. (i assume its not currently possible, but could it be done in principle?)
Most tags defined in creature raws are not part of the soul. Souls contain the following information:
Original species and caste
Original name
Learned skills and experience
Likes and dislikes
Personality traits
Sexual identity (always the sex of the original creature)
Sexual orientation
Soul attributes
Thoughts
Stress level
Dreams
Civ id (interestingly, this is normally separate from the unit's civ id. However, the script changes the unit's civ id to the civ id of their current soul, because it makes more sense)
Cultural identity (not sure what this does)
Other notes:
CAN_LEARN seems to be the only tag that has an effect when the soul is transferred. An animal soul in a sapient creature's body will not be able to learn skills.
Strange moods and insanity are not transferred with the soul; you can in theory save an insane dwarf by transferring the soul into a new body. However, stress is retained, as well as personality, so chances are they'll just go insane again.
This is really impressive, but what do you mean by splitting and fusing souls? A concept is forming for a civ that's really useless in its base form and is either unable to reproduce or does so very slowly, but gets around that by doing things like splitting a soldier into 5 parts and putting those into highly specialized golems for combat, and then putting the guy back together when the battle is over. The same could be done for manual laborers, but in both cases stopping the original body from decaying might require some trickery.
Hell, maybe they could be completely incorporeal, and if you need more people you'd have build a new body, then use a ritual to split an existing one's soul. You'd then recombine it with another and use a second ritual to reform the original, or use the second ritual twice to get an identical pair. Making a sentient AI race would just be a matter of changing the flavor text.
This is possible in theory, but the splitting and combining system is not quite as flexible as it could be.
When a soul is split, the skill levels of each half are divided in two, and the personality traits and thoughts are split up and assigned to each half randomly (so each half can potentially have slightly different personalities).
When souls are combined, the one who acquires the soul only absorbs about 10% of their skills and personality (the idea for this was a race that eats the souls of their enemies and gains their skills).
Making this system more flexible is simply a matter of adding in the proper syntax and rules, but I didn't do this. If there's demand for it I could.