summaryrefslogblamecommitdiff
path: root/npc/003-1/aidan.txt
blob: 30131abac17786ddc6a2e2e0dd740c8a0443b8d2 (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 (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 "";
    mesq l("Current Progress: @@/10,000 kills", getq2(General_Hunter));
    if (getq2(General_Hunter) >= 10000) goto L_Finish;
    goto L_Assign;
    close; // Will never be reach.

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, well come to the Grand Hunter Quest!");
        next;
        goto L_Assign;
    } else {
        mes "";
        mesn;
        mesq l("A pity...");
        close;
    }
    // TODO: Here we must setarray, and add the flag you are now allowed to do these quests.
    // Then the other NPCs can give you other monsters to kill, backuping previous values
    // to this array. You won't be penalized for switching.

L_Assign:
    mes "";
    mesn;
    mes l("I represent the Tulimshar Hunters. We hunt Maggots.");
    mes l("The great prize is @@, a pet which eats Bug Legs.", getitemlink(MaggotCocoon));
    select
        l("I'm not interested."),
        rif(GHMEMO[1] < 10000,l("I'll hunt 10,000 maggots."));

    switch (@menu) {
    case 2:
        GHMEMO[getq(General_Hunter)]=getq2(General_Hunter);
        setq(General_Hunter, 1, GHMEMO[1]);
        mesn;
        mesq l("Good luck! Don't come back until you reach 10000 kills!");
        close;
        break;
    default:
        close;
    }

L_Finish:
    switch (getq(General_Hunter)) {
    case 1:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+25000;
        inventoryplace MaggotCocoon, 1;
        getitem MaggotCocoon, 1;
        getexp 15000, 0;
        mesn;
        mesq l("Good job, here is 25,000 GP and 15,000 EXP.");
        mesq l("And your rare, a @@! Enjoy!", getitemlink(MaggotCocoon));
        close;
    case 2:
        setq General_Hunter, 0, 0;
        Zeny=Zeny+250000;
        mesn;
        mesq l("Good job, here is 250,000 GP!");
        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;
    if (getq(General_Hunter) == 1 && killedrid == Maggot)
        setq2 General_Hunter, getq2(General_Hunter)+1;
    if (getq(General_Hunter) == 2 && killedrid == Snake)
        setq2 General_Hunter, getq2(General_Hunter)+1;
    end;
}