• 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 Disable "Cannot Reload While Fighting" in Realistic Game Mode

Braavos

Landlubber
Hi, wasn't sure if this is a bug or I'm just missing something. I changed to the new Build 14 Beta 3.4 (from here) and did a clean install. I changed a few of the settings in the InternalSettings file to get the game how I wanted, but certain settings seem to be getting overridden by the in game realism settings.

What I'm experiencing is : I've set my options to be realism heavy, but with the option of having my gun reload while in combat.
// Included in Realistic Game Mode:
#define REALISTIC_SHIP_INERTIA 1 // BOOL - 1=ON - Ships require counter-rudder and don't sail as if on rails
#define SHORE_DANGER_ALARM 0 // BOOL - 1=ON - Red flashing icon and danger music do not start until enemies draw their blade
#define DISCOVER_SAIL_TO 0 // BOOL - 0=OFF - Shores and ports must be discovered by sailing there manually before you can use Sail To
#define DISCOVER_FAST_TRAVEL 0 // BOOL - 0=OFF - Town locations must be discovered by finding them manually before you can use Fast Travel
#define NAVIGATION_EQUIPMENT 0 // BOOL - 1=ON - Items required for certain navigational information to become available
#define ENABLE_LIMITED_SHIPCLASS 0 // BOOL - 1=ON - When player takes command of ship of too high tier, Leadership and Sailing skills drops
#define CANNOT_RELOAD_WHILE_FIGHTING 0 // BOOL - 1=ON - Your gun won't reload while your sword is drawn
#define SAIL_OPERATE_DELAY 0 // INT - sailors will operate sails this amount of seconds after receiving command (set to 0 to restore stock PotC)
// Included in Iron Man Mode:
#define OPEN_SEA_MOD 0 // BOOL - 1=ON - Worldmap enlarged for realistic DirectSail
#define WORLDMAP_DISABLED 0 // BOOL - 1=ON - DirectSail enforced
#define SAILTO_DISABLED 0 // BOOL - 1=ON - Cannot Sail-To any ships at sea
#define ONSEA_DATA_DISABLED 0 // BOOL - 1=ON - Spyglass and compass additional information disabled, cannot move camera to non-player ships
#define REALISTIC_ABILITIES 2 // INT - 1=DEFAULT: Controlled by Realism Mode - 0 or 2 override the Realism Mode setting
#define ITEM_REALISM 0 // BOOL - 1=ON - Items like rubies, diamonds and inca statuettes give no skill bonuses (books and items like compass etc. still do)

However when I get into the game I can only reload my gun in combat while on the Arcade Realism setting, but when I do this, the Arcade Realism sailing settings override the Internal Settings for the realistic sailing. (And yes, I've tried changing the REALISTIC_ABILITIES to 0 and 2, both make no difference.)
#define USE_REAL_SAILING 1 // BOOL - Off=0, Realistic=1, KNB's sailing / grappling changes

So far, these are the only settings I can tell that are being overridden. So I either have to play Arcade for the combat I prefer, or Realistic for the sailing I prefer. Or change my realism setting before every fight. So is there something I'm missing or is this actually a bug?

Ok, so after screwing around for a while, I did a clean install with the installer from here and encountered the same problem. I figured a work around for my issue by changing
if(iRealismMode>0 || CANNOT_RELOAD_WHILE_FIGHTING)
to a 1 rather than a 0(in the LAi_fightingparams file). I'm not a coder but I'm hoping that won't change anything other than that option. The other settings still seem to be getting overridden though.
 
Last edited:
Most of the InternalSettings.h toggles were written in such a way that it IS possible to make Arcade Game Mode MORE realistic, but not make the realistic game modes LESS realistic.
The only exception is the REALISTIC_ABILITIES option which can be disabled in the realistic game modes as well.

You have done a good job tracking down the relevant code! That change you made should work just fine. :onya

For the next Beta 4 update, I will change that section to:
Code:
  bool bCannotReload = CANNOT_RELOAD_WHILE_FIGHTING == 1 && iRealismMode>0;
   if (CANNOT_RELOAD_WHILE_FIGHTING == 2)   bCannotReload = true; // PB: To allow CANNOT_RELOAD_WHILE_FIGHTING to override the Realism Mode
   if (bCannotReload)
That way you can use 0 or 2 override the Realism Mode setting.
 
Back
Top