• 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 Is there a tailor in Governor's Harbour? And other map-related problems.

Fluen

Freebooter
Build 14, newest update (April 2022).
I have switched "enable extra sounds" to 0 in InternalSettings.H and I use the updated Usurer_dialog.c supplied by Grey Roger, after which I re-initialized.
I also have made changes in InitItems, so jewelery sneak is set to 0 and skipsell is set to 1, after which I also re-initialized.
Ok, I have made this thread in the wrong place, can it be moved to the troubleshooting forum?

1. I have great fun with the cargo missions, I get from shipwrights, tailors, smiths and apothecary. So when I have finished one mission, I ask for news at the tavern and sail to the craftsman, who has most recently asked for help. Rumours said, the tailor in Governor's Harbour needed help, so I went and tried to find him. But even if I went to every door in the town twice, none of them were marked as the place for tailor - neither with an icon nor a text. I even checked Alicetown to make sure, if the tailor was located elsewhere on Eleuthera, and the rumours and ship's log had got the town wrong.

2. What about making a buyable map over New Granada like for the other islands, so one can travel directly to the right anchor place when close to land? When I first tried to find the anchor place in Cartagena, my sailing around cost me three days.

3. In some of the newer towns like Santiago on Cuba, fast travel only remembers the standard places like the tavern, the trader and the shipwright. Even if I've been finding the blacksmith and the tailor on my own, I still can't fast travel to them. That feature is possible in most other towns, so why not in Santiago? I'll gladly make a list over problematic towns if needed.
 
Last edited:
1: Should be fixable. At present Governors Harbour and Alice Town are both supposed to have tailors. The one for Governors Harbour isn't defined - that is, there is a definition but it's disabled. The one for Alice Town is fully defined but the tailor's shop isn't. I should be able to set up both tailors but even if I do, it will be necessary to start a new game for the tailors and their shop locations to show up. Until then, ignore messages about either town on Eleuthera. (Fetch quests aside, there's another good reason for putting at least one tailor on Eleuthera. They'll be able to sell you American outfits in those periods in which America exists.)

2: Not so easy, and probably not happening any time soon.

3: If you found a tailor in Santiago, I'd like to know where! Fast travel to Santiago's blacksmith won't work because he doesn't have a separate shop location like other blacksmiths, he's outdoors in the main town location. Some other towns don't have blacksmiths or tailors.

By the way, this is the correct place to report bugs. ;)
 
Last edited:
Update: I've got tailors working in both Governor's Harbour and Alice Town. Fast travel to them works after you've found them by walking to them, as normal. There aren't many American outfits apart from soldier uniforms, so in the later periods when the towns are American, they mostly sell non-national outfits, which means sailor outfits and Indian outfits.

@Fluen: if you find problems in other towns, please do report them.
 
3. You're right. I had mixed up two towns.

3.b The church and guard house are missing in the fast-travel-menu for Alice Town. The guard house is probably not all that important (just like the barracks in Point a Pitre don't show op in the fast-travel-menu).
 
Both the church and the prison in Alice Town appear in the fast-travel menu for me:
alicetown_fasttravel.jpg

You do need to visit them first, which is normal.
 
I must have made some kind of mistake. They are in my fast-travel-menu now.

Good things in the latest builds:
4. Now getting directions from a local puts the places mentioned into the fast-travel-menu right away. Great!
5. The very interactive map over the archipelago. :bow:love It gives a clear overview over, where the active cargo missions, escort missions and treasure quests take place. When I right-click on the name of the island, I'm shown the ruling nation and the names of the towns. And if I have the map over the island itself and left-click on the name of the island, that local map is brought up. Marvellous! I have no idea, how much work this took, but I love it!
 
Most of that has been in the mod for a long time. The newest feature on that list is left-clicking on the archipelago map to show the island map, and that was back in 2020. ;)

But thanks for the feedback anyway! Praise for good stuff is just as welcome as reports of bugs. :cheers
 
Last edited:
That's what I thought. We players are very good at telling you, when something goes wrong. But you should also receive praise for all the good work, you have done. :flower
Besides, I just discovered the "click the general map and get the local map" last week. :oops:

Back to 3b. I seem to confuse towns quite a lot. :facepalm In Charlestown the church and guardhouse don't appear in the fast-travel-menu. In Alice Town the loanshark and the brothel don't appear.
 
Back to 3b. I seem to confuse towns quite a lot. :facepalm In Charlestown the church and guardhouse don't appear in the fast-travel-menu. In Alice Town the loanshark and the brothel don't appear.
The fast-travel for the loanshark and brothel in Alice Town appear for me, after I've found them by walking around.

But Charlestown certainly has no fast-travel to the church or guardhouse. Put this into folder "PROGRAM\BATTLE_INTERFACE", then press F11 when you play again. The only snag now is that fast-travel to Charlestown's church and guardhouse will appear even if you haven't visited them before.

@Pieter Boelen, @Jack Rackham: "PROGRAM\Locations\init\QuebradasCostillas.c" contains two sets of reload tables for Charlestown.
Set 1:
Code:
    //Reload map
    Locations[n].reload.l1.name = "reload2_back";
    Locations[n].reload.l1.autoreload = "0";
// KK -->
    if (VISIT_DECK == 1)
        Locations[n].reload.l1.label = "Ship.";
    else
        Locations[n].reload.l1.label = "Sea.";
// <-- KK
    Locations[n].locators_radius.reload.reload2_back = 2;

    Locations[n].reload.l2.name = "reload2_back";
    Locations[n].reload.l2.autoreload = "0";
// KK -->
    if (VISIT_DECK == 1)
        Locations[n].reload.l2.label = "Ship.";
    else
        Locations[n].reload.l2.label = "Sea.";
// <-- KK
    Locations[n].locators_radius.reload.reload2_back = 2;

    Locations[n].reload.l3.name = "reload5_back";
    Locations[n].reload.l3.autoreload = "0";
    Locations[n].reload.l3.label = "Shipyard.";
    Locations[n].reload.l3.close_for_night = 1;
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l3.goto_disable = 1; // Screwface: Disable Go-To location

    Locations[n].reload.l4.name = "reload6_back";
    Locations[n].reload.l4.autoreload = "0";
    Locations[n].reload.l4.label = "Store.";
    Locations[n].reload.l4.close_for_night = 1;
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l4.goto_disable = 1; // Screwface: Disable Go-To location

    Locations[n].reload.l5.name = "reload3_back";
    Locations[n].reload.l5.autoreload = "0";
    Locations[n].reload.l5.label = "Residence.";
    Locations[n].reload.l5.close_for_night = 1;
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l5.goto_disable = 1; // Screwface: Disable Go-To location

    Locations[n].reload.l6.name = "reload4_back";
    Locations[n].reload.l6.autoreload = "0";
    Locations[n].reload.l6.label = "Tavern.";
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l6.goto_disable = 1; // Screwface: Disable Go-To location

    Locations[n].reload.l7.name = "houseS1";
    Locations[n].reload.l7.autoreload = "0";

    Locations[n].reload.l8.name = "reload8_back";
    Locations[n].reload.l8.autoreload = "0";
    Locations[n].reload.l8.label = "Loanshark's Office.";
    Locations[n].reload.l8.close_for_night = 1;
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l8.goto_disable = 1; // Screwface: Disable Go-To location

    Locations[n].reload.l9.name = "reload7_back";
    Locations[n].reload.l9.autoreload = "0";
    Locations[n].reload.l9.label = "Church.";
    Locations[n].reload.l9.close_for_night = 1;
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l9.goto_disable = 1; // Screwface: Disable Go-To location

    Locations[n].reload.l10.name = "gate";
    Locations[n].reload.l10.autoreload = "0";

    Locations[n].reload.l11.name = "brothel";
    Locations[n].reload.l11.autoreload = "0";
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l11.goto_disable = 1; // Screwface: Disable Go-To location

    Locations[n].reload.l12.name = "houseS3";
    Locations[n].reload.l12.autoreload = "0";

    Locations[n].reload.l13.name = "houseH1";
    Locations[n].reload.l13.autoreload = "0";

    Locations[n].reload.l14.name = "barracks";
    Locations[n].reload.l14.autoreload = "0";
    Locations[n].reload.l14.close_for_night = 1;

    Locations[n].reload.l15.name = "storehouse";
    Locations[n].reload.l15.autoreload = "0";
    Locations[n].reload.l15.close_for_night = 1;

    Locations[n].reload.l16.name = "reload10_1";
    Locations[n].reload.l16.autoreload = "0";
    Locations[n].reload.l16.label = "Naval Academy";
    Locations[n].reload.l16.close_for_night = 1;
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l16.goto_disable = 1; //JRH

Set 2:
Code:
    //Reload map

    locations[n].reload.l1.name = "reload1_back";
    locations[n].reload.l1.go = "QuebradasCostillas";
    locations[n].reload.l1.emerge = "reload_2";
    locations[n].reload.l1.autoreload = "0";
    locations[n].reload.l1.label = "Sea.";
    Locations[n].locators_radius.reload.boat = 12.0;

    locations[n].reload.l3.name = "reload3_back";
    locations[n].reload.l3.go = "Charlestown_Residence";
    locations[n].reload.l3.emerge = "locator2";
    locations[n].reload.l3.autoreload = "0";
    locations[n].reload.l3.label = "Residence";
    Locations[n].reload.l3.close_for_night = 1;

    locations[n].reload.l4.name = "reload4_back";
    locations[n].reload.l4.go = "Charlestown_Tavern";
    locations[n].reload.l4.emerge = "reload1";
    locations[n].reload.l4.autoreload = "0";
    locations[n].reload.l4.label = "Tavern";
    Locations[n].reload.l4.close_for_night = 0;

    locations[n].reload.l5.name = "reload5_back";
    locations[n].reload.l5.go = "Charlestown_shipyard";
    locations[n].reload.l5.emerge = "reload1";
    locations[n].reload.l5.autoreload = "0";
    locations[n].reload.l5.label = "Shipyard";
    Locations[n].reload.l5.close_for_night = 1;

    locations[n].reload.l6.name = "reload6_back";
    locations[n].reload.l6.go = "Charlestown_Store";
    locations[n].reload.l6.emerge = "locator2";
    locations[n].reload.l6.autoreload = "0";
    locations[n].reload.l6.label = "Store";
    Locations[n].reload.l6.close_for_night = 1;

    locations[n].reload.l7.name = "reload7_back";
    locations[n].reload.l7.go = "Charlestown_church";
    locations[n].reload.l7.emerge = "reload1";
    locations[n].reload.l7.autoreload = "0";
    locations[n].reload.l7.label = "Church";
    Locations[n].reload.l7.close_for_night = 1;
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l7.goto_disable = 1;

    locations[n].reload.l8.name = "reload8_back";
    locations[n].reload.l8.go = "Charlestown_usurer";
    locations[n].reload.l8.emerge = "reload1";
    locations[n].reload.l8.autoreload = "0";
    locations[n].reload.l8.label = "Bank";
//    locations[n].reload.l8.disable = 0;            //JRH: conflict with fast reload
    Locations[n].reload.l8.close_for_night = 1;

    locations[n].reload.l10.name = "gate";
    locations[n].reload.l10.go = "QC_Jungle_03";
    locations[n].reload.l10.emerge = "reload1";
    locations[n].reload.l10.autoreload = "0";
    locations[n].reload.l10.label = "Jungle";

    locations[n].reload.l11.name = "houseS2";
    locations[n].reload.l11.go = "Charlestown_Guardhouse";
    locations[n].reload.l11.emerge = "reload2";
    locations[n].reload.l11.autoreload = "0";
    locations[n].reload.l11.label = "prison";
//    Locations[n].reload.l11.disable = 0;            // GR: conflict with fast travel
    if(iRealismMode>0 && DISCOVER_FAST_TRAVEL) Locations[n].reload.l11.goto_disable = 1;

    locations[n].reload.l12.name = "housesp3";
    locations[n].reload.l12.go = "Charlestown_House_03";
    locations[n].reload.l12.emerge = "reload1";
    locations[n].reload.l12.autoreload = "0";
    locations[n].reload.l12.label = "House";
    locations[n].reload.l12.disable = 0;
    Locations[n].reload.l12.close_for_night = 1;

    locations[n].reload.l13.name = "housesp4";
    locations[n].reload.l13.go = "Charlestown_House_02";
    locations[n].reload.l13.emerge = "reload1";
    locations[n].reload.l13.autoreload = "0";
    locations[n].reload.l13.label = "House";
    locations[n].reload.l13.disable = 0;
    Locations[n].reload.l13.close_for_night = 1;

    locations[n].reload.l14.name = "househ2";
    locations[n].reload.l14.go = "Charlestown_House_01";
    locations[n].reload.l14.emerge = "reload1";
    locations[n].reload.l14.autoreload = "0";
    locations[n].reload.l14.label = "House";
    locations[n].reload.l14.disable = 0;
    Locations[n].reload.l14.close_for_night = 1;

//SJG for Mudd MAY09
    locations[n].reload.l15.name = "houseH1";
    locations[n].reload.l15.go = "Mystery_House";
    locations[n].reload.l15.emerge = "reload1";
    locations[n].reload.l15.autoreload = "0";
    locations[n].reload.l15.label = "Mystery House";
    locations[n].reload.l15.disable = 0;
    Locations[n].reload.l15.close_for_night = 0;
//SJG for Mudd MAY09

    // SJG -->
    locations[n].reload.l16.name = "reload10_1";
    locations[n].reload.l16.go = "Charlestown_Academy";
    locations[n].reload.l16.emerge = "reload1";
    locations[n].reload.l16.autoreload = "0";
    locations[n].reload.l16.label = "Naval Academy";
//    locations[n].reload.l16.disable = 0;            //JRH: conflict with fast reload
    Locations[n].reload.l16.close_for_night = 1;
    // SJG <--

    locations[n].reload.l17.name = "reload17";
    locations[n].reload.l17.go = "bb_Maltains";
    locations[n].reload.l17.emerge = "reload1";
    locations[n].reload.l17.autoreload = "0";
    locations[n].reload.l17.label = "Order of Malta only in WoodesRogers quest";    
    locations[n].reload.l17.disable = 1;            //JRH WoodesRogers: close_for_day after info from Hands

    locations[n].reload.l18.name = "reload18";
    locations[n].reload.l18.go = "bb_Maltains";
    locations[n].reload.l18.emerge = "reload3";
    locations[n].reload.l18.autoreload = "0";
    locations[n].reload.l18.label = "Order of Malta only in WoodesRogers quest";
    locations[n].reload.l18.disable = 1;
Is there a reason for this, or can the duplicate entries be deleted?

(The above includes a couple of fixes I've added to make fast-travel to the church and guard-house only appear after you've found them.)
 

Attachments

  • fast_reload_table.c
    41.2 KB · Views: 57
Two sets looks like a mistake. Could be by the modder who added the two last reloads.
 
Good, then it should be safe to remove the duplicates. The first set look incomplete, though I did notice that some lines are still needed. I've commented out the first set, copying whatever was needed into the second set, and after I've tested Charlestown a bit more, I'll probably delete the redundant part to tidy up.

Meanwhile, back to fast-travel, and it seems that Alice Town's brothel is one of the few whose fast travel does work! Charlestown brothel doesn't show up in fast-travel, and neither do the ones in Pirate Settlement or Guadeloupe. What all of these have in common is that they're not properly defined in their respective location files. Instead, they're set up by functions in "MAXIMUS_Functions.c", e.g. 'InitCharlestownBrothel()'. Next test: move the definition for Charlestown brothel out of there and into location file "QuebradasCostillas.c", then see if fast-travel to the brothel works properly. If it does, I'll eliminate all the brothel functions from "MAXIMUS_Functions.c" and put them into their respective location files.
 
As it turns out, it's in Governor's Harbour. (Just shoot me now. :oops::sick)
Indeed Govenor's Harbour has no fast-travel code for its brothel. I've added it.

Meanwhile:
Charlestown brothel doesn't show up in fast-travel, and neither do the ones in Pirate Settlement or Guadeloupe. What all of these have in common is that they're not properly defined in their respective location files. Instead, they're set up by functions in "MAXIMUS_Functions.c", e.g. 'InitCharlestownBrothel()'. Next test: move the definition for Charlestown brothel out of there and into location file "QuebradasCostillas.c", then see if fast-travel to the brothel works properly.
It didn't. But what these brothels also all have in common is a condition around their entries in "fast_reload_table.c":
Code:
    if(IsBrothelEnabled())
    {
        curTable.l6.pic = FRP_BROTHEL;
        curTable.l6.tex = FRT_BROTHEL;
        curTable.l6.note = FRN_BROTHEL;
        curTable.l6.location = "Charlestown_Brothel";
    }
And it doesn't work. I tried putting a 'trace' in there and it didn't show up. Best guess is that "fast_reload_table.c" is being read before system variable 'ENABLE_BROTHEL' is set. This would also explain why, if I load up a savegame in which I'm at Guadeloupe late into a storyline, the fast-travel for Point a Pitre brothel is available - I had probably pressed F11 to re-initialise something else, which also re-reads "fast_reload_table.c", and 'ENABLE_BROTHEL' would have been set by then. So the next test was to remove the condition in "fast_reload_table.c", then try Charlestown again, and this time the brothel fast-travel appeared even before I'd been near the place. That's because 'InitCharlestownBrothel()' in "MAXIMUS_Functions.c" has no line to block fast-travel before you've found the place. Once I added that, Charlestown brothel's fast-travel behaved properly. I've now made the same changes for various other brothels. Now I just need to do a tour of the Caribbean to visit all of them. This may take a while as the locations in question have some interesting distractions. :wp
 
Presumably you're a respectable lady and never went into the brothels, otherwise you'd have found that fast travel is the least of their problems! Being neither respectable nor female, and being on a mission, I did go in.

Governor's Harbour brothel has no action. I don't mean full graphic rumpy-pumpy; none of the brothels have that, partly because the game is still trying to be PG-13 but mainly because there are no suitable character animations. So the normal procedure is that you pay the mistress 50 gold, you teleport to the bedroom, time passes and you heal the same as if you'd spent time in a tavern. Governor's Harbour brothel doesn't even do that - you pay the mistress 50 gold and nothing at all happens.

Alice Town is even worse, it has no brothel. There's a door which claims to be the brothel and which leads to an empty room.

And in the brothels which do work, the bedroom is inhabited by a random number of women, all of which have dialog normally associated with the lady in a mansion bedroom, quite unsuitable for this place. There's supposed to be code in place to prevent random people from appearing in brothel bedrooms which doesn't work. I fixed that and also added some quest code so that, if you pay the mistress, one woman will appear in the bedroom with more appropriate post-bed chat. (Some brothels have the bedroom locked so you can't get in except by paying and teleporting. Others have it unlocked so you can walk in freely, but there's no time shift, no healing, and now no company unless you pay up.)

The problem with Governor's Harbour is that the code to make things happen when you pay looks for a location containing the key words "bedroom" or "upstairs". The bedroom in Governor's Harbour brothel is "Eleuthera_Brothel_room". So the code doesn't recognise it and quits without doing anything. Easily enough fixed by renaming "Eleuthera_Brothel_room" to "Eleuthera_Brothel_bedroom" and changing the reload in "Eleuthera_Brothel" to match.

Alice Town needed a bit more work. The door leads to "Alice_Brothel_room", which is an empty room. Various other brothels have a similar empty "Brothel_room" so I left it as it is, which meant I had to add new locations "Alice_Brothel" and "Alice_Brothel_Bedroom", set reloads to match, and also change the fast reload to point to "Alice_Brothel" instead of "Alice_Brothel_room".

There's a setting in the "Game Preferences" part of the "Options" menu to enable or disable brothel access. Governor's Harbour and Alice Town brothels don't check it, so even if you've set it to disable brothels because you don't want that sort of thing, you'll still see brothels in both towns. I've added the usual check to both places, so if you start a new game with brothels disabled, neither door will go anywhere.
 
I have not been to a brother for quite some time, but adding to this discussion, from the last time i visited one i remember them having a really annoying background music /ambient sound, is it still present ?
 
If you mean the sound of lots of people speaking over each other, then yes, it's still there. I once visited the brothels in the hope to buy rum or fine wine (the healing types) like one can buy ether in the opium den in Port Royale. But all I found was dirty talking.
 
If you mean the sound of lots of people speaking over each other, then yes, it's still there. I once visited the brothels in the hope to buy rum or fine wine (the healing types) like one can buy ether in the opium den in Port Royale. But all I found was dirty talking.

xD would be cool to have a trader in the brothel who sells some drinks, but yeah the sound was making me crazy so i disabled them after.
 
The brothel in Nevis Pirate Settlement will sell you rum and wine, at ridiculously over-inflated prices. Alone out of the brothels, it's set up like a tavern and has a bartender as well as a mistress. It's the bartender who can sell you the rum and wine.

You can also buy them, one bottle at a time, from the second tavern in Cartagena - the one in the town centre near the store.
 
Back
Top