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

Mod Release Gentelmen of Fortune! v1.2 Full Release Patch 1.0 FAQ/Bugs/Installing

hey guys, great work on the mods (i've been playing the combined mod for the past week or so and it has eaten my free time :D ). is it possible to copy over my save game file from the combined mod and use it in gentleman of fortune? i installed GOF today, copied the file into the right place, but when i load the ENGINE stops working. any help would be greatly appreciated

No and there is no way to make the saves compatible due to multiple coding differences referenced in game files.
One of the primary problems is the active ships list alone, which is not the same.
This same problem can occur if GOF is significantly changed with an update, hence requiring a new game restart.
 
Hello, I'm suffering what is appearently a rare bug, I haven't found any post here about it, but maybe I missed something....
I'm using GOF 1,2, of course, installed on a fresh copy of COAS, and the skill books I give to my hero are going wrong; for instance one supposed to give + 20 for stealth only gives +10..(I don't suffer any minus value due to insufficent navigation)...is it a well knowm bug ? Can I easily fix it modifying some programs lines ?
Thanks
 
Last edited:
Hello. I'm playing this Mod, GoF 1.2 with patch 1.0. I think it's the most stable one. Anyone here from the old modders who could maybe explain me if it's possible to lower the turning rate for all the ships in game, without hurting any code and without causing bugs to the game? Currently, ships are turning like some modern yachts, which is not good at all :napoleon
 
Hello. I'm playing this Mod, GoF 1.2 with patch 1.0. I think it's the most stable one. Anyone here from the old modders who could maybe explain me if it's possible to lower the turning rate for all the ships in game, without hurting any code and without causing bugs to the game? Currently, ships are turning like some modern yachts, which is not good at all :napoleon

I'm new to the code, but I would think the easiest way for you would be to find the file at: Program\scripts\ShipsUtilites.c. Not far down from the beginning of the code is a function beginning with: int GenerateShip(int iBaseType, bool isLock)

Scroll down from there, past the lines that look like this:
case 11:
iCaliber = 92;
break;

Until you see: rRealShip.TurnRate = stf(rRealShip.TurnRate) + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;

For reference, you can keep the original line (in case you mess up, or don't like what was done) by putting two slashes in front; this renders the line as a 'comment' and will not be processed as code. Then copy the line, but insert some percentage you want reduced turning, like so:

//rRealShip.TurnRate = stf(rRealShip.TurnRate) + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;
rRealShip.TurnRate = stf(rRealShip.TurnRate) * .95 + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;

The above will reduce the TurnRate numbers by 5%. Change the .95 I show higher/lower based on your preference for turn rate reduction. I believe any ship generated by the game during play will now have a different turn rate. If you want only certain ships, or hand craft different capabilities based on what you think certain ships should be, then you'll have to change all the base .TurnRate numbers in the Ships\Ships_init.c file, for every ship type.
 
I'm new to the code, but I would think the easiest way for you would be to find the file at: Program\scripts\ShipsUtilites.c. Not far down from the beginning of the code is a function beginning with: int GenerateShip(int iBaseType, bool isLock)

Scroll down from there, past the lines that look like this:
case 11:
iCaliber = 92;
break;

Until you see: rRealShip.TurnRate = stf(rRealShip.TurnRate) + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;

For reference, you can keep the original line (in case you mess up, or don't like what was done) by putting two slashes in front; this renders the line as a 'comment' and will not be processed as code. Then copy the line, but insert some percentage you want reduced turning, like so:

//rRealShip.TurnRate = stf(rRealShip.TurnRate) + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;
rRealShip.TurnRate = stf(rRealShip.TurnRate) * .95 + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;

The above will reduce the TurnRate numbers by 5%. Change the .95 I show higher/lower based on your preference for turn rate reduction. I believe any ship generated by the game during play will now have a different turn rate. If you want only certain ships, or hand craft different capabilities based on what you think certain ships should be, then you'll have to change all the base .TurnRate numbers in the Ships\Ships_init.c file, for every ship type.

Thanks for your reply. I haven't tested this yet. So there isn't any number in front of .95? Like 0.95 or 1.95? Do I have to keep the * sign?
I don't want to change particular ships, I want all the ships in game to have slow turn rate.
 
Last edited:
I dropped the number to .35 and I kept the * sign. What is the lowest number I can go? I suppose that with .35 I decreased the turn rate speed by 65%? If I got it right.
 
Last edited:
I dropped the number to .35 and I kept the * sign. What is the lowest number I can go? I suppose that with .35 I decreased the turn rate speed by 65%? If I got it right.

Yes, using .35 would decrease by 65%. The * is a multiplying symbol, so you are multiplying the original turn rate number by .35. You must remain above zero, but if you go above 1.00 , you will start increasing the existing base turn rates.
 
I dropped the number to .35 and I kept the * sign. What is the lowest number I can go? I suppose that with .35 I decreased the turn rate speed by 65%? If I got it right.

Oh, I should add that this will only change newly created ships. Any ships that already exist in the game will not be changed this way. So your current squadron, or if you've already visited the shipyard in the current town your character is in within the saved game, will not be changed this way. You either have to visit a different town, or leave-to-sea/come back to the shipyard you are in, capture new ships, or start a new game. If you want to change your current squadron, there is a way, but it involves writing some code to alter your ships and insert that into one of the debugger's F keys that you can invoke by enabling the debugger, clicking the proper F key button.
 
Oh, I should add that this will only change newly created ships. Any ships that already exist in the game will not be changed this way. So your current squadron, or if you've already visited the shipyard in the current town your character is in within the saved game, will not be changed this way. You either have to visit a different town, or leave-to-sea/come back to the shipyard you are in, capture new ships, or start a new game. If you want to change your current squadron, there is a way, but it involves writing some code to alter your ships and insert that into one of the debugger's F keys that you can invoke by enabling the debugger, clicking the proper F key button.

Hmmm I see now why my ship is still turning pretty quick. For example, if I buy a new ship in the shipyard, will the changes I made apply to my newly bought ship? Also, will it make any difference for the AI?
 
Can I do the same thing for this line?

rRealShip.SpeedRate = stf(rRealShip.SpeedRate) + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

Ship speeds are almost ok in GoF, but I would like to lower it for about 5%...

Can I change these values from the line you provided: frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;
What is this value 5.0 and 10.0?
 
Hmmm I see now why my ship is still turning pretty quick. For example, if I buy a new ship in the shipyard, will the changes I made apply to my newly bought ship? Also, will it make any difference for the AI?

New ships in the shipyard should have the lower numbers, but if you are already in a town, I would suggest sailing to another one just to be sure. When you return, there should be a new set the next time and they too should have the lower numbers. Also, AI ships that you encounter should also have the lower numbers.
 
Can I do the same thing for this line?

rRealShip.SpeedRate = stf(rRealShip.SpeedRate) + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

Ship speeds are almost ok in GoF, but I would like to lower it for about 5%...

Can I change these values from the line you provided: frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;
What is this value 5.0 and 10.0?

Yes, you can reduce speed the same way. For 5%:

rRealShip.SpeedRate = stf(rRealShip.SpeedRate) * .95 + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

You do not have to change this part: + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

That part is just to make every ship slightly different, with a very small, random change to the base rate for a given ship. The part we change here: stf(rRealShip.SpeedRate) * .95 is what will give you a reduction in the base rate, then the rest of it will slightly change that for the randomness effect.
 
Yes, you can reduce speed the same way. For 5%:

rRealShip.SpeedRate = stf(rRealShip.SpeedRate) * .95 + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

You do not have to change this part: + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

That part is just to make every ship slightly different, with a very small, random change to the base rate for a given ship. The part we change here: stf(rRealShip.SpeedRate) * .95 is what will give you a reduction in the base rate, then the rest of it will slightly change that for the randomness effect.

Ok, thanks for your help, ChezJfrey! I will definitely test both.
 
Ok, I have been testing the changes I made using the lines you provided. Actually, it seems that it doesn't have any effect. What it actually does is, it changes all the ships in game to 7 class Luggers. So basically, wherever I go, I encounter luggers. Every ship that attacks me is lugger. All the ships available for purchase in the shipyard were luggers class 7 until I revert everything to the original state. I don't know if that has to do anything with the code you provided. It's pretty weird to me still... o_O

Nevertheless, I have asked the same question on the Dezeeroovers community forum and I have got the right answer. Maybe the code you provided isn't compatible with GoF 1.2. Thanks anyway Chez.
 
Last edited:
Ok, I have been testing the changes I made using the lines you provided. Actually, it seems that it doesn't have any effect. What it actually does is, it changes all the ships in game to 7 class Luggers. So basically, wherever I go, I encounter luggers. Every ship that attacks me is lugger. All the ships available for purchase in the shipyard were luggers class 7 until I revert everything to the original state. I don't know if that has to do anything with the code you provided. It's pretty weird to me still... o_O

Nevertheless, I have asked the same question on the Dezeeroovers community forum and I have got the right answer. Maybe the code you provided isn't compatible with GoF 1.2. Thanks anyway Chez.

You probably inadvertently typed/pasted a syntax error. As a result, there will be a run-time error, the ship generating function fails, and every ship generated in the game will default to that more generic class 7. If error logging were turned on (via engine.ini switch changes), the error.log file would tell what line of code was causing the error, undoubtedly the line changed, and why it didn't like it. But, since you have found a solution, there is no need to enable logging to figure out why, unless of course you're curious.

By chance, what was Dezeeroovers solution?
 
Ok, I have been testing the changes I made using the lines you provided. Actually, it seems that it doesn't have any effect. What it actually does is, it changes all the ships in game to 7 class Luggers. So basically, wherever I go, I encounter luggers. Every ship that attacks me is lugger. All the ships available for purchase in the shipyard were luggers class 7 until I revert everything to the original state. I don't know if that has to do anything with the code you provided. It's pretty weird to me still... o_O

Nevertheless, I have asked the same question on the Dezeeroovers community forum and I have got the right answer. Maybe the code you provided isn't compatible with GoF 1.2. Thanks anyway Chez.

I decided to go ahead and copy the line from the post I gave you into my game and yes, I got an error in the log and it didn't work. I apologize as it is very particular. What is needed is a 0.35 instead of .35 for the 35% you are looking for:

rRealShip.TurnRate = stf(rRealShip.TurnRate) * 0.35 + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;
rRealShip.SpeedRate = stf(rRealShip.SpeedRate) * 0.95 + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

I actually did 0.10 in mine for both speed and turn just to make sure and the results were a drastic reduction in both speed/turn rates for ships in the yard. All ships generated by AI will also get those numbers.
 
I decided to go ahead and copy the line from the post I gave you into my game and yes, I got an error in the log and it didn't work. I apologize as it is very particular. What is needed is a 0.35 instead of .35 for the 35% you are looking for:

rRealShip.TurnRate = stf(rRealShip.TurnRate) * 0.35 + frandSmall(stf(rRealShip.TurnRate) / 5.0) - stf(rRealShip.TurnRate) / 10.0;
rRealShip.SpeedRate = stf(rRealShip.SpeedRate) * 0.95 + frandSmall(stf(rRealShip.SpeedRate) / 5.0) - stf(rRealShip.SpeedRate) / 10.0;

I actually did 0.10 in mine for both speed and turn just to make sure and the results were a drastic reduction in both speed/turn rates for ships in the yard. All ships generated by AI will also get those numbers.

I had to change the turn rate for every ship in the Ships_init.c file. Not the best solution, because there is a chance that I've made a disbalance in the historical accuracy of the ships. I will though try addin the 0.35, cause I just wrote .35. I made a backup file of the Ships_init.c file, so I can revert back everything. Will let you know if it worked. :onya
 
I had to change the turn rate for every ship in the Ships_init.c file. Not the best solution, because there is a chance that I've made a disbalance in the historical accuracy of the ships. I will though try addin the 0.35, cause I just wrote .35. I made a backup file of the Ships_init.c file, so I can revert back everything. Will let you know if it worked. :onya

Yes, both this way and changing them all in Ships_init.c will work similarly because that is where the original value for .TurnRate comes from -- it's copied from those numbers in ships_init to begin with. However, we were trying to avoid you handcrafting every ship in Ships_init.c, which is why I suggested this way. This way is easier, and if you don't like the result, much easier to change this one line, rather than go back through and change every ship again...potentially over and over as you experiment with numbers until you are satisfied.
 
Yes, both this way and changing them all in Ships_init.c will work similarly because that is where the original value for .TurnRate comes from -- it's copied from those numbers in ships_init to begin with. However, we were trying to avoid you handcrafting every ship in Ships_init.c, which is why I suggested this way. This way is easier, and if you don't like the result, much easier to change this one line, rather than go back through and change every ship again...potentially over and over as you experiment with numbers until you are satisfied.

Yep, I've tested with the 0 values in front. It seems better. It's still not the best result, but I will try to play a bit with those values. Thanks a lot!
 
Back
Top