• 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!

Fixed Player Ship not Displayed in Fast Travel Menu

Mere_Mortal

Free Like a Radical
Storm Modder
While on land, the player ship is not being shown in the list of ships for going to deck.
This has forced me to either go to another ship first or to port, and then to my ship.

Actually, I think it just glitches sometimes. I thought I fixed it with something, then the list was acting a bit strange so I reverted the change, then there was no sea... no water, no ships. o_O Weird stuff, if it happens again and I find out why my ship doesn’t show then I’ll update.
 
Last edited:
This function manages this:
Code:
bool SetShipIcons()
{
    int i, cn, st;
    string ship;
    ref curchr;
    ref mchr = GetMainCharacter();
    for (i = 0; i < COMPANION_MAX; i++) {
        cn = GetCompanionIndex(mchr, i);
        if (cn < 0 || cn == iShipCaptain) continue;
        curchr = GetCharacter(cn);
        st = GetCharacterShipType(curchr);
        if (st >= 0 && st < SHIP_TYPES_QUANTITY) {
            ship = "ship" + i;
            objLandInterface.UserIcons.(ship).enable = true;
            objLandInterface.UserIcons.(ship).pic    = sti(ShipsTypes[st].BI.Pic);
            objLandInterface.UserIcons.(ship).tex    = sti(ShipsTypes[st].BI.Tex);
            objLandInterface.UserIcons.(ship).note   = GetMyShipName(curchr);
            objLandInterface.UserIcons.(ship).name   = cn;
        }
    }
    return true;
}
it indeed only shows the companions. This is only called if you have companions.
its called from here:
Code:
            if (GetCompanionQuantity(pchar) == 1) {
                iShipCaptain = GetMainCharacterIndex();
                Land_DeckStartNow(iShipCaptain, GetCharacterShipQDeck(GetCharacter(iShipCaptain)));
                g_intRetVal = 0;
            } else {
                bUsed = SetShipIcons();
            }
As you see it only calls the setship icons if you have companions. So I think in the set ship icons you just need to add a line which adds the mainplayer, altough I though companionindex 0 is the mainchar. But I could be mistaken here ...
 
altough I though companionindex 0 is the mainchar. But I could be mistaken here ...
You are quite right there. :yes

This line looks suspect:
Code:
if (cn < 0 || cn == iShipCaptain) continue;
Specifically the 'cn == iShipCaptain' part.
 
yeah I think that line should be removed to get the effect you want.
 
yeah sounds good

included is a file with the change

place in \PROGRAM\BATTLE_INTERFACE
 

Attachments

  • LandInterface.c
    59.3 KB · Views: 272
Last edited:
anyone tried this already?
 
I installed it in my game for the next update, if I recall.

anyone tried this already?
You may want to @tag some known Beta 4.1 WIP players. Not many people generally respond if you ask a general question.
 
I installed it in my game for the next update, if I recall.


You may want to @tag some known Beta 4.1 WIP players. Not many people generally respond if you ask a general question.
sugestion?
 
any comments?
Tagging worked now! :cheers

Anyway, my comment is simple: Based on the code, I would expect this change should work.
But until it's tested by one of the others, we won't know for sure.
 
I was unable to confirm this bug. My own ship certainly appears in the choice of decks to which I can teleport via Fast Travel after installing the revised version of "LandInterface.c". But it also appears every time I try it with the old version. In fact, I tried it a few times during my playthrough of "Tales of a Sea Hawk", under the 18th June version, and could always teleport to my own ship there as well. All tests were carried out when I had one or more companion ships.

Note: all my companion ships were prize ships. I'm not at a point in either version in which a companion ship is assigned to you by main story or by side quest, and I never buy ships. :rpirate
 
That's weird. I've definitely seen my own ship not being listed. But I never paid attention to the conditions where that happens.
 
anyone tried this already?

Just tried it and it works correctly.

I was at the store in port Royal and only had companion ships for fast travel. Saved and installed the above file - then started the game again and then had companion ships and my own.

Not had this issue since then as well.
 
Back
Top