Quellcode durchsuchen

- Grandpa Pharmacist has now been renamed to Old Pharmacist, the official name. Updated dialogs have been implemented.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10546 54d463be-8e91-2dee-dedb-b68131a5f0ec
DZeroX vor 18 Jahren
Ursprung
Commit
242b0612c6
3 geänderte Dateien mit 250 neuen und 243 gelöschten Zeilen
  1. 0 242
      npc/merchants/grandpa_pharmacist.txt
  2. 249 0
      npc/merchants/old_pharmacist.txt
  3. 1 1
      npc/scripts_athena.conf

+ 0 - 242
npc/merchants/grandpa_pharmacist.txt

@@ -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;
-	}
-}

+ 249 - 0
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;
+	}
+}

+ 1 - 1
npc/scripts_athena.conf

@@ -44,7 +44,7 @@ npc: npc/merchants/dye_maker.txt
 npc: npc/merchants/clothes_dyer.txt
 npc: npc/merchants/hair_dyer.txt
 npc: npc/merchants/hair_style.txt
-npc: npc/merchants/grandpa_pharmacist.txt
+npc: npc/merchants/old_pharmacist.txt
 npc: npc/merchants/inn.txt
 npc: npc/merchants/milk_trader.txt
 npc: npc/merchants/renters.txt