From 6abb5c9876dffc03e13a6445c6a61af437e37aa7 Mon Sep 17 00:00:00 2001 From: +seeds Date: Sun, 5 Mar 2023 00:18:54 +0000 Subject: Update db/constants.conf --- npc/006-2-1/glim.txt | 69 ++++++++++++++++++++++ npc/006-2-1/may.txt | 85 +++++++++++++++++++++++++++ npc/006-2-1/piouchef.txt | 150 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 304 insertions(+) create mode 100644 npc/006-2-1/glim.txt create mode 100644 npc/006-2-1/may.txt create mode 100644 npc/006-2-1/piouchef.txt (limited to 'npc/006-2-1') 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; +} + -- cgit v1.2.3-70-g09d2