summaryrefslogblamecommitdiff
path: root/npc/003-1/aidan.txt
blob: e956da866d383b7c14663a14d5af435f433b8ea1 (plain) (tree)





















                                                                                                                             
                        














                                                                        
                                                                                                                                                                                    




























                                                                                                                                                          

                                    




                                                                                                             


                                                               
                                                      

                                  
 





                                                                              


           
                                                                                                                                                   


                                                                                           



                                 
                                                                 







                            

         
                                                               
        
 
 
         
                                                                

                                                                  
                                                                                                                                   
           
                                                       

                                                              
                                  

                                       
                                                                             
                          
             
                                                              
                                                                         
              
               
                                  

                                
                          
             

                                                                                    
              
                  

                                  
                          

                                                
                                        
              
                        
                                  
                         
                                
                          
             
                                                                                    
                                        
              

                                  
                              

                          
                                                                       

                                        
     

                                                                 
 

                                  



                                                              





                                           



                                       


                                                      

                                                      
 

 
// TMW-2 Script
// Author: Crazyfefe, Jesusalva
// Desc:   Originally a Tmw script

003-1,95,97,0	script	Aidan	NPC_PLAYER,{

    function Register
    {
        mesn l("Aidan, the Monster Guide");
        mesq l("Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?");
        next;
        mesn l("Aidan, the Monster Guide");
        mesq l("The register fee is 2000 GP.");
        
        do
        { 
            select
            rif(Zeny >= 2000, l("Register")),
            rif(Zeny < 2000, l("How do I get so much money?!")),
            l("Not at the moment"),
            l("Information");
        
        switch (@menu) {
            case 1:
                mes "";
                Zeny=Zeny-2000;
                MPQUEST=1;
                mesn l("Aidan, the Monster Guide");
                mesq l("Give me a second to look over your paperwork.");
                next;
                mesn l("Aidan, the Monster Guide");
                mes l("\"Well, looks like you qualify!");
                mes l("Welcome to the questing world!\"");
                close;
                break;
            case 2:
                mes "";
                mesn l("Aidan, the Monster Guide");
                mesq l("Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!", getitemlink(Ruby), getitemlink(ScorpionStinger));
                close;
                break;
            case 3:
                mes "";
                mesn l("Aidan, the Monster Guide");
                mesq l("Very well, you don't know what you're missing.");
                close;
                break;
            case 4:
                mes "";
                mesn l("Aidan, the Monster Guide");
                mesq l("You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.");
                next;
                mesn l("Aidan, the Monster Guide");
                mesq l("Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.");
                next;
                mesn l("Aidan, the Monster Guide");
                mesq l("To prevent abuse, a registering fee is charged. Nothing major.");
                next;
                mesn l("Aidan, the Monster Guide");
                mesq l("So whaddaya say, sign up won't you?");
                next;
                mes "";
                Register;
                break;
        }
        } while (@menu != 4);
    }

    if (BaseLevel < 10) goto L_Weak;

    if (MPQUEST == 0)
        Register;

    mesn l("Aidan, the Monster Guide");
    mesq l("You currently have @@ Monster Points. These points are acquired while killing monsters.", Mobpt);
    if (getq(General_Hunter) == 0 && !GHQUEST) goto L_Register;
    if (getq(General_Hunter) == 0) goto L_Assign;
    mes "";
    if (getq2(General_Hunter) >= 10000) goto L_Finish;
    goto L_Assign;
    close; // Will never be reach.

L_Weak:
    mesn;
    mesq l("How did you even get here? Go back to Candor, where you belong!");
    percentheal -20, 0;
    close;

L_Register:
    next;
    mesn;
    mesq l("The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.");
    next;
    mesn;
    mesq l("You can gain rares, even. Come register for this special program. It's free!");
    if (askyesno() == ASK_YES) {
        GHQUEST=1;
        setarray GHMEMO, 0, 0, 0;
        mesn;
        mesq l("Registered, welcome to the Grand Hunter Quest!");
        next;
        goto L_Assign;
    } else {
        mes "";
        mesn;
        mesq l("A pity...");
        close;
    }

L_Assign:
    GHQ_Assign(Maggot, "Tulimshar", getitemlink(MaggotCocoon));
    end;


L_Finish:
    // Check if you can store a Strange Coin (you really should)
    // Another item too, which I'm sure you won't get it anywhere.
    inventoryplace StrangeCoin, 1, NPCEyes, 1;
    mes l("Current progress: @@/10000 @@", getq2(General_Hunter), getmonsterlink(GHQ_GetMonsterIDByQuestID(getq(General_Hunter))));
    mes "";
    GHMEMO[getq(General_Hunter)]=getq2(General_Hunter);
    switch (GHQ_GetMonsterIDByQuestID(getq(General_Hunter))) {
    case Maggot:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+25000;
        inventoryplace MaggotCocoon, 1;
        makepet(Maggot); // Works the same, even if I'm using mob_db constant
        getexp 15750, 100;
        mesn;
        mesq l("Good job, here is 25,000 GP and 15,750 EXP.");
        mesq l("And your rare, a @@! Enjoy!", getitemlink(MaggotCocoon));
        close;
    case Snake:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+300000;
        getitem StrangeCoin, 80;
        getexp 15750, 100;
        mesn;
        mesq l("Good job, here is 300,000 GP and 80 @@!", getitemlink(StrangeCoin));
        mesc l("Gained @@ XP", "15750");
        close;
    case Scorpion:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+100000;
        getexp 15750, 100;
        mesn;
        mesq l("Good job, here is 100,000 GP!");
        mesc l("Gained @@ XP", "15750");
        close;
    case ForestMushroom:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+175000;
        getitem StrangeCoin, 60;
        getexp 15750, 100;
        mesn;
        mesq l("Good job, here is 175,000 GP and 60 @@!", getitemlink(StrangeCoin));
        mesc l("Gained @@ XP", "15750");
        close;
    case Pinkie:
        setq General_Hunter, 0, 0;
        getitem PinkHelmet, 1;
        getexp 15750, 100;
        mesn;
        mesq l("And your rare, a @@! Enjoy!", getitemlink(PinkHelmet));
        mesc l("Gained @@ XP", "15750");
        close;
    }
    mesc l("ILLEGAL SCRIPT POSITION REACHED, PLEASE REPORT.", 1);
    close;

OnInit:
    .@npcId = getnpcid(0, .name$);
    setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
    setunitdata(.@npcId, UDT_HEADMIDDLE, LegionCopperArmor);
    setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
    setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
    setunitdata(.@npcId, UDT_HAIRSTYLE, 3);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 3);

    .sex = G_MALE;
    .distance = 5;
    end;


OnNPCKillEvent:
    if (getq(General_Hunter) == 0) end;

    .@ghd=getq(General_Hunter);
    if (killedrid == GHQ_GetMonsterIDByQuestID(.@ghd))
        setq2 General_Hunter, getq2(General_Hunter)+1;
    end;
}