• 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 Error in gambling dialog

A.H

Privateer
Don't know if this is the right place to post this; but I also found a little issue at taverns of Charlestown & Barbados taverns.. this morning I knocked everyone from poker (with my high stakes skill added).. and now apparently something weird is happening.. no one gambles with me.. 80% of the time whenever I go to these town taverns they are angry and always fights happen.

In Spreighstown in particular, the old man who gives you advice.. he is standing up @ the bench when he's supposed to be sitting.. the only changes happening in those taverns is new officers sitting around every once in a while.

However, with regards to gambling, no one is.. is it supposed to be like that after you beat them in gamble games?
Or perhaps could this be the result that I didn't complete the quest where I must find the fiancee of this woman who I won at a gambling in the tavern?
 
Made a seperate topic for this.
The quest might have something to do with it yes. but I have to look into it.
Do you have a savegame for me?
 
Great thanks; I was going to myself but didn't want to cause any spam since I already am posting all my issue findings every hour :D
 
dont be afraid to make topics here. we can always merge them or put them away. but its easiest for us if they are all seperate here at first so we can diagnose them properly.
 
Alrighty.. i'll double check taverns in other cities to see if I can gamble there.. but I confirm 100% that charlestown and barbados somehow I can't gamble anymore..

and there's also another issue related to taverns.. when we brawl/fight.. 90% of the time my master @ arms keep their swords drawn and they are shaking like electricity lol

even when the fight is over .. they just stay there shaking and shaking like a glitch.. and in the same moment if I go hire an officer .. once the new officer pop up, my men kill him right away and/or the officer himself starts attacking me without me provoking him.

For that to go away I have to leave tavern and back.. situation improves however my men still have their swords drawn inside tavern & outside as well.


In Tortuga this enables the Fast walk option to go away.. I have to go back to my ship (manually).. then back to Tortuga again so my men can sheath their swords and I can use fast travel again.. is it a common problem or no one spoke of it before?
 
I now confirm the problem with gambling is in multiple cities as well.. tried in Guadalupe, Port royal, martinique, and st martin as well.
The dialog they tell me when I speak with them: "You're known as the best dice player in these islands" .. then a bar fight happens most of the time.

Is it possible this is happening because of my high stakes skill?
 
Have to look into the dialog. It has nothing to do with the skill tough.
 
The problem is related to this section in Habitue_dialog.c:
Code:
            dialog.snd = "Voice\HADI\HADI003";
             dialog.text = DLG_TEXT[5];
             link.l1 = DLG_TEXT[6];
             link.l1.go = "exit";
             if (makeint(pchar.quest.gambling) >= 100  && makeint(npchar.money) >=100)
             {
               dialog.snd = "Voice\HADI\HADI004";
               Dialog.text = DLG_TEXT[7];
               link.l1 = DLG_TEXT[8];
               link.l1.go = "exit";
             }
             if (makeint(pchar.quest.gambling) >= 50 && makeint(pchar.quest.gambling) < 100  && makeint(npchar.money) >=100)
             {
               dialog.snd = "Voice\HADI\HADI005";
               Dialog.text = DLG_TEXT[9];
               link.l1 = DLG_TEXT[10];
               link.l1.go = "gambling";
               link.l2 = DLG_TEXT[11];
               link.l2.go = "exit";
             }
             if (makeint(pchar.quest.gambling) < 50 && makeint(npchar.money) >=100)
             {
               dialog.snd = pcharrepphrase("Voice\HADI\HADI006", "Voice\HADI\HADI007");
               dialog.text = pcharrepphrase(DLG_TEXT[12], DLG_TEXT[13] + GetMyName(Pchar) + DLG_TEXT[14]);
               if (makeint(pchar.money) >= 100)
               {
                 link.l1 = DLG_TEXT[15];
                 link.l1.go = "gambling";
               }
               link.l2 = DLG_TEXT[16];
               link.l2.go = "exit";
             }
DLG_TEXT[7] and DLG_TEXT[8] are the ones preventing you from doing any further gambling.
This means that if you as player did a lot of gambling AND the NPC does have money, you can NOT gamble.

@Levis, do you know what is the intention behind this code?
Maybe this would make more sense?
Code:
            dialog.snd = "Voice\HADI\HADI003";
             dialog.text = DLG_TEXT[5];
             link.l1 = DLG_TEXT[6];
             link.l1.go = "exit";
             if (makeint(pchar.quest.gambling) < 50 && makeint(npchar.money) >=100)
             {
               dialog.snd = pcharrepphrase("Voice\HADI\HADI006", "Voice\HADI\HADI007");
               dialog.text = pcharrepphrase(DLG_TEXT[12], DLG_TEXT[13] + GetMyName(Pchar) + DLG_TEXT[14]);
               if (makeint(pchar.money) >= 100)
               {
                 link.l1 = DLG_TEXT[15];
                 link.l1.go = "gambling";
               }
               link.l2 = DLG_TEXT[16];
               link.l2.go = "exit";
             }
             if (makeint(pchar.quest.gambling) >= 50 && makeint(npchar.money) >=100)
             {
               dialog.snd = "Voice\HADI\HADI005";
               Dialog.text = DLG_TEXT[9];
               if (makeint(pchar.money) >= 100)
               {
                 link.l1 = DLG_TEXT[10];
                 link.l1.go = "gambling";
               }
               link.l2 = DLG_TEXT[11];
               link.l2.go = "exit";
             }
             if (makeint(pchar.quest.gambling) >= 100 && makeint(npchar.money) <100)
             {
               dialog.snd = "Voice\HADI\HADI004";
               Dialog.text = DLG_TEXT[7];
               link.l1 = DLG_TEXT[8];
               link.l1.go = "exit";
             }
That means the "best dice player on these islands" should occur only if you've done a lot of gambling AND the NPC doesn't have any money to gamble with.
Not sure how often that would happen, but it might occasionally and is probably better than locking the player permanently out of that part of the game.
Might be a bit of a cheat to allow unlimited gambling at luck = 10 though....
 
sounds good to me. We could look at it later if people use it as exploid.
 
Back
Top