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 -
@Grey Roger got a savegame from before selling?@Levis: Grey Roger reported that when selling a companion ship, her commander did not revert back to a non-captain type.
I think I know the problem. Need to look into it more. I've tested everything from the ship interface and the shipyard interface. but maybe the ship ransack interface uses some other functions so the old offic type isn't set.@Levis: I imagine this one should be easy enough to replicate, no?
Quest name find_the_95th2 FOUND in QuestComplete
it's because he was inactive before.@Levis: This is totally confirmed.
Worth noting here are the following things:
- Bush did not have ANY officer type assigned to him before me giving him command of the prize ship and was showing as "Inactive"
- As soon as I got onto the boarding deck of my target ship, Bush started a quest dialog with me for some unknown reason:
- Captured the ship and the second I assigned Bush as captain, he changed to "Captain" typeCode:Quest name find_the_95th2 FOUND in QuestComplete
NOTE: Not(!) "Naval Captain", probably because I was "notcaptain" myself and therefore the game reverted to the default captain type rather than the specific one
- Unassigning him while still interface did not restore him
- Selling the ship later didn't restore him either
string GetCaptainType(ref chr)
{
string CaptainType = OFFIC_TYPE_REGCAP;
if (IsCompanion(chr))
{
if (HasMerchantPassport(GetMainCharacter())) CaptainType = OFFIC_TYPE_CAPMERCHANT;
if (IsMainCharacter(chr))
{
if (CheckAttribute(chr, "isnotcaptain")) CaptainType = OFFIC_TYPE_NAVIGATOR;
}
if (GetLetterOfMarqueQuantity() > 0) CaptainType = OFFIC_TYPE_CAPPRIVATEER;
if (HaveLetterOfMarque(ProfessionalNavyNation())) CaptainType = OFFIC_TYPE_CAPNAVY;
if (GetServedNation() == PIRATE) CaptainType = OFFIC_TYPE_CAPPIRATE;
}
else
{
if (CheckAttribute(chr, "FantomType"))
{
switch(chr.FantomType)
{
case "trade": CaptainType = OFFIC_TYPE_CAPMERCHANT; break;
case "pirate": CaptainType = OFFIC_TYPE_CAPPIRATE; break;
case "war":
if (sti(chr.nation) == PIRATE) CaptainType = OFFIC_TYPE_CAPPRIVATEER; // PB: I think this never happens
else CaptainType = OFFIC_TYPE_CAPNAVY;
break;
}
}
}
return CaptainType;
}
To be certain, I made a second try, this time with him assigned as Gunner before.I will add something to the restore function where if no previous officertype is know the officertype will be removed so it becomes inactive again (or I might set him to the default randchar).
On second try, he didn't become "Naval Officer" either, despite me truly being the captain that time.If he isn't set to naval captain I think it's an interface problem because he should be set by this function:
if (HaveLetterOfMarque(ProfessionalNavyNation()))
YesSo this is confirmed as being related to "inactive officers without captain type assigned".
I prefer keeping that as-is. The main reason is so you can SEE if you lose your LoM without losing your navy rank.So should we change that line to be a check purely for naval assignment?
Again, I prefer to keep it as-is for similar reasons.Also I think the isnotcaptain check should be moved down in the function a bit so it will overwrite the others is neccesary.
That will indeed solve this specific example.If the problem is caused by Bush not having a type assigned before, the obvious solution is what I was planning on doing anyway, which is to give him an officer type in the character definition. "First mate" seems appropriate.