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

Mod Release Build 14 Beta 3 Progress

So would it be recommended for me to change those numbers in the next release?
 
Now i'm playing the Master and Commander storyline, and in the first moments of the storyline, i decided to use the trick of the guys who give you advices and improve your leadership and luck, but.... it feels like a kick in the ass. Sorry to say that.

The differences between Beta 3.1 and Beta WIP 3.2 are that the random dialog to choose is most of the times that one which trys to grab the purse but it says to you that it has a boobytrapper. Sometimes the aleatory dialog put as first option the direct grab of the purse which decreases your reputation 3 points. In other words, here are my estimated probabilities of the dialog with the purse:

  • Try to grab the purse but with boobytrap: 70%
  • Grab directly the purse: 30%
  • Tell the guy the purse is going to fall: 0%
I hate that there isn't any chance of getting directly the help to that guy with the purse with the aleatory dialog. Is it possible to fix this and put some chance of that option? If not, please tell me where it appears those things, and i will try to test and change the values. With that, it could probably be my first "mini-patch" on the community :p
 
Its in enc_walker.c (in the DIALOG folder).
Good luck on figuring it out.
Something seems to be wrong indeed but I haven't had time to check what.
 
The differences between Beta 3.1 and Beta WIP 3.2 are that the random dialog to choose is most of the times that one which trys to grab the purse but it says to you that it has a boobytrapper. Sometimes the aleatory dialog put as first option the direct grab of the purse which decreases your reputation 3 points. In other words, here are my estimated probabilities of the dialog with the purse:

  • Try to grab the purse but with boobytrap: 70%
  • Grab directly the purse: 30%
  • Tell the guy the purse is going to fall: 0%
I hate that there isn't any chance of getting directly the help to that guy with the purse with the aleatory dialog. Is it possible to fix this and put some chance of that option? If not, please tell me where it appears those things, and i will try to test and change the values. With that, it could probably be my first "mini-patch" on the community :p
Nothing has been changed in that file that should change the chances though. Why would it be different?
Unless the new "Female Officer Percentage" code in there threw things out of whack a bit. o_O
 
For trying to discover the problem, if it's possible, i would like that one of you could bring me the archive that @Levis mentioned to me of Build 14 Beta 3.1 . With that, it should be more easy to me to discover what is the problem. I would really aprreciate you :)
 
By the way, if i want to pick only some lines of an archive and put on here, how i can put them here? I saw you could put some lines there.

EDIT: Doesn't matter i have found it.

Interestingly, the two archives become diferent right at the start... Let me see more, this is not easy.
 
Right. I don't know really very well which are the lines that have errors, but i have found diferences between these two. Maybe these differences should be from the fixes put on Beta 3.2 WIP. Anyway, just take a look and tell me what you think and what do you have found.

This is from the first lines. From Beta 3.1:

Code:
int winlink;    //ccc

    switch(Dialog.CurrentNode)
    {
        case "First time":
            Dialog.defAni = "dialog_stay1";
            Dialog.defCam = "1";
            Dialog.defSnd = "dialogs\0\017";
            Dialog.defLinkAni = "dialog_1";
            Dialog.defLinkCam = "1";
            Dialog.defLinkSnd = "dialogs\woman\024";
            Dialog.ani = "dialog_stay2";
            Dialog.cam = "1";
            Dialog.snd = "dialogs\0\009";

            int chance = Rand(13);
            while(CheckAttribute(PChar, "required_item") && chance==12) chance = Rand(13);//MAXIMUS: prevents from doubled treasure-quests
            if (ModelIsType(NPChar.model, "poor_citizens") || ModelIsType(NPChar.model, "low_citizens"))
            {
                // poor
                while(chance == 10) chance = Rand(13);                    // LDH poor people aren't officers - 07Feb09
            }
            else
            {
                // not poor
                while(chance == 8 || chance == 9) chance = Rand(13);    // LDH only poor people are beggars - 07Feb09

From Beta WIP 3.2:

Code:
int pickgold;

    switch(Dialog.CurrentNode)
    {
        case "First time":
            Dialog.defAni = "dialog_stay1";
            Dialog.defCam = "1";
            Dialog.defSnd = "dialogs\0\017";
            Dialog.defLinkAni = "dialog_1";
            Dialog.defLinkCam = "1";
            Dialog.defLinkSnd = "dialogs\woman\024";
            Dialog.ani = "dialog_stay2";
            Dialog.cam = "1";
            Dialog.snd = "dialogs\0\009";

            int maxChance = 14;

            bool disAllow8 = false;
            bool disAllow10 = false;
            bool disAllow12 = false;

            // Aconcagua: only first go: have one more!
            // as we are filtering out part of the officer due to sex (suppore probability is 50%)
            // lets double the chance for them (-> consider highest equal to 10)
            // (seems complicated, but sex is already fix here and I did not want to change probabilities)
            if(CheckAttribute(PChar, "required_item"))
                disallow12 = true;
            if (ModelIsType(NPChar.model, "poor_citizens") || ModelIsType(NPChar.model, "Lower_Citizens"))
                disallow10 = true;
            else
                disallow8 = true;
             // Aconcagua: special handling for female officers!
            bool femaleOfficer = Rand(99) < FEMALE_OFFICER_PERCENTAGE;
            if(femaleOfficer && NPChar.sex == "woman")
                disallow10 = true;
            else if(!femaleOfficer && NPChar.sex == "man")
                disallow10 = true;

            bool calcNew = true;
            int chance;
            while(calcNew)
            {
                chance = Rand(maxChance);
                calcNew = false;
                if(disallow8)
                {
                    if(chance == 8 || chance == 9)
                        calcNew = true;
                }
                if(disallow10)
                {
                    if(chance == 10 || chance == 14)
                        calcNew = true;
                }
                if(disallow12 && chance == 12)
                    calcNew = true;
            }
            if(chance == 14)
                chance = 10;

Also, if we continue, here are more of them. Here it is only in some lines. From Beta 3.1, it is minus, and in Beta WIP 3.2, it is on mayus. From Beta 3.1:

Code:
case "torg":
            NPChar.itemtrade.tradetype = IT_TYPE_SNEAKY; // TIH properly set the trader type

            if (npchar.quest.Meeting != lastspeak_date)
            {
                GiveItemToTrader(npchar);
                npchar.quest.Meeting = lastspeak_date;
            }

            Diag.CurrentNode = "once_more";
            DialogExit();

            LaunchItemsTrade(NPChar);
        break;

From Beta WIP 3.2:

Code:
        case "torg":
            NPChar.itemtrade.tradetype = IT_TYPE_SNEAKY; // TIH properly set the trader type

            if (NPChar.quest.Meeting != lastspeak_date)
            {
                GiveItemToTrader(NPChar);
                NPChar.quest.Meeting = lastspeak_date;
            }

            Diag.CurrentNode = "once_more";
            DialogExit();

            LaunchItemsTrade(NPChar);
        break;

More lines at the near bottom of the files....

From Beta 3.1:

Code:
case "moneydouble":
            PlayStereoSound("INTERFACE\took_item.wav");
            AddMoneyToCharacter(pchar, sti(NPChar.money));
            Log_SetStringToLog(LanguageConvertString(tmpLangFileID,"You got") + " " +  sti(NPChar.money) + " " + XI_ConvertString("gold."));
            if(AUTO_SKILL_SYSTEM) { AddPartyExpChar(pchar, "Sneak", 100+sti(NPChar.money)/4)); }
            else { AddPartyExp(pchar, 100+sti(NPChar.money)/4)); }
            d.Text = DLG_TEXT[248];
            Link.l2 = LinkRandPhrase(DLG_TEXT[249], DLG_TEXT[250], DLG_TEXT[251]);
            Link.l2.go = "exit_outrep";
            Link.l3 = LinkRandPhrase(DLG_TEXT[252], DLG_TEXT[253], DLG_TEXT[254]);
            Link.l3.go = "jewel";

From Beta 3.2 WIP:

Code:
case "moneydouble":
            PlayStereoSound("INTERFACE\took_item.wav");
            {
                // Aconcagua: use pickgold stored at "stolen" instead of whole money
                pickgold = sti(NPChar.pickgold);
                AddMoneyToCharacter(PChar, pickgold);
                // Aconcagua: need to take money from char, too -> attacking afterwards does not double stolen money!
                AddMoneyToCharacter(NPChar, -pickgold);
                Log_SetStringToLog(LanguageConvertString(tmpLangFileID,"You got") + " " +  NPChar.pickgold + " " + XI_ConvertString("gold."));
                if(AUTO_SKILL_SYSTEM) { AddPartyExPChar(PChar, "Sneak", 100+pickgold/4)); }
                else { AddPartyExp(PChar, 100+pickgold/4)); }
            }
            d.Text = DLG_TEXT[248];
            Link.l2 = LinkRandPhrase(DLG_TEXT[249], DLG_TEXT[250], DLG_TEXT[251]);
            Link.l2.go = "exit_outrep";
            Link.l3 = LinkRandPhrase(DLG_TEXT[252], DLG_TEXT[253], DLG_TEXT[254]);
            Link.l3.go = "jewel";

This is for now what i have found. I will put in other post the next findings.
 
Not so far away from the last lines on the previous post, i have found more differences...

From Beta 3.1:

Code:
case "moneyback":
            if(rand(100)>30)
            {
                PlayStereoSound("INTERFACE\took_item.wav");
                AddMoneyToCharacter(pchar, FakeMoney);
                Log_SetStringToLog(LanguageConvertString(tmpLangFileID,"You got") + " " +  FakeMoney + " " + XI_ConvertString("gold."));
                if(AUTO_SKILL_SYSTEM) { AddPartyExpChar(pchar, "Sneak", 100+makeint(FakeMoney/4))); }
                else { AddPartyExp(pchar, 100+makeint(FakeMoney/4))); }
                d.Text = DLG_TEXT[245];
                Link.l1 = DLG_TEXT[247];
                Link.l1.go = "donation";
                Link.l2 = DLG_TEXT[246];
                Link.l2.go = "exit_out";
            }
            else
            {
                GiveItem2Character(pchar, "jewelry"+(1+rand(15)));
                if(AUTO_SKILL_SYSTEM) { AddPartyExpChar(pchar, "Sneak", 100+makeint(FakeMoney/2))); }
                else { AddPartyExp(pchar, 100+makeint(FakeMoney/2))); }
                d.Text = DLG_TEXT[266];
                Link.l2 = DLG_TEXT[268];
                Link.l2.go = "jewel";
                Link.l3 = DLG_TEXT[267];
                if(rand(100)+sti(pchar.skill.leadership)>50) {Link.l3.go = "moneydouble";}
                else{Link.l3.go = "nomoney";}

From Beta WIP 3.2:

Code:
case "moneyback":
            if(rand(100)>30)
            {
                PlayStereoSound("INTERFACE\took_item.wav");
                // Aconcagua: this seems what was originally intended by KK when calculating FakeMoney at "stolen"
                // what was the intention of reducing the stolen money, however?
                pickgold = sti(NPChar.pickgold) - Rand(200) - 100;
                AddMoneyToCharacter(PChar, pickgold);
                // Aconcagua: so now, leave nothing to the character -> no sense in adding afterwards
                NPChar.money = 0;
                Log_SetStringToLog(LanguageConvertString(tmpLangFileID,"You got") + " " + pickgold + " " + XI_ConvertString("gold."));
                if(AUTO_SKILL_SYSTEM) { AddPartyExPChar(PChar, "Sneak", 100+makeint(pickgold/4))); }
                else { AddPartyExp(PChar, 100+makeint(pickgold/4))); }
                d.Text = DLG_TEXT[245];
                Link.l1 = DLG_TEXT[247];
                Link.l1.go = "donation";
                Link.l2 = DLG_TEXT[246];
                Link.l2.go = "exit_out";
            }
            else
            {
                // Aconcagua: only needed for experience; originally (KK), FakeMoney was used, but no sense in reducing exp here
                pickgold = sti(NPChar.pickgold);
                // Aconcagua: TODO: is this intended??? (possibly: -> see winlink at "stolen")
                GiveItem2Character(PChar, "jewelry"+(1+rand(15)));

                // Aconcagua: lets assume he is really a runner as told in [266]...
                // Aconcagua: TODO: should we?
                // if(Rand(100) < xxx)
                // {
                //    NPChar.money = sti(NPChar.money) - pickgold;
                //     NPChar.pickgold = 0;
                //    // Aconcagua: TODO: do we need an extra dialog then?
                // }
                if(AUTO_SKILL_SYSTEM) { AddPartyExPChar(PChar, "Sneak", 100+makeint(pickgold/2))); }
                else { AddPartyExp(PChar, 100+makeint(pickgold/2))); }
                d.Text = DLG_TEXT[266];
                Link.l2 = DLG_TEXT[268];
                Link.l2.go = "jewel";
                Link.l3 = DLG_TEXT[267];
                if(rand(100)+sti(PChar.skill.leadership)>50) {Link.l3.go = "moneydouble";}
                else{Link.l3.go = "nomoney";}

And... that's all the differences on those files, i think. I hope i haven't missed anyone. Try to find what could cause this problems please. Tomorrow i will read carefully those lines.... Good luck :onya
 
New 'Un: http://piratesahoy.net/build/b14_beta3_installer.exe
http://piratesahoy.net/build/b14_beta3_installer.exe
!!!NEW GAME REQUIRED!!!

Change Log:
Code:
Build 14 Beta 3.2:
- Config.exe restored and improved, with special thanks to De Zeeroovers
- New Archipelago Map added by Agentad
- Bug Fixes:
  . Missing Ships on Worldmap Encounters fixed by Levis
  . Monthly Salary Payments fixed by Levis
  . Extra Atmosphere Tavern Fights fixed by Levis
  . Rival Suitor error messages fixed by Levis
  . Weird Effects after Self Dialog fixed by Levis
  . Missed "corpse" attribute error log fixed by Levis
  . Muskets/Musketoons not working during boardings fixed by Jack Rackham
  . Father Bernard "Skill Reset" functionality fixed by El Rapido
  . Promotion Reward Officer model errors fixed by Pieter Boelen
  . Fix to Guadeloupe Town Capture by Pieter Boelen
  . Barbados location descriptions fixed by Pieter Boelen
  . Fleut of War encounter chance improved by Pieter Boelen
  . Attempted fix for Capture Colonies Female Governors by Pieter Boelen
  . Cartagena Escort Quest fixed by Pieter Boelen
- Gameplay Updates:
  . Locked Abilities Functionality added by Levis
  Unlock in various ways, explained in the descriptions
  . All books made readable by Levis and Pieter Boelen
  Includes texture work by Darkhymn, FireBat and Thagarr done for the Gentlemen of Fortune modpack (WIP: Skill book texts to be updated)
  Mathematical jokes by Grey Roger
  . Worldmap Encounters improved to take into account nearby islands and time of day by Levis
  . Redone Dynamic Import/Export Goods System by Levis
  . Moon Phase changes visibly ingame by Purseon
  . Training Fights with crew on player ship deck fixed and reinstated by Purseon
  . Hostile Traders can be fooled, depending on false flag detection chance, by Purseon
  . ENABLE_CHEATMODE functionality added by El Rapido
  > Tailor provides a "Famous Pirate Clothes Collection"
  > Tailor allows resetting of Player and Officer skills and abilities
- Code Updates:
  . Ability System fixed and improved by Levis
  . F2>Character Screen shows highest rank instead of latest rank by Levis
  . Enemy Soldiers in Taverns improved by Levis
  . Enhanced Dialog System included by Levis
  . Character Encounter Code updated by Levis
  . Pickpocket Gold handling improved by Aconcagua
  . Female Officer Percentage setting added by Aconcagua
  . Officer Hire Price randomized a bit more by Aconcagua
  . Perks Code improved by Aconcagua
  . REALISTIC_ABILITIES setting has multiple realism levels by Aconcagua
  . Timescale Settings changed to x1, x3, x5, x10 and x20 by El Rapido
  . Officer Skill Contribution values modified by El Rapido
  . SKILL_EXPERIENCE_MULTIPLIER and EXPERIENCE_MULTIPLIER settings added by El Rapido
  . Nation-Specific Weapons for enemy ship crews disabled by Pieter Boelen
- Storyline Updates:
  . ALL Storylines:
  > Davy Jones made into a more formidable opponent by Levis
  . Sidequests:
  > Marc Blacque quest can be completed even when hostile to England by Pieter Boelen
  . Standard Storyline:
  > Potential Stuck in Speighstown during tutorial error fixed by Levis
  > Edgar Attwood quest starting twice fixed by Levis
  > Capture Black Pearl scene fixed by Levis
  > Black Pearl swap with uncursed version after capture fixed by Pieter Boelen
  . Bartolomeu Storyline:
  > Cartagena part of the storyline extended by Bartolomeu o Portugues and Jack Rackham
  . Assassin Storyline:
  > Potential missing Henry Morgan fixed by Levis
  > 'La Couronne' quest completion clarification message added by Levis
  . Hoist the Colours Storyline:
  > Black tavern quest scene fixed by Levis
  > Pintel Passenger Bug fixed by VanessaHudgensFan and Levis
  > Double greeting on Bella Brin fixed by VanessaHudgensFan and Pieter Boelen
  > Potential quest errors due to immortal Mr. Gibbs fixed by Pieter Boelen
  > Laurence Bannerman returns to Turks after ending by Pieter Boelen
  . Hornblower Storyline:
  > Dialog clarified by Grey Roger
  > Missed character ID error fixed by Pieter Boelen
  . Gold-Bug Storyline:
  > New WIP content included by Jack Rackham
- Texture Updates:
  . High-detail Boat texture added by TheBlackKnight
  . Ship Window texture improved by Armada
- Model Updates:
  . Polacca high-detail custom model added by De Zeeroovers
  . Model improved on Fast Galleons by De Zeeroovers
  . HMS Surprise camera height improved by Hylie Pistof
  . Improved Superbe model by DF5
  . Rigging improved on Derfflinger by Hylie Pistof
  . Rigging improved on War Galleon by Hylie Pistof
  Includes new textures courtesy of the Gentlemen of Fortune Mod Team
- Modder Tools:
  . Perks Reinit Code added by Levis
- ADDITIONAL INSTALLATION OPTIONS:
  . Widescreen Textures including:
  > Improved Spyglasses by TheBlackKnight
  > Widescreen Moon Textures by Purseon
 
:facepalm That dynamic import/export system is very chaotic and is barely functional. So now we are stuck with it. :rumgone
 
For testing purposes only. I'm sure @Levis will figure it out soon enough.
We've still got about half a week before the public Beta 3.2 release.
I'll exclude it if I must, but I sincerely hope I won't have to.
 
We've still got about half a week before the public Beta 3.2 release.
I have to go away over the weekend but hope to be able to upload another part of the GodBug before the release.
Will monday night be in time? :eek:
 
Monday sounds about nice for me too.
 
I just noticed that @purseon's "use false flag for trader check" feature didn't work right.
Partly because I broke it (accidentally got rid of the "remembering" line) and partly because GetFlagRMRelation doesn't actually seem to do what I think it should.
Had to do a fairly extensive rewrite, but I think I've got it working now. Even though the code now looks a bit less efficient than it did before.
 
What are the differences between the Beta 3.2 WIP of April, and the Beta 3.2 WIP that you released today, @Pieter Boelen ?

And i have to remember you that some posts above i have put the parts of the archive that Levis give to me that change between Beta 3.1 and Beta 3.2 WIP. Could you please look it whenever you can and tell me where i can try to change values?
 
Back
Top