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

Included in Build Adapt Escort Quests to be more Interesting

Realistically, if you've started from Antigua and are heading for Grenada, you're going through those dangerous waters anyway, unless you're planning on a big detour, which as a merchant I would not like at all! So we're likely to pass French territory. Maybe that's why I'm hiring an escort. And if he wants to try to sneak past rather than fight it out with anything French that shows up, that's fine by me - getting through without a fight is good.
Two simple(?) options I can think of:
- ONLY turn the escort ship hostile if you hoist a pirate flag and have the captain be OK with other nations
- Add a dialog option so you can talk to the captain and explain that you will be changing flags on purpose and that he need not be concerned

I've no idea what would have happened later. I landed at Oyster Beach, changed to French flag so I could talk to the store, the merchant got upset, and I lost 10 reputation, at which point I reloaded a savegame. That's also when I realised I didn't need to change flag anyway because storekeepers will trade with you regardless of nationality and relations, if you're Hero. :facepalm
Oh wait, you saw the log message and reputation loss only. Makes sense.

Whereas this one was a pitiful little thing, a ketch I think, and I was in a brig.
What difficulty are you on? I think Hylie uses Swashbuckler. If you use a lower difficulty, that would explain the smaller ship.
Also relevant are your own player level and ship size (can't remember the exact formula).

Same here. There are other ways to meet enemy ships, preferably a group of merchants with light escort or no escort at all. And I usually have somewhere else I need to go, so don't want to have to detour for someone else's benefit. This one just happened to be going in the right general direction, plus I wanted to go to Grenada anyway to get a gun polished up and let Artois Voysey get mugged.
The inconvenient routes will remain for the foreseeable future, I'm afraid. All we can do is to make those quests more worthwhile in other ways.
It is worth to note that for each time you save an Escort Quest captain from an enemy at the destination, a counter is increased which increases your reward for it.
So if you do it once, you'll get maybe 1000 gold but the second time you'll get 2000 for the same thing. And as long as you don't fail, that will keep increasing.

Personally, I sometimes like these types of quests if I'm not sure where to go next and these guys always at least have an idea of sorts.
 
As usual, I'm Adventurer, Realistic. I'd have been in either Retribution or Hotspur, probably the former as it's even more unbalanced to put a tiddler against a RN_Volage!

It's not unreasonable for the quests to have inconvenient destinations. The merchant has his own plans; maybe they fit in with yours, maybe the money is good enough to compensate for a detour, or maybe you aren't interested. Once you're into complete free play and all the side quests are complete, you're probably looking for reasons to go to places, e.g. people paying you to go there, at which time random escort quests become more interesting.

If it could be done, the dialog to tell the captain that you intend to change flags without attacking him would be useful. If you plan to attack him under a hostile national flag, you just don't take that dialog, which means the players who want to double-cross the merchant without using a pirate flag can still do so. Meanwhile I get to go to St. Pierre under a false French flag without upsetting the merchant. Win all round!
 
I think the dialog toggle should be quite possible.
Only question here is: Should you do this once per merchant, once per flag change or once per game?
 
On balance, I'd think once per merchant makes most sense. It should be easiest, since you could perhaps include as part of the hiring process an extra line which says you intend to use false flags. Once you've said that line, if you change flag then he won't mind and for preference will change his own flag to match. If you haven't said that line then if you raise a hostile flag, he'll get upset.

Once per game is too limiting. It means you get one chance to decide if you want to use hostile flags to double-cross merchants or to sneak into enemy ports, and you can't change your mind for the next merchant, regardless of random relation changes, side quests which require you to enter a hostile port, you've decided that you don't want to be honest any more, you've decided that you don't want to be dishonest any more., etc.

Once per flag change would, I imagine, be harder - how do you talk to the merchant once you're on your way and he's in his ship? Also, if you've changed flag to get into an enemy port, remember to tell the merchant again that you intend to change flag, otherwise he may get upset when you change back to the flag that will get into his destination port...
 
The ships I met were a brigantine and a sloop. With the brigantine I was in a light pinnace and with the sloop I was in a carrack. In both cases their crews were too large to board and they were unsinkable with 6 pounders. I was sailing empty both times so I lost money both times, but got that perk.

Oh, you will be plaesed to know that I finally got a larger ship, a Fast War Galleon. Not my first choice because of the huge crew, but it will do until I can acquire an English Galleon.
 
On balance, I'd think once per merchant makes most sense. It should be easiest, since you could perhaps include as part of the hiring process an extra line which says you intend to use false flags. Once you've said that line, if you change flag then he won't mind and for preference will change his own flag to match. If you haven't said that line then if you raise a hostile flag, he'll get upset.
That's what I was thinking too. My original thinking was that you talk to him in his own captain's cabin though.
There is already a dialog case for that in PROGRAM\DIALOGS\anacleto_dialog.c:
Code:
    case "convoy_in_progress":
       dialog.text = DLG_TEXT[39];
       Link.l1 = DLG_TEXT[40];
       link.l1.go = "exit";
     break;
We would just need to add an extra line there.

I hadn't even thought yet about doing it when you are hired as his escort, though that would of course be possible as well.
 
On balance, I'd think once per merchant makes most sense. It should be easiest, since you could perhaps include as part of the hiring process an extra line which says you intend to use false flags. Once you've said that line, if you change flag then he won't mind and for preference will change his own flag to match. If you haven't said that line then if you raise a hostile flag, he'll get upset.
Done in here: http://www.piratesahoy.net/threads/build-14-beta-3-5-internal-wip-for-testing.24817
Please try it and see if it seems to work the way you would like to see.

If I did it right, you need to inform each merchant individually. They will maintain their original flag though, like they always did.
 
This has made the Montanez mission in "Strange Things Going On" rather more complicated. If you approach Bridgetown under an English flag, the Montanez is immediately hostile to you, and even if you're careful only to fire by manual aiming, if you have a companion ship then it may start attacking the Montanez, plus of course Montanez will attack you. If you approach under a Spanish flag then the Montanez is happy enough, but then you can't leave Bridgetown as the fort will fire at you.

So you approach under the Spanish flag, defeat the Animist ships, teleport to the tavern to talk with Mergildo Hurtado, then raise English flag, and the Montanez immediately gets upset.

So you approach under the Spanish flag, defeat the Animist ships, teleport to the tavern to talk with Mergildo Hurtado, then go to port and talk to Mergildo Hurtado in his own cabin, where there is no dialog option to tell him that you intend to raise another flag without betraying him.

In fact, the only way I got it to work was by raising the white flag, which isn't a surrender, it's a general flag of truce. It makes everyone who was hostile to you neutral. The Montanez doesn't object to that.
 
Is there no nation that is not hostile to both Spain and England? What about your personal flag?

The Montanez mutinies anyway so why bother making him happy?
 
This is the "Bartolomeu" storyline, set in the "Spanish Main" period. Spain hates everyone. Including me, as I've been doing a bit of privateering on the side on behalf of Portugal and England.

The Montanez doesn't mutiny if you either (a) keep checking the crew and paying to raise their morale, or (b) Direct Sail all the way to Puerto Rico, pressing '0' whenever the hour is about to change and again after it's changed, so days last 24 hours instead of 1 hour. (Yes, I know why Direct Sail was set so that 1 hour = 1 day. But if the game is going to mess with me by making it impossible to get a quest ship to its destination without its morale dropping to rock bottom every few days, I'm going to mess right back. :D)
 
Oh.

I still don't care if the Montanez mutinies because it is always there when I get to port and the story continues.
 
I thought you couldn't dock at a port if there's a hostile ship in the area. How are you able to dock if Montanez is actively hostile?
 
@Grey Roger, is the Montanez mutinying because of an issue with the captain's reputation relative to your own?
Or do they not like the hostile flag you hoist?

Why is the Montanez going into Bridgetown again? A Spanish ship in an English port is always going to be a bit iffy.
It may make sense in the Standard storyline time period, but as with all other quest stuff, it cannot be guaranteed to make sense with all possible nation relations.

That being said, the current mutiny code was deliberately written without specific exceptions in place so that we might find issues like these.
If this indeed a problem, we can set up a character attribute that prevents the Montanez from ever mutinying at all.

Is she one of those ships that cannot be removed? If so, perhaps it is an idea to prevent companion mutinies for those altogether.
But the same applies to trade escort ships. However, those also have got SetCompanionEnemyEnable applied to them, which other quest ships don't.
So my first suggestion would be to comment out this line:
Code:
if (!GetRemovable  (rCharacter))                   bPlayerCompanion = false;
In PROGRAM\INTERFACE\NationRelation.c and PROGRAM\BATTLE_INTERFACE\BattleInterface.c .
That might solve this problem already.

Edit: Also in PROGRAM\WorldMap\DailyCrewUpdate.c find:
Code:
        if (morale <= 30)
         {
           if (IsMutineer(chref) == false && morale <= 10)
Replace with:
Code:
        if (morale <= 30 && GetRemovable(chref)) // PB: Skip 'locked' ships
         {
           if (IsMutineer(chref) == false && morale <= 10)
That should also skip all mutinies on any quest companion ships that you cannot touch and are therefore probably required to stick with you.
 
@Grey Roger, is the Montanez mutinying because of an issue with the captain's reputation relative to your own?
Or do they not like the hostile flag you hoist?
Both of the above. The captain is Swindler, I'm Hero, so there was going to be trouble later on. I was in Bridgetown, having previously hoisted a Spanish flag so Montanez wouldn't attack me, and then I wanted to hoist the English flag so the fort didn't attack me on the way out.

Why is the Montanez going into Bridgetown again? A Spanish ship in an English port is always going to be a bit iffy.
You meet the Montanez at Barbados! When you've finished sinking the Animist ships, you're teleported to Bridgetown tavern. That's how this part of the quest has always worked.

Is she one of those ships that cannot be removed? If so, perhaps it is an idea to prevent companion mutinies for those altogether.
I'm not sure what you mean. How would you remove the ship? Sink it? Sell it? Replace its commander with someone else? If you did, would the quest still finish properly when you get to San Juan? (I think the Montanez may be protected, you can't get at its cargo hold when you're in the store, which means your quartermaster buys emergency food for it if you do things in the shipyard such as sell a different ship.)

But the same applies to trade escort ships. However, those also have got SetCompanionEnemyEnable applied to them, which other quest ships don't.
So my first suggestion would be to comment out this line:
Code:
if (!GetRemovable  (rCharacter))                   bPlayerCompanion = false;
In PROGRAM\INTERFACE\NationRelation.c and PROGRAM\BATTLE_INTERFACE\BattleInterface.c .
That might solve this problem already.

Edit: Also in PROGRAM\WorldMap\DailyCrewUpdate.c find:
Code:
        if (morale <= 30)
         {
           if (IsMutineer(chref) == false && morale <= 10)
Replace with:
Code:
        if (morale <= 30 && GetRemovable(chref)) // PB: Skip 'locked' ships
         {
           if (IsMutineer(chref) == false && morale <= 10)
That should also skip all mutinies on any quest companion ships that you cannot touch and are therefore probably required to stick with you.
Alternatively, just hoist a white flag to get you out of Bridgetown, then pay off the crew every so often to keep them happy until you get to San Juan, which is how I finished off the quest. That was a little while ago and I don't have any savegames which would get me back to the initial meeting with the Montanez, so someone else will have to try these code changes...

Another solution would be to make Mergildo Hurtado Neutral rather than Swindler, then there shouldn't be any problem due to difference of alignment.

Incidentally, I looked at the quest code for the Montanez, and it seems there's a check on your relations with England. If you're hostile, you're supposed to be transferred to the lighthouse rather than the fort, which should mean you don't need to worry about the fort if you're flying the Spanish flag to keep the Montanez happy. Something else to be checked by the next person who plays this quest.
 
Both of the above. The captain is Swindler, I'm Hero, so there was going to be trouble later on. I was in Bridgetown, having previously hoisted a Spanish flag so Montanez wouldn't attack me, and then I wanted to hoist the English flag so the fort didn't attack me on the way out.
My above code change suggestions should take care of both instances, I think.

You meet the Montanez at Barbados! When you've finished sinking the Animist ships, you're teleported to Bridgetown tavern. That's how this part of the quest has always worked.
I couldn't remember the teleport to Bridgetown tavern; it has been too long ago that I played it. :facepalm

I'm not sure what you mean. How would you remove the ship? Sink it? Sell it? Replace its commander with someone else? If you did, would the quest still finish properly when you get to San Juan? (I think the Montanez may be protected, you can't get at its cargo hold when you're in the store, which means your quartermaster buys emergency food for it if you do things in the shipyard such as sell a different ship.)
I meant exactly the "protection" that you refer to there. That is checked for by the GetRemovable function.

Alternatively, just hoist a white flag to get you out of Bridgetown, then pay off the crew every so often to keep them happy until you get to San Juan, which is how I finished off the quest. That was a little while ago and I don't have any savegames which would get me back to the initial meeting with the Montanez, so someone else will have to try these code changes...
I think that white flag was intended to actually surrender yourself, but that is a feature that was never added to the game.
Not sure if that option should be kept at all; it is a bit of a cheat and a readily available one at that!

Another solution would be to make Mergildo Hurtado Neutral rather than Swindler, then there shouldn't be any problem due to difference of alignment.
That is the solution I applied to generic quest traders to prevent morale-related mutinies.
I think my above code changes will actively prevent all morale-related mutiny from quest traders ever.
Probably not a big loss there, though. Could hardly ever happen anyway.

Incidentally, I looked at the quest code for the Montanez, and it seems there's a check on your relations with England. If you're hostile, you're supposed to be transferred to the lighthouse rather than the fort, which should mean you don't need to worry about the fort if you're flying the Spanish flag to keep the Montanez happy. Something else to be checked by the next person who plays this quest.
But that teleport didn't happen? Can you post the relevant code section? Perhaps the relation check is outdated.
 
I'd say the white flag should be kept as it is, a general flag of truce. Ideally there should be some very stiff penalty if you fire any shots while that flag is up, starting with massive loss of reputation, possibly massive loss of morale and likely mutiny. Never mind what you were aiming at, if you're under a flag of truce then you shouldn't be firing at all! Possibly also lose morale if you keep the white flag up for too long, the crew don't want to sail with Captain Chicken. xD

The teleport to Bridgetown tavern certainly happens. I'm not 100% certain now whether I was then sent to the port even though the Spanish flag was still up, and as I said, I'm now somewhat further ahead in the game and have no savegame which will allow me to try the Montanez quest again any time soon.

From "PROGRAM\QUESTS\quests_side.c":
Code:
case "animists_drown_complete_2":
      bQuestDisableMapEnter = false;
       Island_SetReloadEnableGlobal("Oxbay", true);
       if (GetNationRelation2MainCharacter(ENGLAND) == RELATION_ENEMY)
       {
           pchar.location.from_sea = "Oxbay_lighthouse";
           SetFleetInTown(GetTownIDFromLocID(pchar.location.from_sea), "pchar"); // NK 05-04-02 WM/IT set fleet.
           PlaceFleetNearShore(pchar.location.from_sea); // KK
       }
       else
       {
           pchar.location.from_sea = "Greenford_port";
           SetFleetInTown(GetTownIDFromLocID(pchar.location.from_sea), "pchar"); // NK 05-04-02 WM/IT set fleet.
          PlaceFleetNearShore(pchar.location.from_sea); // KK
       }
       DisableFastTravel(true);
       DisableMenuLaunch(true);
       bQuestDisableAllCommands = false;
       Group_SetAddress("Mergildo Hurtado", "none", "", "");
       DoQuestReloadToLocation("Greenford_tavern", "sit", "sit4", "speak_with_Mergilo");
       ChangeCharacterAddressGroup(characterFromID("Mergildo Hurtado"), "Greenford_tavern", "sit", "sit3");
break;
That condition line looks suspicious to me. Unless your relationship to England is exactly the value of "RELATION_ENEMY" - no more, no less - the condition will fail. And that's assuming "GetNationRelation2MainCharacter" correctly interprets your current flag's relation to England, which is the only reason I was hostile during this quest - normally I'm friendly, and in fact have a LoM and quite a high rank.
 
I'd say the white flag should be kept as it is, a general flag of truce. Ideally there should be some very stiff penalty if you fire any shots while that flag is up, starting with massive loss of reputation, possibly massive loss of morale and likely mutiny. Never mind what you were aiming at, if you're under a flag of truce then you shouldn't be firing at all! Possibly also lose morale if you keep the white flag up for too long, the crew don't want to sail with Captain Chicken. xD
That will have to be a part of my upcoming nation relations and false flag changes.
I do still have the intention to do that, but have to finish all the other WIP stuff first before I can start breaking something new.... :wp

The teleport to Bridgetown tavern certainly happens. I'm not 100% certain now whether I was then sent to the port even though the Spanish flag was still up, and as I said, I'm now somewhat further ahead in the game and have no savegame which will allow me to try the Montanez quest again any time soon.

From "PROGRAM\QUESTS\quests_side.c":
Code:
case "animists_drown_complete_2":
      bQuestDisableMapEnter = false;
       Island_SetReloadEnableGlobal("Oxbay", true);
       if (GetNationRelation2MainCharacter(ENGLAND) == RELATION_ENEMY)
       {
           pchar.location.from_sea = "Oxbay_lighthouse";
           SetFleetInTown(GetTownIDFromLocID(pchar.location.from_sea), "pchar"); // NK 05-04-02 WM/IT set fleet.
           PlaceFleetNearShore(pchar.location.from_sea); // KK
       }
       else
       {
           pchar.location.from_sea = "Greenford_port";
           SetFleetInTown(GetTownIDFromLocID(pchar.location.from_sea), "pchar"); // NK 05-04-02 WM/IT set fleet.
          PlaceFleetNearShore(pchar.location.from_sea); // KK
       }
       DisableFastTravel(true);
       DisableMenuLaunch(true);
       bQuestDisableAllCommands = false;
       Group_SetAddress("Mergildo Hurtado", "none", "", "");
       DoQuestReloadToLocation("Greenford_tavern", "sit", "sit4", "speak_with_Mergilo");
       ChangeCharacterAddressGroup(characterFromID("Mergildo Hurtado"), "Greenford_tavern", "sit", "sit3");
break;
That condition line looks suspicious to me. Unless your relationship to England is exactly the value of "RELATION_ENEMY" - no more, no less - the condition will fail. And that's assuming "GetNationRelation2MainCharacter" correctly interprets your current flag's relation to England, which is the only reason I was hostile during this quest - normally I'm friendly, and in fact have a LoM and quite a high rank.
Actually, that condition line probably IS correct.
If I recall, GetNationRelation2MainCharacter can return only the value of RELATION_ENEMY, RELATION_NEUTRAL or RELATION_FRIEND and there are no other options.

However, the teleport is ALWAYS to the Bridgetown tavern. Also, those lines look like they're supposed to place the player fleet at the lighthouse instead of in port.
But I don't even know what those particular lines actually do. The REAL function to place the player ship somewhere is a different one.
Can't remember it by the top of my head, but you can easily find it in PROGRAM\console.c because it is grouped right with the DoQuestReloadToLocation examples in there.
Using that function instead would allow you to set sail from the shore and bypass the hostile Bridgetown fort upon departure.
 
I think that section of code was supposed to have these two lines added:
Code:
      if (GetNationRelation2MainCharacter(GetTownNation("Greenford")) == RELATION_ENEMY) // PB: was hardcoded for ENGLAND
       {
         pchar.location.from_sea = "Oxbay_lighthouse";
         SetFleetInTown(GetTownIDFromLocID(pchar.location.from_sea), "pchar"); // NK 05-04-02 WM/IT set fleet.
         PlaceFleetNearShore(pchar.location.from_sea); // KK
         SetCharacterShipLocation(Pchar, "Oxbay_lighthouse"); // PB
       }
       else
       {
         pchar.location.from_sea = "Greenford_port";
         SetFleetInTown(GetTownIDFromLocID(pchar.location.from_sea), "pchar"); // NK 05-04-02 WM/IT set fleet.
         PlaceFleetNearShore(pchar.location.from_sea); // KK
         SetCharacterShipLocation(Pchar, "Greenford_port"); // PB
       }
I put in an extra check for the nation of Bridgetown as this is Portuguese in Early Explorers and not English.

So I think you should be teleported to the Barbados lighthouse "reload1" later here:
Code:
    case "to_barkue_complete":
       // boal -->
       //AddQuestRecord("animists", 18);
       // boal <--
       DoQuestReloadToLocation(pchar.location.from_sea, "reload", "reload1", "_");
       LAi_SetPlayerType(pchar);
       characters[GetCharacterIndex("Mergildo Hurtado")].location = "Greenford_tavern";
       ChangeCharacterAddress(characterFromID("Mergildo Hurtado"), "none", "");
     break;
 
Back
Top