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

Modding quest time limits

jip2

Sailor Apprentice
I'd like to edit time limits of the main quest to be more flexible. Especially I would like to edit the time limit of Henry Morgan's attack to Beliz -quest (time limit concerning accepting the quest).

How can this be done?
 
Should be possible, but it could be in any of several locations, including the init file for all quests, the characters dialog files, the characters init file as well as a couple of other locations I could have forgotten.

Cap'n Drow
 
Hmm I wonder if the changes need a new game?

Only pice of code string related i found was in quests_reaction:

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->case "time_over_Beliz_attack":
            // 50 äíåé íà âçÿòèå Áåëèçà, âêëþ÷àÿ è ïîõîäû çà äâóìÿ ïèðàòàìè, åñëè ãåéìåð ðåøèò, ÷òî ýòî åìó íóæíî
            if (IsEntity(worldMap))
            {
                if (!bQuestCheckProcessFreeze) // ìîæíî ïîêàçàòü
                {
                    pchar.quest.time_over_Beliz_attack_Map_01.over = "yes"; // ñáðîñ, åñëè óæå îòêëàäûâàëè
                    pchar.quest.time_over_Beliz_attack_Map_02.over = "yes";
                  
                    makearef(arOldMapPos, worldMap.old);
                    WdmPrepareMapForAbordage(arOldMapPos);
                    MakeCloneShipDeck(pchar, true); // ïîäìåíà ïàëóáû
                    DoReloadFromWorldMapToLocation("Ship_deck", "goto", "goto5");
                    ReloadFromWMtoL_complete();
                    
                    sld = characterFromID("Henry Morgan");
                    ChangeCharacterAddressGroup(sld, "Ship_deck", "goto", "goto6");
                    LAi_SetWarriorType(sld);
                    LAi_warrior_DialogEnable(sld, true);
                    sld.dialog.currentnode = "time_over_Beliz";
                       // ==> àíòóðàæ
                    for (i=1; i<5; i++)
                    {
                        attrName = "pirate_" + i;
                        sld = GetCharacter(NPC_GenerateCharacter(attrName, attrName, "man", "man", 15, PIRATE, 1, true));
                        sld.dialog.Filename = "Quest\sailors_dialog.c";
                        sld.dialog.currentnode = "Morgan_wait_you";
                        LAi_SetWarriorType(sld);
                        LAi_warrior_DialogEnable(sld, true);
                        LAi_SetLoginTime(sld, 0.0, 24.0);
                        LAi_SetHP(sld, 100.0, 100.0);
                        ChangeCharacterAddressGroup(sld, "Ship_deck", "goto", "goto"+i);
                    }
                    pchar.quest.Munity = "";  // ïðèçíàê âûõîäà ñ ïàëóáû (çàêðûòî, à òî ìîæíî íå ãîâîðèòü)
                    LAi_LockFightMode(pchar, true);
                }
                else
                {   // îòëîæèì äî ðàçìîðîçêè (ïðîëåò òàáëè÷åê)
                      Pchar.quest.time_over_Beliz_attack_Map_01.win_condition.l1 = "MapEnter";
                    Pchar.quest.time_over_Beliz_attack_Map_01.win_condition = "time_over_Beliz_attack";
                }
            }
            else
            {   // ïîäîæäåì âûõîäà íà êàðòó, ðàç âðåìÿ ïðîøëî, íî ìû íå íà íåé
                Pchar.quest.time_over_Beliz_attack_Map_02.win_condition.l1 = "MapEnter";
                Pchar.quest.time_over_Beliz_attack_Map_02.win_condition = "time_over_Beliz_attack";
            }
        break;<!--c2--></div><!--ec2-->

Is that the code I'm looking for? I changed few numbers but they didn't have any effect :S
 
Back
Top