• 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 Naval Ketch interior is bugged

Homo eructus

Privateer
Storm Modder
I was playing Free Play as a Spanish naval officer. I got my first promotion to Alférez de fragata and was given a naval ketch. I wanted to check if the stuff I left in the weaponslocker and chest in my last ship were transfered to the new one, but when I try to enter the captain's cabin or crew's quarters from the deck, I can't interact with the doors. I can got to the captain's cabin with fast travel but I appear under the floor of the cabin, knee-deep in water. My earlier ship, a hoy, worked fine.
TbFcuUn.jpg
 

Attachments

  • -=Player=- Open Sea July 1st, 1740.7z
    510.8 KB · Views: 84
Confirmed. The reloads on your ship deck don't work either, which is quite odd.

Checking ships_init.c, I see that this is the ONLY ship in the game without a cargo hold that DOES have a cabin.
Other ships without a cargo hold are the tartanes, but they don't have a cabin at all.

To fix, open PROGRAM\Ships\ships_init.c and find:
Code:
//-------------------------------------------------------------------------
// HMS Nonsuch 1654 by pgargon - Naval Ketch
//-------------------------------------------------------------------------
// Armada -->
   makeref(refShip,ShipsTypes[n]);
   n++;
   refShip.Name       = "KetchNavy";
   refShip.sname       = "Nonsuch";
   refShip.Walk       = "Nonsuch";
   refShip.id        = refShip.Name;
   refShip.Class       = 8;
   refShip.Cannon       = CANNON_TYPE_CARRONADE_LBS12;
   refShip.MaxCaliber     = 6;
   refShip.Weight       = Tonnes2CWT(190);//BB was 100, increased based on normal Ketch + some 'hardening'
   refShip.Capacity     = 250;
   refShip.CannonsQuantity = 8;
   refShip.Cannons.Borts.cannonf.qty = 0;
   refShip.Cannons.Borts.cannonb.qty = 0;
   refShip.MaxCrew       = 38;//BB was 24, increased vs normal Ketch
   refShip.MinCrew       = 8;//BB was 5
   refShip.Price       = 28600;//BB was 15600, increased vs normal Ketch
   refShip.HP         = 1000;
   refShip.SP         = 100;

   refShip.WaterLine = 0.0;
   refShip.SpeedDependWeight = 0.2;
   refShip.SubSeaDependWeight = 0.6;
   
   refShip.GeraldSails.rey_a2   = 1;
   refShip.GeraldSails.rey_b2   = 1;   

   refShip.BigPicTexName   = "SHIPS2"; // Armada
   refShip.BI.Tex = 10;
   refShip.BI.Pic = 8;
   refShip.QDeck = "ShipDeck4";
   refShip.CannonsDeck = 0;
   refShip.CargoHold = 0;
Change that 0 on the last line there to a 1.

Edit PROGRAM\console.c to look like this:
Code:
void ExecuteConsole()
{
   ref pchar = GetMainCharacter();
   ref ch;
   int i;
   int limit;
                       // Case 0 = Enable reload (useful when you get stuck on boarding) + Set player type (if you cannot move anymore)
   switch(1)                 // Case 1 = Various test and cheat codes
   {                     // Case 2 = Location coordinate information
     case 1:                 // Case 3 = Automatic instant cheats in port
                       // Case 4 = Instant teleport to Hendrick Vanderdecken

     // Give ship
     // ------------------
       for (i = 0; i <= GetCompanionQuantity(PChar); i++) {
         limit = GetCompanionIndex(PChar, i);
         if (limit < 0) continue;
         ch = GetCharacter(limit);
         GiveShip2Character(ch,ch.ship.type,ch.ship.name,-1,ch.ship.stats.nation,true,true);
       }

Load your savegame and do the following:
1. Press F11 to apply your change in ships_init.c in your savegame
2. Press F12 to update your own ship

I just did that in my own game version and it behaves much better now.
 
Back
Top