// 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;
}