From 7009ed2db98f7e8a56d5c76d524408346cedeceb Mon Sep 17 00:00:00 2001 From: Povo Date: Sun, 23 May 2021 01:03:24 +0000 Subject: Trithodex master patch limedye --- db/quest_db.conf | 5 ++ npc/018-7/raify.txt | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 npc/018-7/raify.txt diff --git a/db/quest_db.conf b/db/quest_db.conf index 8fcf1323b..d01647d6e 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -461,6 +461,11 @@ quest_db: ( Id: 253 Name: "LilitQuest_Ivanize" }, +{ + Id: 254 + Name: "LilitQuest_Raify" +}, + // ID 270 to 299: Land Of Fire Quests { Id: 270 diff --git a/npc/018-7/raify.txt b/npc/018-7/raify.txt new file mode 100644 index 000000000..f2b37275f --- /dev/null +++ b/npc/018-7/raify.txt @@ -0,0 +1,143 @@ +// TMW-2 Script. +// Author: +// Povo +// Description: +// Lime Dye Quest (lvl 40) + +018-7,87,34,0 script Raify NPC_FAIRY_A,{ + .@q = getq(LilitQuest_Raify); + if (.@q == 1) + goto L_Offer; + if (.@q >= 2) + goto L_Dye; + if (BaseLevel > 39) { + speech S_LAST_NEXT, + l("Psst."), + l("Hey you. Come here...I have a quest for ya."), + l("Keep your voice down and just listen."), + l("Look, I really hate pious...all of them."), + l("I want to get rid of them."), + l("However, that is not exactly a popular idea around here. The fae seem more concerned with snakes."), + l("That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward."); + goto L_Offer; + } + speech S_LAST_NEXT, + l("Hmm what is it?"), + l("I'm sorry but I can't talk right now... I have something on my mind."), + l("I said go away!"), + l(" It is not like you are strong enough to pick a fight with me so kindly leave before I get mad."); + close; + +L_Offer: + mesn; + mesq l("So here is what I am thinking."); + next; + mesn; + mesq l("You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s", + getitemlink(LimeDye)); + next; + mesn; + mesq l("I think that %d %s and %d %s should be enough for now.", + 50, getitemlink(ForestPiouFeathers), + 50, getitemlink(ManaPiouFeathers)); + mesq l("I will also need %d %s to make the mixture and %s GP as a fee.", + 1, getitemlink(BottleOfWoodlandWater), + fnum(2500)); + compareandsetq LilitQuest_Raify, 0, 1; + .@q = getq(LilitQuest_Raify); + if (.@q >= 2) + goto L_Dye; + +L_Menu: + next; + mesn; + mesq l("So what do you say? You in?"); + next; + select + l("Uhh...yeah sure...I guess..."), + l("Dye? How can you do that without a cauldron?"), + l("If I am doing your dirty work, why am I the one paying you?!"), + l("Wait...could you repeat that?"), + l("Umm..I have another quest to get to. So... umm... I should get going."); + + mes ""; + switch (@menu) { + case 1: + setq LilitQuest_Raify, 2; + mesn; + mesq l("Perfect, I knew you were right person for the job."); + mesq l("Come back when you have everything."); + close; + case 2: + mesn; + mesq l("Do you really have to ask? I am a fairy...*sigh*"); + next; + mesq l("...wingless humanoids."); + break; + case 3: + mesn; + mesq l("Consider it an insurance policy. Besides, %s isn't exactly easy to come by.", getitemlink(LimeDye)); + break; + case 4: + mesn; + mesq l("I need you to take care of my 'Piou Problem.'"); + next; + goto L_Offer; + case 5: + goto L_Quit; + } + goto L_Menu; + +L_Dye: + mesn; + mesq l("So did you take care of my 'Piou Problem?'"); + mesq l("Did you bring everything?"); + next; + select + l("Yes."), + l("No."), + l("What did you need me to get again?"); + mes ""; + + if (@menu == 2) + goto L_Quit; + + if (@menu == 3) + goto L_Offer; + +L_DyeLoop: + if (countitem(BottleOfWoodlandWater) >= 1 && + countitem(ForestPiouFeathers) >= 50 && + countitem(ManaPiouFeathers) >= 50 && + Zeny >= 2500) { + inventoryplace LimeDye, 1, EmptyBottle, 1; + delitem BottleOfWoodlandWater, 1; + delitem ForestPiouFeathers, 50; + delitem ManaPiouFeathers, 50; + Zeny-=2500; + getitem LimeDye, 1; + getitem EmptyBottle, 1; + if (getq(LilitQuest_Raify) == 2) { + setq LilitQuest_Raify, 3; + getexp 3500, 0; + } + mesn; + mesq l("Thanks! Here's your dye. Do you want to trade any more?"); + next; + if (askyesno() == ASK_YES) + goto L_DyeLoop; + } else { + mesn; + mesq l("Sorry, you don't seem to have everything I need."); + } + close; + +L_Quit: + closedialog; + close; + +OnInit: + .sex = G_OTHER; + .distance = 5; + end; +} -- cgit v1.2.3-60-g2f50