I was able to reproduce it every time I attempted to board a surrendered ship. I found out that this is what causes it, in the reinit.c file, all previous versions used this code:
// TIH --> using FindBlankCharSlot to generate a new twin from every captain you encounter can cause major troubles, because there
// are no more slots to use for making a new twin of a fantom. This should be using a set group of slots, in rotation so that when
// a slot is not in use (a captain is no longer a captive, or has been killed), the slot can be reused for a new twin generation.
makeref(Fightincabin,Characters[CHARACTERS_QUANTITY]);
CHARACTERS_QUANTITY++;
if(Fightincabin.id != "0")
{
int k = FindBlankCharSlot();
CHARACTERS_QUANTITY = k+1;
makeref(Fightincabin, Characters[k]);
}
// a suggested better method (uses function defined before CreateTwinCharacter:
/*
int freeidx = FindFreeCabinCaptain();
if (freeidx == -1) { freeidx = FindFreeCabinCaptain(); }
else { makeref(Fightincabin, Characters[freeidx]); }
*/
In the beta 2, the first section of code is commented out, and the second section is the working code. I changed my version back to how it looks above, and the problem went away. Of course, I don't know enough about code to know if that causes a problem elsewhere, but I haven't run in to one. Hope that helps! <img src="style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid="
" border="0" alt="rolleyes.gif" />