From 96d13966a994c9f3cb883c6d9e9e95cc5a537229 Mon Sep 17 00:00:00 2001 From: seeds Date: Sun, 6 Jun 2021 20:20:12 +0000 Subject: Replace lune.txt - Add agility potion mixing --- npc/006-2-1/lune.txt | 149 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 134 insertions(+), 15 deletions(-) (limited to 'npc/006-2-1/lune.txt') diff --git a/npc/006-2-1/lune.txt b/npc/006-2-1/lune.txt index 77d25d3c8..8a63fc86d 100644 --- a/npc/006-2-1/lune.txt +++ b/npc/006-2-1/lune.txt @@ -5,12 +5,12 @@ // Jesusalva // seeds // Description: -// Status Reset +// Status Reset and Agility Potions 006-2-1,34,66,0 script Lune NPC_PIOU_ALCHEMIST,{ speech S_LAST_NEXT, - l("I am @@, a piou alchemist specialized in reset potions.", .name$); + l("I am %s, a piou alchemist specializing in reset and agility potions.", .name$); L_Menu: .@plush_count = BaseLevel*210-(9*210); @@ -21,18 +21,21 @@ L_Menu: select l("Can you reset my stats please?"), - "", + l("Can you mix me an agility potion?"), lg("I'm allergic to piou potions, goodbye."); + mes ""; switch (@menu) { case 1: goto L_ResetStats; case 2: - goto L_Powder; - case 3: + goto L_PotionList; + default: goto L_Quit; + break; } + close; L_ResetStats: mesn; @@ -42,30 +45,146 @@ L_ConfirmReset: ConfirmStatusReset(); goto L_Quit; -L_Powder: - .@price=POL_AdjustPrice(800); +L_PotionList: + mes ""; + mesn; + mesq l("I can make three types of Agility Potions, which would you like?"); + next; + select + rif(BaseLevel > 20, l("I want an Agi Potion.")), + rif(BaseLevel > 30, l("I want an Agi+ Potion.")), + rif(BaseLevel > 40, l("I want an Agi++ Potion.")), + l("I changed my mind, goodbye."); + mes ""; + switch (@menu) { + case 1: + goto L_AgiPotionA; + break; + case 2: + goto L_AgiPotionB; + break; + case 3: + goto L_AgiPotionC; + break; + default: + goto L_Quit; + break; + } + close; + +L_AgiPotionA: + .@price=POL_AdjustPrice(1000); + mes ""; + mesn; + mesq l("To make an %s I need a %s, an %s, and %s GP for commission.", getitemlink(AgiPotionA), getitemlink(TopazPowder), getitemlink(HerbalTea) fnum(.@price)); + next; + select + l("I have the ingredients here."), + l("I'll come back later."), + l("I don't need anything after all, goodbye!"); + if (@menu == 2) + goto L_Menu; + + if (@menu == 3) + goto L_Quit; + + if ( + countitem(TopazPowder) && + countitem(HerbalTea) && + Zeny >= .@price) { + + inventoryplace AgiPotionA, 3; + delitem TopazPowder, 1; + delitem HerbalTea, 1; + POL_PlayerMoney(.@price); + getitem AgiPotionA, any(2,3); + getexp rand2(6,18), rand2(6,18); + + mesn; + mesq l("Here you go. Perhaps you need another one?"); + next; + goto L_PotionList; + } else { + mesn; + mesq l("Sorry, but I need the ingredients and %d GP.", .@price); + next; + } + goto L_Menu; + +L_AgiPotionB: + .@price=POL_AdjustPrice(1250); + mes ""; + mesn; + mesq l("To make an %s I need a %s, two %s, and %s GP for commission.", getitemlink(AgiPotionB), getitemlink(Topaz), getitemlink(HerbalTea) fnum(.@price)); + next; + select + l("I have the ingredients here."), + l("I'll come back later."), + l("I don't need anything after all, goodbye!"); + if (@menu == 2) + goto L_Menu; + + if (@menu == 3) + goto L_Quit; + + if ( + countitem(Topaz) && + countitem(HerbalTea) >= 2 && + Zeny >= .@price) { + + inventoryplace AgiPotionB, 3; + delitem Topaz, 1; + delitem HerbalTea, 2; + POL_PlayerMoney(.@price); + getitem AgiPotionB, any(2,3); + getexp rand2(6,18), rand2(6,18); + + mesn; + mesq l("Here you go. Perhaps you need another one?"); + next; + goto L_PotionList; + } else { + mesn; + mesq l("Sorry, but I need the ingredients and %d GP.", .@price); + next; + } + goto L_Menu; + +L_AgiPotionC: + .@price=POL_AdjustPrice(1500); mes ""; mesn; - mesq ""; + mesq l("To make an %s I need a %s, three %s, and %s GP for commission.", getitemlink(AgiPotionC), getitemlink(PolishedTopaz), getitemlink(HerbalTea) fnum(.@price)); next; select - l("Yeah, I need one."), - l("Thanks for the help, but no."), - l("I'm allergic to piou, goodbye!"); + l("I have the ingredients here."), + l("I'll come back later."), + l("I don't need anything after all, goodbye!"); if (@menu == 2) goto L_Menu; if (@menu == 3) goto L_Quit; - if (false) { + if ( + countitem(PolishedTopaz) && + countitem(HerbalTea) >= 3 && + Zeny >= .@price) { + + inventoryplace AgiPotionC, 3; + delitem PolishedTopaz, 1; + delitem HerbalTea, 3; + POL_PlayerMoney(.@price); + getitem AgiPotionC, any(2,3); + getexp rand2(6,18), rand2(6,18); + mesn; - mesq l("Thanks! Here you go. Perhaps you need another one?"); + mesq l("Here you go. Perhaps you need another one?"); next; - goto L_Powder; + goto L_PotionList; } else { mesn; - mesq ""; + mesq l("Sorry, but I need the ingredients and %d GP.", .@price); next; } goto L_Menu; -- cgit v1.2.3-60-g2f50