diff options
Diffstat (limited to 'npc/merchants')
30 files changed, 0 insertions, 9969 deletions
diff --git a/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt deleted file mode 100644 index 6d19d68e4..000000000 --- a/npc/merchants/advanced_refiner.txt +++ /dev/null @@ -1,161 +0,0 @@ -//===== Hercules Script ====================================== -//= Advanced Refiner -//===== By: ================================================== -//= L0ne_W0lf -//===== Current Version: ===================================== -//= 1.5 -//===== Description: ========================================= -//= [Official Conversion] -//= Refiner that uses Enriched ores to increase upgrade success. -//= 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. -//===== Additional Comments: ================================= -//= 1.0 First Version. [L0ne_W0lf] -//= 1.1 Fixed a weird carriage return. o_o [L0ne_W0lf] -//= 1.2 Optimizing refine method [Zephyrus] -//= 1.3 Typo fixes [Yommy] -//= 1.4 Removed unnecessary dialogs [Zephyrus] -//= 1.4a Added 'disable_items' command. [Euphy] -//= 1.4b Fixed coordinates. [Euphy] -//= 1.5 Some official script updates. [Euphy] -//============================================================ - -payon,157,146,6 script Suhnbi#cash 4_M_03,{ - disable_items; - 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."; - 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) { - 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) > rand(100) || getequippercentrefinery(.@part) > 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)) < 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 91dc048c9..000000000 --- a/npc/merchants/alchemist.txt +++ /dev/null @@ -1,165 +0,0 @@ -//===== Hercules Script ====================================== -//= Alchemist Shop -//===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= 1.8 -//===== Description: ========================================= -//= Merchants for Alchemist Materials and Manuals. -//===== Additional Comments: ================================= -//= 1.1 fixed Medicine Bowl issue, thanx 2 MasterOfMuppets -//= 1.2 Reddozen's fixes of typos. added optional Elemental -//= Potion Guide. [Lupus] -//= 1.3 Deleted Elemental Potions Guide due to original quest [Lupus] -//= 1.4 Alchemists can now purchase 2000 Medicine Bowls at once. [SinSloth] -//= 1.5 Updated to Aegis 10.3 Standards. [L0ne_W0lf] -//= 1.6 Corrected canceling purchase. [L0ne_W0lf] -//= 1.7 Updated to match AEGIS script. [Masao] -//= 1.8 Moved Craft Book Merchant to Renewal path. [Euphy] -//============================================================ - -alde_alche,24,188,3 script Guild Dealer 2_M_ALCHE,{ - if (checkweight(1201,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 - 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,0,2001; - if (.@input == 0) { - mes "[Gever Al Sharp]"; - mes "The deal was cancelled."; - mes "Come again next time."; - close; - } - else if (.@input < 1 || .@input > 2000) { - mes "[Gever Al Sharp]"; - mes "The number must"; - mes "be less than 2000."; - next; - } - else { - break; - } - } - .@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 7134,.@input; //Medicine_Bowl - 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,7144,100000; //Normal_Potion_Book - break; - case 2: - callsub S_SellManual,7127,100000; //Alcol_Create_Book - break; - case 3: - callsub S_SellManual,7128,100000; //FireBottle_Create_Book - break; - case 4: - callsub S_SellManual,7129,100000; //Acid_Create_Book - break; - case 5: - callsub S_SellManual,7130,100000; //Plant_Create_Book - break; - case 6: - callsub S_SellManual,7131,100000; //Mine_Create_Book - break; - case 7: - callsub S_SellManual,7132,100000; //Coating_Create_Book - break; - case 8: - callsub S_SellManual,7133,240000; //Slim_Potion_Create_Book - 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 5039bbbf0..000000000 --- a/npc/merchants/ammo_boxes.txt +++ /dev/null @@ -1,135 +0,0 @@ -//===== Hercules Script ====================================== -//= Magazine Dealers -//===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= 1.5 -//===== Description: ========================================= -//= Turns bullets into magazines/packs. -//===== Additional Comments: ================================= -//= 1.0 First version. [SinSloth] -//= 1.1 Optimized version - Reduced to only one function [SinSloth] -//= 1.2 Optimized^2, corrected npc's name [ultramage] -//= 1.2a Optimized. Please, ommit extra NPC names [Lupus] -//= 1.3 Updated to match AEGIS script. [Kisuka] -//= 1.4 Updated to match AEGIS script again. [Masao] -//= 1.5 Moved Izlude duplicate to pre-re/re paths. [Euphy] -//============================================================ - -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 382916b10..000000000 --- a/npc/merchants/ammo_dealer.txt +++ /dev/null @@ -1,123 +0,0 @@ -//===== Hercules Script ====================================== -//= Bullet Dealers -//===== By =================================================== -//= Playtester, Paradox924X -//===== Version ============================================== -//= 1.5 -//===== Description ========================================== -//= Bullet trader. -//===== Comments ============================================= -//= 1.0 First version [Playtester] -//= 1.1 Converted from Aegis [Paradox924X] -//= 1.2 More optimized conversion [Legionaire] -//= 1.2a Removed .GATs [Lupus] -//= 1.3 Fixed [Playtester] Optimized. Got rid of @vars [Lupus] -//= 1.4 Updated to match AEGIS script. [Kisuka] -//= 1.5 Updated to match AEGIS script again. [Masao] -//= 1.6 Moved Izlude duplicate to pre-re/re paths. [Euphy] -//============================================================ - -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(1010) >= .@amount && countitem(1011) >= .@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 dcd7dde9b..000000000 --- a/npc/merchants/buying_shops.txt +++ /dev/null @@ -1,249 +0,0 @@ -//===== Hercules Script ====================================== -//= Buying Shop Scripts -//===== By: ================================================== -//= Kisuka -//===== Current Version: ===================================== -//= 1.1a -//===== Description: ========================================= -//= Buying Shop licenses. -//===== Additional Comments: ================================= -//= 1.0 First version. [Kisuka] -//= 1.1 Added Catalog Magician. [Euphy] -//= 1.1a Moved Catalog Magician to Renewal path. [Euphy] -//============================================================ - -// 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; - } else if (.@input > 10) { - mes "I can only make up to 10 at a time, you know."; - next; - } else { - 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."; - } else { - 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; - } else if (.@input > 50) { - mes "Please enter a value of 50 or less."; - next; - } else { - 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 6377,.@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(0)+"]"; - 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 6377,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 db0b91a66..000000000 --- a/npc/merchants/cash_hair.txt +++ /dev/null @@ -1,123 +0,0 @@ -//===== Hercules Script ====================================== -//= Cash Hair Stylist -//===== By: ================================================== -//= Kisuka -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= Exchange cash item, New_Style_Coupon, for new hair styles. -//===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//============================================================ - -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 == 1) { - 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(7622) > 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 == 1) { - if(select("Emergency Heal Perm:Aura Blade Cut") == 1) { - delitem 7622,1; // New_Style_Coupon - setlook 1,24; - }else{ - delitem 7622,1; // New_Style_Coupon - setlook 1,25; - } - }else{ - if(select("Assumptio Perm:Soul Changer Cut") == 1) { - delitem 7622,1; // New_Style_Coupon - setlook 1,24; - }else{ - delitem 7622,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 28db3e69a..000000000 --- a/npc/merchants/cash_trader.txt +++ /dev/null @@ -1,25 +0,0 @@ -//===== Hercules Script ====================================== -//= Cash Shop NPCs -//===== By: ================================================== -//= L0ne_W0lf -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Sell Cash shop items. -//= Based on iRO's Cash shop. Headgears omitted. -//===== Additional Comments: ================================= -//= 1.0 First Version. Sample shop per-say. -//= 1.1 FIxed typo. (bugreport:1078) [L0ne_W0lf] -//============================================================ - -// 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 f9a6cd089..000000000 --- a/npc/merchants/cashheadgear_dye.txt +++ /dev/null @@ -1,117 +0,0 @@ -//===== Hercules Script ====================================== -//= Headgear Dyer (Cash) -//===== By: ================================================== -//= Xantara -//= Maud_Dib -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= [Official Conversion] -//= Change headgear's color. Cost is a Mysterious Dyestuff -//===== Additional Comments: ================================= -//= 1.0 First / Optimized Version -//============================================================ - -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(0) +"]"; - 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 b7e90febf..000000000 --- a/npc/merchants/clothes_dyer.txt +++ /dev/null @@ -1,174 +0,0 @@ -//===== Hercules Script ====================================== -//= Clothes Dyer -//===== By: ================================================== -//= Usnul -//===== Current Version: ===================================== -//= 2.5 -//===== Description: ========================================= -//= Clothes dyer with standard palletes -//===== Additional Comments: ================================= -//= Fully working -//= 2.1 Shortened some labels to make this script loading, -//= Added Black+White Colors desc [Lupus] -//= 2.1a added adv classes + baby class support [Lupus] -//= 2.2 Spell checked. [Nexon] -//= 2.3 Fixed dis $hit! [Poki#3] -//= 2.4 Disabled cloth dyeing since it's not implemented -// on official servers and cause your client to crash -// [Playtester] -//= 2.5 Optimized. [Euphy] -//============================================================ - -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) Dyes(4,1,6,2,5,3); else Dyes(6,1,3,2,5,3,4,4); - case Job_Swordman: - if (Sex) Dyes(4,1,6,2,5,3); else Dyes(3,1,5,3,4,4); - case Job_Mage: - if (Sex) Dyes(3,1,2,2,1,3,7,4); else Dyes(3,1,2,2,7,3,4,4); - case Job_Archer: - if (Sex) Dyes(4,1,2,2,5,3); else Dyes(3,1,5,2,7,3,4,4); - case Job_Acolyte: - if (Sex) Dyes(6,1,3,2,7,3,4,4); else Dyes(3,1,5,3,4,4); - case Job_Merchant: - if (Sex) Dyes(4,1,6,2,5,3); else Dyes(2,1,5,3,4,4); - case Job_Thief: - if (Sex) Dyes(5,1,3,2,7,4); else Dyes(3,1,7,3,4,4); - case Job_Knight: - case Job_Crusader: - if (Sex) Dyes(2,1,3,3,4,4); else Dyes(6,1,7,3,4,4); - case Job_Priest: - case Job_Monk: - if (Sex) 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) 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) 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) Dyes(4,1,6,2,5,3); else Dyes(6,1,5,3,2,4); - case Job_Assassin: - case Job_Rogue: - if (Sex) Dyes(6,1); else Dyes(4,1,8,2,7,3); - case Job_SuperNovice: - if (Sex) 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: - goto 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) goto 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: - goto 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 5a63c5708..000000000 --- a/npc/merchants/coin_exchange.txt +++ /dev/null @@ -1,87 +0,0 @@ -//===== Hercules Script ====================================== -//= Coin Merchants -//===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= [Official Conversion] -//= Coin redemption NPCs. -//===== Additional Comments: ================================= -//= 1.0 First version -//= 1.1 Fixed checkweight. [Gepard] -//= 1.2 Optimized and merged into one file. [Euphy] -//============================================================ - -// Manuk & Splendide -//============================================================ -- script ::merchant_13_2 -1,{ - .@n$ = "["+strnpcinfo(1)+"]"; - mes .@n$; - if (isequipped(2782) && ep13_2_rhea == 100) { - if (!checkweight(1201,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(1) == "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(1) == "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 bca4ef276..000000000 --- a/npc/merchants/dye_maker.txt +++ /dev/null @@ -1,200 +0,0 @@ -//===== Hercules Script ====================================== -//= Dye Maker -//===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= [Official Conversion] -//= Quests to create the eight colored Dyestuffs. -//===== Additional Comments: ================================= -//= 1.0 Fully working [kobra_k88] -//= 1.1 Spell Checked [Nexon] -//= 1.2 Rescripted to Aegis 10.3 standard. [L0ne_W0lf] -//= 1.2b Fixed typos in variable names [ultramage] -//= 1.3 Made the checks more dynamic [ultramage] -//= 1.3b Fixed incorrect checking loop structure [ultramage] -//= 1.4 Added a checkweight. [L0ne_W0lf] -//============================================================ - -morocc_in,146,99,3 script Java Dullihan 1_M_MERCHANT,{ - if ((MaxWeight-Weight) < 200 || checkweight(1201,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 bf01c29d3..000000000 --- a/npc/merchants/elemental_trader.txt +++ /dev/null @@ -1,158 +0,0 @@ -//===== Hercules Script ====================================== -//= Elemental Stone Trader -//===== By: ================================================== -//= rAthena Team & MasterOfMuppets -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= [Official Conversion] -//= Trade impure types of elemental stones for pure ones. -//===== Additional Comments: ================================= -//= 1.0 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] -//= 1.1 Optimized. [Euphy] -//============================================================ - -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 10aecf6ae..000000000 --- a/npc/merchants/enchan_arm.txt +++ /dev/null @@ -1,149 +0,0 @@ -//=====Hercules Script ======================================= -//= Armor Enchanter -//===== By: ================================================== -//= L0ne_W0lf -//===== Current Version: ===================================== -//= 1.3a -//===== Description: ========================================= -//= [Official Conversion] -//= Add a +1, +2, or +3 random stat to a specified armor. -//===== Additional Comments: ================================= -//= 1.0 First version. -//= 1.1 Corrected typo (Sit -> Suit) (bugreport:4586) -//= 1.2 Optimized. [Euphy] -//= 1.3 Fixed some typos and optimized a little more. [Daegaladh] -//= 1.3a Added 'disable_items' command. [Euphy] -//============================================================ - -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; - specialeffect2 EF_MAPPILLAR; - 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: - specialeffect2 EF_PHARMACY_FAIL; - 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 1737c217f..000000000 --- a/npc/merchants/gemstone.txt +++ /dev/null @@ -1,114 +0,0 @@ -//===== Hercules Script ====================================== -//= Gemstone Trader -//===== By: ================================================== -//= L0ne_W0lf -//===== Current Version: ===================================== -//= 1.3 -//===== Description: ========================================= -//= [Official Conversion] -//= Trade various colors of gemstones for other color gemstones. -//===== Additional Comments: ================================= -//= 1.0 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] -//= Any notes pertaining to the prior trader may be found -//= in the cities/payon.txt -//= 1.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] -//= 1.2 Updated input with min/max values. [L0ne_W0lf] -//= Added a checkweight. -//= 1.3 Fixed checks. [Euphy] -//============================================================ - -payon,173,238,5 script Jade#pay 4_M_SAGE_A,{ - if (checkweight(1201,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,0,101; - if (.@input == 0) { - mes "[Jade]"; - mes "None at all?"; - mes "I guess you"; - mes "changed your mind..."; - close; - } - else if (.@input > 100) { - mes "[Jade]"; - mes "Errm..."; - mes "I asked you to enter"; - mes "an amount no greater"; - mes "than 100, remember...?"; - next; - } - else if (.@gems < .@input) { - // Custom dialogue - mes "[Jade]"; - mes "Errm..."; - mes "You don't have that"; - mes "many gems to trade..."; - next; - } - else 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 91708d991..000000000 --- a/npc/merchants/hair_dyer.txt +++ /dev/null @@ -1,407 +0,0 @@ -//===== Hercules Script ====================================== -//= Hair Dyer -//===== By: ================================================== -//= kobra_k88; L0ne_W0lf -//===== Current Version: ===================================== -//= 1.5 -//===== Description: ========================================= -//= Hair Dyer with standard palletes -//===== Additional Comments: ================================= -//= Fully working -//= 1.1 Bugfix: fixed missing menu label LEnd->M_End [Lupus] -//= 1.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] -//= 1.3 Fixed problem what "freezes" the NPC. (bugreport:509) [Samuray22] -//= 1.4 Fixed getlook checking the wrong color. (bugreport:2392) [L0ne_W0lf] -//= 1.5 Added Lighthalzen Hair Dying NPC. [L0ne_W0lf] -//============================================================ - -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) 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(VAR_HEADPALETTE)) { - 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 976,1; break; //Lemon_Dyestuffs - case 2: delitem 978,1; break; //Violet_Dyestuffs - case 3: delitem 980,1; break; //Orange_Dyestuffs - case 4: delitem 979,1; break; //Darkgreen_Dyestuffs - case 5: delitem 981,1; break; //Cobaltblue_Dyestuffs - case 6: delitem 982,1; break; //White_Dyestuffs - case 7: delitem 983,1; break; //Black_Dyestuffs - case 8: delitem 975,1; break; //Scarlet_Dyestuffs - } - Zeny -= 1000; - setlook VAR_HEADPALETTE,.@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 == 1) { - 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(VAR_HEADPALETTE) == .@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(975) == 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(976) == 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(981) == 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(980) == 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(979) == 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(978) == 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(982) == 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(983) == 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 975,1; //Scarlet_Dyestuffs - else if (.@headpalette == 1) delitem 976,1; //Lemon_Dyestuffs - else if (.@headpalette == 2) delitem 981,1; //Violet_Dyestuffs - else if (.@headpalette == 3) delitem 980,1; //Orange_Dyestuffs - else if (.@headpalette == 4) delitem 979,1; //Darkgreen_Dyestuffs - else if (.@headpalette == 5) delitem 978,1; //Cobaltblue_Dyestuffs - else if (.@headpalette == 6) delitem 982,1; //White_Dyestuffs - else if (.@headpalette == 7) delitem 983,1; //Black_Dyestuffs - Zeny -= 1000; - setlook VAR_HEADPALETTE,.@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 2eb2d4eb4..000000000 --- a/npc/merchants/hair_style.txt +++ /dev/null @@ -1,1301 +0,0 @@ -//===== Hercules Script ====================================== -//= Hair Dresser -//===== By: ================================================== -//= Muad_Dib, Samuray22, Kisuka -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= [Official Conversion] -//= Allows you to change your hairstyle. -//===== Additional Comments: ================================= -//= 1.2 Rescripted to the Aegis 10.3 Standards. [Samuray22] -//= 1.3 Updated to match AEGIS script. [Kisuka] -//= 1.4 Added Lighthalzen Hair Dresser. [L0ne_W0lf] -//============================================================ - -// 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 > 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."; - next; - } else 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; - } - else { - callsub L_cutin,.@style; - mes "[Veronica]"; - switch(.@style) { - case 1: - if(Sex == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - mes "Oh, that's 'Angelus' style!"; - mes "It's for calm and devout people,"; - mes "as well as those bashful,"; - mes "mild-mannered types."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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~!"; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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.'"; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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 == 1) { - 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??"; - close2; cutin "",255; end; - } - 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 == 1) { - 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?"; - close2; cutin "",255; end; - } - 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 == 1) { - 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."; - close2; cutin "",255; end; - } - 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(973) < 3) || (countitem(974) < 3) || (countitem(901) <100) || (countitem(1094) <100) || (countitem(1020) <100) || (countitem(1060) <100) || (countitem(7152) <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 > 19) { - mes "[Veronica]"; - mes "I am sorry, you chose an unavailable style."; - mes "Make sure you enter the correct number."; - close; - } else if(.@style == 0) { - mes "[Veronica]"; - mes "You have canceled your request."; - close; - } else 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 973,3; // Counteragent - delitem 974,3; // Mixture - delitem 901,100; // Danggie - delitem 1094,100; // Short_Daenggie - delitem 1020,100; // Long_Hair - delitem 1060,100; // Golden_Hair - delitem 7152,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 == 1) { - 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 == 1) { - 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 == 1) { - 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(973) < 3) || (countitem(974) < 3) || (countitem(901) < 100) || (countitem(1094) < 100) || (countitem(1020) < 100) || (countitem(1060) < 100) || (countitem(7152) < 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 == 1) { - 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; - } - else 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; - } - else if (getlook(VAR_HEAD) == .@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; - } - else { - if (Sex == 1) - 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(VAR_HEADPALETTE) == 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 973,3; //Counteragent - delitem 974,3; //Mixture - delitem 901,100; //Danggie - delitem 1094,100; //Short_Daenggie - delitem 1020,100; //Long_Hair - delitem 1060,100; //Golden_Hair - delitem 7152,100; //Glossy_Hair - setlook VAR_HEAD,.@input; - setlook VAR_HEADPALETTE,.@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 == 1) { - 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; - } - else 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; - } - else { - mes "[Assistant Beautician]"; - mes "So this is the"; - mes "style you want me"; - mes "to try to do for you?"; - if (Sex == 1) { - 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 VAR_HEAD,.@style_r; - setlook VAR_HEADPALETTE,.@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; - } -} - -//===== Old Changelog: ================================= -//= 07/06/05 : Added 1st Version. [Muad_Dib] -//= Converted to rAthena format by Dr.Evil Fixed typos [Nexon] -//= 1.1 Removed Duplicates [Silent] -//============================================================ diff --git a/npc/merchants/hd_refine.txt b/npc/merchants/hd_refine.txt deleted file mode 100644 index 31e3f5cdf..000000000 --- a/npc/merchants/hd_refine.txt +++ /dev/null @@ -1,316 +0,0 @@ -//===== Hercules Script ====================================== -//= HD Refiners -//===== By: ================================================== -//= Euphy -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= [Official Conversion] -//= Refiners that use HD ores to refine equipment. 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. -//===== Additional Comments: ================================= -//= 1.0 First version. [Euphy] -//============================================================ - -// Blacksmith Mighty Hammer (+7~9) -//============================================================ -- script ::MightyHammer -1,{ - 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 -1,{ - 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 29d3eafe0..000000000 --- a/npc/merchants/icecream.txt +++ /dev/null @@ -1,84 +0,0 @@ -//===== Hercules Script ====================================== -//= Ice Cream Maker -//===== By: ================================================== -//= KOOK SWU, Kisuka -//===== Current Version: ===================================== -//= 1.5 -//===== Description: ========================================= -//= A man makes you ice-cream -//===== Additional Comments: ================================= -//= 1.1 Optimized, changed overlapping coords in Alberta [Lupus] -//= 1.2 According to the patch, IceCream seller has been removed from Morocc [Lupus] -//= 1.3 No more label menu and updated to match AEGIS script. [Kisuka] -//= 1.4 Duplicates now spawn from floating NPCs. [L0ne_W0lf] -//= 1.5 Fixed small checkweight issue. [Kisuka] -//============================================================ - -- script Ice Cream Maker::IceCreamer -1,{ - 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 < 1) { - 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; - } - } - 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(536,.@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 536,.@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 8b3a34420..000000000 --- a/npc/merchants/inn.txt +++ /dev/null @@ -1,236 +0,0 @@ -//===== Hercules Script ====================================== -//= Inn Npcs -//===== By: ================================================== -//= Darkchild (1.1) -//= Playtester (1.2) -//===== Current Version: ===================================== -//= 2.9a -//===== Description: ========================================= -//= Inn Npcs, Save and Heal -//============================================================ -//= variables: -//= arg0 - name of npc -//= arg1 - name of the inn -//= arg2 - map to save at -//= arg3, arg4 - x and y cord. to save at -//= @cost - cost of renting a room -//===== Additional Comments: ================================= -//= 1.1 Blind Effect By Kobra_k88 (Taken from his old script) -//= I added it to all of them though [Darkchild] -//= 1.1a Minor bug fixes and optimizations. Switched from @variables -//= to arguments.[kobra_k88] -//= 1.2 Rewrote inn script [Playtester] -//= 1.3 Added (finally) Rachel Inn Maid. Official warp -//= and save points[erKURITA] -//= 1.4 Added Hugel inn [erKurita] -//= 1.5 Added "end;" after warping the player. [L0ne_W0lf] -//= - Small corrections to the prontera Inns. -//= - Removed the Cancel dialog. -//= 1.6 More fixes, changed progression of "Rest"ing. -//= - Corrected Morroc NPCs. [L0ne_W0lf] -//= 1.7 Corrected Payon NPC. [L0ne_W0lf] -//= 1.8 Corrected Geffen NPC. [L0ne_W0lf] -//= 1.9 Added the Inn for Al De baran. [L0ne_W0lf] -//= 2.0 Added Inn for the Town of Veins. [L0ne_W0lf] -//= 2.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] -//= 2.1a Corrected a little Typo error. (bugreport:536 & 537) [Samuray22] -//= 2.2 Small update to Vein's Inn Master. [L0ne_W0lf] -//= 2.3 Added Lighthalzen Inn from Lighthalzen town file. [L0ne_W0lf] -//= 2.4 Fixed Inn Employee#Ahlma warping to same destination as save point, bugreport: 191. -//= 2.5 Added Moskovia Gostinitsa (Inn) from jA -//= 2.6 Updated Alberta inn to official. [L0ne_W0lf] -//= 2.7 Removed Morroc Inns as per episode 12.1. [L0ne_W0lf] -//= 2.8 Removed Moscovia Inn; Its in quests/quest_moscovia.txt [Kisuka] -//= 2.9 Added switch menus, updated to match AEGIS scripts. [Kisuka] -//= 2.9a Added 'npcskill' command. [Euphy] -//============================================================ - - -//========================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; -} - -//========================Morocc ==================================== -// 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 accomodations"; - 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 ============================== -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 d3b70f35b..000000000 --- a/npc/merchants/kunai_maker.txt +++ /dev/null @@ -1,102 +0,0 @@ -//===== Hercules Script ====================================== -//= Kunai Merchant Kashin -//===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= 1.3a -//===== Description: ========================================= -//= Trades a few shurikens + ninja stones for elemental kunai. -//===== Additional Comments: ================================= -//= 1.0 Added the npc. It uses a function that sends the item -//= id of the 2 required items plus the amount. Can trade -//= up to 500 units (5,000 kunais) at once. [erKURITA] -//= 1.1 Officialized script [Playtester] -//= 1.2a Optimized/cleaned up a bit [ultramage] -//= 1.3 Updated to match AEGIS script. [Kisuka] -//= 1.3a Kagerou/Oboro support (BaseJob -> BaseClass) [Euphy] -//============================================================ - -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 d9c7efe47..000000000 --- a/npc/merchants/milk_trader.txt +++ /dev/null @@ -1,78 +0,0 @@ -//===== Hercules Script ====================================== -//= Milk Trader -//===== By: ================================================== -//= kobra_k88; L0ne_W0lf -//===== Current Version: ===================================== -//= 1.5 -//===== Description: ========================================= -//= [Official Conversion] -//= Trades bottles for milk -//===== Additional Comments: ================================= -//= Fully working -//= 1.1 Negative input bug fixed [Lupus] -//= 1.2 Raised the price to close zeny exploit [Lupus] -//= 1.2a Switched to Lupus's "loopless" technique.[kobra_k88] -//= 1.3 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] -//= 1.4 Implemented checkweight. [L0ne_W0lf] -//= 1.5 Fixed missed variable. (bugreport:1523) [L0ne_W0lf] -//============================================================ - -prontera,73,140,0 script Milk Vendor 4_M_04,{ - if (checkweight(1201,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(713) <= 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(713); - .@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 713,.@bottles; //Empty Bottles - getitem 519,.@bottles; //Milk - close; - } - close; -} diff --git a/npc/merchants/novice_exchange.txt b/npc/merchants/novice_exchange.txt deleted file mode 100644 index 4f9c05218..000000000 --- a/npc/merchants/novice_exchange.txt +++ /dev/null @@ -1,387 +0,0 @@ -//===== Hercules Script ====================================== -//= Novice Goods Exchanger -//===== By: ================================================== -//= ???, rAthena Team -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= [Official Conversion] -//= Exchanges your Basic Monster drops for Red Potions. -//===== Additional Comments: ================================= -//= 1.2 Rescripted to Aegis 10.standards. [L0ne_W0lf[ -//= Made it easier to add new items to exhange list -//= meaning only the exchange is done in a function now. -//= 1.3 Fixed dialog mix-up in function. [L0ne_W0lf] -//= 1.4 Added checkweight, and input min/max values. [L0ne_W0lf] -//============================================================ - -prontera,123,102,5 script Merchant#pron 4_M_03,{ - if (MaxWeight - Weight < 6301 || checkweight(1201,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(1201,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(1201,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(1201,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(1201,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,0,101; - 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; - } - else 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; - } - else { - 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 501,.@input; //Red_Potion - close; - } - mes "[Merchant]"; - mes "Huh~"; - mes "Alright."; - mes "Though aren't"; - mes "Red Potions more useful"; - mes "to an adventurer like you?"; - close; - } -} - -//============================================================ -// Old changelog -//============================================================ -//= 1.1 Made it as a function. U can add your own Merchs [Lupus] -//= 1.1a Fixed item select [KarLaeda] -//============================================================ diff --git a/npc/merchants/old_pharmacist.txt b/npc/merchants/old_pharmacist.txt deleted file mode 100644 index 1889ea3b9..000000000 --- a/npc/merchants/old_pharmacist.txt +++ /dev/null @@ -1,255 +0,0 @@ -//===== Hercules Script ====================================== -//= Old Pharmacist -//===== By: ================================================== -//= DZeroX -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= Trade in items for potions. -//= Breakdown of arguments used: -//= arg(0): Herb required. -//= arg(1): Zeny cost. -//= arg(2): Potion given. -//===== Additional Comments: ================================= -//= 1.0 Fully working. [DZeroX] -//= 1.0a Minor fixes [Lupus] -//= 1.1 Added changed the dialogs and name to fit the -//= the official information. [DZeroX] -//= 1.1a Removed .GATs [Lupus] -//= 1.1b Fixed a bug in Orange Potion creating. Copy&Pasting = bad. [L0ne_W0lf] -//= 1.2 Added checkweight, and input min/max values. [L0ne_W0lf] -//= 1.3 Fixed minor condition check bug. (bugreport:597) [L0ne_W0lf] -//= 1.4 Updated to match AEGIS script. [Kisuka] -//============================================================ - -alberta_in,16,28,4 script Pharmacist 1_M_PUBMASTER,{ - if (checkweight(1201,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(507) < countitem(713)) { - .@max = countitem(507); - } - else if (countitem(508) < countitem(713)) { - .@max = countitem(508); - } - else { - .@max = countitem(713); - } - if ((countitem(507) < 1) || (countitem(508) < 1) || (countitem(713) == 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(507) < .@max) || (countitem(508) < .@max) || (countitem(713) < .@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 507,.@max; //Red_Herb - delitem 508,.@max; //Yellow_Herb - delitem 713,.@max; //Empty_Bottle - getitem 502,.@max; //Orange_Potion - 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,0,101; - 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(507) < .@amount) || (countitem(508) < .@amount) || (countitem(713) < .@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 507,.@amount; //Red_Herb - delitem 508,.@amount; //Yellow_Herb - delitem 713,.@amount; //Empty_Bottle - getitem 502,.@amount; //Orange_Potion - 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; - } - -L_Making: - next; - mes "[Old Pharmacist]"; - if ((countitem(getarg(0))/2) < countitem(713)) { - .@max = countitem(getarg(0))/2; - } else { - .@max = countitem(713); - } - if ((countitem(getarg(0)) < 2) || (countitem(713) == 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(713) < .@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 713,.@max; //Empty_Bottle - 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(713) < .@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 713,.@amount; //Empty_Bottle - 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 a2e293e83..000000000 --- a/npc/merchants/quivers.txt +++ /dev/null @@ -1,169 +0,0 @@ -//===== Hercules Script ====================================== -//= Arrow Quiver Event -//===== By: ================================================== -//= Muad_Dib (Prometheus Project); L0ne_W0lf -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= [Official Conversion] -//= Turns arrows into Arrow Quivers. -//= Breakdown of Subroutine "S_BuyQuiver" -//= arg(0): Type of Arrow to be packaged (item ID). -//= arg(1): How many of each 'getarg(0)' arrow per quiver. -//= arg(2): The cost of making a 'getarg(0)' quiver. -//= arg(3): The quiver given by the NPC (item ID). -//===== Additional Comments: ================================= -//= 07/06/05 : Added 1st Version. [Muad_Dib] -//= Converted to rAthena format by Dr.Evil -//= added prize to quest - 500 Zeny -//= Fixed a few spelling errors. [Nexon] -//= 1.1 Added Holy Arrow Quivers [Playtester] -//= 1.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] -//= Removed "Holy Arrows" from the list. -//============================================================ - -payon_in01,5,134,5 script Inventor Jaax 4_M_ORIENT02,{ - if (checkweight(1201,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 Jaxx."; - mes "Without ego, I can"; - mes "say that I am perhaps the"; - mes "^663300greatest inventor of our time^000000."; - next; - mes "[Inventor Jaxx]"; - 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; - -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 2b2d95180..000000000 --- a/npc/merchants/refine.txt +++ /dev/null @@ -1,1269 +0,0 @@ -//===== Hercules Script ====================================== -//= Refining NPCs -//===== By: ================================================== -//= Syrus22 (1.1) dafide18 (1.4) Skotlex (1.5) -//===== Current Version: ===================================== -//= 3.3 -//===== Description: ========================================= -//= Refining NPCs and Metal Salesmen. -//===== Additional Comments: ================================= -//= 1.0 by A bunch of people! -//= Syrus22 - Completely redid the script using functions... also -//= added the option for auto safe refining and multiple refining. -//= 1.1 Negative input bug fixed [Lupus] -//= 1.2 Added additional reparimen in morroc and payon. Added -//= Christopher the blacksmith in Geffen. Edited some dialogue [kobra_k88] -//= 1.3 New Payon Locations [Darkchild] -//= Corrected zeny subtraction thx to jpnmania77.[kobra_k88] -//= 1.3a Temporary corrected an exploit. Need to check sources -//= to fully fix bug [Shinigami] -//= Fixed repairman prices [shadowlady] -//= Fixed bug that skips requirements thanks to sir_loon [massdriller] -//= Fixed itemid error thanks to -Vitamin- [massdriller] -//= 1.4 check again item in refining procedure to avoid -//= hacker that can change item [dafide18] -//= 1.5 Fixed crashing due to badly used callfunc's [Skotlex] -//= Lupus, don't rollback this important fix again! >.< -//= 1.5a Corrected an unneeded callfunc, fixed the anti-bot -//= exploit ruining the safe refine loop. [Skotlex] -//= 1.5b Fixed Spelling mistakes. [Nexon] -//= 1.6 Replaced all breaks for ends as per the new script engine [Skotlex] -//= 1.7 Added Einbroch Refiners (Custom names ^^;) and a duplicated BS Shop. [Poki#3] -//= 1.8 Added Lighthalzen Refiners (Custom names again ^^;) [Poki#3] -//= 1.8a Fixed wrong indication thanks to NeoSaro [Lupus] -//= 1.9 Rewrote repairman, removed the Steel from repair cost [DracoRPG] -//= 2.0 Fixed missed equppment presence check. Thx2 Coltaro [Lupus] -//= 2.0a Added weight checks thanks to Neouni [Playtester] -//= 2.0b Fixed the names of Lighthalzen and Einbroch refiners thanks to Maud_Dib [Kargha] -//= 2.1 Removed Duplicates [Silent] -//= 2.2 Changed name from "Emvertacon" to "Emveretarcon". [Samuray22] -//= Thanks to Barron-Monster. -//= 2.2b Changed name from "Pharacon" to "Phracon". [Samuray22] -//= Thanks to Barron-Monster. -//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] -//= 2.4 Updated Refiner function. cleaner, and less dated. [L0ne_w0lf] -//= 2.5 Rather large update to the refiner and merchants. :D [L0ne_W0lf] -//= 2.6 Fixed a few bugs with creating pure stones. [L0ne_W0lf] -//= 2.7 Refiner function accepts additional paramater. [L0ne_W0lf] -//= 0 = No special features; 1 = new refining features -//= Updated Repairmen and function. No longer shows menu. -//= 2.7a A couple touch-ups to the repairman function. [L0ne_w0lf] -//= 2.8 Changed the nonexistent variable .@matname$ for getitemname(.@material). (bugreport:2340) [Samuray22] -//= 2.8 Added proper Blacksmith Supplier to Einroch. [L0ne_W0lf] -//= Updated dated features comment to reflect new usage. -//= 2.8a Small bugfix. (bugreport:2418) [Paradox924X] -//= 2.9 Moved Morroc repairman to Morroc Ruins. [L0ne_W0lf] -//= 3.0 Updated several NPC names and locations. [Xantara] -//= Added WoE map Refiners. -//= 3.1 Added the new refinement & Ore creation NPC's for +11 and above Refinement. [Masao] -//= 3.2 Moved some scripts to Renewal file, other minor changes. [Euphy] -//= 3.2a Added 'disable_items' command. [Euphy] -//= 3.3 Some official script updates. [Euphy] -//============================================================ - -// 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 986,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 987,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 988,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; - } - else if ((.@input < 0) || (.@input > 500)) { - mes "[Christopher Guillenrow]"; - mes "Ye can buy 500, er less."; - next; - } - else { - 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(612,.@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 612,.@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 613,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 614,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 615,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; - } - else if ((.@input < 0) || (.@input > 500)) { - mes "[Christopher Guillenrow]"; - mes "Ye can buy 500, er less."; - next; - } - else { - 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(1010,.@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 1010,.@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; - } - else if ((.@input < 0) || (.@input > 500)) { - mes "[Christopher Guillenrow]"; - mes "Ye can buy 500, er less."; - next; - } - else { - 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(1011,.@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 1011,.@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(756) < 5) { - mes "[Christopher Guillenrow]"; - mes "I told ye, I need 5 o'the rough Oridecons fer one Oridecon."; - close; - } - else { - delitem 756,5; //Oridecon_Stone - getitem 984,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(757) < 5) { - mes "[Christopher Guillenrow]"; - mes "I told ye, I need 5 rough Eluniums fer one Elunium."; - close; - } - else { - delitem 757,5; //Elunium_Stone - getitem 985,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(1201,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 986,1; //Anvil - 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 987,1; //Oridecon_Anvil - 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 988,1; //Golden_Anvil - 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; - } - else if ((.@input < 0) || (.@input > 500)) { - mes "[Paul Spanner]"; - mes "You can only buy 500 or less at a time."; - next; - } - else { - 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; - } - else if ((.@input < 0) || (.@input > 500)) { - mes "[Paul Spanner]"; - mes "You can buy 500 or less at a time."; - next; - } - else { - 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(756) < 5) { - mes "[Paul Spanner]"; - mes "You need 5 ores to process them into one pure Oridecon."; - close; - } - else { - delitem 756,5; //Oridecon_Stone - getitem 984,1; //Oridecon - mes "[Paul Spanner]"; - mes "There you go. Thank you for using my service."; - close; - } - case 2: - if (countitem(757) < 5) { - mes "[Paul Spanner]"; - mes "You need 5 ores to process them into one pure Elunium."; - close; - } - else { - delitem 757,5; //Elunium_Stone - getitem 985,1; //Elunium - 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 { - disable_items; - .@features = getarg(1); - mes "[" + 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."; - 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) { - 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(1201,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; - } - else if (.@input < 0 || .@input > 500) { - mes "[" + getarg(0) + "]"; - mes "Alright, you can"; - mes "puchase up to 500."; - mes "No more than that,"; - mes "got it? Good."; - next; - } - else { - 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(1201,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(756) > 4) { - delitem 756,5; //Oridecon_Stone - getitem 984,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(757) > 4) { - delitem 757,5; //Elunium_Stone - getitem 985,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,4 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 4W_M_03,{ - 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 00ff18dd5..000000000 --- a/npc/merchants/renters.txt +++ /dev/null @@ -1,225 +0,0 @@ -//===== Hercules Script ====================================== -//= Renters -//===== By: ================================================== -//= kobra_k88, mod by Lupus -//===== Current Version: ===================================== -//= 2.2 -//===== Description: ========================================= -//= Knight and Crusader Peco Peco Breeders, Falcon Breeder scripts -//===== Additional Comments: ================================= -//= Fully working -//= Added another Falcon Master into the Hunters Guild [Lupus] -//= 1.2: replaced checkoption(x) with checkriding,checkfalcon [Lupus] -//= 1.3: Added support Adv Classes + Baby Class [Lupus] -//= 1.4: Added different prices for normal, advanced and baby classes -//= but you could set them to the same [Lupus] -//= 1.5: Fixed spelling mistakes [Nexon] -//= 1.5a: Small fix (Falcon Taming -> Falcon Mastery) [Komurka] -//= 1.6: Moved the Falcon Master to Hugel [Poki#3] -//= 1.7 Updated to Aegis 10.3 standards. [L0ne_W0lf] -//= 1.8 Added 3rd Job creature NPCs (Dragon/Gryphon) [L0ne_W0lf] -//= 1.9 Enabled Gryphon Renter NPC and added Mado Gear NPC. [Masao] -//= 2.0 Fixed problems with third classes and new mounts. [Euphy] -//= 2.1 Moved some renters to a separate renewal file. [Daegaladh] -//= 2.2 Added warg checks. [Euphy] -//============================================================ - -// 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 33f72a1fb..000000000 --- a/npc/merchants/shops.txt +++ /dev/null @@ -1,2255 +0,0 @@ -//===== Hercules Script ====================================== -//= Shops -//===== Current Version: ===================================== -//= 3.5 -//===== Description: ========================================= -//= Town shop NPCs. -//===== Additional Comments: ================================= -//= For earlier update notes see the bottom. -//= 2.0 updated several shop npcs. [L0ne_W0lf] -//= Added proper Venom Knife dealer, and consiquently removed wenom Knives from weapon dealers. -//= Moved all Cooking related NPCs to their own section. -//= Re-alphabetized sections. Some of them were out of place. -//= Removed commented out shops. -//= 2.0b Einbech tool dealer got lost somewhere along the way, re-added. [L0ne_W0lf] -//= 2.1 Fixed missing item from "Fresh Fish" from cooking addition shops. [L0ne_W0lf] -//= 2.1a Fixed the second "Line" selling in Comodo Weapon shop. (Should have been Whip) [L0ne_W0lf] -//= 2.2 Added Veins shops. [L0ne_W0lf] -//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] -//= 2.4 Fixed Jawaii Ice cream salesman. [L0ne_W0lf] -//= 2.5 Updated Morroc shops to episode 12.1. [L0ne_W0lf] -//= 2.6 Added Brasilis shops. [L0ne_W0lf] -//= Updated Pet Groomers with four new pet feeds. -//= 2.7 Added Trading merchants, (ninja& gunslinger) to Izlude and Alberta. [L0ne_W0lf] -//= Made Brasilis shop names unique, and uncommented. -//= Changed the whip sold in comodo weapon shop. (1956 ->1960) -//= Added Fire and Silver arrow to Einbroch tool dealer. -//= Re-added Bill of Birds to Morroc Item Collectors. -//= 2.7a Actually applied the right update to the comodo weapon shop. [L0ne_W0lf] -//= 2.7b Corrected Brasilis Fruit Merchant. (bugreport:4278) [L0ne_W0lf] -//= 2.8 Updates to Brasilis Merchants. [L0ne_W0lf] -//= 2.9 Added missing Cooking Items for Material Seller. [tr0n] -//= 3.0 Added all new Shops which were available in the latest available official files. [Masao] -//= 3.1 Moved some merchants to a separate renewal file. [Kenpachi] -//= 3.2 Added Missing Items to the pet Groomers in prontera, payon, and yuno. BugReport:6680[Spre] -//= 3.3 Moved more shops to Renewal file. [Euphy] -//= 3.4 Moved Izlude shops to pre-re/re paths. [Streusel] -//= 3.5 Converted to trader format [Yommy] -//============================================================ - -//======================================================= -// Alberta -//======================================================= -alb2trea,87,65,5 trader Tool Dealer#alb 4_M_01,{ -OnInit: - sellitem Arrow; - sellitem Silver_Arrow; - sellitem Fire_Arrow; - sellitem Red_Potion; - sellitem Orange_Potion; - sellitem Yellow_Potion; - sellitem White_Potion; - sellitem Green_Potion; - sellitem Center_Potion; - sellitem Awakening_Potion; -} - -alberta_in,165,96,0 trader Item Collector#alb 1_F_MERCHANT_02,{ -OnInit: - sellitem Scell; - sellitem Monster's_Feed; -} - -alberta_in,182,97,0 trader Tool Dealer#alb2 1_F_MERCHANT_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; - sellitem Spinning_Eyes; -} - -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 Diver's_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; -} - -alberta_in,176,81,3 trader Trading Merchant#alb 4_M_HUMERCHANT,{ -OnInit: - sellitem Bullet; - sellitem Silver_Bullet; - sellitem Shell_Of_Blood; - sellitem Branch; - sellitem Crimson_Bolt; - sellitem The_Cyclone; - sellitem Rolling_Stone; - sellitem Black_Rose; - sellitem Long_Barrel; - sellitem Jungle_Carbine; - sellitem Thunder_P; -} - - -//======================================================= -// Al De Baran -//======================================================= -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; - 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 Fisherman's_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,167,0 trader Tool Dealer#gef 1_F_03,{ -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 Granpa_Beard; -} - -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; -} - -geffen_in,171,123,4 trader Tool Dealer#gef2 1_M_WIZARD,{ -OnInit: - sellitem Empty_Cylinder; - sellitem Empty_Potion; -} - -geffen,193,152,4 trader Pet Groomer#gef 4_F_TELEPORTER,{ -OnInit: - sellitem Pet_Food; - sellitem Pet_Incubator; - sellitem Backpack; - sellitem Rocker_Glasses; - sellitem Mojji; - sellitem Vital_Flower_; - sellitem Flame_Gemstone; - sellitem Bun_; -} - - -//======================================================= -// Gonryun -//======================================================= -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 Monster's_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 Monster's_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,91,128,4 trader Tool Dealer#moc1 4_F_04,{ -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; -} - -moc_ruins,114,63,6 trader Tool Dealer#moc2 4W_M_03,{ -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; - sellitem Luxury_Sunglasses; -} - -moc_ruins,93,53,2 trader Item Collector#moc1 4_M_03,{ -OnInit: - sellitem Scell; - sellitem Monster's_Feed; - sellitem Animal's_Skin; - sellitem Bill_Of_Birds; -} - -moc_ruins,81,113,0 trader Item Collector#moc2 4_M_03,{ -OnInit: - sellitem Scell; - sellitem Monster's_Feed; - sellitem Animal's_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; - sellitem Banana; - sellitem Banana; - sellitem Banana; - sellitem Banana; - sellitem Banana; -} - -moc_ruins,118,170,4 trader Pet Groomer#moc 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_; -} - -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 Goat's_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; -} - -payon_in01,5,49,7 trader Tool Dealer#pay 4_M_ORIENT01,{ -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; -} - -payon_in02,87,34,0 trader Tool Dealer#pay2 1_F_ORIENT_01,{ -OnInit: - sellitem 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; -} - -payon,159,96,4 trader Tool Dealer#pay3 4_M_ORIENT01,{ -OnInit: - sellitem Arrow; - sellitem Red_Potion; - sellitem Center_Potion; - sellitem Wing_Of_Fly; - sellitem Wing_Of_Butterfly; -} - -payon,177,131,4 trader Pet Groomer#pay 4_F_TELEPORTER,{ -OnInit: - sellitem Pet_Food; - sellitem Pet_Incubator; - sellitem Backpack; - sellitem Rocker_Glasses; - 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_; - sellitem Traditional_Cookie; -} - - -//======================================================= -// 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 Monster's_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,218,211,4 trader Pet Groomer#prt 4_M_TELEPORTER,{ -OnInit: - sellitem Pet_Food; - sellitem Pet_Incubator; - sellitem Backpack; - sellitem Rocker_Glasses; - 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_; - sellitem Traditional_Cookie; -} - -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_fild05,290,221,2 trader Tool Dealer#prt 4_M_01,{ -OnInit: - sellitem Arrow; - sellitem Spectacles; - sellitem Red_Potion; - sellitem Orange_Potion; - sellitem Green_Potion; - sellitem Center_Potion; - sellitem Wing_Of_Fly; - sellitem Wing_Of_Butterfly; -} - -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,126,76,0 trader Tool Dealer#prt1 1_M_INNKEEPER,{ -OnInit: - sellitem Spectacles; - sellitem Arrow; - 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 One_Eyed_Glass; -} - -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 Monster's_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 -//======================================================= -prontera,156,212,1 trader Chef Assistant#prt 8_F_GIRL,{ -OnInit: - sellitem Plain_Sauce; - sellitem Red_Spice; - sellitem Pot; - sellitem Bread; -} - -payon,206,119,5 trader Chef Assistant#pay 4_M_ORIENT02,{ -OnInit: - sellitem Hot_Sauce; -} - -moc_ruins,115,123,5 trader Chef Assistant#moc 4_M_04,{ -OnInit: - sellitem Hot_Sauce; - sellitem Sweet_Sauce; - sellitem Plain_Sauce; - sellitem Red_Spice; - sellitem Yellow_Spice; -} - -geffen,196,111,3 trader Chef Assistant#gef 4_M_03,{ -OnInit: - sellitem Pot; -} - -alberta,167,135,5 trader Chef Assistant#alb 4_M_05,{ -OnInit: - sellitem Delicious_Fish; -} - -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; -} - - -//===== Additional Comments(old): ================================= -//= swapped shop titles in GONRYUN, thanks to Kashy -//= 1.3a Fixed Louyang map name. Added additional shops in Yuno. [kobra_k88] -//= 1.4 Added Niflheim Shops -//= 1.5 New Payon Locations [Darkchild] -//= Moved shops in Umbala.txt here. Commented out the duplicate ones.[kobra_k88] -//= 1.6 Removed GRAPE ID 514 from shops (caused exploits) -//= 1.7 Removed juices from custom amatsu shops (it's a quest item + levelup exploit) -//= 1.8 Corrected Niflheim Shops and Morroc Jewel Merchant [celest] -//= 1.9 Updated Louyang shops thanks to MasterOfMuppets -//= 1.10 Lutie Tools coords [Yor] -//= 1.11 Added Belts to Prontera/Aldebaran shops, thanks to reddozen [Lupus] -//= 1.12 official Ayothaya Shops, thanks to MasterOfMuppets [Lupus] -//= 1.13 Added 5092 Coif into Prontera Church shop [Lupus] -//= 1.14 Added Lighthalzen,Einbroch,Einbech shops. Updated Prontera,Morroc,Payon shops [Lupus] -//= 1.15 Added Venom Knives into every Weapon Shop (that sells Knife[3]) [Lupus] -//= 1.15a Fixed a small typo in alberta's weapon shop, thanks to reddozen for the fix [MasterOfMuppets] -//= 1.16 Added a temp shop in Yuno to sell Blank scrolls, thanks to reddozen [MasterOfMuppets] -//= 1.17 Added wand of hypnotist to the Lighthalzen weapon shop [MasterOfMuppets] -//= 1.18 Fixed some shops based on kRO shots [Poki#3] -//= 1.19 Added Hugel and fixed Payon shops based on kRO shots [Poki#3] -//= 1.19a Added Food Seller selling Mastela Fruit in Hugel (Update item_db for the correct price!) [Poki#3] -//= 1.20 Added 3 weapons shops, thx2 Muad_Dib [Lupus] -//= 1.21 Added another weapon dealer to Einbroch, thanks to Muad_Dib [MasterOfMuppets] -//= - Fixed up the missing sprites for you Lupus :) -//= - Guys, I suggest we crop these comments and put them at the bottom soon -//= 1.22 Thx8) Removed Berserk Potions from all shops but Comodo [Lupus] -//= 1.3 Added Gunslinger shops. Credits goes to RockmanEXE for the info [erKURITA] -//= Added Bucket Hat to Flu Mask dealer and modified it's name to a more logical one :P [erKURITA] -//= 1.4 Added an ingredient seller to Morroc, thanks to Muad_Dib [MasterOfMuppets] -//= a Removed doubled Morocc Ing.Seller, arranged the rest Ing.Sellers according to the city names [Lupus] -//= 1.4b Commented out temp Gunslinger shops. [Lupus] -//= 1.5 Removed Temp gunslinger shops and moved up the official ones. [erKURITA] -//= Added Official Ninja shops in their correct location and commented a few -//= shops. Thanks to RockmanEXE and Muad_Dib [erKURITA] -//= 1.6 Implemented a missing Tool Shop in Lighthalzen [MasterOfMuppets] -//= 1.7 Added some missing iRO - Lighthalzen NPCs [Musashiden] -//= 1.8 Added Rachel Official shops. Special Thanks to RockmanEXE. [erKURITA] -//= 1.9 Uncommented Homunculus shop, since Homunculus is working on trunk now. [Evera] -//= 1.9a Pet Merchant -> Lighthalzen [erKURITA] -//= 1.9b Added items to Chivas Regal -//= 1.9c Slight update for Rachel shop: Tool Dealer -> Fruit Gardener [L0ne_W0lf] -//============================================================ diff --git a/npc/merchants/socket_enchant.txt b/npc/merchants/socket_enchant.txt deleted file mode 100644 index 178f8ca98..000000000 --- a/npc/merchants/socket_enchant.txt +++ /dev/null @@ -1,362 +0,0 @@ -//===== Hercules Script ====================================== -//= Episode 11.1 Socket Enchant NPC -//===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= 2.0a -//===== Description: ========================================= -//= [Official Conversion] -//= Adds slots to selected weapons and armor. -//===== Additional Comments: ================================= -//= 0.1a added missing L_No: to 2 funcs [Lupus] -//= 0.1b Removed duplicates [Toms] -//= 0.2 Added missing next;'s [Evera] -//= 0.3 Fixed Zweihander[+] id [Lupus] -//= 1.0 Fixed ingredients check [Lupus] -//= 1.1 Updated to official. [SinSloth] -//= 1.1b Optimized/cleaned [ultramage] -//= 1.2 Fixed some typos and a nasty bug. [SinSloth] -//= 1.3 Fixed a wrong item ID with Sphinx Hat. [SinSloth] -//= 1.4 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] -//= 1.5 Removed OnTouch trigger area from NPCs. [L0ne_W0lf] -//= 1.6 Replaced effect numerics with constants. [Samuray22] -//= 1.7 Adjusted prices on some armor and weapons. [L0ne_W0lf] -//= 1.8 Added missing Gae Bolg and Dragon Slayer. [Kisuka] -//= 1.9 Moved Episode 12 items to separate NPC. -//= Some cleanup & optimization. [Gepard] -//= 2.0 Duplicates now spawn from floating NPCs. [L0ne_W0lf] -//= 2.0a Added 'disable_items' command. [Euphy] -//============================================================ - -- script Seiyablem#dummy::SocketEnchant -1,{ - if (checkweight(1201,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 he 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),5)&2) // 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 -1,{ - 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 a93c87a03..000000000 --- a/npc/merchants/socket_enchant2.txt +++ /dev/null @@ -1,470 +0,0 @@ -//===== Hercules Script ====================================== -//= Episode 12 Socket Enchant NPC -//===== By: ================================================== -//= Gepard -//===== Current Version: ===================================== -//= 1.1a -//===== Description: ========================================= -//= [Official Conversion] -//= Adds slots to selected weapons and armor. -//===== Additional Comments: ================================= -//= 1.0 First version. -//= 1.1 Duplicates now spawn from floating NPCs. [L0ne_W0lf] -//= 1.1a Added 'disable_items' command. [Euphy] -//============================================================ - -- script Leablem#dummy::SocketEnchant2 -1,{ - if (checkweight(1201,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(969) > 1) && (countitem(5022) > 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 5022,1; //Helm_Of_Sun - delitem 969,2; //Gold - Zeny -= 200000000; - getitem 5353,1; //Helm_Of_Sun_ - 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 5022,1; //Helm_Of_Sun - delitem 969,2; //Gold - 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),5)&2 ? "weapon" : "armor") + "."; // EQP_HAND_R = 2, it's a weapon, otherwise armor - mes "Also remember, if the " + (getiteminfo(getarg(0),5)&2 ? "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 42aba081d..000000000 --- a/npc/merchants/wander_pet_food.txt +++ /dev/null @@ -1,73 +0,0 @@ -//===== Hercules Script ====================================== -//= Spirit Liquor trader. -//===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= [Official Conversion] -//= Trade Broken Liquor Jars and alcohol for wanderer -//= pet food, 'Spirit Liquor' -//===== Additional Comments: ================================= -//= 1.0 First version -//============================================================ - -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(7158) > 19) && (countitem(970) > 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 7158,20; //Broken_Wine_Vessel - delitem 970,1; //Alchol - getitem 7824,20; //Spirit_Liquor - 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; -} |