The script is really buggy, and if it's just me having the problem, getting help would be nice.
a lot of the time, the portrait/body will have nothing to do with the character, especially seraphs,more than half the time it not actually a seraph portrait/body, it's things like portrait/bodies under fox, human, bunny , wolf, fairy even Arachna at one point(not exclusive to only these, it's been a lot of different things at this point). however when it starts doing this i don't know.
when i first wanted to test out the new feature with portrait/body, i just made a new game - sandbox, and then made the servant a race i wanted, to see if it would work, and it would assign correctly. Even after making a new game - sandbox, a few times it would still assign correctly. but once i started playing a game, in the beginning it would assign correctly, but after a while it was like the game would become courrpted, and once it assigned incorrectly once, it would start assigning incorrectly more and more.
sometimes just restarting the game would fix it, but if it did fix it, it would just be for a while, and it would start assigning incorrectly after a while again.
I did copy paste the elf and demon portrait/bodies into the seraph folder because there weren't that many seraph ones, and changed the names of the both the portraits and bodies so they matched to seraphs also. like instead of Demon-black(1), i renamed it ElfSeraphDemon, as going through all the of the names one by one would take a lot of time.
which is working ( when it actually chooses a portrait/body under the seraph race)