summaryrefslogblamecommitdiff
path: root/npc/014-3/rauk.txt
blob: ab2a80b954417a65c359c111a707aff59782265a (plain) (tree)














































                                                                                                                                     
              












































































































                                                                                                                                                              
// TMW2 Script
// Author:
//     Povo
// Description:
//    Will craft green dye for the player but not without having some fun first

014-3,204,110,0	script	Rauk	NPC_PLAYER,{

    function check_items {
        if (countitem(BottleOfWoodlandWater) < 1 ||
             countitem(MaggotSlime) < 1 ||
             countitem(ArtichokeHerb) < 1 ||
             Zeny < 100) {
           mesq l("Sorry, you don't have everything needed to play.");
           next;
           goto L_Quit;
        }
    }
    
    speech S_LAST_NEXT,
        l("Huh? Can't you see that I am busy?");
        l("What do you want?");

L_Menu:
     .@q = getq(HurnscaldQuest_Rauk);
    select
        l("What are you doing?"),
        l("Umm...nevermind.");
    mes "";

    switch (@menu)
    {
        case 1:
            goto L_LevelCheck;
        case 2:
            goto L_Quit;
    }

L_LevelCheck:
    mesn;
    mesq l("I am practicing a form of advanced alchemy using some items found by killing monsters in the forest and caves nearby."); 
    mesq l("I could always use more supplies.");
    next;
    if (BaseLevel < 30) {
        mesn;
        mesq l("I would hire you if your level was higher. Low level adventurers usually take too long.");
        mesq l("Maybe you should come back later.");
        close;
    } else {
        mesn;
        mesq l("You want to help?");
        next;
        mesn;
        mesq l("Heh, I don't know, I usually deal with stronger adventurers...");
        mesq l("Look, I know it is not easy out there when you are trying to make something of yourself.");
        next;
        mesn;
        mesq l("Instead of bringing me a large number of items, I will play a game to give you a chance to win a %s for a low price.", getitemlink(GreenDye));
        mesq l("To start the game, first give me %d %s. After that, each entry costs %d %s, %d %s, and %d GP.", 
                        1, getitemlink(BottleOfWoodlandWater), 5, getitemlink(MaggotSlime), 3, getitemlink(ArtichokeHerb), 100);
        mesq l("You can play as many entries as you want but if you run out of items or give up, there are no refunds");
        mesq l("What do you say?");
        if (.@q < 1)
            setq(HurnscaldQuest_Rauk, 1);
        next;
        goto L_GameMenu;
    }
 
 L_GameMenu:
     select
        l("Yeah, I will play!"),
        l("No thanks.");
    mes "";

    switch (@menu)
    {
        case 1:
            goto L_GameStart;
        case 2:
            goto L_Quit;
    }

L_GameStart:
    .@n = rand(1000);
    mesn;
    mesq l("I have picked a number between 0 and 1000.");
    mesq l("The number will not change, and you can keep guessing until you either give up or get it right.");
    mesn;
    check_items();
    mesq l("Alright, let's play!");
    next;
    delitem BottleOfWoodlandWater, 1;
    inventoryplace EmptyBottle, 1;
    getitem(EmptyBottle, 1);
    mesn;
    
    L_TryAgain:
        mesq l("You have %d %s,  %d %s, and %s GP.", countitem(ArtichokeHerb), getitemlink(ArtichokeHerb),
                        countitem(MaggotSlime), getitemlink(MaggotSlime), fnum(Zeny));
        mesq l("Each guess costs %d %s, %d %s, and %d GP.", 1, getitemlink(ArtichokeHerb), 1, getitemlink(MaggotSlime), 100);
        check_items();
        mesq l("Take a guess?");
        next;
        
        select
            l("Yes."),
            l("No. I will come back later.");
        mes "";
    
         switch (@menu)
         {
            case 1:
                delitem ArtichokeHerb, 3;
                delitem MaggotSlime, 5;
                Zeny = Zeny - 100;
                mesn;
                mesq l("Pick a number between 0 and 1000.");
                input .@amount;
                if (.@amount == .@n) {
                    mesq l("You Win!");
                    inventoryplace GreenDye, 1;
                    if (.@q < 2) {
                        setq(HurnscaldQuest_Rauk, 2);
                        getexp 800, 0;
                    }
                    getitem(GreenDye, 1);
                    mesq l("That was fun! Enjoy the prize and come back anytime if you want to play again.");
                    next;
                    goto L_Quit;
                }
                if (.@amount < .@n) {
                    mesn;
                    mesq l("Wrong! My number is higher.");
                    next;
                    goto L_TryAgain;
                }
                if (.@amount > .@n) {
                   mesn;
                   mesq l("Wrong! My number is lower.");
                   next;
                   goto L_TryAgain;
                }
            case 2:
                goto L_Quit;
        }

L_Quit:
    closedialog;
    goodbye;
    close;
    
OnInit:
    .@npcId = getnpcid(.name$);
    .sex = G_MALE;
    .distance = 4;
    end;
}