summaryrefslogblamecommitdiff
path: root/npc/merchants/alchemist.txt
blob: d3506244d8a9b4f60d008164c819ed22d7a9c4a0 (plain) (tree)
1
2
3
4
5
6
                                                                

                                                               
                
                                                               
       






                                                                     
                                                                           
                                                    
                                                 
                                              

                                                               



















                                                                     

                                                                   























































                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                    

                                                                       
                                          



























                                                                             

                                                     
                                         








                                                                         

                                          


                                                                                   

                                           


                                                                    

                                                             



















































                                                                         
                                        
                                                                                                                         
                     






























                                                                                                                                                                                                                                                                                     
                              






                                       
 












                                             
                                             




                                        
                      




                               
 
//===== 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;
}