summaryrefslogblamecommitdiff
path: root/npc/006-2-1/piouchef.txt
blob: 2536053e5913b4b10c7759dcbdf91a679d070666 (plain) (tree)





















































































































































                                                                                                                                                                                                                                                    
// TMW2 Script
// Author:
//  dangerDuck
//  +seeds
// Description:
//      Piou chef who asks you to check on a missing delivery.

006-2-1,35,75,0	script	Piou Chef	NPC_PIOU_COOK,{
    function chefAssign;
    function chefWait;
    function chefSupplyList;
    function chefGiveDelivery;
    function chefClose;
    .@q=getq(LilitQuest_PiouChef);
    mesn;
    mesc l("The chef is muttering under his breath while kneading a pile of soft dough.");
    next;
    select
        rif(.@q == 0, l("Do you need help with anything?")),
        rif(.@q == 1, l("I have the supplies you asked for.")),
        l("I better leave him to his work.");
    mes "";
    switch (@menu) {
        case 1:
            chefAssign();
            break;
        case 2:
            chefWait();
            break;
        case 3:
            chefGiveDelivery();
            break;
        default:
            chefClose();
            break;
    }
    close;

function chefAssign {
    if (BaseLevel < 50) {
        mesn;
        mesq l("Unfortunately, a mere fledgling like you is not strong enough to help us.");
        next;
        elderClose();
        return;
    }
    mesn;
    mesq l("Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.", get_race());
    next;
    mesn;
    mesq l("We are in desperate need of food and nesting material, as well as our sacred supply of @@.", getitemlink(CrystallizedMaggot));
    next;
    setq LilitQuest_PiouChef, 1;
    chefSupplyList();
    chefClose();
    return;
}

function chefWait {
    do
    {
        mesn;
        mesq l("Did you bring the supplies?");
        next;
        select
            l("Yes, I have them right here."),
            l("What did you want? I've forgotten."),
            l("Not yet. I've been... delayed.");
        mes "";
        switch (@menu) {
        case 1:
            chefGiveDelivery();
            break;
        case 2:
            chefSupplyList();
            break;
        case 3:
            chefClose();
            close;
            break;
        }
    } while (true);
    return;
}

function chefSupplyList {
	do
	{
		mesn;
		mesq l("We need @@, @@, and @@ for our regular stores and nesting materials, and @@ for the royal kitchen.", 300, getitemlink(Moss), 250, getitemlink(RoastedMaggot), 20, getitemlink(FishBox), 1, getitemlink(CrystallizedMaggot));
		next;
		mesn;
		mesq l("Please hurry, our citizens are going hungry, and you do NOT want to find out what a crowd of hungry pious will do!");
		close;
		return;
}

function chefGiveDelivery {
    if (countitem(Moss) < 300 ||
        countitem(RoastedMaggot) < 250 ||
        countitem(FishBox) < 20 ||
        countitem(CrystallizedMaggot) < 1) {
        mesn;
        mesq l("This isn't what I requested!!! Perhaps you should count your items more carefully.");
        next;
        mesn;
        mesq l("If you aren't more careful, we might... accidentally... mistake you for an agent of the Duck Side.");
        percentheal -99, 0;
        close;
    }

    delitem(Moss, 300);
    delitem(RoastedMaggot, 250);
    delitem(FishBox, 20);
    delitem(CrystallizedMaggot, 1);

    getexp(34576, 19226);
    setq(LilitQuest_PiouChef, 2);

    mes "";
    next;
    mesn;
    mesq l("I appreciate the help, %s. Come back anytime for a tasty dish!", get race());
    close;
}

function chefClose {
    mesn;
    mesq l("Keep your eye out for pesky ducks, %s. I have a new sauce I want to try out...", strcharinfo(0));
    next;
    mesn;
    if (BaseLevel < 50) {
        mesq l("Perhaps you may be of assistance later.");
    } else {
        mesq l("Go away, %s! Can't you see I'm busy?", get_race());
    }
    close;
    return;
}

OnInit:
    .sex = G_OTHER;
    .distance = 4;
    end;

OnInstanceInit:
    disablenpc instance_npcname(.name$);
    end;
}