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

Feature Request Longer distance to battle on "Sail Ho"

KillPhil

Corsair
Storm Modder
just happened again, and this always bugs me: Can we adjust the distances between the ships when starting a battle over the worldmap? Most of the time I spawn between the convoy, which makes absolutely no sense at all :/
 
You spawn at the point you pick on the worldmap. if you press the spacebar sooner you will spawn further away.
 
I know but e.g. when I attack a group of merchants, there are sometimes only 2 and sometimes 8 ships.. and when there are 8 ships I spawn in the middle of that convoy... which is especially bad when you attack a fleet
 
If I recall, this is different if you have Open Sea Mod enabled. You might consider trying that and see what happens.
Use the toggle at the top of InternalSettings.h .
 
@Pillat, can you please confirm if Open Sea Mod resolves this satisfactorily for you so that we can close the issue?
 
Yep, much better now.. BUT: I need now be really really close to the enemy to get the stazus 'in battle' from the game.. so I am like 100m from an enemy ship and can still enter the map. And it messes up the ship position when going from e.g. port -> world map.. at Jamaica, I press enter after I left the big cliff behind and end up in the devils throat at world map.. maybe only because of the savegame?
 
You can see about playing with these values in PROGRAM\NK.c:
Code:
// stljeffbb Jan 15 2012 -->
void InitOpenSeaMod()
{
   ref PChar = GetMainCharacter();
   if(iRealismMode>1 || OPEN_SEA_MOD)
   {
     DIRECTENCOUNTERCHANCE =                 25;     // chance in percent that an encounter fleet appears every hour
     DIRECTENCOUNTERDISTANCE =               2250;   // distance from player at which random ships appear
     ISLANDSWITCHDISTANCE =                 30000.0;// for islandcell mode only: distance from island at which transfer to neighbour island starts
     ENCOUNTERBREAK =                   3.0;   // LDH - Changed to float, number is hours per encounter, directsail is called every 5 minutes occasionally
     // so you can let the clock run faster (by increasing TIMESCALAR_SEA below), meaning longer voyagetimes, without getting too many encounters.

     TIMESCALAR_SEA =                   15;     // INT - how many seconds of gametime one second of realtime is at sea
     MAX_WBALLAST =                     10;     // INT - how far the weighting will swing in favor of current trend.. use positive integer between 0 and 50 - 0 is no swing - 50 is major swing.. this is for Windspeed
     MAX_RBALLAST =                     10;     // ^^DITTO for rain
     MAX_FBALLAST =                     10;     // ^^DITTO for fog
     MAX_ABALLAST =                     10.0;   // FLOAT - ^^DITTO for wind angle

     MAX_WINDCHANGE =                    3;     // INT - How much the wind CAN change in one hour - use positive integer between 0 and 20
     MAX_FOGCHANGE =                      3;     // INT - ^^DITTO for fog
     MAX_RAINCHANGE =                    3;     // INT - ^^DITTO for rain

     COASTRAIDER_CHANCE =                  0.01;   // FLOAT - Generates local ships in ports and around the islands. Some are local merchants, others pirates.
                                   // 0.0 : Stock PotC, no local ships at all
                                   // 0.1 - 0.9 : The higher that value the more pirates instead of merchants appear
     NAVYRAIDER_CHANCE =                  2.0;    // FLOAT - Ditto, but chance that raider is a foreign warship. Chance for that is coastraider_chance * navyraider_chance
     MIN_ENEMY_DISTANCE_TO_DISABLE_MAP_ENTER =       100.0;   // FLOAT - original value is 500 - Petros: reset to 500.0 to prevent trouble
     MIN_ENEMY_DISTANCE_TO_DISABLE_ENTER_2_LOCATION =   100.0;   // FLOAT - original value is 500
     RANGE_TO_ENEMY =                   3500;   // INT - in feet/yards/whatever unit the game uses.

     WDM_MAP_TO_SEA_SCALE =                 60;     // orig 19.607843 for this and next line
     WDM_MAP_TO_SEA_ENCOUNTERS_SCALE =           60;     // was 60 in build, 10.0 in stock. NK 05-04-30
   }
   else
   {
     DIRECTENCOUNTERCHANCE =                 50;     // chance in percent that an encounter fleet appears every hour
     DIRECTENCOUNTERDISTANCE =               1000;   // distance from player at which random ships appear
     ISLANDSWITCHDISTANCE =                 5000.0; // for islandcell mode only: distance from island at which transfer to neighbour island starts
     ENCOUNTERBREAK =                   1.0;   // LDH - Changed to float, number is hours per encounter, directsail is called every 5 minutes occasionally
     // so you can let the clock run faster (by increasing TIMESCALAR_SEA below), meaning longer voyagetimes, without getting too many encounters.

     TIMESCALAR_SEA =                    5;     // INT - how many seconds of gametime one second of realtime is at sea
     MAX_WBALLAST =                     25;     // INT - how far the weighting will swing in favor of current trend.. use positive integer between 0 and 50 - 0 is no swing - 50 is major swing.. this is for Windspeed
     MAX_RBALLAST =                     25;     // ^^DITTO for rain
     MAX_FBALLAST =                     25;     // ^^DITTO for fog
     MAX_ABALLAST =                     25.0;   // FLOAT - ^^DITTO for wind angle

     MAX_WINDCHANGE =                   5;     // INT - How much the wind CAN change in one hour - use positive integer between 0 and 20
     MAX_FOGCHANGE =                     5;     // INT - ^^DITTO for fog
     MAX_RAINCHANGE =                   5;     // INT - ^^DITTO for rain

     COASTRAIDER_CHANCE =                  0.2;   // FLOAT - Generates local ships in ports and around the islands. Some are local merchants, others pirates.
                                   // 0.0 : Stock PotC, no local ships at all
                                   // 0.1 - 0.9 : The higher that value the more pirates instead of merchants appear
     NAVYRAIDER_CHANCE =                  0.4;    // FLOAT - Ditto, but chance that raider is a foreign warship. Chance for that is coastraider_chance * navyraider_chance
     MIN_ENEMY_DISTANCE_TO_DISABLE_MAP_ENTER =       500.0;   // FLOAT - original value is 500 - Petros: reset to 500.0 to prevent trouble
     MIN_ENEMY_DISTANCE_TO_DISABLE_ENTER_2_LOCATION =   500.0;   // FLOAT - original value is 500
     RANGE_TO_ENEMY =                   3000;   // INT - in feet/yards/whatever unit the game uses.

     WDM_MAP_TO_SEA_SCALE =               19.607843;   // orig 19.607843 for this and next line
     WDM_MAP_TO_SEA_ENCOUNTERS_SCALE =         19.607843;   // was 60 in build, 10.0 in stock. NK 05-04-30
   }
}
// stljeffbb Jan 15 2012 <--
 
Yep, much better now.. BUT: I need now be really really close to the enemy to get the stazus 'in battle' from the game.. so I am like 100m from an enemy ship and can still enter the map. And it messes up the ship position when going from e.g. port -> world map.. at Jamaica, I press enter after I left the big cliff behind and end up in the devils throat at world map.. maybe only because of the savegame?
That's nothing. Try going from sailing mode to worldmap when you're anywhere near Hispaniola or Cuba and see where you end up. At least you were on the worldmap next to the right island...

Direct sail is even worse. I've been at Boca de Yuman, on the northeast coast of Hispaniola; set sail heading north; a little while later, it's "Land Ho!" and I'm next to Guadeloupe.

Which is why extending the range when you go from worldmap to a ship encounter might not be a good idea. You may close on the enemy fleet, then the game decides you're approaching another island and the enemy disappears. I've had that happen anyway, and extending the range is likely to make it more common. Even if you really are approaching another island and the game puts you next to the right one, it's still annoying because you now can't continue to chase those 8 merchants.
 
If you don't want enemies to disappear due to DirectSail, you can use the regular [0]-key to temporarily disable it.

As for the WorldMap, last week I think I went from Guadeloupe to Cuba or so and as soon as I entered 3D sailing mode,
I found I was back at Guadeloupe and could sail it all over again. Uh, wha? :facepalm
 
when I'm in the mood to look at a mess of code I might look into the coordinate translation from the worldmap to the sea and vice versa.
 
Perhaps those could be considered for default Arcade Game Mode values?
Is there any reason to NOT do that?

Anyway, might have to leave that for the next release to save time now.
 
They are right where you changed them. Otherwise it wouldn't work. :razz
 
oh.. :D wait now I am confused..

Code:
    if(iRealismMode>1 || OPEN_SEA_MOD)
    {
        DIRECTENCOUNTERCHANCE =                                80;        // chance in percent that an encounter fleet appears every hour
        DIRECTENCOUNTERDISTANCE =                            2250;    // distance from player at which random ships appear
        ISLANDSWITCHDISTANCE =                                500.0;// for islandcell mode only: distance from island at which transfer to neighbour island starts
        ENCOUNTERBREAK =                                    1.0;    // LDH - Changed to float, number is hours per encounter, directsail is called every 5 minutes occasionally
        // so you can let the clock run faster (by increasing TIMESCALAR_SEA below), meaning longer voyagetimes, without getting too many encounters.

        TIMESCALAR_SEA =                                    1;        // INT - how many seconds of gametime one second of realtime is at sea
        MAX_WBALLAST =                                        10;        // INT - how far the weighting will swing in favor of current trend.. use positive integer between 0 and 50 - 0 is no swing - 50 is major swing.. this is for Windspeed
        MAX_RBALLAST =                                        10;        // ^^DITTO for rain
        MAX_FBALLAST =                                        10;        // ^^DITTO for fog
        MAX_ABALLAST =                                        10.0;    // FLOAT - ^^DITTO for wind angle

        MAX_WINDCHANGE =                                     3;        // INT - How much the wind CAN change in one hour - use positive integer between 0 and 20
        MAX_FOGCHANGE =                                         3;        // INT - ^^DITTO for fog
        MAX_RAINCHANGE =                                     3;        // INT - ^^DITTO for rain

        COASTRAIDER_CHANCE =                                 0.01;    // FLOAT - Generates local ships in ports and around the islands. Some are local merchants, others pirates.
                                                                    // 0.0 : Stock PotC, no local ships at all
                                                                    // 0.1 - 0.9 : The higher that value the more pirates instead of merchants appear
        NAVYRAIDER_CHANCE =                                 2.0;     // FLOAT - Ditto, but chance that raider is a foreign warship. Chance for that is coastraider_chance * navyraider_chance
        MIN_ENEMY_DISTANCE_TO_DISABLE_MAP_ENTER =            500.0;    // FLOAT - original value is 500 - Petros: reset to 500.0 to prevent trouble
        MIN_ENEMY_DISTANCE_TO_DISABLE_ENTER_2_LOCATION =    500.0;    // FLOAT - original value is 500
        RANGE_TO_ENEMY =                                    3500;    // INT - in feet/yards/whatever unit the game uses.

        WDM_MAP_TO_SEA_SCALE =                                60;        // orig 19.607843 for this and next line
        WDM_MAP_TO_SEA_ENCOUNTERS_SCALE =                    60;        // was 60 in build, 10.0 in stock. NK 05-04-30
    }
^This is only called when Realism Mode is On, right? So if I am playing on arcade, it jumps into this, right? :
Code:
    else
    {
        DIRECTENCOUNTERCHANCE =                                80;        // chance in percent that an encounter fleet appears every hour
        DIRECTENCOUNTERDISTANCE =                            1000;    // distance from player at which random ships appear
        ISLANDSWITCHDISTANCE =                                1500.0; // for islandcell mode only: distance from island at which transfer to neighbour island starts
        ENCOUNTERBREAK =                                    1.0;    // LDH - Changed to float, number is hours per encounter, directsail is called every 5 minutes occasionally
        // so you can let the clock run faster (by increasing TIMESCALAR_SEA below), meaning longer voyagetimes, without getting too many encounters.

        TIMESCALAR_SEA =                                     1;        // INT - how many seconds of gametime one second of realtime is at sea
        MAX_WBALLAST =                                        25;        // INT - how far the weighting will swing in favor of current trend.. use positive integer between 0 and 50 - 0 is no swing - 50 is major swing.. this is for Windspeed
        MAX_RBALLAST =                                        25;        // ^^DITTO for rain
        MAX_FBALLAST =                                        25;        // ^^DITTO for fog
        MAX_ABALLAST =                                        25.0;    // FLOAT - ^^DITTO for wind angle

        MAX_WINDCHANGE =                                    10;        // INT - How much the wind CAN change in one hour - use positive integer between 0 and 20
        MAX_FOGCHANGE =                                        10;        // INT - ^^DITTO for fog
        MAX_RAINCHANGE =                                    10;        // INT - ^^DITTO for rain

        COASTRAIDER_CHANCE =                                 0.2;    // FLOAT - Generates local ships in ports and around the islands. Some are local merchants, others pirates.
                                                                    // 0.0 : Stock PotC, no local ships at all
                                                                    // 0.1 - 0.9 : The higher that value the more pirates instead of merchants appear
        NAVYRAIDER_CHANCE =                                 0.4;     // FLOAT - Ditto, but chance that raider is a foreign warship. Chance for that is coastraider_chance * navyraider_chance
        MIN_ENEMY_DISTANCE_TO_DISABLE_MAP_ENTER =            500.0;    // FLOAT - original value is 500 - Petros: reset to 500.0 to prevent trouble
        MIN_ENEMY_DISTANCE_TO_DISABLE_ENTER_2_LOCATION =    500.0;    // FLOAT - original value is 500
        RANGE_TO_ENEMY =                                    1000;    // INT - in feet/yards/whatever unit the game uses.

        WDM_MAP_TO_SEA_SCALE =                            5;    // orig 19.607843 for this and next line
        WDM_MAP_TO_SEA_ENCOUNTERS_SCALE =                60;    // was 60 in build, 10.0 in stock. NK 05-04-30
    }
 
About the world map distance, you can try this file. :)

BUT KEEP IN MIND! It disable storms on world map (for my own game) AND it is not finished yet. - But I'm assuming that this is what you want?
 

Attachments

  • worldmap_init.c
    79.8 KB · Views: 193
Here is an idea for the next update, which I have used and enjoyed the last few weeks.

When sailing on worldmap you now have the opportunity to detect ships over twice the distance. There are both good and bad things about it, but I thought the benefits outweigh the disadvantages.

Pros:
- You now have the time to prepare your attack, with the choice of ship from your fleet, attacking angle, and the right ammunition to fit your victim.
- You do not just dump down next to your opponent and be amazed by a too greater enemy.
- Hunting prizes feels more realistic.
- If you have a fleet and ordering attacks on long distance, it looks like they fly in formation to your victim (which rarely happens in the game)

Cons:
- On Worldmap you will see ships that are close to you, but you can not interface with, since the game can only handle one ship / fleet a time and there is no code for the short-range ships to disappear, only far-range.
- It takes longer to catch your prize.
- Depending of weather can sometimes be hard to find your opponent.

Please report bugs and amendments, and I'll see what I can do.

Enjoy :)
 

Attachments

  • worldmap_init.c
    79.8 KB · Views: 189
Cool! :woot

I'll include your ship encounter changes in my next upload sometime this coming week.
Then we'll see how people like it.

How about those storm changes? Not entirely sure what those are supposed to do, so I'm leaving them out for now....
 
Cool! :woot

I'll include your ship encounter changes in my next upload sometime this coming week.
Then we'll see how people like it.

How about those storm changes? Not entirely sure what those are supposed to do, so I'm leaving them out for now....

You think specifically on the "worldMap.stormZone = 30.0;" right? I disabled storms on worldmap for my own game (I HATE storms! :)) And I could not remember the values of the storms. Rookie mistake, I know it. But I deleted my backup by mistake. Feel free to change it back Pieter :)
 
Back
Top