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