summaryrefslogtreecommitdiff
path: root/npc/006-2-1
diff options
context:
space:
mode:
Diffstat (limited to 'npc/006-2-1')
-rw-r--r--npc/006-2-1/glim.txt69
-rw-r--r--npc/006-2-1/may.txt85
-rw-r--r--npc/006-2-1/piouchef.txt150
3 files changed, 304 insertions, 0 deletions
diff --git a/npc/006-2-1/glim.txt b/npc/006-2-1/glim.txt
new file mode 100644
index 000000000..07e644797
--- /dev/null
+++ b/npc/006-2-1/glim.txt
@@ -0,0 +1,69 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// +seeds
+// Description:
+// Daily quest to exchange Tolchi Arrow Boxes for a small amount of gp and exp
+// Variables:
+// $GLIM_ST
+// How many Tolchi Arrow Boxes were given
+// q1
+// Controls your own progress helping Glim - Items today
+// q2
+// Controls your own progress helping Glim - Your timer
+
+006-2-1,82,28,0 script Glim NPC_PIOU_VIKING,{
+
+L_Loop:
+ .@q1=getq(LilitQuest_Glim);
+ .@q2=getq2(LilitQuest_Glim);
+ mesn;
+ mesq l("Argh, I've run out o' arrows! Say, ye don't have any I could use, do ye?.", $GLIM_ST);
+ next;
+ if (.@q2 < $@GLIM_QTIMER) {
+ setq1 Lilitquest_Glim, 0;
+ setq2 Lilitquest_Glim, $@GLIM_QTIMER;
+ }
+
+ // Daily limit reached
+ .@q1=getq1(Lilitquest_Glim);
+ if (.@q1 >= (BaseLevel-17)/3) goto L_Timer;
+ select
+ rif(countitem(TolchiAmmoBox) >= 1, l("Give Glim a @@"), getitemlink(TolchiAmmoBox)),
+ l("Maybe later.");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ delitem TolchiAmmoBox, 1;
+ getexp 64, 0;
+ Zeny=Zeny+50;
+ break;
+ case 2:
+ close;
+ break;
+ }
+ $GLIM_ST=$GLIM_ST+1;
+ setq1 Lilitquest_Glim, .@q1+1;
+ goto L_Loop;
+
+L_Timer:
+ if (BaseLevel < 10)
+ mesq l("Wait a minute! I ain't trustin' a weakling like ye fer good arrows!");
+ mesn;
+ mesq l("Come back when ye've grown sum muscles.");
+ mesn;
+ mesq l("I'm all stocked up now, thanks to ye. Come back in @@ and ye might be able to help me again.", FuzzyTime($@GLIM_TIMER+(60*60*24),2,2));
+ close;
+
+OnInit:
+ .sex=G_OTHER;
+ .distance=5;
+ // No end; on purpose
+
+OnHour00:
+ $@GLIM_QTIMER=gettimeparam(GETTIME_DAYOFMONTH);
+ $@GLIM_QTIMER=gettimetick(2);
+ end;
+
+}
diff --git a/npc/006-2-1/may.txt b/npc/006-2-1/may.txt
new file mode 100644
index 000000000..2de362cd2
--- /dev/null
+++ b/npc/006-2-1/may.txt
@@ -0,0 +1,85 @@
+// TMW-2 scripts.
+// Original Authors: Hal9000 & Qwerty Dragon
+// TMW-2 Authors:
+// +seeds
+// dangerduck
+// Description:
+// Piou nurse who keeps losing one of her charges.
+
+006-2-1,28,24,0 script Nurse May NPC_PIOU_NURSE,{
+ function mayHello;
+ function mayHelp;
+ function mayClose;
+ .@q=getq(LilitQuest_Hatchling);
+
+ if (.@q <= 1)
+ function mayHello {
+ mesn;
+ mesq l("Oh please help me, %s! A hatchling has escaped and I can't leave my charges to retrieve him! Will you fetch him for me?", get_race());
+ next;
+ select
+ l("Of course, I'd be happy to help!"),
+ l("I don't do well with kids, sorry."),
+ mes "";
+ switch (@menu) {
+ case 1:
+ mayHelp();
+ break;
+ case 2:
+ mayClose();
+ break;
+ }
+ return;
+}
+
+function mayHelp {
+ mesn;
+ mesq l("My charge Chuck darted through the door when I came in this morning, and escaped!");
+ mesn;
+ mesq l("One of the palace guards came by earlier to pickup her daughter, and she said he's at the castle.");
+ mesn;
+ mesq l("Apparently he's been terrorizing the staff, and keeping them out of their quarters!");
+ mesn;
+ mesq l("Nobody's been able to coax him back or catch him, but a %s might be able to.", get_race());
+ mesn;
+ mesq l("Please bring him back, and hurry!");
+ close;
+}
+
+function mayClose {
+ {
+ .@r = rand2(2);
+ if (.@r == 0)
+ {
+ npctalk3 l("I'm sorry, I simply can't spare any more time to talk with you. Oh, Kendra, don't eat that!");
+ }
+ else
+ {
+ npctalk3 l("I must get back to my hatchlings!", get_race());
+ }
+ }
+ else if (.@q == 1)
+ {
+ mesn;
+ mesq l("Oh, hello again %s! I'm afraid Chuck escaped again. Would you mind retrieving him again, please?", strcharinfo(0));
+next;
+ select
+ l("No problem! It's kind of fun chasing after him."),
+ l("Sorry, I'm too busy to worry about misbehaved chicks. Catch him yourself."),
+ mes "";
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ mayClose();
+ break;
+ }
+ return;
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
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;
+}
+