From 48d029a3969192d0a5e5a082d9ed59ba0f09297c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 23 May 2019 18:22:48 -0300 Subject: Allow players to make Return Potion, and give them Tulimshar Crystal instead of Halinarzo Crystal. It'll be more fun by crossing the canyons \o/ --- db/re/item_db.conf | 2 +- npc/012-2/rakinorf.txt | 5 ++-- npc/012-4/wyara.txt | 74 +++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 77 insertions(+), 4 deletions(-) diff --git a/db/re/item_db.conf b/db/re/item_db.conf index 1dc329255..9ae8d91aa 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -2562,7 +2562,7 @@ item_db: ( UseEffect: 64 Script: <" // We would want warp to be delayed a bit but meh - sleep2(1000); + sleep2(rand(1000,2500)); warp "Save", 0, 0; "> }, diff --git a/npc/012-2/rakinorf.txt b/npc/012-2/rakinorf.txt index 1bd547a07..c4c646103 100644 --- a/npc/012-2/rakinorf.txt +++ b/npc/012-2/rakinorf.txt @@ -304,9 +304,10 @@ L_Complete: mesn; mesq l("Halinarzo is a *hic* level 50 area. So please *hic* be careful!"); mesc l("WARNING: Warp Crystals can break after use and have a cooldown."); + mesc l("Return Potions works instantly. Talk to Wyara to get more."); setq General_Narrator, 6, 0; - getitem ReturnPotion, 5; - getitem HalinWarpCrystal, 1; + getitem ReturnPotion, 10; + getitem TulimWarpCrystal, 1; getitem HurnsWarpCrystal, 1; getexp BaseLevel*400, JobLevel*50;// Reference Levels: (35, 15) close; diff --git a/npc/012-4/wyara.txt b/npc/012-4/wyara.txt index 2d95b9461..f4a7680b5 100644 --- a/npc/012-4/wyara.txt +++ b/npc/012-4/wyara.txt @@ -4,7 +4,7 @@ // Vasily_Makarov (original from Evol) // Jesusalva // Description: -// Still Unused NPC +// Hurnscald Potion Shopkeeper // Notes: // Reset must be turned in function @@ -20,10 +20,13 @@ L_Menu: if (BaseLevel > 10) .@plush_count = .@plush_count/(BaseLevel/10); + .@n=getq(General_Narrator); + select l("Can you reset my stats please?"), rif($ARKIM_ST >= 1200,l("I want Piberries Infusion!")), rif(getq(HurnscaldQuest_InjuriedMouboo) == 2,l("Do you know how to break curses?")), + rif(.@n >= 6,l("I am in dire need of Return Potions!")), lg("You are weird, I have to go sorry."); mes ""; @@ -35,6 +38,8 @@ L_Menu: case 3: goto L_Uncurse; case 4: + goto L_ReturnPot; + case 5: goto L_Quit; } @@ -142,6 +147,73 @@ L_Uncurse: } close; +L_ReturnPot: + .@price=10000-(reputation("Hurns")*20); + .@craft=2001-(reputation("Hurns")*20); + mesn; + mesq l("I understand. Rakinorf told me to stuff you with them if needed."); + next; + mesn; + mesq l("Be aware I can only bake batches of 5 potions."); + next; + mesn; + mesq l("So, it is @@ GP each one up-front. Or I can brew with your materials:", .@price); + mes ""; + mesn l("Craft Recipe"); + mesc l("- @@/@@ @@", 100, countitem(MauveHerb), getitemlink(MauveHerb)); + mesc l("- @@/@@ @@", 20, countitem(MushroomSpores), getitemlink(MushroomSpores)); + mesc l("- @@/@@ @@", 10, countitem(Potatoz), getitemlink(Potatoz)); + mesc l("- @@/@@ @@", 10, countitem(Coral), getitemlink(Coral)); + mesc l("- @@/@@ @@", 1, countitem(EverburnPowder), getitemlink(EverburnPowder)); + mesc l("- @@/@@ GP", format_number(.@craft), format_number(Zeny)); + next; + select + l("Too expensive %%n"), + rif(Zeny >= .@price, l("I want to pay the full price.")), + l("I want you to brew some for me."); + mes ""; + switch (@menu) { + case 1: + close; + case 2: + mesc l("How many? Max. @@", (Zeny/.@price)); + input .@c, 0, (Zeny/.@price); + .@payment=.@price*.@c; + if (Zeny >= .@payment) { + inventoryplace ReturnPotion, .@c*5; + Zeny-=.@payment; + getitem ReturnPotion, .@c*5; + mesn; + mesq l("There you go!"); + } else { + Exception("Illegal input.", RB_DEFAULT | RB_SPEECH); + } + break; + case 3: + mesc l("How many?"); + input .@c, 0, 100; + inventoryplace ReturnPotion, .@c*5; + if ( + countitem(MauveHerb) < 100*.@c || + countitem(MushroomSpores) < 20*.@c || + countitem(Potatoz) < 10*.@c || + countitem(Coral) < 10*.@c || + countitem(EverburnPowder) < 1*.@c || + Zeny < .@craft*.@c + ) Exception("You don't have that much material.", RB_ISFATAL|RB_SPEECH); + delitem MauveHerb, 100*.@c; + delitem MushroomSpores, 20*.@c; + delitem Potatoz, 10*.@c; + delitem Coral, 10*.@c; + delitem EverburnPowder, 1*.@c; + Zeny-=.@craft*.@c; + getitem ReturnPotion, .@c*5; + mesn; + mesq l("There you go!"); + break; + } + close; + L_Quit: goodbye; close; -- cgit v1.2.3-60-g2f50