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

Convoy Strike

Map Maker

Powder Monkey
Playing Ardent quest and have defeated the convoy, but I can't go to sea and sail to Santiago. I released one penance, captured the other one and sank the "Assurance". Have I done something wrong or am I glitched.
 
Playing Ardent quest and have defeated the convoy, but I can't go to sea and sail to Santiago. I released one penance, captured the other one and sank the "Assurance". Have I done something wrong or am I glitched.
The battle only ends when you have sunk or captured the whole convoy. Releasing the pinnace probably broke the quest.
 
And thanks for the report. If you run into any more problems, or if you have any other comments about the storyline, please post them. :onya
 
The battle only ends when you have sunk or captured the whole convoy. Releasing the pinnace probably broke the quest.
I always thought that should ALSO "kill" the original captain (and create a clone) so that any quest could still proceed.
Is that not the case then? :(
 
No, the enemy captain is only killed and cloned if you hire him or take him prisoner. If you release him, he's still on his ship.

@Map Maker: when you released the pinnace captain, was it in exchange for unlocking an ability?
 
No, the enemy captain is only killed and cloned if you hire him or take him prisoner. If you release him, he's still on his ship.
Was that always like that?
Sounds to me as if that could mess up all sorts of quests.

Or is this what the "boarding enable"/"no surrender" options are for?
 
"Boarding enable" prevents you from even trying to board an enemy ship, typically because you're not supposed to be able to capture it, e.g. the Flying Dutchman. "No surrender" means the captain will fight to the death, which is why you're not going to capture the captain of the Assurance, the second Heavy East Indiaman in the convoy.

What is supposed to prevent quests from being messed up is the variable "bAllowRelease" in "Cabinfight_dialog.c", which is initially set to be true and then set false by various conditions, e.g.:
Code:
if(CheckAttribute(boarding_enemy,"questchar") && boarding_enemy.questchar==true) { bAllowHireJoin = false; bAllowRelease = false; bAllowCapture = true; }
Those parts of the dialog code which offer to release the enemy ship are supposed to check "bAllowRelease" and only allow the dialog choice if it's set true. And even if they don't, the release code checks it again:
case "possibility_to_release":
dialog.text = DLG_TEXT[58] + MakeMoneyShow(sti(NPChar.wealth),"",MONEY_DELIVER) + DLG_TEXT[59];
if(bAllowRelease) // TIH allow to release free Aug24'06
{
link.l1 = DLG_TEXT[60];
link.l1.go = "Exit_release";
}
link.l2 = DLG_TEXT[61];
link.l2.go = "you_are_liar";
break;[/code]If "bAllowRelease" has been set to false, you can't keep your word to release the enemy ship.

All the convoy captains are protected by the "questchar" attribute - I didn't know about its effect on the dialog, it's used to try to defend them against the levelling system. That means it should be impossible to release them. And that's why I asked whether @Map Maker released the captain in return for unlocking a perk. The perk-unlocking part of the dialog code does not check "bAllowRelease", and could therefore very well mess up any quest which allows an enemy captain to surrender but still checks for them all to be dead.

Another thought about that code to set "bAllowRelease":
Code:
if(CheckAttribute(boarding_enemy,"questchar") && boarding_enemy.questchar==true) ...
I wonder if that's ever going to pass? Attributes are strings, 'true' is an integer, so that condition might not work. Perhaps it needs to be 'sti(boarding_enemy.questchar)'.
 
Another thought about that code to set "bAllowRelease":
Code:
if(CheckAttribute(boarding_enemy,"questchar") && boarding_enemy.questchar==true) ...
I wonder if that's ever going to pass? Attributes are strings, 'true' is an integer, so that condition might not work. Perhaps it needs to be 'sti(boarding_enemy.questchar)'.
That does indeed look pretty dubious.
Better change it to be safe. :onya
 
All the convoy captains are protected by the "questchar" attribute ... That means it should be impossible to release them. The perk-unlocking part of the dialog code does not check "bAllowRelease", and could therefore very well mess up any quest which allows an enemy captain to surrender but still checks for them all to be dead.

Given another example in TOSH I have tried to put the check to prevent use of the perk unlocking - there are plenty more Captain's out there to give you those skills - just keep taking ships.:pirate41::duel:
 

Attachments

  • Cabinfight_dialog.c
    54.4 KB · Views: 261
Landed at Cuico port and Luci told to berth extra ships which I did. But I can't enter the governor residence. The door is locked and when I re-enter the town, Luci kept asking me to berth ships even though I only have my flagship in the fleet now.
 
Yes. You're supposed to take over one of the convoy ships sneakily, pretend to be part of the convoy, then attack the convoy from within. Having your own ship would give the game away!
 
Nope, still doesn't work. I berthed all my ships and townhall still locked.
 

Attachments

  • all_ship_berthed.png
    all_ship_berthed.png
    5.3 MB · Views: 199
  • Townhall_locked.png
    Townhall_locked.png
    4.5 MB · Views: 200
@smrtwhkd : I've been replaying the story myself, ransoming Lucia early in the game to try to recreate this situation. After arriving at Willemstad, I went to the shipyard and berthed my companions. When I left the shipyard, Lucia warned me that I'd need to berth my own ship or lose it, so I went back in and berthed the flagship. After that, the townhall was unlocked and I was able to continue.

I've had a look at the code for that part of the story, both in the fully updated version and in the May 2018 version (which is what you'd have if you used the latest installer but did not add in the updates). That part of the code has not changed - in fact, I found an even older version and that part of the code is the same there, too.

So unless you can upload a savegame for me to check, I'm going to have to regard this as "Cannot confirm".
 
Back
Top