Well it's hard to say. Overall the idea is not bad and could be a variety, although I would have to think about how to solve it.
At the moment I came up with the idea that I could do it in such a way that:
1. During the death animation, a script would run which would count the number of entities on the screen -1 (player) and if the number, for example, does not exceed the value of 4 then the script is run.
2. Next it would be checked which opponent dealt damage and which should be respawned. Well, this is not a simple task because after the sex animation our character immediately flies away, so taking the type of enemy through getentityproperty(Self, "opponent"), is out. The only thing I can think of for now is to add that after dealing damage the enemy will add a global variable with its name if player has 0 hp.
3 And finally the script will retrieve the variable, with the name of the opponent, then save it as a local variable and delete the global one. At the very end, it will take the player's coordinates and spawn the enemy in its place.
The only drawback is that animation cannot be played in such a case. Because during the death animation our character can't do anything else. By this I mean that if I force the pregnancy animation to be played, the character will play it and when the animation is over. It will stand still and not moving.