• 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 for Additional Storylines

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
Nelson Storyline Overview

OK: A girl won in a card game
OK: Artois Voysey (Quest)
OK: Baldewyn Coffier & Arnaud Matton
OK: Cargo for Thomas O'Reily
OK: Edgar Attwood Adventures
OK: Elizabeth Shaw’s Disappearance
USUALLY OK: Escort Vigila Mendes Ship
OK: Find Angelique Moulin’s Father
OK: Find the missing son of the Spanish Admiral
OK: Hard Labors of an Assassin
OK: Help The Boatswain
OK: Help the Church
OK: Help the Lady
OK: Help the Turks Island Settlement
OK: Nigel Blythe (Quest)
OK: Patric and the Idols
OK: Rescue Peter Bloods Crew
OK: Sabine Matton
OK: Saga of the Blacque Family
OK: Saving Toff's Daughter
OK: Search for Peter Bloods Ship
OK: Sink the Pirate Corvette
OK: Smuggling for Thomas O'Reily
OK: Strange Things going on in the Caribbean
OK: The French Pirate in the Tavern
OK: The Silver Train
OK: Thierry Bosquet - Pirates in the Tavern
OK: Woman who Lost her Husband & Son
OK: Zaid Murro's Problems
OK: Sinking the Vogelstruijs


Hoist the Colours:

"Armand the Corsair-Help the church": OK
"Saving Askays brother": OK
"Sao Fengs missing Bodyguards": Need to be looked all over by someone who has the skills and energy
Included in Build - Sidequests for Additional Storylines | Page 15 | PiratesAhoy!

"The French Pirate in The Tavern": OK
"Gentleman Jocard, A Slaver": OK
"Gentleman Jocard, Free the Slaves": OK
" Capt. Chevalle": OK
"Rescue his Ship": OK
"Villanueva": OK
"Help two Pirates": OK
"Escort Vigila Mendez Ship": OK
"Zaid Murros Problem": OK
"Lucas the Admirals Son": OK
" Justine Le Moigne": OK (formerly: Included in Build - Sidequests for Additional Storylines | Page 15 | PiratesAhoy!)

I'll very likely start looking into the quest copying you requested though! Maybe I'll get a bit of insight to create one or two minor quests myself, who knows :type1
That WOULD be a pretty huge improvement, I reckon! Free play is good, but some times you need to have some sort of a story to break up the monotony of things being samey-samey.
The relevant files are in PROGRAM\Storyline, of course. You'd need to take sidequest files and entries from the Standard storyline folder and move them to, for starters, the Master & Commander one for example.
Most important are:
characters init files for the characters to be there
DIALOGS for them to say the correct things
quests folder for the actual quest cases

Items and Locations might be needed too in some cases, but only a few. I suppose it might be best to either:
1. Move sidequests one-by-one and test them to make sure they work
2. Move the WHOLE Standard storyline and remove all main quest things
 
Last edited:
I'll very likely start looking into the quest copying you requested though! Maybe I'll get a bit of insight to create one or two minor quests myself, who knows :type1

Alright, I spent quite an amount of time looking at the quests_reaction and both_reaction in the Storyline/standard/quests folder, and I have to admit, I'm at a loss here. I barely understand any of that code and can't for the most part even pin down exactly where quests start or end. I'd gladly do the copy+pasting, but I'm at a loss where to start, honestly :modding
The characters are pretty self-explenatory, but I found barely any quest titles apart from
Code:
        ///////////////////////////////////////////////////////////////
        // êâåñòîâàÿ ëèíåéêà çàèäà ìóðî
        ///////////////////////////////////////////////////////////////
(at least I assume that's a quest start or something of that sort...)
I've opened everything with Editor, but it doesn't look much different with Word Pad, so I don't think that's the problem either!
If someone could help me out, I'd highly appreciate that, I'm eager to integrate the sidequests in other storylines! :bounce
 
That crazy note is some sort of left-over from the Russian developers of the game. I can't read it either. :shrug

You could start out with a short sidequest, such as Saving Toff's Daughter:
http://www.piratesahoy.net/wiki/saving-toffs-daughter/

Then the best way to do it, I think, is by tracing the characters involved in that story and copying their dialogs to start out with.
All the following lines in the dialog files refer to quest cases:
pchar.quest
AddDialogExitQuest

So you need to copy those from quests_reaction.c and both_reaction.c . This is where it starts, by the looks of it:
Code:
        ///////////////////////////////////////////////////////////////
        // êâåñòîâàÿ ëèíåéêà ñïàñåíèÿ äåâóøêè
        ///////////////////////////////////////////////////////////////
 
        case "to_ship_of_Bernardo_Gamboa":
            LAi_SetActorType(pchar);
            pchar.dialog.currentnode = "to_ship_of_Bernardo_Gamboa";
            LAi_ActorSelfDialog(pchar, "player_back");
        break;
 
        case "not_to_the_ship":
            LAi_SetPlayerType(pchar);
            pchar.quest.not_to_the_ship_2.win_condition.l1 = "ExitFromLocation";
            pchar.quest.not_to_the_ship_2.win_condition.l1.location = "Douwesen_port";
            pchar.quest.not_to_the_ship_2.win_condition = "not_to_the_ship_2";
        break;
 
        case "not_to_the_ship_2":
            pchar.quest.to_ship_of_Bernardo_Gamboa.win_condition.l1 = "location";
            pchar.quest.to_ship_of_Bernardo_Gamboa.win_condition.l1.location = "douwesen_port";
            pchar.quest.to_ship_of_Bernardo_Gamboa.win_condition = "to_ship_of_Bernardo_Gamboa";
        break;
 
        case "to_the_ship":
            DoQuestReloadToLocation("Gamboa_ship", "reload", "locator2", "to_the_ship_2");
        break;
Then that last line is a teleport to a location known as "Gamboa_ship". That is not regularly in the game, so you have to copy that also from Locations\init .

Questbook entries are in RESOURCE\INI\TEXTS\ENGLISH\Storyline\standard\QUESTBOOK .
 
Code:
        ///////////////////////////////////////////////////////////////
        // êâåñòîâàÿ ëèíåéêà çàèäà ìóðî
        ///////////////////////////////////////////////////////////////
You can read this code in Notepad++ if you go to Encoding and choose Character Sets > Cyrillic > Windows-1251, giving you this result:
Code:
// квестовая линейка спасения девушки
Copy this text to Google Translate to give you a rough idea of what it means. This one translates to "quest line rescue girls".
 
Alright, I think I found the relevant code for the following quests in quests_reaction.c
  • A girl won in a card game
  • Saving Toff's daughter
  • Escort Vigila Mendes' ship
  • The french pirate in the tavern (Claire Larousse quest)
  • Hard labors of an assassin (Mateus Santos quest)
  • Find the missing son of the spanish admiral (Lucas de Saldanha quest)
  • Rescue Bartolomeu o Portugues' crew
  • Help the Turks island settlement (Pieter Boelen quest)
  • Find Angelique Moulin's father
  • Search for Bartolomeu's ship
  • Elizabeth Shaw's disappearence (Davy Jones quest)
  • The silver train (Will Turner & Elizabeth Swan quest)
  • Help the Church
  • Artois Voysey quest
  • Nigel Blythe quest
  • Edgar Attwood adventures
  • Rys Bloom quest
  • Help the Boatswain (Fred Bob quest)
  • Strange things going on in the carribean (+fix from CatalinaThePirate)
What I did was copy ALL of the files in the characters, DIALOGS, items, Locations & Nations folders, then delete those I know appear in the standard storyline. But, I'm sure I didn't catch all of them, so while most of this should work (I'll do the testing, but not today), there's more data in the Jack Aubrey storyline now than required. I've never before messed with game files like this and as I stated earlier, I barely understand the code here, so I'm still unsure where the file links to locations, characters, dialogues etc.
I'm afraid as things currently stand, that's the best I can do to integrate many sidequests into another storyline, my other option would be going through each quest line by line, then searching for anything mentionned that could possibly be linked to a file.
That's tiresome work and I would neither do the longer quests, nor too many of the smaller ones, as simply finding the code relating to the quests took me nearly three hours now... So for this evening, I'll call it a day :beer:
 
That's tiresome work and I would neither do the longer quests, nor too many of the smaller ones, as simply finding the code relating to the quests took me nearly three hours now... So for this evening, I'll call it a day :beer:
No worries. This can be a pretty darned large project and doesn't need to be done overnight.
Sooner or later, it is also going to require a lot of storyline testing to see if any code is missed out.
As I said earlier, I'm not sure if it is better to it quest-by-quest or all at once, like you're doing. :shrug

Ah, nice to hear! I can certainly do more testing for you, if needed!
Oh, it WILL be needed. Once I manage to figure out this last problem I'm having. :facepalm
 
Oh, it WILL be needed. Once I manage to figure out this last problem I'm having. :facepalm

Alright, tomorrow I'll likely have some time for testing, maybe even this evening...
But it seems I just broke something again in the Aubrey storyline... :modding
Think you could quickly look through my files once more? I'd be very grateful, otherwise I'd have to remove the most recent work step by step
 

Attachments

  • compile.log
    4.7 KB · Views: 222
  • error.log
    420 bytes · Views: 225
  • system.log
    374 bytes · Views: 294
Missing ship: "RN_Frigate". But we removed that ship quite a while ago, I thought?
 
EDIT: You've been faster... Hm, no idea. Up until now I had no problems with the storyline
I've copied the edited Jack Aubrey folder from my Laptop, who should have the same specifics as this machine, but I'll revert that back
 
Apparently the "RN_Frigate" is called in one of those character init files you put in there.
Not sure how that is possible though. But there you have it. :shrug

In the meantime, that Cannons interface is doing my head in. I'm NOT an interface expert and it is behaving REALLY weird. :facepalm
 
Mhm, had it pinned down to characters too now. Possibly something not installed properly on my laptop. I'll go test with the file from this machine, hope this works now! :bounce
 
Alright, will do a bit of testing! Right now, I'm trying to get Saving Toff's daughter to work though. It's not very cooperative :walkplank
 
Alright, I'm done with two of the smaller quests now, Rys Bloom and Saving Toff's daughter, going to upload the files for anyone wanting to try them!
I'd be glad about any feedback, when I tested them, they both worked! But if you notice anything not working as it should, not working at all or doing something weird, please let me know!
I likely won't be online this weekend, being busy :drunk , so it's quite possible I won't reply until monday...
Unzip this into Program/Storyline, then rename the JackAubrey folder to JackAubrey BACKUP or something and the unzipped one to JackAubrey, that should do the trick!
 

Attachments

  • JackAubrey_2.rar
    37 KB · Views: 202
And of course I forgot the Questbook, add this to RESOURCE/INI/TEXTS/ENGLISH/Storyline/JackAubrey/QUESTBOOK
 

Attachments

  • daughter.txt
    858 bytes · Views: 231
Very cool indeed! I'll have a look at those files and maybe even... *shudders* test them. As in... by playing an actual story. In the GAME, no less! :shock

I'll look at your files as well and perhaps make some changes here and there. What I'd like to do is to put ALL sidequest code in both_reaction.c and all characters in a SideQuest.c .
That way, we could simply pop your separated sidequests into whatever other storylines we want. :woot
 
That would surely be easy, yup! I've taken the liberty of changing the titles for some of the quests, as I'm not really good with cyrillic :wp
 
Good thinking! I was looking into batch-translating all of them, but unfortunately that isn't as easy as I had hoped.
 
Back
Top