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

Navigation Mod

Commodore John Paul Jones

Commodore in the Continental Navy
Storm Modder
Take out the hud that gives your speed and water's depth. You now have to use two abilites:
"Heave the log" - To measure speed.
"Drop the lead" - To measure the water's depth.

What do you think?

Question: Is it possible to remove triggers and add new ones? I was thinking of a new way of sailing, you don't press "w" and "s" to lose and take in sail. You have a new menu displaying the anatomy of a ship's sails. You can click on each sail you want to set and drag it up or down if you want to reef it. This would also change the way you handle storms. You could wait it out under staysails only. (I think that staysails should be added to all the ships!)
With this mod, you can tell sea stories and say: "I was heading west under topsails alone" or "I took in my courses and driver." Get it?
 
Taking out the HUD is, I think, possible. According to Petros, it is already added to the Build (option "On-screen display during sailing" in the "Sailing Mode" menu). I have, so far, not seen the HUD disappear though, yet I thought I tried that option once.
<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->Edit:<!--colorc--></span><!--/colorc--> I tested it and it indeed works. Cool. Annoying fact: You can't see when your cannons are reloaded... <img src="style_emoticons/<#EMO_DIR#>/whistling.gif" style="vertical-align:middle" emoid=":wp" border="0" alt="whistling.gif" />

Adding logs and leads might be possible too. Changing the way the sails work is, I am afraid, way beyond the limits of the game's engine. In PotC, we simply don't seem to be able to control sails individually. At best, we could fake it, so that the effect will be as if you did control the sails individually, but you won't be able to see it on the ship.
 
<!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->I tested it and it indeed works. Cool. Annoying fact: You can't see when your cannons are reloaded... <!--QuoteEnd--></div><!--QuoteEEnd-->

Well, is there any way to keep the compass and gun status? And somehow get rid of the statistics at the same time?
If not, mabey you could make a completely new hud that shows an animated hourglass next to an old looking compass. Then you can still use your compass and see how much time your guns have left to finish reloading.
 
<!--quoteo(post=145302:date=Apr 13 2006, 12:18 AM:name=Commodore John Paul Jones)--><div class='quotetop'>QUOTE(Commodore John Paul Jones @ Apr 13 2006, 12:18 AM) [snapback]145302[/snapback]</div><div class='quotemain'><!--quotec-->
Well, is there any way to keep the compass and gun status? And somehow get rid of the statistics at the same time?
If not, mabey you could make a completely new hud that shows an animated hourglass next to an old looking compass. Then you can still use your compass and see how much time your guns have left to finish reloading.
<!--QuoteEnd--></div><!--QuoteEEnd-->
I don't know. Once I got the Post Build 12 mods working (more-or-less) properly again, please remind me to have a look at this. I hope the code for this isn't hardcoded. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />
 
Talking about realistic sailing: I had the idea to add a delay between the player pressing the "sails up" button and the time the order is actually executed. After all: You can't expect your crew to execute such an order completely instantaneously. Would add some additional difficulty to sea battles as well, because you have to plan ahead with what moves you will do. <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
 
Good that we have the option to disable the "radar screen" interface. For my taste it has too much "kiddy-console-game" style and clutters the view. OTH you need some display with navigation and gunstate data cause unlike a real captain you can't feel wind and shipmovement nor watch your guncrews.
For me I solved that age-of-sail realism vs. playability dilemma by disabling map and "enemy-ship-radar" in that interface. Furthermore I shrunk the whole thing and moved it into the lower left corner, above your ship icon. That way I have in that corner all the information that I would have if I were standing on the quarterdeck, and the remainder of the screen and sky is clear.
[attachmentid=397]

I wouldn't put that in the modpack cause it is surely not everyones taste, but if you want to try it simply open battleInterface\battleInterface.c and change these lines:

BattleInterface.navigation.navigatorWidth = RecalculateHIcon(80); // ccc 192
BattleInterface.navigation.navigatorHeight = RecalculateVIcon(80); // ccc 192
BattleInterface.navigation.rightPos = sti(showWindow.left)+RecalculateHIcon(80); // ccc showWindow.right
BattleInterface.navigation.topPos = sti(showWindow.bottom)-RecalculateVIcon(180); // ccc showWindow.top
BattleInterface.navigation.speedShowFont = "bold_numbers";
BattleInterface.navigation.speedOutYOffset = RecalculateVIcon(-40); // ccc -88
BattleInterface.navigation.shipSpeedXOffset = RecalculateHIcon(37); // ccc 80
BattleInterface.navigation.windSpeedXOffset = RecalculateHIcon(-35); // ccc -80
BattleInterface.navigation.fontScale = 0.35; // ccc 0.75
BattleInterface.navigation.windWidth = 15; // ccc 30
BattleInterface.navigation.windHeight = 50; // ccc 120
...
BattleInterface.navigation.mapRadius = 5; // ccc 54
...
BattleInterface.navigation.chargePos = RecalculateHIcon(70)+","+RecalculateVIcon(73); //ccc 160 & 174
BattleInterface.navigation.chargePictureSize = "20,20"; //ccc "32,32"
 
realisticbattleinterface = 1 <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />
 
Nice! How did you get the map to disappear? <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" />
 
I tried to code in my idea for changing the sailstate after a delay:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->// PB: Add sailstate change delay
void Ship_SetSailState(int iCharacterIndex, float fSailState)
{
    PostEvent("SetSailState", 10000, "1", 0);
}
#event_handler("SetSailState", "DoSailState");
void DoSailState(int iCharacterIndex, float fSailState)
{
    fSailState = clampf(fSailState); // NK 05-04-20 bugfix
    if(iCharacterIndex >= MAX_CHARACTERS) return; // bugfix here too
    SendMessage(&AISea, "laf", AI_MESSAGE_SHIP_SET_SAIL_STATE, &Characters[iCharacterIndex], fSailState);
}<!--c2--></div><!--ec2-->
However, this does the exact opposite of what I want. What it should do: Play the "Set sail" soundfile, wait a while, then raise the sails. What it does: Raise the sails, wait a while, then play the "Set sail" soundfile. What the HECK??? <img src="style_emoticons/<#EMO_DIR#>/wacko.gif" style="vertical-align:middle" emoid=":wacko:" border="0" alt="wacko.gif" />
 
<!--quoteo(post=145336:date=Apr 13 2006, 01:25 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE(Pieter Boelen @ Apr 13 2006, 01:25 PM) [snapback]145336[/snapback]</div><div class='quotemain'><!--quotec-->
Nice! How did you get the map to disappear? <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" />
<!--QuoteEnd--></div><!--QuoteEEnd-->
BattleInterface.navigation.mapRadius = 5; // ccc 54

Sorry, I can't help you with the PostEvent and time delay stuff, never worked with that. Could you make a time delay by means of a quest (I mean quest events like in quest_reactions.c)
 
Hey, I like that CCC. Could we put a toggle on that and get it into the Build? Maybe something in the options menu.

Cheers <img src="style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" />
 
Pieter, look into the file and try to pinpoint the location of the string that tells the game when to play the sound file and when to execute the wanted action. If you set it like you have above, and it shortens sail before playing set sails, then you should be able to type in the exact opposite to loose sails after playing set sails... right?
 
Pieter, I tried to realize Your idea. So:

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->
// added by MAXIMUS [PB's idea] -->
        if(makeint(Characters[GetMainCharacterIndex()].LastSailState)!=0)
        {
            SendMessage(&AISea, "laf", AI_MESSAGE_SHIP_SET_SAIL_STATE, GetMainCharacter(), 0.0);
            PostEvent("LAi_anchor", 12000, "1", 0);
        }
        else
        {
            PostEvent("LAi_anchor", 0, "1", 0);
        }
// added by MAXIMUS [PB's idea] <--


// added by MAXIMUS <--
#event_handler("LAi_anchor", "Lai_AnchorDrop");
void Lai_AnchorDrop()
{
    PlaySound("anchor"); // NK
    PostEvent("LAi_land", 3000, "1", 0);
}

#event_handler("LAi_land", "Lai_OnShore");
void Lai_OnShore()
{
    Reload(arIslandReload, sIslandLocator, sIslandID);
}
// added by MAXIMUS <--<!--c2--></div><!--ec2-->

Working pretty good <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" /> Tested with new "Battleship3" and "Manowar3"

P.S. I'll send files to You today
 
Back
Top