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

Devlin Opera for the 65742th time

Upstairs I need 7 people in total but it's not that important where they sit. I could do 3+3 on the two tables in your screenshot (H1, H2, J, K, 6, 8), and the seventh on the spot where an officer spawns near the staircase, wich should be sit10.

Downstairs the distribution is more exact. To your right as seen from the door, the order of the three tables will be 3-4-3. To your left 2-2.
 
Downstairs when you enter left, I'm afraid I need the spot with the brown costume guy, or in other words, there must be two people at each of the two tables. If this is a separate locator file only used in a quest location with vcskip, this shouldn't collide with officer encounters. But the thing that was always strange to me is that this spot doesn't show a locator at all! So I don't know if I'd have to place one there additionally.
Possibly it has a "group" name not recognised by "locations_loader.c"? Use TOOL to look at "LT_l_BTP.gm" and see if there's a locator whose co-ordinates look similar to "quest\sitD" with either "X" or "Z" different, "Z" or "X" the same, "Y" the same, and which has a different group name.

In any case, a 'vcskip' should prevent an officer from spawning there, and incidentally should also prevent other random characters spawning elsewhere in the tavern who might mess up the quest.

BTW I must warn everybody that the characters who will occupy these seats have some of the silliest names I've ever come up with...
Excellent!
 
Maybe you could already look if you find the locator under a different name like @Grey Roger suggested. If you don't find it and have time and don't mind, you can create one. I'm at the office and won't be able to look at files until 8 or 9 p.m. central european time.
 
Here it is again with the extra locator.
And it happened - an officer and the quest character both tried to sit on the same spot. So vcskip = true is needed.
that's my place.jpg
 

Attachments

  • LT_l_BTP 2.7z
    2.4 KB · Views: 74
So vcskip = true is needed.
Of course, this is purely a quest location you enter once in the story. There will be none of the usual tavern stuff. And for normal taverns, the locator file won't be needed because the standard one suffices completely.

Thanks again for the help. :bow
 
On the contrary, he looks as though he could drink for all eternity, though most of it would end up on the floor under him! I'm just wondering what Sabine Matton - or rather, Sabina <insert random Spanish surname> - is doing there. ;)
 
Actually he is the only one out of 22 people who doesn't drink and only comes here for the company. As you say, it would make too much of a mess if he was drinking.

On the middle table, that's the fabulous Sally Sloop, and she's a seafarer by heart, well known and quite popular with everybody else. She's the stuff of legends Sabine Matton must have heard about and the kind of gal Sabine Matton always wished to be when she was living under the yoke of Arnaud.

Hmm, now I am inventing backstories for these twerps. :rofl
 
Hmm, two general questions:
1) How realistic is it for me to add an item that can be examined to show a picture? Similar to the cipher in Gold-Bug or simply the island maps.
2) How realistic is it for me to add a quest shore to the New Granada mainland?
 
2) How realistic is it for me to add a quest shore to the New Granada mainland?

You want it to be accessible from your ship by mooring to it or only from land locations ?
 
Mooring, and the land locations being separate from Cartagena. Dolphin sands would have been an option, but not anymore because it got its own quest use and new locations.
 
Have you created fake locations before ? One way would be to add a fake shore location and teleport the player there when he reaches shore, or create a separate locator for the new "fake" shore and make it accessible, that would be a bit more complicated, have not done it myself yet, but definitely doable.

Using a fake location (which i do a lot in my storyline) allows you to separate it from the original non quest related locations, so nothing gets messed up.
 
For a better example:

C:
// ==================================================================================================
    // Redmond
        rIsland.id = "Redmond";
        rIsland.model = "redmond";
        rIsland.filespath.models = "islands\redmond";
        rIsland.refl_model = "redmond_refl";
        rIsland.locators = "redmond_locators";
        rIsland.visible = true;
        rIsland.smuggling_nation = ENGLAND;
        // NK -->
        rIsland.towns.quantity = 1;
        rIsland.towns.1 = "Redmond";
        // NK <--

        rIsland.reload.l1.label = "#stown_name# Port"; // KK
        rIsland.reload.l1.name = "reload_2";
        rIsland.reload.l1.go = "REDMOND_PORT";
        rIsland.reload.l1.emerge = "sea_1";
        rIsland.reload.l1.radius = 600.0;
        rIsland.reload.l1.pic = 7;
        rIsland.reload.l1.tex = "t1";
        rIsland.reload.l1.goto_enable = false; // Screwface: Disable Sail-To

        rIsland.reload.l2.label = "Devil's Throat";
        rIsland.reload.l2.name = "reload_1";
        rIsland.reload.l2.go = "Redmond_Shore_01";
        rIsland.reload.l2.emerge = "reload1";
        rIsland.reload.l2.radius = 200.0;
        rIsland.reload.l2.pic = 12;
        rIsland.reload.l2.tex = "t2";
        rIsland.reload.l2.goto_enable = false; // Screwface: Disable Sail-To

        rIsland.reload.l3.label = "Devil's Finger";
        rIsland.reload.l3.name = "reload_4";
        rIsland.reload.l3.go = "Redmond_Shore_01_fake";
        rIsland.reload.l3.emerge = "reload1";
        rIsland.reload.l3.radius = 200.0;
        rIsland.reload.l3.pic = 12;
        rIsland.reload.l3.tex = "t2";
        rIsland.reload.l3.goto_enable = false; // Screwface: Disable Sail-To


Code:
 // -------------------------------------------------
       Locations[n].id = "Redmond_Shore_01_fake";
    locations[n].id.label = "Devil's Finger.";
    locations[n].worldmap = "RShore 1";
    Locations[n].filespath.models = "locations\Outside\Shore_7";
    Locations[n].image = "Outside_Shore_7.tga";
    Locations[n].name = "Devil's Finger";
    //Sound
    locations[n].type = "seashore";
        //Models
    //Always
    Locations[n].models.always.jungle = "Shore07";
    Locations[n].models.always.jungle.foam = "1";
    Locations[n].models.always.locators = "Shore07_l";
    Locations[n].models.always.grassPatch = "Shore07_g";
    Locations[n].models.always.seabed = "Shore07_sb";
    Locations[n].models.always.seabed.foam = "1";

/*    Locations[n].models.always.l1 = "plan_1";
    Locations[n].models.always.l1.level = 9;
    Locations[n].models.always.l1.tech = "LocationModelBlend";
    Locations[n].models.always.l2 = "plan_2";
    Locations[n].models.always.l2.level = 8;
    Locations[n].models.always.l2.tech = "LocationModelBlend";
    Locations[n].models.always.l3 = "plan_3";
    Locations[n].models.always.l3.level = 7;
    Locations[n].models.always.l3.tech = "LocationModelBlend";*/

    //Day
    Locations[n].models.day.charactersPatch = "Shore07_p";
    //Night
    Locations[n].models.night.charactersPatch = "Shore07_p";
    //Environment
    Locations[n].environment.weather = "true";
    Locations[n].environment.sea = "true";
    //Reload map
    Locations[n].reload.l1.name = "reload2";
    Locations[n].reload.l1.go = "Redmond_Town_exit_1";
    Locations[n].reload.l1.emerge = "Reload1";
    Locations[n].reload.l1.autoreload = "1";
    Locations[n].reload.l1.label = "Jungle.";
    Locations[n].locators_radius.reload.reload2 = 3.0;

    Locations[n].reload.l3.name = "reload2_back";
    Locations[n].reload.l3.go = "Redmond_Town_exit_1";
    Locations[n].reload.l3.emerge = "Reload1";
    Locations[n].reload.l3.autoreload = "1";
    Locations[n].reload.l3.label = "Jungle.";
    Locations[n].locators_radius.reload.reload2_back = 3.0;

    Locations[n].reload.l2.name = "boat";
    Locations[n].reload.l2.go = "Redmond";
    Locations[n].reload.l2.emerge = "reload_1";
    Locations[n].reload.l2.autoreload = "0";
    if (VISIT_DECK == 1)
        Locations[n].reload.l2.label = "Ship.";
    else
        Locations[n].reload.l2.label = "Sea.";
    Locations[n].locators_radius.reload.boat = 9.0;


    Locations[n].island = "Redmond"; // NK 04-08-29
    n = n + 1;


All you have to do now is add a reload_4 locator to the island, and it should take you to an identical shore as Redmond_Shore_01. And it might have to be added to a fast travel/sail to files, have not tested it yet, or just remove the rIsland.reload.l3.goto_enable = false;

And you can change the reload locators to other fake locations or just make up your own new jungle/town/other layout :)
 
Last edited:
That version of "Islands_init.c" seems to be ancient. It doesn't have the alternative location for 'rIsland.reload.l2' used by "Woodes Rogers". In any case, you'd need to use 'rIsland.reload.l5' rather than 'rIsland.reload.l2' for your new shore, otherwise you're replacing Devil's Throat and probably throwing the worldmap into confusion because it still thinks Devil's Throat is supposed to be there.

None of which matters if you're trying to add a new shore near Cartagena because you'll want to look at the section for island "Colombia", not the section for "Redmond". ;) But for another example which is already in the game and which does work, take a look at "Conceicao":
Code:
        rIsland.reload.l5.label = "Linda Praia";
        rIsland.reload.l5.name = "reload_4";
        rIsland.reload.l5.go = "Conceicao_Shore_03";
        rIsland.reload.l5.emerge = "see";
        rIsland.reload.l5.radius = 200.0;
        rIsland.reload.l5.pic = 26;
        rIsland.reload.l5.tex = "t2";
        rIsland.reload.l5.enable = false;        
        rIsland.reload.l5.goto_enable = false; // Screwface: Disable Sail-To
That was added by @Bartolomeu o Portugues for his "Family Story" sidequest. There's no provision for this shore on the worldmap so you'll never see it there, and I don't think it appears on the island map either. So you just have to sail round Grenada and find it the hard way. And the same will probably be true if you add a new shore to Colombia, except you can't sail round the "island", you'll just have to sail along the mainland coast looking for the shore...

Just to complicate matters, adding or changing a sea locator doesn't take effect until you start a new game. This is different from land locators which will be there if you change the locator file and then load a saved game. So after you've added the locator to "RESOURCE\MODELS\Islands\Cartahena\Cartahena_locators.gm" (and done all the necessary work to add the location), you'll need to start a new game, sail near Cartagena and try to find the new shore. If it's not where it's supposed to be, you'll need to change the locator, then start a new game, sail near to Cartagena, etc... This is where using TOOL to write locators to a text file, reading the text file into the island model, and saving the result as a new file, really helps. You can then use GM viewer on that new file to see where your locator is. Once it looks right there, write the locators back to the text file, load "Cartahena_locators.gm", read the text file and save the result.
 
That version of "Islands_init.c" seems to be ancient. It doesn't have the alternative location for 'rIsland.reload.l2' used by "Woodes Rogers".
None of which matters if you're trying to add a new shore near Cartagena because you'll want to look at the section for island "Colombia", not the section for "Redmond". ;)

Yes sorry, i just used this as an example, i don't have a fresh install of the mod at work, just found some random junk lying around xD
 
I think I wouldn't need a provision on the world map, just a direction like e.g. "East of Cartagena". Personally I play Arcade mode and always have direct sail available, I think I did so too for the "Family story" landing point. Don't realistic mode player have to find new beaches and ports the hard way anyway?

Also, there would be a provision on a special archipelago map, that's why I asked question 1) above.
 
Other players might prefer "Realistic" mode. (I'm one of them. ;)) It is indeed normally necessary to find new beaches and ports the hard way.

It should be possible to have a document which can be examined. Tying into the system that opens ports and beaches for "Sail To" might be harder, though.

On the other hand, you should be able to close the shore to normal access like this:
Code:
rIsland.reload.l4.enable = false;
rIsland.reload.l4.goto_enable = false;
Then, in quest code to make the shore accessible:
Code:
Island_SetReloadEnableLocal("Colombia", "reload_4", true);
Islands[FindIsland("Columbia")].reload.l4.goto_enable = true;
Something similar is used to open Linda Praia, the special shore on Grenada, during "A Family Story". That should allow access to the shore and probably allow "Sail To" without finding it first or having a map tied into the system. The map will still be useful for anyone playing on an even more difficult setting in which "Sail To" is disabled entirely, or who simply chooses not to use it.
 
I didn't even think that far, meaning I didn't think about the map enabling direct sail. I'm thinking about three treasure maps you collect during three quests (Beatrice, Blaze and Bonnie each - and yes, the treasure map completed at the end of Santiago de Cuba just leads to more treasure maps :razz) Each is an archipelago map which can be examined and has a few beaches all over the caribbean labelled. Some are labelled once, some twice, but only one beach is labelled on all three, and a hint, split between the three maps, tells you to find this place. This quest shore will then be made accessible. As far as I'm concerned, or as far as I've been concerned so far, it could then simply be reachable by direct sail if you either go there a second time or if you play arcade, but will be easy to find anyway.
 
Back
Top