• 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 Gamma Version [Last update: 12th January 2024]

From apothecary_fetch.c:
Code:
d.Text = DLG_TEXT[1] + NPChar.fetch_quest.amount + " " + XI_ConvertString(Goods[sti(NPChar.fetch_quest.good)].name) + DLG_TEXT[2] + NPChar.fetch_quest.money + DLG_TEXT[3]  + NPChar.fetch_quest.expire;
Why is the money removed from that line?

Code:
. Various occurrences of 'makeint(environment.time)' replaced by 'GetTime()' by Pieter Boelen
It's in the change log, but my code changes themselves aren't included.

I assume the removal of PChar.lastname is intentional?
Code:
                        switch(Rand(2))
                        {
                            case 0: dialog.Text = DLG_TEXT[94] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + " " + PChar.lastname + "." + DLG_TEXT[95]; break;
                            case 1: dialog.Text = GetMySimpleName(PChar) + checkSex; break;
                            case 2: dialog.Text = DLG_TEXT[103] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + " " + PChar.lastname + DLG_TEXT[104]; break;
                        }

Would that first line here not be needed...?
Code:
            LAi_group_SetRelation("Smugglers", "CoastalGuards", LAI_GROUP_ENEMY);
            LAi_group_FightGroups("Smugglers", "CoastalGuards", true);
            LAi_group_SetAlarmReaction(LAI_GROUP_PLAYER,"CoastalGuards",LAI_GROUP_FRIEND, LAI_GROUP_FRIEND); //Levis: now you can hit guards by accident
            LAi_SetPlayerType(Pchar);
        break;

Missed a line here:
Code:
        case "Blaze_must_escape_2":
            dialog.text = DLG_TEXT[40];
            if (GetCharacterShipType(PChar) != SHIP_NOTUSED) {
                ShipLocationName = GetCharacterShipLocationName(PChar);
                ShipLocationName = TranslateString("", ShipLocationName);
 
Last edited:
Why are some of the lastnames removed from various lines?
Code:
d.Text = RandPhrase(DLG_TEXT[0] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[1] + GetMyName(NPChar) + " " + GetMyLastName(NPChar) + DLG_TEXT[2], DLG_TEXT[3] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[4] + GetMyName(NPChar) + " " + GetMyLastName(NPChar) + DLG_TEXT[5], DLG_TEXT[6] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[7] + GetMyName(NPChar) + " " + GetMyLastName(NPChar) + DLG_TEXT[8], &Dialog, dialog.snd1, dialog.snd2, dialog.snd3);
And what's the difference between 'true' and 'false' here?
Code:
d.Text = RandPhrase(DLG_TEXT[41] + PChar.name + DLG_TEXT[42], DLG_TEXT[43] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, true) + DLG_TEXT[44], DLG_TEXT[45] + PChar.name + DLG_TEXT[46], &Dialog, dialog.snd1, dialog.snd2, dialog.snd3);
 
Attached improved sound effect by @AkrimalS goes in RESOURCE\Sounds\PEOPLE .

Tradebook.c what does this line do:
Code:
bool bBeParty; // added by MAXIMUS
It doesn't seem to be filled in anywhere in that file...
"transfer_goods.c" does actually set it.

Why are all such lines gone?
Code:
locations[n].reload.l17.label = "Order of Malta only in Woodes Rogers quest";
It can't hurt to advertise the other storylines, no?

Is this line any good in quests_side.c?
Code:
LAi_group_SetRelation("Artois", "Nigel", LAI_GROUP_ENEMY); // PB: should this line be here or not?

In AIShip.c, how about this code?
Code:
        // Philippe
        if (CheckAttribute(&rCharacter, "relation.UseOtherCharacter"))
        {
            if (sti(rCharacter.relation.UseOtherCharacter) >= 0)
            {
                SetCharacterRelationBoth(nMainCharacterIndex, sti(rCharacter.relation.UseOtherCharacter), RELATION_ENEMY);
            }
        }
        UpdateRelations();
        if(bSeaActive)
        {
            RefreshBattleInterface(true);
        }
Actually, let me upload the whole file.
There's a bunch of changes to consider...
 

Attachments

  • step_sand.zip
    12.9 KB · Views: 21
  • AIShip.c
    226.3 KB · Views: 13
Last edited:
Why is this line gone from NK.c?
Code:
if(HasSubStr(tempstring, "petros"))                    CursedSails = "sail_torn_red_plain.tga";
I don't know, why has that line gone from your copy of "NK.c"? I didn't remove it, and it's still in the version of "NK.c" in the update.

If France needs an Emissary, shouldn't they also get a Tailor?
France needs an emissary because the French governor of Tortuga isn't a real governor and can't hand out LoM's, give ship-hunting missions etc. Tortuga itself is French and has a tailor, so no new tailor needs to be added.

How does this help to fix shiny items?
Code:
                //JRH fix for shiny items -->
                if(sti(GetStorylineVar(FindCurrentStoryline(), "WR_PUZZLES")) > 0 || sti(GetStorylineVar(FindCurrentStoryline(), "BUG_PUZZLES")) > 0)
                {
                    if(newitm == "pistol1" || newitm == "pistol7" || newitm == "pistol6" || newitm == "pistol3" || newitm == "pistol8"
                    || newitm == "pistol4" || newitm == "pistol27" || newitm == "Longrifle_H" || newitm == "pistolcollier" || newitm == "pistolmketB") return;
                }
                //JRH <--
Some quest items become pure shiny if you equip any of those pistols. So in "Woodes Rogers" and "Goldbug", you can't equip them.

Something here doesn't look right:
...
Specifically, this line:
Code:
sld = LAi_CreateFantomCharacterExOt(false, 0, true, OFFIC_TYPE_GUARD, GetRandomRank(true, OFFIC_TYPE_GUARD, (4-GetDifficulty())), true, 0.75, GetRandomModelForTypeNation(true, "Land_Officers", GetSmugglingNation()), group, locator);
Because:
Code:
ref LAi_CreateFantomCharacterExOt(bool isfriend, string officertype, int rank, bool hasblade, float hasgun, string model, string group, string locator)
This doesn't have the 'int offset' parameter.
True. It should probably be:
Code:
sld = LAi_CreateFantomCharacterExOt(false, OFFIC_TYPE_GUARD, GetRandomRank(true, OFFIC_TYPE_GUARD, (4-GetDifficulty())), true, 0.75, GetRandomModelForTypeNation(true, "Land_Officers", GetSmugglingNation()), group, locator);
Strange, though. It's been like that for ages and nobody has noticed a problem with coastguards.

The line to generate the other soldiers for the coastguard patrol is indeed:
Code:
sld = LAi_CreateFantomCharacterExOt(false, OFFIC_TYPE_GUARD, GetRandomRank(true, OFFIC_TYPE_GUARD, (4-GetDifficulty())), true, 0.75, GetRandomModelForTypeNation(true, "Soldiers", GetSmugglingNation()), group, locator);

Why are the brothel enabled if-statements gone?
Code:
    // brothel
    if(IsBrothelEnabled())
    {
        curTable.l7.pic = FRP_BROTHEL; // MAXIMUS interface MOD
        curTable.l7.tex = FRT_BROTHEL; // MAXIMUS interface MOD
        curTable.l7.note = FRN_BROTHEL; // KK
        curTable.l7.location = "QC_brothel"; // MAXIMUS interface MOD
    }
They're not needed. You can't fast-travel to the brothel if it's not there.

For this:
Code:
bool SetUsedPotionIcons()
{
    aref arItm, ar, uiref;
    int i, itmIdx, nq;
    ref mc = GetMainCharacter();

    bool bUsed = false;
    int idLngFile = LanguageOpenFile("commands_name.txt");
Shouldn't there be an accompanying 'LanguageCloseFile(idLngFile);' at the end?
Possibly. Which file is that?

I don't know where those last 4 lines came from, but shouldn't they be kept?
Code:
            if (GetCurrentPeriod() >= PERIOD_GOLDEN_AGE_OF_PIRACY) GiveItem2Character(ch, "pistol1");
            else GiveItem2Character(ch, "pistol1a");
            GiveItem2Character(ch, "compass2");
            GiveItem2Character(ch, "clock1");
        break;
They are still there but they've moved to the top of 'case PLAYER_TYPE_CORSAIR'. That way, some of the special characters who are supposed to get different equipment don't get the standard equipment as well.
 
From apothecary_fetch.c:
Code:
d.Text = DLG_TEXT[1] + NPChar.fetch_quest.amount + " " + XI_ConvertString(Goods[sti(NPChar.fetch_quest.good)].name) + DLG_TEXT[2] + NPChar.fetch_quest.money + DLG_TEXT[3]  + NPChar.fetch_quest.expire;
Why is the money removed from that line?
Possibly a mistake when someone added the 'XI_ConvertString' to make the goods name translatable. It will return in the next update.

Code:
. Various occurrences of 'makeint(environment.time)' replaced by 'GetTime()' by Pieter Boelen
It's in the change log, but my code changes themselves aren't included.
Not exactly - if you recall, we had a difference of opinion over when night should begin. ;) But the changes from 'makeint(environment.time)' to 'GetTime()' are certainly there - check the tavern keeper dialogs. Or did I miss some?

Why are some of the lastnames removed from various lines?
Code:
d.Text = RandPhrase(DLG_TEXT[0] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[1] + GetMyName(NPChar) + " " + GetMyLastName(NPChar) + DLG_TEXT[2], DLG_TEXT[3] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[4] + GetMyName(NPChar) + " " + GetMyLastName(NPChar) + DLG_TEXT[5], DLG_TEXT[6] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[7] + GetMyName(NPChar) + " " + GetMyLastName(NPChar) + DLG_TEXT[8], &Dialog, dialog.snd1, dialog.snd2, dialog.snd3);
Which file is that?

And what's the difference between 'true' and 'false' here?
Code:
d.Text = RandPhrase(DLG_TEXT[41] + PChar.name + DLG_TEXT[42], DLG_TEXT[43] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, true) + DLG_TEXT[44], DLG_TEXT[45] + PChar.name + DLG_TEXT[46], &Dialog, dialog.snd1, dialog.snd2, dialog.snd3);
That's presumably one of the lines from which the last name appears to have been removed.
From "PROGRAM\Dialog_func.c:
Code:
string GetMyAddressForm(ref chr, ref pchr, int addrtype, bool fname, bool lname)
Changing 'lname' from false to true means the character's last name is added to the address form. 'GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false)' will call you "Mijnheer"; 'GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, true)' will call you 'Mijnheer Boelen'. I'd need to know which file that is in order to find out why 'PChar.name', the character's first name, is added later.
 
I assume the removal of PChar.lastname is intentional?
Code:
                        switch(Rand(2))
                        {
                            case 0: dialog.Text = DLG_TEXT[94] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + " " + PChar.lastname + "." + DLG_TEXT[95]; break;
                            case 1: dialog.Text = GetMySimpleName(PChar) + checkSex; break;
                            case 2: dialog.Text = DLG_TEXT[103] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + " " + PChar.lastname + DLG_TEXT[104]; break;
                        }
Which file?

Would that first line here not be needed...?
Code:
            LAi_group_SetRelation("Smugglers", "CoastalGuards", LAI_GROUP_ENEMY);
            LAi_group_FightGroups("Smugglers", "CoastalGuards", true);
            LAi_group_SetAlarmReaction(LAI_GROUP_PLAYER,"CoastalGuards",LAI_GROUP_FRIEND, LAI_GROUP_FRIEND); //Levis: now you can hit guards by accident
            LAi_SetPlayerType(Pchar);
        break;
Which file?

Missed a line here:
Code:
        case "Blaze_must_escape_2":
            dialog.text = DLG_TEXT[40];
            if (GetCharacterShipType(PChar) != SHIP_NOTUSED) {
                ShipLocationName = GetCharacterShipLocationName(PChar);
                ShipLocationName = TranslateString("", ShipLocationName);
True, I've corrected that and it will be in the next version.
 
I don't know, why has that line gone from your copy of "NK.c"? I didn't remove it, and it's still in the version of "NK.c" in the update.
Oh wait; it was "gone" because it was in there twice before.

France needs an emissary because the French governor of Tortuga isn't a real governor and can't hand out LoM's, give ship-hunting missions etc. Tortuga itself is French and has a tailor, so no new tailor needs to be added.
Ah, ok. Thanks for confirming.

Some quest items become pure shiny if you equip any of those pistols. So in "Woodes Rogers" and "Goldbug", you can't equip them.
Ok.
Gotcha.

They're not needed. You can't fast-travel to the brothel if it's not there.
Oh.
Ok.

Possibly. Which file is that?
LandInterface.c .

They are still there but they've moved to the top of 'case PLAYER_TYPE_CORSAIR'. That way, some of the special characters who are supposed to get different equipment don't get the standard equipment as well.
Ah!
Right you are.
 
Possibly a mistake when someone added the 'XI_ConvertString' to make the goods name translatable. It will return in the next update.
Very good. :onya

Not exactly - if you recall, we had a difference of opinion over when night should begin. ;) But the changes from 'makeint(environment.time)' to 'GetTime()' are certainly there - check the tavern keeper dialogs. Or did I miss some?
You missed virtually all, it seems...

And as for the '>' vs. '>=', you can do as you please.
Because it's a float, the difference either way will be minimal.
I figured to use one character less code; just for the sake of it appearing a bit cleaner.

Which file is that?
Charlestown_citizen_dialog.c .

That's presumably one of the lines from which the last name appears to have been removed.
From "PROGRAM\Dialog_func.c:
Code:
string GetMyAddressForm(ref chr, ref pchr, int addrtype, bool fname, bool lname)
Changing 'lname' from false to true means the character's last name is added to the address form. 'GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false)' will call you "Mijnheer"; 'GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, true)' will call you 'Mijnheer Boelen'. I'd need to know which file that is in order to find out why 'PChar.name', the character's first name, is added later.
Ah; that makes sense. :yes
 
In Bartolomeu quests_reaction.c, what would "chr_ai.type.lock" be for?
Code:
            sld = CharacterFromID("Roxanne Lalliere"); //Add
            sld.chr_ai.type.lock = "0"; //Add
            ChangeCharacterAddressGroup(sld, "Cuba_Shore_05", "goto", "locator10");
            Characters[GetCharacterIndex("Roxanne Lalliere")].dialog.currentnode = "begin_13";
            LAi_ActorDialog(sld, pchar, "", 2.0, 1.0);
            break;

In FreePlay StartStoryline.c I don't know why that last line was there:
Code:
                case "Purpure":
                    if (HasSubstr(PChar.model, "Purpure"))
                    {
                        ch = CharacterFromID("Malcolm Hatcher");
                        ch.Dialog.Filename = "Robert Fletcher_dialog.c";
                        SetModelFromID(ch, "man8");
                        ch.name = TranslateString("","Uncle");
                        ch.lastname = TranslateString("","Gules");
                        ch.keepmodel = true;
                        if (GetDataYear() == 1830) SetCurrentDate(GetDataDay(), GetDataMonth(), 1840);
I assume somebody added that on purpose...?
Oh wait... I see you handled that more fancily now.

In GoldBug SL_utils.c, I assume "box43" is removed on purpose?
Code:
            case "box21":
                PlaySound("PEOPLE\step_stairway.wav");
                LAi_SetSitType(chr);
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box43");

                LAi_QuestDelay("pchar_playertype", 0.5);
            break;

            case "box43":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box44");
            break;

            case "box44":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box22");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "box23");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
Also all of this:
Code:
            case "box28":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box30");
            break;
        
            case "box30":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box32");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "box", "box33");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
        
            case "box32":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box34");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "box35");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
        
            case "box34":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box36");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "box", "box37");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
And:
Code:
            case "box14":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box15");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "look5");

                LAi_QuestDelay("pchar_playertype", 1.0);
                LAi_QuestDelay("pchar_ohoh", 1.0);
            break;

            case "box15":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box50");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "look6");
                
                LAi_QuestDelay("pchar_playertype", 1.0);
                LAi_QuestDelay("pchar_oooh", 1.0);
            break;

            case "box50":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box16");
            break;
GoldBug StartStoryline.c this can't be right:
Code:
Pchar. = "no";
GoldBug quests_reaction.c this shouldn't be there at the top:
Code:
GetTime(){ return stf(Environment.time); }

PROGRAM\Storyline\JackSparrow\dialogs\Billy Brock_dialog.c is missing my jumpstart corrections:
Code:
            GiveItem2Character(Pchar,"blade42");
            EquipCharacterByItem(Pchar, "blade42");
            
            bQuestDisableSeaEnter = false;
PROGRAM\Storyline\JackSparrow\quests\quests_reaction.c all updates by @Sebrian are missing.

Also, please scroll up a bit.
I think I posted some more stuff while you were posting too...
 
Yes, removal of "lastname" was intentional. It's handled by 'GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, true)'.
:onya

Not sure. Did the coastguards and smugglers fight when you tried smuggling with that file as it is now? Did they fight when you added that line?
I didn't try.
Line must've come from another game version; BNH or Maelstrom, probably.
 
Attached improved sound effect by @AkrimalS goes in RESOURCE\Sounds\PEOPLE .

Tradebook.c what does this line do:
Code:
bool bBeParty; // added by MAXIMUS
It doesn't seem to be filled in anywhere in that file...
"transfer_goods.c" does actually set it.
No idea.

Why are all such lines gone?
Code:
locations[n].reload.l17.label = "Order of Malta only in Woodes Rogers quest";
It can't hurt to advertise the other storylines, no?
Actually, it can. For reasons unknown, those reload locators show up briefly in the correct language and then switch to English. Fine if you're playing in English, not so fine if you're playing in Spanish or Russian.

Is this line any good in quests_side.c?
Code:
LAi_group_SetRelation("Artois", "Nigel", LAI_GROUP_ENEMY); // PB: should this line be here or not?
Presumably it's needed for the same reason as the similar line to make smugglers fight against coastguards.

In AIShip.c, how about this code?
Code:
        // Philippe
        if (CheckAttribute(&rCharacter, "relation.UseOtherCharacter"))
        {
            if (sti(rCharacter.relation.UseOtherCharacter) >= 0)
            {
                SetCharacterRelationBoth(nMainCharacterIndex, sti(rCharacter.relation.UseOtherCharacter), RELATION_ENEMY);
            }
        }
        UpdateRelations();
        if(bSeaActive)
        {
            RefreshBattleInterface(true);
        }
Actually, let me upload the whole file.
There's a bunch of changes to consider...
What is that supposed to do, and what are the other changes supposed to do?
 
In Bartolomeu quests_reaction.c, what would "chr_ai.type.lock" be for?
Code:
            sld = CharacterFromID("Roxanne Lalliere"); //Add
            sld.chr_ai.type.lock = "0"; //Add
            ChangeCharacterAddressGroup(sld, "Cuba_Shore_05", "goto", "locator10");
            Characters[GetCharacterIndex("Roxanne Lalliere")].dialog.currentnode = "begin_13";
            LAi_ActorDialog(sld, pchar, "", 2.0, 1.0);
            break;
@Bartolomeu?

In FreePlay StartStoryline.c I don't know why that last line was there:
Code:
                case "Purpure":
                    if (HasSubstr(PChar.model, "Purpure"))
                    {
                        ch = CharacterFromID("Malcolm Hatcher");
                        ch.Dialog.Filename = "Robert Fletcher_dialog.c";
                        SetModelFromID(ch, "man8");
                        ch.name = TranslateString("","Uncle");
                        ch.lastname = TranslateString("","Gules");
                        ch.keepmodel = true;
                        if (GetDataYear() == 1830) SetCurrentDate(GetDataDay(), GetDataMonth(), 1840);
I assume somebody added that on purpose...?
Oh wait... I see you handled that more fancily now.
That is intentional. Purpure's story is set in 1840. Setting the date to 1840 earlier in the game causes a crash because the game can't figure out the period, unless we change the definition of "Napoleonic", currently ending in 1830.

Lots of Goldbug stuff:
In GoldBug SL_utils.c, I assume "box43" is removed on purpose?
Code:
            case "box21":
                PlaySound("PEOPLE\step_stairway.wav");
                LAi_SetSitType(chr);
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box43");

                LAi_QuestDelay("pchar_playertype", 0.5);
            break;

            case "box43":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box44");
            break;

            case "box44":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box22");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "box23");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
Also all of this:
Code:
            case "box28":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box30");
            break;
       
            case "box30":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box32");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "box", "box33");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
       
            case "box32":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box34");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "box35");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
       
            case "box34":
                PlaySound("PEOPLE\run_stone.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "goto", "box36");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "box", "box37");

                LAi_QuestDelay("pchar_playertype", 1.0);
            break;
And:
Code:
            case "box14":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box15");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "look5");

                LAi_QuestDelay("pchar_playertype", 1.0);
                LAi_QuestDelay("pchar_ohoh", 1.0);
            break;

            case "box15":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box50");

                LAi_SetActorType(chr);
                LAi_ActorTurnToLocator(chr, "goto", "look6");
               
                LAi_QuestDelay("pchar_playertype", 1.0);
                LAi_QuestDelay("pchar_oooh", 1.0);
            break;

            case "box50":
                PlaySound("PEOPLE\run_wood.wav");
                ChangeCharacterAddressGroup(chr, "Bishops_Hostel", "box", "box16");
            break;
GoldBug StartStoryline.c this can't be right:
Code:
Pchar. = "no";
GoldBug quests_reaction.c this shouldn't be there at the top:
Code:
GetTime(){ return stf(Environment.time); }

PROGRAM\Storyline\JackSparrow\dialogs\Billy Brock_dialog.c is missing my jumpstart corrections:
Code:
            GiveItem2Character(Pchar,"blade42");
            EquipCharacterByItem(Pchar, "blade42");
           
            bQuestDisableSeaEnter = false;
PROGRAM\Storyline\JackSparrow\quests\quests_reaction.c all updates by @Sebrian are missing.
@Jack Rackham?

Also, please scroll up a bit.
I think I posted some more stuff while you were posting too...
Possibly.
 
You missed virtually all, it seems...
Pick one at random, then.

Charlestown_citizen_dialog.c .
In some lines, references to direct attribute names such as "NPChar.lastname" are replaced by functions like "GetMyLastName(NPChar)". In others, the last name is handled by 'GetMyAddressForm'. And in the next version, "GetMyName(NPChar) + " " + GetMyLastName(NPChar)" is going to be simplified to "GetMySimpleName(NPChar)".
 
About box43 etc. Much of the mountain climbing at Bishops_hostel is reworked by adding a new walk patch instead of jumping from
spot to spot. Which explains why many boxes are not used/deleted.

Pchar. = "no";
GetTime(){ return stf(Environment.time); }
Both these have been there for a very long time. The first one is an obvious mstake the other one I don't know where it came from.
Guess both can be deleted.
 

Attachments

  • DMC_5.rar
    47.7 MB · Views: 14
Perhaps that file was posted on 6th December 2023, but the version of "quests_reaction.c" in the file is dated 24th June 2022.
 
Back
Top