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!
Quick links for Beyond New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
- Bug Tracker on Github
Quick links for Maelstrom
- Download the latest version of Maelstrom
- Download the latest version of ERAS II
- Download the latest version of New Horizons on Maelstrom
Quick links for PotC: New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
Thanks to YOUR votes, GOG.com now sells:
- Sea Dogs
- Sea Dogs: Caribbean Tales
- Sea Dogs: City of Abandoned Ships
Vote now to add Pirates of the Caribbean to the list!
Quick links for AoP2: Gentlemen of Fortune 2
- Downloads and info
- ModDB Profile
- Forums Archive
A Pirate Podcast with Interviews
Music, Comedy and all things Pirate!
- Episode Guide - About - Subscribe -
- Twitter - Facebook - iTunes - Android -
- Youtube - Fill the Coffers -
I've checked it all. Also the returning etc because it gave some problems before too.Up to what point did you test?
If I understand correctly from @Talisman, it does still work.
But rather than just getting the officer back, as a bonus you also get an extra player character.
That wouldn't be obvious unless you check the Passengers Interface afterwards or leave the location.
My first gut feeling is that the problem might be because one of the functions used is meant to get a character index rather than the ref that it gets now.
But I can't access the code for a while to actually double check that.
Managed to hyjack my brother's computer and had a look at the code.I've checked it all. Also the returning etc because it gave some problems before too.
I will take a look at it.
int SetOfficersIndex(ref _refCharacter,int _OfficerNum, int _OfficerIdx)
case "Send Officer back in slot":
if(DEBUG_SMUGGLING>0) trace("SMUGGLING officer becomes passenger again");
NPChar = characterFromID(PChar.quest.Contraband.officerID);
DeleteAttribute(NPChar,"StoredFellow");
AddPassenger(PChar, NPChar, 0);
LAi_SetOfficerType(NPChar);
SetOfficersIndex(Pchar, -1, NPChar);
break;
case "Send Officer back in slot":
if(DEBUG_SMUGGLING>0) trace("SMUGGLING officer becomes passenger again");
NPChar = characterFromID(PChar.quest.Contraband.officerID);
DeleteAttribute(NPChar,"StoredFellow");
AddPassenger(PChar, NPChar, 0);
LAi_SetOfficerType(NPChar);
SetOfficersIndex(Pchar, -1, sti(NPChar.index)); // PB: Use index instead of reference
break;
I just searched the entire PROGRAM folder for SetOfficersIndex and indeed found one spot where it was also wrong.Hmmm....I copied that from somewhere else but seems it was wrong there too then.... Dunno where I copied it from anymore.
case "enlist_me1":
SetOfficersIndex(PChar, -1, NPChar);
LAi_SetOfficerType(NPChar);
Diag.CurrentNode = "got_officer";
DialogExit();
break;