• 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 3D Sailing Mode: Reduce Range for Ships Chasing Each Other

Ok, tested this several times with the Standard storyline. I hoisted pirate flag and started running away from the french fleet. With original
GetCharVisibilityRange(chr, 4) value, they were chasing me all the way on the horizon until they eventually managed to sink me. Then I lowered this value to 3, then to 2, but to be honest, I didn't notice big difference. The point is that they didn't turn back. Then, I raised the value to 10, to see what happens. What it caused was: they were chasing me all over the horizon and it triggered other french ships that were around the island to chase me, even though I wasn't in their line of sight and was far, far away from them (they were on the other side of the island I guess). Should I try more times?
 
Going higher than 5 will make no difference.
But indeed increasing it to that would probably make ANY ship in the scene chase right towards you, which is overkill for sure.

I'm most curious not just about what happens between NPC and player ships, but especially between NPC ships themselves.
Those TraceAndLog lines would give additional details as then you can see what different NPC ships are up to.
 
Going higher than 5 will make no difference.
But indeed increasing it to that would probably make ANY ship in the scene chase right towards you, which is overkill for sure.

I'm most curious not just about what happens between NPC and player ships, but especially between NPC ships themselves.
Those TraceAndLog lines would give additional details as then you can see what different NPC ships are up to.

I will definitely try with 3 or 2. And see what it happens. Higher values are not what we are looking for I guess...
 
Higher values are not what we are looking for I guess...
No, definitely not. That's why I said:
Reduce that '4' on the visibility_range line to '3' and see what effect that has on ships chasing you and each other. Possibly even go down to '2' and see what happens.
;)
 
I have been testing this pretty much, but I just don't know how to solve this puzzle. What do you think, Pieter? What value should be best? Maybe setting it to 2 would be better?
 
My personal preference would be to set it to "2" as that makes sense in relations with the spyglass ranges.

But some people are afraid that enemy ships won't "see" each other anymore with that value,
so even fleet-to-fleet battles will just consist of two fleets sailing away from each other.

If you didn't notice that, then my suspicion is that "2" would do just fine.
So I'll do that in the next update and then we'll see what happens. :cheers
 
My personal preference would be to set it to "2" as that makes sense in relations with the spyglass ranges.

But some people are afraid that enemy ships won't "see" each other anymore with that value,
so even fleet-to-fleet battles will just consist of two fleets sailing away from each other.

If you didn't notice that, then my suspicion is that "2" would do just fine.
So I'll do that in the next update and then we'll see what happens. :cheers

I didn't notice that. I don't think that might happen.
 
I vaguely remember there was a discussion somewhere about the ship sighting distances and how they were able to recognize ships from too great of a distance. Well, now methinks the recognition distance is too short. I'm not sure yet but ships only 1200 yards away do not recognize me. I suspect the needed distance is around 1000 yards which is at least 500 yards too short.

It is a new experience to see enemy ships, get all prepared for the fight or flight routine, and have them just sail on by like i'm not worth bothering with. :bonaparte
 
I always fly my personal flag unless I;m trying to sneak onto a hostile island. They should have attacked me.
 
I have noticed that enemy ships farther than 1000-1200 yards will not "see" me and attack. I have visited a few sea battles and the two fleets did see each other. My opinion is that whatever the setting is now it could be just a little higher. Like if it is 2 now, maybe 2.5 would be nice.
 
I always fly my personal flag unless I;m trying to sneak onto a hostile island. They should have attacked me.
Thanks for reporting and confirming; that is valuable information to be sure. :woot

This means that the value of "2" is indeed confirmed to be TOO LOW, which is what I wanted to know.

Please open PROGRAM\Screwface_functions.c and replace this line:
Code:
float visibility_range = GetCharVisibilityRange(chr, 2);
With this:
Code:
float visibility_range = GetCharVisibilityRange(chr, 3);
Should be very close to the top of that file.

Then see if this behaviour seems better again or if it is still wrong.
 
I have noticed that enemy ships farther than 1000-1200 yards will not "see" me and attack. I have visited a few sea battles and the two fleets did see each other. My opinion is that whatever the setting is now it could be just a little higher. Like if it is 2 now, maybe 2.5 would be nice.
Sounds good to me. See my above post for how to make that change.
Note that "2.5" wouldn't work, so it has to be "3". They have to be "full integer values". :doff
 
Done.

I must add that with the previous version (10 Jan?) the distances were too short also. I got into a situation where I had a 3 ship fleet and came close to a hostile 3 ship fleet. They did not turn and attack until we were maybe 1000-1100 yards apart. I tested Bandicam in that battle and got a 10 minute video of ships shooting at each other, mavuevering, boarding, and fighting below decks. It ended as I was starting the final swing that killed the enemy Captain.

No crashes or other oddities were noted and I DID loot corpses and chests.
 
Last edited:
I must add that with the previous version (10 Jan?) the distances were too short also.
According to post #30 above, I changed that number in the 10 Jan release, so that makes sense. :onya

I'm glad you indeed notice a difference in behaviour. Now we just need to determine the number we need to get the behaviour we want.
"2" isn't good and "4" may be excessively high. Hopefully "3" will seem right. And if not, we'll just go back to "4" but then at least we know for sure. :cheeky
 
I can guarantee that if you think "2" is too short, "3" will be even worse! Try "1" instead. Here's why.

'GetCharVisibilityRange' is defined in "sea.c" and applies a modifier based on skills "Leadership" and "Sailing" to a base value provided by 'GetVisibilityRange'. It is 'GetVisibilityRange' which uses that "2", "3" or "4":
Code:
  switch (iRange)
   {
     case 1:
       visibility_range = 1000.0;
     break;
     case 2:
       visibility_range = 500.0;
     break;
     case 3:
       visibility_range = 300.0;
     break;
     // default:
       visibility_range = 3000.0;
      
   }
You could also edit those values in 'GetVisibilityRange' for more precise control.
 
  • Like
Reactions: jsv
Crikey! Which idiot dreamed up that system? Not only is it counter intuitive but the levels are out of balance.

It should be something like:

1: 500

2: 1000

3: 2000

4: 3000

I'm going to change mine to look like that.

"find" didn't find it but a manual search did. :rumgone
 
Back
Top