• 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 Stormy Start on Hispaniola

Grey Roger

Sea Dog
Staff member
Administrator
Storm Modder
If you do a Stormy Start and are sent to Hispaniola, you pretty well have to cheat to get to your ship.

Hispaniola has four beaches. Boca de Yuman connects to Santo Domingo; Boca de Hubon connects to Port au Prince: Cape Francos and Ile de Vache don't connect to any town; and none of them connect to any other beach. So the only way to get to your ship is by fast travel, which sort of defeats the whole idea of having to search for the ship. (I started at Boca de Yuman. The ship was at Ile de Vache.)
 
Didn't @Jack Rackham fix something like that a whole ago?
It sounds extremely familiar; maybe he still knows the details?
It's probably mentioned on the forum somewhere as well.

Should just be a simple one-line change in both_reaction.c .

Is this the Standard or Free Play storyline? Maybe the fix made it only in one of those two?
 
Found it. @Jack Rackham did indeed apply the same fix to both "standard" and "FreePlay", but his fix (as indicated by comments, at least) was only for "Hispaniola_shore_02":
Code:
               case 12:
                   loadPort = "Hispaniola_shore_01";
                   loadTown = "Hispaniola_shore_01";
                   rldLocator = "reload1";
               break;

               case 13:
                   loadPort = "Hispaniola_shore_02"; // JRH: was Hispaniola_shore_03, but ship nowhere to be found
                   loadTown = "Hispaniola_shore_02"; // JRH: so not separated from ship anymore
                   rldLocator = "reload1";
               break;
That's from the "standard" version. This is case 12 in "FreePlay":
Code:
               case 12:
                   loadPort = "Hispaniola_shore_04"; // PB (separated from ship)
                   loadTown = "Hispaniola_shore_01";
                   rldLocator = "reload1";
               break;
That fits. "Hispaniola_shore_01" is Boca de Yuman, "Hispaniola_shore_04" is Ile a Vache. I'll change it to be the same as the "standard" version, unless you object, since putting the ship at Ile a Vache seems to have been your idea. :p
 
Found it. @Jack Rackham did indeed apply the same fix to both "standard" and "FreePlay", but his fix (as indicated by comments, at least) was only for "Hispaniola_shore_02":
Ah, that explains it. :onya

I'll change it to be the same as the "standard" version, unless you object, since putting the ship at Ile a Vache seems to have been your idea. :p
It seems to have been a bad idea! :rofl

The intention was to have you separated from your ship, which I think was also there in @CouchcaptainCharles' or @konradk's original concept.
But with me being too unfamiliar with the specifics, it didn't occur to me that those locations are unconnected.
If you can maintain that original intention in an actually playable way, that would be very welcome.
If not, then playability prevails. Of course. ;)
 
On Hispaniola, I don't think it's possible unless you want either the ship or the player to start in port. Which, incidentally, already happens on Puerto Rico - there is no other beach for the ship to go, so you're on the beach and your ship is in town.

So I could change case 12 to put you on Boca de Yuman and your ship in Santo Domingo. And, for that matter, case 13 could change so that you're at Boca de Hubon and your ship is in Port au Prince, probably the most challenging option since there are several jungle locations in between. Take the wrong turn and you end up in Buccaneers Camp. Take the really wrong turn and you end up in Port au Prince fort...
 
Ship in port is actually not such a bad idea, is it?
I don't object. :cheeky
 
Sounds to me like a good fix :).
 
This is going into both the "standard" and "FreePlay" versions of "both_reaction.c":
Code:
               case 12:
                   loadPort = "Santo_Domingo_port";   // Ship to Santo Domingo
                   loadTown = "Hispaniola_shore_01";   // Player to Boca de Yuman
                   rldLocator = "reload1";
               break;

               case 13:
                   loadPort = "PoPrince_Port";       // Ship to Port au Prince
                   loadTown = "Hispaniola_shore_02";   // Player to Boca de Hubon
                   rldLocator = "reload1";
               break;
I've tested it by changing the 'switch(rand(STORMY_START_CHOICES) )' line to 'switch(12)' and running a stormy start, then doing it again with 'switch(13)'. Both times I spawned correctly on the relevant beach and the ship was in port where it was supposed to be.
 
Update: Cayman has a similar problem. If you land at Eden Rock then your ship is at Sand Bluff, but you can't walk to Sand Bluff. So both versions of "both_reaction.c" which will be in the next update are changed so that, if you land at Eden Rock, your ship is at Cayman Kai, and vice versa. You can walk between those two, via Grand Cayman - the landward gate from town leads to one, and the path from the port leads to the other.
 
Back
Top