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

Need Help Can't change flag.

Ivy

Landlubber
Hey everyone. Finally I downloaded the latest version of NH.

I started the Bartolomeo-Storyline, but I don't know how to change the flag.

As usual it is mentioned, that I have to be at sea to change the flag. But then it's just not possible with no further information.

You can imagine it's a little bit tricky playing the campaign all the time with a Portuguese flag. Later at Cartagena it would be impossible. o_O
 

Attachments

  • compile.log
    3.7 KB · Views: 144
  • Screenshot (1).png
    Screenshot (1).png
    1.2 MB · Views: 402
  • Screenshot (2).png
    Screenshot (2).png
    1.2 MB · Views: 392
Last edited:
Could you (to humor me) chose the other interface type instead of the blue one?
 
Some storylines temporarily force you to not be able to change flags. Could that be happening here?

Of course this is not supposed to be permanent, but maybe a bit of sorts got triggered so it didn't reset.
 
Well it would be no problem, when it is still possible to play the Storyline.
But it's uncomfortable after rescueing the crew.

To find Emilio Soares it is needed to port at Santiago, where the fort cannons welcome me.

I tried to land via the only shore you can reach Santiago through the jungle.
But the fort is still nearby and detecting the ship, so the Spaniards are attacking me right after entering the town gates.
 
I guess you mean this one.
Yep, indeed. Strangely enough, I cannot find the code in there that I was expecting to see.

These are the only conditions there seem to be for changing flags:
Code:
bool IsFlagSelectable(int iNation)
{
    // PB: ALWAYS allow changing flag, though which flag you fly may affect the consequences of your actions
/*    if (bSeaActive) {
        if (bMapEnter)
            return bChangeNation;
        else
            return false;
    }*/
    if (!bSeaActive && !ownDeckStarted()) return false; // PB: Allow only on deck or at sea
    if (iNation == NEUTRAL_NATION) return false; // PB: Unfinished feature, better disable for now
    return bChangeNation;
}

Odd...
 
I tried to land via the only shore you can reach Santiago through the jungle.
But the fort is still nearby and detecting the ship, so the Spaniards are attacking me right after entering the town gates.
Not a solution to the flag problem, but...

If you're next to the fort then you're probably landing at Playa de Sierra Maestra. Try Bahia de Moa, which is out of range of the fort but also leads to Santiago.

You might still be attacked as soon as you enter town. This is intentional and is nothing to do with the fort. Spain does not like you because you've just rescued your crew and you may find your face on "Wanted" posters in several Spanish towns.
 
Thanks guys.

Grey Roger, I tried a few times the entry next to Playa de Sierra Maestra, till they just did not attacked me.
It's possible to play without changing flag, at least till "Firework of Cartagena" in which I will not be able to land at the port with Portuguese flag.

Pieter Boelen, let's see. I gonna continue the storyline hoping that the option for changing flag will be unlocked.
 
Can you upload a savegame? You'll need to zip it with something like 7-Zip because the forum won't accept an unzipped savegame as an upload.

The option for changing flag probably won't be unlocked because I don't think it ought to have been locked in the first place. In particular, I know you should be able to change flag at the time when you rescue your crew and then go looking for Emilio Soares because I've played the storyline and that's exactly what I did - raised a Spanish flag and sailed straight into Santiago.
 
I tried that savegame and sure enough, I can't change flags either. After digging around the game code, I found out what was causing it. My guess is that you started a game of "Tales of a Sea Hawk" or "FreePlay", began the full tutorial, quit the game before finishing the tutorial but did not close "Pirates of the Caribbean" entirely, and then started the "Bartolomeu" storyline.

Download the attached file and put it in the game's "PROGRAM" folder. Load up your most recent savegame and press F12. You should get a few lines on the screen:
Code:
bChangeNation was 0
bChangeNation is now 1
Executed Console
And then you should be able to change flags provided you're at sea or on deck.

The technical explanation:
There is a system variable "bChangeNation". Normally this is set to 1, which means you can change flags. The code to prevent flag changing while you're ashore ignores this variable. The variable is used in various places, none of which are directly related to the "Bartolomeu" storyline - in fact, the only place I can find where the variable is set to 0 is during the tutorial, which then puts it back to 1 when the tutorial ends and Malcolm Hatcher sits in the tavern. The variable is not reset when you start a new storyline without closing "Pirates of the Caribbean". So if you start the tutorial, quit part way through, then start the "Bartolomeu" storyline, the variable is still set to 0 and you can never change flag. (I tried doing exactly that, and sure enough, I could not change flag when I got to the ship.)
 

Attachments

  • console.c
    35.4 KB · Views: 141
Ouch, that's quite the annoying effect!
@Grey Roger, any chance of adding a reset of that variable to any "Start New Game"?
 
Perhaps, if you can suggest which file needs to be edited to add it. Otherwise it's just one more thing that isn't reset if you quit the storyline but don't close the game entirely.

It's also probably time for me to point out again how silly the restriction is on disallowing flag changing except when you're on your ship. :p Consider what happens if you choose a stormy start and end up on an island hostile to your chosen nation. You can't change flag until you've found your ship, which means you don't want to talk to the store owner. OK, so you find your ship first, then go back into town. And now try doing that if you chose the "Castaway" start scenario...
 
Perhaps, if you can suggest which file needs to be edited to add it. Otherwise it's just one more thing that isn't reset if you quit the storyline but don't close the game entirely.
Probably somewhere in seadogs.c .

It's also probably time for me to point out again how silly the restriction is on disallowing flag changing except when you're on your ship. :p Consider what happens if you choose a stormy start and end up on an island hostile to your chosen nation. You can't change flag until you've found your ship, which means you don't want to talk to the store owner. OK, so you find your ship first, then go back into town. And now try doing that if you chose the "Castaway" start scenario...
Can't remember why we changed that, but we had a reason for it.
Might've been as simple as "how do you change your flag at long-distance when mobile phones were still several hundred years before being invented"? :rofl

Also: I think changing flags while in port temporarily makes all rigging disappear OR doesn't actually update the flag.
Not too bad, but still doesn't seem very polished. By not allowing flag changes on shore, this issue is hidden from the players. :wp
 
Can't remember why we changed that, but we had a reason for it.
Might've been as simple as "how do you change your flag at long-distance when mobile phones were still several hundred years before being invented"? :rofl
That would make sense if changing flag did nothing except change the bits of cloth on your masts. But it also changes which nationality you are trying to impersonate while in town. Dialogs are all in English so that players can understand them, so imagine reading them in the relevant accent. xD Whether the character is actually speaking French or just speaking English with a French accent, he does not need to return to the ship before doing so. (You're also not returning to ship to change clothes because the game usually doesn't care what you're wearing, which is why you can wander through St. Pierre in a British naval uniform and nobody will get upset provided your ship is flying a French flag. :D)
Also: I think changing flags while in port temporarily makes all rigging disappear OR doesn't actually update the flag.
Not too bad, but still doesn't seem very polished. By not allowing flag changes on shore, this issue is hidden from the players. :wp
No, they just need to be really careful after a stormy start. If, for example, you start as a British character and end up on Hispaniola, your ship is either in Port au Prince or Santo Domingo, which are probably both hostile unless you picked a year in which either France or Spain is allied to Britain. So you need to remember to go to your ship and change flag before visiting the store. More importantly, you need to remember to go to your deck and change flag before putting to sea, otherwise the fort will remind you of your mistake!

What I'm now wondering is, how about adding a 'SafePortLeave' to stormy start? That should set your ship to a suitable flag so that you can pretend to be one of the locals, then not get sunk by the fort when you go to sea.
 
It's there for hostile ports after a "Custom" start in FreePlay, for the benefit of character types such as Agent who automatically start in a hostile port. It does not seem to be included in a stormy start, and it's not included in "Tales of a Sea Hawk" at all - the only 'SafePortLeave' in that version of "both_reaction.c" is at case "Story_CursedCoinsFinished", which is nothing to do with the Cortes curse, it's part of the main storyline.
 
Ah, I must've been mixing up my memories of the Custom and Stormy Starts then.
They were originally quite similar, but indeed not the same thing.

Adding it to Stormy Start as well does sound like a good idea. :onya
 
While I'm at it, is there a reason why most of the "stormy starts" in "Tales of a Sea Hawk" have the ship at the same beach as the player? By contrast, in "FreePlay", in all cases the ship is either at another beach, or at the nearest port if no other beach is available.
 
Back
Top