• 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

I generally like a certain amount of "cross-promotion" in the game, and don't think it spoils the immersion easily. When a closed door says "here is special location XY, only available in Woodes Rogers 2" I get curious what @Jack Rackham is cooking up without feeling like it spoils or takes me out of what I'm currently doing (I btw still haven't gotten to properly play part 2 because of various reasons). I think leaving certain reload locators so they can used differently in different storylines mostly makes sense for distinctive locations rather than random doors.
 
The clubhouse also has a sign now: The RR club. In all storylines. Not just in FreePlay gambler, so the hinting is on.
Yes, I'd spotted that - nice work! The sign by itself isn't a problem; without the other hints, it's not going to spoil other storylines or FreePlays with other character types.
 
So I've made it to the tournament. I haven't managed to win the whole lot yet - the third opponent seems tougher to beat.

And I can't see how to raise. At the start of the day's game, I can raise the stake. After that, I can't change it during the game at all. Is that how it's supposed to work?

Anyway, I've been a "gallant loser" a few times, but I haven't given up - I'm going to get that trophy eventually!
 
So I've made it to the tournament. I haven't managed to win the whole lot yet - the third opponent seems tougher to beat.

And I can't see how to raise. At the start of the day's game, I can raise the stake. After that, I can't change it during the game at all. Is that how it's supposed to work?

Anyway, I've been a "gallant loser" a few times, but I haven't given up - I'm going to get that trophy eventually!

No once you set your wished stake level it returns to that after each hand but you can change it before you click on the card deck for the next hand. I suggest 200 as a good stake because you are allowed three raises which go 500, 1000, 2000 (the max without High Stakes) if you think you have a winning hand. You may need to move it dowm to 100 if that is all your opponent (or you) have left.

The raise is after you see what cards your opponent changes (which gives you some idea what they may have) just click on bet again BEFORE you click on the opponent portrait again to reveal the hand - unless that is not working in your game for some reason?

The hand count gives you another notional challenge - to beat the opponent in less hands than your previous best.

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.)

Whilst I in no way agree with your characterisation of the impart of having the characters in other storylines I have (believe it or not) only just realised that only in TOSH other than Freeplay (and maybe Devlin Opera as was) CAN you change the character type. So I can see that it is superfluous if you cannot ever retry another storyline playing as a gambler to have them there. Originally I had any gambler able to gain the quest but closed it down to freeplay only, since it was supposed to be a trophy for freeplay, but if the opportunities are so limited it could be that any of these trophy quests that do not clash with the storyline of TOSH could in time be extended to encourage other character types within a plot line as well as freeplay.
 
No once you set your wished stake level it returns to that after each hand but you can change it before you click on the card deck for the next hand. I suggest 200 as a good stake because you are allowed three raises which go 500, 1000, 2000 (the max without High Stakes) if you think you have a winning hand. You may need to move it dowm to 100 if that is all your opponent (or you) have left.

The raise is after you see what cards your opponent changes (which gives you some idea what they may have) just click on bet again BEFORE you click on the opponent portrait again to reveal the hand - unless that is not working in your game for some reason?

The hand count gives you another notional challenge - to beat the opponent in less hands than your previous best.
Indeed this is not working. I can change the initial stake right at the start of the day's gaming. After that I can never change it at all - not before clicking the opponent's portrait to reveal his hand, not before clicking the card deck to start the next hand.

Whilst I in no way agree with your characterisation of the impart of having the characters in other storylines I have (believe it or not) only just realised that only in TOSH other than Freeplay (and maybe Devlin Opera as was) CAN you change the character type. So I can see that it is superfluous if you cannot ever retry another storyline playing as a gambler to have them there. Originally I had any gambler able to gain the quest but closed it down to freeplay only, since it was supposed to be a trophy for freeplay, but if the opportunities are so limited it could be that any of these trophy quests that do not clash with the storyline of TOSH could in time be extended to encourage other character types within a plot line as well as freeplay.
I'm afraid I'm going to have to insist here - when I said "extremely unhappy", I meant it, and I do not use that term lightly even without the emphasis. I can not in good conscience include the quest it if will ruin my games and possibly other people's as well. Obviously I don't want to leave the quest out entirely because a lot of work has clearly gone into it, and it will be of great interest to anyone who wants to play as a gambler. Therefore please allow the poker house reload locator and the citizen hints to be only available to FreePlay gamblers.
 
it if will ruin my games
I've tested from Assassin (not gambler) and Standard (gambler) to got to Turks and enter the RR club. I didn't find anything useful for me there so I left.
Nothing was ruined. :shrug
 
Therefore please allow the poker house reload locator and the citizen hints to be only available to FreePlay gamblers.

Err I thought that was what I had done " So I can see that it is superfluous if you cannot ever retry another storyline playing as a gambler to have them there." I don't see it for freeplay but you're in charge of the code so I guess that too will be locked out.

As I said later I may change it later to allow a gambler in TOSH (standard)the trophy quest in addition but only if you chose that character type.

Can you let me have a copy of your gamble.c because there must be something different in there. because I can do as I described.
 
Err I thought that was what I had done " So I can see that it is superfluous if you cannot ever retry another storyline playing as a gambler to have them there." I don't see it for freeplay but you're in charge of the code so I guess that too will be locked out.
Sorry, my misunderstanding. :oops: All is well, then.

Can you let me have a copy of your gamble.c because there must be something different in there. because I can do as I described.
I thought I'd tried clicking "Bet" at every possible time; in fact it seems I'd tried it at every possible time except the two points where it actually works! Armed with your advice from post #164, I was able to change the stake later and also to raise during the game, and this time I didn't just beat opponent number 3, I cleaned him out. By contrast, before I knew how to raise, I was doing well if I could end round 50 with more chips than opponents 1 or 2.

There was one final bug. After I'd won the tournament, I tried to talk to the twins to see if they had anything else to say, which they didn't as they're then in actor mode - no problem there. Then I tried talking to the other competitors and found that they're presumably using the normal "Habitue_dialog.c" because two of them offered to drink and one of them offered to gamble. The gambler then tried to sit down and so did I, but not at any tables. After we'd played a bit, now using standard cards instead of the tournament specials, I stood up and he remained sitting in midair.

But to terminate this post on a positive note, I loved the player's final line after the presentation! :onya
 
There was one final bug. After I'd won the tournament, I tried to talk to the twins to see if they had anything else to say, which they didn't as they're then in actor mode - no problem there. Then I tried talking to the other competitors and found that they're presumably using the normal "Habitue_dialog.c" because two of them offered to drink and one of them offered to gamble. The gambler then tried to sit down and so did I, but not at any tables. After we'd played a bit, now using standard cards instead of the tournament specials, I stood up and he remained sitting in midair.

No although they are using habitue_dialogue.c but they should continue to give a random thought about poker. I know you changed where a bracket was in the habitue file but just presumed you would be correct - I haven't looked at it rather waiting for the conclusion to your playthrough. I will look at the changed file because I suspect it has removed their random saying and pchar random response. In any event my in-game file does give continuation of non tavern responses which you should also have got if you talk to any of them during the tournament because otherwise if you talk to the waiting players you would indeed get that behaviour of a game at no table at all - rather a game breaker. Otherwise it will possibly be an attribute removed late on for tidying without re-checking the effect. As I say it's fine in my game version.

EDIT It looks to me it is that moved bracket. The different dialogue for turks_poker_room should be one test if that passes none of the rest is required. The else apply to everything after ie how the file was with the switch between drink or gamble (except with the added test to make gambling a more frequent choice in taverns everywhere for a gambler). So it was in the correct position to achieve that I think. Perhaps I should have put a comment against it to explain.ENDEDIT REEDIT and in retrospect to avoid more complexity to that file it could just as easily been a separate dialogue file for them. FURTHER EDIT It is just that habitue dialog is used within gamble.c to a minor extent. END
 
Last edited:
Yes, I'd come to the same conclusion. I tried to guess where the bracket was supposed to go, got confused by the lack of indentation, and guessed wrong. I've put the bracket back where it belongs and added a lot of indentation so that it's clear where various blocks begin and end.

Some time I'd like to move all the dialog stuff used by "gamble.c" out of "Habitue_dialog.c/h" and into either "common.ini" or "interface_strings.txt", where "gamble.c" can then access it through 'TranslateString' (or 'XI_ConvertString', if it's in "common.ini"). That would make it possible for characters who don't use "Habitue_dialog" to gamble. And then I'd like to switch the soldier who gambles for smuggling times from using poker to using vingt-un, mainly because dice is show-cased in the "Gambled Girl" quest, poker is now showcased in your tournament, leaving vingt-un as the only gambling game with no special use.
 

Attachments

  • Habitue_dialog.c
    24.3 KB · Views: 184
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.
What's wrong?
Oh... that's wrong.
Which code is doing this again?

When I tried to talk to the citizen who looks like Joshamee Gibbs
Why is there a second Gibbs? :shock

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.
I've said it before and I'll say it again: the more stuff IS available to ALL players, the better it is.

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.
Personally I'd be much more interested in adding some sort of functionality so ANY player could unlock ANY player-type gameplay in mid-game.
Maybe a magician somehow? Who can change your past?

I just can't imagine many people playing a gazillion separate New Games.
So why deprive them of quality content...?
I still don't get it.

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.
:bow :bow
 
What's wrong?
Oh... that's wrong.
Which code is doing this again?
Possibly the code in each tavern keeper's dialog, possibly the code for making you sleep in the tavern.

Why is there a second Gibbs? :shock
He's not a second Gibbs as such. Jo Peixe is Gibbs' twin brother, or clone, or at least uses the same character model ("bocman5"). He's been like that for ages, certainly since at least Build 14 Beta 3. As that model isn't used for much else other than Joshamee Gibbs, Jo Peixe is the Grand Turk citizen most easily identified as a citizen rather than a random walker, which is why I used him as a test for the new citizen dialog.
 
Not really related to a trophy quest but sort of arising from looking at Grand Turk here is an attempted revised citizen dialogue. I have tried to reflect what is on the island and some changes related to periods. I am not particularly attached to any of it if it needs changing or there are somethings extra which could be added (for example the library, loanshark etc still gets no mention). It will need merging with the attribute checked version for the poker tournament.
 

Attachments

  • GrandTurks citizen_dialog.c
    12.2 KB · Views: 171
  • GrandTurks citizen_dialog.h
    9.3 KB · Views: 160
I've been working on replacing all the "DLG_TEXT" references in "gamble.c" with 'XI_ConvertString', copying all the required lines from "Habitue_dialog.h" into "common.ini". The result is that "gamble.c" no longer relies on the dialog file, which means I'm finally rid of the error messages about repeated declaration of "DLG_TEXT". In doing so, I found two weirdnesses and one bug relating to the poker quest.

Weirdness 1: before I did all this, your opponents in the tournament didn't prompt you when to raise, which is why I never figured it out until @pedrwyth gave detailed instructions. With the line prompting you to raise now using 'XI_ConvertString', the opponents in the tournament do now prompt you. I can't find any explicit code to prevent the tournament opponents giving the prompt, though it would be easy enough. So, @pedrwyth and @Jack Rackham, do you want the tournament opponents to tell you when you can raise?

Weirdness 2: with all the "DLG_TEXT" replaced by 'XI_ConvertString', I commented out the 'string DLG_TEXT[162]' line at the top of "gamble.c". After that, the tournament reliably crashed when I sat down for the third game. Putting back the line, even declaring it as 'string DLG_TEXT[1]', made the third day work. The only difference I could see was that, in dialog file "Poker Twins_dialog.c", case "Gambling2" has the code for setting up "Gambler 3" in a different order from the code for "Gambler 2" in case "Gambling1". I copied the code from "Gambling1" into "Gambling2", changed the character name, put back the lines giving the trophy to Ron, and after that the tournament worked perfectly.

Bug: after winning the tournament, I continued my gambling career in Port Royale tavern, where poker was still labelled "Day Three". "gamble.c" checks attribute "quest.poker.day" to decide whether to override the default title "Poker", and the attribute is presumably still set after the tournament is over. Not wanting to mess with quest attributes in case they're still needed, I put a condition round the code which sets the tournament titles so that they only appear if you're in the tournament room.

Also:
to avoid more complexity to that file it could just as easily been a separate dialogue file for them.
Now done. I've moved the dialog for the tournament opponents into a new file just for them, removed it from "Habitue_dialog.h" (along with a few more lines near the end relating to vingt-un), changed the opponents' character definitions to use the new file, and tried talking to them during the tournament. It worked.

Final tests: I loaded a savegame from just before starting the tournament, played to lose (exited all three games after the first hand), checked that the trophy hand-over worked when someone else wins. Then I loaded the savegame again, played to win, and got the trophy. The title properly showed each day. Finally I tried poker in Port Royale after the tournament and it now correctly showed the normal "Poker" title.

Edit: one other minor bug - there was nothing in "common.ini" for "HighCard", so if both you and the opponent have a non-flush hand with highest card less than ten, the winning hand is just reported as "!". I've added an entry translating it as "High Card". It's still not quite right, for example king high will be reported as "High Card! Kings" as if you had more than one king, but at least it's better than "! Kings".

None of this is in the next update folder yet, so if there are any objections, everything can stay as it is now.
 
Last edited:
Engineer quest: I don't think a walkthrough is needed. The quest isn't that difficult.
 
I've been working on replacing all the "DLG_TEXT" references in "gamble.c" with 'XI_ConvertString', copying all the required lines from "Habitue_dialog.h" into "common.ini". The result is that "gamble.c" no longer relies on the dialog file, which means I'm finally rid of the error messages about repeated declaration of "DLG_TEXT".
...
None of this is in the next update folder yet, so if there are any objections, everything can stay as it is now.
No objections, so it's going in. @Jack Rackham, @pedrwyth: the question still remains: do you want the tournament opponents to tell you when you can raise the bet, or do you want to assume that anyone in the tournament should already know how poker works?
 
No objections, so it's going in. @Jack Rackham, @pedrwyth: the question still remains: do you want the tournament opponents to tell you when you can raise the bet, or do you want to assume that anyone in the tournament should already know how poker works?

I find it strange that your opponent prompts you to raise and the "that's enough raising", which I think accompanied it, even stranger so my preference would be not to have that in the tournament and presume that anyone playing it would realise they are still able to raise at the appropriate moment. If later there are comments an explanation could go in the wiki walkthrough but other than that I currently see no need of a walkthrough for the poker tournament.

However there is a need for a walkthrough for the "duel" start and ensuing developments I would think (although I have never actually played it through) and I guess the place for this is in that new walkthrough section. I will add a note about the existence of the tournament in that new section though.
 
Last edited:
I find it strange that your opponent prompts you to raise and the "that's enough raising", which I think accompanied it, even stranger so my preference would be not to have that in the tournament and presume that anyone playing it would realise they are still able to raise at the appropriate moment. If later there are comments an explanation could go in the wiki walkthrough but other than that I currently see no need of a walkthrough for the poker tournament.
It's entirely possible to reach the tournament without having played any poker - I did, and couldn't figure out when to raise until you explained it in detail! Gambler players may have earned the "Girl Won in a Card Game" quest by playing the other games, received the invitation, and gone to Turks Island to find out more.

But it should be easy enough to disable the messages. I still can't figure out why the messages don't appear when "gamble.c" uses "DLG_TEXT" but do when it uses "XI_ConvertString", but a simple condition should explicitly block each message, e.g.:
Code:
           if(GetAttribute(playerChar, "location") != "Turks_poker_room")
           {
               infoText = XI_ConvertString("enough_raising");
               SetFormatedText("INFO_TEXT", infoText);
           }

However there is a need for a walkthrough for the "duel" start and ensuing developments I would think (although I have never actually played it through) and I guess the place for this is in that new walkthrough section. I will add a note about the existence of the tournament in that new section though.
Thanks! :onya
 
Update: the condition works. I've tested it by playing poker both in a tournament and in a tavern. The tournament does not show prompts for raising, the tavern does.

Attached is a file with what I've done for gambling and drinking. It includes the revised version of "gamble.c" using "XI_ConvertString" instead of "DLG_TEXT", revised version of "Poker Twins_dialog.c" so that "gamble.c" works, new dialog file "Poker_Gamblers_dialog" for the tournament opponents, and new tavern characters in Havana and Santiago. You'll need to start a new game for all this to take effect. Give it a try - I've played the poker tournament to completion but perhaps you'll spot something I overlooked.
 

Attachments

  • gamble_update.zip
    207.6 KB · Views: 142
Back
Top