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

Selectable Storylines

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
Pirate_KK has been working, amongst other things (Capture Colonies and Selectable Periods), on adding support for multiple storylines to the game. At the beginning of the game you will be able to select one of the pre-made storylines (see below for the ones currently in the works) or customize your own character (interface not yet made). I figured people would need to know about this now that a fair few modders are working on main quests of their own. Any thoughts? <img src="style_emoticons/<#EMO_DIR#>/icon_mrgreen1.gif" style="vertical-align:middle" emoid=":cheeky" border="0" alt="icon_mrgreen1.gif" />

<i><b>Nathaniel Hawk Quest</b></i>
[attachment=1629:Nathaniel_Hawk.jpg]
This is the original stock game quest with Danielle and the sinking/capturing of the Black Pearl at the end. This should EXCLUDE Short Jack Gold's Jack Sparrow story rewrites that were added in Alpha 7 and/or Alpha 8 (don't remember <img src="style_emoticons/<#EMO_DIR#>/mybad.gif" style="vertical-align:middle" emoid=":facepalm" border="0" alt="mybad.gif" /> ).

<i><b>Bartolomeu o Portugues Quest</b></i>
[attachment=1630:Bartolom...ortugues.jpg]
This quest is being made by Bartolomeu o Portugues. See <a href="http://forum.piratesahoy.net//index.php?showtopic=11556&hl=" target="_blank">here</a> for more information.

<i><b>Devlin Opera Quest</b></i>
[attachment=1631:Devlin_Opera.jpg]
Pirate_KK added this one for testing his multiple storylines code. I'm not sure if he'll actually finish this. <img src="style_emoticons/<#EMO_DIR#>/icon_confused.gif" style="vertical-align:middle" emoid=":?" border="0" alt="icon_confused.gif" />

<i><b>Horatio Hornblower Quest</b></i>
[attachment=1632:Horatio_Hornblower.jpg]
This is being worked on by Darth-me. See <a href="http://forum.piratesahoy.net//index.php?showtopic=11651" target="_blank">here</a> for more information.

<i><b>Legend of Jack Sparrow</b></i>
[attachment=1633:Legend_o..._Sparrow.jpg]
This is being worked on by Short Jack Gold. Originally this started as a rewrite of the original stock game main quest to add more movie tie-ins (see <a href="http://www.piratesahoy.net/forum/index.php?showtopic=10067" target="_blank">here</a>). Then he and Bartolomeu o Portugues started work on adding the Curse of the Black Pearl film quest (see <a href="http://www.piratesahoy.net/forum/index.php?showtopic=11020" target="_blank">here</a>). Most of this is finished, but a lot of fixing, fine-tuning and improving still needs to be done. Right now it's still part of the Nathaniel Hawk quest, but hopefully we can make it into its own selectable quest soon.
 
I suggest for the Jack Sparrow quest, that if you start in your Cabin, Captain Teague Sparrow should replace Malcolm. And after the tutorial he should dissapear to some hidden piratecave where he is the leader. You should start in Cayman with a little trading ship (fast trading ship) and you would then meet Beckett in the office of the governor.
 
This one is for the wishlist: A Master and Commander quest as suggested by Seb <a href="http://forum.piratesahoy.net//index.php?showtopic=11429&hl=" target="_blank">here</a>. We HAVE a Jack Aubrey character model, we HAVE a character resembling Stephen Maturin. We've got the HMS Surpise, <a href="http://forum.piratesahoy.net//index.php?s=&showtopic=11144&view=findpost&p=225779" target="_blank">HMS Bellona</a>, <a href="http://www.piratesahoy.com/forum/index.php?showtopic=10618" target="_blank">HMS Sophie</a> finished and even another <a href="http://forum.piratesahoy.net//index.php?showtopic=11582&hl=" target="_blank">Sophie</a> in the works. Would be great if they could be used in a quest. <img src="style_emoticons/<#EMO_DIR#>/w00t.gif" style="vertical-align:middle" emoid=":woot" border="0" alt="w00t.gif" />
 
i really like the looks of this. and i trust the discriptions will be all like the first later on?
 
All descriptions are temporary. The first one is sort-of final and then the Hornblower one I hyjacked from the back cover of the first book and could also be changed. All others definitly need replacing. Preferrably the actual writer of the quest should write his own quest descriptions; these are just descriptions Pirate_KK and me made.
 
i've only just noticed the starting ships. they make sense, of course, but i think it would be quite a madman's job to steer some of the bigger ships with no skill at all. i've tried it once. it was almost impossible.

there's one oddity that has struck me just now: why is nathaniel using a typically french ship? his quest will need a different cursed ship too. maybe one of cylon's ships?
 
There; you found even more temporary placeholders! <img src="style_emoticons/<#EMO_DIR#>/icon_mrgreen1.gif" style="vertical-align:middle" emoid=":cheeky" border="0" alt="icon_mrgreen1.gif" />
Naturally these won't be the real starting ships. However, we might also have some storylines where the player doesn't actually start as a level 1 character. How about starting the game as an experienced captain straight away?
 
in that case, i think the other main quests should be unlockable or have an indication of higher difficulty. the nathaniel quest really is a learning quest. the others give you other options like starting with better ships and main characters.

edited previous post.
 
<!--quoteo(post=241201:date=Feb 25 2008, 10:33 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE (Morgan Terror @ Feb 25 2008, 10:33 PM) <a href="index.php?act=findpost&pid=241201"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->there's one oddity that has struck me just now: why is nathaniel using a typically french ship? his quest will need a different cursed ship too. maybe one of cylon's ships?<!--QuoteEnd--></div><!--QuoteEEnd-->The game always used Lugger1 as default starting ship for Nathaniel. Why should Nathaniel start with a cursed ship??? <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" />

<!--quoteo(post=241204:date=Feb 25 2008, 10:39 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE (Morgan Terror @ Feb 25 2008, 10:39 PM) <a href="index.php?act=findpost&pid=241204"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->in that case, i think the other main quests should be unlockable or have an indication of higher difficulty.<!--QuoteEnd--></div><!--QuoteEEnd-->Wouldn't that be really annoying? You'd first need to finish one storyline in order to play the others? What if you really want to play the Jack Sparrow one, must first play the boring Nathaniel Hawk one you already played <i>sooo</i> many times before? <img src="style_emoticons/<#EMO_DIR#>/modding.gif" style="vertical-align:middle" emoid=":modding" border="0" alt="modding.gif" />

<!--quoteo(post=241204:date=Feb 25 2008, 10:39 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE (Morgan Terror @ Feb 25 2008, 10:39 PM) <a href="index.php?act=findpost&pid=241204"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->the nathaniel quest really is a learning quest.<!--QuoteEnd--></div><!--QuoteEEnd-->Yep; that's why it's the default one and the first in the list. <img src="style_emoticons/<#EMO_DIR#>/razz.gif" style="vertical-align:middle" emoid=":razz" border="0" alt="razz.gif" />

<!--quoteo(post=241204:date=Feb 25 2008, 10:39 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE (Morgan Terror @ Feb 25 2008, 10:39 PM) <a href="index.php?act=findpost&pid=241204"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->the others give you other options like starting with better ships and main characters.<!--QuoteEnd--></div><!--QuoteEEnd-->Right now some of them start with better ships, but eventually they probably won't. The Bartolomeu one would start with the player without a ship, the Jack Sparrow one currently starts the same as the Nathaniel Hawk one and the Hornblower one would start with the player as Midshipman on the Indefatigable and then being given command of a small ship.

In any case I personally prefer to offer the player as many options as possible. I would even add a start level, start money and start wealth selector to the Customize Character interface. But perhaps these should only show up if the cheatmode is on. <img src="style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" />
 
<!--quoteo(post=241197:date=Feb 25 2008, 09:30 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE (Pieter Boelen @ Feb 25 2008, 09:30 PM) <a href="index.php?act=findpost&pid=241197"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->All descriptions are temporary. The first one is sort-of final and then the Hornblower one I hyjacked from the back cover of the first book and could also be changed. All others definitly need replacing. Preferrably the actual writer of the quest should write his own quest descriptions; these are just descriptions Pirate_KK and me made.<!--QuoteEnd--></div><!--QuoteEEnd-->
Just to confirm what I told you. My main quest will start at Port-au-Prince with a tartane.
 
i didn't say he should start with a cursed ship. just with a different small ship. it doesn't make sense that he's starting with a french ship, the lugger. i'd never realised that before. the black pearl needs changing because it didn't excist yet at that time (look at the quest periods). or at least the name needs changing, and the stock game model would be used.
 
Great stuff guys, can´t wait to play the Hornblower and bartolomeu quest <img src="style_emoticons/<#EMO_DIR#>/w00t.gif" style="vertical-align:middle" emoid=":woot" border="0" alt="w00t.gif" />

I really hope someone picks up the Master&Commander idea, though, I´d skip my next project and give one the O´Brian ships a try to contribute to that. <img src="style_emoticons/<#EMO_DIR#>/keith.gif" style="vertical-align:middle" emoid=":keith" border="0" alt="keith.gif" />
 
I would rename the "Early Explorers" age to "The New World".

And yes, a M&C quest would be cool... and what of the "Revolutions" age? Perhaps a JPJ quest to showcase the Americans? You could start with the sloop <i>Providence</i> then eventually fight through the American Revolution with the sloop-of-war <i>Alfred</i>, then the heavy sloop-of-war <i>Ranger</i> (which looks uncannily similar to the <i>Boston</i>. <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />) then get the <i>Bonhomme Richard</i> (heavy warship 2) and eventually build up his squadron with the <i>Bonhomme Richard</i>, <i>Pallas</i>, <i>Alliance</i>, and <i>Cerf</i>. It would span the years 1775 - 1781. We could get into the raid in Nassau, the duel between the <i>Ranger</i> and the <i>Drake</i>, and climax at the Battle of Flambrough Head. In between these high points would be many coastal raids and cut-out missions, convoy interceptions, etc.

But that is a mere dream to add to the wishlist.

Good work guys!!! <img src="style_emoticons/<#EMO_DIR#>/smile2.gif" style="vertical-align:middle" emoid=":))" border="0" alt="smile2.gif" />
 
<!--quoteo(post=241214:date=Feb 25 2008, 10:51 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE (Morgan Terror @ Feb 25 2008, 10:51 PM) <a href="index.php?act=findpost&pid=241214"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->i didn't say he should start with a cursed ship. just with a different small ship. the black pearl needs changing because it didn't excist yet at that time (look at the quest periods). or at least the name needs changing, and the stock game model would be used.<!--QuoteEnd--></div><!--QuoteEEnd-->Woops. Sorry, I misunderstood you there. <img src="style_emoticons/<#EMO_DIR#>/icon_confused.gif" style="vertical-align:middle" emoid=":?" border="0" alt="icon_confused.gif" />
Indeed we could use a different cursed ship there, only then we'd also need to change the cursed coins aspect of the quest. I think we could also keep it as the real Black Pearl, because then the Nathaniel Hawk quest would have to play out during the ten years that pass between Jack losing the Pearl and the beginning of CotBP.

<!--quoteo(post=241214:date=Feb 25 2008, 10:51 PM:name=Morgan Terror)--><div class='quotetop'>QUOTE (Morgan Terror @ Feb 25 2008, 10:51 PM) <a href="index.php?act=findpost&pid=241214"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->it doesn't make sense that he's starting with a french ship, the lugger. i'd never realised that before.<!--QuoteEnd--></div><!--QuoteEEnd-->Do you have a better idea? Also: Do you think Luggers should be more common to France in general?

<!--quoteo(post=241270:date=Feb 26 2008, 12:45 AM:name=Commodore John Paul Jones)--><div class='quotetop'>QUOTE (Commodore John Paul Jones @ Feb 26 2008, 12:45 AM) <a href="index.php?act=findpost&pid=241270"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I would rename the "Early Explorers" age to "The New World".<!--QuoteEnd--></div><!--QuoteEEnd-->Fine by me. Any other thoughts on period renames, by any chance? Right now we have:
Early Explorers/The New World (1500-1599) - Devlin Opera Quest (Probably shouldn't be here; just placed it here for testing the first period)
The Spanish Main (1600-1679) - Bartolomeu o Portugues Quest
Golden Age of Piracy (1680-1739) - Nathaniel Hawk Quest
Colonial Powers (1740-1769) - Jack Sparrow Quest
Revolutions (1770-1789) - [Master & Commander Quest] / [John Paul Jones Quest]
The Corsican (1790-1820) - Hornblower Quest

<!--quoteo(post=241270:date=Feb 26 2008, 12:45 AM:name=Commodore John Paul Jones)--><div class='quotetop'>QUOTE (Commodore John Paul Jones @ Feb 26 2008, 12:45 AM) <a href="index.php?act=findpost&pid=241270"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->And yes, a M&C quest would be cool... and what of the "Revolutions" age? Perhaps<!--QuoteEnd--></div><!--QuoteEEnd-->I would personally place the M&C quest during the Revolutions period for two reasons: 1) To have at least A quest taking place during that period and 2) Jack Aubrey had quarrels with the US and Hornblower didn't really, so to me it'd make sense to have M&C in the Revolutions period where the US is hostile to England, while in The Corsican they'd be friendly.

<!--quoteo(post=241270:date=Feb 26 2008, 12:45 AM:name=Commodore John Paul Jones)--><div class='quotetop'>QUOTE (Commodore John Paul Jones @ Feb 26 2008, 12:45 AM) <a href="index.php?act=findpost&pid=241270"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Perhaps a JPJ quest to showcase the Americans? You could start with the sloop <i>Providence</i> then eventually fight through the American Revolution with the sloop-of-war <i>Alfred</i>, then the heavy sloop-of-war <i>Ranger</i> (which looks uncannily similar to the <i>Boston</i>. <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />) then get the <i>Bonhomme Richard</i> (heavy warship 2) and eventually build up his squadron with the <i>Bonhomme Richard</i>, <i>Pallas</i>, <i>Alliance</i>, and <i>Cerf</i>. It would span the years 1775 - 1781. We could get into the raid in Nassau, the duel between the <i>Ranger</i> and the <i>Drake</i>, and climax at the Battle of Flambrough Head. In between these high points would be many coastal raids and cut-out missions, convoy interceptions, etc.<!--QuoteEnd--></div><!--QuoteEEnd-->I wouldn't mind that. Would be nice to showcase the American side of the war. <img src="style_emoticons/<#EMO_DIR#>/yes.gif" style="vertical-align:middle" emoid=":yes" border="0" alt="yes.gif" />
Of course a JPJ quest would be a lot more work, because we don't have any character models to work with for that right now. Of course we will be needing American soldiers and officers and stuff. But if somebody makes all that and the actual quest, of course we'll put it in the game. <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />
 
The whole idea for selectable storylines is to leave universal code (which is completely quest-indpendent in main directories, together with some common quests (like treasure searching, pirate hunt, etc), and everything what's quest-related should be coded in special files, different for a given storyline.

Current structure of this requires presence of following files in folder PROGRAM\Storyline:
<storyline>\ - a directory with all code for a storyline
<storyline>.c - file with definitions used on select storyline screen. Here's example:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void RegisterStoryline(int n)
{
    ref storyline; makeref(storyline, Storylines);
    aref sl; makearef(sl, storyline.list);
    string sn = "sl" + (n + 1);
    sl.(sn).id = "<code_id>"; // unique id for a storyline
    sl.(sn).index = n;
    sl.(sn).dir = "<storyline>\"; // name of folder containing code

    sl.(sn).start.location = "<existing location id>"; // id of first location where mainchar appears
    sl.(sn).start.port = "existing port id"; // id of port (when mainchar stats on deck)
    sl.(sn).start.model = "<model id"; // model id of mainchar
    sl.(sn).start.name = "<first name>"; // main char firstname
    sl.(sn).middlename = "<middle name(s)>"; // main char middle name(s)
    sl.(sn).start.lastname = "<surname>"; // main char surname
    sl.(sn).start.ship = "<ship type id>"; // id of starting ship type
    sl.(sn).start.shipname = "<ship name>"; // name for starting ship
    sl.(sn).start.date.hour = 10;    // starting hour
    sl.(sn).start.date.min = 24;     // starting minute
    sl.(sn).start.date.sec = 42;      // starting second
    sl.(sn).start.date.day = 15;     // starting day
    sl.(sn).start.date.month = 4;   // starting month
    sl.(sn).start.date.year = 1690; // starting year

    switch (LanguageGetLanguage()) // for multilingual support...
    {
        case "French"
            sl.(sn).title = "<title>";
            sl.(sn).description = "<description>";
        break;
        case "German"
            sl.(sn).title = "<title>";
            sl.(sn).description = "<description>";
        break;
        case "Polish":
            sl.(sn).title = "<title>";
            sl.(sn).description = "<description>";
        break;
        case "Russian"
            sl.(sn).title = "<title>";
            sl.(sn).description = "<description>";
        break;
        case "Spanish"
            sl.(sn).title = "<title>";
            sl.(sn).description = "<description>";
        break;
        // default:
            sl.(sn).title = "<title>";
            sl.(sn).description = "<description>";
        break;
    }

    AddStorylineVar(n, "<var1_name>", "<var1_value>"); // quest-dependent settings, like those from InternalSettings.h
    [...]
    AddStorylineVar(n, "<varn_name>", "<varn_value>"); // use value = GetStorylineVar(<storyline_index>, "<varn_name>"); to get value
}<!--c2--></div><!--ec2-->

Inside <storyline> folder the directory structure is similar to that of PROGRAM, but everything there is quest-dependent:

characters\init\ - folder with characters definitions
All quest characters should be coded here; file names must be identical like in PROGRAM\characters\init folder. First all characters in PROGRAM\characters\init are initiated, end then those from PROGRAM\Storyline\<storyline>\characters\init. Example:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void Create<filename>Characters(ref n)
{
    object chobj;
    ref ch;

    makeref(ch, chobj);

    // some character
    // below everything like in standard...
    ch.old.name = "Toff";
    ch.old.lastname = "Oremans";
    ch.name = TranslateString("","Toff");
    ch.lastname = TranslateString("","Oremans");
    ch.id        = "Toff Oremans";
    ch.model    = "man5_1";
    ch.sex = "man";
    ch.sound_type = "male_citizen";
    ch.location    = "Douwesen_Tavern";
    ch.location.group = "sit";
    ch.location.locator = "sit4";
    ch.Dialog.Filename = "Toff Oremans_dialog.c";
    ch.greeting = "Gr_Toff Oremans";
    ch.nation = HOLLAND;
    ch.rank     = 1;
    ch.reputation = "None";
    ch.experience = "0";
    ch.skill.Leadership = "1";
    ch.skill.Fencing = "1";
    ch.skill.Sailing = "1";
    ch.skill.Accuracy = "1";
    ch.skill.Cannons = "1";
    ch.skill.Grappling = "1";
    ch.skill.Repair = "1";
    ch.skill.Defence = "1";
    ch.skill.Commerce = "1";
    ch.skill.Sneak = "1";
    ch.money = "0";
    ch.quest.daughter = "";
    LAi_SetSitType(ch);
    LAi_SetLoginTime(ch, 0.0, 24.0);
    LAi_group_MoveCharacter(ch, "DOUWESEN_CITIZENS");
    // without n = n + 1;!!! Instead:
    AddGameCharacter(n, ch);

    // some other character
    // below everything like in standard...
    ch.old.name = "Bloff";
    ch.old.lastname = "Poof";
    ch.name = TranslateString("","Bloff");
    ch.lastname = TranslateString("","Poof");
    ch.id        = "Bloff Poof";
    ch.model    = "man5_1";
    ch.sex = "man";
    ch.sound_type = "male_citizen";
    ch.location    = "Douwesen_Tavern";
    ch.location.group = "sit";
    ch.location.locator = "sit4";
    ch.Dialog.Filename = "Toff Oremans_dialog.c";
    ch.greeting = "Gr_Toff Oremans";
    ch.nation = HOLLAND;
    ch.rank     = 1;
    ch.reputation = "None";
    ch.experience = "0";
    ch.skill.Leadership = "1";
    ch.skill.Fencing = "1";
    ch.skill.Sailing = "1";
    ch.skill.Accuracy = "1";
    ch.skill.Cannons = "1";
    ch.skill.Grappling = "1";
    ch.skill.Repair = "1";
    ch.skill.Defence = "1";
    ch.skill.Commerce = "1";
    ch.skill.Sneak = "1";
    ch.money = "0";
    ch.quest.daughter = "";
    LAi_SetSitType(ch);
    LAi_SetLoginTime(ch, 0.0, 24.0);
    LAi_group_MoveCharacter(ch, "DOUWESEN_CITIZENS");
    // without n = n + 1;!!! Instead:
    AddGameCharacter(n, ch);<!--c2--></div><!--ec2--><i>AddGameCharacter(int n, ref ch);</i> function will add a character if one with a given ch.id doesn't exist, or change one's parameters otherwise. <fillename> is a name of file without ".c", for example: Douwesen.c -> CreateDouwesenCharacters.

dialogs\ - folder with dialogs
Folder with dialogs for characters. If proper dialog files are in PROGRAM\Storyline\<storyline>\dialogs\ that one is used, otherwise default one with the same name from PROGRAM\dialogs folder.

items\ - folder with quest items
Should contain file initQuestItems.c:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void InitQuestItems()
{
    int n = QUESTITEMS_QUANTITY;

    n = InitQuestItem(n,"<quest_item1>","name1","",4,2,0,0,"","","","","","","");
    [...]
    n = InitQuestItem(n,"<quest_itemn>","name2","",4,2,0,0,"","","","","","","");

    QUESTITEMS_QUANTITY = n;
}<!--c2--></div><!--ec2-->InitQuestItem syntax is unchanged.

locations\init - folder with location definitions
For now, there's only support for special quest location in file QuestLocations.c.

nations\ - folder with definitions of relations between nations and charactergroups relations
File relations_init.c should contain nation relations and main character relations with nations in function void relations_init(). File groups_init.c define some additional character groups in function void groups_init().

quests\ - folder with files containing quest code: both_reaction.c and quests_reaction.c
As usual.

towns\ - town redefinition
This folder should contain InitTowns.c file. Example:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void InitTowns(bool first)
{
    object townobj;
    ref town;

    makeref(town, townobj);
    town.id = "Redmond";
    if(first) town.name = TranslateString("", "Santiago Vega");
    town.island = "Redmond";
    town.position.x = -54.605331;
    town.position.z = -243.0;
    town.monsterprob = 1.0;
    if(first)
        town.size = 2000;
    else
        town.size = Towns[GetTownIndex(town.id)].size;
    town.gold = sti(town.size) * TOWN_GOLD_SCALAR;
    if(first) town.nation = SPAIN; // KK
    town.homeland = SPAIN; // KK
    town.store = REDMOND_STORE;
    town.gov = "John Clifford Brin"; // KK
    town.officiant = "Redmond_officiant"; // KK
    town.forts.Quantity = 1;
    town.forts."0".fortchar = "Redmond Commander";
    town.troops = sti(town.size) * 2 / 5;
    town.crew.quantity = sti(town.size)/8 + rand(sti(town.size)/4);
    town.crew.morale = MORALE_NORMAL - 20 + Rand(40);
    ModifyTown(town);
}<!--c2--></div><!--ec2-->But in fact only following parameters are changeable:
- name - name of the town,
- monsterprob - probability for monster encounter (?)
- size - size of town
- gold - town gold
- nation - town nation
- homeland - initial town nation
- gov - governor
- officiant - waitress
- troops - whatever
- crew.quantity - whatever,
- crew.morale - town morale
and all the rest is ignored. First, all towns are created; here the only option is to change some of towns parameters and adding a new one isn't possible.

SL_Reinit.c - file with code for reinitialization, executed after "standard" reinit (like after pressing F11)
SL_utils.c - some auxiliary functions which could be used in any file in <storyline> folder
StartStoryline.c - code with all quest initializations, repsonsible for analyzing input from Start Storyline interface and placing main character in 1st location

RESOURCE\INI\TEXTS\<language>\Storyline\<storyline>\QUESTBOOK\*.txt - text for questbook entries (RESOURCE\INI\TEXTS\<language>\QUESTBOOK\*.txt is for common quests).
RESOURCE\INI\TEXTS\<language>\Storyline\<storyline>\ - additional translations for files: characters_names.txt, ItemsDescribe.txt and rumour_strings.txt.

The storyline will be enabled when following obligatory files exists: PROGRAM\Storyline\<storyline>.c, PROGRAM\Storyline\<storyline>\StartStoryline.c, PROGRAM\Storyline\<storyline>\quests\both_reactions.c and PROGRAM\Storyline\<storyline>\quests_reaction.c. The rest of them is optional.

pirate_kk

PS. Probably I should add possibility of starting the character without a ship...
 
Awesome! Thanks very much for posting this. Now we'd need to make an Alpha 8 version that includes this mod so the quest writers can work their new main quests into the Selectable Storylines mod.
 
keeping the black pearl makes sense, if you put it that way. but it WOULD be pretty odd if you could still capture it. i hate to say this, but the ship should then be uncapturable in the nathaniel quest. i think his starting ship should be changed into the galeoth. it's about the same strength as the lugger, but weaker than the sloop, i think. giving him a yacht would also be a possibility, but not one i would prefer.
 
The Nathaniel Hawk quest doesn't necessarily need to agree with the Jack Sparrow quest. Even in the Jack Sparrow quest you would be able to do things that didn't happen in the film. In any case I think there's a BuildSettings toggle on being able to capture the Pearl or not.
 
In the cutscene at the beginning of the stock main quest, it says a single <u><b><i>sloop</i></b></u> survived .....
 
Back then sloop was a pretty general term referring to a vast group of differently rigged ships, so it pretty much covers the starting ship selection.
 
Back
Top