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

My first moding approach: more details in Francis Drake freeplay

Javrimir

Powder Monkey
Hey guys, I dont want to be depend on others who allready can mod, because I got many ideas for the game, so I want to learn coding it.
So first of all I would like to make more details for the Francis Drake freeplay including to paste some real based passengers like Diego (the first African who took part in a circumnavigation of the globe) or John (Drake's cousin). How can I do that?
And I would like to add some ships which in reality also convoyed Drake (so his ship was the Pelican, which was later named into Golden Hind, but they were also for example the ships Elizabeth or Marygold).

I would also change the time in which you are playing this English privateer.
So the actual starting date for Drake's freeplay is the 14. September 1478, isnt it?
But in these time he was sailing around the world, so he was somewhere in the southeastern coast of southern america.
Shouldnt be the starting date somewhere in 1585 or 1586, because in these years he actually was in the Caribbean?
 
You are very welcome to make these changes! It is always fun for separate characters to be more special. :onya

I'd recommend tying in your changes with the "promotion rewards" system in PROGRAM\NK.c .
 
Drake starts in 1578 with the Golden Hind. If this were a full storyline about Drake then the story could start off with the Pelican and rename it to Golden Hind later, but free-play does not allow that. You can change the ship's name both at the screen where you choose your character and ship before playing, and during play, so you can rename the ship however you like.

This was indeed early in the voyage around the world, which did not pass through the Caribbean. Drake's voyage to the Caribbean in 1585 and 1586 was in command of a fleet of 21 ships, which is physically impossible in the game and would have to be late in his game career as he'd be effectively an admiral.

You could add the other ships as part of the naval promotion ship section of "NK.c". There is normally no mechanism for a free-play privateer character such as Francis Drake to get free ships; he has one exception in that he gets the Revenge when he reaches rank 8. But some other naval officer characters have specific ships assigned to them. For example:
Code:
         case 3: // Lieutenant
           switch (GetMySimpleName(PChar))
           {
             case "Horatio Hornblower":
               GiveShip2Character(pchar,"FR_Sloop","Le Rève",-1,FRANCE,true,true); // Captured from the French
             break;

             case "Jack Aubrey":
               GiveShip2Character(pchar,"HMS_Sophie", "Sophie", -1, ENGLAND, true, true);
             break;

             case "James Norrington":
               GiveShip2Character(pchar, "HMS_Interceptor", "Interceptor", -1, ENGLAND, true, true); // Fast Brig
             break;

             //default:
             switch(GetCurrentPeriod())
             {
               case PERIOD_EARLY_EXPLORERS:
                 GiveShip2Character(pchar, "Caravel2", "George", -1, ENGLAND, true, true); // Caravela Redonda
               break;

               case PERIOD_THE_SPANISH_MAIN:
                 GiveShip2Character(pchar, "BrigRoyal", "Hunter", -1, ENGLAND, true, true); // Sloop-of-War
               break;

               case PERIOD_GOLDEN_AGE_OF_PIRACY:
                 GiveShip2Character(pchar, "RN_Brig", "Drake", -1, ENGLAND, true, true); // Sloop-of-War
               break;

               case PERIOD_COLONIAL_POWERS:
                 GiveShip2Character(pchar, "RN_Brig", "Jamaica", -1, ENGLAND, true, true); // Sloop-of-War
               break;

               case PERIOD_REVOLUTIONS:
                 GiveShip2Character(pchar, "HMS_Speedy", "Badger", -1, ENGLAND, true, true); // Speedy class Brig
               break;

               case PERIOD_NAPOLEONIC:
                 GiveShip2Character(pchar, "HMS_Sophie", "Sophie", -1, ENGLAND, true, true); // Brig Sloop
               break;
             }
           }
         break;
First this checks the character's name. If it's one of the recognised characters then he gets his appropriate ship. If not, it defaults to a check by period and gives a ship suitable to that period. So, below the bit for James Norrington, you could add:
Code:
             case "Francis Drake":
               GiveShip2Character(pchar, "<ship type>", "Elizabeth", -1, ENGLAND, true, true);
             break;
Look through "Ships_init.c" to find something suitable to use for <ship type>.
 
Promotion officers for him would need to be added here:
Code:
void GivePromotionOfficers(int PlayerRank, int iNation)
{
   ref pchar = GetMainCharacter();
   ref ch;

   if (ProfessionalNavyNation() == UNKNOWN_NATION)         return;
   if (iNation == PIRATE)                     return;
Since Privateers don't usually get them, that first 'if' will abort the rest of the function.
But you CAN put your stuff above that 'if'. ;)

Drake starts in 1578 with the Golden Hind. If this were a full storyline about Drake then the story could start off with the Pelican and rename it to Golden Hind later, but free-play does not allow that. You can change the ship's name both at the screen where you choose your character and ship before playing, and during play, so you can rename the ship however you like.
Could you give the ship with the first name and then give the ship again later with the other name so that she gets replaced?
 
Hm, the fact that his rank in 1585/86 was to high for an interesting balanced freeplay game is a good point.
So, then it have to be some kind of parallel universe in which he made a side trip to the Caribbean during his voyage around the world :D
 
@Grey Roger you seem to know many things about Drake. What can you tell me about Elizabeth Bonaventure?
Besides Revenge it's another ship which was controlled by Drake.
The information I could found in the web, confused me a lil but.
Did he had it before the Revenge?
I dont get which of the ship he actually sailed during the raid of Cadiz.
 
Last edited:
Wikipedia is my main source of information. ;) In particular:
Francis Drake - Wikipedia, the free encyclopedia
English ship Bonaventure (1567) - Wikipedia, the free encyclopedia
English ship Revenge (1577) - Wikipedia, the free encyclopedia


So, Drake had the Elizabeth Bonaventure for the raid of Cadiz in 1587, then was in the Revenge for the battle against the Spanish Armada in 1588.

Several ships and characters are included in PoTC despite either being in the Caribbean at the wrong time or never being in the Caribbean at all. The xebec, for example, sailed the Mediterranean. Most of the events in the "Hornblower" storyline occurred in European waters in the original books (a couple of video sequences borrowed from the TV series give this away). So we've already taken quite a bit of artistic licence to make the game more interesting; having Drake take a Caribbean detour during his cruise round the world is just part of that. :D
 
Back
Top