• 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

Yes, I tried the story and found the same problem. Going straight to sea hangs the game, going via ship deck works, but neither Bonnie nor Blaze show up. Try this version of "quests_reaction.c". Instead of "Martinica_Debriefing" triggering when you go to sea, it triggers when you hit the locator where you would normally board the ship. I used the same method for a similar scene in "Ardent" - you teleport to the ship's cabin for a final briefing for a mission. (Still to do: change the locator and location depending on whether you're moored at the port or at the beach. The teleport to the pier will also need to account for this.) The reason Bonnie and Blaze don't show up is because they've been restored as officers when you teleport to the pier, and officers don't always show up even if you try to place them on locators. So the first thing that happens in this version of "Martinica_Debriefing" is that they're removed as officers again. Bonnie talks to you, tells Blaze to hand you his part of the map, he doesn't, then the quest ends.

So far I've ignored the jumpstart, played from the beginning, got as far as finding Blaze and then went to Martinica, where I remained as Beatrice and did the book hunt. That could really do with a questbook! If you don't pay close attention to what is said in each dialog, or if you forget it for any reason, you're stuck. Also, there is no entry for "jauri_note" in your "ItemsDescribe.txt", which means it shows up in your inventory as "itmname_jauri_note". (And I recognise Silvia Haraldo! In "Ardent", she's Valerie Downing. It took me some effort to copy, paste and resize various bits of the texture from AoP's "Lady_1" onto a variant of "towngirl5", so it's good to see the model getting some more use in another story. :onya)

Another thought - perhaps move the reload definition for "Door_4", alias "Storyteller_house", out of "Redmond.c" and into "StartStoryline.c"? That's how I set up the reload for "Door_14", alias "House of Gilbert Downing". It means the location is free for anyone else to use in a different storyline - including you, if you want! That one is the house next to the dungeon in Port Royale, and the fact that the dungeon is next door is used for part of the story.
 

Attachments

  • quests_reaction.c
    64 KB · Views: 132
Yes, I tried the story and found the same problem. Going straight to sea hangs the game, going via ship deck works, but neither Bonnie nor Blaze show up. Try this version of "quests_reaction.c". Instead of "Martinica_Debriefing" triggering when you go to sea, it triggers when you hit the locator where you would normally board the ship. I used the same method for a similar scene in "Ardent" - you teleport to the ship's cabin for a final briefing for a mission. (Still to do: change the locator and location depending on whether you're moored at the port or at the beach. The teleport to the pier will also need to account for this.) The reason Bonnie and Blaze don't show up is because they've been restored as officers when you teleport to the pier, and officers don't always show up even if you try to place them on locators. So the first thing that happens in this version of "Martinica_Debriefing" is that they're removed as officers again. Bonnie talks to you, tells Blaze to hand you his part of the map, he doesn't, then the quest ends.
Thanks, I'm going to look into your adustements later or during the weekend. Using the locator at the pier is a great idea. As for pier vs beach - do you think that's necessary? Why would anybody in this case moore their ship at the beach instead of the port? Perhaps if you'd pick a fight with the spanish in the first ten minutes of the quest - but then again, why would anybody do this?

What you describe is correct, that's the last thing I put into the code so far.

That could really do with a questbook!
So far that's been deliberate as I thought the quest is so short and basically happens in one go and has the idea that you either know the town a little or if not, get to explore it a bit better so it would be a bit pointless to put every clue a second time separately in the quest book. But you're right, e.g. sometimes it happens to me that my hand slips and I skip a piece of dialog. So I guess there should either be quest book entries or the option to talk to the characters again. They all have some dialog case called "prog" (in progress) for when you talk to them a second, third etc. time. I could also put where to go next in those.

I forgot my lamest easter egg anyway: With the freed slave in Henry Peats house there should be a dialog like "Are you Bonto, the freed slave?" -- "Who did you expect? A cursed pirate?"

Also, there is no entry for "jauri_note" in your "ItemsDescribe.txt", which means it shows up in your inventory as "itmname_jauri_note".
I must have forgotten to update this in my separate folder, but I want to change the item picture anyway.

(And I recognise Silvia Haraldo! In "Ardent", she's Valerie Downing. It took me some effort to copy, paste and resize various bits of the texture from AoP's "Lady_1" onto a variant of "towngirl5", so it's good to see the model getting some more use in another story. :onya)
Totally didn't think of that, although I played the Helen version of Ardent with that character. Both Isabel and Silvia were lady04_ab at first and then I changed them both because either something didn't work with the model or I assumed it was because of the model.

Another thought - perhaps move the reload definition for "Door_4", alias "Storyteller_house", out of "Redmond.c" and into "StartStoryline.c"? That's how I set up the reload for "Door_14", alias "House of Gilbert Downing". It means the location is free for anyone else to use in a different storyline - including you, if you want! That one is the house next to the dungeon in Port Royale, and the fact that the dungeon is next door is used for part of the story.
I'll look into it!
 
Thanks, I'm going to look into your adustements later or during the weekend. Using the locator at the pier is a great idea. As for pier vs beach - do you think that's necessary? Why would anybody in this case moore their ship at the beach instead of the port? Perhaps if you'd pick a fight with the spanish in the first ten minutes of the quest - but then again, why would anybody do this?
It took me rather longer than 10 minutes to get to Martinica! You have to go to San Salvador first, which means you're under a pirate flag unless you want to take on the fort. There are liable to be Spanish ships in the area, and were when I got there. Besides, if I have to look like a pirate then I'm liable to act like one, which is why Holland doesn't like me either - I'd found a group of Dutch merchant ships on my way to San Salvador and helped myself to the contents of two of them. (You start the game with one of my favourite ships in the entire game, a fast galleon. You'd better believe I'm going to use it for something more than sailing from one island to another!)

Or you might simply go to the beach so that you don't have to find your way in and out of the narrow channel between the two islands.

Basically, don't expect players to all behave the same way. They won't. A lot of quest writing is trying to figure out what players can do to break the quest, then take precautions against it.

So far that's been deliberate as I thought the quest is so short and basically happens in one go and has the idea that you either know the town a little or if not, get to explore it a bit better so it would be a bit pointless to put every clue a second time separately in the quest book. But you're right, e.g. sometimes it happens to me that my hand slips and I skip a piece of dialog. So I guess there should either be quest book entries or the option to talk to the characters again. They all have some dialog case called "prog" (in progress) for when you talk to them a second, third etc. time. I could also put where to go next in those.
Possibly both. It didn't happen to me, but I can easily imagine a player talking to the woman by the well, then going to the store to restock the ship, then heading through the town centre and talking to Patric Cardone (or whatever random Spanish name he's using in Martinica), then going to the next part of town and being attacked by random thugs, and now he's forgotten what the woman by the well said and has to go all the way back again.

Totally didn't think of that, although I played the Helen version of Ardent with that character. Both Isabel and Silvia were lady04_ab at first and then I changed them both because either something didn't work with the model or I assumed it was because of the model.
Lady04_ab is an import from the GoF mod for CoAS and has a completely different animation. You can use her as a character model but you need to put this in the character's definition:
Code:
ch.model.animation = "woman_ab_PoTC";
It's also why you'll find this in Blaze Devlin's definition:
Code:
ch.model.animation = "blaze";
Model "Devlin" is imported from AoP and uses the "Blaze" animation. Model "Blaze" is a stock PotC model and uses the standard "man" animation. Do not try to use animation "Blaze" with model "Blaze"!

And all of this talk about Blaze reminds me of another problem. Do the book chase. Wait until you're back on the pier, reunited with Bonnie and Blaze, about to go to the ship for the debriefing. Now talk to Blaze...
 
I forgot my lamest easter egg anyway: With the freed slave in Henry Peats house there should be a dialog like "Are you Bonto, the freed slave?" -- "Who did you expect? A cursed pirate?"
Reference to that house's use in the stock game?
Seems fitting to me! :cheers
 
You'd better believe I'm going to use it for something more than sailing from one island to another!)

Or you might simply go to the beach so that you don't have to find your way in and out of the narrow channel between the two islands.

Basically, don't expect players to all behave the same way. They won't. A lot of quest writing is trying to figure out what players can do to break the quest, then take precautions against it.
Fair enough. It's not my style and it's not the style of the quest, but better safe than sorry and of course "to each his own". ;)

(I had to think about the narrow channel for one second, I play arcade and direct sail...)

So this would require some check where your ship is moored for
- teleporting you back to regroup with the party when your business is finished
- the right reload locator to initiate the Cabin2SJG scene
- the right sea locator to eventually transport you after the debriefing with QuestToSeaLogin_PrepareLoc("FalaiseDeFleur", "reload", "reloadXY", true);

How would I do such a check?

Also this brings me to another point: You'll notice there's code to transport your ship to Martinica, at some of the ending quest cases on Martinica. That is because sometimes my ship used to be still in Villa de la Vega! (on the caribbean map) This might be because the quest locations for the Bonnie route are copied from Redmond and then adjusted, so there might be some stuff left in those quest locations that gets your ship to Redmond / Villa de la Vega ...

Possibly both. It didn't happen to me, but I can easily imagine a player talking to the woman by the well, then going to the store to restock the ship, then heading through the town centre and talking to Patric Cardone (or whatever random Spanish name he's using in Martinica), then going to the next part of town and being attacked by random thugs, and now he's forgotten what the woman by the well said and has to go all the way back again.
Also fair enough. I think overly long quest book entries about which person gave the book to whom on what reason would be a bit out of place, but I'll make sure to have the main instructions on where to go next in there.

And all of this talk about Blaze reminds me of another problem. Do the book chase. Wait until you're back on the pier, reunited with Bonnie and Blaze, about to go to the ship for the debriefing. Now talk to Blaze...
I'm intrigued... You probably mean he'll say something else than the standard line.

EDIT: Just tested it (with jump start) and there was nothing unusual. What do you mean?
 
Last edited:
Fair enough. It's not my style and it's not the style of the quest, but better safe than sorry and of course "to each his own". ;)
First get a quest working the way it should. Then try to figure out what players can do to mess it up and then figure out how to handle what they're doing. You know how the quest is meant to work, we don't, so even if we're trying to co-operate, we might get it wrong. :facepalm

(I had to think about the narrow channel for one second, I play arcade and direct sail...)
Which is why, in "Ardent", when you're going to attack Downing's convoy, I had to check for arrival at several nearby islands, as well as being out on the open sea after using worldmap and exiting nowhere near an island.

So this would require some check where your ship is moored for
- teleporting you back to regroup with the party when your business is finished
- the right reload locator to initiate the Cabin2SJG scene
- the right sea locator to eventually transport you after the debriefing with QuestToSeaLogin_PrepareLoc("FalaiseDeFleur", "reload", "reloadXY", true);

How would I do such a check?
Code:
if (PChar.location.from_sea == "Falaise_de_fleur_shore")
{
    <do beach stuff>
}
else
{
    <do port stuff>
}

Also this brings me to another point: You'll notice there's code to transport your ship to Martinica, at some of the ending quest cases on Martinica. That is because sometimes my ship used to be still in Villa de la Vega! (on the caribbean map) This might be because the quest locations for the Bonnie route are copied from Redmond and then adjusted, so there might be some stuff left in those quest locations that gets your ship to Redmond / Villa de la Vega ...
I've yet to try Bonnie's path. Or, for that matter, Blaze's - I got as far as the boxing match, tried to get knocked out by standing and letting people hit me, waited until I felt they'd have trouble fighting their way out of a paper bag, and thumped them. Then the whole mob came at me with swords, end of game. Next time I'll try to be a bit more patient while waiting to be knocked out, or try to be more ready with my own sword... (What might have made it harder for them to knock me out was that, as Beatrice, my piracy had gained me enough money and skill level to be able to find and buy a suit of battle armour, and I was still wearing it after my transformation into Blaze.)

Also fair enough. I think overly long quest book entries about which person gave the book to whom on what reason would be a bit out of place, but I'll make sure to have the main instructions on where to go next in there.
They don't need to be long. Simple one-liners like "Bonto gave the book to the priest." or "Now I need to go all the way to the beach!" should be enough.

I'm intrigued... You probably mean he'll say something else than the standard line.

EDIT: Just tested it (with jump start) and there was nothing unusual. What do you mean?
Did that jumpstart still involve you going to Guadeloupe to find Blaze? For some reason, he reverted to the conversation that's supposed to be on his ship, then I was back to sailing near Guadeloupe. I'll have to see if I can repeat it...
 
Code:
if (PChar.location.from_sea == "Falaise_de_fleur_shore")
{
    <do beach stuff>
}
else
{
    <do port stuff>
}
Got it :onya

I've yet to try Bonnie's path. Or, for that matter, Blaze's - I got as far as the boxing match, tried to get knocked out by standing and letting people hit me, waited until I felt they'd have trouble fighting their way out of a paper bag, and thumped them. Then the whole mob came at me with swords, end of game. Next time I'll try to be a bit more patient while waiting to be knocked out, or try to be more ready with my own sword... (What might have made it harder for them to knock me out was that, as Beatrice, my piracy had gained me enough money and skill level to be able to find and buy a suit of battle armour, and I was still wearing it after my transformation into Blaze.)
This might need better balancing. Interesting that your armour held the opponents back but the audience member defeated you. So far I've been making this more as a "story-only-quest" as I'm (as you know) not that keen on leveling up and perfecting fighting equipment etc. This is why I tried to make the audience people as week as possible (they should all be one-hit-kills ), also to counter the fairly large number of 8 and the open space. But then again, there are many of them and seems they surprise attacked you. The amount of HP to lose before a quest event is triggered in the fist fights are between -10 and -15 I think.

Btw the Bonnie path was the first of the three I made and in retrospect it seems a bit lame to me comparet to the others, I'm thinking about pimping it up, but haven't got an idea yet.

Did that jumpstart still involve you going to Guadeloupe to find Blaze? For some reason, he reverted to the conversation that's supposed to be on his ship, then I was back to sailing near Guadeloupe. I'll have to see if I can repeat it...
No it brings you directly from the start to Martinica.
 
Done:

- Corrected the name of the storyteller
- Transfer to quest cabin works now courtesy of @Grey Roger
- Added quest book entries for the scavenger hunt. Not too much to keep the little bits of thinking and/or exploration, but the basic informations provided by the characters.
- New item pictures for notes and paper aeroplanes, new picture assignation for such a quest item
 
Done:

- Corrected the name of the storyteller
- Transfer to quest cabin works now courtesy of @Grey Roger
- Added quest book entries for the scavenger hunt. Not too much to keep the little bits of thinking and/or exploration, but the basic informations provided by the characters.
- New item pictures for notes and paper aeroplanes, new picture assignation for such a quest item
Are those fixes already available somewhere for @Grey Roger to include?
 
Are those fixes already available somewhere for @Grey Roger to include?
No, I still have to do the differentiation between mooring at the port and at the beach, but I'd be glad if someone took a look at this here for that first:

Also this brings me to another point: You'll notice there's code to transport your ship to Martinica, at some of the ending quest cases on Martinica. That is because sometimes my ship used to be still in Villa de la Vega! (on the caribbean map) This might be because the quest locations for the Bonnie route are copied from Redmond and then adjusted, so there might be some stuff left in those quest locations that gets your ship to Redmond / Villa de la Vega ...
 
Done:

- Corrected the name of the storyteller
- Transfer to quest cabin works now courtesy of @Grey Roger
- Added quest book entries for the scavenger hunt. Not too much to keep the little bits of thinking and/or exploration, but the basic informations provided by the characters.
- New item pictures for notes and paper aeroplanes, new picture assignation for such a quest item
If you can upload your files, I can merge them with what I've been doing to "quests_reaction.c". Among other things, I've changed every point at which you reload to "Falaise_de_fleur_port_01", to a check on "PChar.location.from_sea" which then sends you to "Falaise_de_fleur_port_01" or "Falaise_de_fleur_shore" as appropriate.

A few things I spotted:
  • 'LAi_SetFightMode(PChar, false)' does not require PChar to be in actor mode. In fact, it doesn't seem to work if PChar is set to actor mode first - I had to manually put my fists away before Toni Haraldo would talk to me.
  • There are a few places during and after Blaze's fight in which you try to restore the player's HP:
    Code:
    LAi_SetHP(PChar, LAI_DEFAULT_HP, LAI_DEFAULT_HP);
    LAI_DEFAULT_HP is the basic HP for a level 1 character, 40. You end up seriously and permanently weakened after the fight! I've commented all of those out, and instead, at "Switch_to_Blaze" and "Switch_to_Bonnie", I've recorded the player's current and maximum HP as quest attributes, then set the player's HP to match Blaze's or Bonnie's as appropriate. Then "Switch_to_Beatrice" restores the original HP from those quest attributes.
  • Sometimes Blaze and Bonnie failed to appear after quest reloads, the reason being that officers seem to be blocked from following the player character even if they're explicitly placed by 'ChangeCharacterAddressGroup'. So I've removed them as officers, placed them, done the reload, and then put them back as officers.
  • After playing Bonnie's path, there was an entry in "error.log" which was caused by case "rugbeater:
    Code:
    GiveItem2Character("Isabel Marino", "blade37");
    EquipCharacterByItem("Isabel Marino", "blade37");
    That should be characterFromId("Isabel Marino")
  • Whenever you change a character's name, please remember to use 'TranslateString', e.g. Pchar.name = TranslateString("", "Bonnie") instead of Pchar.name = "Bonnie". That's for the benefit of our Russian friends. People's names aren't usually translated, but Russian uses the Cyrillic alphabet which means everything must be translatable.
I've played through all three paths, both docked at the port and the beach, and they all worked. If the triggers for "Martinica_Debriefing" are commented out, so that the game ends when you've finished your choice of activity on Martinica and are back at the port or beach, the story can probably have the "_off" removed and be made fully available. There may very well be more to come but without those triggers, it's fully playable and leads to a definite conclusion.
 
Done:

- Corrected the name of the storyteller
- Transfer to quest cabin works now courtesy of @Grey Roger
- Added quest book entries for the scavenger hunt. Not too much to keep the little bits of thinking and/or exploration, but the basic informations provided by the characters.
- New item pictures for notes and paper aeroplanes, new picture assignation for such a quest item
Can you also add item names and descriptions for both "jauri_note" and "key_haraldo"?
jauri_note.jpg key_haraldo.jpg
 
For some reason, he reverted to the conversation that's supposed to be on his ship, then I was back to sailing near Guadeloupe. I'll have to see if I can repeat it...
My mistake. It was indeed Blaze's dialog which triggered the jump back to Guadeloupe, but only after I talked to Bonnie first. The problem is that "Bonnie Devlin_dialog.c" was originally flawed and the mistake has been copied into newer parts:
Code:
       case "Exit":   
           Dialog.CurrentNode = "First time";       
           DialogExit();
       break;
That's the wrong attribute. At the top of the file is this declaration:
Code:
makearef(NextDiag, NPChar.Dialog);
So all "exit" cases should have this instead:
Code:
NextDiag.CurrentNode = "First time";
As it is, "CurrentNode" is not being properly reset, and as the last thing Bonnie said was the stuff on Blaze's boat, she says it again if you talk to her later - and that triggers a quest case which makes Blaze repeat his part in the conversation, which in turn triggers the quest case that puts you in the sea at Guadeloupe.
 
Do I understand it correctly that you already did all those corrections like making everything available for both Martinica beach and port and the HP restoration? If so: Appreciated! :onya Then I will just upload the questbook and item files here this evening, you'd have to merge the questbook entries from my version of quest_reaction and then, if I understand correctly, the update will contain all the latest and greatest from the stuff I made, and I can continue with the next quest.

I'm still not entirely sure whether the best would be to make another new installation of NH with the new update.

Have you got anything to say about the Experience added in the Martinica cases? The idea was to add the same amount of XP for the different paths, split into different skills if the skill mod is activated (exception is when Bonnie gets drunk with the groom, as she doesn't really accomplish anything here I left this as the no-reward-path). But since I'm not even that familiar with the mod version of levelling, I'm not sure if the XP numbers I made are appropriate or if they should be balanced differently. Reputation can stay that way I think, you gain rep when Bonnie gives her pep talk, and you lose rep when Blaze murders the visitors, everything else stays neutral.

And since you're here I have something different: Yesterday I played your Barbossa tour (great idea!), but in the smuggler's lair, Barbossa says that the stock game lair didn't have a store, but I'm very sure it did, the storekeeper was named Leonardo Violate (he still is in NH) and his model was village idiot man2. I'm sure because I was once thinking about doing something with that guy, still in the stock game. So I thought I'd let you know.
 
Do I understand it correctly that you already did all those corrections like making everything available for both Martinica beach and port and the HP restoration? If so: Appreciated! :onya Then I will just upload the questbook and item files here this evening, you'd have to merge the questbook entries from my version of quest_reaction and then, if I understand correctly, the update will contain all the latest and greatest from the stuff I made, and I can continue with the next quest.
If you have made any changes or additions to "quests_reaction.c", upload that as well, then I can use WinMerge to compare it to mine and put them together.

I'm still not entirely sure whether the best would be to make another new installation of NH with the new update.
Anyone who installed NH with default settings will need to reinstall from new because by default, unfinished storylines (that means "Devlin Opera" aren't included. Your last upload included "PROGRAM\Storyline\DevlinOpera.c" without the "_off" extension. But as my updates are just zip files, I can't remove "DevlinOpera_off.c" from anyone else's PC, so until a new installer is created, they'll still need to install from scratch and choose to enable unfinished storylines.

Have you got anything to say about the Experience added in the Martinica cases? The idea was to add the same amount of XP for the different paths, split into different skills if the skill mod is activated (exception is when Bonnie gets drunk with the groom, as she doesn't really accomplish anything here I left this as the no-reward-path). But since I'm not even that familiar with the mod version of levelling, I'm not sure if the XP numbers I made are appropriate or if they should be balanced differently. Reputation can stay that way I think, you gain rep when Bonnie gives her pep talk, and you lose rep when Blaze murders the visitors, everything else stays neutral.
I didn't pay much attention to that - it's your storyline, assign skills and reputations as you see fit. Having said that: the player gets 1500 XP for making it as far as Nuestra Senora de las Nieves, then nothing for finding Blaze - perhaps add some XP at case "YoHoRum". 10000 is perhaps a bit much for the short quests for Beatrice, Blaze and Bonnie. And Bonnie does almost the same up until she decides whether to advise the groom and then exit normally, or drink with him and jump through the window, so I'd say that she should get something regardless of which ending she chooses.

Incidentally, I figured out why the opponents were having so much trouble knocking me out as Blaze. I hate locked perks, always have since the first day they were introduced, and apart from very rare tests, always have them disabled in "InternalSettings.h". (When anyone reports problems with locked perks, I advise them to do the same. :D) Starting at level 5, you have enough ability points to get Basic Defence, Advanced Defence and Toughness right away, and as I tend to play combat-heavy games, I do. Other players may have done the same, or may have done what was necessary to unlock them. Dirty Cesar is reasonably tough and once even beat me when I was trying to fight! Chico Malo is a wimp - even if I stand still and let him hit me, he takes ages to knock me down. This is because they're only doing a couple of HP damage with each strike, and by the time they hit me again, Toughness has regenerated me. Chico did eventually manage it which meant I got to play Blaze's path the "right" way.

Also, still to do: don't assume that the player is carrying "blade13+1". Partly because some players disable the Weapons Mod which means "blade13+1" doesn't exist. Partly because if they leave Weapons Mod enabled, they may have polished it up to +3. Partly because they may have got into a fight on the way here (especially if they're trying to unlock Toughness) and the blade might not be +1 any more. And partly because by the time they get to Martinica, they may have found something better. (You start at Villa de la Vega. If I'm not rushing through the story to test it, about the first thing I do is raid the dungeon, which gets me some combat practice and a free back-bladed sword.) There's a useful function called 'TempRemoveItems' which removes all a character's equipment, storing it away so that it can later be put back by 'RestoreTempRemovedItems'. I'll try using these to hide Beatrice's stuff, give the player some equipment suitable for Blaze, and then restore Beatrice's stuff before switching back to her. What do you want Blaze to have for the boxing match, apart from "blade21" and "pistol27"?

And since you're here I have something different: Yesterday I played your Barbossa tour (great idea!), but in the smuggler's lair, Barbossa says that the stock game lair didn't have a store, but I'm very sure it did, the storekeeper was named Leonardo Violate (he still is in NH) and his model was village idiot man2. I'm sure because I was once thinking about doing something with that guy, still in the stock game. So I thought I'd let you know.
Thanks! I'll maybe check that some time, though the whole thing was just for amusement to commemorate the game's 18th "birthday" and isn't even going into the normal update.
 
I'll just upload the complete folder, even if some sub-folders are unchanged to the previous version, but you're a WinMerge expert. ;)

If you have made any changes or additions to "quests_reaction.c", upload that as well, then I can use WinMerge to compare it to mine and put them together.
Yes, like I said, my additions are just the little quest book entries for the scavenger hunt. "Yo Ho Ho..." 3-11. Other than that you have the better version of quests_reaction with all your recent improvements.

Anyone who installed NH with default settings will need to reinstall from new because by default, unfinished storylines (that means "Devlin Opera" aren't included. Your last upload included "PROGRAM\Storyline\DevlinOpera.c" without the "_off" extension. But as my updates are just zip files, I can't remove "DevlinOpera_off.c" from anyone else's PC, so until a new installer is created, they'll still need to install from scratch and choose to enable unfinished storylines.
I meant more how I should install the update so I have the latest version of everything everyone did. I'm still not that familiar with regularly updating the game...

Devlin Opera is far from being definitive or finished anyway. I guess there's more than enough time to fully exclude Devlin Opera from the requirement to enable it manually. One thing at a time.

I didn't pay much attention to that - it's your storyline, assign skills and reputations as you see fit. Having said that: the player gets 1500 XP for making it as far as Nuestra Senora de las Nieves, then nothing for finding Blaze - perhaps add some XP at case "YoHoRum". 10000 is perhaps a bit much for the short quests for Beatrice, Blaze and Bonnie. And Bonnie does almost the same up until she decides whether to advise the groom and then exit normally, or drink with him and jump through the window, so I'd say that she should get something regardless of which ending she chooses.
I just can't judge how the XP for specific skills are calculated compared to the normal XP, because I play with XP being distributed manually (just like I also don't have locked perks, we're on the same page here). I think the 10'000 XP are not too much, as it doesn't even level me up, when I "rush" through the story or use the jumpstart, much less if someone has done other things before that point. The quest for Bonnie is very short, yes, but the idea was that it DOES make a difference whether she gives an inspirational pep talk or just gets drunk with the groom on the night of the wedding, and that it should be treated as a difference. But once again, this is just the first bit of progress and it doesn't have to be set in stone as the campaign is far from finished.

ncidentally, I figured out why the opponents were having so much trouble knocking me out as Blaze. Starting at level 5, you have enough ability points to get Basic Defence, Advanced Defence and Toughness right away, and as I tend to play combat-heavy games, I do. Other players may have done the same, or may have done what was necessary to unlock them. Dirty Cesar is reasonably tough and once even beat me when I was trying to fight! Chico Malo is a wimp - even if I stand still and let him hit me, he takes ages to knock me down. This is because they're only doing a couple of HP damage with each strike, and by the time they hit me again, Toughness has regenerated me. Chico did eventually manage it which meant I got to play Blaze's path the "right" way.
Alright, I had the same experience when once I used all the melee perks including Toughness, because I wanted to test the "fight the audience mob" option and be on the safe side. What could be done to make Chico Malo reasonably tough just like Dirty Cesar? (or even a little bit stronger because after all, Chico is the "final boss" of that little tournament and the one where win or lose makes a difference). I have Cesar at rank 1, melee 2 and Chico ar rank and melee 4, so I don't get why he's the wimp of the two.

Of course this is only the "right" way according to Haraldo. I hope that the "temptation to follow his instructions" and the "temptation to fight back and win" are more or less balanced so both options are sort of equal. Personally I prefer the next-morning duel.

Also, still to do: don't assume that the player is carrying "blade13+1". Partly because some players disable the Weapons Mod which means "blade13+1" doesn't exist. Partly because if they leave Weapons Mod enabled, they may have polished it up to +3. Partly because they may have got into a fight on the way here (especially if they're trying to unlock Toughness) and the blade might not be +1 any more. And partly because by the time they get to Martinica, they may have found something better. (You start at Villa de la Vega. If I'm not rushing through the story to test it, about the first thing I do is raid the dungeon, which gets me some combat practice and a free back-bladed sword.) There's a useful function called 'TempRemoveItems' which removes all a character's equipment, storing it away so that it can later be put back by 'RestoreTempRemovedItems'. I'll try using these to hide Beatrice's stuff, give the player some equipment suitable for Blaze, and then restore Beatrice's stuff before switching back to her. What do you want Blaze to have for the boxing match, apart from "blade21" and "pistol27"?
Yes you're aboslutely right. That's where I may be just not that familiar enough yet with all the intricacies of NH. So one of the next steps would be to look at the TempRemoveItems function and apply that one to the character switches. I think it makes sense if the player can administrate Beatrice's equipment and gets everything back when he turns back into her. And for the transformation into Blaze/Bonnie, you get a pre-determined weapon. The real NPC Blaze and Bonnie are put away during that time, so what you equip to e.g. Blaze as an NPC officer (if you do) may not be absolutely consistent with what Blaze as a '"faked" PChar then carries, but to me that doesn't matter really. Blaze should just get blade21 and pistol27 I think, and gunpowder and bullets. Those are the weapons he starts with as an NPC. Bonnie just starts with blade4 so that's what she gets on Martinica too.

This should now contain the little quest book entries for the Scavenger hunt and the correct ItemsDescribe with a new picture.
 

Attachments

  • Devlin.zip
    6.6 MB · Views: 126
I'll just upload the complete folder, even if some sub-folders are unchanged to the previous version, but you're a WinMerge expert. ;)
Not sure about "expert", but experienced enough to put together the best bits of your "quests_reaction" and mine. Attached is the version with my fixes plus your new questbook lines.

Yes, like I said, my additions are just the little quest book entries for the scavenger hunt. "Yo Ho Ho..." 3-11.
Perfect - little reminders for the player about what the characters said. :onya


I meant more how I should install the update so I have the latest version of everything everyone did. I'm still not that familiar with regularly updating the game...
Making sure that the update has the latest version of what everyone did is my job. You just extract the zip file and copy it into place.

Devlin Opera is far from being definitive or finished anyway. I guess there's more than enough time to fully exclude Devlin Opera from the requirement to enable it manually. One thing at a time.
The point is, it can only be excluded from needing to be manually enabled when a new installer renames "DevlinOpera_off.c" to "DevlinOpera.c". I could copy "DevlinOpera.c" into the update, but it probably wouldn't work and might foul up the whole storyline registration if "DevlinOpera_off.c" is still there.

Alright, I had the same experience when once I used all the melee perks including Toughness, because I wanted to test the "fight the audience mob" option and be on the safe side. What could be done to make Chico Malo reasonably tough just like Dirty Cesar? (or even a little bit stronger because after all, Chico is the "final boss" of that little tournament and the one where win or lose makes a difference). I have Cesar at rank 1, melee 2 and Chico ar rank and melee 4, so I don't get why he's the wimp of the two.
I can't see why Chico is the weaker of the two either. The levelling system ignores the skills you've set and assigns skills based on the character's overall level, but they should either be the same (both have 'ch.experience = "0"') or Chico should be higher (initially given Melee 4, therefore more initial total skill points, so levelling should make him higher level). Put this at the end of each of their character definitions:
Code:
ch.questchar = true;
That stops the levelling system from messing with their skills so they should be exactly as you defined them.

Of course this is only the "right" way according to Haraldo. I hope that the "temptation to follow his instructions" and the "temptation to fight back and win" are more or less balanced so both options are sort of equal. Personally I prefer the next-morning duel.
For gameplay, so do I. For quick testing, especially since the opponents have trouble knocking off enough of my HP before Toughness restores them, I usually thump them and then fight the audience.

Yes you're aboslutely right. That's where I may be just not that familiar enough yet with all the intricacies of NH. So one of the next steps would be to look at the TempRemoveItems function and apply that one to the character switches. I think it makes sense if the player can administrate Beatrice's equipment and gets everything back when he turns back into her. And for the transformation into Blaze/Bonnie, you get a pre-determined weapon. The real NPC Blaze and Bonnie are put away during that time, so what you equip to e.g. Blaze as an NPC officer (if you do) may not be absolutely consistent with what Blaze as a '"faked" PChar then carries, but to me that doesn't matter really. Blaze should just get blade21 and pistol27 I think, and gunpowder and bullets. Those are the weapons he starts with as an NPC. Bonnie just starts with blade4 so that's what she gets on Martinica too.
The attached version of "quests_reaction.c" uses 'TempRemoveItems' to clear your inventory if you choose to be Blaze. The big problem is that 'RestoreTempRemovedItems' puts back your item list exactly as it was, overwriting anything you now have - which means anything you pick up while you're Blaze is lost. For this reason, I'm also recording your money as an attribute and then setting your money to 0, so that Blaze can't go shopping. Losing the low-level swords you take from the audience is one thing - buying something expensive from an item trader and then losing it when you revert to Beatrice is another matter! I haven't used 'TempRemoveItems' when you become Bonnie as she doesn't do much, though it can easily be added if you like.

This should now contain the little quest book entries for the Scavenger hunt and the correct ItemsDescribe with a new picture.
Thanks! However, there are still a couple of files missing. Toni Harfaldo is set to use greeting "Gr_ToniH", which calls for voice file "ToniH.wav". And there's character model "BeatriceB" which needs texture file "BeatriceB.tga.tx". She doesn't seem to be needed - yet... ;)

There's no need to include head models "h_beatrice.gm" or "h_Blaze.gm" - the former is included in the Build Mod and the latter is from the stock game. But "h_BeatriceA.gm" has a newer date stamp - have you improved it from the July 2020 version?
 

Attachments

  • quests_reaction.c
    71.5 KB · Views: 107
Making sure that the update has the latest version of what everyone did is my job. You just extract the zip file and copy it into place.
Okay. I probably won't do much anyway before I have the update, so I don't mix things up too much and have to merge individual files.

The point is, it can only be excluded from needing to be manually enabled when a new installer renames "DevlinOpera_off.c" to "DevlinOpera.c". I could copy "DevlinOpera.c" into the update, but it probably wouldn't work and might foul up the whole storyline registration if "DevlinOpera_off.c" is still there.
Yes, but surely if the story is finished it can be changed, so that Devlin Opera is available without chosing "unfinished storylines" during the installation, right? Everyone who has the game installed already would need to re-install it then of course. But I guess that has not much priority while the story is in progress.

The attached version of "quests_reaction.c" uses 'TempRemoveItems' to clear your inventory if you choose to be Blaze. The big problem is that 'RestoreTempRemovedItems' puts back your item list exactly as it was, overwriting anything you now have - which means anything you pick up while you're Blaze is lost. For this reason, I'm also recording your money as an attribute and then setting your money to 0, so that Blaze can't go shopping. Losing the low-level swords you take from the audience is one thing - buying something expensive from an item trader and then losing it when you revert to Beatrice is another matter! I haven't used 'TempRemoveItems' when you become Bonnie as she doesn't do much, though it can easily be added if you like.
That's perfect. Of course at least for me it doesn't make too much sense to go shopping as Blaze anyway, when he has a mission to do, but other players may think differently so this solution works. And yes I'd like it to be the same for Bonnie, otherwise the '"faked" switch to Bonnie would be more obvious compared to the Blaze switch and it would also take away and give back swords the player may not carry anymore as Beatrice.

This is supposed to be more of a "story-story" that doesn't require free play in between anyway. For example if I play just through the story, food and rum last until Martinica and that's where you get money to resupply. Later, more money will be given to the player so you don't have to worry too much about rum, food and salary, for example through Blaze wandering off and winning a dice game off screen.

There will be two more switches to Blaze and Bonnie respectively, the first each being optional like on Martinica. So the quest cases under "Character switches" will be re-used.

Thanks! However, there are still a couple of files missing. Toni Harfaldo is set to use greeting "Gr_ToniH", which calls for voice file "ToniH.wav". And there's character model "BeatriceB" which needs texture file "BeatriceB.tga.tx". She doesn't seem to be needed - yet... ;)

There's no need to include head models "h_beatrice.gm" or "h_Blaze.gm" - the former is included in the Build Mod and the latter is from the stock game. But "h_BeatriceA.gm" has a newer date stamp - have you improved it from the July 2020 version?
Oh Boy (to quote Bonnie) and I thought it couldn't be too difficult to back up everything outside the Storyline folders... ;) so the voice clip for Toni is missing, not the entry in the greeting file? And the BeatriceB texture? I'll look into those later on the other computer.

BeatriceB will be used later. I'm not too familiar with character models, talking heads etc. BeatriceB was created by @Jacob and then @Jack Rackham has helped with heads and animations and what do I know. All that was last year. Maybe this thread helps you Need Help - Adding New Beatrice | PiratesAhoy! that was where we juggled the files. And also look at post number 12 in this thread here (Devlin Opera), where Jack sent a file in August 2020, maybe it's that.

Later I'd like to properly implement BeatriceB with portrait, description, etc. As you see in the other thread I also wanted to use a unique portrait but didn't get very far with that. Worst case it could use the same portrait as BeatriceA (Bonnie).

By the way, do you also have the wiggly "Devlin" (Blaze) talking head? Here he has the same strange head animation as the screenshots of BeatriceB in the "Adding New Beatrice" thread.
 
Yes, but surely if the story is finished it can be changed, so that Devlin Opera is available without chosing "unfinished storylines" during the installation, right? Everyone who has the game installed already would need to re-install it then of course. But I guess that has not much priority while the story is in progress.
If I had the choice, even what you have done so far would be available without choosing "Unfinished storylines"! It might not be complete but, if the trigger for "Martinica_Debriefing" is commented out, it is playable to a sensible conclusion - track down Blaze, go to Martinica, choose your adventure there, end. By comparison, about five years ago I was writing "Ardent" and someone else was handling updates. The first version I uploaded for inclusion went as far as escaping from prison, rescuing your crew and returning to Havana, and that was it! Gradually I added more until it grew into the long story you can play now.

The problem is that my updates are simple zip files. They can add or replace files but they can't remove anything. So I can't include "PROGRAM\Storyline\DevlinOpera.c", which would allow the story to be included in an install without enabling "Unfinished storylines". If I did, "DevlinOpera_off.c" would still be there as well, which would probably foul up storyline registration. In due time, hopefully someone will make a new installer which can remove "DevlinOpera_off.c", add "DevlinOpera.c", and do a lot of tidying up of other unwanted files at the same time.

That's perfect. Of course at least for me it doesn't make too much sense to go shopping as Blaze anyway, when he has a mission to do, but other players may think differently so this solution works. And yes I'd like it to be the same for Bonnie, otherwise the '"faked" switch to Bonnie would be more obvious compared to the Blaze switch and it would also take away and give back swords the player may not carry anymore as Beatrice.
Fair enough. Bonnie gets a "bladeX4" and "blade4" but no gun; Blaze gets "bladeX4", "blade27", "pistol27", and some ammo for the pistol if the Ammo Mod is enabled. (Blaze needs "bladeX4", which is his fists. Bonnie might as well get them as well just in case she manages to lose or break the sword - unlikely since she shouldn't be doing much before going to the townhall, but don't underestimate players!)

This is supposed to be more of a "story-story" that doesn't require free play in between anyway. For example if I play just through the story, food and rum last until Martinica and that's where you get money to resupply. Later, more money will be given to the player so you don't have to worry too much about rum, food and salary, for example through Blaze wandering off and winning a dice game off screen.
You know that because you wrote the story and know what's coming. I didn't, and as the game only starts with 1000 gold, I had to be concerned with food, rum and salaries. That plus needing a pirate flag to get into San Salvador anyway gave me all the excuse I needed!

And I was using worldmap to go from island to island. Anyone direct-sailing the whole way has to be prepared for uncooperative winds which either aren't very strong or are blowing the wrong way.

There will be two more switches to Blaze and Bonnie respectively, the first each being optional like on Martinica. So the quest cases under "Character switches" will be re-used.
Hmm... it may be necessary in that case to note which weapons Blaze and Bonnie are carrying. Because by that time the player may have given them better weapons. So if you become Blaze, you'll want to be carrying what Blaze himself is carrying.

Oh Boy (to quote Bonnie) and I thought it couldn't be too difficult to back up everything outside the Storyline folders... ;) so the voice clip for Toni is missing, not the entry in the greeting file? And the BeatriceB texture? I'll look into those later on the other computer.

BeatriceB will be used later. I'm not too familiar with character models, talking heads etc. BeatriceB was created by @Jacob and then @Jack Rackham has helped with heads and animations and what do I know. All that was last year. Maybe this thread helps you Need Help - Adding New Beatrice | PiratesAhoy! that was where we juggled the files. And also look at post number 12 in this thread here (Devlin Opera), where Jack sent a file in August 2020, maybe it's that.
Very likely. It was @Jack Rackham who supplied the current "h_BeatriceA.gm". I've just done a WinMerge comparison between the one in your zip and the July 2020 version currently in the update, and they're identical.

Later I'd like to properly implement BeatriceB with portrait, description, etc. As you see in the other thread I also wanted to use a unique portrait but didn't get very far with that. Worst case it could use the same portrait as BeatriceA (Bonnie).
That should not be necessary because, if you can't make a better portrait by other means, just get a screenshot of her in game and then clip and size it to fit the various portrait sizes.

By the way, do you also have the wiggly "Devlin" (Blaze) talking head? Here he has the same strange head animation as the screenshots of BeatriceB in the "Adding New Beatrice" thread.
No, Blaze's talking head looked fine when I talked to him on his ship and after arrival at Martinica. So did Bonnie's. "h_BeatriceB" should simply be a retexture of "h_BeatriceA", so if one works, the other ought to work as well. Once you upload "BeatriceB.tga.tx", I'll see about adding the model into the game and then find out what her talking head does. (And I'll knock up some profile pictures based on screenshots. At the least, they'll serve as placeholders unless/until you make something better.)
 
Hmm... it may be necessary in that case to note which weapons Blaze and Bonnie are carrying. Because by that time the player may have given them better weapons. So if you become Blaze, you'll want to be carrying what Blaze himself is carrying.
Would that even be possible?

If not, I guess it wouldn't be game-breaking as nothing really changes after the switches when NPC officer Blaze (Bonnie) is brought back.

That should not be necessary because, if you can't make a better portrait by other means, just get a screenshot of her in game and then clip and size it to fit the various portrait sizes.
I remember clipping and sizing it and then putting it through the various TX and TG and whatever converters and ending up with the correct sizes and all is exactly where I failed. So it's not really a question of screenshot or the other portrait, but a question of the rest of the process. I intended the image in the appendix as portrait for BeatriceB.

No, Blaze's talking head looked fine when I talked to him on his ship and after arrival at Martinica. So did Bonnie's. "h_BeatriceB" should simply be a retexture of "h_BeatriceA", so if one works, the other ought to work as well. Once you upload "BeatriceB.tga.tx", I'll see about adding the model into the game and then find out what her talking head does. (And I'll knock up some profile pictures based on screenshots. At the least, they'll serve as placeholders unless/until you make something better.)
No, no. BeatriceA (Bonnie) and her retextured BeatriceB now work just fine as talking heads. Only Blaze (the model Devlin or in this case h_Devlin) is the problem. What I meant is that I had this same problem with h_BeatriceB as you can see in my screenshot in the other thread. Then we fixed that somehow. But I still have the same problem with h_Devlin.

I hope those are all the files you need.
 

Attachments

  • 90422704.jpg
    90422704.jpg
    33.1 KB · Views: 94
  • files.zip
    808.8 KB · Views: 116
Back
Top