• 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 Standard Storyline: Speightstown Blockading Squadron does not move

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
Today I've been doing a lot of testing on the initial escape from Barbados at the start of the Standard Storyline in various modpack releases.
As soon as I hoist a PIRATE flag, normally all three ships would immediately set sail and start harassing me.

However, in the Beta 4 WIP I did NOT see that happening.
While those ships DID turn hostile, fired on me and even boarded me as I got close, I didn't see them make sail at any time.

Can anyone here confirm/deny this issue? I'm a bit confused on this one. :modding
 
Agreed - even after the Kiera Knightly Movie Cut Scene the ships do not set sail and chase the Player

:shrug
 
Just tried this again - sailed out of Speightstown with British Flag - after a pause when I got far enough away the French ships started to sail after me . :facepalm


Could it be because of the skill levels assigned to the French Ship Captains :shrug

And tried again - and the French Ships did not move this time - only fired at me.


:read
 

Attachments

  • compile.log
    57.6 KB · Views: 89
  • system.log
    18.1 KB · Views: 106
Last edited:
Their skills, eh? Hadn't considered that; I assumed it was something with my Sea Relations rewrite that doesn't work quite right.
But that suggestion is worth checking too. :onya
 
Their skills, eh? Hadn't considered that; I assumed it was something with my Sea Relations rewrite that doesn't work quite right.
But that suggestion is worth checking too. :onya

Or their Levels - what level do they have to be to Sail those type of ships properly ?



:doff
 
I'd have to check. Might be defined in InternalSettings.h .
Nope, that only had this:
Code:
#define FLEETCOMMAND_MIN_LEVEL           5     // INT 1-10 - min. level of leadership at which character can command more than a single ship

Or their Levels - what level do they have to be to Sail those type of ships properly ?
That is defined through this function:
Code:
int GetShipMinClassForSkills(int iLeadership, int iSailing)
{
   int skillN = iretMin(iLeadership, iSailing);
   return makeint(8 - skillN*0.7); // PB: Allow Tier 1 Ships
}
It takes the minimum between a character's sailing and leadership skills. Then:

Tier 7 or lower: Skill 2
Tier 6: Skill 3
Tier 5: Skill 4
Tier 4: Skill 6
Tier 3: Skill 7
Tier 2: Skill 8
Tier 1: Skill 10

For "Remy Gatien" (captain of the Belette), he has a skill of 4 and should be able to command up to tier 5 ships.
But the Centurion is a Tier 2 ship. So he is indeed below the level required.
Though that is probably not the reason. His stats match with his init entry, which hasn't changed in a while and therefore should not suddenly cause this issue.
 
Just tried Stealing the French Frigate from Speightstown - from later in the Story .

Then theFrench Warships really do set Sail and attempt to position themselves to Broad side me. :yes Then sail after me.
They sail much more noticeably than they do at the earlier escape from Speightstown.

Perhaps that is because the in the earlier escape from Speightstown they don't become hostile till after the Movie/Cutscene - to give the player a chance to put some distance between their small ship and the French warships.

Whereas here they are hostile immediately

Attached Save is on jetty when just about to board the French Frigate and Sail away from Speightstown.


:cheers
 

Attachments

  • -=Player=- Barbados. Speightstown port. September 16th, 1750.7z
    543.9 KB · Views: 86
Perhaps that is because the in the earlier escape from Speightstown they don't become hostile till after the Movie/Cutscene - to give the player a chance to put some distance between their small ship and the French warships.

Whereas here they are hostile immediately
Indeed them not being hostile just after the tutorial is intentional. But this was after me hoisting a PIRATE flag.
I'd expect them to take a bit more notice of that....
 
That console switch(3) at the start of the Standard Storyline is quite epic.
I know the Black Pearl is "the fastest ship in the Caribbean". But I just saw her FLY (literally!) three times past me.
Something seriously hilarious happened there! :rofl

In any case, the general apathy of the blockading squadron is definitely something I caused with my Sea Relations.
I can force them to chase me around with these lines (even when they're not actually hostile to me):
Code:
  ref chr = CharacterFromID("Remy Gatien");
   int num, otherChar;
   string sGroupID = GetGroupIDFromCharacter(chr);
   Group_SetTaskAttack(sGroupID, PLAYER_GROUP, true); // False to skip call to SetCharacterRelationBoth!
 
I discovered that the whole "Improve Sea AI" didn't apply to ships without a fantomtype, such as all quest ships.
Therefore the blockading squadron never "got the order" to actually attack me so they ended up firing, but not moving.

As a start, I have now included those ships in the regular functionality same as all random ones.
That seems to have helped quite a bit.

That being said, I didn't touch the actual "Improve Sea AI" code yet, but perhaps I should.
It does look it could do with some simplification and clearing out in the hope of improving performance a little bit....
 
In the stock game the ships didn't also move from that position UNLESS you fired a salvo from your deck. In that case, the ships would start to chase you.
 
Indeed them not being hostile just after the tutorial is intentional. But this was after me hoisting a PIRATE flag.
I'd expect them to take a bit more notice of that....
I wouldn't. Partly because I don't know how the AI works so I'd have thought that hostile is hostile and they'd react the same to an English ship as to a pirate ship. And partly because chasing pirates isn't this squadron's job. They're here to blockade Speightstown, presumably to prevent reports from getting out and to prevent a counter-attack from getting in; the commander would be in all sorts of trouble if something got through because his ships were out of position chasing a pirate. If there is a difference, I'd expect them to take more notice of an English flag than a pirate flag because stopping an escaping English ship is their job (which they don't manage very well since you escape xD).
 
Extract attached to your PROGRAM folder to try my first fix for this one.

I wouldn't. Partly because I don't know how the AI works so I'd have thought that hostile is hostile and they'd react the same to an English ship as to a pirate ship. And partly because chasing pirates isn't this squadron's job. They're here to blockade Speightstown, presumably to prevent reports from getting out and to prevent a counter-attack from getting in; the commander would be in all sorts of trouble if something got through because his ships were out of position chasing a pirate. If there is a difference, I'd expect them to take more notice of an English flag than a pirate flag because stopping an escaping English ship is their job (which they don't manage very well since you escape xD).
By default, you will be flying a Personal Flag during that scene and France only turns hostile to the player after the escape.
If you start as actual English, you'll have to hoist a false flag.

Anyway, in this case I set sail from Speightstown to "escape" but immediately hoisted a PIRATE flag while still just about inside the port.
The fort started firing on me (just like it should) and so did the blockading squadron just like they should).
But they didn't move, which makes it quite hard to prevent anyone from getting through. Not even after I fired on them.
That just makes no sense. You could take a GUNBOAT and sink them with that simply by moving into their dead spot and firing away! :shock

With my update, they WILL chase after hostile ships. But only those that come close to them.
Same as all random ships. That does seem more logical to me. And more interesting too!
 

Attachments

  • Screwface_functions.zip
    5.4 KB · Views: 97
So this is fixed right?
 
So this is fixed right?
Looks like it. Would be nice to improve things a bit further, but those ships at least seemed to behave themselves more sensibly now.

I wouldn't object to confirmation from somebody else though.... :wp
 
Back
Top