• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Included in Build Companion Officer Duplication

@Mere_Mortal: Do you still have this problem?
And did I understand correctly that this is just with your new interfaces and should not happen in the Build 14 Beta 4 version?
 
I started a new game anyway and have not since had any duplicate passengers at all because my interface fixes it, and neither anybody since whose skills have all been green. It affects the original version, I had duplicates in my companions from when I was using it. Basically, I don’t know about the issue with the skills but so far as the duplication is concerned then yes, that is a bug in 14/4 and has probably existed since forever. As I’ve mentioned before, for players with an extensive save-game they may well have a companion or two with dozens of passengers without even knowing it.
 
So.... it happens, but nobody ever noticed and it seems to do no harm? o_O
 
Yep, I guess nobody noticed because companions’ passenger lists couldn’t be accessed.

For all I know there could be problems if a twin is moved onto another ship where the other one is, but if they’re literally just sat in an inaccessible list then I guess no they couldn’t be a problem in any way.
 
Anyway, I don’t see any harm in fixing this.

transfer_characters.c

Original:
Code:
void RemoveProcess()
{
   int i,j,n;
   string oldname;
   string lastname;

   i = GetCompanionIndex(refMyCharacter,nMyCharacterCompanionPlace);
   if(i<0) return;

   if(nFourImageNum>0)
   {
     j = SetOfficersIndex(GetCharacter(i),nFourImageNum,-1);

     if(j>0) {
       AddPassenger(refMyCharacter,GetCharacter(j),false);
     }
   }
   ...
This should work, my own function differs slightly...
Code:
   if(nFourImageNum>0)
   {
     j = SetOfficersIndex(GetCharacter(i),nFourImageNum,-1);

     if(j>0) {
       AddPassenger(refMyCharacter,GetCharacter(j),false); 
       RemovePassenger(GetCharacter(i),GetCharacter(j));
     }
   }
Swapping passengers works fine, which is self-explanatory, and captain also seem to move correctly, so it’s just the remove button which I think has been neglected.
 
Any chance you could upload the corrected files? I'd want to make sure I get it right....
 
The file I have is completely original, my new interface has a different file name. I suppose I could reinstate it for general transfers, move some officers about with this code in place and if it all goes well then I could indeed upload the change.
 
I mean, maybe you could apply it to the Beta 4 version of the files?

I'm trying to be more careful with what WIP content I include these days.
 
I think there is a chance that I fixed this one already when I fixed the Officer Skill Contribution for Companion Ships.
 
From what I can see from the code this fix is indeed needed (and I see it's included already).
I think this happened from the efforts of making officers work for companions and other captains etc. Somewhere along the line they where added right where they weren't in the past. but the removing of them was never tested enough.
I'd say this bug is fixed.
 
I'm going to move this to the testing forum.
Then you should also give it a priority for testing. "Included in Build" means "This has been confirmed OK".

So far, the Testing Forum isn't really working out very well though.
It does help me as an overview, but players generally don't post feedback until I start massively nagging them.... :wp
 
Back
Top