diff options
-rw-r--r-- | npc/006-2-1/piouchef.txt | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/npc/006-2-1/piouchef.txt b/npc/006-2-1/piouchef.txt new file mode 100644 index 000000000..2536053e5 --- /dev/null +++ b/npc/006-2-1/piouchef.txt @@ -0,0 +1,150 @@ +// 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; +} + |