I just used a door; you walk in, flash of light, suddenly you're down two members and have someone else and pop up somewhere else. I will address this door-related nonsense later.
You create a condition branch common event to check who's in the current party, which you get to run first. If they are, it turns on a switch.
If the switch is on, it displays the associated common event (which you create for each character, along with a switch for each of them) and you select that member.
In the member's common event menu, you have it turn on the char's switch (it's probably on anyway), and turn off the other character's switches, to establish who you've chosen
My setup has 3 fathers; you select one and the common event turns off the switches for the other two. It also assigns them a corresponding variable, and stores their PL variable, so that you have 2 numbers stored. You then select the mother, which is where it gets complicated (as usual).
The mother's common event has condition branches that check which father switch is on (I couldn't get it working with the variable) , and then runs through the level math-ing, character changing mess of an event above. You have to create one for each father, so in my case your max. would be 3 switch-activated condition branchs, one for each dad.
At the end (somewhere between adding your new char and adjusting their level) insert a switch that turns the parent's respective switches OFF (they're gone, so they won't reappear).
The whole thing relies on switches and conditional common events, to check who's available. It's worth noting that the kids don't get switches.
the setup basically looks like what's in the codebox above.
Here's where it gets a bit easier. Actually, this is more like the classic magic trick of "A goes in one door, B comes out the other" but with events.
As we all know, doors have 2 event pages.
One the first page, have your special common event menu switches to bring up your mega-menus.
control variables- common event menu = x
I threw in an animation; you don't really need one, but it looks neat.
Somewhere in the move route commands, change the character's transparency just as they step through the door. Why? Try it without the transparency. Weird, eh? Your character just flickered and changed into someone else. That looks dumb, which is why we throw in the transparency to hide the flicker. They go in, turn invisible to hdie graphics change (you removed actors), and then turn off the invisible after they've changed.
It's a bit of slight-of-hand magic, and it can be tricky to get the transfer timing right, but it just looks better visually.
At the very end on page 2, re-call your common event (confirm) that checks who's in the party (since it changed while you were invisible), to update the switches and turn the appropriate ones back on. this happpened a lot
I talked about this before, having an alt. method to the birthing process. Guess what? It gets even more complicated.
create another switch called "mystic", which, again, turns off at the end.
Just under the condition branch that checks the father switch, have an "else" condition branch that checks for: the switch, and any items or states that are required. We'll say it's bird DNA, which lets you make a harpy.
After it checks, give a choice box that asks if you want to add the bird DNA.
If yes, remove the item in question and go through the parenting process, except that it creates the harpy, rather than a human. Save yourself some pain by using the "jump to label" command for the "else" branches, so your event will look like this:
condition branch_ switch [father] is on
condition branch-item-bird egg in inventory ---->the "else" branch for this creates the normal human, which will be labelled.
yes (harpy process)
no jump to label: human
else-jump to label: human
label: human (regular human process)
if the item isn't there or if you decide you don't want to give birth to a harpy, it just label-jumps to the normal process, so really you have 4 possible routes, but only 2 slightly different methods. The label jump just saves you the hassle of having to fill in the other branches.