summaryrefslogblamecommitdiff
path: root/npc/000-2-3/nard.txt
blob: f99f1144e15e64ec189d3dbd436aef2763ce0733 (plain) (tree)
1
2
3
4
5
6
7
8
9
                

                   

               


                                                                                                
                   

                


                              
          
                                                                                                                
                                                                 



                                                                         
                         

                                    
                                          
 
                                          


                                       
 
          



                                                            
                                       


                                   
 
         
                     
         
                                                                        
         
                                                                                                                    

         
                     
                
                                                               
         
               

         
                                                                                                                    
         
                                                                                                                  

         
       
        
                               
                                                                                           
                                        
                                   


           
                                                                                                                               

         
            
        
                                  

                                                               


           
                                              
         
                                                                                                                                      

         
                       
 
           
           
         



                                                         

                                          
 
              
                                                                                                                     
         
                                                                                                                      
         
                                                                        
         
                                                                             

         
                                 
 
                            
                          
 

          
     
           
         

                            
                                                                                                
         
                                                                                                

         
                       
 
        

           
                                                 
         
                                                            
         
                                                                                                  

         
              
                                                                                                         

         
                     
 
               






                                                                                                                              
                   







                                                                                                             
         
         
                                                      

          
       


                                     
                                                                                      

                            
         
                          
 
                 
         
                                                                                                                                                                                  

         
                 
                                                                                                              
         
                                                                                                                                                
         
                                                                                                                                                                                                                                           

         

                                                               

           
                                                                                                                                                                                                                                         


                            

          
                 




                                                       
                    
         
                               


                                                                                  
                                                             
         
 

                                                
 
                            
                 
 
                                                  
           
 































































                                                                                                                                                                         


                                                                                                 
 
          
 
              
                       
                       


                                             
                                                         


                                                               
                                                    

                                          
                                         

                                               
                                          


                
                                        

             
                              
                  
 
               
                              



                                                                                            
                                                    

                                                                           
                              


                  
         




                                                                   
       
                           
                  
        
 
// Evol scripts.
// Authors:
//    Qwerty Dragon
//    Reid
// Description:
//    Captain Nard dialogs.
//    Nard does the introduction with a small quest.
//    This quest is meant to teach the player how to use a weapon,and to bring food to the ship.
//    4 bits array:
//    ShipQuests
// Variable:
//    0    ShipQuests_Nard
//    1    ShipQuests_Gugli
//    2    ShipQuests_ChefGado
// Values:
//    00   Introduction of the boxes and Nard. This is displayed when the player never spoke to Nard or his box.
//    01   Nard spoke and gave access to the outdoor of the ship.
//    02   Completed the Gugli quest.
//    03   ChefGado Quest accepted.
//    04   ChefGado Quest completed and "Introduction" chapter finalized.
//    05   Reward taken from the box.
//    06   Intro finished
//    10   Never talked with Gugli.
//    11   Gugli gives you the task.
//    12   Gave all of the boxes to Gugli.

000-2-3,25,26,0	script	Nard	NPC_NARD,{
    .@nard = getq(ShipQuests_Nard);
    .@gugli = getq(ShipQuests_Gugli);
    .@gado = getq(ShipQuests_ChefGado);

L_Checker:
    if (.@gado > 3 && .@nard == 3) goto L_ChefQuestComplete;
    if (.@nard == 2) goto L_ChefQuestStart;
    if (.@nard == 3) goto L_ChefQuestGiven;
    if (.@nard == 4) goto L_Reward;
    if (.@nard > 5) goto L_GoBackArtis;
    if (.@nard > 4) goto L_Already;
    if (.@gugli == 2) goto L_Done;
    if (.@nard == 1) goto L_NotYet;

    mesn;
    mesq l("Hello.");
    next;
    mesq l("Let me introduce myself, I am Nard, captain of this ship.");
    next;
    mesq lg("I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!");
    next;

    setcamnpc "Elmo";
    mesn "Elmo";
    mesq l("Oh... Err, yes I did, or, well, good day to you!");
    next;
    restorecam;

    mesn;
    mesq l("Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!");
    next;
    mesq l("So, how do you feel? I see that Julia did a marvelous job! You look like you're in good health now.");
    next;

L_Menu:
    menu
        lg("I feel ok."), L_Ok,
        rif(islegacyaccount(), l("I only want to reach Artis, can we skip this?")), L_Skip,
        l("Who's this Julia?"), L_Julia,
        lg("I'm a bit sick..."), -;

    mes "";
    mesn;
    mesq l("Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
    next;

L_MenuQuest:
    menu
        l("What do you need?"), -,
        l("Is there a reward?"), L_NeedHead,
        l("Wait, you never came here before?"), L_DrasilIsland;

    mes "";
    mesn;
    mesq l("Oh! I like that sort of answer!");
    next;
    mesq lg("We need manpower on the island... Oh forgive me, women are also welcome, of course.", "We need manpower on the island.");
    next;

    goto L_NeedContent;

L_NeedHead:
    mes "";
    mesn;
    mesq l("Of course there is a reward for your task.");
    next;
    mesq l("Hard work always pays off!");
    next;
    mesq l("What? It's not good enough?");
    next;

L_NeedContent:
    mesq l("Our crew is like a family, and if you agree to help us, I would like to invite you to join our family!");
    next;
    mesq l("Hmm, I'll also give you one of these hats from the box near you, but only after you complete your task!");
    next;
    mesq l("Here, take this key, it opens all the doors on this ship.");
    next;
    mesq l("Now go outside and talk to Gugli, he'll tell you what we need.");
    next;

    inventoryplace JohanneKey, 1;

    setq ShipQuests_Nard, 1;
    getitem JohanneKey, 1;

    close;

L_Ok:
    mes "";
    mesn;
    mesq l("Good to know.");
    next;
    mesq l("We have made a stop at a little island, before making it on to the port of Artis.");
    next;
    mesq l("It would be good for you to do some exercise, the ship isn't big enough for that.");
    next;

    goto L_SpecialTask;

L_Julia:
    mes "";
    mesn;
    mesq l("You have an awful case of amnesia.");
    next;
    mesq l("She is the nurse and shipkeeper of this ship.");
    next;
    mesq lg("But most important, she is the one who took care of you when you were unconscious.");
    next;

L_SpecialTask:
    mesq l("I know that you are just starting to feel better, but I'd like to give you a special task.");
    next;

    goto L_MenuQuest;

L_DrasilIsland:
    mes "";
    mesn;
    mesq l("To be honest, no, never.");
    next;
    mesq l("But discovering new territories is probably the best thing that can happen to sailors, don't you think?");
    next;
    mesq l("I'm really excited, this place reminds me of an ancient mythical tree, you might know what I'm talking about...");
    emotion E_WINK;
    next;
    mesq l("As captain of this ship, I officially name this newly discovered land the ##BDrasil Island##b!");
    next;
    mesq l("Now, lets get back to business.");
    next;

    goto L_NeedContent;

L_NotYet:
    mesn;
    mesq l("You still haven't completed your tasks.");
    close;

L_Done:
    mesn;
    mesq l("Hi @@.", strcharinfo(0));
    next;
    mesq l("Elmo and Gugli told me that you did all of the tasks outside, congrats!");

    setq ShipQuests_Nard, 2;
    next;
    goto L_ChefQuestRedir;

L_ChefQuestStart:
    mesn;
    mesq lg("Elmo told me you are now considered family and are numbered among us in our activities on the island. I do so very much appreciate the efforts you did down there.");
    next;

L_ChefQuestRedir:
    mesq l("Unfortunately, we still need help from you. This time it will be a delicate task, here onboard.");
    next;
    mesq l("Elmo brought reports to me about some frictions between my old and new lieutenants. You probably already met Julia and Chef Gado.");
    next;
    mesq l("They are each valued individuals and I need them both. In the past, I probably made my share of mistakes. I regret good management is so difficult. I was wondering if you could investigate and... Sort out this situation.");
    next;

    select
        l("Of the two of them, who has 'good' on their side?");

    mes "";
    mesq l("I do not want to go pointing my finger at someone. I want to be honorable and fair, and I sense the same quality in you, so I put my trust in you. I am sure you will be able to judge and solve this troubling situation.");

    setq ShipQuests_Nard, 3;

    close;

L_ChefQuestGiven:
    mesn;
    mesq l("It seems you still have some work to do.");

    close;

L_ChefQuestComplete:
    mesn;
    mesq l("Congratulations!");
    next;
    mesq l("You are now officially part of my crew! Thanks again for your help.");
    next;
    mesq l("Take your reward from the box next to my desk!");
    next;

    select
        l("I will take it! Thank you captain!");

    setq ShipQuests_Nard, 4;
    getexp 50, 0;

//  Need to add a skill for the crew at this line.
    mes "";

L_Skip:
    mesn;
    mesq l("Oh noes! I can't believe it!");
    next;
    mesn;
    mesq l("Well, I can bring you straight to Artis, but...");
    next;
    mesn;
    mesc l("\"You will forsake items, quests and experience from the tuto-- %s from my whole crew and whatnot.\"", "##9"+l("*cough cough*")+"##1"), 1;
    next;
    mesn;
    mesq l("Oh, and it is not only that.");
    next;
    mesn;
    mesc l("\"This decision cannot be reverted. Which means you may have extreme difficulty and end up losing this char!\""), 1;
    next;
    mesn;
    mesq l("And if that still wasn't enough to make you change your mind...");
    next;
    mesn;
    mesc l("\"Deleting this char may (read: will) destroy the Legacy data associated to it!!\""), 1;
    mesc l("i.e. Deleting the rEvolt char will delete the Legacy char associated to it. This includes levels and items."); // -- TRANSLATORS: i.e. = id est
    next;
    mesn;
    mesq l("Are you absolutely, totally, certainly, completely sure, that you want a free, effortless ride to Artis, as weak and poorly equipped as you currently are?");
    next;
    mesc l("This decision cannot be reverted. Think with attention!"), 1;
    select
        l("Actually, lets do the tutorial."),
        l("Lemme do Drasil Island!"),
        l("YES, BRING ME TO ARTIS."),
        l("I changed my mind.");
    mes "";
    if (@menu == 3) {
        // Skip Drasil
        setq ShipQuests_Julia, 2;
        setq ShipQuests_Arpan, 3;
        setq ShipQuests_Alige, 3;
        setq ShipQuests_Peter, 15;
        setq ShipQuests_Nard, 5; // NOTE: Completes the Beta
        setq ShipQuests_Knife, 1;
        setq ShipQuests_ArpanMoney, 3;
        setq ShipQuests_Door, 1;
        setq ShipQuests_Couwan, 2;
        setq ShipQuests_TreasureChest, 1;
        setq ShipQuests_Ale, 1;
        setq ShipQuests_Astapolos, 1;
        setq ShipQuests_Gulukan, 1;
        setq ShipQuests_Jalad, 1;
        setq ShipQuests_QMuller, 1;
        setq ShipQuests_Tibbo, 1;
        setq ShipQuests_Gugli, 2;
        // Give Gado and Julia equal chances of winnning
        setq ShipQuests_ChefGado, any(4,4,5,6);
        // Automatically advance
        mesc l("All Ship and Drasil Island Quests were auto-completed."), 1;
        next;
        goto L_Already;
    }
    mesn;
    mesq l("Good! I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
    next;
    goto L_MenuQuest;

L_Already:
    speech
        l("I recommend you to take a nap on the inferior level, we will soon leave this place.");

    close;

L_GoBackArtis:
    checkclientversion;
    speech S_LAST_NEXT,
        l("Enough of this island?"),
        l("Where would you like to go now?");
    switch (select(l("Let's go to Artis."),
                   l("Tell me, where are we right now?"),
                   l("I would like to stay here a bit more.")))
    {
        case 1:
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                l("Let's set sail then!");

            savepoint "001-2-22", 50, 38;
            if (!getmapxy(.@map$, .@x, .@y, 0))
            {
                warp "001-2-24", .@x, .@y;
            }
            else
            {
                warp "001-2-24", 22, 27;
            }

            closeclientdialog;
            close;

        case 2:
            closeclientdialog;
            npctalk3 l("This is Drasil Island, I named it after an ancient mythical tree.");
            close;

        case 3:
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                l("Ok I stay here with my paperwork if you need my help.");

            closeclientdialog;
            close;
    }

L_Reward:
    mesn;
    mesq l("Hey! There's a reward for you in the box next to me!");

    close;

OnInit:
    .bodytype = BODYTYPE_3;
    .distance = 5;
    end;
}