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

Devlin Opera for the 65742th time

Thinking about it a bit more, you don't need to worry about maps enabling "Sail To". You'd have the code to open the beach at the same quest case where the player receives the map. Normally "Sail To" is opened up when you get a map, and it's the possession of the map which does it. The end result is the same, just by different methods - you can't Sail To the beach until you get the map.

The map for Aruba is going to be an interesting case. Aruba is uncolonised in "Early Explorers", though you can visit it if you can find the landing points. Where you would normally moor to go to Oranjestad, you can still moor but it's now just a shore. Reloads are set to bypass the town so you can walk from one shore to the other and also visit the Indian village. Because Aruba is uncolonised (and was previously impossible to visit) in "Early Explorers", the normal map is not for sale. So your quest map will be the only one available. (And when the player lands at that shore, you're probably going to have Blaze or Bonnie say that this would be a great place for a port. xD)
 
For clarification: I don't plan an Aruba map, I only mean archipelago maps, as quest items, with special marks and notes when you examine them.

For Aruba I have my most ambitious but also the most indetermined ideas which vaguely revolve around new VCO locations to expand the indian world there and delve into it. But that would come later, towards the end, and it's still a long way to go and a lot to think about.
 
From now on, I want to include a few characters which are hirable as officers. How could I set them up, so that they are a little bit different from Joe Average over at the tavern, while not making them totally overpowered? On the other hand, as long as you get two immortal companions for this storyline and Fred Bob exists, "overpowered" is put into perspective anyway.

And about perks, what is the deal with the these non-contributing perks anyway? Don't they matter at all? And would I need to take locked perks into account somehow? (Turning off locked perks is always the first thing I do)

This is what I have so far. The background is that of a plantation owner / business woman. By the way, what does ch.questchar = true mean?

Code:
    ch.old.name = "Lorena";
    ch.old.lastname = "Lopez";
    ch.name = TranslateString("", "Lorena");
    ch.lastname = TranslateString("", "Lopez");
    ch.id        = "Lorena Lopez";
    ch.model = "50LCroft";
    ch.sex = "woman";
    ch.sound_type = "female_citizen";
    GiveItem2Character(ch, "blade36");
    ch.equip.blade = "blade36";
    ch.location    = "none";
    ch.location.group = "";
    ch.location.locator = "";
    ch.Dialog.Filename = "Lorena Lopez_dialog.c";
    ch.greeting = "";
    ch.nation = SPAIN;
    ch.rank     = 12;
    ch.reputation = "70";
    ch.experience = "0";
    ch.skill.Leadership = "4";
    ch.skill.Fencing = "4";
    ch.skill.Sailing = "1";
    ch.skill.Accuracy = "1";
    ch.skill.Cannons = "1";
    ch.skill.Grappling = "1";
    ch.skill.Repair = "4";
    ch.skill.Defence = "1";
    ch.skill.Commerce = "8";
    ch.skill.Sneak = "4";
    ch.perks.list.BasicDefence = true;
    ch.perks.list.Disguiser = true;
    ch.perks.list.BasicCommerce = true;
    ch.perks.list.AdvancedCommerce = true;
    ch.perks.list.BasicLandOwner = true;
    ch.money = "4000";
    ch.questchar = true;
    ch.quest.meeting = "0";
    LAi_SetStayType(ch);
    LAi_SetLoginTime(ch, 0.0, 24.0);
    LAi_NoRebirthEnable(ch);
    ch.quest.officertype = OFFIC_TYPE_QUARTERMASTER;
    AddGameCharacter(n, ch);
 
Non-contributing perks are perks which the officer does not contribute to you. ;) Officers will only contribute perks (and skills) relevant to their jobs.

You should take locked perks into account. You might switch them off and so do I, but some other players don't, and they're on by default.

The "questchar" attribute protects the character from the levelling process, to some extent. Without it, the character will be given different skills; with it, the character gets exactly what you put in the definition. But the system seems to ignore "questchar" when assigning perks, so don't get too attached to those which you've put into the character definition!
 
I'm afraid I still don't understand anything xD

If my officer has a non-contributing perk, does that mean I never even benefit from that one? If so, that would be very strange, considering most perks are "non-contributing" and mostly the melee ones are.

And how exactly should I take locked perks into account? Perhaps regarding the character definition above specifically, what should I change for that? Not only regarding perks, maybe also skills and levels etc.
 
If my officer has a non-contributing perk, does that mean I never even benefit from that one? If so, that would be very strange, considering most perks are "non-contributing" and mostly the melee ones are.
Yes, only contributing perks do anything. And that depends on their role, as a navigator will not help with the cannons, and so it's "Fast reload" perk will not do anything. Personal perks (like the melee ones) only apply to the specific character, and so are always considered 'contributing'.
 
Indeed a navigator will not contribute gunnery perks such as "SailsDamageUp", unless you reassign the officer to become a gunner. "Contributing" perks are those which an officer contributes to the ship as a whole. Melee perks can't be contributed, only used by that officer when in combat.

You can check which perks are locked by looking at "PROGRAM\Characters\perks\perks_init.c". This is where perks are defined. For example:
Code:
    ChrPerksList.list.AdvancedCommerce.descr = "perkAdvancedCommerce";
    ChrPerksList.list.AdvancedCommerce.condition.BasicCommerce = true;
    ChrPerksList.list.AdvancedCommerce.cost = 4; // Levis
    ChrPerksList.list.AdvancedCommerce.locked = true; // Levis
    ChrPerksList.list.AdvancedCommerce.type = PERK_TYPE_MERCHANT; //Levis
That's "Advanced Commerce". The "condition" line shows that you need "Basic Commerce" before you can take it for yourself by spending Ability points - you can assign it to a character in code, but the character is going to look a bit odd with "Advanced Commerce" but without "Basic Commerce". The "locked" line indicates that the perk is locked.

So for Lorena Lopez, "Basic Defence" is a melee perk, she'll use it if she's fighting. "Disguiser", alias "Master of Disguise", is not locked so you can safely give it to her. "Basic Commerce" and "Advanced Commerce" are both locked. But she's using her own dialog file. Perhaps she can teach you "Basic Commerce". If you add this to the dialog code somewhere...
Code:
            if(CheckCharacterPerkLocked(Pchar, "BasicCommerce"))
            {
                UnlockPerkCharacter(PChar ,"BasicCommerce");
            }
... then, if "Basic Commerce" is locked, she'll unlock it for you when the dialog reaches the right part.

There's no point in giving her "BasicLandOwner". Following a discussion on the forum a while ago, "Landowner" is no longer contributed at all, it only works if you have it personally. You have to manage your own estates, you can't get your officers to do it for you.
 
Would Disguiser, Basic Commerce and Advanced Commerce be contributed by a quartermaster?

What sounds even better to me then would be to make her unlock Basic Landowner for the player. And give her the two commerce ones. What do you think?
 
"Disguiser", "Basic Commerce", "Advanced Commerce" and some others are contributed by the quartermaster. You can see what each officer type contributes by looking at "PROGRAM\Characters\officertypes\init_officertypes.c". For example, for "OFFIC_TYPE_QMASTER":
Code:
    if(isPerkExisting("Disguiser")) {OfficerTypes.(type).perks.Disguiser = 1};
    if(isPerkExisting("BasicCommerce")) {OfficerTypes.(type).perks.BasicCommerce = 1};
    if(isPerkExisting("AdvancedCommerce")) {OfficerTypes.(type).perks.AdvancedCommerce = 1};
    if(isPerkExisting("Trustworthy")) {OfficerTypes.(type).perks.Trustworthy = 1};
//    if(isPerkExisting("BasicLandOwner")) {OfficerTypes.(type).perks.BasicLandOwner = 1};
    if(isPerkExisting("ImproveSmuggling")) {OfficerTypes.(type).perks.ImproveSmuggling = 1};
    if(isPerkExisting("AdvanceSmuggling")) {OfficerTypes.(type).perks.AdvanceSmuggling = 1};
The line for "BasicLandOwner" was commented out when it was decided that the perk should not be contributed. The rest of the 'OfficerTypes.(type).perks.' lines show which perks the officer contributes.

If you're going to give both "Commerce" perks to Lorena then you'll need her to unlock "AdvancedCommerce" as well. And in case you're considering it, "Trustworthy" is also locked.
 
I'm having way too much fun (and enough time) doing the main part of the chapter and adding voice clips (no new aliases though). The whole officer thing was a bit of an afterthought, I'll look into it again when the the chapter is finished.

Aren't you british? Is it "drink order" or "drinking order"? Google says the first one, but it sounds so wrong and the latter so right...
 
Speaking of voice clips. @Jack Rackham (or anybody else) do you know a solution to play this voice clip in game? I tried changing the bitrater through some online converter and I tried both PlaySound and PlayStereoSound.
 

Attachments

  • Enough.zip
    90.9 KB · Views: 70
Awesome! Once again I've asked too soon. Adding more voice clips for the tavern folk from the folder you once sent me, only about half of them work. As soon as I found all the clips I want, maybe you could tell me how you fixed that one or take another look.
 
I use this Eufony soft ware. Hope it works this way. It's a trial version so it has a 1 minute limit for sounds.
But for greetings it should work.

If it does:
click on your sound file
find the convert button. (an arrow symbol)
(continue trial)
custom
choose the settings you want
convert
 

Attachments

  • Eufony program.7z
    1.4 MB · Views: 69
I'm having way too much fun (and enough time) doing the main part of the chapter and adding voice clips (no new aliases though). The whole officer thing was a bit of an afterthought, I'll look into it again when the the chapter is finished.

Aren't you british? Is it "drink order" or "drinking order"? Google says the first one, but it sounds so wrong and the latter so right...
In what context? I'm not familiar with either term, but doing a bit of Googling (or to be more precise, Duckgoing) myself, I found references indicating that "drink order" or "drinks order" means ordering drinks such as from a bar, while "drinking order" seems more to be a law or rule restricting drinking. Rocoso Balboa might place a drink order or drinks order to get more wine for himself and Bonnie, while Don Evaristo may be enforcing a drinking order.

Incidentally, if you're planning on any more parties for Bonnie, have a look at this:
diningroom.jpg
It's already included in the game as "RESOURCE\MODELS\Locations\Inside\Dining_room". I've been doing a bit of work on it with a view to adding a scene to Ardent's wedding, mostly cosmetic - improving lighting, adding a locator by that drinks table in the corner near the door. Apart from that, it's already usable, requiring only a location definition and some quest code to send the player there. There are four locator files in the folder. "Dining_room_locators.gm" and "Dining_room_Nlocators.gm" are almost the same except that "Dining_room_Nlocators.gm" has lighting locators for the candles on the chandelier while "Dining_room_locators.gm" does not. "Dining_room_locators_Q2.gm" and "Dining_room_Nlocators_Q2.gm" add some "randitem" locators as well as a box locator for the chest in the other corner by the door and needs some more work because one of the "randitem" locators is in mid-air - when I tried "Dining_room_Nlocators_Q2.gm", I saw some sort of bag floating high up. So unless you need the item locators for something, I'd suggest using the non-Q2 locator files.
 
Placing a "drink order" in a tavern is what I was looking for.

The dining room looks nice, perhaps it would be an idea just to brush up that very early and very basic Martinica party - adding more rooms, making it a bit of a maze with a few more obstacles to finally flee the party. "Grey Roger" could be placed by the little drinks table where he shamelessly helps himself to more booze. :razz

Meanhwile, Bonnie has found other things to do:
 

Attachments

  • opera20220804.png
    opera20220804.png
    1.8 MB · Views: 88
The dining room looks nice, perhaps it would be an idea just to brush up that very early and very basic Martinica party - adding more rooms, making it a bit of a maze with a few more obstacles to finally flee the party. "Grey Roger" could be placed by the little drinks table where he shamelessly helps himself to more booze. :razz

Meanhwile, Bonnie has found other things to do:
The snag with using the dining room for the Martinica party is that it only has one exit. Bonnie goes first to the main door and is told that it's rude to leave. Then, after finding a key, she goes to another door leading to the bedroom. Of course, if you're going to rewrite the whole thing and add extra rooms between the dining room and the bedroom, it could work. And if you're going to put the other Grey Roger by the drinks table, you'll first need to wait until I've finished the locator files with a new locator next to the table. ;) (Which I'm adding for exactly that reason - so that the original owner of Grey Roger's outfit can go to the table and help himself to free booze. xD)

And I'm guessing that Bonnie is going to a hairdresser as well as a tailor. ;)
 
The diningroom was imported for WR part2. If you have problems with the randitems I added make a new locatorfile and delete the randitems.
Turn visible locators on and check which locators should be skipped.
I have added an extra door (with randitem) and a reload locator so maybe it's something for you @BathtubPirate.

About Eufony. Maybe not all soundfiles can be converted. (no arrow button) I'm not sure but think so.
 
Back
Top