• 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 Gentlemen Of Fortune 2.0

As far as I can tell, the GoF modders haven't really been around for a while now. :(
 
Any ideas how to make these ships to appear on enemy side? Eventually, how to buy them? I disabled Realistic Ship Purchase, but still I haven't seen any ship 2nd and 1st class to buy.

In GOF 1.2 I am sure that they were able to purchase in shipyard after disabling Realistic Ship Purchase.

I changed the "Nations" in ships_init.c , so other nations should spawn these ships too, but it doesn't seem to work. There must be something else.
 
I hardly did any modding for CoAS myself, only a lot on PotC. The code is similar between both games, but not exactly the same.
As I recall, CoAS has a completely different system for generating encounters and selecting shipyard ships. I'd have to look into that to see which file it is in.

My recommendation: Search the PROGRAM folder for any ship you know the ID of (from ships_init.c) and make sure to search in the file contents too.
That should lead you to the correct file. I suspect it is going to be in the Ships (for shipyard) or SEA_AI (for on sea encounters) folders.
 
From what I saw in these files it's not like it spawns ship type by the name, it spawns ships by their class (I think), so after enabling these ships for any nations they should appear - but they don't. I think there may be issue with sails (every nation have their pattern on sails).
 
The sails should be related to the ships' nationality, not the other way around.

At the moment I can only go by the original game files, but these functions seem to be the ones you're looking for.
In PROGRAM\SEA_AI\AIFantom.c (for on-sea encounters):
Code:
void SetShipToFantom(ref _chr, string _type, bool _setgoods)
{
    int ShipType;
    int Nation = sti(_chr.nation)
    int Rank = sti(pchar.rank);
    switch (_type)
    {
        case "trade":
            if (Rank < 11)
            {
                ShipType = RandFromThreeDight(SHIP_SLOOP, SHIP_SCHOONER, SHIP_LUGGER);
            }
            if (Rank >= 11 && Rank <= 20)
            {
                if (Nation == SPAIN) ShipType = RandFromThreeDight(SHIP_CARAVEL, SHIP_BARKENTINE, SHIP_BARQUE);
                else ShipType = RandFromThreeDight(SHIP_FLEUT, SHIP_BARQUE, SHIP_GALEON_L);
            }
            if (Rank > 20)
            {
                if (Nation == SPAIN) ShipType = SHIP_GALEON_H;
                else ShipType = SHIP_PINNACE;
            }
        break;
        case "pirate":
            if (Rank < 4)
            {
                ShipType = SHIP_LUGGER;
            }            
            if (Rank >= 4 && Rank < 11)
            {
                ShipType = RandFromThreeDight(SHIP_SLOOP, SHIP_SCHOONER, SHIP_BRIG);
            }
            if (Rank >= 11 && Rank <= 20)
            {
                ShipType = RandFromThreeDight(SHIP_GALEON_L, SHIP_GALEON_H, SHIP_CORVETTE);
            }
            if (Rank > 20)
            {
                ShipType = SHIP_FRIGATE;
            }
        break;

        /*case "war":
            if (Rank < 11)
            {
                ShipType = RandFromThreeDight(SHIP_SLOOP, SHIP_SCHOONER, SHIP_LUGGER);
            }
            if (Rank >= 11 && Rank <= 20)
            {
                if (Nation == SPAIN) ShipType = RandFromThreeDight(SHIP_CARAVEL, SHIP_BRIG, SHIP_PINNACE);
                else ShipType = RandFromThreeDight(SHIP_BRIG, SHIP_GALEON_L, SHIP_PINNACE);
            }
            if (Rank > 20)
            {
                if (Nation == SPAIN) RandFromFiveDight(SHIP_GALEON_H, SHIP_LINESHIP, SHIP_WARSHIP, SHIP_BATTLESHIP, SHIP_MANOWAR);
                if (Nation == HOLLAND) ShipType = SHIP_GALEON_H;
                if (Nation == ENGLAND || Nation == FRANCE) ShipType = SHIP_PINNACE;
            }
        break;*/
    }
    _chr.Ship.Type = GenerateShip(ShipType, true);
    SetRandomNameToShip(_chr);
    SetBaseShipData(_chr);
    SetCrewQuantityFull(_chr);
    Fantom_SetCannons(_chr, _type);
    Fantom_SetBalls(_chr, _type);
    if (_setgoods)
    {
        Fantom_SetGoods(_chr, _type);
    }
}
And PROGRAM\scripts\ShipsUtilites.c (for shipyards):
Code:
void SetShipyardStore(ref NPChar)
{
    int    iTest_ship, i;
    string attrName;
    
    if (CheckAttribute(NPChar, "shipyard")) return; // åùå åñòü êîðàáëè ñ òîãî ðàçà
    
    SaveCurrentNpcQuestDateParam(npchar, "shipyardDate"); // äàòà çàïîëíåíèÿ âåðôè
    
    if (bBettaTestMode)
    {
        for (i = 1; i <=SHIP_TYPES_QUANTITY; i++)
        {
            attrName = "ship" + i;
            FillShipParamShipyard(NPChar, GenerateStoreShip(i-1), attrName);
        }
        
        return;
    }
    
    FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_TARTANE), "ship1");
    
    iTest_ship = rand(2);
    if (iTest_ship == 1)
    {
        FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_WAR_TARTANE), "ship2");
    }
    if (iTest_ship == 2)
    {
        FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_LUGGER), "ship2");
    }

    iTest_ship = rand(2);
    if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_LUGGER), "ship3");
    if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_SLOOP), "ship3");

    iTest_ship = rand(3);
    if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_SLOOP), "ship4");
    if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_LUGGER), "ship4");

    if (sti(PChar.rank) > 1)
    {
        iTest_ship = rand(4);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_SCHOONER), "ship5");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_BARQUE), "ship5");
    
        iTest_ship = rand(4);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_SCHOONER), "ship6");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_BARQUE), "ship6");
    }
    if (sti(PChar.rank) > 3)
    {
        iTest_ship = rand(6);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_CARAVEL), "ship8");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_CARAVEL), "ship8");
    
        iTest_ship = rand(6);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_FLEUT), "ship9");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_CARAVEL), "ship9");
    
        iTest_ship = rand(6);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_FLEUT), "ship10");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_CARAVEL), "ship10");
    }
    if (sti(PChar.rank) > 5)
    {
        iTest_ship = rand(8);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_BRIG), "ship11");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_FLEUT), "ship11");
    
        iTest_ship = rand(8);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_BRIG), "ship12");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_GALEON_L), "ship12");
    
        iTest_ship = rand(8);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_BRIG), "ship13");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_GALEON_L), "ship13");
    }
    if (sti(PChar.rank) > 8)
    {
        iTest_ship = rand(50);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_GALEON_L), "ship14");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_CORVETTE), "ship14");
    
        iTest_ship = rand(70);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_GALEON_H), "ship15");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_PINNACE), "ship15");
    }
    
    if (sti(PChar.rank) > 12)
    {
        iTest_ship = rand(50);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_FRIGATE), "ship141");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_CORVETTE), "ship141");
    
        iTest_ship = rand(70);
        if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_FRIGATE), "ship151");
        if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_PINNACE), "ship151");
        if (iTest_ship == 3) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_GALEON_H), "ship151");
    }
    
    if (sti(PChar.rank) > 18)
    {
       iTest_ship = rand(120);
       if (iTest_ship == 1)   FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_LINESHIP), "ship16");
       if (iTest_ship == 2)   FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_WARSHIP), "ship16");
       if (iTest_ship == 3)   FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_BATTLESHIP), "ship16");

       iTest_ship = rand(120);
       if (iTest_ship == 1) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_LINESHIP), "ship17");
       if (iTest_ship == 2) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_WARSHIP), "ship17");
       if (iTest_ship == 3) FillShipParamShipyard(NPChar, GenerateStoreShip(SHIP_BATTLESHIP), "ship17");
    }
}
There is a good chance they have been heavily rewritten with the modpacks, but at least that should tell you where to look.
I hope it helps. :doff
 
Ok, now it appears at shipyards so I can buy it ;) Unfortunately these ships have very weak Point of Sail, and there is no possibility to upgrade it. In GOF 1.2 I think there was possibility to upgrade point of sail.
 
Armada you can get the game at pirate bay if u dont mind visiting that site i us it every time download uUtorrent than go to piratebay.sx/ and its cool bcs u can dowload it without any one looking who downloaded what
 
why can't you fast travel in ports? I haven't seen any realism option to disable it, have anyone a clue?
Can it be because every time I dock there are soldiers waiting for me to ask for a patent?
 
why can't you fast travel in ports? I haven't seen any realism option to disable it, have anyone a clue?
Can it be because every time I dock there are soldiers waiting for me to ask for a patent?
Just to be ABSOLUTELY sure, are you referring to Age of Pirates II and the Gentlemen of Fortune mod here?
It sounds like the behaviour of Pirates of the Caribbean: New Horizons.
 
It sounds like I am going to have to install COAS/GOF again just to see what is going on. I never used fast travel and suspect that GOF does not have it anyway.
 
Well, i found that you can fast travel in ports friendly to you, the ones you dont need a false license, iam playing with peter blood, so he is pirate, then in pirates port i can fast travel, but not in the others because are not friendly to me, i only can moor with a falsa patent and false flag in other ports... later i got an english letter of marque and now i can fast travel in english and pirates ports but not in others nations ports.
 
Can you tell me what line do I need to edit to increase the crew in the tavern? I have big ships that need 200-300 sailors and the taverns only hace 20-50 so...please
 
hi iv'e just downloaded gof 2.0 and patch 2.0.8. i saw that direct sail was back so i tried to sail from hispaniola to jamaica and i could'nt, Also in the files (patch 2.0.8) theres a testing folder do i need to do something with that to get direct sail to work. p.s great work love this game and your making it so much better.
 
Well this is great so far Flying Dutchman makes perfect bullseye everytime, but I like more to see the cat in the cabin then in the backpack when I buy one
 
Hi. Great mod you have here.
I think I found a bug. It's when I start a new game as Boris Palachnik (the fat and beardy), and I manage to get to the screen where you can edit your stats at the very beginning.
Everything seems right, but when I edit one of my P-I-R-A-T-E-S points, all my others stats are lowered, and I can't get them back to normal. And there's these nasty negative values appeared out of nowhere.

See the attached picture : aop2_screenshot.jpg

If I start with another character, everyhing's fine. I tried several classes, too, bug sticked with Boris.
Sadly, I Absolutly want to play with the fat and beardy, so much piratness :/


Edit : Oh, may I add that I have GoF patched, the .08 thing.
And I deleted the game, and reinstalled it all again with the mod.
I have searched for the file where the officer's infos were written, fail.
 
Back
Top