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

Trophies in the Free Play mode

Also I've played the engineer quest. Very nice! I guess it's over when I have the gun and the quest book closes (except for stealing the books, but I'm too afraid of the librarian :rofl).

The only thing I didn't quite understand was the notes on the map about left being right and such.
One book is very easy to steal, it's in the treasure chest in the central area. Grab it and run for the exit. :ninja Others are a bit harder; the trick is to grab one, find a bookshelf nearer the exit, and put the book back there before the librarian gets to you.

The map clue is a hint to the method of solving any maze that does not have loops. Whenever you reach a junction, always turn left. Always turning right works as well, the important bit being not to turn left, then right - always turn the same way. You'll probably go over some parts several times but always turning the same way will eventually get you to every part of the maze. Starting with entry 1 and then always turning left works particularly well for the libary. (The same strategy also works for dungeons, except for the one in Kralendijk because that's basically a grid.)
 
I actually indeed have a vague idea for the explorer profession.

It would require the/a cartographer. Would the one in Santiago be usable or would there be any collisions with the family story quest?
Ooh; that sounds exciting!

The map clue is a hint to the method of solving any maze that does not have loops. Whenever you reach a junction, always turn left. Always turning right works as well, the important bit being not to turn left, then right - always turn the same way. You'll probably go over some parts several times but always turning the same way will eventually get you to every part of the maze. Starting with entry 1 and then always turning left works particularly well for the libary. (The same strategy also works for dungeons, except for the one in Kralendijk because that's basically a grid.)
Classic fire-fighter trick: right-hand or left-hand search. :onya
 
I've made a start on the agent quest. At present the requirements are that you're playing FreePlay as an agent and are at least level 10. Later I will probably add requirements for minimum "Sneak" and "Fencing" skills because you're going to need them. For now, a simple level requirement means I can start a game with cheatmode enabled and quickly zap myself up to the required level to test the quest. And so...
agent_briefing1.jpg agent_briefing2.jpg agent_briefing3.jpg agent_briefing4.jpg
The ship name, type and nation are random depending on your nation's international status. Each potential enemy nation has a couple of fixed ports allocated so that I don't have to make allowances for every port in the Caribbean for the action.

So you make your way to the first port - in this case, Havana. You're looking for this guy:
agent_docker.jpg
His nation is set to the chosen enemy nation and his name set randomly to match. So don't go looking specifically for Abudemio Cifuentes; look for someone standing on a dock not doing much. After talking to the docker, you go aboard and are immediately challenged by a guard:
agent_challenge.jpg
The conversation with the guard, and for that matter the docker, is different depending on whether you're male or female. A male agent pretends to be a newly hired worker helping load cargo, a female agent pretends to be a close friend of the captain. You're allowed to proceed, then the action shifts to the hold:
agent_hide.jpg agent_found.jpg
This is where your "Sneak" and "Fencing" are important. Depending on your "Sneak", the guard might not spot you; he looks around a bit more, then leaves. If he does spot you, you have to fight him, and if you survive:
agent_hide_body.jpg

Next thing to code: what happens when the ship arrives at its destination...
 
Last edited:
@Jack Rackham: "quests_reaction.c" now has case "library_for_ever" which is supposed to trigger a self-dialog when you've stolen all the books and faced the consequences. There does not seem to be a trigger for this quest case. So, after managing to grab the whole lot, I saw what happens next (highly amusing :onya), but there was indeed no self-dialog.

Everyone else: if you have not already tried this quest, do it! But if you plan to steal any books, make sure to save game before you do. There is serious punishment if you're caught stealing even one, and if you manage to steal them all... but that would be telling... :p
 
Do you have a newer version of locator file "d02_l_library.gm"? The one I have is dated 22nd June 2021. The reason I'm not getting the self dialog is that "itemlogic.c" triggers it on locator "box13", which does not exist - the box locator near the door in this version of the locator file is "box21".

If you like, I can upload a savegame so you can test the ending. I have a save in which all the books are in the chest in the central area but I have not yet had them all in my inventory, so none of the code for the ending has triggered.
 
That worked - thanks! :onya Not wanting to give any spoilers, I won't say exactly what happened, but I can confirm that the self-dialog does now happen.
 
Here is the short trophy quest for the GAMBLER type in FreePlay (The Poker Tournament). It is triggered during "a girl won in a card game" if you gamble for the girl rather than kill the other gambler. The tournament takes place in a club on Turks over three days. Whether you win or lose you can attend a similar event in six months from the previous tournament if you can raise the stake (20000).

At the moment the AI for poker is poor so it is pretty much a guaranteed income stream. However there may be the potential to improve how the npc plays within the game which could increase the interest in the future.

Naturally the games are played with chips not vulgar cash and if you get all the chips you win and can leave the table. There is a 50 hand limit in case of a stalemate when the most chips wins. There is a three raise limit in play.

There are two new decks of cards (courtesy of JRH) and since one is more modern it is brought into play after 1725. It is basically the change from single headed to double headed court cards which in our reality seems first noted around 1745 in France. So in the POTC reality we have given 20 years for news of the twins invention to seep back to Europe (who else but twins would come up with double headed cards?)

If you miss a day when in the contest or indeed do not return for the next tournament you are not welcome in the club again.

All players, even freeplay gamblers who have not yet started the quest, are free to try and visit the club when they are in Turks.

We have added a note in the WIKI of the side quest to note the possible start.

Compliments of Pedrwyth & @Jack Rackham

NB files should be compatible with 6th July 2021 install
 

Attachments

  • PW JRH GAMBLER files 21-07-23 PART1.7z
    8.4 MB · Views: 118
  • PW JRH GAMBLER files 21-07-23 PART 2.7z
    9.1 MB · Views: 124
"Habitue_dialog.c": normally "npchar.quest.last_theme" is set randomly to 0 or 1, determining whether the character is a drinker or gambler. In case "First time", it's rigged to always be 1 for a gambler so that if you chose to be a gambler, you can never meet a drinker. I'm guessing that was for testing because there's a commented line 'if (makeint(Rand(5)) < 3)npchar.quest.last_theme = "1";' which makes the character more likely to be a gambler but doesn't block a drinker entirely. Any objection to putting that line back into effect and commenting out 'npchar.quest.last_theme = "1";' instead?

Also, at case "speak_in_room_while_see_girl_5a3", I'd like to add an option to decline the tournament. Nothing against the quest, in fact I have every intention of playing it! But not all players might want to, and generally any sidequest should have an option to decline without getting a questbook entry. Otherwise the only ways for a gambler player type to avoid it are to kill the tavern gambler or avoid the "Gambled Girl" quest entirely.
 
"Habitue_dialog.c": normally "npchar.quest.last_theme" is set randomly to 0 or 1, determining whether the character is a drinker or gambler. In case "First time", it's rigged to always be 1 for a gambler so that if you chose to be a gambler, you can never meet a drinker. I'm guessing that was for testing because there's a commented line 'if (makeint(Rand(5)) < 3)npchar.quest.last_theme = "1";' which makes the character more likely to be a gambler but doesn't block a drinker entirely. Any objection to putting that line back into effect and commenting out 'npchar.quest.last_theme = "1";' instead?
Not at all that was the intention, it just got forgotten.

Also, at case "speak_in_room_while_see_girl_5a3", I'd like to add an option to decline the tournament. Nothing against the quest, in fact I have every intention of playing it! But not all players might want to, and generally any sidequest should have an option to decline without getting a questbook entry. Otherwise the only ways for a gambler player type to avoid it are to kill the tavern gambler or avoid the "Gambled Girl" quest entirely.
That makes sense too with an option not to take the second wager. The intention was not to influence how you wanted to approach the "Gambled Girl" at all so better if you're not forced to kill the npc (and you would have to know that was the needed approach) - when of course they are not available for future drinking or gambling. I had thought you would just ignore the invite but in that case why gamble for it and you would be stuck with it and the questbook.
 
Last edited:
Did you hear that, Nigel and Artois?! :D
:rofl

If I recall, after the first forced meeting, you might get a questbook entry to remind you that there's a hireable character on Nevis.
But you're not forced to continue hire them there and then; and eventually the quest would drop to the bottom of the list.
Right?
 
Throwing an idea out there: a quest for the Swordmaster profession could involve a fencing tournament for the title of Champion of the Caribbean or something like that.
 
Throwing an idea out there: a quest for the Swordmaster profession could involve a fencing tournament for the title of Champion of the Caribbean or something like that.
Sounds cool!

But then... how would we make the fencing itself special?
Normally 1-on-1 duels are the a piece of cake...
 
I've had a try at the poker tournament. So far I've only made it through the first day, mainly because someone with some free coding time is going to have to look at the code for renting a room in the tavern. I managed to finish the first day ahead of the opponent, then was told to come back the next day, so I went to the tavern and asked to stay the night. The time was about 9:15 in the morning. When I'd supposedly stayed overnight, it was 10:15 in the morning. I didn't check the date but the bouncer at the tournament did, and told me in no uncertain terms to come back the next day! The tavern seemed to have advanced me to 10:15 but didn't advance the day. So I returned to the tavern, stayed for 8 hours, twice. That made it 02:15 the next day. Wondering if the tournament runs at night, I went back there. I was able to enter, though the place was deserted. From the entrance hall I was able to go into the cardroom, also deserted. But although the door from the hall to the cardroom was open, the door going the other way was not. And so I was stuck. Fortunately I have a savegame from before I went in the first time, so it will be next day actual gaming time that I try again...

What that means is that either the door to the entrance hall needs to be locked for the night, or all the inhabitants need 24 hour logins.

Also, could we move the reload definitions out of "PROGRAM\Locations\init\Turks.c" and into the gambler section of "StartStoryline.c"? That way, anyone who isn't a FreePlay gambler and who can't have anything to do with the tournament won't be distracted.

For similar reason, I've already changed "PROGRAM\DIALOGS\GrandTurks citizen_dialog.c" to make both the links in sections "town" and "info" for the tournament conditional on attribute "quest.poker.allowed". When I tried to talk to the citizen who looks like Joshamee Gibbs, I didn't see anything about the tournament. This is probably because the top level of the dialog has a 50/50 chance of allowing you to get to "town" and another 50/50 chance to get to "info". In "town", it was then another 50/50 chance to get directions to the blacksmith or the tournament. Presumably I didn't get lucky enough to hit the 50/50 chance to get to "info", and when I got to "town", I didn't hit the 50/50 chance to get to the tournament. After changing the file, I was able to see both the information and the directions for the tournament. (And I wonder how many people are going to get the joke about the Longoustine brothers who "think they are big fish"... xD)

There's a mistake in "PROGRAM\DIALOGS\Habitue_dialog.c". There are two "}" in succession just before 'Diag.TempNode = "First time";' at the end of case "First time". In fact, one of them should be at the end of this bit:
Code:
           else
           {
           if (CharPlayerType == PLAYER_TYPE_GAMBLER)
           {
               npchar.quest.last_theme = "1";
               //if (makeint(Rand(5)) < 3)npchar.quest.last_theme = "1";
           }
Attached is a corrected version. Also included are the change to 'npchar.quest.last_theme' and the option to decline the tournament. The revised file works, I didn't decline, which is how I got to the tournament. ;)
 

Attachments

  • Habitue_dialog.c
    24.3 KB · Views: 105
I've had a try at the poker tournament. So far I've only made it through the first day, mainly because someone with some free coding time is going to have to look at the code for renting a room in the tavern. I managed to finish the first day ahead of the opponent, then was told to come back the next day, so I went to the tavern and asked to stay the night. The time was about 9:15 in the morning. When I'd supposedly stayed overnight, it was 10:15 in the morning. I didn't check the date but the bouncer at the tournament did, and told me in no uncertain terms to come back the next day! The tavern seemed to have advanced me to 10:15 but didn't advance the day.
I didn't come across that when testing - I didn't always just use the console but often did the time in the tavern (and I know @Jack Rackham used the tavern to move to the next day too) so i guess it is somehow related to your 09.15 time I will look at it if you like.

So I returned to the tavern, stayed for 8 hours, twice. That made it 02:15 the next day. Wondering if the tournament runs at night, I went back there. I was able to enter, though the place was deserted. From the entrance hall I was able to go into the cardroom, also deserted. But although the door from the hall to the cardroom was open, the door going the other way was not. And so I was stuck. Fortunately I have a savegame from before I went in the first time, so it will be next day actual gaming time that I try again..

What that means is that either the door to the entrance hall needs to be locked for the night, or all the inhabitants need 24 hour logins..
Since my testing (console or using the tavern room) took me to the next day I admit I never tried at night and indeed the entrance will need locking (and unlocking) rather than 24 hour occupancy.

Also, could we move the reload definitions out of "PROGRAM\Locations\init\Turks.c" and into the gambler section of "StartStoryline.c"? That way, anyone who isn't a FreePlay gambler and who can't have anything to do with the tournament won't be distracted.

For similar reason, I've already changed "PROGRAM\DIALOGS\GrandTurks citizen_dialog.c" to make both the links in sections "town" and "info" for the tournament conditional on attribute "quest.poker.allowed". When I tried to talk to the citizen who looks like Joshamee Gibbs, I didn't see anything about the tournament. This is probably because the top level of the dialog has a 50/50 chance of allowing you to get to "town" and another 50/50 chance to get to "info". In "town", it was then another 50/50 chance to get directions to the blacksmith or the tournament. Presumably I didn't get lucky enough to hit the 50/50 chance to get to "info", and when I got to "town", I didn't hit the 50/50 chance to get to the tournament. After changing the file, I was able to see both the information and the directions for the tournament.
Much less happy about all of this. The intention and coding allows anyone who is not a Freeplay Gambler to enter the entrance hall and have dialogue that showcases the existence of the tournament and the idea of being a gambler. That's why the two npc's are not setup in freeplay but in the general code. Of course you don't have to go there or ask about it.

Similarly the citizen dialogue appearing on chance, therefore on occasion, is to draw attention to a possible poker tournament somewhere in the game even if it is not available to pchar in that incarnation - the poker building exists and you can visit it, well the entrance hall anyway. So much less intended to generate instructions how to find it- it doesn't give complete directions/open fast travel anyway of course. The double RR sign on the building also has the same purpose. So I certainly don't appreciate the dialog being limited to only if the tournament is actually in play.

Incidentally the citizen dialogue needs a lot of work since it has the name and elsewhere sex of the blacksmith wrong, talked of the wrong storekeeper, island description etc. I was thinking of fixing some of that.

(And I wonder how many people are going to get the joke about the Longoustine brothers who "think they are big fish"... xD)
Cross cultural references are difficult, once I hinted JRH to search for just Ronnie and Reggie not Ronald and Reginald Longoustine he found them and made the connection. Of course you could search for The Double RR Club instead

Thanls for the fixes to Habitue_dialog.c,
 
Since my testing (console or using the tavern room) took me to the next day I admit I never tried at night and indeed the entrance will need locking (and unlocking) rather than 24 hour occupancy.
Locking should be simple, just add this to the reload:
Code:
Locations[n].reload.l19.close_for_night = 1;
That's how the store, for example, is locked at night.

Much less happy about all of this. The intention and coding allows anyone who is not a Freeplay Gambler to enter the entrance hall and have dialogue that showcases the existence of the tournament and the idea of being a gambler. That's why the two npc's are not setup in freeplay but in the general code. Of course you don't have to go there or ask about it.

Similarly the citizen dialogue appearing on chance, therefore on occasion, is to draw attention to a possible poker tournament somewhere in the game even if it is not available to pchar in that incarnation - the poker building exists and you can visit it, well the entrance hall anyway. So much less intended to generate instructions how to find it- it doesn't give complete directions/open fast travel anyway of course. The double RR sign on the building also has the same purpose. So I certainly don't appreciate the dialog being limited to only if the tournament is actually in play.
Whereas I am extremely unhappy about this. It's basically telling the player "You're playing the wrong story and character, go and play this instead". It spoils immersion in whichever story or character type the player has chosen. For the same reason, the agent quest which I'm writing will be given by a governor and he'll only say anything about it if you're a FreePlay agent and have achieved whatever is required to earn the mission. Likewise, I've set up "House of Gilbert Downing" in the "Ardent" storyline, where the reload leading to it is set up in "StartStoryline.c" so it doesn't impact on anyone else's storyline. (It also means the same building can be used by other storylines if they do the same.)

Perhaps simply lock the door to the clubhouse except when the tournament is in effect? The label is "Entrance Hall" which is fairly neutral; it hints to players that there's something to be found there without spoiling their chosen story.

Cross cultural references are difficult, once I hinted JRH to search for just Ronnie and Reggie not Ronald and Reginald Longoustine he found them and made the connection. Of course you could search for The Double RR Club instead
I didn't know about the original Double R club - I just recognised Langoustine as a type of shellfish and made the connection from there.
 
Back
Top