• 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 Cargo quest taking you to hostile port

Hylie Pistof

Curmudgeon
QA Tester
Storm Modder
Pirate Legend
OK, I got around that bug in Havana and continued the game.

Found that doing merchant runs is only half as profitable as it used to be as i found myself in a loop where I would go to a French port and pick up a job hauling cargo to a Dutch port. Ok fine. Drop off the cargo and then the Dutch refuse to deal with me so I sail back to a French port empty. Repeat till bored.

So I tried smuggling. Loaded up with silk at Martinique and sailed to Puerto Rico. Made it into town and talked with the smuggler and headed back. While well away from my ship I was spotted by the coast guard and killed two that showed up after a wait. Then when I finally made it to the smugglers they would not talk to me. Game over and back to POTC 3.3 I go. :doff
 
Found that doing merchant runs is only half as profitable as it used to be as i found myself in a loop where I would go to a French port and pick up a job hauling cargo to a Dutch port. Ok fine. Drop off the cargo and then the Dutch refuse to deal with me so I sail back to a French port empty. Repeat till bored.
Were you hostile to the Dutch at the time?

So I tried smuggling. Loaded up with silk at Martinique and sailed to Puerto Rico. Made it into town and talked with the smuggler and headed back. While well away from my ship I was spotted by the coast guard and killed two that showed up after a wait. Then when I finally made it to the smugglers they would not talk to me.
You were caught on the beach before talking to the smugglers? Yes, that's a new feature.
But I do reckon @Levis can update it so that you CAN talk to the smugglers again afterwards. That seems fair enough to me; things are supposed to be become more interesting, after all; not more annoying. :wp

Game over and back to POTC 3.3 I go. :doff
Fair enough. At the moment, the latest version isn't really fit for proper play because there is too much being developed right now.
Hopefully that will change substantially over the next few weeks, because I'll have my holidays and *I* want to play the game properly too! :cheeky
 
Were you hostile to the Dutch at the time?

Yes, no, maybe. The game started with everyone hostile at -60 except the French at 0. I did a smuggling run earlier at Jamaica where the coast guard were standing there waiting for me to finish the deal with the smugglers so they could arrest me. Well I got away clean but the Dutch and Pirates became wary of me. This allowed me to haul cargo to Dutch ports but they still would not trade with me afterwards. Toff would not talk to me either.

This left me in the position where I could deliver cargo to them but could not deal with the store. Going to the Governor left me with the option of getting a LoM only.

Then I went off to smuggle again.

You were caught on the beach before talking to the smugglers? Yes, that's a new feature.
But I do reckon @Levis can update it so that you CAN talk to the smugglers again afterwards. That seems fair enough to me; things are supposed to be become more interesting, after all; not more annoying. :wp

I was no where near the beach! In fact I was on the far side of the rope bridge and had to stand around for a while before they found me so we could kill them. Then the smugglers wouldn't talk and there were no coast guard ships around.

This also meant that suddenly EVERYBODY is either wary or hostile. I have no safe haven unless I buy a LoM which will become useless after my next smuggling run.

The game is currently unplayable.

Fair enough. At the moment, the latest version isn't really fit for proper play because there is too much being developed right now.
Hopefully that will change substantially over the next few weeks, because I'll have my holidays and *I* want to play the game properly too! :cheeky
 
I just went back to the last working save. I was at French Guadeloupe and got a job hauling cargo to British Alice Town. France and England are at war. Left port and all was well and sailed away just fine. Then sailed to French Port Au Prince and got sunk by the forts.

Why does everybody always send me to hostile English ports?
 
That is a good question. I thought there was a check in place to find a destination that is friendly to them and you.
But perhaps I misremember. One more thing to check when I get to playing the game some time soon.
 
I was at French Guadeloupe and got a job hauling cargo to British Alice Town. France and England are at war. Left port and all was well and sailed away just fine. Then sailed to French Port Au Prince and got sunk by the forts.

Why does everybody always send me to hostile English ports?
 
From what I understand, this was for CARGO quests. @Hylie Pistof, can you confirm?

Here's a post I made about the relevant section of code before:
For the trade quests, first a destination nation is found by looping through all nations, then:
- Skip nations hostile to the player
- Skip nations hostile to the trader nation
- Skip nations that ARE the trade nation
- Skip pirates
- Choose a random nation out of what is left

Since you are getting the quest from the pirates, the destination must be non-pirate and friendly to the pirates and no such place exists.
It probably returns ENGLAND as that is coded as number 0 and probably shows up as "default".
As Antigua is the only English island, that might explain why you always have to go there.

Relevant code is in PROGRAM\QUESTS\quests_common.c:
Code:
int GenerateNationTrade(int nation)
{
   int i = -1;
   string friendlyNations = "";
   for(int j=0; j<NATIONS_QUANTITY; j++)
   {
     if(GetNationRelation2MainCharacter(j)==RELATION_ENEMY) continue;
     if(GetNationRelation(nation, j)==RELATION_ENEMY) continue;
     if(nation==j) continue;
     if(j==PIRATE) continue;
     string tmpNat = j;
     friendlyNations = StoreString(friendlyNations,tmpNat);
   }
   i = sti(GetRandSubString(friendlyNations));

   return i;
}
Perhaps an exception should be made for when the source nation is PIRATE?
I'd suggest making the following change:
Code:
int GenerateNationTrade(int nation)
{
   int i = -1;
   string friendlyNations = "";
   for(int j=0; j<NATIONS_QUANTITY; j++)
   {
     if(GetNationRelation2MainCharacter(j)==RELATION_ENEMY) continue;
     if(nation != PIRATE && GetNationRelation(nation, j)==RELATION_ENEMY) continue; // PB: Allow pirates to send you to nations hostile to them
     if(nation==j) continue;
     if(j==PIRATE) continue;
     string tmpNat = j;
     friendlyNations = StoreString(friendlyNations,tmpNat);
   }
   i = sti(GetRandSubString(friendlyNations));

   return i;
}
That should skip the check for "destination nation must be friendly to trader nation" for pirate traders.
In other words, that unlocks ALL nations that the player is friendly to when you take a quest from a pirate.

Does that sound about right?
So there IS indeed a check to prevent sending you to ports hostile to yourself. o_O
 
@Pieter Boelen could it be he was flying an other flag at the time? If you fly a false flag will it return your personal relations or the ones of your flag.
 
GenerateNationTrade works on the NPChar nation so player flag isn't factored in on that end.
And GetNationRelation2MainCharacter also isn't affected by flag.
 
It was an everyday cargo run and I was flying the French flag at that time until I got close to Alice Town and switched to an English flag. Getting sent to English ports is common until peace breaks out.
 
If you guys get the chance, please continue taking Escort Quests and check if you get sent to hostile ports at all.
From what I understand from the code, that should not actually happen.
I suspect the reason for this was my incomplete rewrite of the nation relations code, but that should behave itself properly again now.

So this one goes to "Needs Testing"!
 
Has anyone been trying any Escort Quests? Did you get any towards hostile destinations now?
 
Back
Top