summaryrefslogtreecommitdiff
path: root/npc/006-2-1
diff options
context:
space:
mode:
author+seeds <abby.hulka@gmail.com>2023-03-05 00:18:54 +0000
committerJesusalva Jesusalva <jesusalva@themanaworld.org>2023-03-05 00:48:58 +0000
commitec95a5c75d0ce36ae0cfec18726d346018c04cbc (patch)
tree5f71528bfdb5a8859040f6dee43ee0466693acfb /npc/006-2-1
parentf123b04e54885559000b799e73373e5b99affc71 (diff)
downloadserverdata-cherry-pick-181de88c.tar.gz
serverdata-cherry-pick-181de88c.tar.bz2
serverdata-cherry-pick-181de88c.tar.xz
serverdata-cherry-pick-181de88c.zip
Merge branch 'PiouIsles_quests' into 'master'cherry-pick-181de88c
Update db/constants.conf See merge request ml/serverdata!94 (cherry picked from commit 181de88c329902299082dfb61f8a8e644b8e89bf) 88800735 Update db/constants.conf c32b5649 Upload New File a2f38cb8 Upload New File 2caf4ba1 Upload New File f407a2a0 Upload New File 2081d905 Upload New File 21606ee2 Upload New File 7073e232 Upload New File 1522ab30 Replace quest_db.conf b356ff2c Replace item_db.conf
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;
+}
+