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

Included in Build Asking for Directions Unlocks Fast Travel

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
Would be nice to be able to fast travel to store/shipyard/smith etc after getting directions from a local (dialogue ). This would then be consistent with the charts giving fast travel to ports etc.
Long story short: Brilliant idea, we should try to implement that. :yes

TODO LIST:
Alice citizen_dialog.c - DONE by @Bartolomeu o Portugues
Cartagena citizen_dialog.c - DONE by @Bartolomeu o Portugues
Cayman Citizen_dialog.c - DONE by @Bartolomeu o Portugues
Charlestown_citizen_dialog.c - DONE by @Bartolomeu o Portugues
Conceicao Citizen_dialog.c - DONE by @Bartolomeu o Portugues
Douwesen Citizen_Dialog.c - DONE by Pieter Boelen
eleuthera citizen_dialog.c - DONE by @Bartolomeu o Portugues
falaise de fleur citizen_dialog.c - DONE by @Bartolomeu o Portugues
GrandTurks citizen_dialog.c - DONE by @Bartolomeu o Portugues
Greenford Citizen_Dialog.c - DONE by @salonikasurf

greenford_citizen_01_dialog.c - Nothing to be done
Havana citizen_dialog.c - DONE by @Bartolomeu o Portugues
isla muelle citizen_dialog.c - DONE by @Bartolomeu o Portugues
Marigot citizen_dialog.c - DONE by @Jack Rackham
Oranjestad citizen_dialog.c - DONE by @Jack Rackham
Oxbay citizen_dialog.c - DONE by @salonikasurf
PaP citizen_dialog.c - DONE by @Jack Rackham
Philipsburg citizen_dialog.c - DONE by @Jack Rackham
PoPrince citizen_dialog.c - DONE by @Bartolomeu o Portugues
QC citizen_dialog.c - DONE by @Jack Rackham
Redmond Citizen_dialog.c - DONE by @salonikasurf
Santiago citizen_dialog.c - DONE by @Jack Rackham
SantoDomingo citizen_dialog.c - DONE by @Jack Rackham

smugglers citizen_dialog.c - Nothing to be done
Tortuga citizen_dialog.c - DONE by @Jack Rackham
Willemstad citizen_dialog.c - DONE by @Jack Rackham
 
Last edited:
It's a nice idea, but I'd sugest we first start to make more sense of the citizens dialog files. So take all stuff out which is shared and put it in a shared dialog files. then we can edit the seperate ones easier :).
 
There isn't that much shared there, I think. The texts are different for all towns.
 
So unless someone wants to do this, it wont get high priority from me. I would like to see it in b14 but we could do without.
 
I'll set something up for this on at least one town to prove the concept. I don't expect it should be too difficult, but it probably cannot be coded dynamically.
That means we'll have to go for another "stupid, but simple" solution. Hopefully once it has been proven to be possible, somebody else can finish the project.
In any case, you don't need to concern yourself with this one for now. :no
 
Is there anyone interested in setting this up in one town for starters?
I reckon this should be relatively easy to accomplish by manually adding the lines to enable those reloads in the appropriate citizen dialog cases.
If done for one town, at least we'll have a proof of concept for testing purposes.
 
I'd still like to try setting this up, possibly for already for Beta 4. I imagine it should be relatively simple (if perhaps somewhat time-consuming to do for all towns).
 
I have just set this up for Kralendijk and it is really quite easy to do and works about as well as you'd hope for. :cheeky

All that is needed is to add the lines marked "PB: Unlock Fast Travel" in the respective citizen dialog files:
Code:
    case "town_smith":
       d.Text = DLG_TEXT[167];
       Link.l1 = DLG_TEXT[168];
       Link.l1.go = "exit";
       Link.l2 = DLG_TEXT[169];
       Link.l2.go = "town_shipyard";
       Link.l3 = DLG_TEXT[170];
       Link.l3.go = "town_store";
       DeleteAttribute(&locations[FindLocation("Douwesen_town")], "reload.l11.goto_disable"); // PB: Unlock Fast Travel
     break;
//<-- RobC/A_S 'smiths

     case "town_tavern":
       d.Text = DLG_TEXT[119];
       Link.l1 = DLG_TEXT[120];
       Link.l1.go = "exit";
       Link.l2 = DLG_TEXT[121];
       Link.l2.go = "town_shipyard";
       Link.l3 = DLG_TEXT[122];
       Link.l3.go = "town_store";
       Link.l4 = DLG_TEXT[166];
       Link.l4.go = "town_smith";
       DeleteAttribute(&locations[FindLocation("Douwesen_town")], "reload.l3.goto_disable"); // PB: Unlock Fast Travel
     break;

     case "town_shipyard":
       d.Text = DLG_TEXT[123] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[124]
       Link.l1 = DLG_TEXT[125];
       Link.l1.go = "town_tavern";
       Link.l2 = DLG_TEXT[126];
       Link.l2.go = "town_store";
       Link.l4 = DLG_TEXT[166];
       Link.l4.go = "town_smith";
       Link.l3 = DLG_TEXT[127];
       Link.l3.go = "exit";
       DeleteAttribute(&locations[FindLocation("Douwesen_town")], "reload.l2.goto_disable"); // PB: Unlock Fast Travel
     break;

     case "town_store":
       d.Text = DLG_TEXT[128] + GetMyFullName(&Characters[GetCharacterIndex(DLG_TEXT[129])]) + DLG_TEXT[131];
       Link.l1 = DLG_TEXT[132];
       Link.l1.go = "town_shipyard";
       Link.l2 = DLG_TEXT[133];
       Link.l2.go = "town_tavern";
       Link.l4 = DLG_TEXT[166];
       Link.l4.go = "town_smith";
       Link.l3 = DLG_TEXT[134];
       Link.l3.go = "exit";
       DeleteAttribute(&locations[FindLocation("Douwesen_town")], "reload.l5.goto_disable"); // PB: Unlock Fast Travel
     break;
Obviously this has to be set up manually for each reload and the location IDs and ".l#" numbers need to be made to match correctly with the location init files.
But it IS possible and not technically complicated.
Would be nice to make an automated system for this, but I can think of no simple way of doing that so we may want to avoid that.

What I also want to avoid is HAVING TO DO EVERY TOWN LIKE THIS MYSELF!
So here's the old big question: Who would appreciate this feature being added to ALL towns and would actually be willing to put in some time and effort to make it happen?
@salonikasurf, might you be tempted? @Grey Roger, @Jack Rackham or @Bartolomeu o Portugues spring to mind as well?
If we split this over a few people, it should not be too much of a hassle. :cheers
 
maybe we should make a list in the first post so we can keep track of who is doing what and what is done?
 
Yes, we should. But I won't do that today anymore. Long day ahead tomorrow....

Anyway, it's simple for now: Any dialog file that has "citizen" in its name and is not named "Douwesen Citizen_Dialog.c" :wp
 
Thank god I know some batch programming so made windows made a nice list for me :p.
It's in the first post and I marked douwesen as done.
Please edit the post or let me know if you are going to do a specific one and when you done it so we can keep track of it.
 
Back
Top