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

Fixed Sidequests: Virginie and Lucas Interference at Martinique

I know it's probably not that relevant right now, since you're already working on it, but i actually tried eavesdropping on the kidnappers first to see what would happen. Apparently that makes Viriginie's dialogue override that belonging to the kidnappers, after which i got teleported out of the tavern. All the doors are still locked because of the unfinished kidnapper's dialogue though, so close, but no cigar.
 
Unless you can think of a reason why it won't work, I'm growing more inclined to go for plan B, i.e. have Lucas check if Virginie is about to go to St. Pierre tavern, and if so, loop back to the setting of win_conditions so that it's ready to try again after you've finished with Virginie. That way the flow of both quests is preserved; the entire scene with the kidnappers should merely be delayed until Virginie is out of the way and the tavern is unlocked.
Anything that works is fine by me. It does make sense to very simply NOT allow both quest scenes to play at the same time.
If one takes precedence and plays out and then you can play the next one the next time you get there, that sounds like a perfectly good solution to me. :onya
 
Things didn't quite go according to plan. The loopback I'd set up in Plan B merely meant that the "Spanish Admiral's Son" quest immediately detected that you're in St. Pierre tavern and started the self-dialog again, repeatedly. :facepalm

So here's a version that does work. It turns out that Billy Brock is already in some sort of "guardian" mode, in that he stays there and you can talk to him, but by default he just tells you to get lost. Setting quest attribute "Lucas" to "sign" tells Billy's dialog to go to the bit which would normally happen after you've done all the self-dialogs, then he talks to you, leaves the tavern and leads you to the kidnap house. So all I've done is add a check to look for quest attribute "gambling_with_girl" having been set to "to_FDF", in which case it simply sets "Lucas" to "sign" and then exits, leaving the scene clear for Virginie to do her stuff. When you've finished with her, go back into the tavern and talk to Billy Brock. It's not perfect, it would be nicer if you could leave with Virginie and then return and do all the self-dialogs about the secret sign, so if anyone wants to do a better job, feel free. Meanwhile, at least this breaks the deadlock caused by both quests wanting to do things in St. Pierre tavern, and if "Spanish Admiral's Son" is the only one active then it does work as normal.

@morgan terror: if you copy this into place, and provided nothing else has been done to "quests_side.c" which depends on later updates, you should be able to play from your savegame outside the tavern. I saved game myself as a prelude to experiments on "quests_side.c" (can't use yours as I'm playing Beta 4) and was able to try out various things before settling on this.

Other notes:
The other kidnapper, Snorri Baldursson, has a dialog file which wants to exit to "Lucas_sign_fight2_1", which triggers an error message because that doesn't exist. Normally you don't get to talk to him because Billy Brock does all the talking. Perhaps give him some new dialog which tells you to talk to Billy Brock - the only way you're going to see this is if "Girl Won in a Card Game" is active as well so the normal ransom scene hasn't happened and both the kidnappers are still standing at the bar waiting for you to talk to them, so he may as well tell you to talk to his boss.

Virginie d'Espivant is most ungrateful. After you've suggested she returns home, she stays in St. Pierre and if you talk to her, all she says is "Leave me alone!" xD Perhaps set her location to "None" so she disappears entirely, which is probably what would have happened if the original author of this quest had remembered to do it rather than leave her stuck outside the tavern. Alternatively, I seem to recall seeing some talk on the forum about using her as an officer, which isn't going to happen normally because she's protected by 'SetCharacterRemovable(characterFromID("Virginie d'Espivant"), false)'. If she's not going home as originally suggested, perhaps now she's available for hire as an officer.

"Lucas Da Saldanha_dialog.h" could probably do with a slight alteration. "Lucas Da Saldanha_dialog.c" currently does this when you've paid the ransom and are talking to Lucas outside the kidnappers' house:
Code:
link.l1 = DLG_TEXT[7] + GetMyFullName(PChar) + DLG_TEXT[8];
DLG_TEXT[7] is "I'm captain ", which means if you already have a rank then this is going to look silly. In my case, "I'm captain Lieutenant Horatio Hornblower". Perhaps remove "captain" and let "GetMyFullName" add the relevant rank, if any.
 

Attachments

  • quests_side.c
    374.3 KB · Views: 102
Last edited:
So, any comments on taking the "captain" out of "Lucas Da Saldanha_dialog.h"? Otherwise, here's the captain-less file.

Also, any comments on what is to happen to Virginie d'Espivant - disappear and go home, or stay around and potentially become an officer?
 

Attachments

  • Lucas Da Saldanha_dialog.h
    1.4 KB · Views: 87
@morgan terror: if you copy this into place, and provided nothing else has been done to "quests_side.c" which depends on later updates, you should be able to play from your savegame outside the tavern. I saved game myself as a prelude to experiments on "quests_side.c" (can't use yours as I'm playing Beta 4) and was able to try out various things before settling on this.

Excellent! I'll try to look up the exact lines conerning those sidequests just in case, so i don't break anything.

So, any comments on taking the "captain" out of "Lucas Da Saldanha_dialog.h"? Otherwise, here's the captain-less file.

Also, any comments on what is to happen to Virginie d'Espivant - disappear and go home, or stay around and potentially become an officer?

I've seen a huge amount of such dialogue lines in the crewmembers on shore mod. It seems that dialogue has been coded in with 'Captain' for years, meaning that it would take considerable effort to take out all instances of this. The main reason it's done was partially for the sake of a running gag, originating in the first PotC movie, where jack was so insistent on being called a captain. It's all over the place. You could take it out, i suppose, but it would be the start of quite a big project if you want to be consistent with it.

It could be interesting to make her an officer, but it would require extra dialogue (though not much, i suppose). It seems in character to some extent, given that she went over to the caribbean on her own, but i'm not entirely sure if a french noblewoman would offer serve on board some freebooters ship. It seems like quite the change in lifestyle. Also, keep this in mind: You already get considerable rewards from this quest, which are different for when you're hostile with france at the time or not. I wouldn't make her an officer. A diplomat, maybe, but not an officer.
 
Okay, so this was a little fiddly, but i managed. Beta 3.3 does not have a quests_side.c file, but i managed to paste the relevant bits and pieces into quests_reactions.c all the same, or at least for the lucas quest. I'm having some difficulties finding where the quest scripts for the girl won in a card game are located. Or didn't you change anyhting there?
 
Changed to "Fix in Progress" because I think @Grey Roger still has some further improvements in mind.

Virginie d'Espivant is most ungrateful. After you've suggested she returns home, she stays in St. Pierre and if you talk to her, all she says is "Leave me alone!" xD Perhaps set her location to "None" so she disappears entirely, which is probably what would have happened if the original author of this quest had remembered to do it rather than leave her stuck outside the tavern. Alternatively, I seem to recall seeing some talk on the forum about using her as an officer, which isn't going to happen normally because she's protected by 'SetCharacterRemovable(characterFromID("Virginie d'Espivant"), false)'. If she's not going home as originally suggested, perhaps now she's available for hire as an officer.
I actually rewrote that part a few months back. She used to get stuck as ActorType, which was a REALLY ugly end for the story.
It was a stock game quest that clearly was never finished. Can't remember if it was disabled and a Modder finished it though; might have been....

Anyway, what I did was just enough to allow the code to complete at all and to then have her walking around and not being completely mute.
But I never bothered adding a custom dialog for her, so she falls back to her default:
Code:
string DLG_TEXT[51] = {
"Leave me alone!",
"...",
If you would like adding some custom dialogs instead, be my guest.
That would be nicer for sure. :yes

Alternatively, I seem to recall seeing some talk on the forum about using her as an officer, which isn't going to happen normally because she's protected by 'SetCharacterRemovable(characterFromID("Virginie d'Espivant"), false)'. If she's not going home as originally suggested, perhaps now she's available for hire as an officer.
I personally would NOT want her as officer as that makes no sense.
But as long as she is a Passenger with you, you COULD assign her to an officer role. Which also makes no sense in my book.

Okay, so this was a little fiddly, but i managed. Beta 3.3 does not have a quests_side.c file, but i managed to paste the relevant bits and pieces into quests_reactions.c all the same, or at least for the lucas quest. I'm having some difficulties finding where the quest scripts for the girl won in a card game are located. Or didn't you change anyhting there?
The Beta 4 base has it in quests_common.c and I think so does Beta 3.4 .
The Beta 3.3 you have IS Beta 3.4; it is just wrongly marked in the interface.
Which reminds me, I think you're missing the fixes for Beta 3.4 that I posted here at the beginning of the year:
Mod Release - Build 14 Beta 3.4 Release | PiratesAhoy!
 
The Beta 4 base has it in quests_common.c and I think so does Beta 3.4 .
The Beta 3.3 you have IS Beta 3.4; it is just wrongly marked in the interface.
Which reminds me, I think you're missing the fixes for Beta 3.4 that I posted here at the beginning of the year:
Mod Release - Build 14 Beta 3.4 Release | PiratesAhoy!

Good call, i'm thinking i don't. I'll try to install it tomorrow. Would have to be careful not to overwrite any of my fixes though.
 
I've seen a huge amount of such dialogue lines in the crewmembers on shore mod. It seems that dialogue has been coded in with 'Captain' for years, meaning that it would take considerable effort to take out all instances of this. The main reason it's done was partially for the sake of a running gag, originating in the first PotC movie, where jack was so insistent on being called a captain. It's all over the place. You could take it out, i suppose, but it would be the start of quite a big project if you want to be consistent with it.
Perhaps not as big as you might think. Dialogs which merely call you "captain", e.g. "Hello captain!" or "I'm <insert name>, captain of the ship <insert ship name>..." aren't a problem - apart from Hornblower in part of his storyline, you are a captain, in that you command a ship, regardless of any rank or title you may have. The only problem dialogs are those which have you introduce yourself "I'm captain <GetMyFullName>", and those can be found by doing a Windows Search and paying particular attention to "dialog.h" files.

As for Virginie D'Espivant, I've never managed to assign her as a companion officer due to 'SetCharacterRemovable'. I suppose I could assign her a role as an non-companion officer, though with all skills at 1 and not many perks, she won't be contributing much. After you've completed the quest, and given two objections to allowing her to sign on as a full officer, I'm inclined to simply make her disappear - she's supposed to be going home to France, after all.
 
WinMerge is your friend. ;)

I think that ZIP doesn't contain a huge amount of changes anyway. Just enough to improve things a bit here and there.

Is the link at the start of the topic the one for the latest beta 3.4, or an early one?
 
After you've completed the quest, and given two objections to allowing her to sign on as a full officer, I'm inclined to simply make her disappear - she's supposed to be going home to France, after all.
Sounds fine by me. There is no real need for her sticking around, after all.

Is the link at the start of the topic the one for the latest beta 3.4, or an early one?
The links in the opening post are for the latest public release of Build 14 Beta 3.4, which you already have.
What you do NOT have is the ZIP attached to that opening post: "b14_b3-5_wip12Feb15.7z"
 
The links in the opening post are for the latest public release of Build 14 Beta 3.4, which you already have.
What you do NOT have is the ZIP attached to that opening post: "b14_b3-5_wip12Feb15.7z"

Wasn't beta 3.5 quite unplayable though? I'm using my 3.4 game as my regular game, not intended for modding or bugtesting. I'd prefer it to be playable, despite occasionally finding bugs that have already been fixed. It's the reason why i'm keeping the rest of the bugs i found on hold until i'm playing a stable beta 4.
 
Wasn't beta 3.5 quite unplayable though?
That ZIP was made when we JUST started work on Beta 3.5. The changes are so small that they still fit in a ZIP.
Those are ONLY fixes and most definitely come recommended to use on Beta 3.4.

There were a huge amount of Beta 3.5 WIP versions, some very good, some not so much.
If I recall, the final one WAS pretty good and can still be found here:
Mod Release - Build 14 Beta 3.5 Internal WIP For Testing | PiratesAhoy!
But Beta 4 will soon be better by far, so I'll probably remove that installer soon.
Anyway, it is beside the point here. ;)
 
Sounds fine by me. There is no real need for her sticking around, after all.
Included in "quests_common.c" in the zip of updates I put in the "List of fixes" thread:
Code:
    case "remove_virginie_complete":
       RemovePassenger(pchar, characterFromID("Virginie d'Espivant"));
//       if(pchar.location != "Falaise_de_fleur_location_03") ChangeCharacterAddress(characterFromID("Virginie d'Espivant"), "Falaise_de_fleur_location_03", "locator9");
//       LAi_SetCitizenType(characterFromID("Virginie d'Espivant"));
       ChangeCharacterAddress(characterFromID("Virginie d'Espivant"), "None", ""); // GR: Virgine disappears as she returns to France
     break;
The original code to have Virginie continue wandering the streets of St. Pierre is commented out rather than removed in case we want to put her back. But for now, that ought to send her away, so that "remove_virginie_complete" removes Virginie completely. :D
 
Included in "quests_common.c" in the zip of updates I put in the "List of fixes" thread:
Code:
    case "remove_virginie_complete":
       RemovePassenger(pchar, characterFromID("Virginie d'Espivant"));
//       if(pchar.location != "Falaise_de_fleur_location_03") ChangeCharacterAddress(characterFromID("Virginie d'Espivant"), "Falaise_de_fleur_location_03", "locator9");
//       LAi_SetCitizenType(characterFromID("Virginie d'Espivant"));
       ChangeCharacterAddress(characterFromID("Virginie d'Espivant"), "None", ""); // GR: Virgine disappears as she returns to France
     break;
The original code to have Virginie continue wandering the streets of St. Pierre is commented out rather than removed in case we want to put her back. But for now, that ought to send her away, so that "remove_virginie_complete" removes Virginie completely. :D
Does that make her vanish into thin air right after talking to her?

It would be the nicest when she's there in the location until you yourself leave and then she's gone afterwards.
Or if she would automatically walk away through a door and disappear.
 
Does that make her vanish into thin air right after talking to her?

It would be the nicest when she's there in the location until you yourself leave and then she's gone afterwards.
Or if she would automatically walk away through a door and disappear.
As far as I can tell, case "remove_virginie_complete" is only triggered from "Joseph Claude Le Moigne_dialog.c", which means she'll do her disappearing act while you're in the town hall.
 
As far as I can tell, case "remove_virginie_complete" is only triggered from "Joseph Claude Le Moigne_dialog.c", which means she'll do her disappearing act while you're in the town hall.
Ah, yes I do believe you're right. Finally got the chance to look at the code again.
I had in my memory that there was another scene with her after meeting the governor.
But apparently I misremember, so this should be just fine. :onya
 
Back
Top