summaryrefslogblamecommitdiff
path: root/npc/merchants/grandpa_pharmacist.txt
blob: 68ac39130ecfcf558e4be231bc06558ef3e72140 (plain) (tree)
1
2
3
4
5
6
7
8


                                                              
          
                                                              
       
                                                              
                     



                                                              


                          
                                                              
                        

                                                              


















































































































































                                                                                                                                                                                    
        
         
             








                                                                                                    
                      



                                                                                        
                      

























































                                                                                                                              
//===== eAthena Script =======================================
//= Grandpa Pharmacist
//===== By: ==================================================
//= DZeroX
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN Trunk
//===== Description: =========================================
//= Trade in items for potions
//===============================
//= Breakdown of arguments used
//= arg(0): Herb required.
//= arg(1): Zeny cost.
//= arg(2): z
//===== Additional Comments: =================================
//= 1.0 - Fully working.
//============================================================

alberta_in.gat,16,28,4	script	Grandpa Pharmacist	61,{
	mes "[Grandpa Pharmacist]";
	mes "Err....Are you a customer...?";
	switch(select("Make Potion","Talk.","Instruction of making potions","Cancel")) {
		case 1:
			next;
			set .@weight,MaxWeight-Weight;
			if ((.@weight) < 10000) {
				mes "[Grandpa Pharmacist]";
				mes "Oh, boy! Why are carrying so much stuffs with you?";
				mes "Don't be so greedy! bring little by little.";
				next;
				mes "[Grandpa Pharmacist]";
				mes "At least, you should have some space to carry the potions...";
				mes "Why don't you keep some of them in storage and come back to me again?";
				close;
			} else {
				mes "[Grandpa Pharmacist]";
				mes "Did you bring all the ingredients? Which potion do you want to make?";
				switch(select("Red Potion.","Orange Potion.","Yellow Potion.","White Potion.","Blue Potion.","Green Potion.","Nah, I changed my mind.")) {
					case 1:
						callsub L_making,507,3,501;
					case 2:
						next;
						mes "[Grandpa Pharmacist]";
						if (countitem(507) < countitem(713)) {
							set .@max,countitem(507);
						}
						if (countitem(508) < countitem(713)) {
							set .@max,countitem(508);
						} else {
							set .@max,countitem(713);
						}
						if ((countitem(507) < 1) | (countitem(508) < 1) | (countitem(713) == 0)) {
							mes "You are silly! How can you make a potion if you don't even have ingredients?!";
							mes "Go away!";
							close;
						}
						if (Zeny < 3) {
							mes "You are silly! Did you think you can make a potion without money?";
							mes "Go away!";
							close;
						}
						mes "How many?";
						switch(select("As many as I can","I will set the amounts.","Nah, forget about it.")) {
							case 1:
								next;
								if ((countitem(507) < .@max) | (countitem(508) < .@max) | (countitem(713) < .@max) | (Zeny < .@max*3)) {
									mes "[Grandpa Pharmacist]";
									mes "You punk! Do you want me to make stuff from insufficient ingredients?";
									close;
								}
								set Zeny,Zeny-(.@max*getarg(1));
								delitem getarg(0),.@max*2;
								delitem 713,.@max;
								getitem getarg(2),.@max; 
								mes "[Grandpa Pharmacist]";
								mes "Here. Take them.";
								mes "Keep it in mind! Overdose could lead you to death.";
								close;
							case 2:
								next;
								mes "[Grandpa Pharmacist]";
								mes "Set the amounts from 1 to 100. type '0' if you want to Cancel";
								mes "I think you can make "+.@max+" potions?";
								input .@amount;
								if (.@amount == 0) {
									next;
									mes "[Grandpa Pharmacist]";
									mes "Can't you do it correctly?!";
									close;
								}
								if (.@amount > 100) {
									next;
									mes "[Grandpa Pharmacist]";
									mes "Are you a deaf of something? I can't make more than 100.";
									close;
								}
								if ((countitem(507) < .@amount) | (countitem(508) < .@amount) | (countitem(713) < .@amount) | (Zeny < .@amount*3)) {
									next;
									mes "[Grandpa Pharmacist]";
									mes "You punk! Do you want me to make stuff from insufficient ingredients?";
									close;
								}
								next;
								set Zeny,Zeny-(.@amount*getarg(1));
								delitem getarg(0),.@amount*2;
								delitem 713,.@amount;
								getitem getarg(2),.@amount; 
								mes "[Grandpa Pharmacist]";
								mes "Here. Take them.";
								mes "Keep it in mind! Overdose could lead you to death.";
								close;
							case 3:
								next;
								mes "[Grandpa Pharmacist]";
								mes "What did you say?! You little punk.. Get out of here!";
								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 "[Grandpa Pharmacist]";
						mes "What did you say?! You little punk.. Get out of here!";
						close;
					}
				}
		case 2:
			next;
			mes "[Grandpa Pharmacist]";
			mes "You can improve immune system with medicine. But youhave to be careful in medicine otherwise you would be addicted...";
			mes "Oh man... Since I'm old, I enjoy recalling my youth.";
			mes "Anyway, the potion is just a medicine which can assist you. That's all.";
			close;
		case 3:
			next;
			mes "[Grandpa Pharmacist]";
			mes "Phew... What an annoying young people... Fine, I will explain how the potion works on you.";
			next;
			mes "[Grandpa Pharmacist]";
			mes "You can just use raw herbs but I can process herbs to make potions which have greater effect.";
			next;
			mes "[Grandpa Pharmacist]";
			mes "If you ask me to make potions, I will make them with the few fee.";
			next;
			mes "[Grandpa Pharmacist]";
			mes "Red_Potion - ^0098E5Red Herb: 2ea, Empty Bottle: 1ea, Fee: 3 zeny.^000000";
			mes "Orange_Potion - ^0098E5Red Herb: 1ea, Yellow Herb: 1ea, Empty Bottle: 1ea, Fee: 5 zeny.^000000";
			mes "Yellow_Potion - ^0098E5Yellow Herb: 2ea, Empty Bottle: 1ea, Fee: 10 zeny.^000000";
			next;
			mes "[Grandpa Pharmacist]";
			mes "White_Potion - ^0098E5White Herb: 2ea, Empty Bottle: 1ea, Fee: 20 zeny.^000000";
			mes "Blue_Potion - ^0098E5Blue Herb: 2ea, Empty Bottle: 1ea, Fee: 30 zeny.^000000";
			mes "Green_Potion - ^0098E5Green Herb: 2ea, Empty Bottle: 1ea, Fee: 3 zeny.^000000";
			close;
		case 4:
			next;
			mes "[Grandpa Pharmacist]";
			mes "Don't you have anything to say?";
			close;
	}
	
L_making:
	next;
	mes "[Grandpa Pharmacist]";
	if ((countitem(getarg(0))/2) < countitem(713)) {
		set .@max,countitem(getarg(0))/2;
	} else {
		set .@max,countitem(713);
	}
	if ((countitem(getarg(0)) < 2) | (countitem(713) == 0)) {
		mes "You are silly! How can you make a potion if you don't even have ingredients?!";
		mes "Go away!";
		close;
	}
	if (Zeny < 3) {
		mes "You are silly! Did you think you can make a potion without money?";
		mes "Go away!";
		close;
	}
	mes "How many?";
	switch(select("As many as I can","I will set the amounts.","Nah, forget about it.")) {
		case 1:
			next;
			if ((countitem(getarg(0)) < .@max*2) | (countitem(713) < .@max) | (Zeny < .@max*getarg(1))) {
				mes "[Grandpa Pharmacist]";
				mes "You punk! Do you want me to make stuff from insufficient ingredients?";
				close;
			}
			set Zeny,Zeny-(.@max*getarg(1));
			delitem getarg(0),.@max*2;
			delitem 713,.@max;
			getitem getarg(2),.@max; 
			mes "[Grandpa Pharmacist]";
			mes "Here. Take them.";
			mes "Keep it in mind! Overdose could lead you to death.";
			close;
		case 2:
			next;
			mes "[Grandpa Pharmacist]";
			mes "Set the amounts from 1 to 100. type '0' if you want to Cancel";
			mes "I think you can make "+.@max+" potions?";
			input .@amount;
			if (.@amount == 0) {
				next;
				mes "[Grandpa Pharmacist]";
				mes "Can't you do it correctly?!";
				close;
			}
			if (.@amount > 100) {
				next;
				mes "[Grandpa Pharmacist]";
				mes "Are you a deaf of something? I can't make more than 100.";
				close;
			}
			if ((countitem(getarg(0)) < .@amount*2) | (countitem(713) < .@amount) | (Zeny < .@amount*getarg(1))) {
				next;
				mes "[Grandpa Pharmacist]";
				mes "You punk! Do you want me to make stuff from insufficient ingredients?";
				close;
			}
			next;
			set Zeny,Zeny-(.@amount*getarg(1));
			delitem getarg(0),.@amount*2;
			delitem 713,.@amount;
			getitem getarg(2),.@amount; 
			mes "[Grandpa Pharmacist]";
			mes "Here. Take them.";
			mes "Keep it in mind! Overdose could lead you to death.";
			close;
		case 3:
			next;
			mes "[Grandpa Pharmacist]";
			mes "What did you say?! You little punk.. Get out of here!";
			close;
	}
}