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

Solved A few Questions

Andouce

Sailor Apprentice
Storm Modder
Hey,
I have a few questions I'd like answered if possible.
(Also sorry if I should have used a certain place for this but I didn't know what was appropriate other than a new thread here)

1. For your boarders and general crew members/officers, do you have to supply them with Ammo/Gunpowder for guns via the Weapons Locker or Gunpowder Storage or does it do it automatically?

2. The reason I ask the above is, When boarding or sometimes on land, it seems anyone who uses muskets don't fire and generally misfire it seems, but constantly. Also when this occurs most of the boarders/soldiers in town/on ships, have their muskets on their hip. Only fix to that is F11 it seems but the misfires I have no idea. My Main Officer has pistol as do I and no problems there or when I use a musket but Officers and crew members seem to not want to fire.

3. Exactly how do you ransom a prisoner in Ports, collecting the Full ransom?

4. If I was to set up a storyline to be custom(Master and Commander), how do I change it so that my crew members in the crews quarters are also soldiers of the Nation I assigned(Britain). Deck members are fine as with boarders. Just when I entered Crews Quarters they are generally sailors. (Note I started as a Senior Lieutenant of Britain and used the code necessary to do so also adding the boarder models and crew changes)

5. I noticed previously there were new random events such as the Guard Patrols with the Officer etc. Since I installed or rather updated the newest build with that small change on the 30th I haven't seen a single patrol yet and there are no notifications like before but I assume that was there for testing purposes or so?

Thanks
 
Last edited:
1. Only the player and officers require ammunition; all other characters are exempt for simplicity's sake

2. The muskets are a separate confirmed problem. It seems when characters are loaded with blade drawn, their muskets don't switch from back to hip.
And then they don't fire properly. This is on the To-Do List to fix at some point still.

3. Talk to them in your cargo hold, while you are in a port of their own nation. Then you'll get the full monty.

4. A lot of the player-related crew models is not universal, unfortunately. Some day, it would be nice to simplify that.
I thought this in PROGRAM\LandEncounters\LEnc_monsters.c took care of it though:
Code:
      case "crew":
         modelInfo.sex = "man";
         modelInfo.model = "Sailors";
         // Cap'n Crunch -->
         if(GetRank(getMainCharacter(), GetServedNation()) > 0)
         {
           modelInfo.nation = GetServedNation();
           modelInfo.model = "Soldiers";
         }
         // Cap'n Crunch <--
       break;

       case "own_deck":
         modelInfo.sex = "man";
         modelInfo.model = "Sailors";
         // Cap'n Crunch -->
         if(GetRank(getMainCharacter(), GetServedNation()) > 0)
         {
           modelInfo.nation = GetServedNation();
           modelInfo.model = "Soldiers";
         }
         // Cap'n Crunch <--
       break;

       case "ship":
         modelInfo.sex = "man";
         modelInfo.model = "Sailors";
         // Cap'n Crunch -->
         if(GetRank(getMainCharacter(), GetServedNation()) > 0)
         {
           modelInfo.nation = GetServedNation();
           modelInfo.model = "Soldiers";
         }
         // Cap'n Crunch <--
       break;
Perhaps you don't have GetServedNation() set properly? Though SetRank DOES update that. :confused:
 
Ah thanks Pieter, clears a lot of my queries :p I don't mind the muskets atm anyway as currently my soldiers are pretty good in boarding without shooting :D
As for the last part. I have not touched that particular file. Would I have to insert an extra piece of code via console or below to possibly address this? Or is that something to check within the LEnc_monsters.c file?
Currently this is what is set in my storyline file.
Code:
void StartStoryLine()
{
    ref PChar = GetMainCharacter();
    string loadPort = "Redmond_Port";
    sTeleportLocName = "Redmond_Port";
// KK -->
    string rldGroup = "reload";
    string rldLocator = "reload1_back";
    GiveItem2Character(Pchar, "bladeX4");    // PB: Gives you your fists
    TakeNItems(PChar, "blade24+3", 2);
    TakeNItems(PChar, "pistol3_14", 1);
        TakeNItems(PChar, "blade26+3", 102);
        TakeNItems(PChar, "pistolmket", 102);
    TakeNItems(PChar, "spyglass2", 1);
    TakeNItems(PChar, "medical1", 100); // PB
    if (ENABLE_AMMOMOD)
    {
        TakeNItems(PChar, "gunpowder", 10);
        TakeNItems(PChar, "pistolbullets", 10);
    }
    //JRH ammo mod <--
    TakeNItems(PChar, "clock1",1); // SJG
    TakeNItems(PChar, "compass2",1); //SJG
    AddMoneyToCharacter(Pchar,30000);
    EquipCharacterbyItem(Pchar, "blade24+3");
    EquipCharacterbyItem(Pchar, "pistol3_14");
    EquipCharacterbyItem(Pchar, "Spyglass2");
    EquipCharacterbyItem(PChar, "clock1"); // SJG
    EquipCharacterbyItem(PChar, "compass2"); //SJG
// <-- KK
   
    string BOARDERMODEL = "soldier";
    Reinit_KhaelRoa();
//================================| BEGINNING QUESTS |================================//
    //Master and Commander
    PChar.quest.Start = "";
    PChar.quest.Start.win_condition.l1 = "location";
    PChar.quest.Start.win_condition.l1.character = PChar.id;
    PChar.quest.Start.win_condition.l1.location = "Redmond_Port";
    PChar.quest.Start.win_condition = "Start";
    //Master and Commander
    //Tortuga Atmosphere
    PChar.quest.Tortuga_atmosphere.win_condition.l1 = "location";
    PChar.quest.Tortuga_atmosphere.win_condition.l1.character = PChar.id;
    PChar.quest.Tortuga_atmosphere.win_condition.l1.location = "Tortuga_port";
    PChar.quest.Tortuga_atmosphere.win_condition = "Tortuga_atmosphere";
    //Tortuga Atmosphere
    //FIND ANGELIQUE MOULIN'S FATHER (Missing Man quest)
    PChar.quest.Missingman = "";
    PChar.quest.Missing_start.win_condition.l1 = "location";
    PChar.quest.Missing_start.win_condition.l1.character = PChar.id;
    PChar.quest.Missing_start.win_condition.l1.location = "PoPrince_town";
    PChar.quest.Missing_start.win_condition = "Missing_start";
    //Missing Man quest
    //ELIZABETH SHAW'S DISAPPEARENCE (Davy Jones First Contact quest)
    PChar.quest.Firstcontact = "";
    PChar.quest.Contact_start.win_condition.l1 = "location";
    PChar.quest.Contact_start.win_condition.l1.character = PChar.id;
    PChar.quest.Contact_start.win_condition.l1.location = "Grand_Cayman_townhall";
    PChar.quest.Contact_start.win_condition = "Contact_start";
    //First Contact quest
    //FIND THE MISSING SON OF THE SPANISH ADMIRAL (Lucas Da Saldanha quest)
    PChar.quest.Lucas = "";
    PChar.quest.Luc_start.win_condition.l1 = "location";
    PChar.quest.Luc_start.win_condition.l1.character = PChar.id;
    PChar.quest.Luc_start.win_condition.l1.location = "Muelle_Residence";
    PChar.quest.Luc_start.win_condition = "Luc_start";
    //Lucas
//===============================| QUESTS SECTION END |===============================//
    ReloadProgressUpdate();
    AllDaysCount = 1;//MAXIMUS: calculates days amount (updating in calendar.c)
    PChar.newGameStart = true;//MAXIMUS: for adding new locators
    LoadMainCharacterInFirstLocation(sTeleportLocName, rldGroup, rldLocator, loadPort); // KK
    // PB: Modify Default Relations
    SetRelationsAsNation(sti(PChar.nation));                                                // Set nations as per selected flag
    SetRank(pchar, ENGLAND, 4);                    // If necessary:
}
And in the other outside separate folder:
Code:
void RegisterStoryline(int n)
{
    ref storyline; makeref(storyline, Storylines);
    aref sl; makearef(sl, storyline.list);
    string sn = "sl" + (n + 1);
    sl.(sn).id = "JackAubrey";
    sl.(sn).index = n;
    sl.(sn).dir = "JackAubrey\";
    sl.(sn).start.location = "Redmond_Port";
    sl.(sn).start.port = "Redmond_Port";
    sl.(sn).start.model = "Kennedy_Lt";
    sl.(sn).start.name = "(My name)";
    sl.(sn).start.lastname = "(My name)";
    sl.(sn).start.nation = ENGLAND;
    sl.(sn).start.playertype = PLAYER_TYPE_MILITARY;
    sl.(sn).start.difficulty = DIFFICULTY_JOURNEYMAN;
    sl.(sn).start.Flags.Pirate = 8;
    sl.(sn).start.Flags.Personal = 28;
    sl.(sn).start.ship = "RN_Essex";
    sl.(sn).start.shipname = "Essex";
    sl.(sn).start.date.hour = 10;
    sl.(sn).start.date.min = 24;
    sl.(sn).start.date.sec = 42;
    sl.(sn).start.date.day = 26;
    sl.(sn).start.date.month = 1;
    sl.(sn).start.date.year = 1740;
    sl.(sn).start.freedom_level = 0; // PB: Free play ONLY
    switch (LanguageGetLanguage())
    {
        // default:
            sl.(sn).title = "The Colonial Days";
            sl.(sn).description = "Play the story of Senior Lieutenant (My name) in the Colonial Period.";
    }
    AddStorylineVar(n, "CHANGING_RELATIONS", "1");    // PB: Changing Relations always on
    AddStorylineVar(n, "ISLA_DE_MUERTE", "1");        // PB: Curse in effect and can visit Isla de Muerte
}
Note I had to use the console to address my crew originally as I had the boarder model to "marine" but it didn't work and as they did not update properly it seems. So set them to "Soldiers" via console and worked As I said just the crew in the quarters but tbh it doesn't bother me at all :p Rarely enter there anyway.

Cheers :cheers
 
You do have that SetRank function in there, which I thought should work for that.
DO you get soldiers on your outside ship deck when walking around?
 
I do indeed get soldiers on deck, cargo hold, gun decks and ship deck. Boarding too. Just not the crew deck.
 
That's odd; as far as I can tell from the code, they SHOULD be appearing for location type "crew".
 
Yea I am not sure why, but it's fine anyway. Main thing I would like to see progressed in next build maybe is fixed muskets and the graphic squares/flickering that I currently due to the flag masts it would seem.
 
Flags are being looked at, but that is proving ridiculously complicated.

Muskets are on the To-Do list.
 
Back
Top