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

                

          
                    
               
                              


                
                      
          



                           
 
                                                       
 
        
                                          



                                      
             



















                                                       
 
 
                                               
 
                                   
                                  

                          
 
                 
                             
 
              
                         
                                                     
         
               

        
                                    
                                            
 

                    
                                                       
 
          
 
           
              
           
                         
                                                                                                                
         
               
 
        
                                                                                                  
                                                        
 
          
              
           
         
                                                                                                                                                                                                   
         
                                                                                                 
         
               
 
        

                                                                        
 
 

                
           
         
                                                                                                                                     
         
                                                                                                              
         
                                                                                                                                                        
         
               
 
                                                         

                  
              
              
           
         
                                                             
         
               
 
         
        

                                                      
                                                                      
 
        
              
           
         
                                                                                                                                                                                                      
         
               
 
                                     

                  
           
              
                             
 
           
         
                                                          
         
               
 
           
           
        
                                                           
                                                             
                                                              
                                                              
                                                                
                                                               
                                                               
                                                              
                                                              
                                                                 



                                                                     
                                                           

                      
                                                



                                                              
 
             



                                             

                   
              
         
                                                                
 
                             
                                   
 

          
           
              
           

                                                         
               
 

                    
         
              
           
         
                                                                                                               
 

          
         
              
           

                                                             
               
 

                    
               
              


                                                     
               

                     
             
              
         
                                                 
               

         
            
        
                              
                                            

                                                                                       
                                                                      
 
              
           
         
                                                                                                                                            
         
                                                                                  
         
                                                                                                

                    
                                                                                                                                                                     
         
                                                                                                                                                        
 
          
 
       
              
           
         
                                                                         
 
          
 
 
// Evol scripts.
// Authors:
//    Ablu
//    Reid
//    Vasily_Makarov
// Description:
//    Hidden in a ship's hole.
// 2 bits array:
//    ShipQuests
// Variable:
//    ShipQuests_Alige
// Values:
//    0   Never talk.
//    1   First talk.
//    2   Accept the task.
//    3   Bring first food.

000-2-1.gat,43,32,0,1	script	AligeTrigger	0,1,1,{

OnTouch:
    if (getq(ShipQuests_Alige) > 0) close;
    doevent "Alige::OnFirstEncounter";

    close;

OnTouchFirst:
    setnpcdir "Alige", 2;
    stopnpctimer;
    initnpctimer;

    goto OnTouch;

OnUnTouchAll:
    setnpcdir "Alige", 4;
    stopnpctimer;
    initnpctimer;

    close;

OnTimer190:
    if (getnpcdir ("Alige") == 2) setnpcdir "Alige", 6;
    if (getnpcdir ("Alige") == 4) setnpcdir "Alige", 8;
    stopnpctimer;

    end;

}

000-2-1.gat,43,31,0,1	script	Alige	301;2,{

    set @q, getq(ShipQuests_Alige);
    if (@q > 1) goto l_AskForFood;

    goto OnFirstEncounter;

OnFirstEncounter:
    setq ShipQuests_Alige, 1;

    setcamnpc;
    mesn "Hidden Person";
    mesq l("Hey, psst! You're not a sailor, right?");
    next;
    restorecam;

    menu
        lg("I am, who are you?"), -,
        lg("Indeed, I am not."), l_NeedHelp;

    mes "";
    mesn "Narrator";
    mes col(l("The hidden person doesn't answer."), 9);

    close;

l_NeedHelp:
    setcamnpc;
    mes "";
    mesn "Hidden Person";
    mesq l("Good, good! ") + " " + l("Could you help me please? ") + " " + l("I beg you, please, pleeeease...");
    next;
    restorecam;

    menu
        l("Why not, but who are you?") + " " + l("And what kind of help do you need?"), l_CanHelp;
        l("Sorry but I have no time for this."), l_Quit;

l_CanHelp:
    setcamnpc;
    mes "";
    mesn;
    mesq l("My name is Alige, I've been hiding here for weeks.") + l("All that I had to eat were these berries... Berries... Berries...") + l("I'm losing my mind, I need something else to eat!");
    next;
    mesq l("Can you bring me something which isn't a vegetable?") + l("And please, no berries.");
    next;
    restorecam;

    menu
        l("Sure, but what can you give me in exchange?"), l_AboutReward,
        l("Why don't you come out?"), -;


l_ExplainHiding:
    setcamnpc;
    mes "";
    mesn;
    mesq l("No, I can't, I just wanted to travel across the seas for fun.") + " " + l("In this cave, you see, I have a lot of fun.");
    next;
    mesq l("Err, seriously, I just wanted to get to Artis, and I don't have the money to pay for the ferry!");
    next;
    mesq l("Please don't tell people that you've seen me. I don't want to be thrown in the sea as food for sharks or decapitated. At least not again!");
    next;
    restorecam;

    if (getq(ShipQuests_Alige) == 2) goto l_SoAskForFood;
    goto l_Accept;

l_AboutReward:
    setcamnpc;
    mes "";
    mesn;
    mesq l("I'll share my berries with you if you help me.");
    next;
    restorecam;

l_Accept:
    menu
        l("Understood, I will help you."), l_Accepted,
        l("What is Artis?"), l_Artis,
        l("I think I should report you to the crew members."), l_Quit;

l_Artis:
    setcamnpc;
    mes "";
    mesn;
    mesq l("It's a commercial port of Andorra, it's weird that you don't know about it since it is one of the most famous cities throughout the world. But hey, returning to the topic, I'm hungry!");
    next;
    restorecam;

    if (@q == 2) goto l_SoAskForFood;
    goto l_Accept;

l_Accepted:
    setcamnpc;
    setq ShipQuests_Alige, 2;

    mes "";
    mesn;
    mesq lg("Great, what food do you have for me today?");
    next;
    restorecam;

l_GiveFood:
    mes "";
    menu
        rif(countitem(501, 1), l(getitemname("Acorn"))), 0,
        rif(countitem(502, 1), l(getitemname("Bread"))), 502,
        rif(countitem(503, 1), l(getitemname("Fungus"))), 503,
        rif(countitem(504, 1), l(getitemname("Cheese"))), 504,
        rif(countitem(505, 1), l(getitemname("PiouLegs"))), 505,
        rif(countitem(506, 1), l(getitemname("Lettuce"))), 506,
        rif(countitem(507, 1), l(getitemname("Piberries"))), 2,
        rif(countitem(508, 1), l(getitemname("SeaDrops"))), 1,
        rif(countitem(509, 1), l(getitemname("Aquada"))), 509,
        rif(countitem(510, 1), l(getitemname("PinkBlobime"))), 1,
        rif(countitem(511, 1), l(getitemname("PurpleBlobime"))), 1,
        rif(countitem(512, 1), l(getitemname("Half Croconut"))), 512,
        rif(countitem(513, 1), l(getitemname("Croconut"))), 513,
        rif(countitem(515, 1), l(getitemname("Plushroom"))), 515,
        l("I don't have anything good for you today."), -1;

    set @id, @menuret;
    if (@id == -1) goto l_Quit; // Quit message.
    if (@id == 0) goto l_NoReward; // In case of wrong food.
    if (@id == 1) goto l_Poison; // In case of Poisonned food.
    if (@id == 2) goto l_NoMore; // In case of Piberries.
// Continue if the food is correct.

l_GiveReward:
    mes "";
    set @item, 507;
    set @count, 3;
    callfunc "InventoryPlace", @item, @count;
    delitem @id, 1;

    setcamnpc;
    mesn;
    mesq l("Thank you so much! Here, have some of my berries.");

    setq ShipQuests_Alige, 3;
    getitem "Piberries", rand(1,3);

    close;

l_NoReward:
    setcamnpc;
    mes "";
    mesn;
    mesq l("I don't want this, give me something else.");
    restorecam;

    goto l_GiveFood;

l_NoMore:
    setcamnpc;
    mes "";
    mesn;
    mesq l("Arrr, don't give me more berries! I don't want them, stupid berries, stupid... Stupid... Stupid!");

    close;

l_Poison:
    setcamnpc;
    mes "";
    mesn;
    mesq l("Don't try to poison me! I know what that does!");
    restorecam;

    goto l_GiveFood;

l_SoAskForFood:
    setcamnpc;
    mesn;
    mesq l("So, do you have anything for me today?");
    next;
    restorecam;
    goto l_IntroMenu;

l_AskForFood:
    setcamnpc;
    mesn;
    mesq l("Do you have anything for me today?");
    restorecam;
    next;

l_IntroMenu:
    menu
        l("Yes."), l_GiveFood,
        l("Where can I find some food?"), -,
        l("Why are you hiding?") + " " + l("Why don't you come out?"), l_ExplainHiding,
        l("What is Artis?"), l_Artis,
        l("I think I should report you to the crew members."), l_Quit;

    setcamnpc;
    mes "";
    mesn;
    mesq l("There are some flying yellow plushes around you. They're called pious. Getting a roasted leg of one of them would be perfect.");
    next;
    mesq l("I'd like to catch one of them, but they are flying away when I try.");
    next;
    mesq l("Walk a bit, it'll be easy for you to catch one. Impale one of them for me please.");
    next;
    mesn "Narrator";
    mes col(l("You can attack a monster by clicking on it or from your keyboard you can press the A key to select the monster followed by 'Ctrl' to attack it."), 9);
    next;
    mes col(l("Once the monster is dead, click on the dropped items to add them to your inventory. You can also use the Z key to claim the drops."), 9);

    close;

l_Quit:
    setcamnpc;
    mes "";
    mesn;
    mesq lg("Damn you! You better not tell anyone that you've seen me!");

    close;

}