summaryrefslogtreecommitdiff
path: root/npc/merchants
diff options
context:
space:
mode:
Diffstat (limited to 'npc/merchants')
-rw-r--r--npc/merchants/grandpa_pharmacist.txt242
-rw-r--r--npc/merchants/old_pharmacist.txt249
2 files changed, 249 insertions, 242 deletions
diff --git a/npc/merchants/grandpa_pharmacist.txt b/npc/merchants/grandpa_pharmacist.txt
deleted file mode 100644
index 3f51171f2..000000000
--- a/npc/merchants/grandpa_pharmacist.txt
+++ /dev/null
@@ -1,242 +0,0 @@
-//===== eAthena Script =======================================
-//= Grandpa Pharmacist
-//===== By: ==================================================
-//= DZeroX
-//===== Current Version: =====================================
-//= 1.0a
-//===== 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;
- }
-} \ No newline at end of file
diff --git a/npc/merchants/old_pharmacist.txt b/npc/merchants/old_pharmacist.txt
new file mode 100644
index 000000000..7d384f5be
--- /dev/null
+++ b/npc/merchants/old_pharmacist.txt
@@ -0,0 +1,249 @@
+//===== eAthena Script =======================================
+//= Old Pharmacist
+//===== By: ==================================================
+//= DZeroX
+//===== Current Version: =====================================
+//= 1.0a
+//===== 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): 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]
+//============================================================
+
+alberta_in.gat,16,28,4 script Old Pharmacist 61,{
+ mes "[Old 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 "[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)) {
+ 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 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 punk! Do you want me to make stuff from insufficient ingridients?";
+ close;
+ }
+ set Zeny,Zeny-(.@max*getarg(1));
+ delitem getarg(0),.@max*2;
+ delitem 713,.@max;
+ getitem getarg(2),.@max;
+ mes "[Old Pharmacist]";
+ mes "Here. Take them.";
+ mes "Here you go. It's all done so you can take it. But remember! Abusing medicine is not good.";
+ close;
+ case 2:
+ next;
+ mes "[Old Pharmacist]";
+ mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
+ input .@amount;
+ if (.@amount == 0) {
+ next;
+ mes "[Old Pharmacist]";
+ mes "Make up your mind, will you?!";
+ close;
+ }
+ if (.@amount > 100) {
+ next;
+ mes "[Old Pharmacist]";
+ mes "Are you deaf? I said less than 100!";
+ close;
+ }
+ if ((countitem(507) < .@amount) || (countitem(508) < .@amount) || (countitem(713) < .@amount) || (Zeny < .@amount*3)) {
+ next;
+ mes "[Old Pharmacist]";
+ mes "You punk! Do you want me to make stuff from insufficient ingridients?";
+ close;
+ }
+ next;
+ set Zeny,Zeny-(.@amount*getarg(1));
+ delitem getarg(0),.@amount*2;
+ delitem 713,.@amount;
+ getitem getarg(2),.@amount;
+ 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:
+ next;
+ mes "[Old Pharmacist]";
+ mes "What?!";
+ mes "Grrr...";
+ mes "Bleh!";
+ mes "Get lost!";
+ 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)) {
+ set .@max,countitem(getarg(0))/2;
+ } else {
+ set .@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 punk! Do you want me to make stuff from insufficient ingridients?";
+ close;
+ }
+ set Zeny,Zeny-(.@max*getarg(1));
+ delitem getarg(0),.@max*2;
+ delitem 713,.@max;
+ getitem getarg(2),.@max;
+ mes "[Old Pharmacist]";
+ mes "Here. Take them.";
+ mes "Here you go. It's all done so you can take it. But remember! Abusing medicine is not good.";
+ close;
+ case 2:
+ next;
+ mes "[Old Pharmacist]";
+ mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
+ input .@amount;
+ if (.@amount == 0) {
+ next;
+ mes "[Old Pharmacist]";
+ mes "Make up your mind, will you?!";
+ close;
+ }
+ if (.@amount > 100) {
+ next;
+ mes "[Old Pharmacist]";
+ mes "Are you deaf? I said less than 100!";
+ close;
+ }
+ if ((countitem(getarg(0)) < .@amount*2) || (countitem(713) < .@amount) || (Zeny < .@amount*getarg(1))) {
+ next;
+ mes "[Old Pharmacist]";
+ mes "You punk! Do you want me to make stuff from insufficient ingridients?";
+ close;
+ }
+ next;
+ set Zeny,Zeny-(.@amount*getarg(1));
+ delitem getarg(0),.@amount*2;
+ delitem 713,.@amount;
+ getitem getarg(2),.@amount;
+ 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:
+ next;
+ mes "[Old Pharmacist]";
+ mes "What?!";
+ mes "Grrr...";
+ mes "Bleh!";
+ mes "Get lost!";
+ close;
+ }
+} \ No newline at end of file