summaryrefslogtreecommitdiff
path: root/npc/merchants
diff options
context:
space:
mode:
Diffstat (limited to 'npc/merchants')
-rw-r--r--npc/merchants/advanced_refiner.txt184
-rw-r--r--npc/merchants/alchemist.txt189
-rw-r--r--npc/merchants/ammo_boxes.txt158
-rw-r--r--npc/merchants/ammo_dealer.txt144
-rw-r--r--npc/merchants/buying_shops.txt270
-rw-r--r--npc/merchants/cash_hair.txt145
-rw-r--r--npc/merchants/cash_trader.txt44
-rw-r--r--npc/merchants/cashheadgear_dye.txt137
-rw-r--r--npc/merchants/clothes_dyer.txt192
-rw-r--r--npc/merchants/coin_exchange.txt108
-rw-r--r--npc/merchants/dye_maker.txt220
-rw-r--r--npc/merchants/elemental_trader.txt182
-rw-r--r--npc/merchants/enchan_arm.txt168
-rw-r--r--npc/merchants/gemstone.txt132
-rw-r--r--npc/merchants/hair_dyer.txt427
-rw-r--r--npc/merchants/hair_style.txt1349
-rw-r--r--npc/merchants/hd_refine.txt350
-rw-r--r--npc/merchants/icecream.txt107
-rw-r--r--npc/merchants/inn.txt237
-rw-r--r--npc/merchants/kunai_maker.txt124
-rw-r--r--npc/merchants/milk_trader.txt95
-rw-r--r--npc/merchants/novice_exchange.txt400
-rw-r--r--npc/merchants/old_pharmacist.txt272
-rw-r--r--npc/merchants/quivers.txt187
-rw-r--r--npc/merchants/refine.txt1248
-rw-r--r--npc/merchants/renters.txt241
-rw-r--r--npc/merchants/shops.txt1867
-rw-r--r--npc/merchants/socket_enchant.txt376
-rw-r--r--npc/merchants/socket_enchant2.txt491
-rw-r--r--npc/merchants/wander_pet_food.txt95
30 files changed, 0 insertions, 10139 deletions
diff --git a/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt
deleted file mode 100644
index 7f7eed4d6..000000000
--- a/npc/merchants/advanced_refiner.txt
+++ /dev/null
@@ -1,184 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Yommy
-//= Copyright (C) Zephyrus
-//= Copyright (C) L0ne_W0lf
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Advanced Refiner
-//================= Description ===========================================
-//= Refiner that uses Enriched ores to increase upgrade success.
-//================= Additional Comments ===================================
-//= After a conversation with Doddler, it's been established that the
-//= advanced refiner works similar the the "Bubble Gum" item.
-//= The success percentage is not "increased" however, if it fails you get
-//= a second try. This tries twice at the same time, effectively giving you
-//= a re-roll on your attempt.
-//= - Dialog is only partly official to iRO.
-//= - Uses the iRO position for this NPC.
-//================= Current Version =======================================
-//= 1.5
-//=========================================================================
-
-payon,157,146,6 script Suhnbi#cash 4_M_03,{
- mes("[Suhnbi]");
- mes("I am the Armsmith");
- mes("I can refine all kinds of weapons,");
- mes("armor and equipment, so let me");
- mes("know what you want to refine.");
-
- if (getbattleflag("features/replace_refine_npcs") == 1) {
- if (openrefineryui())
- close();
- }
- next();
-
- disable_items;
- setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
- .@menu$ = "";
- for(.@i = 1; .@i<=10; ++.@i) {
- if (getequipisequiped(.@i)) {
- .@menu$ += .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
- .@equipped = 1;
- }
- .@menu$ += ":";
- }
- if (.@equipped == 0) {
- mes "[Suhnbi]";
- mes "I don't think I can refine any items you have...";
- close;
- }
- .@part = select(.@menu$);
-
- if (!getequipisequiped(.@part)) //custom check
- close;
- if (!getequipisenableref(.@part)) {
- mes "[Suhnbi]";
- mes "Go find another Blacksmith. You can't refine this thing.";
- close;
- }
- if (getequiprefinerycnt(.@part) >= 10) {
- mes "[Suhnbi]";
- mes "Hmm... someone perfected this already. I don't think I can work on it further.";
- close;
- }
-
- // Make sure you have the neccessary items and Zeny to refine your items
- // Determines chance of failure and verifies that you want to continue.
- switch(getequipweaponlv(.@part)) {
- case 1: callsub S_RefineValidate,1,7620,50,.@part; break;
- case 2: callsub S_RefineValidate,2,7620,200,.@part; break;
- case 3: callsub S_RefineValidate,3,7620,5000,.@part; break;
- case 4: callsub S_RefineValidate,4,7620,20000,.@part; break;
- default: callsub S_RefineValidate,0,7619,2000,.@part; break;
- }
-
- mes "[Suhnbi]";
- mes "Clang! Clang! Clang!";
- if (getequippercentrefinery(.@part, REFINE_CHANCE_TYPE_ENRICHED) > rand(100)) {
- successrefitem .@part;
- next;
- emotion e_no1;
- mes "[Suhnbi]";
- mes "There you go! It's done.";
- mes "It's been a while since I've made such a fine "+((getequipweaponlv(.@part))?"weapon":"armor")+". You must be happy because it has become stronger!";
- close;
- }
- failedrefitem .@part;
- next;
- emotion (!rand(5))?e_cash:e_omg;
- mes "[Suhnbi]";
- mes "Uuuuuuuuuummmmmph!!!";
- next;
- mes "[Suhnbi]";
- mes "...";
- mes ".....";
- mes ".......Huhuhuhuhu~";
- mes "........It was your choice and my ability, no regret.";
- close;
-
-S_RefineValidate:
- mes "[Suhnbi]";
- if (getarg(0))
- mes "You want to refine a level " + getarg(0) + " weapon?";
- mes "To refine that, you'll need to have one ^ff9999" + getitemname(getarg(1)) + "^000000 and " + getarg(2) + " zeny.";
- mes "Would you like to continue?";
- next;
- if(select("Yes", "No") == 1) {
- if (getequippercentrefinery(getarg(3), REFINE_CHANCE_TYPE_ENRICHED) < 100) {
- if (getarg(0)) {
- mes "[Suhnbi]";
- mes "Wow!!";
- mes "This weapon probably";
- mes "looks like it's been refined...";
- mes "many times...";
- mes "It may break if";
- mes "you refine it again.";
- next;
- mes "And if it breaks,";
- mes "you can't use it anymore!";
- mes "All the cards in it and the properties ^ff0000will be lost^000000!";
- mes "^ff0000Besides, the equipment will break!^000000";
- mes "Are you sure you still want to continue?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Suhnbi]";
- mes "Good.";
- mes "Because if the weapon breaks from unreasonable refining, then I get a bad mood, too.";
- close;
- }
- } else {
- mes "[Suhnbi]";
- mes "Giggle. Giggle. Oh, you have guts, daring to refine this.";
- mes "You know it's pretty risky, don't you?";
- next;
- mes "If your defensive equipment is broken, you'll never be able to use it again.";
- mes "Even your cards and your modifications will ^ff0000completely disappear^000000.";
- //mes "Everything will disappear. As in... GONE!";
- mes "Do you really wish to continue?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Suhnbi]";
- mes "What nonsense. You waste my precious time.";
- mes "Get lost, punk.";
- close;
- }
- }
- }
- if (countitem(getarg(1)) > 0 && Zeny > getarg(2)) {
- delitem getarg(1),1;
- Zeny -= getarg(2);
- return;
- }
- mes "[Suhnbi]";
- mes "Are these all you have?";
- mes "I'm very sorry, but I can't do anything without all the materials. Besides, I deserve some payments for my work, don't I?";
- close;
- }
- mes "[Suhnbi]";
- mes "I can't help it even if you're not happy about it...";
- close;
-}
diff --git a/npc/merchants/alchemist.txt b/npc/merchants/alchemist.txt
deleted file mode 100644
index ac855f7cb..000000000
--- a/npc/merchants/alchemist.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Alchemist Shop
-//================= Description ===========================================
-//= Merchants for Alchemist Materials and Manuals.
-//================= Current Version =======================================
-//= 1.9
-//=========================================================================
-
-alde_alche,24,188,3 script Guild Dealer 2_M_ALCHE,{
- if (checkweight(Knife,1) == 0) {
- mes "- Wait a minute! -";
- mes "- Currently you are carrying -";
- mes "- too many items with you. -";
- mes "- Please come back again -";
- mes "- after you store some items into kafra storage. -";
- close;
- }
- mes "[Gever Al Sharp]";
- mes "Welcome to the";
- mes "Alchemist Union.";
- mes "How can I assist you today?";
- next;
- switch (select("Purchase materials.", "Purchase a production manual.", "Quit.")) {
- case 1:
- mes "[Gever Al Sharp]";
- mes "What would you like?";
- next;
- if (select("Medicine Bowl - " + (RENEWAL ? "250z" : "8 Zeny"), "Cancel.") == 1) {
- mes "[Gever Al Sharp]";
- mes "How many do you want?";
- mes "Enter '0' if you want to quit.";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Gever Al Sharp]";
- mes "The deal was cancelled.";
- mes "Come again next time.";
- close;
- }
- if (.@input > 2000) {
- mes "[Gever Al Sharp]";
- mes "The number must";
- mes "be less than 2000.";
- next;
- continue;
- }
- break;
- }
- if (RENEWAL) {
- .@sell = .@input * 250;
- } else {
- .@sell = .@input * 8;
- }
- .@item_weight = .@input * 10;
- if (Zeny < .@sell) {
- mes "[Gever Al Sharp]";
- mes "You don't";
- mes "have enough zeny.";
- mes "Check how much zeny";
- mes "you have first.";
- close;
- }
- if ((MaxWeight - Weight) < .@item_weight) {
- mes "[Gever Al Sharp]";
- mes "It doesn't seem like";
- mes "you can carry everything.";
- mes "Please check the space";
- mes "in your inventory.";
- close;
- }
- Zeny -= .@sell;
- getitem Medicine_Bowl,.@input;
- mes "[Gever Al Sharp]";
- mes "Thank you.";
- mes "Come again.";
- close;
- }
- mes "[Gever Al Sharp]";
- mes "Well then,";
- mes "come again when";
- mes "you need to purchase";
- mes "materials related to";
- mes "Alchemy, alright?";
- close;
- case 2:
- mes "[Gever Al Sharp]";
- mes "What do you need?";
- mes "Manuals are generally 100,000 zeny. But there are a couple of special manuals that will cost more.";
- next;
- switch (select("Potion Creation Guide", "Alcohol Creation Guide", "Bottle Grenade Creation Guide", "Acid Bottle Creation Guide", "Plant Bottle Creation Guide", "Marine Sphere Bottle Creation Guide", "Glistening Coat Creation Guide", "Condensed Potion Creation Guide", "Cancel Deal.")) {
- case 1:
- callsub S_SellManual, Normal_Potion_Book, 100000;
- break;
- case 2:
- callsub S_SellManual, Alcol_Create_Book, 100000;
- break;
- case 3:
- callsub S_SellManual, FireBottle_Create_Book, 100000;
- break;
- case 4:
- callsub S_SellManual, Acid_Create_Book, 100000;
- break;
- case 5:
- callsub S_SellManual, Plant_Create_Book, 100000;
- break;
- case 6:
- callsub S_SellManual, Mine_Create_Book, 100000;
- break;
- case 7:
- callsub S_SellManual, Coating_Create_Book, 100000;
- break;
- case 8:
- callsub S_SellManual, Slim_Potion_Create_Book, 240000;
- break;
- case 9:
- mes "[Gever Al Sharp]";
- mes "Well then...";
- mes "Come back if you";
- mes "ever need to buy";
- mes "a production manual.";
- close;
- }
- case 3:
- mes "[Gever Al Sharp]";
- mes "Alright then,";
- mes "have a good day.";
- close;
- }
-
-S_SellManual:
- if (Zeny < getarg(1)) {
- mes "[Gever Al Sharp]";
- mes "You don't";
- mes "have enough zeny.";
- mes "Check how much zeny";
- mes "you have first.";
- close;
- }
- mes "[Gever Al Sharp]";
- mes ""+ getitemname(getarg(0)) +"?";
- mes "That'll be "+ getarg(1) +" zeny.";
- next;
- if (select("Purchase.", "Quit.") == 1) {
- Zeny -= getarg(1);
- getitem getarg(0),1;
- mes "[Gever Al Sharp]";
- mes "Thank you for";
- mes "your patronage.";
- close;
- }
- mes "[Gever Al Sharp]";
- mes "Come again";
- mes "next time.";
- close;
-}
diff --git a/npc/merchants/ammo_boxes.txt b/npc/merchants/ammo_boxes.txt
deleted file mode 100644
index b4cee6f41..000000000
--- a/npc/merchants/ammo_boxes.txt
+++ /dev/null
@@ -1,158 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Lupus
-//= Copyright (C) ultramage
-//= Copyright (C) SinSloth
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Magazine Dealers
-//================= Description ===========================================
-//= Turns bullets into magazines/packs.
-//================= Current Version =======================================
-//= 1.5
-//=========================================================================
-
-alberta,118,157,3 script Magazine Dealer Kenny::mdk 4_M_01,{
- if (BaseJob == Job_Gunslinger) {
- mes "[Kenny]";
- mes "Welcome to my Magazine Shop.";
- mes "As you may know, large numbers";
- mes "of bullets can be carried more";
- mes "easily when they're in Magazines. Now, can I interest you in";
- mes "anything in particular?";
- next;
- switch(select("Wind Sphere Pack", "Shadow Sphere Pack", "Poison Sphere Pack", "Water Sphere Pack", "Fire Sphere Pack", "Cartridge", "Blood Cartridge", "Silver Cartridge", "Cancel")) {
- case 1: callfunc "Func_Casing",13204,12144; break;
- case 2: callfunc "Func_Casing",13206,12145; break;
- case 3: callfunc "Func_Casing",13205,12146; break;
- case 4: callfunc "Func_Casing",13207,12147; break;
- case 5: callfunc "Func_Casing",13203,12148; break;
- case 6: callfunc "Func_Casing",13200,12149; break;
- case 7: callfunc "Func_Casing",13202,12150; break;
- case 8: callfunc "Func_Casing",13201,12151; break;
- case 9:
- mes "[Kenny]";
- mes "Well, if you ever find";
- mes "that you have too many";
- mes "bullets, come and see me.";
- mes "It's a smart idea to store";
- mes "bullets with my Magazines.";
- close;
- }
- }
- mes "[Kenny]";
- mes "Welcome to my shop.";
- mes "Here, I provide Magazines";
- mes "and Cartridges for Gunslingers.";
- mes "Sorry, but it doesn't look like";
- mes "my services would be of any";
- mes "use to you, adventurer.";
- next;
- mes "[Kenny]";
- mes "Eh, but if you happen to";
- mes "know any Gunslingers, send";
- mes "them my way. You can never";
- mes "have too many bullets.";
- close;
-}
-
-function script Func_Casing {
- mes "[Kenny]";
- mes "Now, you can trade";
- mes "500 "+getitemname(getarg(0))+"s";
- mes "and 500 zeny for 1 "+getitemname(getarg(1))+", so make sure";
- mes "you have sufficient bullets";
- mes "and zeny for this exchange.";
- next;
- mes "[Kenny]";
- mes "You can exchange 500 "+getitemname(getarg(0))+"s and 500 zeny";
- mes "with 1 "+getitemname(getarg(1))+".";
- next;
- mes "[Kenny]";
- mes "Remember that I can't give";
- mes "you more than 50 Magazines";
- mes "at a time. Now please enter";
- mes "the number of Magazines you";
- mes "want to receive. If you want to cancel, then just enter ''0.''";
- next;
- input(.@amount);
- if (.@amount > 50 || .@amount <= 0) {
- mes "[Kenny]";
- mes "Hey, I can't give you";
- mes "that many Magazines.";
- mes "Please try again, and";
- mes "enter a number no";
- mes "greater than 50.";
- close;
- }
- if (countitem(getarg(0)) >= (500*.@amount)) {
- if (Zeny >= (500*.@amount)) {
- if (checkweight(getarg(1),.@amount) == 0) {
- mes "[Kenny]";
- mes "Hey, you've got a lot";
- mes "of junk crammed in your";
- mes "Inventory. Free up some";
- mes "space, and then come back";
- mes "and trade your bullets for";
- mes "some Magazines later, okay?";
- close;
- }else{
- mes "[Kenny]";
- mes "Alright, here are";
- mes "your Magazines. Thanks";
- mes "for visiting my shop, and";
- mes "I hope that you use all";
- mes "of your ammo wisely.";
- Zeny -= 500*.@amount;
- delitem getarg(0),500*.@amount;
- getitem getarg(1),.@amount;
- close;
- }
- } else {
- mes "[Kenny]";
- mes "Sorry, but you don't";
- mes "have enough zeny for";
- mes "this Magazine exchange.";
- mes "Come back to my shop";
- mes "after you've saved up";
- mes "some more money.";
- close;
- }
- } else {
- mes "[Kenny]";
- mes "Sorry, but you don't";
- mes "have enough bullets for";
- mes "this Magazine exchange.";
- mes "Maybe you should double";
- mes "check your Inventory, and";
- mes "then come back to me later.";
- close;
- }
-}
diff --git a/npc/merchants/ammo_dealer.txt b/npc/merchants/ammo_dealer.txt
deleted file mode 100644
index bf33281b8..000000000
--- a/npc/merchants/ammo_dealer.txt
+++ /dev/null
@@ -1,144 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Kisuka
-//= Copyright (C) Lupus
-//= Copyright (C) Legionaire
-//= Copyright (C) Paradox924X
-//= Copyright (C) Playtester
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Bullet Dealers
-//================= Description ===========================================
-//= Bullet trader.
-//================= Current Version =======================================
-//= 1.5
-//=========================================================================
-
-alberta,118,160,3 script Bullet Dealer Tony#alb::bdt 4_M_04,{
- if (BaseJob == Job_Gunslinger) {
- mes "[Tony]";
- mes "I'm Tony, the Bullet Dealer.";
- mes "Come to me whenever you're";
- mes "short on ammo. Just bring me";
- mes "the materials, and I'll make";
- mes "you the bullets you need.";
- next;
- switch(select("Poison Sphere", "Flare Sphere", "Lighting Sphere", "Blind Sphere", "Freezing Sphere", "Cancel")) {
- case 1: callfunc "Bullet_Trade",937,10,13205; break;
- case 2: callfunc "Bullet_Trade",7097,2,13203; break;
- case 3: callfunc "Bullet_Trade",7053,3,13204; break;
- case 4: callfunc "Bullet_Trade",1024,5,13206; break;
- case 5: callfunc "Bullet_Trade",7054,2,13207; break;
- case 6:
- mes "[Tony]";
- mes "Changed your mind?";
- mes "Well, if you ever need";
- mes "any bullets, I'll be right";
- mes "here. Come back whenever";
- mes "you think you'll need more";
- mes "ammunition, Gunslinger.";
- close;
- }
- }
- mes "[Tony]";
- mes "Hey, I'm Tony. I'm in";
- mes "charge of distributing";
- mes "and making bullets for";
- mes "Gunslingers. It's just";
- mes "how our guild likes";
- mes "to do things.";
- next;
- mes "[Tony]";
- mes "I'm sorry if you came";
- mes "here to buy some bullets.";
- mes "I can only do business with";
- mes "fully fledged Gunslingers.";
- close;
-}
-
-function script Bullet_Trade {
- mes "[Tony]";
- mes "For every set of";
- mes "30 "+getitemname(getarg(2))+"s,";
- mes "you must give me";
- mes "1 Emveretarcon,";
- mes "1 Phracon, and";
- mes ""+getarg(1)+" "+getitemname(getarg(0))+".";
- next;
- mes "[Tony]";
- mes "Remember that I can give";
- mes "a maximum of 500 sets of";
- mes "30 bullets at a time. Please";
- mes "enter the number of bullet sets";
- mes "that you'd like. If you want to";
- mes "cancel, then just enter ''0.''";
- next;
- input(.@amount);
- if (.@amount < 1 || .@amount > 500) {
- mes "[Tony]";
- mes "Hey, I can't give you";
- mes "that many bullets. Don't";
- mes "forget to enter a number";
- mes "that's no higher than 500";
- mes "if you want to trade your";
- mes "items for some bullets.";
- close;
- }
- if (countitem(Phracon) >= .@amount && countitem(Emveretarcon) >= .@amount && countitem(getarg(0)) >= (.@amount*getarg(1))) {
- if (checkweight(getarg(2),.@amount * 30) == 0) {
- mes "[Tony]";
- mes "Eh? Your Inventory doesn't";
- mes "have enough space for this";
- mes "many bullets. Come back later";
- mes "after you make more space";
- mes "available. Try putting some of";
- mes "your things into Kafra Storage.";
- close;
- } else {
- mes "[Tony]";
- mes "Great, everything seems";
- mes "to be in order. Let me take";
- mes "these materials, and here are";
- mes "your bullets. It's a pleasure";
- mes "to do business with you~";
- delitem 1010,.@amount;
- delitem 1011,.@amount;
- delitem getarg(0),.@amount * getarg(1);
- getitem getarg(2),.@amount * 30;
- close;
- }
- } else {
- mes "[Tony]";
- mes "Huh. It looks like you";
- mes "don't have enough materials";
- mes "for that many bullets. Well,";
- mes "it's no problem. Just come";
- mes "back after gathering everything";
- mes "that you need, okay?";
- close;
- }
-}
diff --git a/npc/merchants/buying_shops.txt b/npc/merchants/buying_shops.txt
deleted file mode 100644
index d1b460e74..000000000
--- a/npc/merchants/buying_shops.txt
+++ /dev/null
@@ -1,270 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Buying Shop Scripts
-//================= Description ===========================================
-//= Buying Shop licenses.
-//================= Current Version =======================================
-//= 1.1a
-//=========================================================================
-
-//== Black Marketeer (Buy Licenses - Non-Merchant Classes) =
-que_job01,68,84,1 script Black Marketeer#Buying 4_M_SITDOWN,{
- if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2400) {
- mes "[Mr. Jass]";
- mes "You're too greedy, even compared to someone like me!";
- mes "Why don't you go lighten your bag first?";
- close;
- }
- if (getskilllv("ALL_BUYING_STORE") == 1) {
- mes "[Mr. Jass]";
- mes "Hey, you already made a contract with Hugh.";
- mes "I don't have any business with you.";
- close;
- }
- mes "[Mr. Jass]";
- mes "You must need something badly to come to find me.";
- mes "What do you want?";
- next;
- switch(select("Bulk Buyer Shop License", "Who are you?", "Nothing, nothing!")) {
- case 1:
- mes "[Mr. Jass]";
- mes "I knew it!";
- mes "Sure, I can make it for you.";
- mes "Mine looks just like the authentic one that Merchants get from that bastard Mr. Hugh!";
- next;
- mes "[Mr. Jass]";
- mes "And my license is better 'cuz you don't need ta' learn any skills.";
- mes "How many do you want?";
- next;
- mes "[Mr. Jass]";
- mes "Just so you know, I can only make them in small quantities, up to 10 at a time.";
- mes "It'll cost 500 zeny for each one.";
- next;
- while(1) {
- input(.@input);
- mes "[Mr. Jass]";
- if (.@input <= 0) {
- mes "Don't you need those licenses?";
- close;
- }
- if (.@input > 10) {
- mes "I can only make up to 10 at a time, you know.";
- next;
- continue;
- }
- mes "It'll cost "+(.@input*500)+" zeny.";
- if (Zeny < (.@input*500)) {
- mes "but you don't have enough money.";
- next;
- mes "[Mr. Jass]";
- mes "Don't you know the basics of business? Everything has a price.";
- mes "If you want something, you gotta pay for it.";
- close();
- }
- mes "Ha... Ha ha ha!";
- mes "Mr. Hugh, I'll take over your license business. You'll see!";
- mes "*Giggle Giggle*";
- getitem Buy_Market_Permit2,.@input;
- Zeny -= (.@input*500);
- close;
- }
- case 2:
- mes "[Mr. Jass]";
- mes "I left my hometown a long time ago.";
- mes "It's meaningless to ask who I am because all I've got left now is my hatred.";
- next;
- mes "[Mr. Jass]";
- mes "...";
- mes "Hugh is a corrupt merchant with no sense of business ethics.";
- mes "My sole purpose in life is to destroy Hugh.";
- next;
- mes "[Mr. Jass]";
- mes "Aw, I drank too much... (*Hic*)";
- mes "That's just the alohol talking.";
- mes "Please forget anything I said.";
- close;
- case 3:
- mes "[Mr. Jass]";
- mes "Alright, alright! You don't have to yell.";
- mes "Just leave me alone if you've got no business with me.";
- close;
- }
-}
-
-//== Purchasing Team (Learn Skill - Merchant Classes) ======
-alberta_in,58,52,4 script Purchasing Team#Buying 1_M_ORIENT01,{
- if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2400) {
- mes "- You cannot converse or perform the quest because you are carrying too many items. -";
- close;
- }
- mes "[Mr. Hugh]";
- if (BaseClass == Job_Merchant && getskilllv("MC_VENDING") >= 1) {
- if (getskilllv("ALL_BUYING_STORE") == 1) {
- mes "I'm Hugh from the Purchasing Team.";
- mes "How may I help you today?";
- next;
- if(select("Purchase Bulk Buyer Shop License", "Quit") == 2) {
- mes "[Mr. Hugh]";
- mes "Please feel free to ask me if you need any Bulk Buyer Shop Licenses.";
- mes "Come again~";
- close;
- }
- mes "[Mr. Hugh]";
- mes "It's 200 zeny for each Bulk Buyer Shop License, and you may purchase up to 50 at a time.";
- mes "How many licenses do you need?";
- next;
- while(1) {
- input(.@input);
- mes "[Mr. Hugh]";
- if (.@input <= 0) {
- mes "You have cancelled the trade.";
- mes "Have a good day.";
- close;
- }
- if (.@input > 50) {
- mes "Please enter a value of 50 or less.";
- next;
- continue;
- }
- mes "It'll cost "+(.@input*200)+" zeny for "+.@input+" licenses.";
- if (Zeny < (.@input*200)) {
- mes "but you don't seem to have enough money.";
- } else {
- mes "Thank you for your patronage.";
- getitem Buy_Market_Permit,.@input; //Buy_Stall_Permit
- Zeny -= (.@input*200);
- }
- close;
- }
- } else {
- mes "I'm Hugh from the Purchasing Team at the Alberta Merchant Guild.";
- mes "You're...";
- next;
- mes "[Mr. Hugh]";
- mes "Did you know? Our guild has issued a license to allow individuals to buy goods from others.";
- next;
- select("I've never had problems buying items...");
- mes "[Mr. Hugh]";
- mes "You're right, but think about it:";
- mes "haven't you had a hard time buying in bulk?";
- mes "You'd have to find and talk to everyone that has an item you want.";
- mes "Pretty inconvenient, isn't it?";
- next;
- mes "[Mr. Hugh]";
- mes "Since buying in bulk is an important issue to us Merchants,";
- mes "I've proposed an innovative plan to our guild, based on my 10 years of experience in making purchases.";
- next;
- mes "[Mr. Hugh]";
- mes "'Let Individuals Open";
- mes "a Bulk Buyer Shop!'";
- mes "That's the title of my proposal.";
- mes "You'll see, when you read it...";
- next;
- mes "[Mr. Hugh]";
- mes "...";
- mes "...(Mr. Hugh yammers on and on with all the details.)";
- next;
- select("Alright, what's your point?");
- mes "[Mr. Hugh]";
- mes "Oh, yes. In summary,";
- mes "you can buy certain items in bulk through Vending.";
- next;
- mes "[Mr. Hugh]";
- mes "In order to open a Bulk Buyer Shop, you need a license issued from the Merchant Guild.";
- next;
- mes "[Mr. Hugh]";
- mes "You need it every time you open the shop. We're expecting a significant increase in profits through this new kind of licensing.";
- next;
- mes "[Mr. Hugh]";
- mes "That's the point of my proposal!";
- mes "Our president was so happy to hear that we're going to make big bucks!";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Please get to the point already!";
- next;
- mes "[Mr. Hugh]";
- mes "Don't be so impatient, alright?";
- mes "My point is, we can let you open the Bulk Buyer Shop if you've learned Vending.";
- next;
- mes "[Mr. Hugh]";
- mes "Of course, we charge 10,000 zeny as a one-time registration fee.";
- mes "You will need the ^4A4AFFBulk Buyer Shop License^000000 every time you open the shop.";
- next;
- mes "[Mr. Hugh]";
- mes "Say, would you like to register now?";
- mes "If you do, I'll teach you how to open the Bulk Buyer Shop.";
- next;
- if(select("Learn how to open Bulk Buyer Shop", "Cancel") == 2) {
- mes "[Mr. Hugh]";
- mes "Man, that's disappointing!";
- mes "Using this bulk buyer option can benefit your business in many ways, but it's your call.";
- mes "I'm always open for consultation!";
- close;
- }
- mes "[Mr. Hugh]";
- if (Zeny < 10000) {
- mes "The registration fee is 10,000 zeny.";
- mes "Please have the fee ready first.";
- close;
- } else {
- mes "You've made a good decision.";
- mes "Please give me the registration fee, and sign right here....";
- next;
- input(.@name$);
- mes "[Mr. Hugh]";
- mes .@name$+"....";
- mes "I like your handwriting.";
- mes "Okay, you're now approved to open the Bulk Buyer Shop.";
- Zeny -= 10000;
- getitem Buy_Market_Permit,5; //Buy_Stall_Permit
- skill "ALL_BUYING_STORE",1,3;
- next;
- mes "[Mr. Hugh]";
- mes "Currently, only normal items ^8C2121EXCEPT^000000 equipment, certain potions, and hand-crafted items can be purchased in bulk, but this can still be very beneficial to you, depending on how you use it.";
- next;
- mes "[Mr. Hugh]";
- mes "Oh, and you need at least one of the item that you want to buy in your inventory because you have to show it to other through your shop.";
- next;
- mes "[Mr. Hugh]";
- mes "Your skill should now be registered in your skill window. If you can't see it you probably have to minimize your Skill List and check the 3rd Job Tab.";
- next;
- mes "[Mr. Hugh]";
- mes "I've given you 5 Bulk Buyer Shop Licenses for your trial.";
- mes "Enjoy shopping!";
- close;
- }
- }
- }
- mes "I'm Hugh from the Purchasing Team at the Alberta Merchant Guild.";
- mes "I'd love to chat, but I'm too busy at the moment.";
- next;
- mes "[Mr. Hugh]";
- mes "My time is solely dedicated to our customers in the Merchant industry.";
- close;
-}
diff --git a/npc/merchants/cash_hair.txt b/npc/merchants/cash_hair.txt
deleted file mode 100644
index 1b9802e11..000000000
--- a/npc/merchants/cash_hair.txt
+++ /dev/null
@@ -1,145 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Kisuka
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Cash Hair Stylist
-//================= Description ===========================================
-//= Exchange cash item, New_Style_Coupon, for new hair styles.
-//================= Current Version =======================================
-//= 1.0
-//=========================================================================
-
-itemmall,19,74,5 script Stylist#cash 4_F_02,{
- mes "[Stylist]";
- mes "Hey, I'm Kaniki.";
- mes "I'm here to start a new";
- mes "trend by introducing my";
- mes "special new hairstyles!";
- mes "Give me a ^FF0000New Style Coupon^000000,";
- mes "and I'll change your hair~";
- next;
- if (Sex == SEX_MALE) {
- mes "[Kaniki]";
- mes "I have two special";
- mes "hairstyles for men, the";
- mes "Emergency Heal Perm";
- mes "and the Aura Blade Cut.";
- mes "and aura blade cut.";
- next;
- cutin "hair_m_24.bmp",4;
- mes "[Kaniki]";
- mes "This is the Emergency";
- mes "Heal Perm. It's a brand";
- mes "new style I invented recently.";
- mes "What do you think? Cool, huh?";
- next;
- cutin "",255;
- cutin "hair_m_25.bmp",4;
- mes "[Kaniki]";
- mes "Now this is the Aura";
- mes "Blade Cut. You haven't";
- mes "seen anything like it";
- mes "before, haven't you?";
- next;
- cutin "",255;
- }else{
- mes "[Kaniki]";
- mes "I have two new hairstyles for";
- mes "women, the Assumptio Perm";
- mes "and the Soul Changer Cut.";
- mes "Do you want to see how";
- mes "these styles look?";
- next;
- cutin "hair_f_24.bmp",4;
- mes "[Kaniki]";
- mes "This is the Assumptio";
- mes "Perm. It'd really good";
- mes "on you, wouldn't it?";
- next;
- cutin "",255;
- cutin "hair_f_25.bmp",4;
- mes "[Kaniki]";
- mes "Next is the Soul";
- mes "Changer Cut. What do";
- mes "you think? Isn't it nice?";
- next;
- cutin "",255;
- }
- mes "[Kaniki]";
- mes "Have you decided";
- mes "if you'd like me to";
- mes "change your hairstyle?";
- next;
- if(select("Change Hairstyle", "Don't Change") == 1) {
- if (countitem(New_Style_Coupon) > 0) {
- mes "[Kaniki]";
- mes "Great, you brought";
- mes "a New Style Coupon!";
- mes "Alright, which hairstyle";
- mes "did you want to have?";
- next;
- if (Sex == SEX_MALE) {
- if(select("Emergency Heal Perm", "Aura Blade Cut") == 1) {
- delitem New_Style_Coupon,1; // New_Style_Coupon
- setlook 1,24;
- }else{
- delitem New_Style_Coupon,1; // New_Style_Coupon
- setlook 1,25;
- }
- }else{
- if(select("Assumptio Perm", "Soul Changer Cut") == 1) {
- delitem New_Style_Coupon,1; // New_Style_Coupon
- setlook 1,24;
- }else{
- delitem New_Style_Coupon,1; // New_Style_Coupon
- setlook 1,25;
- }
- }
- mes "[Kaniki]";
- mes "There--! It's done!";
- mes "How do you like your";
- mes "new hair? Well, I hope";
- mes "to see you again. Take care!";
- close;
- }else{
- mes "[Kaniki]";
- mes "I'm sorry, but I can";
- mes "only provide my hairstyling";
- mes "service if you bring a New";
- mes "Style Coupon. Please come";
- mes "back to me after you manage to";
- mes "get one of those coupons, okay?";
- close;
- }
- }
- mes "[Kaniki]";
- mes "Really? Oh, that's too bad.";
- mes "Well, if you ever change your";
- mes "mind about updating your";
- mes "hairstyle, come back";
- mes "and let me know, okay?";
- close;
-}
diff --git a/npc/merchants/cash_trader.txt b/npc/merchants/cash_trader.txt
deleted file mode 100644
index 61e94528f..000000000
--- a/npc/merchants/cash_trader.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Cash Shop NPCs
-//================= Description ===========================================
-//= Sell Cash shop items.
-//= Based on iRO's Cash shop. Headgears omitted.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-//== Payon =================================================
-// Sells:
-// Battle Manual Box, Life Insurance Box, Bubble Gum Box,
-// Kafra Card Box, Giant Fly Wing Box, Neuralizer Box,
-// Token of Ziegfried Box, Enriched Oridecon and Elunium,
-// Assumpito, Wind Walk, Aspersio, Adreniline Rush,
-// Blessing and Increase Agility Scroll boxes, Dungeon
-// Teleport Scroll Box, Stat Food boxes, and Gym Passes.
-payon,171,142,4 cashshop Kafra Shop Employee 4_F_KAFRA2,12900:1000,12901:200,12902:1000,12909:100,12910:100,12911:1500,12922:150,7619:100,7620:100,12916:150,12917:150,12915:100,12918:100,12913:125,12914:125,13553:50,12903:100,12904:100,12905:100,12906:100,12907:100,12908:100,7776:50
diff --git a/npc/merchants/cashheadgear_dye.txt b/npc/merchants/cashheadgear_dye.txt
deleted file mode 100644
index 656c63de9..000000000
--- a/npc/merchants/cashheadgear_dye.txt
+++ /dev/null
@@ -1,137 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Xantara
-//= Copyright (C) Maud_Dib
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Headgear Dyer (Cash)
-//================= Description ===========================================
-//= Change headgear's color. Cost is a Mysterious Dyestuff
-//================= Current Version =======================================
-//= 1.0
-//=========================================================================
-
-prt_in,253,168,4 script Alora 4_F_LGTGIRL,{
- // Mysterious Dyestuff
- .@dyeID = 6220;
- // Headgear Choices
- setarray .@hgn$[1], "Mage Hat","Beanie","Drooping Cat","Deviruchi Hat","Wig","Ribbon","Magestic Goat";
- // Mage Hats - Normal, Yellow, Blue, Brown, Gray, Red
- setarray .@hg_1[1], 5027, 5242, 5241, 5240, 5239, 5238;
- // Beanies - Normal, Pink, Blue, Brown
- setarray .@hg_2[1], 5076, 5237, 5236, 5235;
- // Drooping Cats - Normal, Blue, Brown, Gray, Pink, Yellow
- setarray .@hg_3[1], 5058, 5233, 5231, 5230, 5232, 5234;
- // Deviruchi Hats - Normal, Red, Gray, Brown
- setarray .@hg_4[1], 5038, 5227, 5228, 5229;
- // Wigs - Happy, Shiny, Marvelous, Fantastic
- setarray .@hg_5[1], 5273, 5274, 5275, 5276;
- // Ribbons - Normal, Black, Yellow, Green, Pink, Red, Orange, White
- setarray .@hg_6[1], 2208, 5191, 5192, 5193, 5194, 5195, 5196, 5197;
- // Magestic Goats - Normal, Evolved
- setarray .@hg_7[1], 2256, 5217;
-
- mes "[Alora]";
- mes "Hello, I can change your headgear's color if you bring me a Mysterious Dyestuff.";
- next;
- mes "[Alora]";
- mes "Do you have a headgear that you would like to dye?";
- next;
- for(.@i = 1; .@i < getarraysize(.@hgn$); ++.@i) {
- if(.@i == 1) .@menu$ = .@hgn$[.@i];
- else .@menu$ += ":"+ .@hgn$[.@i];
- }
- .@menu$ += ":Cancel";
- .@t = select(.@menu$);
- if(.@t == getarraysize(.@hgn$)) {
- mes "[Alora]";
- mes "Have a good journey adventurer!";
- mes "If you ever are curious to try a new color on your Kafra headgear or the ones you found on your adventures please come to me!";
- close;
- }
- mes "[Alora]";
- mes "Okay, what color do you want to change it to?";
- next;
- for(.@i = 1; .@i < getarraysize(getd(".@hg_"+.@t+"")); ++.@i) {
- if(.@i == 1 && .@t != 5)
- .@menu$ = "Normal";
- else if(.@i == 1 && .@t == 5)
- .@menu$ = getitemname(getd(".@hg_"+.@t+"["+.@i+"]"));
- else {
- sscanf(getitemname(getd(".@hg_"+.@t+"["+.@i+"]")),"%s "+ .@hgn$[.@t],.@colour$);
- .@menu$ += ":"+ .@colour$;
- }
- }
- .@menu$ += ":Cancel";
- .@c = select(.@menu$);
- if(.@c == getarraysize(getd(".@hg_"+.@t+""))) {
- mes "[Alora]";
- mes "Oh, okay no problem!";
- close;
- }
- .@dyHG = getd(".@hg_"+.@t+"["+.@c+"]");
- mes "[Alora]";
- mes "Oh I'm so excited aren't you?";
- mes "And just to be sure, what color is the "+ .@hgn$[.@t] +" you want me to use?";
- next;
- mes "[Alora]";
- mes "Please understand that I'm going to use the ^FF00001st "+ .@hgn$[.@t] +" of that color in your inventory!^000000";
- next;
- mes "[Alora]";
- mes "Any upgrades and cards will be dissolved by the mysterious dye, so be sure you are ok with having a ^0000FF+0 "+ getitemname(.@dyHG) +" without any cards.^000000";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Ok, thanks for the warning, I think I'll give you my";
- next;
- .@menu$ = "Nevermind";
- for(.@i = 1; .@i < getarraysize(getd(".@hg_"+.@t+"")); ++.@i) {
- if(.@i == 1) .@menu$ += ":Normal "+ getitemname(getd(".@hg_"+.@t+"["+.@i+"]"));
- else .@menu$ += ":"+ getitemname(getd(".@hg_"+.@t+"["+.@i+"]"));
- }
- .@mine = select(.@menu$) - 1;
- if(!.@mine) {
- mes "[Alora]";
- mes "It's best to be very sure, have a safe journey.";
- close;
- }
- .@myHG = getd(".@hg_"+.@t+"["+.@mine+"]");
- if(.@dyHG == .@myHG) {
- mes "[Alora]";
- mes "Woah what happened?";
- close;
- }
- if(!countitem(.@dyeID) || !countitem(.@myHG)) {
- mes "[Alora]";
- mes "Oh my, you seem to be missing something.";
- close;
- }
- mes "[Alora]";
- mes "Looks great doesn't it?!";
- mes "I hope you'll come back to dye more pretty headgears!";
- delitem .@dyeID,1; // Dyestuff
- delitem .@myHG,1; // Your headgear
- getitem .@dyHG,1; // Dyed headgear
- close;
-}
diff --git a/npc/merchants/clothes_dyer.txt b/npc/merchants/clothes_dyer.txt
deleted file mode 100644
index b85d9e43b..000000000
--- a/npc/merchants/clothes_dyer.txt
+++ /dev/null
@@ -1,192 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Playtester
-//= Copyright (C) Poki#3
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) Usnul
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Clothes Dyer
-//================= Description ===========================================
-//= Clothes dyer with standard palletes
-//================= Current Version =======================================
-//= 2.5
-//=========================================================================
-
-prt_in,284,168,2 script Dyer Ginedin Rephere 1_M_JOBTESTER,{
-function Dyes;
-
- .@EnableDyes = 1; // Disable (set to 0) if palettes cause errors [see note v2.4]
-
- .n$ = "[Dyer Ginedin Rephere]";
- mes .n$;
- mes "11... 12... Mmm... good. I think I'll be able to finish before tonight's party. Oh! I didn't notice you were here!";
- while(1) {
- next;
- mes .n$;
- mes "How may I assist you?";
- next;
- switch(select("- Talk", "- Dye Clothing", "- Price List", "- ^777777Cancel^000000")) {
- case 1:
- mes .n$;
- mes "Life may have gotten a bit better, but when I look at all of the orders I've received... Whew!";
- mes "It seems that the young women of Rune Midgard must be very well off these days.";
- next;
- mes .n$;
- mes "Not that I think that they are indulging in anything luxurious, mind you.";
- mes "I don't think there is anything wrong with the pursuit of beauty and being fashionable.";
- next;
- mes .n$;
- mes "For us humans, who have no colorful fur or decorative scales, clothes are one of the few ways we have to display our personality, style, and beauty.";
- next;
- mes .n$;
- mes "Haha... When I think about it, I really feel that my job is worthwhile. I believe that I provide a service that the people desire.";
- next;
- mes .n$;
- mes "Can you feel it too? The energy that is released when rough fabric and leather are brought to life with color?.....";
- next;
- mes .n$;
- mes "Although the process is very tedious and time consuming, the joy and happiness I feel when a dress is finished more than makes up for all of the hard work!!";
- break;
- case 2:
- mes .n$;
- if (!.@EnableDyes) {
- mes "Sorry, I'm too busy with other jobs to dye your clothes.";
- break;
- }
- mes "Oh... you need my work? Well... okay, sounds good.";
- next;
- mes .n$;
- mes "Please choose a color";
- mes "that suits you.";
- next;
-
- // Dyes(<color value>,<dye number>{,...});
- // Colors: [1]Orange, [2]Violet, [3]Red, [4]Black, [5]Green, [6]Blue, [7]White, [8]Yellow
- switch(BaseJob) {
- case Job_Novice:
- if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(6,1,3,2,5,3,4,4);
- case Job_Swordman:
- if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(3,1,5,3,4,4);
- case Job_Mage:
- if (Sex == SEX_MALE) Dyes(3,1,2,2,1,3,7,4); else Dyes(3,1,2,2,7,3,4,4);
- case Job_Archer:
- if (Sex == SEX_MALE) Dyes(4,1,2,2,5,3); else Dyes(3,1,5,2,7,3,4,4);
- case Job_Acolyte:
- if (Sex == SEX_MALE) Dyes(6,1,3,2,7,3,4,4); else Dyes(3,1,5,3,4,4);
- case Job_Merchant:
- if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(2,1,5,3,4,4);
- case Job_Thief:
- if (Sex == SEX_MALE) Dyes(5,1,3,2,7,4); else Dyes(3,1,7,3,4,4);
- case Job_Knight:
- case Job_Crusader:
- if (Sex == SEX_MALE) Dyes(2,1,3,3,4,4); else Dyes(6,1,7,3,4,4);
- case Job_Priest:
- case Job_Monk:
- if (Sex == SEX_MALE) Dyes(6,1,5,2,3,3,7,4); else Dyes(3,1,5,2,7,3,4,4);
- case Job_Wizard:
- case Job_Sage:
- if (Sex == SEX_MALE) Dyes(6,1,5,3,4,4); else Dyes(3,1,6,2,7,3,5,4);
- case Job_Blacksmith:
- case Job_Alchemist:
- if (Sex == SEX_MALE) Dyes(4,4,5,2,7,3); else Dyes(3,1,5,2,2,3,4,4);
- case Job_Hunter:
- case Job_Bard:
- case Job_Dancer:
- if (Sex == SEX_MALE) Dyes(4,1,6,2,5,3); else Dyes(6,1,5,3,2,4);
- case Job_Assassin:
- case Job_Rogue:
- if (Sex == SEX_MALE) Dyes(6,1); else Dyes(4,1,8,2,7,3);
- case Job_SuperNovice:
- if (Sex == SEX_MALE) Dyes(2,1,6,2,5,3,4,4); else Dyes(6,1,3,2,5,3,4,4);
- default:
- mes "Wow, I've never seen clothes like that before! I'm sorry, but I don't think I can paint it.";
- close;
- }
- case 3:
- mes .n$;
- mes "Each color costs 10000z and 1 dye:";
- mes " ";
- mes " - ^FF4422Red^000000: Scarlet Dyestuffs";
- mes " - ^D5A500Yellow^000000: Lemon Dyestuffs";
- mes " - ^AA00AAViolet^000000: Violet Dyestuffs";
- mes " - ^FF8800Orange^000000: Orange Dyestuffs";
- mes " - ^4422FFBlue^000000: CobaltBlue Dyestuffs";
- mes " - ^009500Green^000000: DarkGreen Dyestuffs";
- mes " - Black: Black Dyestuffs";
- mes " - White: White Dyestuffs";
- break;
- case 4:
- callsub L_End;
- }
- }
-
-L_End:
- mes .n$;
- mes "Make yourself at home. Even though I don't have time for you.";
- close;
-
-function Dyes {
- setarray .@DyeName$[0],"the default color","Orange","Violet","Red","Black","Green","Blue","White","Yellow";
- setarray .@DyeItems[0],0,980,981,975,983,979,978,982,976;
- .@menu$ = "- Default:";
- for(.@i = 0; .@i<getargcount(); .@i += 2)
- .@menu$ += "- "+.@DyeName$[getarg(.@i)]+":";
- .@menu$ += "- ^777777Cancel^000000";
- .@s = select(.@menu$)-1;
- if (.@s == (getargcount()/2)+1) callsub L_End;
- mes .n$;
- if (.@s == 0) {
- mes "I can change your dye to";
- mes "the default for free.";
- mes "Are you sure?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- mes .n$;
- setlook 7,0;
- mes "Your clothes have been dyed "+.@DyeName$[0]+".";
- close;
- case 2:
- callsub L_End;
- }
- }
- if (!countitem(.@DyeItems[getarg((.@s-1)*2)])) {
- mes "For me to dye your clothes, I'll need the appropriate Dyestuffs. Please check my price list for the information.";
- close;
- }
- if (Zeny < 10000) {
- mes "I'm sorry, but you don't have enough money.";
- close;
- }
- delitem .@DyeItems[getarg((.@s-1)*2)],1;
- Zeny -= 10000;
- setlook 7, ((.@s)?(getarg((.@s-1)*2+1)):0);
- mes "Your clothes have been dyed "+((.@s)?.@DyeName$[getarg((.@s-1)*2)]:.@DyeName$[0])+".";
- close;
-}
-}
diff --git a/npc/merchants/coin_exchange.txt b/npc/merchants/coin_exchange.txt
deleted file mode 100644
index 4d9355533..000000000
--- a/npc/merchants/coin_exchange.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Gepard
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Coin Merchants
-//================= Description ===========================================
-//= Coin redemption NPCs.
-//================= Current Version =======================================
-//= 1.2
-//=========================================================================
-
-//== Manuk & Splendide =====================================
-- script ::merchant_13_2 FAKE_NPC,{
- .@n$ = "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
- mes .@n$;
- if (isequipped(2782) && ep13_2_rhea == 100) {
- if (!checkweight(Knife,1)) {
- mes "It looks like you're carrying too many things.";
- mes "Why not put some of your items in storage and come back?";
- close;
- }
- mes "Hello.";
- mes "What are you looking for?";
- next;
- if (strnpcinfo(NPC_NAME_VISIBLE) == "Merchant of Manuk") {
- setarray .@items[2],12342,12343,12348;
- .@Book = 11019; //Manuk_Selling_Item
- .@coin = 6080; //Manuk_Coin
- .@i = select("View item description", "Manuk's Opportunity", "Manuk's Courage", "Manuk's Faith", "Cancel");
- }
- else {
- setarray .@items[2],12344,12345,12349;
- .@Book = 11018; //Splendide_Selling_Item
- .@coin = 6081; //Splendide_Coin
- .@i = select("View item description", "Buy Pinguicula's Fruit Jam", "Buy Luciola's Honey Jam", "Buy Cornus' Tears", "Do nothing");
- }
- mes .@n$;
- if (.@i == 1) {
- mes "Here are the item descriptions.";
- close2;
- readbook .@Book,1;
- end;
- }
- else if (.@i < 5) {
- mes "I can sell you 3 "+getitemname(.@items[.@i])+" for ^3131FF1 coin^000000.";
- next;
- switch(select("Purchase", "Do not purchase")) {
- case 1:
- if (countitem(.@coin)) {
- mes .@n$;
- mes "Thank you for coming.";
- delitem .@coin,1;
- getitem .@items[.@i],3;
- close;
- }
- else {
- mes .@n$;
- mes "You don't have enough coins.";
- close;
- }
- case 2:
- mes .@n$;
- break;
- }
- }
- mes "Come again if you change your mind.";
- close;
- }
- else {
- if (strnpcinfo(NPC_NAME_VISIBLE) == "Merchant of Manuk") {
- mes "Rtt od d";
- mes "Qwo hd is d irr";
- }
- else {
- mes "BurWehAla";
- mes "tasnarAndu Ie Ru";
- }
- close;
- }
-}
-man_in01,286,16,1 duplicate(merchant_13_2) Merchant of Manuk 4_MAN_PIOM
-spl_in01,110,326,5 duplicate(merchant_13_2) Merchant of Splendide 4_F_FAIRYKID4
diff --git a/npc/merchants/dye_maker.txt b/npc/merchants/dye_maker.txt
deleted file mode 100644
index 4d9e7ff2b..000000000
--- a/npc/merchants/dye_maker.txt
+++ /dev/null
@@ -1,220 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) ultramage
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nexon
-//= Copyright (C) kobra_k88
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Dye Maker
-//================= Description ===========================================
-//= Quests to create the eight colored Dyestuffs.
-//================= Current Version =======================================
-//= 1.4
-//=========================================================================
-
-morocc_in,146,99,3 script Java Dullihan 1_M_MERCHANT,{
- if ((MaxWeight-Weight) < 200 || checkweight(Knife,1) == 0) {
- mes "- Wait a moment! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please come back later -";
- mes "- after you put some items into kafra storage. -";
- close;
- }
- mes "[Dye Maker Java Dullihan]";
- mes "Wow...";
- mes "Such a nice day. Days like this are perfect to make dyes.";
- next;
- switch(select("Talk", "Make Dyestuffs", "Cancel")) {
- case 1:
- mes "[Dye Maker Java Dullihan]";
- mes "Erm, I don't really have much to say to you. But, if you would like me to tell you about my life, I can do that. It's a little long and boring, but would you like to listen?";
- next;
- if (select("Listen", "Don't Listen") == 1) {
- mes "[Dye Maker Java Dullihan]";
- mes "As long as I can remember, my father has been making dyes. He used to spend countless hours making dyes of different colors. Even when my mother passed away, he never stopped.";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "At one point in my life, I became rebellious and ran away from home. I didn't want to be stuck to the family business and wanted to try other things.";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "Anyways...";
- mes "I eventually wound up back home to carry on the family tradition, making dyes for 15 years already. I guess it was really in my blood.";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "Something I realized these days is that now I can understand my father. Why my father devoted everything to making dyes...";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "In the middle of all that tedious and hard work, he probably felt the magic of those colors passing on so many dreams for other people.";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "It was probably for those dreams that he tried so hard to make dyes for his customers...";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "Heh... How do I know this? Well, that's the way I feel right now. Since a couple years ago, I've been able to hear what the colors were saying...";
- next;
- mes "[Dye Maker Java Dullian]";
- mes "Just watch. Someday, I'm going to succeed in making the color my father wanted to, but never got the chance to make.";
- close;
- }
- mes "[Dye Maker Java Dullihan]";
- mes "Ahahahaha...";
- mes "Well, I guess no one would want to listen to a measly dyemaker's story anyway. Hahaha....";
- close;
-
- case 2:
- mes "[Dye Maker Java Dullihan]";
- mes "Great! If you want it, I'll make it for you. I promise I'll make you the color you want. But what color dye would you like to make? The fee is different depending on the color.";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "Why, do you ask? Just remember that there are colors that are easy to make, and those that require more effort and work. Please don't think the fee is too expensive.";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "The color of the dye is special, made with all my heart and soul.";
- next;
- switch(select("Scarlet Dyestuffs", "Lemon Dyestuffs", "Cobaltblue Dyestuffs", "Darkgreen Dyestuffs", "Orange Dyestuffs", "Violet Dyestuffs", "White Dyestuffs", "Black Dyestuffs", "Cancel")) {
- case 1: callsub S_MakeDye,1,1; break;
- case 2: callsub S_MakeDye,2,1; break;
- case 3: callsub S_MakeDye,3,2; break;
- case 4: callsub S_MakeDye,4,3; break;
- case 5: callsub S_MakeDye,5,4; break;
- case 6: callsub S_MakeDye,6,4; break;
- case 7: callsub S_MakeDye,7,4; break;
- case 8: callsub S_MakeDye,8,4; break;
- case 9:
- mes "[Dye Maker Java Dullihan]";
- mes "Eeeehhhh!! What's this? You change your mind now!? So disappointing...";
- close;
- }
-
- case 3:
- mes "[Dye Maker Java Dullihan]";
- mes "I'm not bragging or anything. But I have the skills to make dyestuff. If you ever need dyestuff, please come to me. I'll make them for you at a reasonable price.";
- close;
- }
-
-S_MakeDye:
- mes "[Dye Maker Java Dullihan]";
- switch(getarg(0)) {
- case 1:
- mes "Mmm... I need 30 Red Herbs, 1 Counteragent, and 1 Empty Bottle to make Red Dyestuffs. The fee is only 3000 zeny to make it.";
- setarray .@item[0], 507, 973, 713;
- setarray .@count[0], 30, 1, 1;
- .@cost = 3000;
- .@dyestuff = 975;
- break;
- case 2:
- mes "Mmm... I need 30 Yellow Herbs, 1 Couneragent, and 1 Empty Bottle to make Lemon Dyestuffs. The fee is only 3000 zeny to make it.";
- setarray .@item[0], 508, 973, 713;
- setarray .@count[0], 30, 1, 1;
- .@cost = 3000;
- .@dyestuff = 976;
- break;
- case 3:
- mes "Mmm... I need 20 Blue Herbs, 1 Counteragent, and 1 Empty Bottle to make Cobaltblue Dyestuff. It's hard to use the Blue Herb, so the fee is going to be 3500 zeny.";
- setarray .@item[0], 510, 973, 713;
- setarray .@count[0], 20, 1, 1;
- .@cost = 3500;
- .@dyestuff = 978;
- break;
- case 4:
- mes "Mmm... I need 5 Blue Herbs, 20 Green Herbs, 20 Yellow Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle to make Darkgreen Dyestuffs. Don't get all of the materials confused. The fee is only 5000 zeny.";
- setarray .@item[0], 510, 511, 508, 974, 973, 713;
- setarray .@count[0], 5, 20, 20, 1, 1, 1;
- .@cost = 5000;
- .@dyestuff = 979;
- break;
- case 5:
- mes "Mmm... I need 20 Red Herbs, 20 Yellow Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle to make Orange Dyestuff. The fee is going to be 5000 zeny.";
- setarray .@item[0], 507, 508, 974, 973, 713;
- setarray .@count[0], 20, 20, 1, 1, 1;
- .@cost = 5000;
- .@dyestuff = 980;
- break;
- case 6:
- mes "Mmm... I need 10 Blue Herbs, 30 Red Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle to make Violet Dyestuffs. The fee will be 5000 zeny.";
- setarray .@item[0], 510, 507, 974, 973, 713;
- setarray .@count[0], 10, 30, 1, 1, 1;
- .@cost = 5000;
- .@dyestuff = 981;
- break;
- case 7:
- mes "Mmm... I need 30 White Herbs, 1 Counteragent, and 1 Empty bottle to make White Dyestuffs. The fee will be 3000 zeny.";
- setarray .@item[0], 509, 973, 713;
- setarray .@count[0], 30, 1, 1;
- .@cost = 3000;
- .@dyestuff = 982;
- break;
- case 8:
- mes "Mmm... I need 30 of each Red, Yellow, and Green Herb, 5 Blue Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle. The process takes longer and more effort than the others, so it is going to be 7000 zeny.";
- setarray .@item[0], 507, 508, 511, 510, 974, 973, 713;
- setarray .@count[0], 30, 30, 30, 5, 1, 1, 1;
- .@cost = 7000;
- .@dyestuff = 983;
- break;
- }
- next;
- mes "[Dye Maker Java Dullihan]";
- switch(getarg(1)) {
- case 1: mes "Ah! I think you would have everything ready. Would you like to start the process?"; break;
- case 2: mes "Okay! I believe you would have everything ready. Would you like to start the process?"; break;
- case 3: mes "Okay! I believe you would have everything ready. Shall we begin the process?"; break;
- case 4: mes "Okay! I believe you would have everything prepared. Would you like to start the process?"; break;
- }
- next;
- if (select("Make Dyestuffs", "Cancel") == 1) {
- .@size = getarraysize(.@item);
- // check requirements
- for (.@i = 0; .@i < .@size; ++.@i)
- if( countitem(.@item[.@i]) < .@count[.@i] )
- break;
- if( .@i < .@size || Zeny < .@cost ) {
- mes "[Dye Maker Java Dullihan]";
- mes "Hmmm. Not enough...";
- mes "I don't think I'll be able to make the color you want with those materials. Why don't you go get some more materials...?";
- close;
- }
- // delete items
- for (.@i = 0; .@i < .@size; ++.@i)
- delitem .@item[.@i], .@count[.@i];
- Zeny -= .@cost;
- // get dyestuff
- getitem .@dyestuff,1;
-
- mes "[Dye Maker Java Dullihan]";
- mes "Hmm... It came out pretty well. A very rich color. Of course I'll be trying harder to make a more charming color...";
- next;
- mes "[Dye Maker Java Dullihan]";
- mes "Well, then. Stop by whenever you need more dyes.";
- close;
- }
- mes "[Dye Maker Java Dullihan]";
- mes "Eeeehhhh!! What's this?";
- mes "You change your mind now!? So disappointing...";
- return;
-}
diff --git a/npc/merchants/elemental_trader.txt b/npc/merchants/elemental_trader.txt
deleted file mode 100644
index f631c7367..000000000
--- a/npc/merchants/elemental_trader.txt
+++ /dev/null
@@ -1,182 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Elemental Stone Trader
-//================= Description ===========================================
-//= Trade impure types of elemental stones for pure ones.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-ama_in02,61,27,7 script Alchemist#ama 4_M_ALCHE_B,{
- mes "[Laspuchin Gregory]";
- mes "KeekeekeeKeheheh.";
- mes "This is amazing!";
- mes "The results are extraordinary!!";
- next;
- mes "[Laspuchin Gregory]";
- mes "Using my skills in this distant";
- mes "land was unexpected...";
- mes "Keheheh... The lord of palace";
- mes "was quite accomodating.";
- next;
- mes "[Laspuchin Gregory]";
- mes "Oops, I better be careful...";
- mes "If the guild finds out my";
- mes "location, stupid Myster will";
- mes "get mad at me. Kehehehkeh...";
- next;
- mes "[Laspuchin Gregory]";
- mes "What? Wanna say something?";
- mes "If you are here for tourism,";
- mes "enjoy your day off, then go back to your hometown.";
- mes "Keekeekee... Or else,";
- mes "I will let you taste my acid bottle...!";
- next;
- if (select("Please, excuse me", "Do you need help?") == 1) {
- mes "[Laspuchin Gregory]";
- mes "Keheheh... Did you hear";
- mes "what I said? It would be";
- mes "better to forget...";
- mes "Keekeekeekeekee...";
- close;
- }
- mes "[Laspuchin Gregory]";
- mes "Help, eh?...";
- mes "Now that I think about it...";
- mes "I need some items right now...";
- mes "Keeheeheekeehee...";
- next;
- mes "[Laspuchin Gregory]";
- mes "Sir Laspuchin needs some";
- mes "enchant stones for an experiment.";
- mes "I will use it efficiently...";
- mes "Do you have them now?";
- next;
- if (select("Nope", "I got some") == 1) {
- mes "[Laspuchin Gregory]";
- mes "Then, find 8 stones of one kind.";
- mes "If you bring 8 of one kind of";
- mes "enchant stones, I will change it";
- mes "to a better one...";
- next;
- mes "[Laspuchin Gregory]";
- mes "Then, find 8 stones of one kind.";
- mes "not the round gemstones but";
- mes "enchant stones.";
- mes "If you bring the wrong stones,";
- mes "I will throw a flame bottle!";
- next;
- mes "[Laspuchin Gregory]";
- mes "Bring me stones, slave~!!";
- mes "And keep your promise! Kehehehkehkeh...";
- close;
- }
- mes "[Laspuchin Gregory]";
- mes "Uh-huh, what did you bring?";
- next;
- setarray .@items[1],995,997,994,996;
- .@i = .@items[select("Mystic Frozen", "Great Nature", "Flame Heart", "Rough Wind")];
- mes "[Laspuchin Gregory]";
- if (countitem(.@i) > 7) {
- mes "I will take 8 of them and";
- mes "give you an enchant stone.";
- mes "How's that sound?";
- mes "Keheheh.....";
- next;
- mes "[Laspuchin Gregory]";
- mes "HeeHee, what do you want? Choose one!";
- next;
- .@menu$ = "";
- for(.@j = 1; .@j < 5; ++.@j) {
- if (.@items[.@j] != .@i) .@menu$ += getitemname(.@items[.@j]);
- .@menu$ += ":";
- }
- .@menu$ += "Cancel the trade";
- .@j = select(.@menu$);
- mes "[Laspuchin Gregory]";
- if (.@j == 5) {
- mes "Oh, well.";
- mes "Don't tell anyone about my location...";
- mes "Keheheh...after all, you did promise~";
- close;
- }
- else if (.@j == 4) {
- if (countitem(.@i) > 11) {
- delitem .@i,12;
- getitem 996,1;
- mes "Kehhehheh, You know something?";
- mes "I don't have many of those";
- mes "so I'm going to take ^0000FF12^000000 of yours, okay?";
- mes "Of course, it is okay.";
- mes "It is an honor to help Laspuchin!";
- close;
- }
- mes "Keheheh, You know something.";
- mes "I don't have many of these so";
- mes "I can't just get 8 of yours.";
- mes "If you want to change them to Rough Wind,";
- mes "bring me 4 more stones. 8 + 4 = 12...";
- mes "Requires ^0000FF12^000000 stones.";
- next;
- mes "[Laspuchin Gregory]";
- mes "Bring me stones, slave~!!";
- mes "And keep your promise! Kehheheheheh...";
- close;
- }
- else {
- delitem .@i,8;
- getitem .@items[.@j],1;
- mes "Keheheh! You've chosen a good one!";
- mes "Use it well...";
- mes "Bring me other stones if you have them!";
- close;
- }
- } else if (countitem(.@i)) {
- mes "You can't help Laspuchin with just a couple";
- mes "of enchant stones... I said 8!";
- mes "Bring me just 8 stones!";
- mes "Keheheh.....";
- next;
- mes "[Laspuchin Gregory]";
- mes "Bring me stones, slave~!!";
- mes "And keep your promise! Keheheheheh...";
- close;
- }
- mes "Keheheh~ Check your pockets";
- mes "before you tell me";
- mes "how foolish you are.....";
- next;
- mes "[Laspuchin Gregory]";
- mes "Bring me stones! You said you are going to help me!";
- mes "Keep your promises! Kehehehkehkeh...";
- close;
-}
diff --git a/npc/merchants/enchan_arm.txt b/npc/merchants/enchan_arm.txt
deleted file mode 100644
index 120f9dbab..000000000
--- a/npc/merchants/enchan_arm.txt
+++ /dev/null
@@ -1,168 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Armor Enchanter
-//================= Description ===========================================
-//= Add a +1, +2, or +3 random stat to a specified armor.
-//================= Current Version =======================================
-//= 1.3a
-//=========================================================================
-
-prontera,165,60,2 script Apprentice Craftsman 1_F_MERCHANT_01,{
- disable_items;
- mes "[Apprentice Craftsman]";
- if (Zeny >= 400000) {
- mes "I've been studying ways to enhance an armor to maximize its capability.";
- next;
- mes "[Apprentice Craftsman]";
- mes "Enchanting is an awesome skill that infuses a mysterious status powers into the armor's hidden socket.";
- next;
- mes "[Apprentice Craftsman]";
- mes "However, you have to keep in mind that if there are two armors of the same kind in your possession, the Enchantment will be applied in the order they are placed in your inventory.";
- next;
- mes "[Apprentice Craftsman]";
- mes "In that case, the Enchantment may be applied to an item which you didn't mean to Enchant. So just bring ^5555ffONE Armor^000000 you want enchanted to be safe...";
- next;
- mes "[Apprentice Craftsman]";
- mes "I'm not responsible for what would happen if you have more than one of the same kind in your inventory.";
- next;
- switch(select("Non Slotted Armor.", "Slotted Armor.", "High Grade Armor.", "Maybe next time.")) {
- case 1:
- setarray .@items[0],2307,2309,2314,2316,2321,2325,2327,2328,2330,2332,2334,2335,2341,2344,2346,2348,2350,2337,2386,2394,2395,2396;
- .@j = 50;
- break;
- case 2:
- setarray .@items[0],2311,2318,2319,2320,2308,2310,2315,2317,2322,2324,2326,2331,2333,2336,2342,2345,2347,2349,2351;
- .@j = 55;
- .@k = 1;
- break;
- case 3:
- setarray .@items[0],2364,2365,2391,2374,2375,2376,2377,2378,2379,2380,2381,2382,2387,2388,2389,2390;
- .@j = 60;
- break;
- case 4:
- mes "[Apprentice Craftsman]";
- mes "Please come back when you have any interest in enchanting your armor.";
- close;
- }
- .@menu$ = "";
- for(.@i = 0; .@i<getarraysize(.@items); ++.@i)
- .@menu$ += getitemname(.@items[.@i])+((.@k)?" [1]":"")+":";
- callsub S_EnchantArmor, .@items[select(.@menu$)-1], .@j;
- end;
- }
- mes "I am in charge of Enchanting Armors. Simply put, I've been studying ways to power-up armor.";
- next;
- mes "[Apprentice Craftsman]";
- mes "If by any chance, you would want to enchant your armor, bring me 400,000 zeny and the armor you want to enchant and you are all set to go.";
- close;
-
-S_EnchantArmor:
- .@itemid = getarg(0);
- .@failrate = getarg(1);
- mes "[Apprentice Craftsman]";
- if (countitem(.@itemid) == 1) {
- mes "Socket enchant will cost you 400,000 zeny. And there will be a random option enchanted. Of course, there is a chance of breaking your armor.";
- next;
- mes "[Apprentice Craftsman]";
- mes "First and most importantly.";
- mes "^ff5555Existing Refine Level of the Armor";
- mes "and Cards will be GONE.^000000";
- mes "Do you still want to try an Enchant?";
- next;
- if(select("Hmm... Let me think it over.", "Go ahead.") == 1) {
- mes "[Apprentice Craftsman]";
- mes "Well, I can't blame you. Safety first, eh?";
- mes "Now you have a nice day.";
- close;
- }
- mes "[Apprentice Craftsman]";
- mes "Quite of an adventurer huh? Well, shall we?";
- close2;
- specialeffect(EF_MAPPILLAR, AREA, playerattached());
- if (Zeny < 400000) {
- mes "[Apprentice Craftsman]";
- mes "Sorry, but you don't have enough zeny.";
- close;
- }
- progressbar "ffff00",7;
- Zeny -= 400000;
- delitem .@itemid,1;
- switch (rand(1,.@failrate)) {
- case 1: .@addpart = 4702;break;
- case 2: .@addpart = 4712;break;
- case 3: .@addpart = 4722;break;
- case 4: .@addpart = 4732;break;
- case 5: .@addpart = 4742;break;
- case 6: .@addpart = 4752;break;
- case 7:
- case 8: .@addpart = 4701;break;
- case 9:
- case 10: .@addpart = 4711;break;
- case 11:
- case 12: .@addpart = 4721;break;
- case 13:
- case 14: .@addpart = 4731;break;
- case 15:
- case 16: .@addpart = 4741;break;
- case 17:
- case 18: .@addpart = 4751;break;
- case 19:
- case 20:
- case 21: .@addpart = 4700;break;
- case 22:
- case 23:
- case 24: .@addpart = 4710;break;
- case 25:
- case 26:
- case 27: .@addpart = 4720;break;
- case 28:
- case 29:
- case 30: .@addpart = 4730;break;
- case 31:
- case 32:
- case 33: .@addpart = 4740;break;
- case 34:
- case 35:
- case 36: .@addpart = 4750;break;
- default:
- specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
- mes "[Apprentice Craftsman]";
- mes "Well that's too bad.";
- mes "The requested equipment has failed to enchant.";
- close;
- }
- getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart;
- }
- else {
- mes "Hmm? There's nothing to be enchanted!";
- mes "Please come back with just ONE equipment to be enchanted.";
- close;
- }
-}
diff --git a/npc/merchants/gemstone.txt b/npc/merchants/gemstone.txt
deleted file mode 100644
index e6365c5d8..000000000
--- a/npc/merchants/gemstone.txt
+++ /dev/null
@@ -1,132 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Gemstone Trader
-//================= Description ===========================================
-//= Trade various colors of gemstones for other color gemstones.
-//================= Current Version =======================================
-//= 1.3
-//=========================================================================
-
-payon,173,238,5 script Jade#pay 4_M_SAGE_A,{
- if (checkweight(Knife,1) == 0) {
- mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000";
- close;
- }
- mes "[Jade]";
- mes "Bring me two";
- mes "Gemstones of the";
- mes "same color, and I will";
- mes "change them to Gemstones";
- mes "of a different color.";
- next;
- switch(select("Blue Gemstones into Red ones!", "Red Gemstones into Yellow ones!", "Yellow Gemstones into Blue ones!")) {
- case 1: callsub S_TradeGems,717,716;
- case 2: callsub S_TradeGems,716,715;
- case 3: callsub S_TradeGems,715,717;
- }
-
-S_TradeGems:
- if (countitem(getarg(0)) < 2) {
- mes "[Jade]";
- mes "Hah...!";
- mes "You're kidding me, right?";
- mes "I can't provide you with this";
- mes "service if you don't";
- mes "give me at least";
- mes "2 "+getitemname(getarg(0))+"s!";
- close;
- }
- else {
- .@gems = countitem(getarg(0))/2;
- mes "[Jade]";
- mes "I believe I can create";
- mes "a total of " + .@gems + " " + getitemname(getarg(1)) + "s";
- mes "using the "+getitemname(getarg(0))+"s";
- mes "that you currently have.";
- mes "What do you want to do?";
- next;
- switch(select("Give me as many as you can.", "I want to set the amount.", "I quit.")) {
- case 1:
- delitem getarg(0),.@gems * 2;
- getitem getarg(1),.@gems;
- break;
- case 2:
- mes "[Jade]";
- mes "So how many";
- mes "do you want?";
- mes "The maximum number";
- mes "that you can enter is 100.";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Jade]";
- mes "None at all?";
- mes "I guess you";
- mes "changed your mind...";
- close;
- }
- if (.@input > 100) {
- mes "[Jade]";
- mes "Errm...";
- mes "I asked you to enter";
- mes "an amount no greater";
- mes "than 100, remember...?";
- next;
- continue;
- }
- if (.@gems < .@input) {
- // Custom dialogue
- mes "[Jade]";
- mes "Errm...";
- mes "You don't have that";
- mes "many gems to trade...";
- next;
- continue;
- }
- break;
- }
- delitem getarg(0),.@input * 2;
- getitem getarg(1),.@input;
- break;
- case 3:
- mes "[Jade]";
- mes "Sure, no problem.";
- mes "Come back any time.";
- close;
- }
- mes "[Jade]";
- mes "There you go.";
- mes "Feel free to come";
- mes "back any time.";
- mes "Hm, what's that look for?";
- mes "Is there something on my face?";
- close;
- }
-}
diff --git a/npc/merchants/hair_dyer.txt b/npc/merchants/hair_dyer.txt
deleted file mode 100644
index 424945261..000000000
--- a/npc/merchants/hair_dyer.txt
+++ /dev/null
@@ -1,427 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Hair Dyer
-//================= Description ===========================================
-//= Hair Dyer with standard palletes
-//================= Current Version =======================================
-//= 1.5
-//=========================================================================
-
-prt_in,243,168,4 script Jovovich 4_F_02,{
- mes "[Hairdresser Jovovich]";
- mes "Welcome~!";
- mes "How may I help you?";
- next;
- mes "[Hairdresser Jovovich]";
- if (Sex == SEX_MALE) {
- mes "Oh, no! Your hair is damaged. It seems as if you may need professional treatment. Come sit over here, please. Come.";
- } else if (rand(20) > 11) {
- mes "Eh!? Oh my! Oh no no no no! Your hair is sooo damaged! It's not good if you leave your hair like this.";
- next;
- mes "[Hairdresser Jovovich]";
- mes "Would you let me treat your hair? Please?";
- } else {
- mes "Wow! Your hair would be perfect once it's dyed~ How about dying your hair for a change?";
- }
- next;
- while(1) {
- switch(select("Dye Hair", "Tips and Information", "Cancel")) {
- case 1:
- mes "[Hairdresser Jovovich]";
- mes "Yes yes, good choice~";
- mes "Well then, this is your chance for a make-over, your chance to blossom in beauty! Choose the color you would like.";
- next;
- while(1) {
- if (.@choose_success == 1) {
- mes "[Hairdresser Jovovich]";
- mes "What do you think? Did you want a different color?";
- next;
- if (select("Yes", "No") == 1) {
- mes "[Hairdresser Jovovich]";
- mes "Okay! Choose the color that you would like.";
- next;
- }
- else {
- mes "[Hairdresser Jovovich]";
- mes "Hmm, I'm sort of disappointed. I wanted to do a better job. But I promise I'll do it better next time. Please come again~";
- close;
- }
- }
-
- while(1) {
- switch(select("Red, please.", "Yellow, please.", "Violet, please.", "Orange, please.", "Green, please.", "Blue, please.", "White, please.", "Black, please.", "Actually, I like my hair as it is.")) {
- case 1: .@headpalette = 8; break;
- case 2: .@headpalette = 1; break;
- case 3: .@headpalette = 2; break;
- case 4: .@headpalette = 3; break;
- case 5: .@headpalette = 4; break;
- case 6: .@headpalette = 5; break;
- case 7: .@headpalette = 6; break;
- case 8: .@headpalette = 7; break;
- case 9:
- if (.@choose_success != 0) {
- mes "[Hairdresser Jovovich]";
- mes "You must like your hair color~";
- close;
- }
- mes "[Hairdresser Jovovich]";
- mes "Eehh~? You're not going to dye your hair? I'm a little sad...";
- close;
- }
-
- if (.@headpalette == getlook(LOOK_HAIR_COLOR)) {
- mes "[Hairdresser Jovovich]";
- mes "Eh? But that's the hair color you already have. Please choose a different color.";
- next;
- }
- else {
- switch(.@headpalette) {
- case 1: callsub S_NoDye,976,"yellow"; break;
- case 2: callsub S_NoDye,978,"violet"; break;
- case 3: callsub S_NoDye,980,"orange"; break;
- case 4: callsub S_NoDye,979,"green"; break;
- case 5: callsub S_NoDye,981,"blue"; break;
- case 6: callsub S_NoDye,982,"white"; break;
- case 7: callsub S_NoDye,983,"black"; break;
- case 8: callsub S_NoDye,975,"red"; break;
- }
- if (Zeny < 1000) {
- mes "[Hairdresser Jovovich]";
- mes "The fee is 1000 zeny. Do you not have enough...?";
- close;
- }
-
- switch(.@headpalette) {
- case 1: delitem Lemon_Dyestuffs,1; break;
- case 2: delitem Cobaltblue_Dyestuffs,1; break; //Violet_Dyestuffs
- case 3: delitem Orange_Dyestuffs,1; break;
- case 4: delitem Darkgreen_Dyestuffs,1; break;
- case 5: delitem Violet_Dyestuffs,1; break; //Cobaltblue_Dyestuffs
- case 6: delitem White_Dyestuffs,1; break;
- case 7: delitem Black_Dyestuffs,1; break;
- case 8: delitem Scarlet_Dyestuffs,1; break;
- }
- Zeny -= 1000;
- setlook LOOK_HAIR_COLOR,.@headpalette;
- .@choose_success = 1;
- break;
- }
-
- }
-
- }
-
- case 2:
- mes "[Hairdresser Jovovich]";
- mes "When you're feeling down , when you get dumped, when you want to impress someone, or even when you just want to stand out...";
- next;
- mes "[Hairdresser Jovovich]";
- mes "For that special place and time, wouldn't you want a hairstyle of your very own? As long as you have the appropriate dyestuffs, I will make your hair look wonderful.";
- next;
- mes "[Hairdresser Jovovich]";
- mes "And try not to worry too much about the fee. Acquiring beauty is the same as acquiring everything. Hehe~";
- next;
- mes "[Hairdresser Jovovich]";
- mes "* Fees and Information *";
- mes "- 1 Dyestuffs item of the color of hair you want.";
- mes "- 1000 zeny fee.";
- break;
-
- case 3:
- mes "[Hairdresser Jovovich]";
- mes "Men or Women...";
- mes "Everyone has the right and obligation to be beautiful.";
- close;
- }
-
- }
-
-S_NoDye:
- if (countitem(getarg(0)) == 0) {
- mes "[Hairdresser Jovovich]";
- mes "Eh?! But you need the item '"+getitemname(getarg(0))+"' to dye your hair "+getarg(1)+"...";
- close;
- }
- return;
-}
-
-//== Lighthalzen ===========================================
-lhz_in02,100,134,3 script Hair Dyer#lich 4_F_EINWOMAN,{
- mes "[Rossa]";
- if (Sex == SEX_MALE) {
- mes "Welcome, come in~";
- mes "Oh, I see that you take";
- mes "much better care of your";
- mes "hair than those other boys.";
- mes "Now would you like to dye";
- mes "your hair another color?";
- }
- else {
- mes "Oh, wow~ Where did";
- mes "you get your hair styled?";
- mes "I love it! But... It would";
- mes "be even more beautiful if";
- mes "you dyed your hair. What";
- mes "do you think about that?";
- }
- while (.@choose_success != 2) {
- next;
- switch(select("Dye Hair", "Coloring Information", "Cancel")) {
- case 1:
- mes "[Rossa]";
- mes "Ho ho ho ho~";
- mes "So which color would";
- mes "you like to try? Something";
- mes "vivid or dark? Sexy or cute?";
- next;
- while (.@choose_success != 2) {
- if (.@choose_success == 1) {
- mes "[Rossa]";
- mes "Ooh, I like this color!";
- mes "But would you like to";
- mes "try a different one?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- mes "[Rossa]";
- mes "Please select";
- mes "another color~";
- next;
- break;
- case 2:
- mes "[Rossa]";
- mes "An excellent choice~";
- mes "Alright then, thank you";
- mes "for using my service and";
- mes "I hope you come by again!";
- close2;
- .@choose_success = 2;
- break;
- }
- }
- while (.@choose_success != 2) {
- switch(select("Red, please.", "Yellow, please.", "Purple, please.", "Orange, please.", "Green, please.", "Blue, please.", "White, please.", "Dark Brown, please.", "I like my hair color.")) {
- case 1:
- .@headpalette = 8;
- break;
- case 2:
- .@headpalette = 1;
- break;
- case 3:
- .@headpalette = 2;
- break;
- case 4:
- .@headpalette = 3;
- break;
- case 5:
- .@headpalette = 4;
- break;
- case 6:
- .@headpalette = 5;
- break;
- case 7:
- .@headpalette = 6;
- break;
- case 8:
- .@headpalette = 7;
- break;
- case 9:
- if (.@choose_success != 0) {
- mes "[Rossa]";
- mes "Are you sure?";
- mes "Alright then, you";
- mes "know what's best for";
- mes "your beauty and to tell";
- mes "the truth, I agree with you~";
- close2;
- .@choose_success = 2;
- }
- else {
- mes "[Rossa]";
- mes "Oh, I see. Still, I can't";
- mes "help but feel so disappointed.";
- mes "You'd look so good if you dyed";
- mes "your hair a different color~";
- close2;
- .@choose_success = 2;
- }
- break;
- }
- if (getlook(LOOK_HAIR_COLOR) == .@headpalette) {
- mes "[Rossa]";
- mes "Hmm, your hair color";
- mes "is still fine, so there's";
- mes "no need to dye it the same";
- mes "color again, if that's what";
- mes "you're worried about.";
- next;
- }
- else {
- if ((.@headpalette == 8) && (countitem(Scarlet_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "Scarlet Dyestuffs with you...";
- close2;
- .@choose_success = 2;
- break;
- }
- else if ((.@headpalette == 1) && (countitem(Lemon_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "Lemon Dyestuffs with you...";
- close2;
- .@choose_success = 2;
- break;
- }
- else if ((.@headpalette == 2) && (countitem(Violet_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "Violet Dyestuffs with you...";
- close2;
- .@choose_success = 2;
- break;
- }
- else if ((.@headpalette == 3) && (countitem(Orange_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "Orange Dyestuffs with you...";
- close2;
- .@choose_success = 2;
- break;
- }
- else if ((.@headpalette == 4) && (countitem(Darkgreen_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "Darkgreen Dyestuffs";
- mes "with you. Would you come";
- mes "back after you get some?";
- close2;
- .@choose_success = 2;
- break;
- }
- else if ((.@headpalette == 5) && (countitem(Cobaltblue_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "Cobaltblue Dyestuffs";
- mes "with you. Would you come";
- mes "back after you get some?";
- close2;
- .@choose_success = 2;
- break;
- }
- else if ((.@headpalette == 6) && (countitem(White_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "White Dyestuffs with you...";
- close2;
- .@choose_success = 2;
- break;
- }
- else if ((.@headpalette == 7) && (countitem(Black_Dyestuffs) == 0)) {
- mes "[Rossa]";
- mes "Oh, I'm sorry dear,";
- mes "but I can't dye your";
- mes "hair if you didn't bring";
- mes "Black Dyestuffs with you...";
- close2;
- .@choose_success = 2;
- break;
- }
- if (Zeny < 1000) {
- mes "[Rossa]";
- mes "Oh, I'm so sorry dear,";
- mes "but my service fee is";
- mes "1,000 zeny. Did you forget";
- mes "to bring your money with you?";
- close2;
- .@choose_success = 2;
- break;
- }
- if (.@headpalette == 8) delitem Scarlet_Dyestuffs,1;
- else if (.@headpalette == 1) delitem Lemon_Dyestuffs,1;
- else if (.@headpalette == 2) delitem Violet_Dyestuffs,1;
- else if (.@headpalette == 3) delitem Orange_Dyestuffs,1;
- else if (.@headpalette == 4) delitem Darkgreen_Dyestuffs,1;
- else if (.@headpalette == 5) delitem Cobaltblue_Dyestuffs,1;
- else if (.@headpalette == 6) delitem White_Dyestuffs,1;
- else if (.@headpalette == 7) delitem Black_Dyestuffs,1;
- Zeny -= 1000;
- setlook LOOK_HAIR_COLOR,.@headpalette;
- .@choose_success = 1;
- break;
- }
- }
- }
- break;
- case 2:
- mes "[Rossa]";
- mes "When you're feeling";
- mes "down, when you just want";
- mes "to look nice for the one you";
- mes "love, or when you just want";
- mes "a different look, why don't";
- mes "you dye your hair?";
- next;
- mes "[Rossa]";
- mes "All you need is one";
- mes "Dyestuffs item of the";
- mes "color that you want to";
- mes "dye your hair, as well as";
- mes "a 1,000 zeny service fee.";
- mes "I'm here for your beauty needs~";
- break;
- case 3:
- mes "[Rossa]";
- mes "You know, when you";
- mes "put some effort into";
- mes "your appearance, you'll";
- mes "not only look better, but";
- mes "you'll feel better about";
- mes "yourself. Makes sense, right?";
- close;
- }
- }
- close;
-}
diff --git a/npc/merchants/hair_style.txt b/npc/merchants/hair_style.txt
deleted file mode 100644
index d6f1536bd..000000000
--- a/npc/merchants/hair_style.txt
+++ /dev/null
@@ -1,1349 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) Muad_Dib
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Hair Dresser
-//================= Description ===========================================
-//= Allows you to change your hairstyle.
-//================= Current Version =======================================
-//= 1.4
-//=========================================================================
-
-//== Hair Dresser Veronica =================================
-alberta_in,55,142,7 script Hair Dresser 4_F_02,{
- mes "[Veronica]";
- mes "Welcome to Veronica's hair salon.";
- mes "How can I help you?";
- next;
- switch(select("See available hair styles.", "Change hair style.", "End conversation.")) {
- case 1:
- mes "[Veronica]";
- mes "We have a total of 19 styles, available from no.1 to no.19.";
- mes "Which one do you want to see?";
- mes "If you wish to cancel,";
- mes "please enter 0.";
- next;
- input(.@style);
- if(.@style == 0) {
- mes "[Veronica]";
- mes "So, how do you like the style?";
- mes "Feel free to ask me about any";
- mes "available hairstyle. It will";
- mes "be my pleasure to style your";
- mes "hair.";
- close;
- }
- if (.@style < 1 || .@style > 19) {
- mes "[Veronica]";
- mes "Oops, I'm sorry, but that";
- mes "style is not available.";
- mes "Remember to enter a number";
- mes "from 1 to 19.";
- close();
- }
- callsub L_cutin,.@style;
- mes "[Veronica]";
- switch(.@style) {
- case 1:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Play Dead' style!";
- mes "It's a nice, basic haircut.";
- mes "I notice that usually the";
- mes "cute, conversative types seem";
- mes "to prefer this style.";
- } else {
- mes "Oh, that's 'First Aid' style!";
- mes "The shoulder length tresses";
- mes "are straightened for those";
- mes "no nonsense adventurers. It";
- mes "seems to be the style of";
- mes "choice for Novices.";
- }
- close2;
- cutin "",255;
- end;
- case 2:
- if (Sex == SEX_MALE) {
- mes "Oh, that's the 'Two Handed Sword";
- mes "Mastery' style! It's perfect for";
- mes "for Swordmen who might muss their";
- mes "hair while swinging their swords";
- mes "all day long.";
- } else {
- mes "Oh, that's 'Bash' style!";
- mes "For the powerful woman that's";
- mes "not afraid to get a little";
- mes "blood on her hands, but knows";
- mes "how great her hair will look";
- mes "while wildly flailing a sword.";
- }
- close2;
- cutin "",255;
- end;
- case 3:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Napalm Beat' style!";
- mes "It's a unique look with a hint";
- mes "of eccentricity that's offset";
- mes "with a helping of elegance.";
- } else {
- mes "Oh, that's 'Frost Diver' style!";
- mes "The pigtails lend an innocent,";
- mes "demure look for those Mages";
- mes "and Wizards that usually scare";
- mes "off the boys with their spells.";
- }
- close2;
- cutin "",255;
- end;
- case 4:
- if (Sex == SEX_MALE) {
- mes "Oh, that's the 'Double Strafe'";
- mes "style! The arrangement of the";
- mes "hair conducts ambient static";
- mes "electricity, naturally clearing";
- mes "the mind. At least, that's what";
- mes "I was taught in fashion school.";
- } else {
- mes "Oh, that's 'Arrow Shower' style!";
- mes "For the Bowswoman who doesn't";
- mes "want fashion to interfere with";
- mes "her depth perception. Much more";
- mes "attractive than those horrid";
- mes "granny-style hairbuns.";
- }
- close2;
- cutin "",255;
- end;
- case 5:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Angelus' style!";
- mes "It's for calm and devout people,";
- mes "as well as those bashful,";
- mes "mild-mannered types.";
- } else {
- mes "Oh, that's 'Heal' style!";
- mes "This is in trend among";
- mes "Priests and Acolytes since";
- mes "this style is appropriate";
- mes "for formal situations, but";
- mes "is also practical in battle.";
- }
- close2;
- cutin "",255;
- end;
- case 6:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Push Cart' style!";
- mes "It was based on the design of a";
- mes "cart...at least, that's what";
- mes "I learned in beautician school.";
- } else {
- mes "Ooh, that's 'Vending' style!";
- mes "It's the hairdo of money";
- mes "makers...and if I may say so,";
- mes "it's also economical.";
- }
- close2;
- cutin "",255;
- end;
- case 7:
- if (Sex == SEX_MALE) {
- mes "Ooh, that's 'Envenom' style!";
- mes "It looks great on Thieves and";
- mes "and Assassins when they're";
- mes "out poisoning people and animals.";
- mes "It's fashion for the aggressive";
- mes "and eclectic~!";
- } else {
- mes "Oh, that's 'Double Attack' style!";
- mes "The adorable pigtail, paired with";
- mes "those provacative bangs are sure";
- mes "to help you steal the heart of";
- mes "some cute guy.";
- }
- close2;
- cutin "",255;
- end;
- case 8:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Bowling Bash' style!";
- mes "A popular style for Knights, its";
- mes "manly, rugged look tends to";
- mes "attract all of the ladies,";
- mes "and looks great on men with";
- mes "strong chins.";
- } else {
- mes "Oh, that's 'Gloria' style!";
- mes "It's very elegant and looks";
- mes "great on holy Priests. This";
- mes "style is most attractive to";
- mes "ladies who aren't that used";
- mes "to fighting with their hands.";
- }
- close2;
- cutin "",255;
- end;
- case 9:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Venom Dust' style!";
- mes "Definitely a look for rebels,";
- mes "the sweeping, yet decidedly";
- mes "luxorious locks seems to enchant";
- mes "girls with a fatal attraction.";
- } else {
- mes "Oh, that's 'SP Recovery' style!";
- mes "To add more body to the special";
- mes "style of these bangs, I use a";
- mes "special conditioner that makes";
- mes "you feel like you're regaining SP";
- mes "...Although, it acutally doesn't.";
- }
- close2;
- cutin "",255;
- end;
- case 10:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Turn Undead' style!";
- mes "This is popular among Priests";
- mes "that want a serious, yet a bit";
- mes "of a wild, agressive look.";
- mes "Definitely more attractive";
- mes "than the 'Holy Light' mullet.";
- } else {
- mes "Oh, that's 'Prepare Potion' style!";
- mes "The flared out tresses are chosen";
- mes "by beginning Alchemists, since";
- mes "early, explosive experiments would";
- mes "make their hair to stick out anyway.";
- }
- close2;
- cutin "",255;
- end;
- case 11:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Dragonology' style!";
- mes "It's neat and clean cut, perfect";
- mes "for studious people and looks";
- mes "great with eyeglasses. This";
- mes "is a fashion well suited to";
- mes "intellectual types.";
- } else {
- mes "Oh, that's 'Grand Cross' style!";
- mes "It's in style among those pious";
- mes "Crusaders that need hair that";
- mes "won't muss during fighting, yet";
- mes "is respectable enough to attend";
- mes "religious services.";
- }
- close2;
- cutin "",255;
- end;
- case 12:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Mace Mastery' style!";
- mes "A lot of care goes into making";
- mes "that tussled hair say, 'I don't";
- mes "care how I look at all.'";
- } else {
- mes "Oh, that's 'Intimidate' style!";
- mes "The Rogue women seem to like";
- mes "this style...although I imagine";
- mes "that more of them would prefer";
- mes "something wilder to match those";
- mes "stockings...";
- }
- close2;
- cutin "",255;
- end;
- case 13:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Thunder Storm' style!";
- mes "This hot, flamboyant hairstyle";
- mes "flares out wildly like thunder.";
- mes "...And you will too with this new look.";
- } else {
- mes "Oh, that's 'Spiritual Sphere";
- mes "Absorption' style! There's a";
- mes "charismatic quality to this";
- mes "fashion: it's tough, slightly";
- mes "tomboyish, but not so much";
- mes "that it can't be cute.";
- }
- close2;
- cutin "",255;
- end;
- case 14:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Encore' style!";
- mes "The elegant, flowing locks";
- mes "fit well with Bards, or men who";
- mes "appreciate the value of male";
- mes "beauty.";
- } else {
- mes "Oh, that's 'Gypsy's Kiss' style!";
- mes "Dancers seem to like this style,";
- mes "although personally, I think";
- mes "this fashion fits very well";
- mes "with glasses.";
- }
- close2;
- cutin "",255;
- end;
- case 15:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Grimtooth' style!";
- mes "Spiky and unkempt, this style";
- mes "is a popular counterculture";
- mes "street fashion. You might";
- mes "not want to wear your hair";
- mes "this way at a wedding, though.";
- } else {
- mes "Oh, that's 'Counter Attack' style!";
- mes "This is an intimidating look for";
- mes "girls that want to say 'You hit";
- mes "me, I'll hit you back!' It really";
- mes "emphasizes strong looking";
- mes "foreheads and cheekbones.";
- }
- close2;
- cutin "",255;
- end;
- case 16:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Blitz Beat' style!";
- mes "A funky and lively fashion,";
- mes "this style was developed for a";
- mes "Hunter who liked really long";
- mes "bangs and wanted to see";
- mes "through them at the same time.";
- } else {
- mes "Oh, that's 'Anke Snare' style!";
- mes "The style style is specially";
- mes "made for Hunters that don't like";
- mes "to get their hair tangled...";
- mes "After all, what kind of Hunter";
- mes "lets their hair get trapped?";
- }
- close2;
- cutin "",255;
- end;
- case 17:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Find Ore' style!";
- mes "It's a practical, economical look";
- mes "that is popular among Blacksmiths.";
- mes "Some swear that this fashion helps";
- mes "them in finding ores, but where's";
- mes "the science in that??";
- } else {
- mes "Oh, that's 'Hammer Fall' style!";
- mes "For the woman that doesn't want";
- mes "her hair to get in the way when";
- mes "she's savagely swinging heavy";
- mes "objects. Of course, this is a";
- mes "Blacksmith favorite.";
- }
- close2;
- cutin "",255;
- end;
- case 18:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Fire Pillar' style!";
- mes "It's a trendy look, in which";
- mes "you cover one eye for that";
- mes "intrigue effect. The element";
- mes "of mystery is always in";
- mes "fashion, don't you think?";
- } else {
- mes "Oh, that's 'Jupitel Thunder'";
- mes "style! A look that strikes";
- mes "like lightening, without";
- mes "any of that annoying static";
- mes "cling or muss. This fashion";
- mes "looks great with Mage Hats.";
- }
- close2;
- cutin "",255;
- end;
- case 19:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Guillotine Fist'";
- mes "style! The smooth, slicked back";
- mes "pompadour shows that you're";
- mes "serious about your passion";
- mes "for brawling... or just your passion.";
- } else {
- mes "Oh, that's 'Whirlwind' style!";
- mes "A favorite among the studious";
- mes "Sages, the hair is tied back";
- mes "in a stylish braid so that";
- mes "it doesn't fly around after";
- mes "casting those windy spells.";
- }
- close2;
- cutin "",255;
- end;
- }
- case 2:
- if(BaseLevel < 60) {
- mes "[Veronica]";
- mes "Oh, dear, you're looking fabulous with";
- mes "your current hairstyle. Why don't you";
- mes "try a new hair accessory rather than changing your look?";
- close;
- } else if((countitem(Counteragent) < 3) || (countitem(Mixture) < 3) || (countitem(Danggie) <100) || (countitem(Short_Daenggie) <100) || (countitem(Long_Hair) <100) || (countitem(Golden_Hair) <100) || (countitem(Glossy_Hair) <100) || (Zeny < 99800)) {
- mes "[Veronica]";
- mes "If you wish to change your";
- mes "hairstyle, you should meet some";
- mes "requirements. I suggest that you";
- mes "write down all the items that";
- mes "you will need.";
- next;
- mes "[Veronica]";
- mes "3 Counteragent,";
- mes "3 Mixture,";
- mes "100 Danggie,";
- mes "100 Short Danggie,";
- mes "100 Black Hair,";
- mes "100 Golden Hair,";
- mes "100 Glossy Hair, and lastly...";
- next;
- mes "[Veronica]";
- mes "You will need 99,800 zeny.";
- mes "Please come back when you're";
- mes "ready. I will make you look";
- mes "fabulous. Hohohohoho~";
- close;
- }
- mes "[Veronica]";
- mes "Okay now, please choose the style";
- mes "you desire from styles no.1 to";
- mes "no.19. I will do my best to";
- mes "make you look your very best.";
- next;
- input(.@style);
- if(.@style == 0) {
- mes "[Veronica]";
- mes "You have canceled your request.";
- close;
- }
- if (.@style < 1 || .@style > 19) {
- mes "[Veronica]";
- mes "I am sorry, you chose an unavailable style.";
- mes "Make sure you enter the correct number.";
- close;
- }
- if(getlook(1) == .@style) {
- mes "[Veronica]";
- mes "I am sorry, but you are already";
- mes "wearing the style you have";
- mes "requested. Would you please";
- mes "choose a different style?";
- close;
- }
- callsub L_cutin,.@style;
- mes "[Veronica]";
- mes "You have chosen style no. (" + .@style + ").";
- mes "I shall proceed with your request.";
- mes "Would you mind?";
- next;
- if(select("No, I don't mind.", "Yes, let me choose another one.") == 1) {
- if(getlook(6) == 0) {
- mes "[Veronica]";
- mes "Oh, my, you haven't dyed your hair";
- mes "at all. You would look even more";
- mes "fabulous if you dyed your hair...";
- mes "Oh well, I will do it for free.";
- mes "So what kind of color would you like?";
- next;
- switch(select("Red.", "Yellow.", "Purple.", "Orange.", "Green.", "Blue.", "White.", "Dark Brown.", "Cancel.")) {
- case 1:
- .@pallete = 8;
- break;
- case 2:
- .@pallete = 1;
- break;
- case 3:
- .@pallete = 2;
- break;
- case 4:
- .@pallete = 3;
- break;
- case 5:
- .@pallete = 4;
- break;
- case 6:
- .@pallete = 5;
- break;
- case 7:
- .@pallete = 6;
- break;
- case 8:
- .@pallete = 7;
- break;
- case 9:
- mes "[Veronica]";
- mes "Oh, I was gonna do it for free.";
- mes "Well, if you change your mind, please come again.";
- mes "The color of your hair enhances your look.";
- close;
- }
- }
- nude;
- mes "[Veronica]";
- mes "Now, let's get started. Try to";
- mes "stay still, dear. If you move,";
- mes "it might ruin the perfect look";
- mes "I intend to give you. Trust me,";
- mes "I will make you look fabulous~";
- next;
- mes "[Veronica]";
- mes "- *snip snip snip snip* -";
- mes "- *bzzzzzzz bzzzzzzz bzzzzzzz bzzzzzzz* -";
- mes "- *snip snip snip snip* -";
- mes "- *bzzzzzzz bzzzzzzz bzzzzzzz bzzzzzzz* -";
- next;
- Zeny -= 99800;
- delitem Counteragent,3; // Counteragent
- delitem Mixture,3; // Mixture
- delitem Danggie,100; // Danggie
- delitem Short_Daenggie,100; // Short_Daenggie
- delitem Long_Hair,100; // Long_Hair
- delitem Golden_Hair,100; // Golden_Hair
- delitem Glossy_Hair,100; // Glossy_Hair
- setlook 1,.@style;
- setlook 6,.@pallete;
- cutin "",255;
- mes "[Veronica]";
- mes "Alright, it's done~";
- mes "I hope you like";
- mes "this style no.(" + .@style + ").";
- mes "Feel free to come back anytime";
- mes "when you want a new hairstyle. Hohohohohoho~";
- setlook 1,.@style;
- setlook 6,.@pallete;
- close;
- }
- mes "[Veronica]";
- mes "Okay then, please choose one";
- mes "a hairstyle again. I believe";
- mes "you will find the look that's best for you.";
- close;
- case 3:
- mes "[Veronica]";
- mes "Everybody deserves the right to";
- mes "pursue beauty. I hope that you";
- mes "will find the right hairstyle";
- mes "one of these days.";
- close;
- }
-
-L_cutin:
- if (Sex == SEX_MALE) {
- if(getarg(0) < 10)
- cutin "hair_m_0"+getarg(0),4;
- else
- cutin "hair_m_"+getarg(0),4;
- } else {
- if(getarg(0) < 10)
- cutin "hair_f_0"+getarg(0),4;
- else
- cutin "hair_f_"+getarg(0),4;
- }
- return;
-}
-
-//== Roving Hair Dresser ===================================
-alberta,33,141,7 script Roving Hair Dresser 4_M_BARBER,{
- mes "[Rui Vishop]";
- mes "That Veronica...";
- mes "Hah! Best hair dresser my ass.";
- mes "She's not the best hair dresser...";
- mes "...";
- mes "I am!";
- next;
- mes "[Rui Vishop]";
- mes "I, Rui Vishop, the man to whom";
- mes "all scalps are canvases";
- mes "waiting to be transformed into";
- mes "works of magnificent art~!";
- next;
- switch(select("What are you?", "Do my hair, please!", ".....")) {
- case 1:
- mes "[Rui Vishop]";
- mes "Do you not know that I, Rui";
- mes "Vishop, maestro of the shears";
- mes "and sculptor of hair, am an";
- mes "artist far ahead of his time?!";
- mes "Well, I suppose an adventurer";
- mes "like yourself wouldn't know...";
- next;
- mes "[Rui Vishop]";
- mes "As a hair sculptor, I find joy";
- mes "in bestowing upon others the";
- mes "supreme favour of doing their";
- mes "hairstyle at a reasonable price.";
- next;
- mes "[Rui Vishop]";
- mes "Recently, however, I happened to";
- mes "overhear that some tyro has had";
- mes "the audacity to call herself a";
- mes "hair dresser.";
- next;
- mes "[Rui Vishop]";
- mes "So one day I went there,";
- mes "pretending to be a customer.";
- mes "I was apalled to see the boring,";
- mes "lifeless hairstyles that she was";
- mes "giving all of her clients...";
- next;
- mes "[Rui Vishop]";
- mes "It wasn't hard to notice that her";
- mes "skills, or lack thereof, are a";
- mes "joke. She brings shame to the";
- mes "great and honorable";
- mes "profession of hair dressing.";
- mes "A complete and utter disgrace!";
- next;
- mes "[Rui Vishop]";
- mes "But the worst part was...";
- mes "she forced her customers to";
- mes "choose a hairstyle before she";
- mes "styled their hair!";
- next;
- mes "[Rui Vishop]";
- mes "That's not how talented hair";
- mes "dressers do their job! She";
- mes "should know what hair style will";
- mes "fit a customer without ever";
- mes "asking them!";
- next;
- mes "[Rui Vishop]";
- mes "If by any chance you decide to";
- mes "do your hair, don't even think";
- mes "about giving her patronage.";
- mes "Instead, you may ask for my";
- mes "services. I assure you, I am";
- mes "faaaar better than her.";
- next;
- mes "[Rui Vishop]";
- mes "Do you understand? I mean, don't";
- mes "let her ruin your hair needlessly!";
- mes "You could get a Swordman to hack";
- mes "away at your hair if you want a";
- mes "hairstyle that horrible~!";
- close;
- case 2:
- if(BaseLevel < 60) {
- mes "[Rui Vishop]";
- mes "Hmm, I must say, your current";
- mes "style fits you best. Trust me, I know what I am saying.";
- close;
- } else if(Zeny < 199800) {
- mes "[Rui Vishop]";
- mes "Ah, I see that that you can";
- mes "recognize genius when it is";
- mes "right before you. In light";
- mes "of your good taste, I will";
- mes "only require money for my";
- mes "services.";
- next;
- mes "[Rui Vishop]";
- mes "Simply pay me the small";
- mes "fee of 199,800 zeny. You must";
- mes "know that I am doing you a";
- mes "huge favor by charging you";
- mes "such a small amount. My";
- mes "art is priceless, after all.";
- close;
- }
- mes "[Rui Vishop]";
- mes "Alright, I will be taking my";
- mes "199,800 zeny service charge now.";
- next;
- mes "[Rui Vishop]";
- mes "If you don't wish to do";
- mes "this right now, though I can't";
- mes "imagine why, you may ask that";
- mes "stupid hair dresser to";
- mes "do her clumsy work on you...";
- next;
- if(select("No, please do my hair.", "Umm, I changed my mind.") ==1 ) {
- mes "[Rui Vishop]";
- mes "O~k~a~y!";
- mes "Now, let us begin~!";
- next;
- mes "[Rui Vishop]";
- mes "Wooooo~oooohhhh!! Toohhhhh~oooohhhh!!";
- next;
- mes "[Rui Vishop]";
- mes "Woooooo~aaaaaaahhhhh!!";
- next;
- mes "[Rui Vishop]";
- mes "Voila!";
- next;
- mes "[Rui Vishop]";
- mes "Oh, great~ it's awesome!";
- mes "Another Vishop masterpiece~";
- mes "Once more I've outdone myself.";
- mes "It's such a unique and talented";
- mes "style! Yes, I am the best! Wooohahahahahaha!";
- Zeny -= 199800;
- setlook 1,rand(1,19);
- setlook 6,rand(1,8);
- close;
- }
- mes "[Rui Vishop]";
- mes "Bah! Alright! It's your decision.";
- mes "But don't blame me later!";
- mes "One day you'll wake up, realize";
- mes "you're ugly and regret not";
- mes "having my genius shape every lock";
- mes "of hair on your head.";
- close;
- case 3:
- mes "[Rui Vishop]";
- mes "What? What a shame!";
- mes "Will you let that...that";
- mes "charlatan of a hair dresser ruin";
- mes "your hairstyle!? I'm sure the";
- mes "heavens are crying tears of";
- mes "pity at mankind's ignorance...";
- close;
- }
-}
-
-
-//== Lighthalzen ===========================================
-lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
- mes "[Prince Shammi]";
- mes "Welcome to Prince Shammi's";
- mes "Beauty Shop, the place to go";
- mes "for faaabulous hair. Don't be";
- mes "shy, tell me exactly how you";
- mes "want me to make you glamorous~";
- next;
- switch(select("Check all hairstyles", "Change hairstyle", "Cancel")) {
- case 1:
- mes "[Prince Shammi]";
- mes "Oh, would you like to";
- mes "see all of the trendy new";
- mes "hairstyles I offer?";
- next;
- mes "[Prince Shammi]";
- mes "Please, oh please, choose from the following styles and I will show you a preview.";
- next;
- switch(select("Old Hairstyles", "New Hairstyles")) {
- case 1:
- if (Sex == SEX_MALE) {
- switch(select("Petite Style", "Executioner Style", "Prince Style", "Deviace Style", "Cancel")) {
- case 1:
- cutin "hair_m_20",4;
- mes "[Prince Shammi]";
- mes "This is the ^3131FFPetite Style^000000,";
- mes "which softens the gentleman's";
- mes "appearance with long braids";
- mes "for a fluffier appearance.";
- break;
- case 2:
- cutin "hair_m_21",4;
- mes "[Prince Shammi]";
- mes "Oh, the ^3131FFExecutioner Style^000000!";
- mes "It's a rugged, shaggy style";
- mes "for that tough guy look that's";
- mes "becoming popular these days.";
- mes "And every girl loves a tough";
- mes "guy, right? ^333333*Tee hee~*^000000";
- break;
- case 3:
- cutin "hair_m_22",4;
- mes "[Prince Shammi]";
- mes "You certainly have an";
- mes "eye for fashion! Yes, this";
- mes "is the ^3131FFPrince Style^000000, the";
- mes "pinnacle of sexiness and";
- mes "sophistication. Magnifique, no?";
- mes "Yes, choose this one, this one!";
- break;
- case 4:
- cutin "hair_m_23",4;
- mes "[Prince Shammi]";
- mes "A-ha~! The ^3131FFDeviace Style^000000!";
- mes "This is much like the Prince";
- mes "Style, but with shorter hair";
- mes "in the back. Yes, this look";
- mes "is very neat and dandy.";
- break;
- case 5:
- cutin "hair_f_01",255;
- mes "[Prince Shammi]";
- mes "No? You didn't want";
- mes "to take a look? Please,";
- mes "you're an adventurer, I know";
- mes "you can be more daring than";
- mes "that! Be fashionably adventurous, you fashionable adventurer~";
- emotion e_lv,"Hair Dresser#i";
- close;
- }
- }
- else {
- switch(select("Spring Rabbit Style", "Harpy Style", "Medusa Style", "Isis Style", "Cancel")) {
- case 1:
- cutin "hair_f_20",4;
- mes "[Prince Shammi]";
- mes "Oh yes, this is the ";
- mes "^3131FFSpring Rabbit Style^000000.";
- mes "The bobbing forelock";
- mes "adds an aura of chic,";
- mes "cutsiness and playfulness.";
- mes "Yes? No? Yes? No? Oh yes!";
- break;
- case 2:
- cutin "hair_f_21",4;
- mes "[Prince Shammi]";
- mes "Ooh, are you interested";
- mes "in the ^3131FFHarpy Style^000000? The";
- mes "natural curl coupled with";
- mes "the pony tail results in";
- mes "a sophisticated, yet very";
- mes "natural and relaxed look~";
- break;
- case 3:
- cutin "hair_f_22",4;
- mes "[Prince Shammi]";
- mes "Ahh, the ^3131FFMedusa Style^000000~";
- mes "These boldy flowing locks";
- mes "scream power and dominance";
- mes "and is ideal for the big career";
- mes "woman who wishes to be...";
- mes "irresistable to men~";
- break;
- case 4:
- cutin "hair_f_23",4;
- mes "[Prince Shammi]";
- mes "Ooh, the ^3131FFIsis Style^000000~";
- mes "Yes, you'll look very cute";
- mes "with your hair in buns on";
- mes "on both sides of your head.";
- mes "It'll be very darling on you!";
- break;
- case 5:
- mes "[Prince Shammi]";
- mes "No? You didn't want";
- mes "to take a look? Please,";
- mes "you're an adventurer, I know";
- mes "you can be more daring than";
- mes "that! Be fashionably adventurous, you fashionable adventurer~";
- emotion e_lv,"Hair Dresser#li";
- close;
- }
- }
- break;
- case 2:
- if (Sex == SEX_MALE) {
- switch(select("Emergency Heal Perm", "Aura Blade Cut", "Power Swing", "Renovatio Cut", "Cancel")) {
- case 1:
- cutin "hair_m_24",4;
- mes "[Prince Shammi]";
- mes "This is the ^3131FFEmergency Heal Perm^000000";
- mes "It is quite popular among the healing class.";
- break;
- case 2:
- cutin "hair_m_25",4;
- mes "[Prince Shammi]";
- mes "You must be after a lady yes?";
- mes "The ^3131FFAura Blade Cut^000000";
- mes "is known to make the ladies swoon, you tiger you!";
- break;
- case 3:
- cutin "hair_m_26",4;
- mes "[Prince Shammi]";
- mes "Oh you brute!";
- mes "^3131FFPower Swing Cut^000000";
- mes "Flex your style muscles with this hairstyle. This is definitely your look.";
- break;
- case 4:
- cutin "hair_m_27",4;
- mes "[Prince Shammi]";
- mes "Ah! I see you're only interested in the latest trends.";
- mes "Straight from the runway is the ^3131FFRenovatio Cut^000000.";
- break;
- case 5:
- mes "[Prince Shammi]";
- mes "No? You didn't want";
- mes "to take a look? Please,";
- mes "you're an adventurer, I know";
- mes "you can be more daring than";
- mes "that! Be fashionably adventurous, you fashionable adventurer~";
- emotion e_lv,"Hair Dresser#li";
- close;
- }
- }
- else {
- switch(select("Assumptio Perm", "Soul Changer Cut", "X Tornado Cut", "Oratio Cut", "Cancel")) {
- case 1:
- cutin "hair_f_24",4;
- mes "[Prince Shammi]";
- mes "This is the ^3131FFAssumptio Perm^000000";
- mes "It's a shorter style perm that allows for maximum spellcasting.";
- break;
- case 2:
- cutin "hair_f_25",4;
- mes "[Prince Shammi]";
- mes "You must be a man killer no?";
- mes "The ^3131FFSoul Changer Cut^000000";
- mes "will make any man open his wall... er heart to you!";
- break;
- case 3:
- cutin "hair_f_26",4;
- mes "[Prince Shammi]";
- mes "This is a bit of a trendy style";
- mes "^3131FFX Tornado Cut^000000";
- mes "It's for adventurous people who like change.";
- break;
- case 4:
- cutin "hair_f_27",4;
- mes "[Prince Shammi]";
- mes "Ah! I see you're only interested in the latest trends.";
- mes "Straight from the runway is the ^3131FFOratio Cut^000000.";
- mes "You'll be the envy of all of your friends with this hairstyle.";
- break;
- case 5:
- mes "[Prince Shammi]";
- mes "No? You didn't want";
- mes "to take a look? Please,";
- mes "you're an adventurer, I know";
- mes "you can be more daring than";
- mes "that! Be fashionably adventurous, you fashionable adventurer~";
- emotion e_lv,"Hair Dresser#li";
- close;
- }
- }
- }
- close2;
- cutin "",255;
- end;
- case 2:
- if (BaseLevel < 60) {
- mes "[Prince Shammi]";
- mes "Oh, I'm so sorry, but";
- mes "I can only perform my";
- mes "services for clients that have";
- mes "matured enough to find their";
- mes "true inner beauty. But please";
- mes "come back once you do, okay?";
- close;
- }
- else if ((countitem(Counteragent) < 3) || (countitem(Mixture) < 3) || (countitem(Danggie) < 100) || (countitem(Short_Daenggie) < 100) || (countitem(Long_Hair) < 100) || (countitem(Golden_Hair) < 100) || (countitem(Glossy_Hair) < 100) || (Zeny < 99800)) {
- mes "[Prince Shammi]";
- mes "If you've already decided";
- mes "what hairstyle you'd like,";
- mes "please have my service charge";
- mes "ready, as well as the materials";
- mes "I will need in performing this";
- mes "service, okay? Please bring...";
- next;
- mes "[Prince Shammi]";
- mes "^3355FF3 Counteragent^000000,";
- mes "^3355FF3 Mixture^000000,";
- mes "^3355FF100 Daenggie^000000,";
- mes "^3355FF100 Short Daenggie^000000...";
- next;
- mes "[Prince Shammi]";
- mes "^3355FF100 Black Hair^000000,";
- mes "^3355FF100 Golden Hair^000000,";
- mes "^3355FF100 Glossy Hair^000000";
- mes "and ^3355FF99,800 zeny^000000.";
- mes "Once you do that, I'll make";
- mes "a miracle out of your hair!";
- close;
- }
- mes "[Prince Shammi]";
- mes "Alright, please choose";
- mes "which hairstyle you wish";
- mes "to have from numbers 20 to 25.";
- mes "Here's a list of the style names just in case you need them~";
- next;
- mes "[Prince Shammi]";
- if (Sex == SEX_MALE) {
- mes "No. 20: Petite Style";
- mes "No. 21: Executioner Style";
- mes "No. 22: Prince Style";
- mes "No. 23: Deviace Style";
- mes "No. 24: Emergency Heal Perm";
- mes "No. 25: Aura Blade Cut";
- mes "No. 26: Power Swing and";
- mes "No. 27: Renovatio Cut.";
- }
- else {
- mes "No. 20: Spring Rabbit Style";
- mes "No. 21: Harpy Style";
- mes "No. 22: Medusa Style";
- mes "No. 23: Isis Style";
- mes "No. 24: Assumptio Perm";
- mes "No. 25: Soul Changer Cut";
- mes "No. 26: X Tornado Cut and";
- mes "No. 27: Oratio Cut.";
- }
- next;
- input(.@input);
- if (.@input == 0) {
- mes "[Prince Shammi]";
- mes "Oh...?";
- mes "You decided to cancel?";
- mes "Well, you know what's";
- mes "best for you, I suppose.";
- mes "Still, I'm so disappointed~";
- close;
- }
- if (.@input < 20 || .@input > 27) {
- mes "[Prince Shammi]";
- mes "Dearie, please enter";
- mes "a number from ''20'' to";
- mes "''25,'' alright? Then I can";
- mes "get right to work at making";
- mes "you soooooooo beautiful!";
- close;
- }
- if (getlook(LOOK_HAIR) == .@input) {
- mes "[Prince Shammi]";
- mes "Oh dear me, you're not";
- mes "going to waste money for";
- mes "the same hairstyle that you";
- mes "have now, are you? You can";
- mes "have someone else change";
- mes "your hair color, you know.";
- close;
- }
- if (Sex == SEX_MALE)
- cutin "hair_m_"+.@input+".BMP",4;
- else
- cutin "hair_f_"+.@input+".BMP",4;
- mes "[Prince Shammi]";
- mes "Oooh! Now, is this the";
- mes "hairstyle that you wanted?";
- mes "This is No. "+.@input+", by the way.";
- next;
- switch(select("Yes.", "No.")) {
- case 1:
- if (getlook(LOOK_HAIR_COLOR) == 0) {
- mes "[Prince Shammi]";
- mes "Oh, Sweet Christmas,";
- mes "I almost forgot! Would";
- mes "you like me to dye your";
- mes "hair, free of charge? It's";
- mes "a part of my service, so";
- mes "please choose a color~";
- next;
- switch(select("Red", "Yellow", "Purple", "Orange", "Green", "Blue", "White", "Dark Brown")) {
- case 1:
- .@headpalette = 8;
- break;
- case 2:
- .@headpalette = 1;
- break;
- case 3:
- .@headpalette = 2;
- break;
- case 4:
- .@headpalette = 3;
- break;
- case 5:
- .@headpalette = 4;
- break;
- case 6:
- .@headpalette = 5;
- break;
- case 7:
- .@headpalette = 6;
- break;
- case 8:
- .@headpalette = 7;
- break;
- }
- }
- mes "[Prince Shammi]";
- mes "Okay, let's get";
- mes "started, shall we?";
- mes "Keep your head still,";
- mes "now. Yes, that's good...";
- next;
- mes "^3355FF*Snip snip*";
- mes "*Rustle rustle*";
- mes "*Clip clip clip clip*";
- mes "*Bzzzzzzzzzzzzzzzzzzzz*^000000";
- next;
- Zeny -= 99800;
- delitem Counteragent,3;
- delitem Mixture,3;
- delitem Danggie,100;
- delitem Short_Daenggie,100;
- delitem Long_Hair,100;
- delitem Golden_Hair,100;
- delitem Glossy_Hair,100;
- setlook LOOK_HAIR,.@input;
- setlook LOOK_HAIR_COLOR,.@headpalette;
- mes "[Prince Shammi]";
- mes "Well, we're all finished!";
- mes "And my, oh my, you look even";
- mes "more fabulous that I thought";
- mes "you would! Oh, I can't believe";
- if (Sex == SEX_MALE) {
- mes "how tough and elegant you are~";
- mes "So ruggedly manly and handsome!";
- } else {
- mes "how graceful and elegant you";
- mes "look! Absolutely gorgeous!";
- }
- emotion e_kis,"Hair Dresser#li";
- next;
- mes "[Prince Shammi]";
- mes "You love your new";
- mes "hair, don't you? Feel";
- mes "free to come back anytime.";
- mes "I'll make you the best looking";
- mes "person in the entire world!";
- emotion e_no1,"Hair Dresser#li";
- close;
- case 2:
- mes "[Prince Shammi]";
- mes "Oh, did you forget which";
- mes "hairstyle goes with which";
- mes "number? By all means, please";
- mes "check again! Find the one that";
- mes "is perfect just for you, okay?";
- close;
- }
- break;
- case 3:
- mes "[Prince Shammi]";
- mes "Humm ? ";
- mes "Maybe you don't understand";
- mes "my futuristic styles.";
- mes "Goodbye! ";
- close;
- }
-}
-
-lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
- mes "[Assistant Beautician]";
- mes "Wah?! Sweet Jiminy,";
- mes "you freaked me out!";
- mes "What are you doing?!";
- emotion e_omg,"Assistant Beautician#li";
- next;
- mes "[Assistant Beautician]";
- mes "Oh! Um, a customer!";
- mes "H-h-h-h-h-hello! Can";
- mes "I help you with anything?";
- next;
- switch(select("What do you do?", "Please change my hairstyle.", "Who is Prince Shammi?")) {
- case 1:
- mes "[Assistant Beautician]";
- mes "Oh! Me...? I'm";
- mes "just an assistant";
- mes "beautician, but I'm";
- mes "training hard everyday";
- mes "so that I can become";
- mes "a real professional!";
- next;
- mes "[Assistant Beautician]";
- mes "Yeah, I do all sorts of";
- mes "grunt work for the boss while";
- mes "I'm in training. Sometimes, he";
- mes "makes me work pretty hard.";
- mes "In fact, I better get back to work before he gets angry at me!";
- close;
- case 2:
- if (BaseLevel < 60) {
- mes "[Assistant Beautician]";
- mes "Me...? Oh no,";
- mes "no I can't! I mean,";
- mes "I'd love to but, I'm";
- mes "still in training and";
- mes "I can't take responsibility";
- mes "if I mess up on a little kid!";
- close;
- }
- else if ((Zeny < 250000)) {
- mes "[Assistant Beautician]";
- mes "Well... I'm just an";
- mes "assistant, but I have been";
- mes "studying hairstyling after";
- mes "work. If you want, just bring";
- mes "me 250,000 zeny and I'll try";
- mes "my best to change your hair~";
- next;
- mes "[Assistant Beautician]";
- mes "I'd appreciate it if you'd";
- mes "give me this chance! The";
- mes "boss doesn't think I'm ready";
- mes "for styling real people yet, so";
- mes "I haven't had much practice!";
- next;
- mes "[Assistant Beautician]";
- mes "I just know I could";
- mes "do a good job on your";
- mes "hair! Just... Just please";
- mes "understand if I mess up.";
- mes "It won't be too bad, I promise~";
- close;
- }
- else {
- mes "[Assistant Beautician]";
- mes "You're really going to";
- mes "give me a chance to practice?";
- mes "Oh, I love you so much! Okay,";
- mes "I'll need 250,000 zeny to make";
- mes "up for the material expenses.";
- mes "Is that okay with you?";
- next;
- switch(select("Of course~", "On second thought...")) {
- case 1:
- mes "[Assistant Beautician]";
- mes "Great! Now, please";
- mes "choose a hairstyle";
- mes "from ''1'' to ''23.''";
- mes "Um, if you need to";
- mes "cancel, just enter ''0.''";
- next;
- input(.@input);
- if (.@input == 0) {
- mes "[Assistant Beautician]";
- mes "Awwww...";
- mes "I guess you don't";
- mes "trust me after all...";
- close;
- }
- if (.@input < 1 || .@input > 23) {
- mes "[Assistant Beautician]";
- mes "Huh? I thought I asked";
- mes "you to enter a number from";
- mes "''1'' to ''23?'' What did I do";
- mes "wrong this time? Hmmm...";
- close;
- }
- mes "[Assistant Beautician]";
- mes "So this is the";
- mes "style you want me";
- mes "to try to do for you?";
- if (Sex == SEX_MALE) {
- if (.@input < 10)
- cutin "hair_m_0"+.@input+".BMP",4;
- else
- cutin "hair_m_"+.@input+".BMP",4;
- } else {
- if (.@input < 10)
- cutin "hair_f_0"+.@input+".BMP",4;
- else
- cutin "hair_f_"+.@input+".BMP",4;
- }
- next;
- switch(select("Yes, let's try it~", "Cancel.")) {
- case 1:
- break;
- case 2:
- mes "[Assistant Beautician]";
- mes "Oooh, there must";
- mes "be some style that";
- mes "you like, right? Hmmm...";
- close;
- }
- mes "[Assistant Beautician]";
- mes "Great, you finally";
- mes "picked one! What, which";
- mes "one did you pick again?";
- mes "Ah, I found it, I found it!";
- mes "Haha! No problem here!";
- mes "Now it's time to style!";
- next;
- nude;
- mes "[Assistant Beautician]";
- mes "Bwwwwaaaahhhh!";
- next;
- mes "[Assistant Beautician]";
- mes "Yap! Pwwwaaattt!";
- next;
- mes "[Assistant Beautician]";
- mes "Waaaah!";
- mes "Oh crap!";
- mes "Wait, I can...";
- mes "I can fix this!";
- next;
- .@style_r = rand(1,23);
- .@color_r = rand(1,8);
- mes "[Assistant Beautician]";
- mes "^333333*Pant Pant Pant*^000000";
- next;
- Zeny -= 250000;
- setlook LOOK_HAIR,.@style_r;
- setlook LOOK_HAIR_COLOR,.@color_r;
- mes "[Assistant Beautician]";
- mes "Bwahahaha! Success!";
- if (.@input == .@style_r) {
- mes "So... How do you like";
- mes "your new style? I love it!";
- } else {
- mes "Wha...? This isn't what";
- mes "you wanted? Uh oh... Um...";
- mes "Well, next time I know I can";
- mes "do a much better job! Right!";
- }
- next;
- mes "[Assistant Beautician]";
- mes "Oh, you're such a";
- mes "sweetheart for helping";
- mes "me! Thank you for using";
- mes "my service and come again~";
- emotion e_kis,"Assistant Beautician#li";
- close;
- case 2:
- mes "[Assistant Beautician]";
- mes "Huh? Oh no, you're";
- mes "quitting? Well, I guess";
- mes "I couldn't trust me to";
- mes "style my hair either...";
- mes "You're... You're right.";
- close;
- }
- }
- case 3:
- mes "[Assistant Beautician]";
- mes "Prince Shammi?";
- mes "He's only a genius when";
- mes "it comes to hairstyling!";
- mes "I'm just his apprentice, but";
- mes "maybe someday, I can be a";
- mes "force in the fashion world too!";
- close;
- }
-}
diff --git a/npc/merchants/hd_refine.txt b/npc/merchants/hd_refine.txt
deleted file mode 100644
index fe6b60d7b..000000000
--- a/npc/merchants/hd_refine.txt
+++ /dev/null
@@ -1,350 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= HD Refiners
-//================= Description ===========================================
-//= Refiners that use HD ores to refine equipment.
-//================= Additional Comments ===================================
-//= Upon failure, the equipment is not destroyed; rather, its refine level
-//= decreases by 1. The success rate is identical to that for Enriched ores.
-//= - "Blacksmith Mighty Hammer" only refines from +7~9.
-//= - "Basta" only refines from +10 and up.
-//================= Current Version =======================================
-//= 1.0
-//=========================================================================
-
-//== Blacksmith Mighty Hammer (+7~9) =======================
-- script ::MightyHammer FAKE_NPC,{
- mes("[Blacksmith Mighty Hammer]");
- mes("I'm a blacksmith skilled in refining weapons and armors.");
- mes("I can refine an item of your choice among the items you are equipped with.");
- mes("Which item do you want to refine?");
-
- if (getbattleflag("features/replace_refine_npcs") == 1) {
- if (openrefineryui())
- close();
- }
- next();
-
- disable_items;
- mes "[Blacksmith Mighty Hammer]";
- mes "Unlike others, I am a blacksmith who refines a very limited number of items.";
- mes "I refine only items that are ^CC0000+7 to +9^000000.";
- next;
- mes "[Blacksmith Mighty Hammer]";
- mes "My specialty is that even if my refining fails, the refine level decreases by 1 without losing the gear. Isn't it great?";
- next;
- mes "[Blacksmith Mighty Hammer]";
- mes "So lets kick this into overdrive, what d' ya say? What item do you want to refine?";
- next;
- setarray .@position$[1],"Head","Body","Left Hand","Right Hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
- .@menu$ = "";
- for(.@i = 1; .@i<=10; ++.@i)
- .@menu$ += ((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[Not equipped]")+":";
- .@part = select(.@menu$);
- if (!getequipisequiped(.@part)) {
- mes "[Blacksmith Mighty Hammer]";
- switch(.@part) {
- case 1:
- mes "I'm a blacksmith, not a hairstylist.";
- break;
- case 2:
- mes "With my hammer, I will make you a star of the sky.";
- break;
- case 3:
- case 4:
- mes "Making artificial hands is not my specialty.";
- break;
- case 5:
- mes "Bring out the item so I can refine it!";
- break;
- case 6:
- mes "Where is this foot order coming from?";
- break;
- case 7:
- case 8:
- mes "Where is the accessory?";
- break;
- case 9:
- mes "What do you want me to refine?";
- break;
- case 10:
- mes "Huh? What do you want me to do?";
- break;
- }
- close;
- }
- if (!getequipisenableref(.@part)) {
- mes "[Blacksmith Mighty Hammer]";
- mes "This item can't be refined.";
- close;
- }
- if (!getequipisidentify(.@part)) {
- mes "[Blacksmith Mighty Hammer]";
- mes "This item can't be refined because it has not been identified.";
- close;
- }
- if (getequiprefinerycnt(.@part) < 7 || getequiprefinerycnt(.@part) > 9) {
- mes "[Blacksmith Mighty Hammer]";
- mes "I only handle items with refine levels from +7 to +9.";
- close;
- }
- switch(getequipweaponlv(.@part)) {
- default:
- case 0:
- .@price = 20000;
- .@material = 6241; //HD_Elunium
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- .@price = 20000;
- .@material = 6240; //HD_Oridecon
- break;
- }
- mes "[Blacksmith Mighty Hammer]";
- mes "In order to refine the gear you selected you need ^ff9999"+getitemname(.@material)+"^000000 and 20,000 zeny as a fee.";
- mes "Do you have them ready?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Blacksmith Mighty Hammer]";
- mes "I will wait until you are ready.";
- close;
- }
- if (getequiprefinerycnt(.@part) < 100) {
- mes "[Blacksmith Mighty Hammer]";
- mes "It looks like this item will likely fail to be refined.";
- mes "Well, even if it fails, it only decreases by 1 refine level.";
- mes "Would you like to continue refining?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Blacksmith Mighty Hammer]";
- mes "Only those who overcome fear of failure will obtain a masterpiece.";
- close;
- }
- }
- if (countitem(.@material) == 0 || Zeny < .@price) {
- mes "[Blacksmith Mighty Hammer]";
- mes "Didn't you just say you had everything ready?";
- close;
- }
- delitem .@material,1;
- Zeny -= .@price;
- mes "[Blacksmith Mighty Hammer]";
- mes "Tac! Tac! Tac!";
- if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
- successrefitem .@part;
- next;
- emotion e_no1;
- mes "[Blacksmith Mighty Hammer]";
- mes "The sound refreshes my mind everytime I hear it.";
- mes "Here, have it. Refine succeeded flawlessly!";
- close;
- }
- downrefitem .@part;
- next;
- emotion e_omg;
- mes "[Blacksmith Mighty Hammer]";
- mes "Oops!!";
- next;
- mes "[Blacksmith Mighty Hammer]";
- mes "I am sure a person like you would never blame me for a decrease in refine level by 1. Hmm.";
- close;
-}
-prt_in,59,54,3 duplicate(MightyHammer) Mighty Hammer#prt 4_M_DWARF
-morocc_in,65,30,3 duplicate(MightyHammer) Mighty Hammer#morocc 4_M_DWARF
-payon,148,176,3 duplicate(MightyHammer) Mighty Hammer#pay 4_M_DWARF
-alberta_in,16,56,3 duplicate(MightyHammer) Mighty Hammer#alb 4_M_DWARF
-yuno_in01,171,18,3 duplicate(MightyHammer) Mighty Hammer#yuno 4_M_DWARF
-ein_in01,22,82,3 duplicate(MightyHammer) Mighty Hammer#ein 4_M_DWARF
-lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 4_M_DWARF
-
-//== iRO NPC locations =====================================
-//moc_para01,38,185,4 duplicate(MightyHammer) Mighty Hammer#ed 4_M_DWARF
-//payon,174,133,4 duplicate(MightyHammer) Mighty Hammer#im 4_M_DWARF
-
-//== Basta (+10 and up) ====================================
-- script ::Basta FAKE_NPC,{
- if (getbattleflag("features/replace_refine_npcs") == 1) {
- if (openrefineryui())
- end();
- }
- disable_items;
- mes "[Basta]";
- mes "I'm the best Blacksmith in the whole world, Basta.";
- mes "But I don't provide a normal refine service.";
- mes "I only refine equipment ^CC0000over +10^000000.";
- next;
- mes "[Basta]";
- mes "Which equipment do you want to refine?";
- next;
- setarray .@position$[1],"Head","Body","Left Hand","Right Hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
- .@menu$ = "";
- for(.@i = 1; .@i<=10; ++.@i)
- .@menu$ += ((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[Unequipped]")+":";
- .@part = select(.@menu$);
- if (!getequipisequiped(.@part)) {
- mes "[Basta]";
- switch(.@part) {
- case 1:
- mes "Is your head an equipment?";
- break;
- case 2:
- mes "What do you want me to do?";
- break;
- case 3:
- case 4:
- mes "Making artificial hands is not my specialty.";
- break;
- case 5:
- mes "Do you even know what a robe is?";
- break;
- case 6:
- mes "If you want to refine your feet, don't come to me, try running a marathon.";
- break;
- case 7:
- case 8:
- mes "Where is the accessory?";
- break;
- case 9:
- mes "Well... I don't see any equipment worth refining.";
- break;
- case 10:
- mes "I can't make you smart. Go see a school teacher for that.";
- break;
- }
- close;
- }
- if (!getequipisenableref(.@part)) {
- mes "[Basta]";
- mes "Even I cannot refine this item. There's no way.";
- close;
- }
- if (!getequipisidentify(.@part)) {
- mes "[Basta]";
- mes "I can't do anything about unidentified items.";
- close;
- }
- if (getequiprefinerycnt(.@part) < 10) {
- mes "[Basta]";
- mes "Haven't I told you? I only refine equipments that are +10 and above.";
- close;
- }
- if (getequiprefinerycnt(.@part) == 20) {
- mes "[Basta]";
- mes "This weapon is perfect, no need to refine it anymore~";
- close;
- }
- switch(getequipweaponlv(.@part)) {
- default:
- case 0:
- .@price = 100000;
- .@material = 6225; //HD_Carnium
- .@type$ = "armor";
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- .@price = 100000;
- .@material = 6226; //HD_Bradium
- .@type$ = "weapon";
- break;
- }
- mes "[Basta]";
- mes "Hmm... is this the one you want to refine?";
- mes "To refine this equipment, I need 1 ^ff9999"+getitemname(.@material)+"^000000 and 100,000 zeny as a fee.";
- mes "Do you really want to refine this?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Basta]";
- mes "Okay. If that's what you want...";
- close;
- }
- if (getequiprefinerycnt(.@part) < 100) {
- mes "[Basta]";
- mes "This "+.@type$+" has already been refined pretty high.";
- mes "If you try to refine it more, the refine level could decrease.";
- next;
- mes "[Basta]";
- mes "I am different from the blacksmiths in others places.";
- mes "It is impossible that the refine level will drop by, say, 3 or 4... that sounds scary.";
- mes "Here it can only decrease by 1 level.";
- next;
- mes "[Basta]";
- mes "Compared to other blacksmiths, the risk is smaller.";
- mes "I've given all precautions. Do you want to try it?";
- next;
- if(select("Yes", "No") == 2) {
- mes "[Basta]";
- mes "Well~";
- mes "Not challenging at all could also be a kind of wisdom in life.";
- close;
- }
- }
- if (countitem(.@material) == 0 || Zeny < .@price) {
- mes "[Basta]";
- mes "Hmm... You didn't bring all the materials needed.";
- mes "Come back when you have them all.";
- close;
- }
- delitem .@material,1;
- Zeny -= .@price;
- mes "Pow! Pow! Pow! Pow!";
- if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
- successrefitem .@part;
- next;
- emotion e_no1;
- mes "[Basta]";
- mes "Great! Nicely done!!";
- mes "I really am the best blacksmith in the whole wide world!";
- close;
- }
- downrefitem .@part;
- next;
- emotion (!rand(5))?e_cash:e_omg;
- mes "[Basta]";
- mes "Aaaaaaaaaaak!!!";
- next;
- mes "[Basta]";
- mes "Damn it!";
- mes "Refining failed and refine level has decreased!";
- mes "Even the best blacksmith in the world doesn't guarantee 100% success!";
- mes "Too bad.";
- next;
- mes "[Basta]";
- mes "I'll do better next time! Don't worry!";
- close;
-}
-prt_in,57,54,3 duplicate(Basta) Basta#prt 4_M_DWARF
-morocc_in,68,30,3 duplicate(Basta) Basta#morocc 4_M_DWARF
-payon,148,174,3 duplicate(Basta) Basta#payon 4_M_DWARF
-alberta_in,18,56,3 duplicate(Basta) Basta#alberta 4_M_DWARF
-yuno_in01,173,18,3 duplicate(Basta) Basta#yuno 4_M_DWARF
-ein_in01,24,82,3 duplicate(Basta) Basta#einbroch 4_M_DWARF
-lhz_in02,280,17,3 duplicate(Basta) Basta#lighthalzen 4_M_DWARF
diff --git a/npc/merchants/icecream.txt b/npc/merchants/icecream.txt
deleted file mode 100644
index c12cb7ecd..000000000
--- a/npc/merchants/icecream.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Kisuka
-//= Copyright (C) KOOK SWU
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Ice Cream Maker
-//================= Description ===========================================
-//= A man makes you ice-cream
-//================= Current Version =======================================
-//= 1.5
-//=========================================================================
-
-- script Ice Cream Maker::IceCreamer FAKE_NPC,{
- mes "[Ice Cream Maker]";
- mes "Fresh Ice Cream made with snow from Lutie!";
- mes "Enjoy it now, it won't be on sale for long!";
- mes "^3355FF100 Zeny^000000 Ice Cream,";
- mes "Ice Cream!";
- next;
- if(select("Gimme Ice Cream!", "Cancel Trade") == 2) {
- mes "Are you sure you don't want any?";
- mes "I won't be selling it for long,";
- mes "and once I run out,";
- mes "there won't be any more!!!";
- close;
- }
- mes "[Ice Cream Maker]";
- mes "Fresh Ice Cream made with snow from Lutie!";
- mes "Everyone wants our delicious ice cream, ";
- mes "but we have a limited amount,";
- mes "so you can only purchase 5 at a time!!";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Ice Cream Maker]";
- mes "If you don't want to buy any,";
- mes "could you please let the next customer";
- mes "make a purchase?";
- mes "Thank you.";
- close;
- }
- if (.@input > 5) {
- mes "[Ice Cream Maker]";
- mes "Ouch";
- mes "You expect too much.";
- mes "Dear customer,";
- mes "If you eat more than 5 Ice creams,";
- mes "If you might haveto make a lot of trips";
- mes "to the bathroom tonight.";
- next;
- continue;
- }
- break;
- }
- if(Zeny<.@input*100) {
- mes "[Ice Cream Maker]";
- mes "Dear customer, your wallet seems to be light.";
- mes "Price is ^3355FF100 Zeny^000000 per ice cream.";
- close;
- }
- if(checkweight(Ice_Cream,.@input) == 0) {
- mes "[Ice Cream Maker]";
- mes "Dear customer,you look like you're carrying a lot.";
- mes "Ice Cream is fine,";
- mes "but you must consider your weight";
- mes "before making a purchase.";
- close;
- }
- Zeny -= 100*.@input;
- getitem Ice_Cream,.@input; // Ice_Cream
- close;
-}
-
-//== Alberta ===============================================
-alberta,120,45,2 duplicate(IceCreamer) Ice Cream Maker#1 4_M_03
-
-//== Morroc Field ==========================================
-moc_fild16,88,304,4 duplicate(IceCreamer) Ice Cream Maker#2 4_M_03
-
-//== Morroc ================================================
-//morocc,160,144,4 duplicate(IceCreamer) Ice Cream Maker#3 4_M_03
diff --git a/npc/merchants/inn.txt b/npc/merchants/inn.txt
deleted file mode 100644
index b89f95491..000000000
--- a/npc/merchants/inn.txt
+++ /dev/null
@@ -1,237 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) erKURITA
-//= Copyright (C) kobra_k88
-//= Copyright (C) Playtester
-//= Copyright (C) Darkchild
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Inn Npcs
-//================= Description ===========================================
-//= Inn Npcs, Save and Heal
-//================= Current Version =======================================
-//= 2.9a
-//=========================================================================
-
-//== Prontera ==============================================
-//- West Side Inn -
-prt_in,244,135,2 script Inn Employee#Sammy 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Employee Sammy]","Nenkaras","prt_in",238,130;
- warp "prt_in",247,104; end;
-}
-
-//- East Side Inn -
-prt_in,61,141,2 script Inn Employee#Ahlma 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Employee Ahlma]","Nenkaras","prt_in",64,136;
- warp "prt_in",60,166; end;
-}
-
-//== Alberta ===============================================
-alberta_in,32,142,3 script Inn Employee#Jennie 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Employee Jennie]","'Fisherman Inn'!","alberta_in",26,142;
- warp "alberta_in",18,188; end;
-}
-
-//== Geffen ================================================
-geffen_in,70,64,5 script Inn Employee#Cena 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Employee Cena]","'Ifrit,' the only Inn in the city of Geffen.","geffen_in",70,59;
- warp "geffen_in",31,31; end;
-}
-
-//== Payon =================================================
-payon_in01,132,62,5 script Inn Employee#Ahee 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Employee Ahee]","Payon Inn","payon_in01",136,61;
- warp "payon_in01",132,11; end;
-}
-
-//== Morroc ================================================
-//- North East -
-/*
-morocc_in,147,141,3 script Inn Employee#Hasna 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Employee Hasna]","Morroc Inn","morocc_in",142,140;
- warp "morocc_in",173,135; end;
-}
-
-//- South -
-morocc_in,80,100,5 script Inn Employee#Manar 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Employee Manar]","Morroc Inn","morocc_in",78,95;
- warp "morocc_in",79,123; end;
-}
-*/
-
-//== Aldebaran =============================================
-aldeba_in,92,58,5 script Inn Maid#Rilim 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Rilim]","Al De Baran Inn","aldeba_in",92,50;
- warp "aldeba_in",92,112; end;
-}
-
-//== Rachel ================================================
-ra_in01,376,69,4 script Inn Keeper#Annie 4_M_RACHMAN1,{
-
- callfunc "F_InnMaid","[Annie]","Rachel Inn","ra_in01",375,58;
- warp "ra_in01",384,128; end;
-}
-
-//== Lighthalzen ===========================================
-lhz_in02,230,284,4 script Hotel Employee#01 4_M_04,{
- mes "[Hotel Employee]";
- mes "Welcome to";
- mes "the Royal Dragon,";
- mes "where you can find the";
- mes "finest accommodations";
- mes "and the best service.";
- next;
- switch(select("Save Point", "Rest - 5,000 zeny", "Cancel")) {
- case 1:
- savepoint "lhz_in02",209,275;
- mes "[Hotel Employee]";
- mes "Thank you, your";
- mes "Respawn Point has";
- mes "been saved here in";
- mes "the Royal Dragon.";
- close;
- case 2:
- if(Zeny < 5000) {
- mes "[Hotel Employee]";
- mes "I'm sorry, but";
- mes "you need 5,000 zeny";
- mes "in order to check in.";
- close;
- }
- Zeny -= 5000;
- mes "[Hotel Employee]";
- mes "Thank you~";
- mes "I hope you enjoy";
- mes "your stay in the";
- mes "Royal Dragon.";
- close2;
- warp "lhz_in02",219,150;
- percentheal 100,100;
- npcskill "AL_BLESSING",10,99,99;
- end;
- case 3:
- mes "[Hotel Employee]";
- mes "Thank you and";
- mes "have a nice day.";
- close;
- }
-}
-
-//== Hugel =================================================
-hu_in01,246,107,3 script Inn Maid#Receptionist 1_M_INNKEEPER,{
-
- callfunc "F_InnMaid","[Receptionist]","Hugel Inn","hu_in01",263,95;
- warp "hu_in01",267,5; end;
-}
-
-//== Veins =================================================
-ve_in,157,219,5 script Inn Master#Receptionist 4_M_SEAMAN,{
- mes "[Inn Master]";
- mes "Good day~";
- mes "Welcome to the";
- mes "most comfortable";
- mes "inn here in Veins~";
- next;
- switch(select("Save", "Take a Rest -> 5000 zeny", "Quit")) {
- case 1:
- mes "[Inn Master]";
- mes "Your Respawn Point";
- mes "has been saved in Veins.";
- mes "Enjoy your stay in town~";
- savepoint "ve_in",157,209;
- close;
- case 2:
- mes "[Inn Master]";
- if(Zeny < 5000){
- mes "I'm sorry, but I don't";
- mes "think you have enough";
- mes "money to check in. The";
- mes "service charge is 5,000 zeny.";
- close;
- }
- mes "Enjoy your stay~";
- close2;
- Zeny -= 5000;
- percentheal 100,100;
- warp "ve_in",184,228;
- end;
- case 3:
- mes "[Inn Master]";
- mes "Please come again.";
- close;
- }
-}
-
-//== Inn Function ==========================================
-// Arguments:
-// 0 - name of npc
-// 1 - name of the inn
-// 2 - map to save at
-// 3 - x coordinate to save at
-// 4 - y coordinate to save at
-function script F_InnMaid {
- mes getarg(0);
- mes "Welcome to";
- mes getarg(1) + ".";
- mes "How may I help you?";
- next;
- switch(select("Save", "Take a Rest -> 5000 zeny", "Cancel")) {
- case 1:
- mes getarg(0);
- mes "Your respawn point";
- mes "has been saved.";
- mes "Thank you,";
- mes "please come again.";
- savepoint getarg(2),getarg(3),getarg(4);
- close;
- case 2:
- mes getarg(0);
- if(Zeny < 5000){
- mes "I'm sorry, but the service charge is 5,000 zeny. Please make sure that you have enough money to check in next time, okay?";
- close;
- }
- mes "Thank you.";
- mes "I hope you";
- mes "enjoy your rest~";
- close2;
- Zeny -= 5000;
- percentheal 100,100;
- return;
- case 3:
- close;
- }
-}
diff --git a/npc/merchants/kunai_maker.txt b/npc/merchants/kunai_maker.txt
deleted file mode 100644
index 7c9e3700c..000000000
--- a/npc/merchants/kunai_maker.txt
+++ /dev/null
@@ -1,124 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) ultramage
-//= Copyright (C) Playtester
-//= Copyright (C) erKURITA
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Kunai Merchant Kashin
-//================= Description ===========================================
-//= Trades a few shurikens + ninja stones for elemental kunai.
-//================= Current Version =======================================
-//= 1.3a
-//=========================================================================
-
-que_ng,72,29,3 script Kunai Merchant Kashin 4_M_01,{
- if(BaseClass == Job_Ninja) {
- mes "[Kashin]";
- mes "I am Kashin, distributor";
- mes "of Kunai for Ninjas. Take";
- mes "a look around and let me";
- mes "know if you're interested";
- mes "in any of my wares.";
- next;
- switch(select("10 Fell Poison Kunai", "10 Icicle Kunai", "10 High Wind Kunai", "10 Black Earth Kunai", "10 Heat Wave Kunai", "Cancel")) {
- case 1: callfunc "Kunai_Trade",13250,20,7524,1,13259; break;
- case 2: callfunc "Kunai_Trade",13251,8,7522,2,13255; break;
- case 3: callfunc "Kunai_Trade",13252,4,7523,2,13257; break;
- case 4: callfunc "Kunai_Trade",13253,2,7524,1,13256; break;
- case 5: callfunc "Kunai_Trade",13254,1,7521,2,13258; break;
- case 6:
- mes "[Kashin]";
- mes "Well then, thank you";
- mes "for visiting my shop.";
- mes "Please come to me when";
- mes "you need to buy some";
- mes "Kunais. Goodbye for now~";
- close;
- }
- }
- mes "[Kashin]";
- mes "I am Kashin, distributor";
- mes "of Kunai for Ninjas. If you";
- mes "have any friends that are";
- mes "Ninjas, then you might";
- mes "want to tell them about me.";
- close;
-}
-
-function script Kunai_Trade {
- mes "[Kashin]";
- mes "You can exchange";
- mes ""+getarg(1)+" "+getitemname(getarg(0))+" and";
- mes ""+getarg(3)+" "+getitemname(getarg(2))+" for every";
- mes "set of 10 "+getitemname(getarg(4))+".";
- next;
- mes "[Kashin]";
- mes "I can only give you a maximum of 500 sets of Kunais at a time.";
- mes "If you want to cancel the trade, then please enter ''0.'' How many";
- mes "Kunai sets would you like?";
- next;
- input(.@amount);
- if(.@amount < 1 || .@amount > 500) {
- mes "[Kashin]";
- mes "Eh? I'm sorry, but";
- mes "I can't give you that";
- mes "many Kunai sets. Please";
- mes "enter a value less than 500.";
- close;
- }
- if(countitem(getarg(0)) < .@amount*getarg(1) || countitem(getarg(2)) < .@amount*getarg(3)) {
- mes "[Kashin]";
- mes "Hmm, you don't have";
- mes "enough items for this";
- mes "Kunai exchange. Please";
- mes "check your items again.";
- close;
- }
- if(checkweight(getarg(4), .@amount*10) == 0) {
- mes "[Kashin]";
- mes "Hmm, it seems like your";
- mes "Inventory doesn't have";
- mes "enough space to store";
- mes "more items. You better";
- mes "free up some space first.";
- close;
- }
- mes "[Kashin]";
- mes "Great, everything is in";
- mes "order, so let's go ahead";
- mes "and complete this trade.";
- mes "I'm sure that you'll be";
- mes "quite satisfied with";
- mes "these Kunais.";
- delitem getarg(0),getarg(1)*.@amount;
- delitem getarg(2),getarg(3)*.@amount;
- getitem getarg(4),10*.@amount;
- close;
-}
diff --git a/npc/merchants/milk_trader.txt b/npc/merchants/milk_trader.txt
deleted file mode 100644
index 00f0a4abe..000000000
--- a/npc/merchants/milk_trader.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Milk Trader
-//================= Description ===========================================
-//= Trades bottles for milk
-//================= Current Version =======================================
-//= 1.5
-//=========================================================================
-
-prontera,73,140,0 script Milk Vendor 4_M_04,{
- if (checkweight(Knife,1) == 0) {
- mes "^3355FFJust a minute!";
- mes "I can't offer any of my";
- mes "services to you because";
- mes "you're carrying too much";
- mes "stuff. Put your extra items in";
- mes "Kafra Storage and come again~";
- close;
- }
- mes "[Milk Vendor]";
- mes "Hey, hey...";
- mes "If you bring me";
- mes "1 Empty Bottle and";
- mes "15 Zeny, I'll exchange";
- mes "them for 1 Milk. How";
- mes "does that sound?";
- next;
- if (select("Exchange all empty bottles.", "Cancel") == 1) {
- if (countitem(Empty_Bottle) <= 0) {
- mes "[Milk Vendor]";
- mes "Hey...";
- mes "You don't have";
- mes "any Empty Bottles.";
- mes "I can't really give you";
- mes "this milk any other";
- mes "way, you know...";
- close;
- }
- .@bottles = countitem(Empty_Bottle);
- .@total_weight = .@bottles * 50;
- .@total_cost = .@bottles * 15;
- if (Zeny < .@total_cost) {
- mes "[Milk Vendor]";
- mes "Oh, whoa~!";
- mes "You don't have enough";
- mes "zeny to exchange all";
- mes "these Empty Bottles for";
- mes "Milk. You need to have";
- mes "at least " + .@total_cost + " zeny.";
- close;
- }
- if (MaxWeight - Weight < .@total_weight) {
- mes "[Milk Vendor]";
- mes "Hmm...";
- mes "Would you make";
- mes "a little more room";
- mes "in your inventory";
- mes "before I give you";
- mes "all of this milk?";
- close;
- }
- Zeny -= .@total_cost;
- delitem Empty_Bottle,.@bottles; //Empty Bottles
- getitem Milk,.@bottles;
- close;
- }
- close;
-}
diff --git a/npc/merchants/novice_exchange.txt b/npc/merchants/novice_exchange.txt
deleted file mode 100644
index da3b008ee..000000000
--- a/npc/merchants/novice_exchange.txt
+++ /dev/null
@@ -1,400 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Team
-//= Copyright (C) eAthena Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) KarLaeda
-//= Copyright (C) Lupus
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Novice Goods Exchanger
-//================= Description ===========================================
-//= Exchanges your Basic Monster drops for Red Potions.
-//================= Current Version =======================================
-//= 1.4
-//=========================================================================
-
-prontera,123,102,5 script Merchant#pron 4_M_03,{
- if (MaxWeight - Weight < 6301 || checkweight(Knife,1) == 0) {
- mes "[Merchant]";
- mes "Haha!";
- mes "What are you, superhuman?";
- mes "You're carrying so much stuff!";
- mes "You better put some of that";
- mes "into Kafra Storage~";
- close;
- }
- mes "[Merchant]";
- mes "Good day!";
- mes "Have you collected any";
- mes "items like Shells or Fluff?";
- mes "What about Jellopies? Oh yeah,";
- mes "I need those for something.";
- next;
- mes "[Merchant]";
- mes "Of course, I won't ask you";
- mes "to give me that stuff for free. What about if I trade a Red Potion for 5 Shells, 10 Fluff,";
- mes "or 10 Jellopies?";
- next;
- switch(select("Sure!", "I think it's a rip-off!", "No, thanks.")) {
- case 1:
- mes "[Merchant]";
- mes "So which item do";
- mes "you want to bring me?";
- mes "Shells, Fluffs, or Jellopies?";
- next;
- switch(select("Shells", "Jellopies", "Fluff", "Cancel")) {
- case 1: callfunc "F_PotExchange",935,5;
- case 2: callfunc "F_PotExchange",909,10;
- case 3: callfunc "F_PotExchange",914,10;
- case 4:
- mes "[Merchant]";
- mes "Sure~";
- mes "No problem.";
- close;
- }
- case 2:
- mes "[Merchant]";
- mes "A rip-off...?";
- mes "If you check the market value";
- mes "of the items being traded, I'm actually the one getting";
- mes "ripped off here.";
- close;
- case 3:
- mes "[Merchant]";
- mes "Alright,";
- mes "no problem.";
- mes "But come back to me";
- mes "if you change your mind.";
- close;
- }
-}
-
-morocc,180,259,3 script Merchant#morroc 4_M_03,{
- if (MaxWeight - Weight < 6301 || checkweight(Knife,1) == 0) {
- mes "[Merchant]";
- mes "Haha!";
- mes "What are you, superhuman?";
- mes "You're carrying so much stuff!";
- mes "You better put some of that";
- mes "into Kafra Storage~";
- close;
- }
- mes "[Merchant]";
- mes "Good day!";
- mes "Have you collected any";
- mes "Shells or Feathers of Bird?";
- mes "What about Jellopies? Oh yeah,";
- mes "I need those for something.";
- next;
- mes "[Merchant]";
- mes "Of course, I won't ask you";
- mes "to give me that stuff for free. What about if I trade a Red Potion for 5 Shells, 7 Feathers of Bird";
- mes "or 10 Jellopies?";
- next;
- switch(select("Sure!", "I think it's a rip-off!", "No, thanks.")) {
- case 1:
- mes "[Merchant]";
- mes "So which item do";
- mes "you want to bring me?";
- mes "Shells, Feathers of Birds,";
- mes "or Jellopies?";
- next;
- switch(select("Shells", "Feathers of Birds", "Jellopies", "Cancel")) {
- case 1: callfunc "F_PotExchange",935,5;
- case 2: callfunc "F_PotExchange",916,7;
- case 3: callfunc "F_PotExchange",909,10;
- case 4:
- mes "[Merchant]";
- mes "Sure~";
- mes "No problem.";
- close;
- }
- case 2:
- mes "[Merchant]";
- mes "A rip-off...?";
- mes "If you check the market value";
- mes "of the items being traded, I'm actually the one getting";
- mes "ripped off here.";
- close;
- case 3:
- mes "[Merchant]";
- mes "Alright,";
- mes "no problem.";
- mes "But come back to me";
- mes "if you change your mind.";
- close;
- }
-}
-
-payon,200,134,5 script Merchant#pay 4_M_03,{
- if (MaxWeight - Weight < 6301 || checkweight(Knife,1) == 0) {
- mes "[Merchant]";
- mes "Haha!";
- mes "What are you, superhuman?";
- mes "You're carrying so much stuff!";
- mes "You better put some of that";
- mes "into Kafra Storage~";
- close;
- }
- mes "[Merchant]";
- mes "Good day!";
- mes "Have you collected";
- mes "items like Tree Roots?";
- mes "What about Jellopies? Oh yeah,";
- mes "I need those for something.";
- next;
- mes "[Merchant]";
- mes "Of course, I won't ask you";
- mes "to give me that stuff for free. What about if I trade a Red Potion for 6 Tree Roots or 10 Jellopies?";
- next;
- switch(select("Sure!", "I think it's a rip-off!", "No, thanks.")) {
- case 1:
- mes "[Merchant]";
- mes "So which item do";
- mes "you want to bring me?";
- mes "Tree Roots, or Jellopies?";
- next;
- switch(select("Tree Roots", "Jellopies", "Cancel")) {
- case 1: callfunc "F_PotExchange",902,6;
- case 2: callfunc "F_PotExchange",909,10;
- case 3:
- mes "[Merchant]";
- mes "Sure~";
- mes "No problem.";
- close;
- }
- case 2:
- mes "[Merchant]";
- mes "A rip-off...?";
- mes "If you check the market value";
- mes "of the items being traded, I'm actually the one getting";
- mes "ripped off here.";
- close;
- case 3:
- mes "[Merchant]";
- mes "Alright,";
- mes "no problem.";
- mes "But come back to me";
- mes "if you change your mind.";
- close;
- }
-}
-
-aldebaran,152,63,5 script Merchant#alde 4_M_03,{
- if (MaxWeight - Weight < 6301 || checkweight(Knife,1) == 0) {
- mes "[Merchant]";
- mes "Haha!";
- mes "What are you, superhuman?";
- mes "You're carrying so much stuff!";
- mes "You better put some of that";
- mes "into Kafra Storage~";
- close;
- }
- mes "[Merchant]";
- mes "Good day!";
- mes "Have you collected any";
- mes "Worm Peelings or Feather of Birds?";
- mes "How about Jellopies? Oh yeah,";
- mes "I need those for something.";
- next;
- mes "[Merchant]";
- mes "Of course, I won't ask you";
- mes "to give me that stuff for free. What about if I trade a Red Potion for 1 Worm Peeling, 7 Feather of Birds, or 10 Jellopies?";
- next;
- switch(select("Sure!", "I think it's a rip-off!", "No, thanks.")) {
- case 1:
- mes "[Merchant]";
- mes "So which item do";
- mes "you want to bring me?";
- mes "Feathers of Birds?";
- mes "Worm Peelings?";
- mes "Or Jellopies?";
- next;
- switch(select("Worm Peelings", "Feathers of Birds", "Jellopies", "Cancel")) {
- case 1: callfunc "F_PotExchange",955,1;
- case 2: callfunc "F_PotExchange",916,7;
- case 3: callfunc "F_PotExchange",909,10;
- case 4:
- mes "[Merchant]";
- mes "Sure~";
- mes "No problem.";
- close;
- }
- case 2:
- mes "[Merchant]";
- mes "A rip-off...?";
- mes "If you check the market value";
- mes "of the items being traded, I'm actually the one getting";
- mes "ripped off here.";
- close;
- case 3:
- mes "[Merchant]";
- mes "Alright,";
- mes "no problem.";
- mes "But come back to me";
- mes "if you change your mind.";
- close;
- }
-}
-
-geffen,173,88,5 script Merchant#geff 4_M_03,{
- if (MaxWeight - Weight < 6301 || checkweight(Knife,1) == 0) {
- mes "[Merchant]";
- mes "Haha!";
- mes "What are you, superhuman?";
- mes "You're carrying so much stuff!";
- mes "You better put some of that";
- mes "into Kafra Storage~";
- close;
- }
- mes "[Merchant]";
- mes "Good day!";
- mes "Have you collected any";
- mes "items like Shells or Chrysalises?";
- mes "What about Jellopies? Oh yeah,";
- mes "I need those for something.";
- next;
- mes "[Merchant]";
- mes "Of course, I won't ask you";
- mes "to give me that stuff for free. What about if I trade a Red Potion for 5 Shells or 6 Chrysalises, or 10 Jellopies?";
- next;
- switch(select("Sure!", "I think it's a rip-off!", "No, thanks.")) {
- case 1:
- mes "[Merchant]";
- mes "So which item do";
- mes "you want to bring me?";
- mes "Shells, Chrysalises, or Jellopies?";
- next;
- switch(select("Shells", "Chrysalises", "Jellopies", "Cancel")) {
- case 1: callfunc "F_PotExchange",935,5;
- case 2: callfunc "F_PotExchange",915,6;
- case 3: callfunc "F_PotExchange",909,10;
- case 4:
- mes "[Merchant]";
- mes "Sure~";
- mes "No problem.";
- close;
- }
- case 2:
- mes "[Merchant]";
- mes "A rip-off...?";
- mes "If you check the market value";
- mes "of the items being traded, I'm actually the one getting";
- mes "ripped off here.";
- close;
- case 3:
- mes "[Merchant]";
- mes "Alright,";
- mes "no problem.";
- mes "But come back to me";
- mes "if you change your mind.";
- close;
- }
-}
-
-function script F_PotExchange {
- if (countitem(getarg(0)) < getarg(1)) {
- mes "[Merchant]";
- mes "Hey, where are";
- mes "all those "+getitemname(getarg(0))+"";
- mes "that you promised?";
- mes "Give me "+getitemname(getarg(0))+"!";
- close;
- }
- else {
- mes "[Merchant]";
- mes "Okay, let me check";
- mes "how many "+getitemname(getarg(0))+" you";
- mes "have on you. Hmm...";
- next;
- mes "[Merchant]";
- mes "You have";
- mes "a total of " + countitem(getarg(0)) + " "+getitemname(getarg(0))+".";
- mes "I can give you a total";
- mes "of " + (countitem(getarg(0))/getarg(1)) + " Red Potions for those.";
- next;
- mes "[Merchant]";
- mes "What do you say?";
- mes "Do we have a deal?";
- next;
- if (select("Deal.", "No deal.") == 1) {
- mes "[Merchant]";
- mes "You know the exact";
- mes "number of Red Potions";
- mes "you want to receive for";
- mes "those "+getitemname(getarg(0))+", don't you?";
- next;
- mes "[Merchant]";
- mes "Now, I can trade you";
- mes "a minimum of 1 Red Potion";
- mes "and a maximum of 100 Red Potions";
- mes "at one time. If you change your";
- mes "mind, just enter '0' to cancel.";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Merchant]";
- mes "What...?";
- mes "Why the hell do you";
- mes "even bother to talk to me?";
- mes "Pretty indecisive, aren't you?";
- close;
- }
- if (.@input > 100) {
- mes "[Merchant]";
- mes "I can't give you more";
- mes "than 100 Red Potions";
- mes "at once. Let's try";
- mes "this again.";
- next;
- continue;
- }
- break;
- }
- .@put_out_item = .@input * getarg(1);
- if (countitem(getarg(0)) < .@put_out_item) {
- mes "[Merchant]";
- mes "Uh oh, the number you entered doesn't seem right. You better check the number of Red Potions that you can trade for again.";
- close;
- }
- mes "[Merchant]";
- mes "There you go!";
- mes "Check how many Red Potions";
- mes "I've given you, it should be good. Thanks, that was a good deal~";
- delitem getarg(0),.@put_out_item; //Shell
- getitem Red_Potion,.@input;
- close;
- }
- mes "[Merchant]";
- mes "Huh~";
- mes "Alright.";
- mes "Though aren't";
- mes "Red Potions more useful";
- mes "to an adventurer like you?";
- close;
- }
-}
diff --git a/npc/merchants/old_pharmacist.txt b/npc/merchants/old_pharmacist.txt
deleted file mode 100644
index f8fac475e..000000000
--- a/npc/merchants/old_pharmacist.txt
+++ /dev/null
@@ -1,272 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) DZeroX
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Old Pharmacist
-//================= Description ===========================================
-//= Trade in items for potions.
-//================= Current Version =======================================
-//= 1.4
-//=========================================================================
-
-alberta_in,16,28,4 script Pharmacist 1_M_PUBMASTER,{
- if (checkweight(Knife,1) == 0) {
- mes "- Wait a moment! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please come back later -";
- mes "- after you put some items into kafra storage. -";
- close;
- }
- mes "[Old Pharmacist]";
- mes "Ummmm...";
- mes "What brings you here...?";
- switch(select("Make Potion", "Talk.", "Mixing Information", "Cancel")) {
- case 1:
- next;
- if (MaxWeight - Weight < 5000) {
- mes "[Old Pharmacist]";
- mes "Why are you carrying these so many!";
- mes "Don't be greedy, carry only as much you need!";
- next;
- mes "[Old Pharmacist]";
- mes "You are too heavy to receive potions from me...";
- mes "Go store some items in your storage first!";
- close;
- } else {
- mes "[Old Pharmacist]";
- mes "You have all the stuff ready, right? Which one would you like?";
- switch(select("Red Potion.", "Orange Potion.", "Yellow Potion.", "White Potion.", "Blue Potion.", "Green Potion.", "Actually, I don't want anything.")) {
- case 1:
- callsub L_Making,507,3,501;
- case 2:
- next;
- mes "[Old Pharmacist]";
- if (countitem(Red_Herb) < countitem(Empty_Bottle)) {
- .@max = countitem(Red_Herb);
- }
- else if (countitem(Yellow_Herb) < countitem(Empty_Bottle)) {
- .@max = countitem(Yellow_Herb);
- }
- else {
- .@max = countitem(Empty_Bottle);
- }
- if ((countitem(Red_Herb) < 1) || (countitem(Yellow_Herb) < 1) || (countitem(Empty_Bottle) == 0)) {
- mes "You rascal! What did you expect?! Coming here with nothing. Tsk!";
- mes "Get lost!";
- close;
- }
- if (Zeny < 3) {
- mes "You rascal! What did you expect?! Coming here with nothing. Tsk!";
- mes "Get lost!";
- close;
- }
- mes "How many?";
- switch(select("Make as many as I can.", "I want to choose an amount.", "Actually, I don't want anything.")) {
- case 1:
- next;
- if ((countitem(Red_Herb) < .@max) || (countitem(Yellow_Herb) < .@max) || (countitem(Empty_Bottle) < .@max) || (Zeny < .@max*3)) {
- mes "[Old Pharmacist]";
- mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
- close;
- }
- Zeny -= (.@max*5);
- delitem Red_Herb,.@max;
- delitem Yellow_Herb,.@max;
- delitem Empty_Bottle,.@max;
- getitem Orange_Potion,.@max;
- break;
- case 2:
- next;
- mes "[Old Pharmacist]";
- mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
- input(.@amount);
- if (.@amount <= 0) {
- next;
- mes "[Old Pharmacist]";
- mes "Make up your mind, will you?!";
- close;
- }
- if (.@amount > 100) {
- next;
- mes "[Old Pharmacist]";
- mes "Are you deaf? I said less than 100!";
- close;
- }
- if ((countitem(Red_Herb) < .@amount) || (countitem(Yellow_Herb) < .@amount) || (countitem(Empty_Bottle) < .@amount) || (Zeny < .@amount*3)) {
- next;
- mes "[Old Pharmacist]";
- mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
- close;
- }
- next;
- Zeny -= (.@amount*5);
- delitem Red_Herb,.@amount;
- delitem Yellow_Herb,.@amount;
- delitem Empty_Bottle,.@amount;
- getitem Orange_Potion,.@amount;
- break;
- case 3:
- next;
- mes "[Old Pharmacist]";
- mes "What?!";
- mes "Grrr...";
- mes "Bleh!";
- mes "Get lost!";
- close;
- }
- mes "[Old Pharmacist]";
- mes "Here you go. It's all done so you can take it. But remember! Abusing medicine is not good.";
- close;
- case 3:
- callsub L_Making,508,10,503;
- case 4:
- callsub L_Making,509,20,504;
- case 5:
- callsub L_Making,510,30,505;
- case 6:
- callsub L_Making,511,3,506;
- case 7:
- mes "[Old Pharmacist]";
- mes "What?!";
- mes "Grrr...";
- mes "Bleh!";
- mes "Get lost!";
- close;
- }
- }
- case 2:
- mes "[Old Pharmacist]";
- mes "With medicine, you can increase a person's ability to regenerate. But, they're only good up to a point. *Sigh* I'm starting to think of the days when I was young. I must be getting old.";
- next;
- mes "[Old Pharmacist]";
- mes "Anyways, a potion is merely a potion. Nothing more and nothing less.";
- close;
- case 3:
- mes "[Old Pharmacist]";
- mes "Hrrrmm...";
- mes "You young ones can be quite annoying. But, since you asked, I'll explain.";
- next;
- mes "[Old Pharmacist]";
- mes "Herbs work well by themselves, but if you use my special techniques and skills to make potions out of them, the effect is much much greater.";
- next;
- mes "[Old Pharmacist]";
- mes "If you ask eagerly and politely, I will make them for you. But, not for free... Don't worry though, I only charge a small fee, so it's not that expensive.";
- next;
- mes "[Old Pharmacist]";
- mes "Red Potion - ^0098E52 Red Herbs, 1 Empty Bottle, 2 zeny fee.^000000";
- mes "Orange Potion - ^0098E51 Red Herb, 1 Yellow Herb, 1 Empty Bottle, 5 zeny fee.^000000";
- mes "Yellow Potion - ^0098E52 Yellow Herbs, 1 Empty Bottle, 10 zeny.^000000";
- next;
- mes "[Old Pharmacist]";
- mes "White Potion - ^0098E52 White Herbs, 1 Empty Bottle, 20 zeny fee.^000000";
- mes "Blue Potion - ^0098E52 Blue Herbs, 1 Empty Bottle, 30 zeny fee.^000000";
- mes "Green Potion - ^0098E52 Green Herbs, 1 Empty Bottle, 3 zeny fee.^000000";
- close;
- case 4:
- mes "[Old Pharmacist]";
- mes "What a boring person. If you have something to say, why don't you say it?!";
- close;
- }
-
-// Arguments:
-// - 0: Herb required.
-// - 1: Zeny cost.
-// - 2: Potion given.
-L_Making:
- next;
- mes "[Old Pharmacist]";
- if ((countitem(getarg(0))/2) < countitem(Empty_Bottle)) {
- .@max = countitem(getarg(0))/2;
- } else {
- .@max = countitem(Empty_Bottle);
- }
- if ((countitem(getarg(0)) < 2) || (countitem(Empty_Bottle) == 0)) {
- mes "You rascal! What did you expect?! Coming here with nothing. Tsk!";
- mes "Get lost!";
- close;
- }
- if (Zeny < 3) {
- mes "You rascal! What did you expect?! Coming here with nothing. Tsk!";
- mes "Get lost!";
- close;
- }
- mes "How many?";
- switch(select("Make as many as I can.", "I want to choose an amount.", "Actually, I don't want anything.")) {
- case 1:
- next;
- if ((countitem(getarg(0)) < .@max*2) || (countitem(Empty_Bottle) < .@max) || (Zeny < .@max*getarg(1))) {
- mes "[Old Pharmacist]";
- mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
- close;
- }
- Zeny -= (.@max*getarg(1));
- delitem getarg(0),.@max*2;
- delitem Empty_Bottle,.@max;
- getitem getarg(2),.@max;
- break;
- case 2:
- next;
- mes "[Old Pharmacist]";
- mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
- input(.@amount);
- next;
- if (.@amount <= 0) {
- mes "[Old Pharmacist]";
- mes "Make up your mind, will you?!";
- close;
- }
- if (.@amount > 100) {
- mes "[Old Pharmacist]";
- mes "Are you deaf? I said less than 100!";
- close;
- }
- if ((countitem(getarg(0)) < .@amount*2) || (countitem(Empty_Bottle) < .@amount) || (Zeny < .@amount*getarg(1))) {
- mes "[Old Pharmacist]";
- mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
- close;
- }
- Zeny -= (.@amount*getarg(1));
- delitem getarg(0),.@amount*2;
- delitem Empty_Bottle,.@amount;
- getitem getarg(2),.@amount;
- break;
- case 3:
- next;
- mes "[Old Pharmacist]";
- mes "What?!";
- mes "Grrr...";
- mes "Bleh!";
- mes "Get lost!";
- close;
- }
- mes "[Old Pharmacist]";
- mes "Here you go. It's all done so you can take it. But remember! Abusing medicine is not good.";
- close;
-}
diff --git a/npc/merchants/quivers.txt b/npc/merchants/quivers.txt
deleted file mode 100644
index 51f927299..000000000
--- a/npc/merchants/quivers.txt
+++ /dev/null
@@ -1,187 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Nexon
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Muad_Dib (Prometheus Project)
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Arrow Quiver Event
-//================= Description ===========================================
-//= Turns arrows into Arrow Quivers.
-//================= Current Version =======================================
-//= 1.2
-//=========================================================================
-
-payon_in01,5,134,5 script Inventor Jaax 4_M_ORIENT02,{
- if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2000) {
- mes "[Inventor Jaax]";
- mes "Hey, you're carrying";
- mes "way too much stuff. Why don't you stash it away in Kafra Storage? We can talk after you do that, right?";
- close;
- }
- mes "[Inventor Jaax]";
- mes "My name is Jaax.";
- mes "Without ego, I can";
- mes "say that I am perhaps the";
- mes "^663300greatest inventor of our time^000000.";
- next;
- mes "[Inventor Jaax]";
- mes "This time, I've";
- mes "created something";
- mes "truly extraordinary. I call them... ^663300Magic Quivers^000000 !! This will be remembered in history as an";
- mes "arrow revolution!";
- emotion e_no1;
- next;
- mes "[Inventor Jaax]";
- mes "I've studied magic and quivers for years, working night and day until I finally figured how to condense arrows with magic! With magic quivers, you'll be carrying more arrows, but with less weight!";
- next;
- mes "[Inventor Jaax]";
- mes "Would you like to try using one of my arrow quivers? I have no doubt that someone like you can appreciate my genius!";
- next;
- switch(select("Quiver", "Iron Arrow Quiver", "Steel Arrow Quiver", "Oridecon Arrow Quiver", "Fire Arrow Quiver", "Silver Arrow Quiver", "Wind Arrow Quiver", "Stone Arrow Quiver", "Crystal Arrow Quiver", "Shadow Arrow Quiver", "Immaterial Arrow Quiver", "Rusty Arrow Quiver")) {
- case 1: callsub S_BuyQuiver,1750,500,500,12004;
- case 2: callsub S_BuyQuiver,1770,500,500,12005;
- case 3: callsub S_BuyQuiver,1753,500,500,12006;
- case 4: callsub S_BuyQuiver,1765,500,500,12007;
- case 5: callsub S_BuyQuiver,1752,500,500,12008;
- case 6: callsub S_BuyQuiver,1751,500,500,12009;
- case 7: callsub S_BuyQuiver,1755,500,500,12010;
- case 8: callsub S_BuyQuiver,1756,500,500,12011;
- case 9: callsub S_BuyQuiver,1754,500,500,12012;
- case 10: callsub S_BuyQuiver,1767,500,500,12013;
- case 11: callsub S_BuyQuiver,1757,500,500,12014;
- case 12: callsub S_BuyQuiver,1762,500,500,12015;
- }
- //This doesn't seem to be accessable...
- //mes "[Inventor Jaax]";
- //mes "Is there";
- //mes "anything you want?";
- //close;
-
-// Arguments:
-// -0: Type of Arrow to be packaged (item ID).
-// -1: How many of each 'getarg(0)' arrow per quiver.
-// -2: The cost of making a 'getarg(0)' quiver.
-// -3: The quiver given by the NPC (item ID).
-S_BuyQuiver:
- if (countitem(getarg(0)) >= getarg(1)) {
- mes "[Inventor Jaax]";
- mes "Excellent!";
- mes "Are you carrying any Arrows with you? I'll provide you with a quiver that can carry "+getarg(1)+" of your "+getitemname(getarg(0))+"s for only ^FF3131"+getarg(2)+" Zeny^000000.";
- next;
- switch(select("Store as many Arrows in quivers as possible", "Purchase 1 quiver", "Cancel")) {
- case 1:
- .@arrows = countitem(getarg(0));
- .@quiver = .@arrows / getarg(1);
- .@arrows_used = .@quiver * getarg(1);
- .@arrow_zeny01 = .@quiver * getarg(2);
- mes "Number of";
- mes "Arrows: ^3131FF"+.@arrows+" ^000000";
- mes "Maximum Number";
- mes "of Purchasable";
- mes "Quivers: ^3131FF"+.@quiver+" ^000000";
- mes "Zeny required: ^3131FF"+.@arrow_zeny01+" Zeny^000000";
- next;
- mes "[Inventor Jaax]";
- mes "Would you like to";
- mes "buy as many Quivers";
- mes "as you can for the Arrows";
- mes "you are currently carrying?";
- next;
- if (select("Yes", "Cancel") == 1) {
- if (.@arrow_zeny01 < Zeny) {
- mes "[Inventor Jaax]";
- mes "There you go!";
- mes "Just remember, ^FF0000you won't be able to use the Quiver when your carried weight is 90% of your maximum weight limit^000000.";
- Zeny -= .@arrow_zeny01;
- delitem getarg(0),.@arrows_used; //Arrow
- getitem getarg(3),.@quiver; //Quiver
- next;
- mes "[Inventor Jaax]";
- mes "So...";
- mes "Just keep track";
- mes "of how much you're";
- mes "carrying from time";
- mes "to time and you should";
- mes "be alright.";
- close;
- }
- else {
- mes "[Inventor Jaax]";
- mes "I'm sorry, but you don't have enough Zeny. I can't just give these away after working years";
- mes "to develop this revolutionary technology!";
- close;
- }
- }
- mes "[Inventor Jaax]";
- mes "You changed your mind?";
- mes "When the glory of owning";
- mes "a quiver is so close?";
- close;
- case 2:
- if (Zeny > getarg(2)) {
- mes "[Inventor Jaax]";
- mes "There you go!";
- mes "Just remember, ^FF0000you won't be able to use the Quiver when your carried weight is 90% of your maximum weight limit^000000.";
- Zeny -= getarg(2);
- delitem getarg(0),getarg(1); //Arrow
- getitem getarg(3),1; //Quiver
- next;
- mes "[Inventor Jaax]";
- mes "So...";
- mes "Just keep track";
- mes "of how much you're";
- mes "carrying from time";
- mes "to time and you should";
- mes "be alright.";
- close;
- }
- else {
- mes "[Inventor Jaax]";
- mes "You don't even";
- mes "have "+getarg(2)+" Zeny?";
- mes "I'm so sorry. I had no";
- mes "idea that you were so...";
- mes "^333333Destitute^000000.";
- close;
- }
- case 3:
- mes "[Inventor Jaax]";
- mes "What...?";
- mes "Do you not see that this invention can forever change the way Arrows are carried?! The future is now!";
- close;
- }
- }
- else {
- mes "[Inventor Jaax]";
- mes "You can carry a maximum of "+getarg(1)+" Arrows within this quiver. It was made using my secret method,";
- mes "so the total weight of the Arrows and Quiver is less than carrying the Arrows alone.";
- next;
- mes "[Inventor Jaax]";
- mes "It's a miracle of science! One that you can experience for yourself if you bring me at least "+getarg(1)+" Arrows and "+getarg(2)+" Zeny for each Quiver.";
- close;
- }
-}
diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt
deleted file mode 100644
index 975226fa1..000000000
--- a/npc/merchants/refine.txt
+++ /dev/null
@@ -1,1248 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Xantara
-//= Copyright (C) Paradox924X
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) Silent
-//= Copyright (C) Kargha
-//= Copyright (C) Playtester
-//= Copyright (C) DracoRPG
-//= Copyright (C) Poki#3
-//= Copyright (C) Nexon
-//= Copyright (C) dafide18
-//= Copyright (C) massdriller
-//= Copyright (C) shadowlady
-//= Copyright (C) Shinigami
-//= Copyright (C) Darkchild
-//= Copyright (C) kobra_k88
-//= Copyright (C) Lupus
-//= Copyright (C) Skotlex
-//= Copyright (C) dafide18
-//= Copyright (C) Syrus22
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Refining NPCs
-//================= Description ===========================================
-//= Refining NPCs and Metal Salesmen.
-//================= Current Version =======================================
-//= 3.3.2
-//=========================================================================
-
-//== Christopher: Geffen Blacksmith ========================
-geffen_in,110,172,0 script Christopher#1 1_M_SMITH,{
- mes "[Christopher Guillenrow]";
- mes "Welcome to Christopher's Workshop. Ye can get all yer stuff for forging here. What business";
- mes "brings ye to me?";
- next;
- switch(select("Purchase Anvil", "Purchase Forging Item", "Purchase Metal", "Purify Rough Ores", "Cancel")) {
- case 1:
- mes "[Christopher Guillenrow]";
- mes "A better Anvil gives ye a greeeater chance to make better weapons, ye know? But they'll cost ye more zeny. Just get it off yer chest and buy what fits your purposes best, laddy.";
- next;
- switch(select("Anvil - 30,000 zeny", "Oridecon Anvil - 120,000 zeny", "Golden Anvil - 300,000 zeny", "Better Anvil than the others.", "Cancel.")) {
- case 1:
- if (Zeny < 30000) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- getitem Anvil,1; // Anvil
- Zeny -= 30000;
- mes "[Christopher Guillenrow]";
- mes "This is the cheapest one, but efficient enough to forge most items. Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 2:
- if (Zeny < 120000) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- getitem Oridecon_Anvil,1; // Oridecon_Anvil
- Zeny -= 120000;
- mes "[Christopher Guillenrow]";
- mes "Aye, friend ye have an eye for the anvil. This must be the proper anvil for a Blacksmith, eh? Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 3:
- if (Zeny < 300000) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- getitem Golden_Anvil,1; // Golden_Anvil
- Zeny -= 300000;
- mes "[Christopher Guillenrow]";
- mes "This one is the best among all me stuffs in me workshop! With this, ye can rule the Blacksmith world! Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 4:
- mes "[Christopher Guillenrow]";
- mes "Well, sorry. But I don't have anythin' harder' than the Golden Anvil.";
- next;
- mes "[Christopher Guillenrow]";
- mes "Me thinks 'Ringgel,' the Legendary Anvil Maker would have one. But, I don't think ye can find him, though he be somewhere in this world.";
- close;
- case 5:
- mes "[Christopher Guillenrow]";
- mes "Okay, feel free to come anytime, whenever ye need. Fare ye well.";
- close;
- }
- case 2:
- mes "[Christopher Guillenrow]";
- mes "A respectable blacksmith uses fine tools. Ye can become one o'those with me Stuff. Choose anything ye want.";
- next;
- switch(select("Mini-Furnace - 150 zeny", "Iron Hammer - 1000 zeny", "Golden Hammer - 3000 zeny", "Oridecon Hammer - 5000 zeny", "Cancel.")) {
- case 1:
- mes "[Christopher Guillenrow]";
- mes "It's a much needed tool fer refining metal! So, How many do ye wish to buy? If ye want to quit, just type the number '0.'";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Christopher Guillenrow]";
- mes "Aye, the deal is canceled. Fare ye well.";
- close;
- }
- if (.@input > 500) {
- mes "[Christopher Guillenrow]";
- mes "Ye can buy 500, er less.";
- next;
- continue;
- }
- break;
- }
- .@sell = .@input * 150;
- if (Zeny < .@sell) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- if (checkweight(Portable_Furnace,.@input) == 0) {
- mes "[Christopher Guillenrow]";
- mes "Ye look like you don't got enough room in yer inventory. Put some stuff into your Kafra Storage, why don't ye?";
- close;
- }
- getitem Portable_Furnace,.@input; // Portable_Furnace
- Zeny -= .@sell;
- mes "[Christopher Guillenrow]";
- mes "Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 2:
- if (Zeny < 1000) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- getitem Iron_Hammer,1; // Iron_Hammer
- Zeny -= 1000;
- mes "[Christopher Guillenrow]";
- mes "Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 3:
- if (Zeny < 3000) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- getitem Golden_Hammer,1; // Golden_Hammer
- Zeny -= 3000;
- mes "[Christopher Guillenrow]";
- mes "Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 4:
- if (Zeny < 5000) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- getitem Oridecon_Hammer,1; // Oridecon_Hammer
- Zeny -= 5000;
- mes "[Christopher Guillenrow]";
- mes "Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 5:
- mes "[Christopher Guillenrow]";
- mes "Feel free to come anytime, whenever ye need. Fare ye well.";
- close;
- }
- case 3:
- mes "[Christopher Guillenrow]";
- mes "I prepare every Metal, and only the high quality ones o'course. Now then, which one do ye need?";
- next;
- switch(select("Phracon - 200z.", "Emveretarcon - 1000z.", "Cancel.")) {
- case 1:
- mes "[Christopher Guillenrow]";
- mes "So, How many do ye wish to buy? If ye dont want anything, just type the number as '0.'";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Christopher Guillenrow]";
- mes "Deal has";
- mes "been canceled.";
- mes "Fare ye well.";
- close;
- }
- if (.@input > 500) {
- mes "[Christopher Guillenrow]";
- mes "Ye can buy 500, er less.";
- next;
- continue;
- }
- break;
- }
- .@sell = .@input * 200;
- if (Zeny < .@sell) {
- mes "[Christopher Guillenrow]";
- mes "Ye don't have enough money. Ye know I can't sell this at a lower price... You know how the wifey nags about Zeny.";
- close;
- }
- if (checkweight(Phracon,.@input) == 0) {
- mes "[Christopher Guillenrow]";
- mes "Ye look like you don't have the room to carry anythin' new. Why don't ye put some things into Kafra Storage n' come back.";
- close;
- }
- getitem Phracon,.@input; // Phracon
- Zeny -= .@sell;
- mes "[Christopher Guillenrow]";
- mes "Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need.";
- close;
- case 2:
- mes "[Christopher Guillenrow]";
- mes "So, how many do ye wish to buy? If ye dont want anything at all, just type the number as '0.'";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Christopher Guillenrow]";
- mes "Deal has";
- mes "been canceled.";
- mes "Fare ye well.";
- close;
- }
- if (.@input > 500) {
- mes "[Christopher Guillenrow]";
- mes "Ye can buy 500, er less.";
- next;
- continue;
- }
- break;
- }
- .@sell = .@input * 1000;
- if (Zeny < .@sell) {
- mes "[Christopher Guillenrow]";
- mes "I don't think I can let ye have this with the zeny ye have. I can't lose me money because of ye.";
- close;
- }
- if (checkweight(Emveretarcon,.@input) == 0) {
- mes "[Christopher Guillenrow]";
- mes "Me friend... Seems to me ye don't have Inventory space. Why doncha put some things into Kafra Storage first?";
- close;
- }
- getitem Emveretarcon,.@input; // Emveretarcon
- Zeny -= .@sell;
- mes "[Christopher Guillenrow]";
- mes "Thank ye fer shopping at me workshop. Feel free to come anytime, whenever ye need, whenever ye want.";
- close;
- case 3:
- mes "[Christopher Guillenrow]";
- mes "Feel free to come anytime, whenever ye need. Fare ye well.";
- close;
- }
- case 4:
- mes "[Christopher Guillenrow]";
- mes "I can purify yer Oridecon and Elunium. I make a refined Ore out of 5 o'each rough ones. Well... Which one do ye want to make?";
- next;
- switch(select("Make Oridecon", "Make Elunium", "Cancel.")) {
- case 1:
- if (countitem(Oridecon_Stone) < 5) {
- mes "[Christopher Guillenrow]";
- mes "I told ye, I need 5 o'the rough Oridecons fer one Oridecon.";
- close;
- }
- else {
- delitem Oridecon_Stone,5;
- getitem Oridecon,1; // Oridecon
- mes "[Christopher Guillenrow]";
- mes "Here's an Oridecon fer ye. Ye will be always welcome here, I'll be waitin' for ye.";
- close;
- }
- case 2:
- if (countitem(Elunium_Stone) < 5) {
- mes "[Christopher Guillenrow]";
- mes "I told ye, I need 5 rough Eluniums fer one Elunium.";
- close;
- }
- else {
- delitem Elunium_Stone,5;
- getitem Elunium,1; // Elunium
- mes "[Christopher Guillenrow]";
- mes "Arrr, here's yer Elunium. Yer business is always welcome here, so feel free to come again.";
- close;
- }
- case 3:
- mes "[Christopher Guillenrow]";
- mes "Feel free to come anytime, whenever ye need. Fare ye well.";
- close;
- }
- case 5:
- mes "[Christopher Guillenrow]";
- mes "Feel free to come anytime, whenever ye need and whenever ye want. Fare ye well.";
- close;
- }
-}
-
-//== Paul Spanner: Einbroch Blacksmith Supplier ============
-ein_in01,38,29,0 script Paul Spanner 1_M_SMITH,{
- if (checkweight(Knife,1) == 0) {
- mes "- Wait a minute !! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please try again -";
- mes "- after you lose some weight. -";
- close;
- }
- mes "[Paul Spanner]";
- mes "Welcome, my friend.";
- mes "In my shop, you will find everything that you need in forging.";
- mes "Tell me what you need.";
- next;
- switch(select("Purchase Anvil.", "Purchase Forging Items.", "Purchase Metal.", "Process Ores.", "Quit.")) {
- case 1:
- mes "[Paul Spanner]";
- mes "Anvil is the most necessary item for Blacksmiths.";
- mes "Since you will use an Anvil more than once, you'd better buy a nice one.";
- next;
- switch(select("Anvil - 30,000z.", "Oridecon Anvil - 120,000z.", "Golden Anvil - 300,000z.", "I need a better anvil.", "Cancel.")) {
- case 1:
- if (Zeny < 30000) {
- mes "[Paul Spanner]";
- mes "With that much of money, you cannot even buy a toy anvil!";
- close;
- }
- getitem Anvil,1;
- Zeny -= 30000;
- mes "[Paul Spanner]";
- mes "It is the cheapest anvil which has the most basic ability.";
- mes "Thank you for using my shop. If you need anything, just let me know.";
- close;
- case 2:
- if (Zeny < 120000) {
- mes "[Paul Spanner]";
- mes "With that much of money, you cannot even buy a toy anvil!";
- close;
- }
- getitem Oridecon_Anvil,1;
- Zeny -= 120000;
- mes "[Paul Spanner]";
- mes "Ah, you have an eye for anvil. A Blacksmith needs an anvil at least as good as this.";
- mes "Thank you for using my shop. If you need anything, just let me know.";
- close;
- case 3:
- if (Zeny < 300000) {
- mes "[Paul Spanner]";
- mes "With that much of money, you cannot even buy a toy anvil!";
- close;
- }
- getitem Golden_Anvil,1;
- Zeny -= 300000;
- mes "[Paul Spanner]";
- mes "I can tell your ambition to become a good Blacksmith just by looking at you to choose this Golden Anvil!";
- mes "This anvil will surely aid you in creating the best weapons.";
- close;
- case 4:
- mes "[Paul Spanner]";
- mes "I am sorry, but I do not sell better anvils than Golden Anvil.";
- mes "Unless you find the legendary anvil of 'Linggell', I don't think that you could find better one than Golden Anvil in any other places.";
- close;
- case 5:
- mes "[Paul Spanner]";
- mes "If you need anything, just let me know.";
- close;
- }
- case 2:
- mes "[Paul Spanner]";
- mes "You need various materials to process ores and to forge weapons.";
- mes "I have everything that you need. Take a look.";
- next;
- switch(select("Mini Furnace - 150z.", "Iron Hammer - 1,000z.", "Golden Hammer - 3,000z.", "Oridecon Hammer - 5,000z.", "Cancel.")) {
- case 1:
- .@item = 612;
- .@item_cost = 150;
- .@item_weight = 200;
- mes "[Paul Spanner]";
- mes "You definately need this furnce to process ores!";
- next;
- break;
- case 2:
- .@item = 613;
- .@item_cost = 1000;
- .@item_weight = 200;
- break;
- case 3:
- .@item = 614;
- .@item_cost = 3000;
- .@item_weight = 300;
- break;
- case 4:
- .@item = 615;
- .@item_cost = 5000;
- .@item_weight = 400;
- break;
- case 5:
- mes "[Paul Spanner]";
- mes "If you need anything, just let me know.";
- close;
- }
- mes "[Paul Spanner]";
- mes "So, how many do you need? If you want to cancel the trade, enter '0'.";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Paul Spanner]";
- mes "You have canceled the trade. If you need anything, just let me know.";
- close;
- }
- if (.@input > 500) {
- mes "[Paul Spanner]";
- mes "You can only buy 500 or less at a time.";
- next;
- continue;
- }
- break;
- }
- .@sell = .@input * .@item_cost;
- if (Zeny < .@sell) {
- mes "[Paul Spanner]";
- mes "You don't have enough money. Sorry, I cannot sell them at a loss.";
- close;
- }
- if (checkweight(.@item,.@input) == 0) {
- mes "[Paul Spanner]";
- mes "Hey, you look pale. Why don't you go lighten your weight first.";
- close;
- }
- Zeny -= .@sell;
- getitem .@item,.@input;
- mes "[Paul Spanner]";
- mes "Thank you for using my shop. If you need anything, just let me know.";
- close;
- case 3:
- mes "[Paul Spanner]";
- mes "I have high quality metal.";
- mes "So, which metal would you like to buy?";
- next;
- switch(select("Phracon - 200z.", "Emveretarcon - 1,000z.", "Quit.")) {
- case 1:
- .@item = 1010;
- .@item_price = 200;
- break;
- case 2:
- .@item = 1011;
- .@item_price = 1000;
- break;
- case 3:
- mes "[Paul Spanner]";
- mes "If you need anything, just let me know.";
- close;
- }
- mes "[Paul Spanner]";
- mes "So, how many of them do you need? If you want to cancel the trade, enter '0'.";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[Paul Spanner]";
- mes "The trade has been canceled. If you need anything, just let me know.";
- close;
- }
- if (.@input > 500) {
- mes "[Paul Spanner]";
- mes "You can buy 500 or less at a time.";
- next;
- continue;
- }
- break;
- }
- .@sell = .@input * .@item_price;
- if (Zeny < .@sell) {
- mes "[Paul Spanner]";
- mes "You don't have enough money. Sorry, I cannot sell them at a loss.";
- close;
- }
- if (checkweight(.@item,.@input) == 0) {
- mes "[Paul Spanner]";
- mes "Hey, you look pale. Why don't you go lighten your weight first?";
- close;
- }
- getitem .@item,.@input;
- Zeny -= .@sell;
- mes "[Paul Spanner]";
- mes "Thank you for using my shop. If you need anything, just let me know.";
- close;
- case 4:
- mes "[Paul Spanner]";
- mes "I can process Oridecon and Elunium for you.";
- mes "You need 5 ores to process them into one Oridecon or Elunium.";
- mes "So, which one do you want to process?";
- switch(select("Oridecon", "Elunium", "Quit.")) {
- case 1:
- if (countitem(Oridecon_Stone) < 5) {
- mes "[Paul Spanner]";
- mes "You need 5 ores to process them into one pure Oridecon.";
- close;
- }
- else {
- delitem Oridecon_Stone,5;
- getitem Oridecon,1;
- mes "[Paul Spanner]";
- mes "There you go. Thank you for using my service.";
- close;
- }
- case 2:
- if (countitem(Elunium_Stone) < 5) {
- mes "[Paul Spanner]";
- mes "You need 5 ores to process them into one pure Elunium.";
- close;
- }
- else {
- delitem Elunium_Stone,5;
- getitem Elunium,1;
- mes "[Paul Spanner]";
- mes "There you go. Thank you for using my service.";
- close;
- }
- case 3:
- mes "[Paul Spanner]";
- mes "If you need anything, just let me know.";
- close;
- }
- case 5:
- mes "[Paul Spanner]";
- mes "If you need anything, just let me know.";
- close;
- }
-}
-
-//== Weapon/Armor Refiners =================================
-prt_in,63,60,0 script Hollgrehenn 4_M_03,{
- callfunc "refinemain","Hollgrehenn",0;
- end;
-}
-morocc_in,73,38,6 script Aragham 4W_M_03,{
- callfunc "refinemain","Aragham",0;
- end;
-}
-payon,144,173,5 script Antonio 4_M_ORIENT01,{
- callfunc "refinemain","Antonio",0;
- end;
-}
-alberta_in,28,58,0 script Fredrik 4_M_03,{
- callfunc "refinemain","Fredrik",0;
- end;
-}
-yuno_in01,171,21,4 script Lambert 4_M_ORIENT01,{
- callfunc "refinemain","Lambert",0;
- end;
-}
-ein_in01,24,87,5 script Manthasman 4_M_DWARF,{
- callfunc "refinemain","Manthasman Pruhag",0;
- end;
-}
-lhz_in02,282,20,7 script Fulerr 4_M_LGTMAN,{
- callfunc "refinemain","Fulerr",0;
- end;
-}
-
-//== Main Refiner Function =================================
-// To allow auto safe refining/multiple refining set the second argument to '1'
-// in the function call.
-// If you enable this function, be sure to edit the value of .@safe to the max
-// safe refine in refine_db.txt as well.
-function script refinemain {
- mesf("[%s]", getarg(0));
- mes("I'm the Armsmith.");
- mes("I can refine all kinds of weapons, armor and equipment, so let me");
- mes("know what you want me to refine.");
-
- if (getbattleflag("features/replace_refine_npcs") == 1) {
- if (openrefineryui())
- close();
- }
- next();
-
- disable_items;
- .@features = getarg(1);
- setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
- .@menu$ = "";
- for(.@i = 1; .@i <= 10; ++.@i) {
- if(getequipisequiped(.@i)) {
- .@menu$ += .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
- .@equipped = 1;
- }
- .@menu$ += ":";
- }
- if (.@equipped == 0) {
- mes "[" + getarg(0) + "]";
- mes "I don't think I can refine any items you have...";
- close;
- }
- .@part = select(.@menu$);
-
- if(!getequipisequiped(.@part)) { //custom check
- mes "[" + getarg(0) + "]";
- mes "You're not wearing";
- mes "anything there that";
- mes "I can refine.";
- emotion e_an;
- close;
- }
- //Check if the item is refinable...
- if(!getequipisenableref(.@part)) {
- mes "[" + getarg(0) + "]";
- mes "I don't think I can";
- mes "refine this item at all...";
- close;
- }
- //Check to see if the items is already +10
- if(getequiprefinerycnt(.@part) >= 10) {
- mes "[" + getarg(0) + "]";
- mes "I can't refine this";
- mes "any more. This is as";
- mes "refined as it gets!";
- close;
- }
- .@refineitemid = getequipid(.@part); // save id of the item
- .@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
- switch(getequipweaponlv(.@part)){
- case 0: //Refine Armor
- .@price = 2000;
- .@material = 985;
- .@safe = 4;
- break;
- case 1: //Refine Level 1 Weapon
- .@price = 50;
- .@material = 1010;
- .@safe = 7;
- break;
- case 2: //Refine Level 2 Weapon
- .@price = 200;
- .@material = 1011;
- .@safe = 6;
- break;
- case 3: //Refine Level 3 Weapon
- .@price = 5000;
- .@material = 984;
- .@safe = 5;
- break;
- case 4: //Refine Level 4 Weapon
- .@price = 20000;
- .@material = 984;
- .@safe = 4;
- break;
- case 5: //Refine other stuff?
- .@price = 2000;
- .@material = 985;
- .@safe = 4;
- break;
- }
- if(.@features != 1) {
- mes "[" + getarg(0) + "]";
- mes "To refine this I need";
- mes "one ^003366"+getitemname(.@material)+"^000000 and";
- mes "a service fee of " + .@price + " Zeny.";
- mes "Do you really wish to continue?";
- next;
- if(select("Yes", "No") == 2){
- mes "[" + getarg(0) + "]";
- mes "Yeah...";
- mes "There's no need to";
- mes "rush. Take your time.";
- close;
- }
- if(getequippercentrefinery(.@part) < 100) {
- mes "[" + getarg(0) + "]";
- mes "Oh no! If I continue to";
- mes "refine this, there's a risk it could";
- switch(.@material) {
- case 985:
- mes "be destroyed! That means that ^FF0000this equipment^000000, and ^FF0000any cards^000000 or special properties added to this armor, ^FF0000will be gone^000000.";
- break;
- default:
- mes "be destroyed, and you'd ^FF0000lose the weapon^000000, any ^FF0000cards in the weapon^000000,";
- mes "or any added special properties.";
- break;
- }
- next;
- mes "["+getarg(0)+"]";
- mes "I can't make it any clearer.";
- mes "Once a weapon is destroyed,";
- mes "there's no getting it back.";
- mes "You really have a chance to";
- mes "^FF0000lose this weapon^000000 forever.";
- mes "Do you still want to refine?";
- next;
- if(select("Yes", "No") == 2){
- mes "[" + getarg(0) + "]";
- mes "I completely agree...";
- mes "I might be a great refiner, but sometimes even I make mistakes.";
- close;
- }
- }
- if((countitem(.@material) < 1) || (Zeny < .@price)) {
- mes "[" + getarg(0) + "]";
- mes "You don't seem to have";
- mes "enough Zeny or "+getitemname(.@material)+"...";
- mes "Go get some more. I'll be";
- mes "here all day if you need me.";
- close;
- }
- Zeny -= .@price;
- delitem .@material,1;
-
- //custom checks
- if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?)
- mes "[" + getarg(0) + "]";
- mes "Look here... you don't have any Items on...";
- close;
- }
- if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item
- mes "[" + getarg(0) + "]";
- emotion e_an;
- mes "Wait a second...";
- mes "Do you think I'm stupid?!";
- mes "You switched the item while I wasn't looking! Get out of here!";
- close;
- }
-
- if(getequippercentrefinery(.@part) <= rand(100)) {
- failedrefitem .@part;
- mes "[" + getarg(0) + "]";
- emotion (!rand(5))?e_cash:e_omg;
- .@lose = rand(1,3);
- if (.@lose == 1) {
- mes "OH! MY GOD!";
- mes "Damn it! Not again!";
- mes "I'm terribly sorry, but you know practice does make perfect.";
- mes "Um, right? Heh heh...";
- } else if(.@lose == 2) {
- mes "Nooooooo!";
- mes "It broke!";
- mes "I-I'm sorry!";
- } else {
- mes "Crap!";
- mes "It couldn't take";
- mes "much more tempering!";
- mes "Sorry about this...";
- }
- close;
- }
- mes "["+getarg(0)+"]";
- successrefitem .@part;
- emotion e_heh;
- .@win = rand(1,3);
- if (.@win == 1) {
- mes "Perfect!";
- mes "Heh heh!";
- mes "Once again,";
- mes "flawless work";
- mes "from the master~";
- } else if(.@win == 2) {
- mes "Success...!";
- mes "Yet again, my amazing";
- mes "talent truly dazzles";
- mes "and shines today.";
- } else {
- mes "Heh heh!";
- mes "I'm all done.";
- mes "No doubt, my work is";
- mes "to your satisfaction.";
- mes "Sheer, utter perfection~";
- }
- close;
- }
-
-//- New Refining Functions -
- if(getequiprefinerycnt(.@part) < .@safe) {
- mes "[" + getarg(0) + "]";
- mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
- next;
- .@menu2 = select("To the safe limit, please.","I'll decide how many times.","I've changed my mind...");
- } else
- .@menu2 = 2;
- switch(.@menu2){
- case 1:
- .@refinecnt = .@safe - getequiprefinerycnt(.@part);
- break;
- case 2:
- next;
- mes "[" + getarg(0) + "]";
- mes "How many times would you like me to refine your item?";
- next;
- input(.@refinecnt);
- .@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
- if (.@refinecnt < 1 || .@refinecheck > 10) {
- mes "[" + getarg(0) + "]";
- mes "I can't refine this item that many times.";
- close;
- }
- if(.@refinecheck > .@safe) {
- .@refinecheck -= .@safe;
- mes "[" + getarg(0) + "]";
- mes "This will try to refine the equipment " + .@refinecheck + " times past the safe limit. Your equipment may be destroyed... is that ok?";
- next;
- if(select("Yes...","No...") == 2){
- mes "[" + getarg(0) + "]";
- mes "You said so... So be it.";
- close;
- }
- }
- break;
- case 3:
- next;
- mes "[" + getarg(0) + "]";
- mes "You said so... So be it.";
- close;
- }
- .@fullprice = .@price * .@refinecnt;
- mes "[" + getarg(0) + "]";
- mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?";
- next;
- if(select("Yes","No...") == 2){
- mes "[" + getarg(0) + "]";
- mes "You said so... So be it.";
- close;
- }
- if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) {
- mes "[" + getarg(0) + "]";
- mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes.";
- close;
- }
- Zeny -= .@fullprice;
- delitem .@material,.@refinecnt;
- while(.@refinecnt){
- if (getequipisequiped(.@part) == 0) {
- mes "[" + getarg(0) + "]";
- mes "Look here... you don't have any items on...";
- close;
- }
- if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
- mes "[" + getarg(0) + "]";
- mes "Clang... No, but did you imagine I could be so stupid?!";
- mes "You changed it...";
- mes "Get out before I stun you with my Hammer!!";
- close;
- }
- mes "Clang, clang!!!";
- if(.@menu2 == 2 && getequippercentrefinery(.@part) <= rand(100)) {
- failedrefitem .@part;
- emotion e_omg;
- mes "[" + getarg(0) + "]";
- mes "WAHHHH!!! I'm so sorry... I warned you this could happen...";
- --.@refinecnt;
- if(.@refinecnt == 0) close;
- mes "Here's the unused Zeny and materials back...";
- getitem .@material,.@refinecnt;
- .@fullprice = .@refinecnt * .@price;
- Zeny += .@fullprice;
- close;
- }
- successrefitem .@part;
- emotion e_no1;
- --.@refinecnt;
- next;
- }
- mes "[" + getarg(0) + "]";
- mes "All finished... Come again soon.";
- close;
-}
-
-//== Material Salesmen =====================================
-prt_in,56,68,5 script Vurewell 4_M_04,{
- callfunc "phramain","Vurewell";
- end;
-}
-payon,145,178,3 script Begnahd 4_M_ORIENT01,{
- callfunc "phramain","Begnahd";
- end;
-}
-morocc_in,63,32,6 script Sade 4W_M_03,{
- callfunc "phramain","Sade";
- end;
-}
-alberta_in,13,71,3 script Kahlamanlith 4_M_04,{
- callfunc "phramain","Kahlamanlith";
- end;
-}
-yuno_in01,171,27,4 script Dilemma 4_M_ORIENT01,{
- callfunc "phramain","Dilemma";
- end;
-}
-ein_in01,15,87,3 script Tirehaus 4_M_04,{
- callfunc "phramain","Tirehaus";
- end;
-}
-lhz_in02,278,24,3 script Krugg 4_M_04,{
- callfunc "phramain","Krugg";
- end;
-}
-
-//== Material Salesmen Functions ===========================
-function script phramain {
- if (checkweight(Knife,1) == 0) {
- mes "- Wait a minute !! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please try again -";
- mes "- after you lose some weight. -";
- close;
- }
- mes "[" + getarg(0) + "]";
- mes "I sell 2 kinds of Metal";
- mes "for tempering weaponry.";
- mes "I have ^007777Phracon^000000 for Level 1";
- mes "Weapons, and ^007777Emveretarcon^000000";
- mes "for Level 2 Weapons.";
- next;
- switch(select("Phracon - 200 Zeny", "Emveretarcon - 1000 Zeny", "Ask about other Metals")) {
- case 1:
- .@material = 1010;
- .@price = 200;
- break;
- case 2:
- .@material = 1011;
- .@price = 1000;
- break;
- case 3:
- mes "[" + getarg(0) + "]";
- mes "Other metals?";
- mes "Well, you'll need special metals to upgrade higher level weapons, or any kind of armor. But you know, Oridecon and Elunium is really";
- mes "hard to just find...";
- close;
- }
- mes "[" + getarg(0) + "]";
- mes "So how many do you wish to buy?";
- mes "If you don't want any, please enter the number, '0.'";
- next;
- while(1) {
- input(.@input);
- if (.@input <= 0) {
- mes "[" + getarg(0) + "]";
- mes "The deal has";
- mes "been cancelled.";
- close;
- }
- if (.@input > 500) {
- mes "[" + getarg(0) + "]";
- mes "Alright, you can";
- mes "puchase up to 500.";
- mes "No more than that,";
- mes "got it? Good.";
- next;
- continue;
- }
- break;
- }
- .@sell = .@input * .@price;
- if (Zeny < .@sell) {
- mes "[" + getarg(0) + "]";
- mes "Err...";
- mes "You don't have";
- mes "enough Zeny to buy";
- mes ""+ .@input +" of them.";
- close;
- }
- if (checkweight(.@material,.@input) == 0) {
- mes "[" + getarg(0) + "]";
- mes "Hmm...";
- mes "I can't give you anything if you don't have enough room in your inventory. Why don't you put your extra things in Kafra Storage and try again?";
- close;
- }
- getitem .@material,.@input;
- Zeny -= .@sell;
- mes "[" + getarg(0) + "]";
- mes "Here you are!";
- mes "Thank you for";
- mes "your patronage.";
- close;
-}
-
-//== Ori/Elu Refiners ======================================
-prt_in,63,69,3 script Dietrich 4_M_02,{
- callfunc "orimain","Dietrich";
- end;
-}
-payon,137,178,5 script Hakhim 4_M_ORIENT01,{
- callfunc "orimain","Hakhim";
- end;
-}
-morocc_in,72,32,6 script Abdula 4W_M_03,{
- callfunc "orimain","Abdula";
- end;
-}
-alberta_in,21,63,5 script Xenophon 4_M_02,{
- callfunc "orimain","Xenophon Zolotas";
- end;
-}
-yuno_in01,164,27,4 script Delight 4_M_ORIENT01,{
- callfunc "orimain","Delight";
- end;
-}
-ein_in01,18,82,6 script Matestein 4_M_02,{
- callfunc "orimain","Matestein";
- end;
-}
-lhz_in02,281,24,5 script Fruel 4_M_02,{
- callfunc "orimain","Fruel";
- end;
-}
-
-//== Ori/Elu Functions =====================================
-function script orimain {
- if (checkweight(Knife,1) == 0) {
- mes "- Wait a minute !! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please try again -";
- mes "- after you lose some weight. -";
- close;
- }
- mes "[" + getarg(0) + "]";
- mes "I can purify your";
- mes "Rough Oridecons or";
- mes "Rough Eluniums. I'll need";
- mes "5 Rough Stones to make";
- mes "1 pure one for you.";
- next;
- switch(select("Make Oridecon", "Make Elunium", "Ask about Enchanted Stones")) {
- case 1:
- if (countitem(Oridecon_Stone) > 4) {
- delitem Oridecon_Stone,5;
- getitem Oridecon,1; // Oridecon
- mes "[" + getarg(0) + "]";
- mes "Here's your Oridecon.";
- mes "You're welcome to come";
- mes "back whenever you want.";
- close;
- }
- else {
- mes "[" + getarg(0) + "]";
- mes "You're kidding me, right?";
- mes "I just told you that I need 5 Rough Oridecons to make a pure Oridecon.";
- close;
- }
- case 2:
- if (countitem(Elunium_Stone) > 4) {
- delitem Elunium_Stone,5;
- getitem Elunium,1; // Elunium
- mes "[" + getarg(0) + "]";
- mes "Here's your Elunium.";
- mes "You're welcome to come";
- mes "back whenever you want.";
- close;
- }
- else {
- mes "[" + getarg(0) + "]";
- mes "You're kidding me, right?";
- mes "I just told you that I need 5 Rough Eluniums to make a pure Elunium.";
- close;
- }
- case 3:
- mes "[" + getarg(0) + "]";
- mes "Enchanted Stones...?";
- mes "I've been a stonesmith for 20 years, so I've heard a lot about them. Supposedly, there are";
- mes "four different kinds.";
- next;
- mes "[" + getarg(0) + "]";
- mes "Each Enchanted Stone possesses one of the following elemental properties: Earth, Wind, Water and Fire.";
- next;
- mes "[" + getarg(0) + "]";
- mes "If someone combines a Enchanted Stone with a weapon while smithing, that weapon will possess the same property as the Stone.";
- next;
- mes "[" + getarg(0) + "]";
- mes "Needless to say, you need to have some smithing skill to produce this kind of elemental weapon.";
- close;
- }
-}
-
-//== Equipment Repairmen ===================================
-alberta_in,31,65,4 script Repairman#alb 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-moc_ruins,107,94,4 script Repairman#moc 4W_M_03,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-payon,143,165,0 script Repairman#pay 4_M_ORIENT01,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-prt_in,63,54,2 script Repairman#prt 4_M_04,{
- callfunc "repairmain","Grendal";
- end;
-}
-
-yuno_in01,175,28,3 script Repairman#juno 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-geffen_in,34,166,3 script Repairman#gef 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-aldeba_in,38,60,3 script Repairman#alde 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-lhz_in02,284,14,3 script Repairman#lhz 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-prt_gld,139,117,4 script Repairman#prt_gld 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-gef_fild13,263,117,4 script Repairman#gef_fild 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-pay_gld,295,183,4 script Repairman#pay_gld 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-alde_gld,220,152,4 script Repairman#alde_gld 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-aru_gld,189,336,4 script Repairman#aru_gld 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-sch_gld,340,80,7 script Repairman#sch_gld 4_M_04,{
- callfunc "repairmain","Repairman";
- end;
-}
-
-//== Equipment Repair Function =============================
-function script repairmain {
- .@repairprice = 5000;
- mes "["+getarg(0)+"]";
- mes "Hey there!";
- mes "Do you want me";
- mes "to repair any items?";
- mes "You can count on me";
- mes "for item repairs!";
- next;
- switch(select("Actually, I do have some items...", "None at the moment.")) {
- case 1:
- .@checkitem = 1;
- while (1) {
- if (getbrokenid(.@checkitem) == 0) {
- break;
- }
- ++.@checkitem;
- }
- --.@checkitem;
- if (!.@checkitem) {
- mes "["+getarg(0)+"]";
- mes "Oh wow, this is incredible!";
- mes "You must take very good care of your things. None of your items are damaged!";
- next;
- mes "["+getarg(0)+"]";
- mes "If everyone is like you, I'm going to be unemployed!! Haha~!";
- close;
- }
- mes "["+getarg(0)+"]";
- mes "Hmm...";
- mes "Let's see...";
- mes "Out of all your items,";
- mes "" + .@checkitem + " are damaged.";
- mes "Would you like to repair?";
- next;
- .@totalcost = .@repairprice*.@checkitem;
- mes "["+getarg(0)+"]";
- mes "Each repair costs " + .@repairprice + " Zeny. So to repair all your damaged items would cost " + .@totalcost + " Zeny! Would you like to repair the items?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- if (Zeny < .@totalcost) {
- mes "["+getarg(0)+"]";
- mes "Whoa whoa...";
- mes "Check your wallet before you receive the repair bill! I can't repair anything because you don't have enough Zeny.";
- close;
- }
- .@checkitem2 = 1;
- while (1) {
- if (getbrokenid(.@checkitem2) == 0) {
- break;
- }
- ++.@checkitem2;
- }
- --.@checkitem2;
- if (.@checkitem == .@checkitem2) {
- Zeny -= .@totalcost;
- while (.@checkitem) {
- repair(.@checkitem);
- --.@checkitem;
- }
- mes "["+getarg(0)+"]";
- mes "Okay! All done. Now, try to be a little more careful. Items have lives too you know.";
- close;
- }
- else {
- mes "["+getarg(0)+"]";
- mes "Mmm? Something's wrong. Wait... Equip the items you need to repair and then come back to me.";
- close;
- }
- case 2:
- mes "["+getarg(0)+"]";
- mes "Well, it's no skin off my nose, but it's not good to leave items damaged. You should get them repaired as soon as possible!";
- close;
- }
- case 2:
- mes "["+getarg(0)+"]";
- mes "Hohoho...";
- mes "You don't have";
- mes "any business with me";
- mes "if you don't have any";
- mes "items to repair.";
- close;
- }
-}
diff --git a/npc/merchants/renters.txt b/npc/merchants/renters.txt
deleted file mode 100644
index 201fb2d06..000000000
--- a/npc/merchants/renters.txt
+++ /dev/null
@@ -1,241 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Poki#3
-//= Copyright (C) Komurka
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Renters
-//================= Description ===========================================
-//= Knight and Crusader Peco Peco Breeders, Falcon Breeder scripts
-//================= Current Version =======================================
-//= 2.2
-//=========================================================================
-
-//== PecoPeco Breeder (for Knights) ========================
-prontera,55,350,5 script Peco Peco Breeder#knt 8W_SOLDIER,{
- if(Upper==0) .@price = 2500; //Normal Peco - default price
- if(Upper==1) .@price = 2500; //Armored Peco
- if(Upper==2) .@price = 2500; //Baby Peco
-
- mes "[Peco Peco Breeder]";
- if (BaseJob == Job_Knight && Class < Job_Rune_Knight) {
- mes "Welcome.";
- mes "Honorable Knight,";
- mes "would you like to rent";
- mes "a Peco Peco? The rental";
- mes "fee is "+.@price+" zeny.";
- next;
- switch(select("Rent Peco Peco", "Cancel")) {
- case 1:
- if (Zeny < .@price) {
- mes "[Peco Peco Breeder]";
- mes "You do not";
- mes "have enough zeny.";
- mes "Are you...";
- mes "bankrupt?";
- close;
- }
- else if(getskilllv(KN_RIDING) == 0) {
- mes "[Peco Peco Breeder]";
- mes "I'm sorry, but you're";
- mes "not eligible for this";
- mes "service. Please go learn";
- mes "the Peco Peco Ride skill first.";
- close;
- }
- else if(checkmount()) {
- mes "[Peco Peco Breeder]";
- mes "You're already";
- mes "mounted on a";
- mes "Peco Peco.";
- close;
- } else if(hascashmount()) {
- mes "[Peco Peco Breeder]";
- mes "Please remove your cash mount.";
- close;
- }
- Zeny -= .@price;
- setmount(MOUNT_PECO);
- close;
- case 2:
- mes "[Peco Peco Breeder]";
- mes "I see.";
- mes "Well then,";
- mes "have a good day.";
- close;
- }
- } else {
- mes "I'm sorry, but these";
- mes "Peco Pecos are only";
- mes "available for Knights";
- mes "and Lord Knights.";
- close;
- }
-}
-
-//== Grand PecoPeco Breeder (for Crusaders) ================
-prontera,232,318,3 script Peco Peco Breeder#cru 8W_SOLDIER,{
- if(Upper==0) .@price = 3500; //Normal Peco - default price
- if(Upper==1) .@price = 3500; //Armored Peco
- if(Upper==2) .@price = 3500; //Baby Peco
-
- mes "[PecoPeco Breeder]";
- if (BaseJob == Job_Crusader && Class < Job_Rune_Knight) {
- if(Upper != 1 ) mes "Welcome, Crusader.";
- else mes "Welcome, Paladin.";
- mes "We have a special";
- mes "Peco Peco prepared";
- mes "for you. To rent one";
- mes "will cost "+.@price+" zeny.";
- next;
- switch(select("Rent a PecoPeco", "Quit")) {
- case 1:
- if (Zeny < .@price) {
- mes "[Peco Peco Breeder]";
- mes "You do not";
- mes "have enough zeny.";
- mes "If you would like";
- mes "a Peco Peco please";
- mes "bring "+.@price+" zeny...";
- close;
- }
- else if(getskilllv(KN_RIDING) == 0) {
- mes "[Peco Peco Breeder]";
- mes "You must first learn";
- mes "to ride a PecoPeco before";
- mes "I can rent one to you.";
- close;
- }
- else if(checkmount()) {
- mes "[Peco Peco Breeder]";
- mes "You are already";
- mes "mounted on a Peco Peco.";
- close;
- } else if(hascashmount()) {
- mes "[Peco Peco Breeder]";
- mes "Please remove your cash mount.";
- close;
- }
- Zeny -= .@price;
- setmount(MOUNT_PECO);
- close;
- case 2:
- mes "[PecoPeco Breeder]";
- mes "See you around.";
- close;
- }
- } else {
- mes "What can I do for you?";
- mes "Please be aware that";
- mes "this Peco Peco rental";
- mes "service is strictly for";
- mes "Crusaders and Paladins.";
- close;
- }
-}
-
-//== Falcon Master =========================================
-hu_in01,381,304,5 script Falcon Breeder#hnt 8W_SOLDIER,{
- if(Upper==0) .@price = 2500; //Normal Falcon - default price
- if(Upper==1) .@price = 2500; //Scarf Falcon
- if(Upper==2) .@price = 2500; //Baby Falcon
-
- mes "[Falcon Breeder]";
- if (BaseJob == Job_Hunter) {
- if (checkoption(Option_Wug) || checkoption(Option_Wugrider)) {
- mes "Um...";
- mes "You can't rent a Falcon";
- mes "until you dismiss your warg first!";
- close;
- }
- mes "Do you need a Falcon?";
- mes "You can rent your own";
- mes "trusty bird of prey for a";
- mes "fee of just "+.@price+" zeny~";
- next;
- switch(select("Rent Falcon", "Cancel")) {
- case 1:
- if (checkoption(Option_Wug) || checkoption(Option_Wugrider)) {
- mes "[Falcon Breeder]";
- mes "Um...";
- mes "You can't rent a Falcon";
- mes "until you dismiss your warg first!";
- close;
- }
- if (Zeny < .@price) {
- mes "[Falcon Breeder]";
- mes "What is this?";
- mes "You don't have";
- mes "enough zeny?!";
- mes "You better start";
- mes "hunting money";
- mes "instead of monsters~";
- close;
- }
- else if(getskilllv("HT_FALCON") == 0) {
- mes "[Falcon Breeder]";
- mes "Gosh~";
- mes "Go learn how to";
- mes "manage a Falcon";
- mes "first! I can't rent one";
- mes "to you if you can't";
- mes "handle it, you know.";
- close;
- }
- else if(checkfalcon()) {
- mes "[Falcon Breeder]";
- mes "Um...";
- mes "You already have";
- mes "a Falcon. It's right";
- mes "there, can't you see it?";
- close;
- }
- Zeny -= .@price;
- setfalcon;
- close;
- case 2:
- mes "[Falcon Breeder]";
- mes "W-wait, where're";
- mes "you goin'? These";
- mes "Falcons are top notch,";
- mes "I guarantee it! C'mon, yo~";
- close;
- }
- } else {
- mes "Young fool!";
- mes "Falcons can only";
- mes "be used by Hunters";
- mes "and Snipers, capish?";
- mes "...Heh heh, jealous?";
- close;
- }
-}
diff --git a/npc/merchants/shops.txt b/npc/merchants/shops.txt
deleted file mode 100644
index 4c4442724..000000000
--- a/npc/merchants/shops.txt
+++ /dev/null
@@ -1,1867 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Yommy
-//= Copyright (C) Streusel
-//= Copyright (C) Euphy
-//= Copyright (C) Spre
-//= Copyright (C) Kenpachi
-//= Copyright (C) Masao
-//= Copyright (C) tr0n
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Musashiden
-//= Copyright (C) erKURITA
-//= Copyright (C) Poki#3
-//= Copyright (C) Lupus
-//= Copyright (C) Yor
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) celest
-//= Copyright (C) Darkchild
-//= Copyright (C) kobra_k88
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Shops
-//================= Description ===========================================
-//= Town shop NPCs.
-//================= Current Version =======================================
-//= 3.9
-//=========================================================================
-
-//== Alberta ===============================================
-alberta_in,165,96,0 trader Item Collector#alb 1_F_MERCHANT_02,{
-OnInit:
- sellitem Scell;
- sellitem Monsters_Feed;
-}
-
-alberta_in,180,15,0 trader Armor Dealer#alb 4W_F_01,{
-OnInit:
- sellitem Guard;
- sellitem Buckler;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Boots;
- sellitem Hood;
- sellitem Muffler;
- sellitem Manteau;
- sellitem Glasses;
- sellitem Sunglasses;
- sellitem Divers_Goggles;
- sellitem Cap;
- sellitem Cotton_Shirt;
- sellitem Leather_Jacket;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Wooden_Mail;
- sellitem Silver_Robe;
- sellitem Mantle;
- sellitem Coat;
- sellitem Padded_Armor;
- sellitem Chain_Mail;
- sellitem Novice_Armlet;
-}
-
-alberta_in,188,21,0 trader Weapon Dealer#alb 1_M_03,{
-OnInit:
- sellitem Arrow;
- sellitem Silver_Arrow;
- sellitem Sword;
- sellitem Falchion;
- sellitem Blade;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Rod;
- sellitem Bow;
- sellitem Axe;
- sellitem Battle_Axe;
- sellitem Hammer;
- sellitem Buster;
- sellitem Two_Handed_Axe;
-}
-
-alberta_in,175,97,4 trader Weapon Dealer#alb2 4_KID01,{
-OnInit:
- sellitem Town_Sword;
- sellitem Cinquedea;
-}
-
-//== Aldebaran =============================================
-aldeba_in,20,60,0 trader Armor Dealer#alde 4W_F_01,{
-OnInit:
- sellitem Helm;
- sellitem Buckler;
- sellitem Shield;
- sellitem Mantle;
- sellitem Coat;
- sellitem Padded_Armor;
- sellitem Chain_Mail;
- sellitem Plate_Armor;
- sellitem Manteau;
- sellitem Boots;
- sellitem Novice_Armlet;
- sellitem Belt;
-}
-
-aldeba_in,28,54,0 trader Weapon Dealer#alde 1_M_03,{
-OnInit:
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Dirk;
- sellitem Dagger;
- sellitem Stiletto;
- sellitem Gladius;
- sellitem Damascus;
-}
-
-aldeba_in,22,47,4 trader Weapon Dealer#alde2 4_M_06,{
-OnInit:
- sellitem Town_Sword;
- sellitem Cinquedea;
-}
-
-aldeba_in,94,56,5 trader Tool Dealer#alde 4_M_01,{
-OnInit:
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Spectacles;
- sellitem Leaf_Of_Yggdrasil;
-}
-
-alde_alche,38,184,3 trader Material Seller#alche 4_M_SAGE_C,{
-OnInit:
- sellitem Life_Force_Pot;
- sellitem Yggdrasilberry_Dew;
- sellitem Seed_Of_Life;
- if (RENEWAL) {
- sellitem Melange_Pot;
- sellitem Cooking_Skewer;
- sellitem Black_Charcoal;
- sellitem Large_Cookpot;
- sellitem Fine_Noodle;
- sellitem Cool_Gravy;
- sellitem Bottle_To_Throw;
- }
-}
-
-//== Amatsu ================================================
-ama_in01,89,28,5 trader Armor Dealer#ama 4_F_JPN2,{
-OnInit:
- sellitem Bandana;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Hood;
- sellitem Muffler;
- sellitem Guard;
- sellitem Buckler;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
- sellitem Wooden_Mail;
- sellitem Belt;
-}
-
-ama_in01,102,28,3 trader Weapon Dealer#ama 4_M_JPNOJI,{
-OnInit:
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
-}
-
-ama_in01,24,30,5 trader Tool Dealer#ama 4_M_JPN,{
-OnInit:
- sellitem Arrow;
- sellitem Iron_Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
-}
-
-//== Ninja Shops ===========================================
-que_ng,72,31,2 trader Boonji#nin 4_M_01,{
-OnInit:
- sellitem Shuriken;
- sellitem Nimbus_Shuriken;
- sellitem Flash_Shuriken;
- sellitem Sharp_Leaf_Shuriken;
- sellitem Thorn_Needle_Shuriken;
- if (RENEWAL) {
- sellitem Explosive_Kunai;
- sellitem Makibishi;
- }
-}
-
-que_ng,73,26,5 trader Boonray#nin 4_M_01,{
-OnInit:
- sellitem Arm_Guard;
- sellitem Flame_Stone;
- sellitem Ice_Stone;
- sellitem Wind_Stone;
- sellitem Shadow_Orb;
- sellitem Charm_Fire;
- sellitem Charm_Ice;
- sellitem Charm_Wind;
- sellitem Charm_Earth;
- if (RENEWAL) {
- sellitem Fox_Armguard;
- sellitem Special_Ninja_Suit;
- }
-}
-
-//== Ayothaya ==============================================
-ayo_in01,18,182,1 trader Tool Dealer#ayo 4_F_THAISHAMAN,{
-OnInit:
- sellitem Arrow;
- sellitem Iron_Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
-}
-
-ayo_in01,90,192,3 trader Weapon Dealer#ayo 4_M_THAIONGBAK,{
-OnInit:
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
-}
-
-ayo_in01,90,160,1 trader Armor Dealer#ayo 4_M_THAIOLD,{
-OnInit:
- sellitem Bandana;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Hood;
- sellitem Muffler;
- sellitem Guard;
- sellitem Buckler;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
- sellitem Wooden_Mail;
- sellitem Belt;
-}
-
-//== Brasilis ==============================================
-brasilis,252,257,3 trader Tool Dealer#bra 4_F_BRZ_WOMAN,{
-OnInit:
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Spectacles;
- sellitem Booby_Trap;
- sellitem Leaf_Of_Yggdrasil;
-}
-
-brasilis,244,243,3 trader Weapon Dealer#bra 4_M_BRZ_MAN2,{
-OnInit:
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
- sellitem Coward;
-}
-
-brasilis,201,309,3 trader Pet Groomer#bra 4_M_BRZ_MAN1,{
-OnInit:
- sellitem Pet_Food;
- sellitem Pet_Incubator;
-}
-
-brasilis,221,128,3 trader Fruit Gardener#bra 4_M_BRZ_MAN2,{
-OnInit:
- sellitem Coconut;
- sellitem Banana;
- sellitem Asai_Fruit;
-}
-
-//== Comodo ================================================
-cmd_in01,117,165,4 trader Armor Dealer#cmd 4W_F_01,{
-OnInit:
- sellitem Cap;
- sellitem Helm;
- sellitem Buckler;
- sellitem Shield;
- sellitem Boots;
- sellitem Muffler;
- sellitem Manteau;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Mantle;
- sellitem Coat;
- sellitem Thief_Clothes;
- sellitem Padded_Armor;
- sellitem Chain_Mail;
- sellitem Plate_Armor;
-}
-
-cmd_in01,128,165,2 trader Weapon Dealer#cmd 1_M_03,{
-OnInit:
- sellitem Violin;
- sellitem Mandolin;
- sellitem Lute;
- sellitem Harp;
- sellitem Guh_Moon_Goh;
- sellitem Guitar;
- sellitem Rope;
- sellitem Line;
- sellitem Wire;
- sellitem Tail;
- sellitem Whip;
- sellitem Rante;
-}
-
-cmd_in01,79,182,5 trader Tool Dealer#cmd 4_M_01,{
-OnInit:
- sellitem Iron_Arrow;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Berserk_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Spectacles;
- sellitem Booby_Trap;
-}
-
-comodo,296,125,4 trader Souvenir Vendor#cmd 4W_F_01,{
-OnInit:
- sellitem Clam_Shell;
- sellitem Crap_Shell;
-}
-
-cmd_fild07,257,126,5 trader Tool Dealer#cmd2 4_M_01,{
-OnInit:
- sellitem Iron_Arrow;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Spectacles;
- sellitem Booby_Trap;
-}
-
-cmd_fild07,250,98,2 trader Weapon Dealer#cmd2 1_M_03,{
-OnInit:
- sellitem Javelin;
- sellitem Spear;
- sellitem Pike;
- sellitem Guisarme;
- sellitem Glaive;
- sellitem Partizan;
- sellitem Trident;
- sellitem Halberd;
- sellitem Lance;
-}
-
-cmd_fild07,277,85,4 trader Armor Dealer#cmd2 4W_F_01,{
-OnInit:
- sellitem Cap;
- sellitem Helm;
- sellitem Buckler;
- sellitem Shield;
- sellitem Boots;
- sellitem Muffler;
- sellitem Manteau;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Mantle;
- sellitem Coat;
- sellitem Thief_Clothes;
- sellitem Padded_Armor;
- sellitem Chain_Mail;
- sellitem Plate_Armor;
-}
-
-//== Einbroch ==============================================
-ein_in01,106,27,4 trader One Hand Weapon Dealer 4_F_EINWOMAN,{
-OnInit:
- sellitem Sword;
- sellitem Falchion;
- sellitem Blade;
- sellitem Lapier;
- sellitem Scimiter;
- sellitem Tsurugi;
- sellitem Ring_Pommel_Saber;
- sellitem Haedonggum;
- sellitem Saber;
- sellitem Flamberge;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Dirk;
- sellitem Dagger;
- sellitem Stiletto;
- sellitem Gladius;
- sellitem Damascus;
- sellitem Axe;
- sellitem Javelin;
- sellitem Spear;
- sellitem Pike;
- sellitem Club;
- sellitem Mace;
- sellitem Smasher;
- sellitem Flail;
- sellitem Morning_Star;
- sellitem Sword_Mace;
- sellitem Chain;
- sellitem Stunner;
- sellitem Waghnakh;
- sellitem Knuckle_Duster;
- sellitem Hora;
- sellitem Fist;
- sellitem Claw;
- sellitem Finger;
-}
-
-ein_in01,109,27,4 trader Two Hand Weapon Dealer 4_F_EINWOMAN,{
-OnInit:
- sellitem Katana;
- sellitem Slayer;
- sellitem Bastard_Sword;
- sellitem Two_Hand_Sword;
- sellitem Broad_Sword;
- sellitem Battle_Axe;
- sellitem Hammer;
- sellitem Buster;
- sellitem Two_Handed_Axe;
- sellitem Lance;
- sellitem Guisarme;
- sellitem Glaive;
- sellitem Partizan;
- sellitem Trident;
- sellitem Halberd;
- sellitem Jur;
- sellitem Katar;
- sellitem Jamadhar;
-}
-
-ein_in01,119,26,4 trader Weapon Dealer#ein 4_M_EINMAN,{
-OnInit:
- sellitem Kindling_Dagger;
- sellitem Obsidian_Dagger;
- sellitem Fishermans_Dagger;
- sellitem Jujube_Dagger;
-}
-
-ein_in01,189,15,1 trader Tool Dealer#ein 4_F_EINWOMAN,{
-OnInit:
- sellitem Arrow;
- sellitem Fire_Arrow;
- sellitem Silver_Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
-}
-
-einbroch,138,66,4 trader Flu Mask Dealer#ein 4_F_EINWOMAN,{
-OnInit:
- sellitem Fedora;
- sellitem Flu_Mask;
-}
-
-einbroch,82,199,4 trader Paddler#ein 4_M_EINMAN,{
-OnInit:
- sellitem Apple;
- sellitem Center_Potion;
- sellitem Arrow;
- sellitem Red_Potion;
-}
-
-//== Official Gunslingers shops ============================
-que_ng,179,91,3 trader Chivas Lugal 4_M_HUMERCHANT,{
-OnInit:
- sellitem Branch;
- sellitem Crimson_Bolt;
- sellitem The_Cyclone;
- sellitem Rolling_Stone;
- sellitem Black_Rose;
- sellitem Long_Barrel;
- sellitem Jungle_Carbine;
- sellitem Thunder_P;
-}
-
-que_ng,180,79,3 trader Johnny Waiker 4_M_HUMERCHANT,{
-OnInit:
- sellitem Bullet;
- sellitem Silver_Bullet;
- sellitem Shell_Of_Blood;
-}
-
-//== Geffen ================================================
-geffen_in,26,178,4 trader Armor Dealer#gef 1_F_01,{
-OnInit:
- sellitem Novice_Armlet;
- sellitem Guard;
- sellitem Mirror_Shield;
- sellitem Sandals;
- sellitem Hood;
- sellitem Gemmed_Sallet;
- sellitem Cotton_Shirt;
- sellitem Leather_Jacket;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
-}
-
-geffen_in,30,178,4 trader Weapon Dealer#gef2 1_M_01,{
-OnInit:
- sellitem Arrow;
- sellitem Silver_Arrow;
- sellitem Sword;
- sellitem Bow;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Dirk;
- sellitem Dagger;
- sellitem Stiletto;
- sellitem Rod;
- sellitem Wand;
- sellitem Staff;
- sellitem Arc_Wand;
-}
-
-geffen_in,22,171,7 trader Weapon Dealer#gef 4_M_02,{
-OnInit:
- sellitem Town_Sword;
- sellitem Cinquedea;
-}
-
-geffen_in,74,144,0 trader Trader#gef 1_F_01,{
-OnInit:
- sellitem Scell;
- sellitem Garlet;
- sellitem Zargon;
-}
-
-geffen_in,77,173,0 trader Magical Item Seller#gef 1_M_WIZARD,{
-OnInit:
- sellitem Blue_Gemstone;
- sellitem Rod;
- sellitem Wand;
- sellitem Staff;
- sellitem Arc_Wand;
- sellitem Circlet;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
-}
-
-//== Kunlun ================================================
-gonryun,147,84,5 trader Tool Dealer#gon 4_M_TWOLDMAN,{
-OnInit:
- sellitem Arrow;
- sellitem Iron_Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
-}
-
-gonryun,174,101,3 trader Weapon Dealer#gon 4_M_TWBOY,{
-OnInit:
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
-}
-
-gonryun,173,84,3 trader Armor Dealer#gon 4_F_TWGIRL,{
-OnInit:
- sellitem Bandana;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Hood;
- sellitem Muffler;
- sellitem Guard;
- sellitem Buckler;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
- sellitem Wooden_Mail;
- sellitem Belt;
-}
-
-//== Hugel =================================================
-hugel,105,169,5 trader Vendor from Milk Ranch#h 4_F_01,{
-OnInit:
- sellitem Milk;
-}
-
-hugel,77,167,3 trader Vegetable Gardener#hu 4_F_HUGRANMA,{
-OnInit:
- sellitem Fruit_Of_Mastela;
- sellitem Apple;
- sellitem Banana;
- sellitem Carrot;
- sellitem Sweet_Potato;
- sellitem Pumpkin;
-}
-
-hu_in01,241,368,2 trader Tool Dealer#hu 1_M_INNKEEPER,{
-OnInit:
- sellitem Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
-}
-
-hu_in01,252,368,3 trader Tool Dealer#hu2 4_F_01,{
-OnInit:
- sellitem Blue_Gemstone;
- sellitem Sunglasses;
- sellitem Garlet;
- sellitem Monsters_Feed;
-}
-
-hu_in01,100,390,3 trader Bow Dealer#hu 4_M_04,{
-OnInit:
- sellitem Bow;
- sellitem Great_Bow;
- sellitem Hunter_Bow;
- sellitem Kakkung;
-}
-
-hu_in01,94,390,3 trader Weapon Dealer#hu 4_M_HUMAN_01,{
-OnInit:
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Hammer;
- sellitem Knife;
-}
-
-hu_in01,94,313,3 trader Armor Dealer#hu 4_M_04,{
-OnInit:
- sellitem Goggle;
- sellitem Circlet;
- sellitem Cap;
- sellitem Guard;
- sellitem Buckler;
- sellitem Sandals;
- sellitem Hood;
- sellitem Mantle;
- sellitem Shield;
-}
-
-//== Izlude ================================================
-izlude_in,60,127,4 trader Weapon Dealer#iz 1_F_MARIA,{
-OnInit:
- sellitem Arrow;
- sellitem Silver_Arrow;
- sellitem Bow;
- sellitem Rod;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Sword;
- sellitem Falchion;
- sellitem Blade;
- sellitem Katana;
- sellitem Slayer;
- sellitem Bastard_Sword;
- sellitem Two_Hand_Sword;
- sellitem Broad_Sword;
- sellitem Axe;
-}
-
-izlude_in,70,127,4 trader Armor Dealer#iz 1_M_SIZ,{
-OnInit:
- sellitem Buckler;
- sellitem Shield;
- sellitem Shoes;
- sellitem Boots;
- sellitem Muffler;
- sellitem Manteau;
- sellitem Cap;
- sellitem Helm;
- sellitem Leather_Jacket;
- sellitem Adventure_Suit;
- sellitem Wooden_Mail;
- sellitem Mantle;
- sellitem Coat;
- sellitem Padded_Armor;
- sellitem Chain_Mail;
- sellitem Plate_Armor;
- sellitem Novice_Armlet;
-}
-
-//== Jawaii ================================================
-jawaii,186,174,3 trader Ice Cream Guy#ja 4_M_03,{
-OnInit:
- sellitem Ice_Cream;
- sellitem Ice_Cream;
- sellitem Ice_Cream;
- sellitem Ice_Cream;
- sellitem Ice_Cream;
- sellitem Ice_Cream;
- sellitem Ice_Cream;
-}
-
-//== Juno ==================================================
-yuno,218,97,5 trader Tool Dealer#yuno 4_M_02,{
-OnInit:
- sellitem Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
-}
-
-yuno,226,107,5 trader Tool Dealer#yuno1 4_M_01,{
-OnInit:
- sellitem Scell;
- sellitem Garlet;
- sellitem Zargon;
-}
-
-yuno,197,114,4 trader Pet Groomer#yuno 4_F_TELEPORTER,{
-OnInit:
- sellitem Pet_Food;
- sellitem Pet_Incubator;
- sellitem Backpack;
- sellitem Rocker_Glasses;
- sellitem Bun_;
- sellitem Mojji;
- sellitem Flame_Gemstone;
- sellitem Vital_Flower_;
- sellitem Vital_Flower;
- sellitem Bun_;
- sellitem Damp_Darkness;
- sellitem Small_Snow_Flower;
- sellitem Fresh_Plant;
- sellitem Big_Cell;
- sellitem Apple_Pudding;
- sellitem Mystic_Stone;
- sellitem Flavored_Alcohol;
- sellitem Grilled_Rice_Cake;
- sellitem Fish_With_Blue_Back;
- sellitem Pumpkin_Pie_;
-}
-
-yuno,205,103,4 trader Mr. King's Shop#yuno 4_M_TELEPORTER,{
-OnInit:
- sellitem Novice_Breast;
- sellitem Full_Plate_Armor;
- sellitem Grave;
- sellitem Turban;
- sellitem Gemmed_Sallet;
- sellitem Repeting_CrossBow;
-}
-
-yuno,163,187,5 trader Magical Item Seller#yuno 4_F_01,{
-OnInit:
- sellitem Blue_Gemstone;
- sellitem Rod;
- sellitem Wand;
- sellitem Staff;
- sellitem Arc_Wand;
- sellitem Circlet;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
-}
-
-yuno_in01,25,34,5 trader Tool Dealer#yuno2 4_M_01,{
-OnInit:
- sellitem Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
-}
-
-yuno_in01,103,35,2 trader Weapon Dealer#yuno 1_M_03,{
-OnInit:
- sellitem Arrow;
- sellitem Silver_Arrow;
- sellitem Sword;
- sellitem Bow;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Dirk;
- sellitem Dagger;
- sellitem Stiletto;
- sellitem Rod;
- sellitem Wand;
- sellitem Staff;
- sellitem Arc_Wand;
-}
-
-yuno_in01,112,26,4 trader Armor Dealer#yuno 4W_F_01,{
-OnInit:
- sellitem Novice_Armlet;
- sellitem Guard;
- sellitem Mirror_Shield;
- sellitem Sandals;
- sellitem Hood;
- sellitem Gemmed_Sallet;
- sellitem Cotton_Shirt;
- sellitem Leather_Jacket;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
-}
-
-yuno_in03,176,22,3 trader Scroll Merchant#yuno03 4_M_ORIENT02,{
-OnInit:
- sellitem Scroll; //Temp shop in Yuno that sells Blank Scrolls
-}
-
-//== Lighthalzen ===========================================
-lighthalzen,69,75,5 trader Fruit Gardener#lhz 8_F,{
-OnInit:
- sellitem Apple;
- sellitem Banana;
-}
-
-lighthalzen,112,44,0 trader Flower Girl#lhz 4_F_01,{
-OnInit:
- sellitem Flower;
- sellitem Bunch_Of_Flowers;
- sellitem Witherless_Rose;
-}
-
-lighthalzen,124,129,0 trader Vegetable Gardener#lhz 4_F_02,{
-OnInit:
- sellitem Carrot;
- sellitem Sweet_Potato;
- sellitem Pumpkin;
-}
-
-lighthalzen,220,122,3 trader Vendor from Milk Ranch#l 4_F_01,{
-OnInit:
- sellitem Milk;
-}
-
-lighthalzen,222,191,4 trader Pet Groomer#lhz 4_M_TELEPORTER,{
-OnInit:
- sellitem Pet_Food;
- sellitem Pet_Incubator;
- sellitem Backpack;
- sellitem Rocker_Glasses;
- sellitem Mojji;
- sellitem Vital_Flower_;
- sellitem Flame_Gemstone;
- sellitem Bun_;
-}
-
-lhz_in02,286,95,4 trader Beginner's Merchant#lhz 1_M_SIZ,{
-OnInit:
- sellitem Super_Novice_Hat;
- sellitem Novice_Shoes;
- sellitem Novice_Shield;
- sellitem Novice_Manteau;
-}
-
-lhz_in02,271,99,5 trader Armor Dealer#lhz 4_M_REPAIR,{
-OnInit:
- sellitem Guard;
- sellitem Buckler;
- sellitem Shoes;
- sellitem Boots;
- sellitem Muffler;
- sellitem Silk_Robe;
- sellitem Chain_Mail;
- sellitem Coat;
- sellitem Thief_Clothes;
- sellitem Novice_Armlet;
-}
-
-lhz_in02,276,99,4 trader Weapon Dealer#lhz 4_M_REPAIR,{
-OnInit:
- sellitem Knife;
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
- sellitem Coward;
-}
-
-lhz_in02,273,35,4 trader Wand Dealer#lhz 4_M_EINMAN2,{
-OnInit:
- sellitem Rod;
- sellitem Wand;
- sellitem Staff;
- sellitem Survival_Rod;
- sellitem Survival_Rod2;
-}
-
-lhz_in02,105,21,3 trader Jeweler#lhz 4_F_02,{
-OnInit:
- sellitem Azure_Jewel;
- sellitem Cardinal_Jewel;
- sellitem Blue_Jewel;
- sellitem Golden_Jewel;
- sellitem Bluish_Green_Jewel;
- sellitem Crystal_Jewel;
- sellitem Diamond_Ring;
-}
-
-lhz_in02,17,220,5 trader Vegetable Gardener#lhz2 4_F_02,{
-OnInit:
- sellitem Carrot;
- sellitem Sweet_Potato;
- sellitem Pumpkin;
-}
-
-lhz_in02,21,220,5 trader Fruit Gardener#lhz2 8_F,{
-OnInit:
- sellitem Apple;
- sellitem Banana;
-}
-
-lhz_in02,32,219,5 trader Butcher#lhz 1_M_JOBGUIDER,{
-OnInit:
- sellitem Meat;
-}
-
-lhz_in02,38,145,5 trader Gift Merchant#lhz 4_F_02,{
-OnInit:
- sellitem Red_Frame;
- sellitem Blue_Porcelain;
- sellitem White_Platter;
- sellitem Black_Ladle;
- sellitem Glass_Bead;
-}
-
-lhz_in02,47,148,3 trader Wedding Shop Dealer#lhz 1_F_LIBRARYGIRL,{
-OnInit:
- sellitem Bunch_Of_Flowers;
- sellitem Wedding_Bouquet;
- sellitem Wedding_Dress;
- sellitem Wedding_Veil;
- sellitem Tuxedo;
-}
-
-lhz_in02,31,145,4 trader Tool Dealer#lhz 4_F_01,{
-OnInit:
- sellitem Spectacles;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Berserk_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
- sellitem Leaf_Of_Yggdrasil;
- sellitem Iron_Arrow;
-}
-
-lhz_in02,85,216,5 trader Doll Supplier#lhz 4_F_LGTGIRL,{
-OnInit:
- sellitem Stuffed_Doll;
- sellitem Poring_Doll;
- sellitem Chonchon_Doll;
-}
-
-lhz_in02,87,208,3 trader Toy Supplier#lhz 4_M_PIERROT,{
-OnInit:
- sellitem Spinning_Eyes;
- sellitem Eye_Bandage;
- sellitem Luxury_Sunglasses;
- sellitem Granpa_Beard;
-}
-
-lhz_in03,239,106,5 trader Tool Dealer#lhz2 4_F_EINWOMAN,{
-OnInit:
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
- sellitem Spectacles;
-}
-
-lhz_in03,258,101,3 trader Arrow Merchant#lhz 4_M_EINMAN,{
-OnInit:
- sellitem Arrow;
- sellitem Iron_Arrow;
- sellitem Fire_Arrow;
- sellitem Silver_Arrow;
-}
-
-lhz_in03,249,24,4 trader Merchant#lhz 4_M_EINMAN,{
-OnInit:
- sellitem Scell;
- sellitem Garlet;
- sellitem Zargon;
- sellitem Monsters_Feed;
-}
-
-//== Louyang ===============================================
-lou_in02,121,182,5 trader Armor Dealer#lou 4_F_CHNWOMAN,{
-OnInit:
- sellitem Bandana;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Hood;
- sellitem Muffler;
- sellitem Guard;
- sellitem Buckler;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
- sellitem Wooden_Mail;
- sellitem Belt;
-}
-
-lou_in02,130,182,5 trader Weapon Dealer#lou 4_M_CHNMAN,{
-OnInit:
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
-}
-
-lou_in02,239,176,5 trader Tool Dealer#lou 4_F_CHNWOMAN,{
-OnInit:
- sellitem Arrow;
- sellitem Iron_Arrow;
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
-}
-
-//== Lutie =================================================
-xmas_in,40,38,5 trader Tool Dealer#xmas 4_M_01,{
-OnInit:
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Spectacles;
- sellitem Leaf_Of_Yggdrasil;
-}
-
-xmas_in,168,104,4 trader Armor Dealer#xmas 4W_F_01,{
-OnInit:
- sellitem Helm;
- sellitem Buckler;
- sellitem Shield;
- sellitem Mantle;
- sellitem Coat;
- sellitem Padded_Armor;
- sellitem Chain_Mail;
- sellitem Plate_Armor;
- sellitem Manteau;
- sellitem Boots;
-}
-
-xmas_in,169,34,2 trader Gift Seller#xmas 4_F_GON,{
-OnInit:
- sellitem Flower_Ring;
- sellitem Bunch_Of_Flowers;
- sellitem Witherless_Rose;
- sellitem White_Platter;
- sellitem Glass_Bead;
- sellitem Stuffed_Doll;
- sellitem Diamond_Ring;
-}
-
-xmas_in,174,98,2 trader Weapon Dealer#xmas 1_M_03,{
-OnInit:
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Dirk;
- sellitem Dagger;
- sellitem Stiletto;
- sellitem Gladius;
- sellitem Damascus;
-}
-
-//== Morroc - Post Ep. 12.1 ================================
-in_moc_16,22,20,7 trader Sepulchral Merchant#moc 4_M_MASKMAN,{
-OnInit:
- sellitem Venom_Knife;
-}
-
-moc_ruins,93,53,2 trader Item Collector#moc1 4_M_03,{
-OnInit:
- sellitem Scell;
- sellitem Monsters_Feed;
- sellitem Animals_Skin;
- sellitem Bill_Of_Birds;
-}
-
-moc_ruins,81,113,0 trader Item Collector#moc2 4_M_03,{
-OnInit:
- sellitem Scell;
- sellitem Monsters_Feed;
- sellitem Animals_Skin;
- sellitem Bill_Of_Birds;
-}
-
-moc_ruins,110,105,2 trader Jeweler#moc1 8_F,{
-OnInit:
- sellitem Azure_Jewel;
- sellitem Cardinal_Jewel;
- sellitem Blue_Jewel;
- sellitem Golden_Jewel;
- sellitem Bluish_Green_Jewel;
-}
-
-moc_ruins,52,85,6 trader Jeweler#moc2 4W_M_03,{
-OnInit:
- sellitem Crystal_Jewel;
- sellitem Diamond_Ring;
-}
-
-moc_ruins,113,126,4 trader Trader#moc1 4W_M_03,{
-OnInit:
- sellitem Crystal_Mirror;
-}
-
-moc_ruins,131,138,0 trader Trader#moc2 4_F_04,{
-OnInit:
- sellitem Witherless_Rose;
-}
-
-moc_ruins,71,139,5 trader Trader#moc3 4_F_04,{
-OnInit:
- sellitem Flower_Ring;
-}
-
-moc_ruins,125,135,6 trader Trader#moc4 4_M_ORIENT02,{
-OnInit:
- sellitem Skul_Ring;
- sellitem Sword_Mace;
- sellitem Stunner;
-}
-
-moc_ruins,87,109,0 trader Butcher#moc 1_M_MERCHANT,{
-OnInit:
- sellitem Meat;
-}
-
-moc_ruins,90,149,6 trader Trader#moc5 4W_M_03,{
-OnInit:
- sellitem Banana;
-}
-
-morocc_in,141,67,0 trader Weapon Dealer#moc1 1_M_MERCHANT,{
-OnInit:
- sellitem Arrow;
- sellitem Silver_Arrow;
- sellitem Bow;
- sellitem Rod;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Dirk;
- sellitem Dagger;
- sellitem Stiletto;
- sellitem Gladius;
- sellitem Damascus;
- sellitem Jur;
- sellitem Katar;
- sellitem Jamadhar;
-}
-
-morocc_in,141,60,0 trader Armor Dealer#moc 1_M_MERCHANT,{
-OnInit:
- sellitem Guard;
- sellitem Buckler;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Boots;
- sellitem Hood;
- sellitem Muffler;
- sellitem Flu_Mask;
- sellitem Cotton_Shirt;
- sellitem Leather_Jacket;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Wooden_Mail;
- sellitem Silver_Robe;
- sellitem Mantle;
- sellitem Coat;
- sellitem Thief_Clothes;
- sellitem Novice_Armlet;
-}
-
-morocc_in,132,57,0 trader Weapon Dealer#moc2 4W_M_03,{
-OnInit:
- sellitem Town_Sword;
- sellitem Cinquedea;
-}
-
-//== Moscovia ==============================================
-mosk_in,21,254,5 trader Tool Dealer#mosk 4_M_RUSMAN2,{
-OnInit:
- sellitem Spectacles;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Booby_Trap;
- sellitem Arrow;
-}
-
-mosk_in,31,180,3 trader Weapon Dealer#mosk 4_M_RUSMAN2,{
-OnInit:
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
-}
-
-mosk_in,79,178,1 trader Armor Dealer#mosk 4_F_RUSWOMAN3,{
-OnInit:
- sellitem Bandana;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Hood;
- sellitem Muffler;
- sellitem Guard;
- sellitem Buckler;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
- sellitem Wooden_Mail;
- sellitem Belt;
-}
-
-moscovia,152,71,4 trader Fruit Gardener#mosk 4_M_RUSMAN2,{
-OnInit:
- sellitem Apple;
- sellitem Banana;
- sellitem Carrot;
- sellitem Sweet_Potato;
-}
-
-moscovia,199,110,3 trader Vendor from Milk Ranch#m 4_F_RUSWOMAN1,{
-OnInit:
- sellitem Milk;
-}
-
-//== Niflheim ==============================================
-nif_in,37,93,1 trader Axe Dealer#nif 4_NFCOFFIN,{
-OnInit:
- sellitem Axe;
- sellitem Battle_Axe;
- sellitem Hammer;
- sellitem Buster;
- sellitem Two_Handed_Axe;
-}
-
-nif_in,37,84,1 trader Armor Dealer#nif 4_NFCOFFIN,{
-OnInit:
- sellitem Hood;
- sellitem Hood;
- sellitem Muffler;
- sellitem Muffler;
- sellitem Manteau;
- sellitem Manteau;
-}
-
-nif_in,145,23,1 trader Tool Dealer#nif 4_NFCOFFIN,{
-OnInit:
- sellitem Pumpkin;
- sellitem Pumpkin_Head;
- sellitem Tree_Root;
- sellitem Goats_Horn;
- sellitem Pet_Food;
- sellitem Poison_Powder;
- sellitem Single_Cell;
- sellitem Mementos;
-}
-
-//== Payon =================================================
-payon_in01,15,119,0 trader Weapon Dealer#pay 1_F_ORIENT_03,{
-OnInit:
- sellitem Arrow;
- sellitem Silver_Arrow;
- sellitem Sword;
- sellitem Falchion;
- sellitem Blade;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Rod;
- sellitem Bow;
- sellitem Composite_Bow;
- sellitem Great_Bow;
- sellitem CrossBow;
- sellitem Arbalest;
- sellitem Kakkung;
- sellitem Hunter_Bow;
-}
-
-payon_in01,5,129,7 trader Weapon Dealer#pay2 4_F_KID2,{
-OnInit:
- sellitem Town_Sword;
- sellitem Cinquedea;
-}
-
-payon_in01,7,119,2 trader Armor Dealer#pay 1_F_ORIENT_02,{
-OnInit:
- sellitem Sandals;
- sellitem Shoes;
- sellitem Boots;
- sellitem Hood;
- sellitem Muffler;
- sellitem Manteau;
- sellitem Ribbon;
- sellitem Bandana;
- sellitem Eye_Bandage;
- sellitem Cotton_Shirt;
- sellitem Leather_Jacket;
- sellitem Adventure_Suit;
- sellitem Silk_Robe;
- sellitem Wooden_Mail;
- sellitem Silver_Robe;
- sellitem Mantle;
- sellitem Coat;
- sellitem Tights;
- sellitem Novice_Armlet;
-}
-
-//== Prontera ==============================================
-prontera,73,134,0 trader Vendor from Milk Ranch#p 4_F_01,{
-OnInit:
- sellitem Milk;
-}
-
-prontera,104,49,0 trader Fruit Gardener#prt 8_F,{
-OnInit:
- sellitem Apple;
- sellitem Banana;
-}
-
-prontera,64,125,0 trader Butcher#prt 4_M_BARBER,{
-OnInit:
- sellitem Meat;
- sellitem Monsters_Feed;
-}
-
-prontera,58,182,0 trader Flower Girl#prt 4W_KID,{
-OnInit:
- sellitem Flower;
- sellitem Bunch_Of_Flowers;
-}
-
-prontera,113,42,0 trader Flower Lady#prt 4_F_01,{
-OnInit:
- sellitem Flower;
- sellitem Bunch_Of_Flowers;
-}
-
-prontera,105,87,0 trader Gift Merchant#prt 4_F_02,{
-OnInit:
- sellitem Red_Frame;
- sellitem Blue_Porcelain;
- sellitem White_Platter;
- sellitem Black_Ladle;
- sellitem Glass_Bead;
-}
-
-prontera,248,153,0 trader Doll Supplier#prt 4_M_03,{
-OnInit:
- sellitem Stuffed_Doll;
- sellitem Poring_Doll;
- sellitem Chonchon_Doll;
-}
-
-prontera,48,58,0 trader Vegetable Gardener#prt 4_F_02,{
-OnInit:
- sellitem Carrot;
- sellitem Sweet_Potato;
- sellitem Pumpkin;
-}
-
-prt_church,108,124,4 trader Nun#prt 1_F_PRIEST,{
-OnInit:
- sellitem Rosary;
- sellitem Biretta;
- sellitem Blue_Coif;
- sellitem Scapulare;
- sellitem Saint_Robe;
- sellitem Club;
- sellitem Mace;
- sellitem Smasher;
- sellitem Flail;
- sellitem Morning_Star;
- sellitem Chain;
-}
-
-prt_in,211,169,0 trader Wedding Shop Dealer#prt 1_F_LIBRARYGIRL,{
-OnInit:
- sellitem Bunch_Of_Flowers;
- sellitem Wedding_Bouquet;
- sellitem Wedding_Dress;
- sellitem Wedding_Veil;
- sellitem Tuxedo;
-}
-
-prt_in,172,130,0 trader Weapon Dealer#prt 1_M_JOBGUIDER,{
-OnInit:
- sellitem Arrow;
- sellitem Silver_Arrow;
- sellitem Bow;
- sellitem Knife;
- sellitem Cutter;
- sellitem Main_Gauche;
- sellitem Rod;
- sellitem Sword;
- sellitem Falchion;
- sellitem Blade;
- sellitem Lapier;
- sellitem Scimiter;
- sellitem Ring_Pommel_Saber;
- sellitem Tsurugi;
- sellitem Haedonggum;
- sellitem Saber;
- sellitem Flamberge;
- sellitem Katana;
- sellitem Axe;
-}
-
-prt_in,172,132,0 trader Armor Dealer#prt 1_M_02,{
-OnInit:
- sellitem Guard;
- sellitem Buckler;
- sellitem Sandals;
- sellitem Shoes;
- sellitem Hood;
- sellitem Muffler;
- sellitem Hat;
- sellitem Cap;
- sellitem Cotton_Shirt;
- sellitem Leather_Jacket;
- sellitem Adventure_Suit;
- sellitem Wooden_Mail;
- sellitem Mantle;
- sellitem Coat;
- sellitem Padded_Armor;
- sellitem Chain_Mail;
- sellitem Novice_Armlet;
- sellitem Belt;
-}
-
-prt_in,171,140,0 trader Weapon Dealer#prt2 1_M_01,{
-OnInit:
- sellitem Javelin;
- sellitem Spear;
- sellitem Pike;
- sellitem Guisarme;
- sellitem Glaive;
- sellitem Partizan;
- sellitem Trident;
- sellitem Halberd;
- sellitem Lance;
-}
-
-prt_in,165,140,4 trader Weapon Dealer#prt3 1_F_01,{
-OnInit:
- sellitem Town_Sword;
- sellitem Cinquedea;
-}
-
-prt_monk,135,263,5 trader Weapon Dealer#prt4 4_F_JOB_BLACKSMITH,{
-OnInit:
- sellitem Waghnakh;
- sellitem Knuckle_Duster;
- sellitem Hora;
-}
-
-//== Rachel ================================================
-ra_in01,175,364,3 trader Armor Dealer#ra 4_F_SHABBY,{
-OnInit:
- sellitem Guard;
- sellitem Buckler;
- sellitem Shoes;
- sellitem Boots;
- sellitem Muffler;
- sellitem Silk_Robe;
- sellitem Chain_Mail;
- sellitem Coat;
- sellitem Thief_Clothes;
- sellitem Novice_Armlet;
-}
-
-ra_in01,257,269,3 trader Tool Dealer#ra 4_F_SHABBY,{
-OnInit:
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Spectacles;
- sellitem Booby_Trap;
- sellitem Leaf_Of_Yggdrasil;
-}
-
-ra_in01,176,389,3 trader Weapon Dealer#ra 4_M_RACHMAN1,{
-OnInit:
- sellitem Knife;
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
- sellitem Coward;
- sellitem Rod;
- sellitem Wand;
- sellitem Staff;
-}
-
-ra_in01,254,300,3 trader Fruit Gardener#ra 4_M_RACHMAN1,{
-OnInit:
- sellitem Apple;
- sellitem Banana;
-}
-
-rachel,65,80,1 trader Vegetable Gardener#ra 4_F_SHABBY,{
-OnInit:
- sellitem Carrot;
- sellitem Pumpkin;
- sellitem Sweet_Potato;
-}
-
-//== Turtle Island =========================================
-tur_dun01,158,54,6 trader Tool Dealer#tu 4W_M_03,{
-OnInit:
- sellitem Arrow;
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Luxury_Sunglasses;
-}
-
-//== Umbala ================================================
-um_in,104,124,3 trader Tool Dealer#um 4_M_UMOLDMAN,{
-OnInit:
- sellitem Apple;
- sellitem Carrot;
- sellitem Pumpkin;
- sellitem Sweet_Potato;
- sellitem Banana;
- sellitem Meat;
- sellitem Monsters_Feed;
- sellitem Pet_Food;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Leaf_Of_Yggdrasil;
-}
-
-um_in,160,125,3 trader Weapon Dealer#um 4_M_UMSOLDIER,{
-OnInit:
- sellitem Club;
- sellitem Mace;
- sellitem Smasher;
- sellitem Flail;
- sellitem Morning_Star;
- sellitem Chain;
- sellitem Fist;
- sellitem Finger;
- sellitem Claw;
-}
-
-//== Veins =================================================
-ve_in,386,245,3 trader Weapon Dealer#ve 4_M_RACHMAN1,{
-OnInit:
- sellitem Knife;
- sellitem Main_Gauche;
- sellitem Stiletto;
- sellitem Blade;
- sellitem Ring_Pommel_Saber;
- sellitem Katana;
- sellitem Bastard_Sword;
-}
-
-ve_in,336,243,3 trader Weapon Dealer#ve2 4_M_RACHMAN1,{
-OnInit:
- sellitem Pike;
- sellitem Partizan;
- sellitem Hammer;
- sellitem Chain;
- sellitem Coward;
-}
-
-ve_in,374,230,3 trader Armor Dealer#ve 4_F_SHABBY,{
-OnInit:
- sellitem Guard;
- sellitem Buckler;
- sellitem Shoes;
- sellitem Boots;
- sellitem Muffler;
- sellitem Silk_Robe;
- sellitem Chain_Mail;
- sellitem Coat;
- sellitem Thief_Clothes;
- sellitem Novice_Armlet;
-}
-
-ve_in,243,303,5 trader Tool Dealer#ve 4_M_DESERT,{
-OnInit:
- sellitem Red_Potion;
- sellitem Orange_Potion;
- sellitem Yellow_Potion;
- sellitem White_Potion;
- sellitem Green_Potion;
- sellitem Center_Potion;
- sellitem Awakening_Potion;
- sellitem Wing_Of_Fly;
- sellitem Wing_Of_Butterfly;
- sellitem Spectacles;
- sellitem Booby_Trap;
- sellitem Leaf_Of_Yggdrasil;
-}
-
-ve_in,253,304,5 trader Fruit Gardener#ve 4_F_DST_CHILD,{
-OnInit:
- sellitem Apple;
- sellitem Banana;
-}
-
-ve_in,252,313,0 trader Magical Item Seller#ve 4_F_DST_GRAND,{
-OnInit:
- sellitem Blue_Gemstone;
- sellitem Rod;
- sellitem Wand;
- sellitem Staff;
- sellitem Arc_Wand;
- sellitem Circlet;
- sellitem Silk_Robe;
- sellitem Silver_Robe;
-}
-
-//== Cooking Addition ======================================
-aldebaran,165,107,2 trader Chef Assistant#alde 4W_M_01,{
-OnInit:
- sellitem Red_Spice;
- sellitem Yellow_Spice;
- sellitem Bread;
-}
-
-comodo,225,164,3 trader Chef Assistant#cmd 4_M_01,{
-OnInit:
- sellitem Hot_Sauce;
- sellitem Sweet_Sauce;
- sellitem Plain_Sauce;
- sellitem Delicious_Fish;
-}
-
-umbala,102,154,3 trader Chef Assistant#um 4_M_01,{
-OnInit:
- sellitem Red_Spice;
- sellitem Grain;
-}
-
-yuno,130,173,3 trader Chef Assistant#yuno 4_M_01,{
-OnInit:
- sellitem Cooking_Oil;
- sellitem Pot;
-}
-
-einbroch,224,207,5 trader Chef Assistant#ein 4_M_01,{
-OnInit:
- sellitem Cooking_Oil;
-}
-
-lighthalzen,126,126,3 trader Chef Assistant#lhz 4_M_01,{
-OnInit:
- sellitem Red_Spice;
- sellitem Yellow_Spice;
-}
-
-amatsu,206,150,3 trader Chef Assistant#ama 4_M_01,{
-OnInit:
- sellitem Sweet_Sauce;
- sellitem Delicious_Fish;
-}
-
-louyang,256,123,5 trader Chef Assistant#lou 4_M_CHNCOOK,{
-OnInit:
- sellitem Plain_Sauce;
- sellitem Grain;
-}
-
-gonryun,147,101,5 trader Chef Assistant#gon 4_M_01,{
-OnInit:
- sellitem Yellow_Spice;
- sellitem Bread;
-}
-
-ayothaya,203,178,3 trader Chef Assistant#ayo 4_M_01,{
-OnInit:
- sellitem Hot_Sauce;
- sellitem Grain;
-}
-
-xmas,152,137,5 trader Chef Assistant#xmas 4_M_01,{
-OnInit:
- sellitem Cooking_Oil;
- sellitem Grain;
-}
-
-niflheim,209,180,5 trader Chef Assistant#nif 4_M_01,{
-OnInit:
- sellitem Mushroom;
-}
diff --git a/npc/merchants/socket_enchant.txt b/npc/merchants/socket_enchant.txt
deleted file mode 100644
index a67b80b46..000000000
--- a/npc/merchants/socket_enchant.txt
+++ /dev/null
@@ -1,376 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) ultramage
-//= Copyright (C) SinSloth
-//= Copyright (C) Evera
-//= Copyright (C) Toms
-//= Copyright (C) Lupus
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Episode 11.1 Socket Enchant NPC
-//================= Description ===========================================
-//= Adds slots to selected weapons and armor.
-//================= Current Version =======================================
-//= 2.0a
-//=========================================================================
-
-- script Seiyablem#dummy::SocketEnchant FAKE_NPC,{
- if (checkweight(Knife,1) == 0)
- {
- mes "- Wait a minute !! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please try again -";
- mes "- after you lose some weight. -";
- close;
- }
- mes "[Seiyablem]";
- mes "I'm an engineer that specializes in adding Slots to normal Weapons and Armor.";
- mes "My service fee, the required materials and the chance of success all depend on the specific item I'm working on.";
- next;
- mes "[Seiyablem]";
- mes "Adding Slots may seem simple, but it's far more complicated than it looks.";
- mes "If you're interested in my service, let me know.";
- next;
- switch(select("Add Slot to Weapon", "Add Slot to Armor", "Slot Attempt Info", "Cancel"))
- {
- case 1:
- mes "[Seiyablem]";
- mes "You want to add a Slot to a weapon?";
- mes "I categorize weapons by their difficulty in adding a Slot, C Class being easiest and S Class the most difficult.";
- mes "Which class would you like to try?";
- next;
- switch(select("C Class", "B Class", "A Class", "S Class"))
- {
- case 1:
- mes "[Seiyablem]";
- mes "C Class, eh?";
- mes "Now, I can only upgrade certain equipment in that class, so please choose one of the following items, so we can try to add a Slot to it.";
- next;
- switch(select("Trident", "Rope", "Violin"))
- {
- case 1: callfunc "Func_Socket",1460,1461,40,66,200,1010,10;
- case 2: callfunc "Func_Socket",1950,1951,40,66,200,1010,10;
- case 3: callfunc "Func_Socket",1901,1902,40,66,200,1010,10;
- }
- case 2:
- mes "[Seiyablem]";
- mes "B Class?";
- mes "Alright, this is the average equipment category.";
- mes "Please choose the weapon to which you'd like me to try to add a Slot.";
- next;
- switch(select("Chain", "Gladius", "Gakkung Bow", "Pike", "Haedonggum", "Lute", "Wire", "Waghnakh", "Arbalest Bow"))
- {
- case 1: callfunc "Func_Socket",1519,1520,40,61,300,1010,10;
- case 2: callfunc "Func_Socket",1219,1220,40,61,300, 984, 1,999,5;
- case 3: callfunc "Func_Socket",1714,1716,40,61,300, 984, 2,999,5;
- case 4: callfunc "Func_Socket",1407,1408,40,61,200,1010,10;
- case 5: callfunc "Func_Socket",1123,1128,40,61,300, 984, 2,999,5;
- case 6: callfunc "Func_Socket",1905,1906,40,61,300,1011,10;
- case 7: callfunc "Func_Socket",1954,1955,40,61,300,1011,10;
- case 8: callfunc "Func_Socket",1801,1802,40,61,300,1010,10;
- case 9: callfunc "Func_Socket",1713,1715,40,61,300, 984, 2,999,5;
- }
- case 3:
- mes "[Seiyablem]";
- mes "Ooh, A Class.";
- mes "This is some high risk territory!";
- mes "Alright, which weapon would you like me to try adding a Slot?";
- next;
- switch(select("Hunter Bow", "Survivor's Rod(INT)", "Zweihander", "Flamberge", "Infiltrator", "Ballista", "Stunner", "Berserk", "Claymore"))
- {
- case 1: callfunc "Func_Socket",1718,1726,40,61,500,984,2,999,10;
- case 2: callfunc "Func_Socket",1619,1620,40,61,500,984,5,999,10;
- case 3: callfunc "Func_Socket",1168,1171,40,61,800,984,5,999,10;
- case 4: callfunc "Func_Socket",1129,1149,40,61,500,984,2,999,10;
- case 5: callfunc "Func_Socket",1261,1266,40,61,700,984,5,999,10;
- case 6: callfunc "Func_Socket",1722,1727,40,61,500,984,5,999,10;
- case 7: callfunc "Func_Socket",1522,1532,40,61,500,984,2,999,10;
- case 8: callfunc "Func_Socket",1814,1816,40,61,500,984,5,999,10;
- case 9: callfunc "Func_Socket",1163,1172,40,61,500,984,2,999,10; // NPC says "5 Oridecon" (Aegis) but takes only 2
- }
- case 4:
- mes "[Seiyablem]";
- mes "Whoa, whoa, whoa...";
- mes "S class? Alright...";
- mes "It'd be a near miracle if I can actually pull this off.";
- mes "Okay... Which weapon shall we try adding a Slot to?";
- next;
- switch(select("Gungnir", "Poison Knife", "Ice Pick", "Sucsamad", "Ginnungagap", "Cutlas", "Crescent Scythe", "Survivor's Rod(DEX)"))
- {
- case 1: callfunc "Func_Socket", 1413, 1418,40,51,1000,984,5,999,10;
- case 2: callfunc "Func_Socket", 1239,13016,40,51,1000,984,5,999,10;
- case 3: callfunc "Func_Socket", 1230,13017,40,51,2000,984,5,999,10;
- case 4: callfunc "Func_Socket", 1236,13018,40,51,1000,984,5,999,10;
- case 5: callfunc "Func_Socket",13002,13019,40,51,1000,984,5,999,10;
- case 6: callfunc "Func_Socket", 1135,13400,40,51,1000,984,5,999,10;
- case 7: callfunc "Func_Socket", 1466, 1476,40,51,1000,984,5,999,10;
- case 8: callfunc "Func_Socket", 1617, 1618,40,51,2000,984,5,999,10;
- }
- }
- case 2:
- mes "[Seiyablem]";
- mes "Armor, you said?";
- mes "Sure, no problem.";
- mes "Armor is divided into 4 different classes, depending on the work difficulty.";
- mes "C Class is the easiest one, and S Class is the hardest one.";
- mes "Which class would you like to try?";
- next;
- switch(select("C Class", "B Class", "A Class", "S Class"))
- {
- case 1:
- mes "[Seiyablem]";
- mes "C Class Armor, eh?";
- mes "Sounds reasonable.";
- mes "Which armor would you like to try adding a Slot?";
- next;
- switch(select("Mantle", "Coat", "Circlet", "Biretta"))
- {
- case 1: callfunc "Func_Socket",2307,2308,40,66,200,999,3;
- case 2: callfunc "Func_Socket",2309,2310,40,66,200,999,3;
- case 3: callfunc "Func_Socket",2232,2233,40,66,200,999,3;
- case 4: callfunc "Func_Socket",2216,2217,40,66,200,999,3;
- }
- case 2:
- mes "[Seiyablem]";
- mes "You have chosen average B Class.";
- mes "So, what kind of armor do you have?";
- next;
- switch(select("Mirror Shield", "Chain Mail", "Saint Robe", "Silk Robe", "Boots", "Shoes", "Muffler", "Guard", "Buckler", "Shield", "Bongun Hat"))
- {
- case 1: callfunc "Func_Socket",2107,2108,40,61,250,999,5;
- case 2: callfunc "Func_Socket",2314,2315,40,61,250,999,5;
- case 3: callfunc "Func_Socket",2325,2326,40,61,300,999,5;
- case 4: callfunc "Func_Socket",2321,2322,40,61,300,999,5;
- case 5: callfunc "Func_Socket",2405,2406,40,61,300,999,5;
- case 6: callfunc "Func_Socket",2403,2404,40,61,300,999,5;
- case 7: callfunc "Func_Socket",2503,2504,40,61,300,999,5;
- case 8: callfunc "Func_Socket",2101,2102,40,61,300,999,5;
- case 9: callfunc "Func_Socket",2103,2104,40,61,300,999,5;
- case 10: callfunc "Func_Socket",2105,2106,40,61,250,999,5;
- case 11: callfunc "Func_Socket",5046,5168,40,61,250,999,5;
- }
- case 3:
- mes "[Seiyablem]";
- mes "Ooh, A Class.";
- mes "This is some high risk territory!";
- mes "Alright, which armor would you like me to try adding a Slot?";
- next;
- switch(select("Gemmed Sallet", "Bucket Hat", "Memory Book", "Tights", "Legion Plate Armor", "Full Plate", "Thief Clothes", "Greaves", "Coif", "Manteau", "Helm", "Ninja Suit", "Orc Helm", "Ancient Cape", "Monk Hat", "Golden Gear", "Brooch", "Munak Hat"))
- {
- case 1: callfunc "Func_Socket",2230,2231,40,61,400,985,1;
- case 2: callfunc "Func_Socket",5114,5120,40,61,400,985,1;
- case 3: callfunc "Func_Socket",2109,2121,40,61,400,985,1;
- case 4: callfunc "Func_Socket",2330,2331,40,61,400,985,1;
- case 5: callfunc "Func_Socket",2341,2342,40,61,400,985,1;
- case 6: callfunc "Func_Socket",2316,2317,40,61,400,985,1;
- case 7: callfunc "Func_Socket",2335,2336,40,61,400,985,1;
- case 8: callfunc "Func_Socket",2411,2412,40,61,400,985,1;
- case 9: callfunc "Func_Socket",5092,5093,40,61,400,985,1;
- case 10: callfunc "Func_Socket",2505,2506,40,61,400,985,1;
- case 11: callfunc "Func_Socket",2228,2229,40,61,400,985,1;
- case 12: callfunc "Func_Socket",2337,2359,40,61,400,985,1;
- case 13: callfunc "Func_Socket",2299,5157,40,61,400,985,1;
- case 14: callfunc "Func_Socket",2507,2525,40,61,400,985,1;
- case 15: callfunc "Func_Socket",2251,5158,40,61,400,985,1;
- case 16: callfunc "Func_Socket",2246,5159,40,61,400,985,1;
- case 17: callfunc "Func_Socket",2605,2625,40,61,400,985,1;
- case 18: callfunc "Func_Socket",2264,5167,40,61,300,985,1;
- }
- case 4:
- mes "[Seiyablem]";
- mes "Um... S Class?";
- mes "You sure about this?";
- mes "Alright... Let me know the Armor to which you'd like to add a Slot, and I'll tell what I need to try it.";
- next;
- switch(select("Majestic Goat", "Spiky Band", "Bone Helm", "Corsair", "Crown", "Tiara", "Sphinx Hat", "Robe of Cast", "Earring", "Ring", "Bow Thimble"))
- {
- case 1: callfunc "Func_Socket",2256,5160,40,51,2000,985,2;
- case 2: callfunc "Func_Socket",2258,5161,40,51,2000,985,2;
- case 3: callfunc "Func_Socket",5017,5162,40,51,2000,985,2;
- case 4: callfunc "Func_Socket",5019,5163,40,51,2000,985,2;
- case 5: callfunc "Func_Socket",2235,5165,40,51,2000,985,2;
- case 6: callfunc "Func_Socket",2234,5164,40,51,2000,985,2;
- case 7: callfunc "Func_Socket",5053,5166,40,51,1000,985,2;
- case 8: callfunc "Func_Socket",2343,2360,40,51,1000,985,2;
- case 9: callfunc "Func_Socket",2602,2622,40,51,1000,985,2;
- case 10: callfunc "Func_Socket",2601,2621,40,51,1000,985,2;
- case 11: callfunc "Func_Socket",2619,2671,40,51,1000,985,2;
- }
- }
- case 3:
- mes "[Seiyablem]";
- mes "Well, I haven't really refined the art of Slot Addition.";
- mes "It's so complicated that I'd be lying if I told you that I knew every factor that affected the process.";
- mes "Still, I do notice a few trends...";
- next;
- mes "[Seiyablem]";
- mes "In some towns, Slot addition attempts are more successful for equipment with fewer upgrades.";
- mes "In other towns, the opposite is true.";
- mes "Isn't that really peculiar?";
- next;
- mes "[Seiyablem]";
- mes "Oh, there's also something really important that you should know.";
- mes "If you ask me to add a Slot to something, make sure that you don't have multiples of it in your inventory.";
- next;
- mes "[Seiyablem]";
- mes "Here's an example: if you have a +7 Manteau and a normal Manteau in your inventory, then I will randomly pick one of them for my Slot Addition attempt.";
- mes "Just remember to be careful.";
- next;
- mes "[Seiyablem]";
- mes "Again, ^FF0000only carry one of the equipment to which you want me to add a Slot^000000.";
- mes "All other equipment with the same name should be placed in your Kafra Storage, got it?";
- close;
- case 4:
- mes "[Seiyablem]";
- mes "Take it easy, adventurer.";
- mes "If you ever want to try adding a Slot to some of your equipment, come back and let me know.";
- mes "Seeya~";
- close;
- }
-}
-
-function script Func_Socket {
-
- disable_items;
- mes "[Seiyablem]";
- mes "You want to add a Slot to a " + getitemname(getarg(0)) + "?";
- mes "Alright, please bring me ^FF0000" + getarg(6) + " " + getitemname(getarg(5)) + (getarg(6) > 1 && getarg(5) != 999 ? "s":"") + "^000000, " + (getarg(7,0) != 0 && getarg(8,0) != 0 ? ("^FF0000" + getarg(8,0) + " " + getitemname(getarg(7,0)) + (getarg(8,0) > 1 && getarg(7,0) != 999 ? "s":"") + "^000000 ") : "") + "and my ^FF0000" + (getarg(4) >= 1000 ? (getarg(4)/1000 + ",000") : getarg(4)) + ",000 zeny^000000 service fee.";
- mes "Ah, and don't forget to bring that " + getitemname(getarg(0)) + "!";
- next;
- mes "[Seiyablem]";
- if (getiteminfo(getarg(0), ITEMINFO_LOC) & EQP_HAND_R) {
- // EQP_HAND_R = 2, it's a weapon
- mes "I can try to add a slot now if you have the required items and zeny.";
- mes "However, you should know that there's a chance that I might fail.";
- mes "Therefore, I need to give you a fair warning...";
- next;
- mes "[Seiyablem]";
- mes "If this attempt to add a Slot to your Weapon fails, then the ^FF0000Weapon^000000, ^FF0000and any Cards compounded to it will be destroyed^000000.";
- } else {
- // armor
- mes "If you have all the required materials, my zeny service fee and the Armor, then we can go ahead with the Slot Addition attempt.";
- mes "But before that, I must warn you of the risk.";
- next;
- mes "[Seiyablem]";
- mes "If this attempt to add a Slot to your Armor fails, then the ^FF0000Armor^000000, ^FF0000it's upgrades^000000 ^FF0000and any Cards compounded to it will be destroyed^000000.";
- }
- mes "Do you still want to try to add a Slot?";
- next;
- switch(select("Attempt Slot Addition", "Cancel"))
- {
- case 1:
- if ((Zeny >= getarg(4)*1000) && (countitem(getarg(5)) >= getarg(6)) && (countitem(getarg(7,512)) >= getarg(8,0)) && (countitem(getarg(0)) > 0)) // if there's no getarg(7) and getarg(8) provided, check itemcount against 0 (we still need a valid item ID though)
- {
- mes "[Seiyablem]";
- mes "Alright then, let the work begin!";
- mes "You'd better pray for a successful result.";
- next;
- .@a = rand(1,100);
- if ((.@a > getarg(2)) && (.@a < getarg(3)))
- {
- specialeffect getarg(3) == 51 ? EF_LORD : EF_SANCTUARY; // only S Class items have Lord of Vermillion effect
- mes "[Seiyablem]";
- mes "Great, it seems to be successful.";
- mes "It looks pretty well done. Congratulations!";
- delitem getarg(0),1;
- delitem getarg(5),getarg(6);
- if (getarg(7,0) != 0 && getarg(8,0) != 0)
- delitem getarg(7),getarg(8);
- Zeny -= getarg(4)*1000;
- getitem getarg(1),1;
- next;
- mes "[Seiyablem]";
- mes "See you again, buddy!";
- close;
- }
- else
- {
- specialeffect EF_SUI_EXPLOSION;
- mes "[Seiyablem]";
- mes "Wah! ...I am so sorry, it failed.";
- mes "However, I am completely innocent.";
- mes "This is your luck, and it is destined by god, okay?";
- mes "Don't be so disappointed, and try next time.";
- delitem getarg(0),1;
- delitem getarg(5),getarg(6);
- if (getarg(7,0) != 0 && getarg(8,0) != 0)
- delitem getarg(7),getarg(8);
- Zeny -= getarg(4)*1000;
- next;
- mes "[Seiyablem]";
- mes "I wish you good luck next time!";
- close;
- }
- }
- else
- {
- mes "[Seiyablem]";
- mes "I'd like to go ahead with this Slot Addition attempt, but you're missing a few things.";
- mes "You sure that you have the equipment, required materials and the zeny?";
- close;
- }
- case 2:
- mes "[Seiyablem]";
- mes "Need some time to think about it, huh?";
- mes "Alright, I can understand.";
- mes "Just remember that life's no fun if you're always playing it safe~";
- close;
- }
-}
-
-payon,140,151,5 duplicate(SocketEnchant) Seiyablem#pay 4_M_02
-lhz_in02,281,35,5 duplicate(SocketEnchant) Seiyablem#lhz 4_M_02
-prt_in,33,70,5 duplicate(SocketEnchant) Seiyablem#prt 4_M_02
-morocc,51,41,4 duplicate(SocketEnchant) Seiyablem#moc 4_M_02
-
-- script Young Man#dummy::SocketMan FAKE_NPC,{
- mes "[Young Man]";
- mes "I'm considering becoming a Slotting Engineer.";
- mes "It's a new field where you can add Slots to equipment, and it'd be cool if I can work in such a lucrative career.";
- next;
- mes "[Young Man]";
- mes "There's a huge element of luck involved in successfully adding Slots from what I can understand.";
- mes "You fail sometimes, but if you're super lucky, you can add two Slots.";
- mes "Crazy. Huh?";
- next;
- mes "[Young Man]";
- mes "But don't get too excited.";
- mes "Only certain equipment can handle the addition of two extra Slots.";
- mes "There's so much more I have to learn before I can even be an apprentice...";
- close;
-}
-
-prt_in,31,57,1 duplicate(SocketMan) Young Man#prt 4W_M_01
-payon,143,143,7 duplicate(SocketMan) Young Man#pay 4W_M_01
-morocc,60,42,3 duplicate(SocketMan) Young Man#moc 4W_M_01
-lhz_in02,269,33,5 duplicate(SocketMan) Young Man#lhz 4W_M_01
diff --git a/npc/merchants/socket_enchant2.txt b/npc/merchants/socket_enchant2.txt
deleted file mode 100644
index 9745ff062..000000000
--- a/npc/merchants/socket_enchant2.txt
+++ /dev/null
@@ -1,491 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Gepard
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Episode 12 Socket Enchant NPC
-//================= Description ===========================================
-//= Adds slots to selected weapons and armor.
-//================= Current Version =======================================
-//= 1.1a
-//=========================================================================
-
-- script Leablem#dummy::SocketEnchant2 FAKE_NPC,{
- if (checkweight(Knife,1) == 0)
- {
- mes "- Wait a minute !! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please try again -";
- mes "- after you lose some weight. -";
- close;
- }
- mes "[Leablem]";
- mes "Good day. My name is Leablem,";
- mes "and I'm a technician that specializes in";
- mes "adding slots to weapons and armors.";
- mes "It can be very hard sometimes, but I like";
- mes "what I do, and take pride in it.";
- next;
- mes "[Leablem]";
- mes "I've learned most of the things from my brother, Seyablem,";
- mes "but I think I still have a lot to learn.";
- mes "So please understand my slotting services are limited,";
- mes "unlike my brother Seyablem.";
- next;
- mes "[Leablem]";
- mes "My brother wasn't so happy to teach me";
- mes "his skills because he was worried that his skills";
- mes "wouldn't be unique anymore. He did, however, his best";
- mes "to teach me.";
- next;
- mes "[Leablem]";
- mes "Thanks to him, I've learned lots of things.";
- mes "I'm not very confident";
- mes "in trying many different things,";
- mes "but I'll do what";
- mes "I can do for now.";
- next;
- mes "[Leablem]";
- mes "In fact, there's one thing";
- mes "that my brother doesn't want me to do.";
- mes "I don't want to upset him, so...let's just skip that part.";
- mes "I'll say no more about it!";
- next;
- mes "[Leablem]";
- mes "Anyways, do you have any equipment";
- mes "which you'd like to add to the slots?";
- mes "My service charge, the materials,";
- mes "and the success chance all depend on";
- mes "the specific item I'm working on.";
- next;
- switch(select("Weapon", "Armor", "About that thing you skipped", "More information", "Quit"))
- {
- case 1:
- mes "[Leablem]";
- mes "Weapon, you said? Sure, no problem.";
- mes "Weapons are divided into 4 different class";
- mes "depending on the work difficulty.";
- mes "C class is the easiest one, and S class is the hardest one.";
- mes "Which class would you like to try?";
- next;
- switch(select("C", "B", "A", "S"))
- {
- case 1:
- mes "[Leablem]";
- mes "C class, I see.";
- mes "So, what kind of weapon do you have?";
- next;
- switch(select("Book of Mother Earth", "Book of Billows", "Book of Gust of Wind", "Book of the Blazing Sun"))
- {
- case 1: callfunc "Func_Socket2",1554,1569,40,66,200,1010,10;
- case 2: callfunc "Func_Socket2",1553,1568,40,66,200,1010,10;
- case 3: callfunc "Func_Socket2",1556,1571,40,66,200,1010,10;
- case 4: callfunc "Func_Socket2",1555,1570,40,66,200,1010,10;
- }
- case 2:
- mes "[Leablem]";
- mes "You have chosen average B class.";
- mes "So, what kind of weapon do you have?";
- next;
- switch(select("Orcish Axe", "Scimiter", "Spike"))
- {
- case 1: callfunc "Func_Socket2",1304,1309,40,66,200,984,1;
- case 2: callfunc "Func_Socket2",1113,1114,40,66,200,984,1;
- case 3: callfunc "Func_Socket2",1523,1538,40,61,300,984,1;
- }
- case 3:
- mes "[Leablem]";
- mes "A class? You seem to want little too much. But, no problem.";
- mes "So, what kind of weapon do you have?";
- next;
- switch(select("Dragon Killer", "Katar of Quaking", "Katar of Raging Blaze", "Katar of Frozen Icicle", "Katar of Piercing Wind", "Golden Mace", "Oriental Lute", "Queen's Whip", "Spectral Spear", "Gae Bolg", "Schweizersabel"))
- {
- case 1: callfunc "Func_Socket2",13001,13030,40,61,500,984,2;
- case 2: callfunc "Func_Socket2", 1257, 1276,40,66,500,984,2;
- case 3: callfunc "Func_Socket2", 1258, 1277,40,66,500,984,2;
- case 4: callfunc "Func_Socket2", 1256, 1275,40,66,500,984,2;
- case 5: callfunc "Func_Socket2", 1259, 1278,40,66,500,984,2;
- case 6: callfunc "Func_Socket2", 1524, 1539,40,61,500,984,2;
- case 7: callfunc "Func_Socket2", 1918, 1922,40,61,500,984,2;
- case 8: callfunc "Func_Socket2", 1970, 1976,40,61,500,984,2;
- case 9: callfunc "Func_Socket2", 1477, 1479,40,56,500,984,2;
- case 10: callfunc "Func_Socket2", 1474, 1480,40,56,500,984,2;
- case 11: callfunc "Func_Socket2", 1167, 1178,40,61,500,984,2;
- }
- case 4:
- mes "[Leablem]";
- mes "Huh, S Class?! Oh my god, are you serious?*Tremble*";
- mes "So...which S class weapon would you like to make a slot?!";
- next;
- switch(select("Zephyrus", "Mailbreaker", "Dragon Slayer", "Swordbreaker", "Assasin Dagger", "Grand Cross", "Executioner"))
- {
- case 1: callfunc "Func_Socket2",1468, 1481,40,51,1000,984,5,999,10;
- case 2: callfunc "Func_Socket2",1225,13032,40,51,1000,984,5,999,10;
- case 3: callfunc "Func_Socket2",1166, 1180,40,51,1000,984,5,999,10;
- case 4: callfunc "Func_Socket2",1224,13031,40,51,1000,984,5,999,10;
- case 5: callfunc "Func_Socket2",1232,13033,40,51,1000,984,5,999,10;
- case 6: callfunc "Func_Socket2",1528, 1540,40,51,1000,984,5,999,10;
- case 7: callfunc "Func_Socket2",1169, 1179,40,51,1000,984,5,999,10;
- }
- }
- case 2:
- mes "[Leablem]";
- mes "Armor, you said? Sure, no problem.";
- mes "Weapons are divided into 4 different class";
- mes "depending on the work difficulty.";
- mes "C class is the easiest one, and S class is the hardest one.";
- mes "Which class would you like to try?";
- next;
- switch(select("C", "B", "A", "S"))
- {
- case 1:
- mes "[Leablem]";
- mes "C class, I see.";
- mes "So, what kind of armor do you have?";
- next;
- switch(select("Sunflower", "Ph.D Hat", "Big Ribbon", "Boys Cap"))
- {
- case 1: callfunc "Func_Socket2",2253,5351,40,66,100,999,3;
- case 2: callfunc "Func_Socket2",5012,5347,40,66,100,999,3;
- case 3: callfunc "Func_Socket2",2244,5348,40,66,100,999,5;
- case 4: callfunc "Func_Socket2",5016,5349,40,66,100,999,5;
- }
- case 2:
- mes "[Leablem]";
- mes "You have chosen average B class.";
- mes "So, what kind of armor do you have?";
- next;
- switch(select("Skull Ring", "High Heels"))
- {
- case 1: callfunc "Func_Socket2",2609,2715,40,61,300,999,5;
- case 2: callfunc "Func_Socket2",2409,2432,40,61,300,999,5;
- }
- case 3:
- mes "[Leablem]";
- mes "A class? You seem to want little too much. But, no problem.";
- mes "So, what kind of armor do you have?";
- next;
- switch (select("Pirate Bandana", "Black Leather Boots", (RENEWAL?"Special Ninja Suit": ""))) {
- case 1: callfunc "Func_Socket2",2287,5350,50,61,500,985,1; // 50,61 - it's not a typo
- case 2: callfunc "Func_Socket2",2425,2434,40,51,500,985,1;
- case 3: callfunc "Func_Socket2",15053,15056,50,61,500,985,1;
- }
- case 4:
- mes "[Leablem]";
- mes "Huh, S Class?! Oh my god, are you serious?*Tremble*";
- mes "So...which S class armor would you like to make a slot?!";
- next;
- switch(select("Mage Coat", "Holy Robe", "Sacred Mission", "Undershirt", "Pantie"))
- {
- case 1: callfunc "Func_Socket2",2334,2372,40,51,1000,985,1; // Mage Coat has 10% success chance
- case 2: callfunc "Func_Socket2",2327,2373,45,51,1000,985,1; // the rest has 5%
- case 3: callfunc "Func_Socket2",2111,2128,45,51,1000,985,1;
- case 4: callfunc "Func_Socket2",2522,2523,45,51,1000,985,1;
- case 5: callfunc "Func_Socket2",2339,2371,45,51,1000,985,1;
- }
- }
- case 3:
- mes "[Leablem]";
- mes "Oh, it's nothing special, but he thinks";
- mes "it's not something for humans to mess with. ";
- mes "I don't want to upset my brother,";
- mes "so I'd better forget about it.";
- next;
- mes "[Leablem]";
- mes "...That service itself has a very high success chance,";
- mes "but requires a lot of materials and a high-rate service charge. ";
- mes "I highly doubt that anyone would actually want to use";
- mes "the service, even if I did open it.";
- next;
- mes "[Leablem]";
- mes "...Ummm...";
- next;
- mes "[Leablem]";
- mes ".............";
- next;
- mes "[Leablem]";
- mes ".............";
- next;
- mes "[Leablem]";
- mes "You seem interested in using that service.";
- mes "If you want, I can at least tell you about it. ";
- mes "But you must promise to keep this a secret.";
- mes "If my brother finds out what I'm about to tell you,";
- mes "he's gonna give me a beating!";
- next;
- mes "[Leablem]";
- mes "This special service has a 90% success chance,";
- mes "but requires 2 Gold and 2 hundred million zeny:";
- mes "I can add slots to the Hat of the Sun God.";
- next;
- mes "[Leablem]";
- mes "My brother said that, even since ancient times, it's forbidden to modify that hat. ";
- mes "But I believe humans are too curious not to";
- mes "experiment, especially when it's forbidden.";
- mes "I just don't want my brother to yell at me. That's all.";
- next;
- switch(select("Use the Service","Quit"))
- {
- case 1:
- mes "[Leablem]";
- mes ".................";
- next;
- mes "[Leablem]";
- mes ".................";
- next;
- mes "[Leablem]";
- mes "...Wh... What? No!";
- mes "Giving me that dirty look";
- mes "won't make me do it!";
- mes "No, I said no! No is no! No!";
- next;
- mes "[Leablem]";
- mes "No, I won't! No!";
- next;
- mes "[Leablem]";
- mes "I can't do it...";
- next;
- mes "[Leablem]";
- mes "I can't do... It...";
- next;
- mes "[Leablem]";
- mes ".................";
- next;
- mes "[Leablem]";
- mes "Umm...";
- next;
- mes "[Leablem]";
- mes "You're so persistent. Okay, I'll make you an exception.";
- mes "Just don't tell anyone,";
- mes "especially my brother. Do you promise?";
- next;
- mes "[Leablem]";
- mes "Okay then, please bring me";
- mes "^FF00002 Gold, 2 hundred million zeny -- the service charge --,";
- mes "^FF0000and a Hat of the Sun God.";
- mes "^FF0000You know your chance of success is 90% with this, don't you?^000000";
- mes "We don't have time to waste,";
- mes "so let's get down to business right away.";
- next;
- if ((Zeny > 199999999) && (countitem(Gold) > 1) && (countitem(Helm_Of_Sun) > 0))
- {
- mes "[Leablem]";
- mes "Shall we start now?";
- mes "Pray to your gods for good luck.";
- next;
- .@a = rand(1,100);
- if ((.@a > 4) && (.@a < 95))
- {
- specialeffect EF_LORD;
- mes "[Leablem]";
- mes "Excellent! Wow, I guess the 90% success chance is true!";
- mes "Look, the slot was added in the perfect place.";
- mes "Congratulations.";
- delitem Helm_Of_Sun,1;
- delitem Gold,2;
- Zeny -= 200000000;
- getitem Helm_Of_Sun_,1;
- next;
- mes "[Leablem]";
- mes "This is the first and last time I will do this for you.";
- mes "Don't ever tell anyone";
- mes "about this. Okay?";
- close;
- }
- else
- {
- specialeffect EF_SUI_EXPLOSION;
- mes "[Leablem]";
- mes "Wah! Oh my god, we failed!";
- mes "My god, I guess we had the worst kind of luck...";
- mes "What should we do? ...This is why";
- mes "I didn't want to do in the first place!";
- delitem Helm_Of_Sun,1;
- delitem Gold,2;
- Zeny -= 200000000;
- next;
- mes "[Leablem]";
- mes "No, don't ever ask me to do such a risky thing again!";
- mes "Bah~";
- close;
- }
- }
- else
- {
- mes "[Leablem]";
- mes "Umm...";
- next;
- mes "[Leablem]";
- mes "You don't have enough materials.";
- mes "Man, why did you even ask me to try?";
- mes "I'm not going to do this again for you,";
- mes "even if you bring enough materials. Bah~";
- close;
- }
- case 2:
- mes "[Leablem]";
- mes "Don't ever tell anyone";
- mes "about what I told you. Okay?";
- close;
- }
- case 4:
- mes "[Leablem]";
- mes "Do you want to know more information?";
- mes "Well, I don't think there's something";
- mes "that you specifically need to know.";
- mes "But I can at least give you a tip.";
- next;
- mes "[Leablem]";
- mes "The slot technicians in each town";
- mes "provide different slotting success chances";
- mes "depending on your equipment's upgrade level.";
- mes "I don't know if that's true,";
- mes "but I can see the difference in each town.";
- next;
- mes "[Leablem]";
- mes "For instance, a slot technician in one town";
- mes "provides a higher success chance to";
- mes "equipment items at higher upgrade levels,";
- mes "while a technician in another town has higher";
- mes "success at lower upgrade levels.";
- next;
- mes "[Leablem]";
- mes "When you fail to add a slot, the equipment";
- mes "will become broken and disappear.";
- mes "I try my best to succeed, but";
- mes "slotting is complicated work.";
- next;
- mes "[Leablem]";
- mes "Oh, there's an important thing that you need to be careful about.";
- mes "^FF0000Try not to carry two identical equipment items";
- mes "^FF0000with you when you add slots.";
- mes "^FF0000Otherwise, slots may be added to one of the randomly chosen items,";
- mes "^FF0000and in the worst case, you may lose an item that is more valuable to you.^000000";
- next;
- mes "[Leablem]";
- mes "I hope this information will be helpful to you.";
- mes "Thanks.";
- close;
- case 5:
- mes "[Leablem]";
- mes "Alright, then.";
- close;
- }
-}
-
-payon,236,199,3 duplicate(SocketEnchant2) Leablem#pay 4_M_04
-lighthalzen,96,137,3 duplicate(SocketEnchant2) Leablem#lhz 4_M_04
-prt_in,22,60,6 duplicate(SocketEnchant2) Leablem#prt 4_M_04
-moc_ruins,154,86,3 duplicate(SocketEnchant2) Leablem#moc 4_M_04
-
-function script Func_Socket2 {
-
- disable_items;
- mes "[Leablem]";
- if(getarg(7,0) != 0 && getarg(8,0) != 0)
- {
- mes getitemname(getarg(0)) + "... Okay, then you need to bring me";
- mes "^FF0000" + (getarg(4) >= 1000 ? (getarg(4)/1000 + ",000") : getarg(4)) + ",000 zeny as service charge,";
- mes "^FF0000" + getarg(6) + "ea " + getitemname(getarg(5)) + " and " + getarg(8) + "ea " + getitemname(getarg(7)) + ".";
- mes "^FF0000Of course, you need a " + getitemname(getarg(0)) + ".^000000";
- }
- else
- {
- mes getitemname(getarg(0)) + "? Okay, then you need to bring me";
- mes "^FF0000" + (getarg(4) >= 1000 ? (getarg(4)/1000 + ",000") : getarg(4)) + ",000 zeny as service charge and " + getarg(6) + " " + getitemname(getarg(5)) + (getarg(6) > 1 && getarg(5) != 999 ? "s":"") + " as the requirement.";
- mes "^FF0000Of course, don't forget to bring me a " + getitemname(getarg(0)) + ".";
- mes "^FF0000You should have all items.^000000";
- }
- next;
- mes "[Leablem]";
- mes "Did you already bring all of them?";
- mes "For your information, if you fail to create a slot,";
- mes "you will lose all the item requirement as well as the target " + ((getiteminfo(getarg(0), ITEMINFO_LOC) & EQP_HAND_R) ? "weapon" : "armor") + "."; // EQP_HAND_R = 2, it's a weapon, otherwise armor
- mes "Also remember, if the " + ((getiteminfo(getarg(0), ITEMINFO_LOC) & EQP_HAND_R) ? "weapon" : "armor") + " has been upgraded, and has been inserted with a card,";
- mes "you will lose them even if you succeed in creating a slot.";
- next;
- switch(select("Ask for slot creation.", "Try next time."))
- {
- case 1:
- if ((Zeny >= getarg(4)*1000) && (countitem(getarg(5)) >= getarg(6)) && (countitem(getarg(7,512)) >= getarg(8,0)) && (countitem(getarg(0)) > 0)) // if there's no getarg(7) and getarg(8) provided, check itemcount against 0 (we still need a valid item ID though)
- {
- mes "[Leablem]";
- mes "Alright then, let the work begin!";
- mes "You'd better pray for a successful result.";
- next;
- .@a = rand(1,100);
- if ((.@a > getarg(2)) && (.@a < getarg(3)))
- {
- specialeffect EF_LORD;
- mes "[Leablem]";
- mes "Great, it seems to be successful.";
- mes "It looks pretty well done. Congratulations!";
- delitem getarg(0),1;
- delitem getarg(5),getarg(6);
- if (getarg(7,0) != 0 && getarg(8,0) != 0)
- delitem getarg(7),getarg(8);
- Zeny -= getarg(4)*1000;
- getitem getarg(1),1;
- next;
- mes "[Leablem]";
- mes "See you again, buddy!";
- close;
- }
- else
- {
- specialeffect EF_SUI_EXPLOSION;
- mes "[Leablem]";
- mes "Wah! ...I am so sorry, it failed.";
- mes "However, I am completely innocent.";
- mes "This is your luck, and it is destined by god, okay?";
- mes "Don't be so disappointed,";
- mes "and try next time.";
- delitem getarg(0),1;
- delitem getarg(5),getarg(6);
- if (getarg(7,0) != 0 && getarg(8,0) != 0)
- delitem getarg(7),getarg(8);
- Zeny -= getarg(4)*1000;
- next;
- mes "[Leablem]";
- mes "See you again, buddy!";
- close;
- }
- }
- else
- {
- mes "[Leablem]";
- mes "Are you stupid or what? You didn't bring all of the required items!";
- mes "Go bring them quick!";
- close;
- }
- case 2:
- mes "[Leablem]";
- mes "See you next time.";
- close;
- }
-}
diff --git a/npc/merchants/wander_pet_food.txt b/npc/merchants/wander_pet_food.txt
deleted file mode 100644
index 0f405698a..000000000
--- a/npc/merchants/wander_pet_food.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2012-2020 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//=
-//= Hercules is free software: you can redistribute it and/or modify
-//= it under the terms of the GNU General Public License as published by
-//= the Free Software Foundation, either version 3 of the License, or
-//= (at your option) any later version.
-//=
-//= This program is distributed in the hope that it will be useful,
-//= but WITHOUT ANY WARRANTY; without even the implied warranty of
-//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-//= GNU General Public License for more details.
-//=
-//= You should have received a copy of the GNU General Public License
-//= along with this program. If not, see <http://www.gnu.org/licenses/>.
-//=========================================================================
-//= Spirit Liquor trader.
-//================= Description ===========================================
-//= Trade Broken Liquor Jars and alcohol for wanderer pet food, 'Spirit
-//= Liquor'
-//================= Current Version =======================================
-//= 1.0
-//=========================================================================
-
-prontera,218,218,3 script Pet Enthusiast 4W_KID,{
- mes "[Pet Enthusiast Jenny]";
- mes "Oh, Hi there!";
- mes "Are you a lover of animals like I am?";
- next;
- mes "[Pet Enthusiast Jenny]";
- mes "I know that it's really hard to keep your cute pets happy.";
- mes "All it takes is the right kind of food.";
- next;
- mes "[Pet Enthusiast Jenny]";
- mes "I know that sometimes it is really hard to get the right food for your pet.";
- next;
- mes "[Pet Enthusiast Jenny]";
- mes "Do you have any food that you are looking for?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- if ((countitem(Broken_Wine_Vessel) > 19) && (countitem(Alchol) > 0)) {
- mes "[Pet Enthusiast Jenny]";
- mes "Oh, you have ^ff000020 Broken Liquor Jar^000000s and ^ff00001 Alcohol^000000!";
- mes "Do you want to exchange them for";
- mes "^ff000020 Spirit Liquor^000000 for your Wanderer pet?";
- next;
- switch(select("Yes, please!", "No thank you.")) {
- case 1:
- mes "[Pet Enthusiast Jenny]";
- mes "Ok here you go then.";
- mes "I hope it keeps your";
- mes "cute pet happy.";
- delitem Broken_Wine_Vessel,20;
- delitem Alchol,1;
- getitem Spirit_Liquor,20;
- close;
- case 2:
- mes "[Pet Enthusiast Jenny]";
- mes "Hehe, well just let me know if you change your mind.";
- close;
- }
- }
- else {
- mes "[Pet Enthusiast Jenny]";
- mes "Actually, right now I can help you get Spirit Liquor for Wanderer pets.";
- next;
- mes "[Pet Enthusiast Jenny]";
- mes "All you have to do is bring me ^FF0000 20 Broken Liquor Jars^000000 and ^FF0000 1 Alcohol^000000.";
- mes "I can give you ^FF0000 20 Spirit Liquor^000000 for that.";
- next;
- mes "You can get the Broken Liquor Jars from Tengu monsters in Amatsu dungeon.";
- close;
- }
- case 2:
- close;
- }
-}
-
-prontera,220,218,3 script Berry Toe 4_DONKEY,{
- specialeffect EF_CHANGEDARK;
- end;
-}