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





                                   
           
               
               
                                                                           
                                         

                                                                                               

                                           
                                    
                               
                                
                             
         
                                                                                           
         





                                                                     



                                                                                          
         
           




                                                                                                                  
       
           
         











                                                                            

                                                                
                                                                        


                                                                                         

                                                                     
                                 
         
                                                                                                 
         
                                                                                                   




                                                                                                                       
           
         











                                                                                                                                 
                                                                                                     





                                                
         
         




                                                               
                                             









                                                                            
                                                                        


                                                                                         

                                                                     



                                                                                                 
                                                                                                   


          






                                             

                                   










                                              

                         

































                                                                                                     

          
 


                  
 
      








                                                                                                                
      
 
        



                            
                                  



                            
                                  

          
 
// TMW2 Scripts.
//
// TMW-BR Original Authors:
//      Programmer:   Adson Renato
//      Texts:        Arkanjo
//      Review:		  Jesusalva
//
// Authors:
//    Jesusalva
// Description:
//    Stowaway hidden in a ship's hole. Contrabandist. Trade potions, dyes,
//    food, water, and money for an item.
//    In BR originals requested a four leaf clover to do luck magic, in order to not be caught.
//    That would imply teaching a new skill, and I'm not felling like it, so I removed.

002-1,45,26,0	script	Alige	NPC_ALIGE,{
    if (BaseLevel < 42) goto L_Weak;
    .@q=getq(ShipQuests_Alige);
    if (.@q == 1) goto L_Return;
    if (.@q == 2) goto L_End;
    mesn;
    mesq lg("Hey, dude! The guards are after me. I need your help, and I can reward you.");
    next;
    mesn strcharinfo(0);
    menu
        l("Guaaaards! Sailors! Help! We have a stowaway!"), L_Revolt,
        l("Not right now, I'm busy."),                      L_Close,
        l("Did you said reward?!"),                         L_GoGo;

L_Weak:
    mes col("You thought there was someone here. It must have been your imagination.", 9);
    close;

L_Revolt:
    mes "";
    message strcharinfo(0), l("Guaaaards! Sailors! Help! We have a stowaway!");
    mesn;
    mesq l("No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!");
    close;

L_GoGo:
    mes "";
    mesn;
    mesq l("Yes, I need to get out of here the earliest possible.");
    next;
    mesn strcharinfo(0);
    mesq l("So tell me already what you need, and what is the reward!");
    next;
//    Stowaway hidden in a ship's hole. Contrabandist. Trade potions, dyes,
//    food, water, and money for a hat.
    mesn;
    mes col("Alige hands you an old paper patch.",9);
    next;
    mesn l("Old Paper Patch");
    mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
    mes l("* @@/12 @@", countitem(Bread), getitemlink(Bread));
    mes l("* @@/12 @@", countitem(Cheese), getitemlink(Cheese));
    mes l("* @@/12 @@", countitem(CherryCake), getitemlink(CherryCake));
    mes l("* @@/8 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
    mes l("* @@/6 @@", countitem(HastePotion), getitemlink(HastePotion));
    mes l("* @@/6 @@", countitem(StrengthPotion), getitemlink(StrengthPotion));
    mes l("* @@/2 @@", countitem(YellowDye), getitemlink(YellowDye));
    mes l("* @@/2 @@", countitem(BlueDye), getitemlink(BlueDye));
    mes l("* @@/7.500 GP", Zeny);
    next;
    // Temporary item. This four leaf amulet can be evolved: Bromenal < Iron < Golden < Crozenite
    mesn;
    mesq l("In exchange for your help, I'll give you a @@!", getitemlink(CrozeniteFourLeafAmulet));
    menu
        l("Of course I'll help you!"), L_Accept,
        l("Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!"), L_Close;

L_Accept:
    mes "";
    mesn;
    mesq l("\"Many thanks! I'll be waiting for you, hiding on the ship's hold!\"");
    next;
    mesn strcharinfo(0);
    mesq l("Could you first explain me why so many items?");
    next;
    mesn;
    mesq l("Very well, listen to my plan!");
    next;
    mesn;
    mesq l("The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?");
    next;
    mesn;
    mesq l("Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.");
    next;
    mesn strcharinfo(0);
    mesq l("You planned neatly. I'll be back.");
    setq ShipQuests_Alige, 1;
    close;

L_Return:
    mesn;
    mesq l("Hey, psst! Have you brought me what I asked for?");
    next;
    mesn strcharinfo(0);
    menu
        l("What I had to bring, again?"), L_Remember,
        l("Yes, you can count it."), L_Check,
        l("No... Not yet, sorry."), L_Close;

L_Remember:
    mes "";
    mes col("Alige hands you an old paper patch.",9);
    next;
    mesn l("Old Paper Patch");
    mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
    mes l("* @@/12 @@", countitem(Bread), getitemlink(Bread));
    mes l("* @@/12 @@", countitem(Cheese), getitemlink(Cheese));
    mes l("* @@/12 @@", countitem(CherryCake), getitemlink(CherryCake));
    mes l("* @@/8 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
    mes l("* @@/6 @@", countitem(HastePotion), getitemlink(HastePotion));
    mes l("* @@/6 @@", countitem(StrengthPotion), getitemlink(StrengthPotion));
    mes l("* @@/2 @@", countitem(YellowDye), getitemlink(YellowDye));
    mes l("* @@/2 @@", countitem(BlueDye), getitemlink(BlueDye));
    mes l("* @@/7.500 GP", Zeny);
    next;
    // Temporary item. This four leaf amulet can be evolved: Bromenal < Iron < Golden < Crozenite
    mesn;
    mesq l("In exchange for your help, I'll give you a @@!", getitemlink(CrozeniteFourLeafAmulet));
    close;

L_Check:
    if (countitem(CactusPotion) < 30 ||
        countitem(Bread) < 12 ||
        countitem(Cheese) < 12 ||
        countitem(CherryCake) < 12 ||
        countitem(BottleOfTonoriWater) < 8 ||
        countitem(HastePotion) < 6 ||
        countitem(StrengthPotion) < 6 ||
        countitem(YellowDye) < 2 ||
        countitem(BlueDye) < 2)
            goto L_Missing;
    if (Zeny < 7500) goto L_Poor;

    inventoryplace CrozeniteFourLeafAmulet, 1;
    delitem CactusPotion, 30;
    delitem Bread, 12;
    delitem Cheese, 12;
    delitem CherryCake, 12;
    delitem BottleOfTonoriWater, 8;
    delitem HastePotion, 6;
    delitem StrengthPotion, 6;
    delitem YellowDye, 2;
    delitem BlueDye, 2;
    Zeny = Zeny - 7500;
    getitem CrozeniteFourLeafAmulet, 1;
    getexp 2200, 50;
    setq ShipQuests_Alige, 2;
    mes "";
    mesn;
    mesq l("Good job... Here is your reward...");
    next;
    mesn;
    mesq l("I have to get going now. Thanks for the help!");
    close;

L_Poor:
    mes "";
    mesn;
    mes l("There's not everything I've asked for...");
    next;
    goto L_Remember;

L_Missing:
    mes "";
    mesn;
    mes l("There's not everything I've asked for...");
    next;
    goto L_Remember;

L_End:
    mesn;
    mes l("I am still here, but I already did amends for my acts and don't need to flee anymore...");
    next;
    mesn strcharinfo(0);
    mes l("Why am I having a hard time to believe on you...");
    close;

L_Close:
    close;

OnInit:
    .sex = G_MALE;
    .distance = 2;

    /*
    // Preventive check against faulty update. Must be removed afterwards.
    // UPDATE `quest` SET `count1` = '0' WHERE `quest`.`quest_id` = 2;
	.@nb = query_sql("select `char_id` from `quest` WHERE (`count1`>=1 and `quest_id`=2) LIMIT 2", .@name$);
    if (getarraysize(.@name$) > 0) {
        debugmes "FATAL ERROR: Quest log not updated.";
        debugmes "disabling Alige to prevent weirder bugs.";
        debugmes "UPDATE `quest` SET `count1` = '0' WHERE `quest`.`quest_id` = 2";
        disablenpc .name$;
    }
    */

    end;


OnTouch:
    if (getareausers() <= 1)
        setnpcdir "Alige", 2; // 6
    close;

OnUnTouch:
    if (getareausers() == 0)
        setnpcdir "Alige", 4; // 8
    close;

}