Not "somewhere". It is actually at the top of that code I already posted above:@Pieter Boelen I've got a theory why it isn't working.
Captain are stored as fantoms. and in the past most data wasn't cleared that well. but I remember recently you added the Clearcharacter code somewhere else too. I think this might clear the captain when you reload from sea to the boarding location.
Going to look into this now.
Code:
void Fantom_AddFantomCharacter(string sGroupName, int iShipType, string sFantomType, int iEncounterType, int iNation) // NK 04-09-05 add nation argument
{
ref rFantom = GetFantomCharacter(iNumFantoms);
ClearCharacter(rFantom); // PB: Clear ALL attributes from previous character
Also, if that were the problem, my above fix WOULD have worked, because the Clear is at the top and I added SetBaseShipData at the bottom of the same function.
So it should be impossible to DO the clearing there, but NOT the SetBaseShipData after that.
There are no 'return' statements inbetween that could cause that effect.
My suspicion is that worldmap encounters do not call Fantom_AddFantomCharacter at all.
Or any calls leading there get aborted half-way for some reason so it never completes.