//===== Hercules Script =======================================
//= Alchemist Shop
//===== By: ==================================================
//= rAthena Team
//===== Current Version: =====================================
//= 1.7
//===== Description: =========================================
//= Selling 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]
//============================================================
alde_alche,31,186,3 script Craft Book Salesman#alde 883,{
mes "[Craft Book Salesman]";
mes "Welcome.";
mes "I'm here to sell";
mes "^0000FFspecial craft books^000000 for Geneticists.";
next;
mes "[Craft Book Salesman]";
mes "Geneticists have some skills";
mes "that require craft books to activate.";
next;
mes "[Craft Book Salesman]";
mes "The more craft books you have,";
mes "the more skills you can use.";
next;
mes "[Craft Book Salesman]";
mes "Please understand that";
mes "I specialize in the sale of these special books and";
mes "I ^FF0000don't sell other items^000000.";
next;
mes "[Craft Book Salesman]";
mes "Okay then, here's the list of available craft books.";
next;
switch(select("[Apple Bomb Craft Book] 100,000 zeny:[Pineapple Bomb Craft Book] 100,000 zeny:[Coconut Bomb Craft Book] 100,000 zeny:[Melon Bomb Craft Book] 100,000 zeny:[Banana Bomb Craft Book] 100,000 zeny:[Plant Gene Cultivation Method] 100,000 zeny:[Superior Potion Craft Manual] 100,000 zeny:[Mix Cooking Book] 100,000 zeny:[Health Improvement Research Book] 100,000 zeny:[Vigor Drink Recipe] 100,000 zeny:Close")){
case 1:
callsub S_SellManual,6279,100000;
break;
case 2:
callsub S_SellManual,6280,100000;
break;
case 3:
callsub S_SellManual,6281,100000;
break;
case 4:
callsub S_SellManual,6282,100000;
break;
case 5:
callsub S_SellManual,6283,100000;
break;
case 6:
callsub S_SellManual,6284,100000;
break;
case 7:
callsub S_SellManual,6285,100000;
break;
case 8:
callsub S_SellManual,11022,100000;
break;
case 9:
callsub S_SellManual,11023,100000;
break;
case 10:
callsub S_SellManual,11024,100000;
break;
case 11:
mes "[Craft Book Salesman]";
mes "Thank you for your patronage.";
mes "Please come again.";
close;
}
S_SellManual:
mes "[Craft Book Salesman]";
mes ""+getitemname(getarg(0))+"?";
mes "That'll be "+getarg(1)+" zeny ea.";
mes "How many of these books would you like to purchase?";
next;
input .@amount;
if (.@amount == 0) {
mes "[Craft Book Salesman]";
mes "Would you like to see some different books?";
close;
}
if (.@amount < 1 || .@amount > 99 ){
mes "[Craft Book Salesman]";
mes "You cannot purchase more than 100 at a time.";
close;
}
mes "[Craft Book Salesman]";
mes "You've entered "+.@amount+"x "+getitemname(getarg(0))+".";
mes "That'll be "+getarg(1) * .@amount+" Zeny.";
mes "Would you like to continue?";
next;
if (select("Yes:No") == 1) {
if (Zeny < getarg(1) * .@amount) {
mes "[Craft Book Salesman]";
mes "You don't";
mes "have enough zeny.";
mes "Check how much zeny";
mes "you have first.";
close;
}
if (checkweight(getarg(0),.@amount) == 0){
mes "[Craft Book Salesman]";
mes "It doesn't seem like you can carry everything.";
mes "Please check the space in your inventory.";
close;
}
mes "[Craft Book Salesman]";
mes "Thank you for your patronage.";
set Zeny,Zeny - getarg(1) * .@amount;
getitem getarg(0),.@amount;
close;
}
mes "[Craft Book Salesman]";
mes "Please take your time";
mes "before you make your decision.";
close;
}
alde_alche,24,188,3 script Guild Dealer 740,{
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;
}
}
set .@sell,.@input * 8;
set .@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;
}
set zeny,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) {
set zeny,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;
}