Forráskód Böngészése

- Deleted the previous town-specific NPCs in Alberta, and replaced them with ones converted from Aegis 10.4.
- Re-made the Doll Quest with official dialogs.
- Re-made the Grandpa Pharmacist with official dialogs.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10420 54d463be-8e91-2dee-dedb-b68131a5f0ec

DZeroX 18 éve
szülő
commit
987ef8db7c
3 módosított fájl, 1505 hozzáadás és 643 törlés
  1. 931 294
      npc/cities/alberta.txt
  2. 226 146
      npc/merchants/grandpa_pharmacist.txt
  3. 348 203
      npc/quests/quests_alberta.txt

+ 931 - 294
npc/cities/alberta.txt

@@ -1,356 +1,993 @@
-//===== eAthena Script ======================================= 
-//= Alberta Town
-//===== By: ================================================== 
-//= kobra_k88
-//===== Current Version: ===================================== 
-//= 2.1
-//===== Compatible With: ===================================== 
-//= eAthena SVN
-//===== Description: ========================================= 
-//=
-//===== Additional Comments: ================================= 
-//= Fully working
-//= 1.1 Negative input bug fixed [Lupus]
-//= 1.2 Fixed typos in script [massdriller]
-//= 1.3 Ran through spellcheck system [massdriller]
-//= 1.4 Someone forget a  in an NPC header [Fredzilla]
-//= 1.5 Fixed typo in script. [massdriller]
-//= 1.6 Fixed some typos, optimized, added Gotanblue#2 to be able to return back to Alberta [Lupus]
-//= 1.7 Fixed Phelix bugs [Lupus]
-//= 1.8 Got rid of 2 useless variables, fixed Turtle Island Quest exploit [Lupus]
-//= 1.9 Added two NPCs shown at RO Magazine [Playtester]
-//= 2.0 Removed Duplicates [Silent]
-//= 2.1 Fixed many typos, using information from Crono/Hollengrhen [Evera]
-//============================================================ 
+//--------------------------------------------------------------
+//               (c)2007 Project Aurora Presents:              
+//                  ___                                         
+//                 /   |_   _ _ __ ___  _ __ __ _               
+//                / /| | | | | '__/ _ \| '__/ _` |              
+//               / ___ | |_| | | | (_) | | | (_| |              
+//              /_/  |_|\____|_|  \___/|_|  \__,_|              
+//                    http://aurora.dzerox.com                   
+//--------------------------------------------------------------
+//	Script Title: Alberta Town NPCs		Author: DZeroX
+//--------------------------------------------------------------
+//	Version: 1.0
+//--------------------------------------------------------------
+//	1.0 - First version [DZeroX]
+//--------------------------------------------------------------
+//	Notes:	Converted directly from Aegis Episode 10.4,
+//			with several grammar errors corrected.
+//--------------------------------------------------------------
 
-//NewsPaper(?)
-alberta,148,53,1	script	Newspaper Girl	831,{end;}
-//???
-alberta,148,60,3	script	Man#03	833,{end;}
+alberta.gat,117,135,0	script	Elin	96,{
+	set .@weight,MaxWeight-Weight;
+	if ((.@weight) < 10000) {
+		mes "[Elin]";
+		mes "Wait a moment!!";
+		mes "You have brought too many things!";
+		mes "You cannot accept any more items!";
+		mes "Please reduce the amount of items,";
+		mes "then come see me again";
+		close;
+	}
+		mes "[Elin]";
+	if (Sex == 1) {
+		mes "Hello~!";
+		mes "Heh heh, you're a boy, so you";
+		mes "probably don't like dolls, right?";
+		mes "Well, I like dolls very very much!";
+	} else {
+		mes "Hi hi~! Oh, oh, do you like dolls?";
+		mes "I really really like dolls... Hee";
+		mes "Hee~!";
+	}
+	next;
+	mes "[Elin]";
+	mes "You know, I really really want a";
+	mes "new doll! I hope my daddy will give";
+	mes "me one on my birthday...!";
+	switch(select("Um, I hope your daddy gives you one too.","How about I give you one now?")) {
+		case 1:
+			next;
+			mes "[Elin]";
+			mes "Yeah, I'm hoping";
+			mes "he gives me a Yoyo";
+			mes "doll. They're so cute!";
+			close;
+		case 2:
+			next;
+			set .@weight,MaxWeight-Weight;
+			if ((.@weight) < 10000) {
+				mes "[Elin]";
+				mes "Your weight is too heavy!";
+				mes "I will accept your doll if";
+				mes "you lighten your load.";
+				close;
+			}
+			mes "[Elin]";
+			if (Sex == 1) {
+				mes "Oh my goodness!";
+				mes "Really? You're";
+				mes "such a sweetie~!";
+			} else {
+				mes "Will you really?";
+				mes "You're gonna give";
+				mes "me a doll? Yaaaay~";
+			}
+			next;
+			mes "[Elin]";
+			mes "What kind of doll are you going to";
+			mes "give me? Are you really gonna give";
+			mes "me one?";
+			switch(select("Poring Doll","Chonchon Doll","Puppet","Rocker Doll","Spore Doll","Osiris Doll","Baphomet Doll","Racoon Doll","YoYo Doll","I'm as adorable as a doll.")) {
+				case 1:
+					next;
+					if (countitem(741) >= 1) {
+						mes "[Elin]";
+						mes "Yay, it's a poring doll!";
+						next;
+						delitem 741,1;
+						getitem 529,1;
+						mes "[Elin]";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						if (Sex == 1) {
+							mes "Aww...?";
+							mes "Were you only teasing me?";
+						} else {
+							mes "Aww...";
+							mes "You're not making fun of me are";
+							mes "you?";
+						}
+						next;
+						mes "[Elin]";
+						mes "I guess you forgot it somewhere...";
+						close;
+					}
+				case 2:
+					next;
+					if (countitem(742) >= 1) {
+						mes "[Elin]";
+						mes "Eh .... Chonchon ... doll ...";
+						next;
+						mes "[Elin]";
+						mes "Oh well, since you're giving it to me, I have to treasure it ....";
+						next;
+						delitem 742,1;
+						getitem 530,1;
+						mes "[Elin]";
+						mes "If I ate too much of it, I'll get cavities anyway.";
+						if (Sex == 1) {
+							mes "You too, mister.";
+						} else {
+							mes "You too, lady.";
+						}
+						mes "Don't eat too much, ok?";
+						mes "And thanks, by the way ...";
+						next;
+						mes "[Elin]";
+						mes "(Chonchon ... *mumble mumble*)";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Chonchon dolls are ugly anyways,";
+						mes "but you still lied to me! How can";
+						mes "you be so mean?!";
+						next;
+						mes "[Elin]";
+						mes "Waaaaaaaaaaaaaaaaah~~";
+						close;
+					}
+				case 3:
+					next;
+					if (countitem(740) >= 1) {
+						mes "[Elin]";
+						mes "Wow--! It's a rabbit!";
+						mes "It's so cute!!";
+						if (Sex == 1) {
+							mes "Thank you so much, mister!";
+						} else {
+							mes "Thank you so much, lady!";
+						}
+						next;
+						mes "[Elin]";
+						mes "So fluffy~";
+						mes "Oh yeah! Let me give you a present too!";
+						mes "Ummm ... found it!";
+						mes "Take this!";
+						next;
+						delitem 740,1;
+						getitem 530,1;
+						mes "[Elin]";
+						mes "I got this from Santa. It's a candy cane~";
+						if (Sex == 1) {
+							mes "Eat it too, mister.";
+						} else {
+							mes "Eat it too, lady.";
+						}
+						mes "Thank you for the rabbit doll!";
+						mes "I'm gonna hug this to sleep every night~";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Awww, you were only kidding?";
+						mes "W-W-Why are you teasing me like";
+						mes "that?";
+						next;
+						mes "[Elin]";
+						mes "*^CCCCCCSniff...^000000*";
+						next;
+						mes "[Elin]";
+						mes "Waaaaaaaaaaaaaaaaah~~";
+						close;
+					}
+				case 4:
+					next;
+					if (countitem(752) >= 1) {
+						mes "[Elin]";
+						mes "Ah, a Rocker doll.";
+						mes "I hate hopping things but the doll's kinda cute.";
+						next;
+						mes "[Elin]";
+						mes "Thank you~";
+						mes "I'll have to give you something too.";
+						mes "Hmm, didn't I get some stuff from my uncle ...";
+						next;
+						delitem 752,1;
+						getitem 532,7;
+						mes "[Elin]";
+						mes "We've got tons of them at home.";
+						mes "So I'll share some with you~";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Awww...";
+						next;
+						mes "[Elin]";
+						mes "You don't";
+						mes "really have a doll...?";
+						mes "I was so excited about it, too...";
+						close;
+					}
+				case 5:
+					next;
+					if (countitem(743) >= 1) {
+						mes "[Elin]";
+						mes "Blehh ....";
+						mes "It's a mushroom...";
+						mes "Mom's always scolding me for not eating mushrooms ...";
+						next;
+						mes "[Elin]";
+						mes "I'll take it anyway, since the doll looks cute.";
+						mes "But I still won't eat mushrooms though ...";
+						mes "Hmm, I'll need to give you a present too.";
+						next;
+						delitem 743,1;
+						getitem 538,5;
+						mes "[Elin]";
+						mes "Mom made this.";
+						if (Sex == 1) {
+							mes "Take it, mister!";
+						} else {
+							mes "Take it, lady!";
+						}
+						next;
+						mes "[Litte Kid]";
+						mes "Thank you for the doll~";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Eh...?";
+						mes "You don't";
+						mes "have a doll?";
+						next;
+						mes "[Elin]";
+						mes "Awww...";
+						mes "It's not nice";
+						mes "to tease people";
+						mes "like that. *^CCCCCCSniff, sniff^000000*";
+						close;
+					}
+				case 6:
+					next;
+					if (countitem(751) >= 1) {
+						mes "[Elin]";
+						mes "Yay! It's an Osiris doll!";
+						next;
+						delitem 751,1;
+						getitem 522,2;
+						mes "[Elin]";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Awww...";
+						mes "Why do you have";
+						mes "to make fun of me?";
+						close;
+					}
+				case 7:
+					next;
+					if (countitem(750) >= 1) {
+						mes "[Elin]";
+						mes "Yay! It's a Baphomet doll!";
+						next;
+						delitem 750,1;
+						getitem 525,5;
+						mes "[Elin]";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "You big liar! Why are you";
+						mes "pretending to be nice?!";
+						close;
+					}
+				case 8:
+					next;
+					if (countitem(754) >= 1) {
+						mes "[Elin]";
+						mes "Ah, it's a racoon doll~";
+						mes "I hate Smokies, but the doll's really cute!";
+						next;
+						mes "[Elin]";
+						mes "It's really cute~";
+						if (Sex == 1) {
+							mes "Thank you very much, mister!";
+						} else {
+							mes "Thank you very much, lady!";
+						}
+						next;
+						delitem 754,1;
+						getitem 539,3;
+						mes "[Elin]";
+						mes "Let me give you some of Grandma's home-made cakes!";
+						if (Sex == 1) {
+							mes "Do you like sweet things, mister?";
+						} else {
+							mes "Do you like sweet things, lady?";
+						}
+						mes "This is really good, so eat it~";
+						next;
+						mes "[Elin]";
+						mes "Thank you for this cute doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Hey! How come you have to say";
+						mes "things like that? Are you making";
+						mes "fun of me?!";
+						close;
+					}
+				case 9:
+					next;
+					if (countitem(753) >= 1) {
+						mes "[Elin]";
+						mes "Wow--!!!";
+						mes "It's a monkey! So cute~";
+						if (Sex == 1) {
+							mes "Thank you very much, mister!";
+						} else {
+							mes "Thank you very much, lady!";
+						}
+						mes "I really wanted it~";
+						next;
+						mes "[Elin]";
+						mes "It's so cute~";
+						mes "That's right!";
+						mes "As a thank you, I'll give you this.";
+						next;
+						delitem 753,1;
+						getitem 608,1;
+						mes "[Elin]";
+						mes "Dad picked them up during his travels.";
+						mes "It's a seed of some kind.";
+						mes "We tried planting them at home, but it doesn't seem to grow.";
+						if (Sex == 1) {
+							mes "I'll give it to you, mister!";
+						} else {
+							mes "I'll give it to you, lady!";
+						}
+						next;
+						mes "[Elin]";
+						mes "Thank you so much for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Hey...";
+						mes "How come you're making fun of me?!";
+						close;
+					}
+				case 10:
+					next;
+					mes "["+strcharinfo(0)+"]";
+					mes "I'm as adorable as a doll...";
+					next;
+					mes "[Elin]";
+					mes "Whaaaaaaaaaaaaaaaaaaaaat...?";
+					next;
+					mes "[Elin]";
+					mes "^3355FFWhat did^000000";
+					mes "^3355FFyou just say?!^000000";
+					close;
+			}
+	}
+}
 
-// Young Man -----------------------------------------------------------
-alberta_in,20,183,6	script	Young Man	49,{
-	mes "[Merchant]";
-	mes "People say that ^0000ffGungnir^000000 is the legendary spear that never misses its target.  If that's true, then it's simply amazing.";
+alberta.gat,97,51,0	script	Fabian	84,{
+	mes "[Fabian]";
+	mes "Man... When you travel all around";
+	mes "the world, you'll hear of some";
+	mes "crazy things.";
+	next;
+	mes "[Fabian]";
+	mes "Once, I heard that there are Cards";
+	mes "which contain the power of";
+	mes "monsters. If someone happens to get";
+	mes "their hands on a card, they'll be";
+	mes "able to use that monster's power.";
+	next;
+	mes "[Fabian]";
+	mes "I'm guessing it's some sort of fad";
+	mes "or scam, where they make you";
+	mes "collect all the cards or whatever.";
+	mes "I mean, how can a card really hold";
+	mes "the power of a monster?!";
+	next;
+	mes "[Fabian]";
+	mes "Seriously...";
 	close;
 }
 
-// Merchant -------------------------------------------------
-alberta,97,51,7	script	Merchant#01	84,{
-	mes "[Merchant]";
-	mes "When you travel to many places like I do, you often hear a lot of rumors.  There is one rumor I heard that is really interesting.";
+alberta.gat,53,39,0	script	Steiner	100,{
+	mes "[Steiner]";
+	mes "Oh...!";
+	mes "Welcome to Alberta,";
+	mes "young adventurer!";
 	next;
-	mes "[Merchant]";
-	mes "Apparently there are cards which seal the power of certain monsters within them.";
-	mes "If someone is able to obtain one of those cards, he/she will obtain the power of the monster...";
+	mes "[Steiner]";
+	mes "Pardon me if I seem distracted.";
+	mes "I'm milling about, trying to";
+	mes "make a plan.";
+	mes" You see, I hear that there is";
+	mes "a store in Geffen that sells";
+	mes "armour that is resistant to magic.";
 	next;
-	mes "[Merchant]";
-	mes "Bah! I don't believe it though."; 
+	mes "[Steiner]";
+	mes "If I buy a lot of them in bulk,";
+	mes "and then resell them here for a";
+	mes "higher price...";
 	close;
 }
 
-// Merchant ---------------------------------------------------------
-alberta,53,39,8	script	Merchant#02	74,{
-	mes "[Merchant]";
-	mes "Oh, you look like a stranger.  Welcome to Alberta.";
-	emotion e_gasp;
-	next;
-	mes "[Merchant]";
-	mes "I was just brainstorming on some ideas I have for my business.";
+alberta.gat,20,183,0	script	Chad	49,{
+	mes "[Chad]";
+	mes "People say the legendary weapon";
+	mes "Gungnir never misses its target. I";
+	mes "wonder if it's possibly true...";
 	next;
-	mes "[Merchant]";
-	mes "You see, I heard that there is a store in Geffen that sells unique armor that is resistant to magic attacks.";
-	mes "If I could somehow get them in bulk for a low price and sell them to the people in other towns......";
+	mes "[Chad]";
+	mes "People also say that babies are";
+	mes "assembled by the storks before";
+	mes "delivery, girls dig guys who act";
+	mes "like jerks, and that Santa Claus";
+	mes "exists! But only in Lutie.";
 	next;
-	mes "[Merchant]";
-	mes "Cha-Ching! (you see dollar signs in her eyes)";
-	emotion e_cash;
+	mes "[Chad]";
+	mes "I wonder...";
+	mes "If any of that";
+	mes "is possibly";
+	mes "true...";
 	close;
 }
 
-// Merchant -------------------------------------------------
-alberta,58,80,8	script	Merchant#03	99,{
-	mes "[Merchant]";
-	if(rand(2)) goto R_1;
-		mes "We merchants can open a roadside stand and do business.  With the ^0000ffDiscount skill^000000 we can buy goods from stores for low prices.";
+alberta.gat,189,151,5	script	Fisk	100,{
+	mes "[Fisk]";
+	mes "Ahoy mate,";
+	mes "where'd ya";
+	mes "wanna go?";
+	switch(select("Sunken Ship -> 250 zeny.","Izlude Marina -> 500 zeny.","Never mind.")) {
+		case 1:
+			next;
+			if (Zeny < 250) {
+				mes "[Fisk]";
+				mes "Hey now, don't try to cheat me! I";
+				mes "said 250 zeny!";
+				close;
+			}
+			set Zeny,Zeny - 250;
+			warp "alb2trea.gat",43,53;
+			end;
+		case 2:
+			next;
+			if (Zeny < 500) {
+				mes "[Fisk]";
+				mes "Ain't no way yer getting there";
+				mes "without the 500 zeny first!";
+				close;
+			}
+			set Zeny,Zeny - 500;
+			warp "izlude.gat",176,182;
+			end;
+		case 3:
+			next;
+			mes "[Fisk]";
+			mes "Alright...";
+			mes "Landlubber.";
+			close;
+	}
+}
+
+alb2trea.gat,39,50,6	script	Fisk#a2t	100,{
+	mes "[Fisk]";
+	mes "So you wanna head back to the";
+	mes "mainland in Alberta, eh?";
+	switch(select("Yes please.","I changed my mind.")) {
+	case 1:
+		warp "alberta.gat",192,169;
+	case 2:
+		close;
+	}
+}
+
+alberta.gat,131,139,2	script	Drunken Old Man	54,{
+	mes "[Deagle]";
+	mes "*^CCCCCCHiccup^000000*";
+	mes "Wh-what are you";
+	mes "staring at? Get lost!!";
+	switch(select("Say nothing.","Leave him alone.")) {
+		case 1:
+			next;
+			mes "[Deagle]";
+			mes "Hahahahaha *^CCCCCChiccup^000000*... You've got";
+			mes "some nerve. I may look worthless";
+			mes "now, but I used to be a sailor on";
+			mes "the 'Going Mary.'";
+			switch(select("Never heard of it.","Really? No kidding!")) {
+				case 1:
+					next;
+					mes "[Deagle]";
+					mes "Never heard of it?! Everybody knows";
+					mes "th'notorious pirate ship 'Going";
+					mes "Mary!' *^CCCCCCHiccup~^000000*";
+					next;
+					mes "[Deagle]";
+					mes "Ah~ The ol'days. If only... if only";
+					mes "we hadn't run into that";
+					mes "STORM... *^CCCCCChiccup^000000*";
+					next;
+					mes "[Deagle]";
+					mes "AH~ Captain. I miss our cap'n more";
+					mes "than anything... No foe survived";
+					mes "before cap'n's sword.";
+					close;
+				case 2:
+					next;
+					mes "[Deagle]";
+					mes "That's right! NOBODY meshes with";
+					mes "the crew of the 'Going Mary!' And";
+					mes "nobody can beat our cap'n in a";
+					mes "sword fight!";
+					next;
+					mes "[Deagle]";
+					mes "CAPTAIN~!!! *^CCCCCCHICCUP~^000000* He would";
+					mes "swing his sword like this, then";
+					mes "THEN!!";
+					next;
+					mes "[Deagle]";
+					mes "The bastard the captain was";
+					mes "fighting, and anyone of his friends";
+					mes "near him, were surrounded in";
+					mes "flame!";
+					next;
+					mes "[Deagle]";
+					mes "Man, that sword must have had some";
+					mes "sort of mysterious power, or the";
+					mes "captain was just that good...!";
+					next;
+					mes "[Deagle]";
+					mes "Phew~~ *^CCCCCCSob^000000* *^CCCCCCSob...^000000* God, I miss";
+					mes "everyone! Now I'm depressed!";
+					mes "Please, go away now.";
+					close;
+			}
+		case 2:
+			next;
+			mes "[Deagle]";
+			mes "That's right!";
+			mes "Go AWAY~";
+			close;
+	}
+}
+
+alberta.gat,58,80,2	script	Shakir	99,{
+	set .@random,rand(1,2);
+	if (.@random == 1) {
+		mes "[Shakir]";
+		mes "We Merchants have our own";
+		mes "negotiating skill when we sell";
+		mes "goods. This skill can get us more";
+		mes "money than when other people sell";
+		mes "goods.";
 		next;
-		mes "[Merchant]";
-		mes "We can also rent carts which allow us to load up with goods and make our business portable.";
-		mes "This way, business is more convenient and safe.";
+		mes "[Shakir]";
+		mes "It's more than just yelling 'You'll";
+		mes "have to give more money please!'";
+		mes "You need to have charisma, and";
+		mes "master rhetoric!";
+		next;
+		mes "[Shakir]";
+		mes "We can get up to 24% more zeny";
+		mes "with this incredible skill. But";
+		mes "remember to train hard to acquire";
+		mes "it!";
 		close;
-	R_1:
-		mes "We merchants can negotiate with store NPCs to get more money for items we sell to them by using the skill ^ff0000Overcharge^000000.";
+	} else {
+		mes "[Shakir]";
+		mes "We Merchants can";
+		mes "open roadside stands";
+		mes "to do business.";
+		next;
+		mes "[Shakir]";
+		mes "With the Discount skill, we can buy";
+		mes "goods really cheap from the stores";
+		mes "in towns and load them into the";
+		mes "cart we rent.";
 		next;
-		mes "[Merchant]";
-		mes "The most we can overcharge NPCs is by 24%, but it takes some hard work and training to get the skill!!";
+		mes "[Shakir]";
+		mes "Then afterwards, we can travel";
+		mes "anywhere, and sell our goods to";
+		mes "make a profit!";
+		next;
+		mes "[Shakir]";
+		mes "This way, business is more";
+		mes "convenient and safe. Don't fall";
+		mes "asleep, although it's too easy to";
+		mes "do that.";
 		close;
+	}
 }
 
-// Phina -------------------------------------------------------
-alberta,62,156,2	script	Phina	102,{
-	set @TEMP,rand(3);
-	mes "[Phina]";
-	if(@TEMP == 1) goto R_1;
-	if(@TEMP == 0) goto R_0;
-		mes "This one time, I was walking in the forest and I saw a long, slender piece of green grass sticking out on the ground.";
-		next;
-		mes "[Phina]";
-		mes "It was so cute that I wanted to touch it.  And when I did, you know what happened? The grass actually slapped my hand.";
+alberta.gat,62,156,2	script	Sonya	102,{
+	set .@random,rand(1,3);
+	if (.@random == 1) {
+		mes "[Sonya]";
+		mes "You know those lazy looking bears";
+		mes "that live in the forest on the way";
+		mes "to Payon?";
 		next;
-		mes "[Phina]";
-		mes "I was startled and so I backed off a bit.  I then realized that it was not grass but a very small creature.";
-		emotion e_gasp;
+		mes "[Sonya]";
+		mes "Just for fun, I threw a rock at it";
+		mes "and all of a sudden it rushed at me!";
+		mes "I was soooooo scared, I started to";
+		mes "run away, then BAM!!!";
 		next;
-		mes "[Phina]";
-		mes "Even calm monsters can be very dangerous when they feel threatened.  So don't startle them by mistake.";
+		mes "[Sonya]";
+		mes "It ran into a low tree branch and";
+		mes "knocked itself out! I swear, I'll";
+		mes "never provoke an animal for fun";
+		mes "again!";
 		close;
-	R_1:
-		mes "You know those dumb-looking bears that live in the forest connecting Alberta and Payon?";
-		mes "You know... the ones that play around with the flies that make that buzzing noise.";
+	}
+	if (.@random == 2) {
+		mes "[Sonya]";
+		mes "Hey, you know, this one time I was";
+		mes "walking through the forest and I";
+		mes "saw this little green stem moving";
+		mes "around.";
 		next;
-		mes "[Phina]";
-		mes "Well, one time I threw a twig at one just for fun.  All of the sudden, IT RUSHED TOWARDS ME!";
+		mes "[Sonya]";
+		mes "I went to see what it was and when";
+		mes "I went to touch it, the stem";
+		mes "actually slapped my hand!";
 		next;
-		mes "[Phina]";
-		mes "I was SOOOO scared!! I quickly jumped to the side to avoid it.  Then BAM!!! It hit a huge tree and crushed it into pieces.";
-		emotion e_wah;
+		mes "[Sonya]";
+		mes "It startled me, so I jumped back a";
+		mes "bit and then I realised it wasn't a";
+		mes "stem, but a very small animal.";
 		next;
-		mes "[Phina]";
-		mes "I sure learned my lesson that day.  NEVER taunt any creature, 'cause if they get angry, you'll be in a world of hurt.";
+		mes "[Sonya]";
+		mes "I was lucky I didn't upset it. Even";
+		mes "the smallest animal can be";
+		mes "dangerous if angered.";
 		close;
-	R_0:
-   		mes "Did you know? Wolves are much more cooperative than they might seem.  If one of them is attacked, then others will come to help him.";
+	}
+	if (.@random == 3) {
+		mes "[Sonya]";
+		mes "I once saw a pack of wolves take on";
+		mes "one of those huge, lazy bears!";
+		next;
+		mes "[Sonya]";
+		mes "Wolves are much more cooperative";
+		mes "than they may seem. If one of them";
+		mes "is attacked, then any nearby wolves";
+		mes "will run to help.";
 		next;
-		mes "[Phina]";
-   		mes "So be careful if you ever decide to fight one.";
+		mes "[Sonya]";
+		mes "I'd think twice if you ever want to";
+		mes "fight one when others of its kind";
+		mes "are around. Be careful: don't get";
+		mes "ganged up on!";
 		close;
+	}
 }
 
-// Grandma -----------------------------------------------------
-alberta,93,174,2	script	Grandma	103,{
-	mes "[Grandma]";
-	mes "Some time ago a derelict ship drifted into the Alberta harbor.  Some of the town's young people went into the ship to find survivors.";
+alberta.gat,93,174,2	script	Grandmother Alma	103,{
+	mes "[Grandmother Alma]";
+	mes "Some time ago,";
+	mes "a derelict ship";
+	mes "drifted into";
+	mes "Alberta harbour.";
 	next;
-	mes "[Grandma]";
-	mes "But after a few moments they all ran out terrified.  They said that they saw CORPSES walking around the ship!.";
+	mes "[Grandmother Alma]";
+	mes "Hoping to save any survivors, some";
+	mes "of the townspeople ventured into";
+	mes "the ship. However, they all ran out";
+	mes "terrified, saying that corpses were";
+	mes "walking around inside the ship.";
 	next;
-	mes "[Grandma]";
-	mes "The ship was also over run by never before seen sea monsters, which made it impossible for the townspeople to get around.";
+	mes "[Grandmother Alma]";
+	mes "The ship was also packed with";
+	mes "dangerous marine organisms, and";
+	mes "they couldn't get inside, even if";
+	mes "they wanted to.";
 	next;
-	mes "[Grandma]";
-	mes "We've never been able to do anything about that ominous-looking ship so we just left it there, hoping that it would sink or drift away.";
+	mes "[Grandmother Alma]";
+	mes "We couldn't do anything about that";
+	mes "ominous looking ship, and just left";
+	mes "it as it was. Nowadays, exploration";
+	mes "teams try to enter that ship and";
+	mes "wipe out its monsters.";
 	next;
-	mes "[Grandma]";
-	mes "Then, out of nowhere, the Cool Event Corp. people came by and paid the city a huge amount zeny to buy the ship.";
-	next;
-	mes "[Grandma]";
-	mes "They then created an event called the ^0000ddSunken Ship^000000.";
-	next;
-	mes "[Grandma]";
-	mes "They invited young warriors from all over to enter the ghost ship and test their skills fighting the monsters in it.";
-	next;
-	mes "[Grandma]";
-	mes "Now the ghost ship, that was once a problem for Alberta, has become quite a popular attraction.";
-	next;
-	mes "[Grandma]";
-	mes "I have to say, though, I don't think it's worth risking your life for......";
+	mes "[Grandmother Alma]";
+	mes "So it might be a good experience";
+	mes "for a young person like yourself to";
+	mes "be a recruit. But, it's still not";
+	mes "worth risking your life if you're";
+	mes "not strong enough.";
 	close;
 }
 
-// Drunken old man ----------------------------------------------------------------
-alberta,131,139,4	script	Drunken old man	709,{
-	mes "[Drunken old man]";
-	mes "(~hiccup~)... Huh?... Wh-what are you staring at? Get lost!!";
+alberta.gat,195,151,2	script	Paul	86,{
+	mes "[Paul]";
+	mes "Good day~";
+	mes "Would you like";
+	mes "to join the";
+	mes "exploration team";
+	mes "of the Sunken Ship?";
 	next;
-	menu "Stay",-,"Leave him alone",M_1;
-	
-		mes "[Drunken old man]";
-		mes "Hahahaha (~hiccup~)... So you got some nerve...";
-		next;
-		mes "[Drunken old man]";
-		mes "Heh... I may look worthless now, but back in the day I was a handsome sailor on board the `Going Mary'.";
-		next;
-		menu "Is that a ship?",-,"Really? No kidding!",sM_1;
-		
-			mes "[Drunken old man]";
-			mes "What? Ya never heard of it? Stupid! Everybody knows the notorious pirate ship `Going Mary'! (~hiccup~)";
-			emotion e_what;
-			next;
-		sM_1:
-			mes "[Drunken old man]";
-			mes "Ah~ the good old days... only... if only we hadn't run into that STORM... (~hiccup~)";
-			next;
-			mes "[Drunken old man]";
-			mes "AH~ Captain.  I miss our captain more than anything.... no foe could ever survive captain's sword.";
-			mes "CAPTAIN~~~!!! (~HICCUP~) He'd swing his sword like THIS!... then... THEN...!!!";
+	mes "[Paul]";
+	mes "Oh! Before you join, I must warn";
+	mes "you. If you're not that strong, you";
+	mes "may not want to go.";
+	next;
+	mes "[Paul]";
+	mes "So, want";
+	mes "to sign up?";
+	mes "The admission";
+	mes "fee is only";
+	mes "200 Zeny.";
+	switch(select("Sign me up!","Uh, no thanks.")) {
+		case 1:
 			next;
-			mes "[Drunken old man]";
-			mes "The enemy and anything around him was surrounded by flames! Now that I think of it, the sword must've had some sort of mysterious power.";
+			if (Zeny < 200) {
+				mes "[Paul]";
+				mes "It seems you don't have the money,";
+				mes "my friend. But please come back";
+				mes "when you're able to pay.";
+				close;
+			} else {
+				set Zeny,Zeny - 200;
+				warp "alb2trea.gat",62,69;
+				close;
+			}
+		case 2:
 			next;
-			mes "[Drunken old man]";
-			mes "(~sigh!~) (~sob, sob~)... God I miss everyone... Now I'm depressed.  Just go away and leave me be.....";
-			emotion e_sob;
+			mes "[Paul]";
+			mes "Alright, well...";
+			mes "I'll be around";
+			mes "if you change";
+			mes "your mind.";
 			close;
-	M_1:
-		mes "[Drunken old man]";
-		mes "That's right! Go AWAY~";
-		emotion e_pif;
-		close;
+	}
 }
 
-// Soda Man ----------------------------------------------------
-alberta,90,71,3	script	Soda Man	89,{
-	mes "[Soda Man]";
-	mes "Ummm.... delicious....";
-	emotion e_ok;
-	next;
-	mes "[Soda Man]";
-	mes "Wait! Don't bother me right now.  Hmm? What am I doing you ask?  Well isn't it obvious what I'm doing?";
-	mes "Look at this! I've mixed sugar and soda together in this container.  Watch what happens when I heat it up.";
-	next;
-	mes "[Soda Man]";
-	mes "The two ingredients will melt soon and intermix.  When the color of the mixture turns brown, we have to stop heating it.";
-	mes "At that point it will have a marshmallow consistency.";
-	next;
-	mes "[Soda Man]";
-	mes "You see what I am talking about now? Do you think it's valuable?........ What?..... No?.....";
-	mes "Hmm... then what about the story of the old man who almost conquered ^5555FFTurtle Island^000000?";
-	next;
-	mes "[Soda Man]";
-	mes "Go to the inn and you'll find an old drunkard there.  When you speak to him at first, it may seem like he's talking nonsense.";
-	mes "But be patient and if you listen to his words carefully you may be able to pick up some useful information.";
-	next;
-	mes "[Soda Man]";
-	mes "Oh, and there is a letter on the table inside of that old man's room.  It's a scary story about Turtle Island.";
-	close;
-}
-
-
-//<=================================================== Marina (Docks/Port) ===================================================>\\
-// Sailor Fisk ----------------------------------------------------------------
-alberta,189,151,5	script	Sailor Fisk	100,{
-	mes "[Sailor Fisk]";
-	mes "Ahoy matey, where'd ya wanna go?";
-	next;
-	menu "Izlude Marina -> 500 Zeny.",-,"Quit",M_End;
-	
-		if(Zeny < 500) goto L_NoZeny;
-		set Zeny, Zeny - 500;
-		warp "izlude",176,182;
-		close;
-
-		L_NoZeny:
-			mes "[Sailor Fisk]";
-			mes "I'm sorry, but I told you I would need 500 Zeny, and it looks like you don't have it.";
-			close;
-	M_End:
+alberta.gat,190,173,4	script	Phelix	85,{
+	set .@weight,MaxWeight-Weight;
+	if ((.@weight) < 10000) {
+		mes "[Phelix]";
+		mes "Wait a moment!!";
+		mes "You have brought too many things!";
+		mes "You cannot accept any more items!";
+		mes "Please reduce the amount of items,";
+		mes "then come see me again";
 		close;
-}
-
-// Phelix ------------------------------------------------------------------
-alberta,190,173,4	script	Phelix	85,{
-
-	mes "[Phelix]";
-	mes "What the hell are you doing here?";
-	next;
-	mes "[Phelix]";
-	mes "There is nothing you can get for free on this ship. If you want to get rewarded, do some work!!";
-	next;
-	mes "[Phelix]";
-	mes "Hmm, however I'd be willing to trade you some items for your jellopies.";
-	mes " - For ^0000ff10 Jellopies^000000 I'd be willing to give you ^ff00001 potion^000000.";
-	mes " - For ^0000ff3 Jellopies^000000 I'll give you ^ff00001 sweet potato^000000.";
-	next;
-	mes "[Phelix]";
-	mes "How does that sound?";
-	next;
-	menu "Sounds good",-,"Nah",M_End;
-	
-	M_Yes:
+	}
+	if (@event_zelopy == 0) {
 		mes "[Phelix]";
-		mes "What do you want to exchange your Jellopies for?";
+		mes "The hell are you doing here?";
+		mes "There is nothing you can get for";
+		mes "free on this ship, if you want";
+		mes "somethin', work for it!!";
 		next;
-		menu "Red Potion please.",-,"Sweet Potato please.",M_1,"Cancel",M_End;
-
-			set @item, 501;
-			goto L_Get;
-
-		M_1:
-			set @item, 516;
-
-			L_Get:
-				mes "[Phelix]";
-				mes "Please enter an amount.  Enter 0 to cancel.";
+		mes "[Phelix]";
+		mes "Hmm, so why don't you bring me";
+		mes "10 jellopies and I will give 1";
+		mes "potion. How's that sound?";
+		mes "Or if that's too hard for your";
+		mes "pansy ass, 3 jellopies for 1";
+		mes "Carrot.";
+		next;
+		mes "[Phelix]";
+		mes "If you're interested in my offer,";
+		mes "get me the stuff I mentioned.";
+		set @event_zelopy,1;;
+		close;
+	} else {
+		mes "[Phelix]";
+		mes "Hmm... you want to exchange";
+		mes "jellopies for Red Potions or some";
+		mes "Carrots eh? Well... which one?";
+		switch(select("Red Potions please.","Carrots please.")) {
+			case 1:
 				next;
-				set @input,0;
-				input @input;
-				if(@input < 1 || @input > 1000) goto M_Yes;
-				if(checkweight(@item,@input)==0) goto L_OverW;
-
-				if(@item == 501) set @amount, @input*10;
-				if(@item == 516) set @amount, @input*3;
-				if(countitem(909) < @amount) goto L_NotEnough;
-
-				getitem @item,@input;
-				delitem 909, @amount;
-				close;
-			
-			L_NotEnough:
 				mes "[Phelix]";
-				mes "I'm sorry but you do not have enough Jellopies.";
+				mes "Alright...";
+				mes "Let's see";
+				mes "what'cha got...";
+				next;
+				if (countitem(909) < 10) {
+					mes "[Phelix]";
+					mes "Hey! Weren't you listening? I said";
+					mes "10 jellopies for 1 Red Potion.. are";
+					mes "ya deaf?";
+					close;
+				} else {
+					set .@max,countitem(909)/10;
+					mes "[Phelix]";
+					mes "Hmm, not bad...";
+					mes "How many potions";
+					mes "do you want to get?";
+					switch(select("As many as I can, please.","I want this many.","Never mind, I like my jellopy.")) {
+						case 1:
+							next;
+							delitem 909,.@max*10;
+							getitem 501,.@max;
+							mes "[Phelix]";
+							mes "There you go! As I promised. Don't";
+							mes "go suckin' them all down at once.";
+							close;
+						case 2:
+							next;
+							mes "[Phelix]";
+							mes "I'm not giving you more than 100";
+							mes "at a time so don't bother, OK? If";
+							mes "you don't want any, just say '0'.";
+							mes "Right now, the most you can get is";
+							mes ""+.@max+" but remember, 100 at most,";
+							mes "you want to break my back?";
+							input .@amount;
+								if (.@amount <= 0) {
+									mes "[Phelix]";
+									mes "Much obliged, come again anytime.";
+									close;
+								}
+								if (.@amount > 100) {
+									mes "[Phelix]";
+									mes "Hey, what'd I say? 100 at a time at";
+									mes "most, you're trying to kill me";
+									mes "aren't you!";
+									close;
+								}
+								if (countitem(909) < .@amount*10) {
+									mes "[Phelix]";
+									mes "Hmmm, it looks like you don't have";
+									mes "enough. Go get more jellopies if";
+									mes "you want anything else from me.";
+									close;
+								}
+							delitem 909,.@amount*10;
+							getitem 501,.@amount;
+							next;
+							mes "[Phelix]";
+							mes "There you go! As I promised. Don't";
+							mes "go suckin' them all down at once.";
+							close;
+						case 3:
+							next;
+							mes "[Phelix]";
+							mes "No problem,";
+							mes "see you next time.";
+							close;
+					}
+				}
+			case 2:
 				next;
-				goto M_Yes;
-
-			L_OverW:
 				mes "[Phelix]";
-				mes "I'm sorry but you can't carry so many things.";
+				mes "Alright, let's see what ya got...";
 				next;
-				goto M_Yes;
-
-	M_End:
-		close;
+				if (countitem(909) < 3) {
+					mes "[Phelix]";
+					mes "Hmm, look pansy ass, I said 3";
+					mes "jellopies for 1 Carrot.. got it?";
+					close;
+				} else {
+					set .@max,countitem(909)/3;
+					mes "[Phelix]";
+					mes "Not too bad pansy...";
+					mes "How many do you want?";
+					switch(select("As many as I can get, please","I want this many.","Never mind, I like my jellopy.")) {
+					case 1:
+						next;
+						delitem 909,.@max*3;
+						getitem 515,.@max;
+						mes "[Phelix]";
+						mes "There you go~! As I promised. Try";
+						mes "not to stuff yer face.";
+						close;
+					case 2:
+						next;
+						mes "[Phelix]";
+						mes "Right I'm not giving you more than";
+						mes "100 at a time so don't bother,";
+						mes "okay? If you don't want any, just";
+						mes "say '0'.";
+						input .@amount;
+						next;
+							if (.@amount == 0) {
+								mes "[Phelix]";
+								mes "Alright then, see you next time.";
+								close;
+							}
+							if (.@amount > 100) {
+								mes "[Phelix]";
+								mes "Hey pansy ass, I said 100 at most,";
+								mes "no more than that! I'm not going to";
+								mes "break my back for the likes of";
+								mes "you!";
+								close;
+							}
+							if (countitem(909) < .@amount*10) {
+								mes "[Phelix]";
+								mes "Seems you don't have enough. Go get";
+								mes "some more if you want anything";
+								mes "else.";
+								close;
+							}
+						delitem 909,.@amount*3;
+						getitem 515,.@amount;
+						next;
+						mes "[Phelix]";
+						mes "There you go~! As I promised. Try";
+						mes "not to stuff yer face.";
+						close;
+					case 3:
+						next;
+						mes "[Phelix]";
+						mes "Catch'ya later.";
+						close;
+					}
+				}
+		}
+	}
 }
 
+alberta.gat,43,49,5	script	Poor-looking Merchant	89,{
+	mes "[Machen]";
+	mes "Why...?";
+	mes "How did my";
+	mes "family's wealth";
+	mes "and prestige just";
+	mes "go down the drain?";
+	next;
+	mes "[Machen]";
+	mes "Ever since the";
+	mes "Alcheshs came to Alberta,";
+	mes "they quickly took our place";
+	mes "as the biggest business owners";
+	mes "here. It's our biggest shame...";
+	close;
+}
 
-//<=================================================== Sunken Ship ======================================================>\\
-// Paul ----------------------------------------------------------------
-alberta,195,151,3	script	Paul	86,{
-	mes "[Paul]";
-	mes "Good day.  Would you like be part of the Sunken Ship event, provided by Cool Event Corp.?";
+alberta.gat,43,244,8	script	Tourist	99,{
+	mes "[Tourist]";
+	mes "Where am I...?";
+	mes "...Who am I?";
 	next;
-	mes "[Paul]";
-	mes "Oh! I better warn you, this event is only suitable for HIGH LEVEL warriors.";
-	emotion e_gasp;
+	mes "[Tourist]";
+	mes "..........";
 	next;
-	mes "[Paul]";
-	mes "So what do you say?  It only cost 200 zeny to participate and you'll get a ton of experience, guaranteed.";
+	mes "[Tourist]";
+	mes ".....";
 	next;
-	menu "Enter",-,"Quit",M_End;
-	
-		if(Zeny < 200) goto L_NoZeny;
-		set Zeny, Zeny - 200;
-		warp "alb2trea",62,69;
-		close;
-	M_End:
-		mes "[Paul]";
-		mes "Come back anytime.";
-		close;
-
-	L_NoZeny:
-		mes "[Paul]";
-		mes "I'm sorry, but I told you I would need 200 Zeny, and it looks like you don't have it.";
-		mes "Please come back later when you have enough.";
-		close;
-}
-
-// Sailor --------------------------------------------------
-alb2trea,39,50,5	script	Sailor	100,{
-	mes "[Sailor]";
-	mes "Do you wanna return?";
+	mes "[Tourist]";
+	mes "........";
 	next;
-	menu "Return to Alberta",-,"Quit",MEnd;
-
-	warp "alberta",192,169;
-MEnd:
+	mes "[Tourist]";
+	mes "Mahahahahahahaha!!";
+	next;
+	mes "[Tourist]";
+	mes "*Drools*...I love chocolate!";
+	next;
+	mes "[Tourist]";
+	mes "Wait...";
+	mes "I have a girlfriend...";
+	mes "and...and...";
+	mes "cookies...?";
+	mes "I feel sooo lost...";
+	next;
+	mes "[Tourist]";
+	mes "^3355FFWe don't talk to crazy people~^000000";
 	close;
 }
+
+alberta.gat,165,83,4	script	Fastidious Old Man	755,{
+	mes "[Frank]";
+	mes "My back~";
+	mes "It's so sore!";
+	mes "And my eyes are";
+	mes "hurting worse and worse.";
+	mes "*Sigh* I'm getting old...";
+	close;
+}

+ 226 - 146
npc/merchants/grandpa_pharmacist.txt

@@ -1,162 +1,242 @@
 //===== eAthena Script =======================================
 //= Grandpa Pharmacist
 //===== By: ==================================================
-//= kobra_k88
+//= DZeroX
 //===== Current Version: =====================================
-//= 1.2
+//= 1.0
 //===== Compatible With: =====================================
-//= eAthena 7.15 +
+//= eAthena SVN Trunk
 //===== Description: =========================================
 //= Trade in items for potions
 //===============================
 //= Breakdown of arguments used
-//= arg(0): first item id#
-//= arg(1): 2nd item id# if needed, or else use 0
-//= arg(2): zeny cost
-//= arg(3): potion id#
-//= arg(4): potion name
+//= arg(0): Herb required.
+//= arg(1): Zeny cost.
+//= arg(2): z
 //===== Additional Comments: =================================
-//= Fully working
-//= 1.1 Negative input bug fixed [Lupus]
-//= 1.2 Created a subfunc for the potion making part.  Added more
-//= input/zeny exploit checks. Added Lupus's "loopless" technique.[kobra_k88]
+//= 1.0 - Fully working.
 //============================================================
 
-
-alberta_in,16,28,4	script	Grampa Pharmacist	61,{
-	mes "[Grampa Pharmacist]";
-	mes "Hmmm... what do you want...?";
-	next;
-	menu "Make Potion",M_Make, "Talk",M_Talk, "Information",M_Info, "Cancel",M_End;
+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;
+	}
 	
-	M_Make:
-		mes "[Grampa Pharmacist]";
-		mes "Did you prepare all the items needed? If so what potion do you want?";
-		M_Menu:
-		next;
-		menu "Red Potion",M_0, "Orange Potion",M_1, "Yellow Potion",M_2,
-			 "White Potion",M_3, "Blue Potion",M_4, "Green Potion",M_5,
-			 "Nah, I change my mind.",M_End;
-		
-		M_0:
-			callsub sF_Make, 507, 0, 2, 501, "red";
-			goto M_Menu;
-		M_1:
-			callsub sF_Make, 507, 508, 5, 502, "orange";
-			goto M_Menu;
-		M_2:
-			callsub sF_Make, 508, 0, 10, 503, "yellow";
-			goto M_Menu;
-		M_3:
-			callsub sF_Make, 509, 0, 20, 504, "white";
-			goto M_Menu;
-		M_4:
-			callsub sF_Make, 510, 0, 30, 505, "blue";
-			goto M_Menu;
-		M_5:
-			callsub sF_Make, 511, 0, 3, 506, "green";
-			goto M_Menu;
-
-	M_Talk:
-		mes "[Grampa Pharmacist]";
-		mes "The right type of medicinal Herbs can replenish a person's HP or SP";
-		mes ". ~Sigh~ I'm starting to reminisce about my youth.... a sign that I";
-		mes "must be getting old.....";
-		next;
-		mes "[Grampa Pharmacist]";
-		mes "... A potion is merely an, 'easy to use', form of medicinal  Herbs";
-		mes "..... nothing more and nothing less.";
-		close;
-	M_Info:
-		mes "[Grampa Pharmacist]";
-		mes "~Sigh~... you young ones can be quite bothersome.. Fine, I will";
-		mes "explain to you how potions work....";
-		next;
-		mes "[Grampa Pharmacist]";
-		mes "Though the bennefits from consuming the various Herbs found around";
-		mes "Rune-Midgard are great... by refining them into potions, the";
-		mes "effects of the Herbs are dramatically enhanced.";
-		next;
-		mes "[Grampa Pharmacist]";
-		mes "The process of refining herbs into potions is a special one that I";
-		mes "created.  For a small fee I can make any potion you desire.";
-		next;
-		mes "[Grampa Pharmacist]";
-		mes "^FF5533Red Potion^000000 - 2 Red Herbs, 1 Empty Bottle, 2 Zeny fee.";
-		mes "^FF8000Orange Potion^000000 - 1 Red Herb, 1 Yellow Herb, 1 Empty Bottle, 5 Zeny fee.";
-		mes "^E8CF20Yellow Potion^000000 - 2 Yellow Herbs, 1 Empty Bottle, 10 Zeny fee.";
-		next;
-		mes "[Grampa Pharmacist]";
-		mes "^999999White Potion^000000 -  2 White Herbs, 1 Empty Bottle, 20 Zeny fee.";
-		mes "^3355FFBlue Potion^000000 - 2 Blue Herbs, 1 Empty Bottle, 30 Zeny fee.";
-		mes "^00B000Green Potion^000000 - 2 Green Herbs, 1 Empty Bottle, 3 Zeny fee.";
-		close;
-	M_End:
-		mes "[Grampa Pharmacist]";
-		mes "Didn't you have something to say?!";
-		close;
-
-// Subfunction for making potions
-//================================
-sF_Make:
-	set @herbnum, 2;
-	if(getarg(1) != 0) set @herbnum, 1;
-	if(countitem(getarg(0)) < @herbnum) goto L_NdHerbs;
-	if(getarg(1) != 0) if(countitem(getarg(1)) < @herbnum) goto L_NdHerbs;
-	if(countitem(713) < 1) goto L_NdBottle;
-	if(Zeny < getarg(2)) goto L_NdZeny;
-
-	mes "[Grampa Pharmacist]";
-	mes "How many?";
+L_making:
 	next;
-	menu "As many as possible.",sM_0a, "I will set the amount.",sM_0b, "Nah, forget about it",M_End;
-
-	sM_0a:
-		set @amount, 1000;
-		if(zeny/getarg(2) < @amount) set @amount, zeny/getarg(2);
-		if(countitem(getarg(0))/@herbnum < @amount) set @amount, countitem(getarg(0))/@herbnum;
-		if(getarg(1) != 0) if (countitem(getarg(1))/@herbnum < @amount) set @amount, countitem(getarg(1))/@herbnum;
-		if(countitem(713) < @amount) set @amount, countitem(713);
-		if(@amount > 0) goto L_End;
-		mes "[Grampa Pharmacist]";
-		mes "Jeez... you don't even have the right items.....";
+	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;
-		
-	sM_0b:
-		input @amount;
-		if(@amount<1 || @amount>1000) goto L_BadAmnt;
-		if(countitem(getarg(0))/@herbnum < @amount) goto L_NdHerbs;
-		if(getarg(1) != 0) if (countitem(getarg(1))/@herbnum < @amount) goto L_NdHerbs;
-		if(countitem(713) < @amount) goto L_NdBottle;
-		if(Zeny < (getarg(2)*@amount)) goto L_NdZeny;
-
-	L_End:
-		set Zeny, Zeny - (getarg(2)*@amount);
-		delitem getarg(0), (@amount*@herbnum);
-		if(getarg(1) != 0) delitem getarg(1), (@amount*@herbnum);
-		delitem 713, @amount;
-		getitem getarg(3), @amount;
-		mes "[Grampa Pharmacist]";
-		mes "Here are your " +getarg(4)+ " potions.";
+	}
+	if (Zeny < 3) {
+		mes "You are silly! Did you think you can make a potion without money?";
+		mes "Go away!";
 		close;
-
-	L_NdBottle:
-		mes "[Grampa Pharmacist]";
-		mes "You don't have enough empty bottles to put the medicine in you idiot!!";
-		return;
-
-	L_NdHerbs:
-		mes "[Grampa Pharmacist]";
-		mes "You rascal! What did you expect from me? You didn't even bring all of the right herbs!";
-		return;
-
-	L_NdZeny:
-		mes "[Grampa Pharmacist]";
-		mes "You don't have enough zeny for that many potions.";
-		return;
-
-	L_BadAmnt:
-		mes "[Grampa Pharmacist]";
-		mes "What?! That's not a valid amount!";	
-		return;
-}
+	}
+	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;
+	}
+}

+ 348 - 203
npc/quests/quests_alberta.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.7
+//= 1.8
 //===== Compatible With: ===================================== 
 //= eAthena 1.0
 //===== Description: ========================================= 
@@ -21,6 +21,7 @@
 //= 1.6 TEMPESTRA quest uses common quests variable MISC_QUEST 
 //=	Condition if done: (MISC_QUEST & 2) [Lupus]
 //= 1.7 Moved quest from cities/albera.txt [Evera]
+//= 1.8 Re-made the Doll Quest, now with official dialogs. [DZeroX]
 //============================================================ 
 
 
@@ -28,218 +29,362 @@
 //=======================================================================================================//
 //						Doll Quest
 //=======================================================================================================//
-alberta,117,134,8	script	Elin	96,{
-	mes "[Elin]";
-	if(Sex){
-		mes "Hello, mister. Hmm, since you're a boy, you don't like dolls, do you?";
-	}else{
-		mes "Hello, miss. Since you're a girl, you must like dolls, don't you?";
-	}
-	next;
-	mes "[Elin]";
-	mes "I LOVE dolls!!";
-	emotion e_lv2;
-	next;
-	mes "[Elin]";
-	mes "Ya know..... I REALLY, REALLY, want a new doll.  I hope daddy is going to buy me one for my birthday.....";
-	next;
-	menu "Aww, you must be happy...",-,"How about I give you one now?",M_2;
-
+alberta.gat,117,135,0	script	Elin	96,{
+	set .@weight,MaxWeight-Weight;
+	if ((.@weight) < 10000) {
 		mes "[Elin]";
-		mes "Yeah, this time I'm hoping for a Yoyo doll.  Hehe, they're so cute! They're my FAVORITE!";
-		emotion e_ok;
+		mes "Wait a moment!!";
+		mes "You have brought too many things!";
+		mes "You cannot accept any more items!";
+		mes "Please reduce the amount of items,";
+		mes "then come see me again";
 		close;
-	M_2:
+	}
 		mes "[Elin]";
-		mes "Oh my goodness! Really?? You're such a sweetie.... gimme, gimme!!";
-		mes "What kinda doll are you going to give me? Are you really gonna give me one?";
-		emotion e_gasp;
-		next;
-		menu "Puppet",-,"Poring doll",sM_2,"Chonchon doll",sM_3,"Rocker doll",sM_4, "Spore doll",sM_5,
-		           "Osiris doll",sM_6,"Baphomet doll",sM_7,"Racoon doll",sM_8,"Yoyo doll",sM_9, "I am as adorable as a doll!",sM_10;
-		
-			if(countitem(740) < 1) goto L_Liar;
-			delitem 740,1;
-			mes "[Elin]";
-			mes "Wow--! It's a rabbit! It's SOOOO cute!! Thank you SOOO much!";
-			emotion e_lv2;
-			next;
-			mes "[Elin]";
-			mes "It's SOOO fluffy... Oh yeah! Let me give you a present too!";
-			next;
-			mes "(diggs around in her pockets)";
-			next;
-			mes "[Elin]";
-			mes "Ummm ... found it! Here take this!";
-			next;
-			getitem 530,1;
-			mes "[Elin]";
-			mes "I got this from Santa. It's a candy cane~";
-			next;
-			mes "[Elin]";
-			mes "Thanks again for the rabbit doll! I'm gonna HUG this to sleep EVERY night~";
-			emotion e_thx;
-			close;
-
-		sM_2:
-			if(countitem(741) < 1) goto L_Liar;
-			delitem 741,1;
-			mes "[Elin]";
-			mes "Yay! It's a poring doll! It's SOOOO cute! Since you gave me a doll I'll give you this....";
-			emotion e_lv2;
-			next;
-			getitem 529,1;
-			mes "[Elin]";
-			mes "Thank you for the doll!";
-			emotion e_thx;
-			close;
-
-		sM_3:
-			if(countitem(742) < 1) goto L_Liar;
-			delitem 742,1;
-			mes "[Elin]";
-			mes "Ew whats this?.... a Chonchon ... doll? ...";
-			emotion e_wah;
-			next;
-			mes "[Elin]";
-			mes "Oh well, since you're giving it to me, I guess it's ok ....";
-			next;
-			mes "[Elin]";
-			mes "Well here's a little something for giving me the doll.  Don't eat too much or you'll get cavities.";
-			getitem 530,1;
-			next;
-			mes "[Elin]";
-			mes ".... chonchon.... (~grumble, grumble~)";
-			emotion e_ag;
-			close;
-
-		sM_4:
-			if(countitem(752) < 1) goto L_Liar;
-			delitem 752,1;
-			mes "[Elin]";
-			mes "Oh! a Rocker doll.  I hate hopping things but this doll's kinda cute.";
-			next;
-			mes "[Elin]";
-			mes "Thank you.  Let me give you something too.";
-			next;
-			mes "[Elin]";
-			mes "Hmm, didn't I get some stuff from my uncle ...";
-			next;
-			mes "[Elin]";
-			mes "Here it is.  We've got tons of it at home so I'll share some with you~";
-			getitem 532,7;
-			next;
-			mes "[Elin]";
-			mes "Thanks again for the doll!";
-			emotion e_thx;
-			close;
-
-		sM_5:
-			if(countitem(743) < 1) goto L_Liar;
-			delitem 743,1;
-			mes "[Elin]";
-			mes "Blehh .... It's a mushroom... Mom's always scolding me for not eating mushrooms ...";
-			emotion e_swt;
-			next;
-			mes "[Elin]";
-			mes "I'll take it anyway, since the doll looks cute.  But I still won't eat mushrooms though ...";
-			next;
-			mes "[Elin]";
-			mes "Hmm, I'll need to give you a present too.";
-			next;
-			mes "[Elin]";
-			mes "My mom made this so please take it.";
-			getitem 538,5;
-			next;
-			mes "[Litte Kid]";
-			mes "Thank you for the doll~";
-			emotion e_thx;
-			close;
-
-		sM_6:
-			if(countitem(751) < 1) goto L_Liar;
-			delitem 751,1;
-			mes "[Elin]";
-			mes "Yay! It's an Osiris doll!";
-			next;
-			mes "[Elin]";
-			mes "Here's something for you too.";
-			getitem 522,2;
-			mes "[Elin]";
-			mes "Thank you for the doll!";
-			close;
-
-		sM_7:
-			if(countitem(750) < 1) goto L_Liar;
-			delitem 750,1;
-			mes "[Elin]";
-			mes "Yay! It's a Baphomet doll!";
-			next;
-			mes "[Elin]";
-			mes "Here's something for you too.";
-			getitem 525,5;
-			mes "[Elin]";
-			mes "Thank you for the doll!";
-			emotion e_thx;
-			close;
-
-		sM_8:
-			if(countitem(754) < 1) goto L_Liar;
-			delitem 754,1;
-			mes "[Elin]";
-			mes "Ah, it's a Smokie doll.  I hate Smokies, but the doll's really cute! Thank you!";
-			emotion e_ok;
-			next;
-			mes "[Elin]";
-			mes "Let me give you some of Grandma's home-made cake!";
-			getitem 539,3;
-			next;
-			mes "[Elin]";
-			mes "They're really good so make sure you eat them ok.";
-			next;
-			mes "[Elin]";
-			mes "Thanks again for this cute doll!";
-			emotion e_thx;
-			close;
-
-		sM_9:
-			if(countitem(753) < 1) goto L_Liar;
-			delitem 753,1;
-			mes "[Elin]";
-			mes "WOW--!!! OH MY GOSH! It's a Yoyo doll! This is what I REALLY wanted!! It's SOOOO cute......";
-			emotion e_lv2;
-			next;
-			mes "[Elin]";
-			mes "As a thank you, I'll give you this.";
-			getitem 608,1;
-			next;
-			mes "[Elin]";
-			mes "Dad picked them up during his travels.  It's a seed of some kind.";
-			mes "We tried planting them at home, but it doesn't seem to grow.";
+	if (Sex == 1) {
+		mes "Hello~!";
+		mes "Heh heh, you're a boy, so you";
+		mes "probably don't like dolls, right?";
+		mes "Well, I like dolls very very much!";
+	} else {
+		mes "Hi hi~! Oh, oh, do you like dolls?";
+		mes "I really really like dolls... Hee";
+		mes "Hee~!";
+	}
+	next;
+	mes "[Elin]";
+	mes "You know, I really really want a";
+	mes "new doll! I hope my daddy will give";
+	mes "me one on my birthday...!";
+	switch(select("Um, I hope your daddy gives you one too.","How about I give you one now?")) {
+		case 1:
 			next;
 			mes "[Elin]";
-			mes "Anyway, thank you SOOO MUCH for the Yoyo doll!!!!";
-			emotion e_thx;
+			mes "Yeah, I'm hoping";
+			mes "he gives me a Yoyo";
+			mes "doll. They're so cute!";
 			close;
-
-		sM_10:
-			mes "[Elin]";
-			mes "BLAAAAAAAAHHH!! Don't make fun of me cuz I'm young!";
-			emotion e_pif;
+		case 2:
 			next;
+			set .@weight,MaxWeight-Weight;
+			if ((.@weight) < 10000) {
+				mes "[Elin]";
+				mes "Your weight is too heavy!";
+				mes "I will accept your doll if";
+				mes "you lighten your load.";
+				close;
+			}
 			mes "[Elin]";
-			mes "(mumbles) .....'stupid'.....";
-			close;
-
-		L_Liar:
-			mes "[Elin]";
-			mes "HEY!! You don't have any dolls... I can't believe you would lie to a little kid!!!";
-			emotion e_gasp;
+			if (Sex == 1) {
+				mes "Oh my goodness!";
+				mes "Really? You're";
+				mes "such a sweetie~!";
+			} else {
+				mes "Will you really?";
+				mes "You're gonna give";
+				mes "me a doll? Yaaaay~";
+			}
 			next;
 			mes "[Elin]";
-			mes "You're a MEANIE!! I HATE YOU!!!..... sniff... sniff.... Waaaaaaaaaaaaaaaaaaaahhhhhh!!";
-			emotion e_sob;
-			close;
+			mes "What kind of doll are you going to";
+			mes "give me? Are you really gonna give";
+			mes "me one?";
+			switch(select("Poring Doll","Chonchon Doll","Puppet","Rocker Doll","Spore Doll","Osiris Doll","Baphomet Doll","Racoon Doll","YoYo Doll","I'm as adorable as a doll.")) {
+				case 1:
+					next;
+					if (countitem(741) >= 1) {
+						mes "[Elin]";
+						mes "Yay, it's a poring doll!";
+						next;
+						delitem 741,1;
+						getitem 529,1;
+						mes "[Elin]";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						if (Sex == 1) {
+							mes "Aww...?";
+							mes "Were you only teasing me?";
+						} else {
+							mes "Aww...";
+							mes "You're not making fun of me are";
+							mes "you?";
+						}
+						next;
+						mes "[Elin]";
+						mes "I guess you forgot it somewhere...";
+						close;
+					}
+				case 2:
+					next;
+					if (countitem(742) >= 1) {
+						mes "[Elin]";
+						mes "Eh .... Chonchon ... doll ...";
+						next;
+						mes "[Elin]";
+						mes "Oh well, since you're giving it to me, I have to treasure it ....";
+						next;
+						delitem 742,1;
+						getitem 530,1;
+						mes "[Elin]";
+						mes "If I ate too much of it, I'll get cavities anyway.";
+						if (Sex == 1) {
+							mes "You too, mister.";
+						} else {
+							mes "You too, lady.";
+						}
+						mes "Don't eat too much, ok?";
+						mes "And thanks, by the way ...";
+						next;
+						mes "[Elin]";
+						mes "(Chonchon ... *mumble mumble*)";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Chonchon dolls are ugly anyways,";
+						mes "but you still lied to me! How can";
+						mes "you be so mean?!";
+						next;
+						mes "[Elin]";
+						mes "Waaaaaaaaaaaaaaaaah~~";
+						close;
+					}
+				case 3:
+					next;
+					if (countitem(740) >= 1) {
+						mes "[Elin]";
+						mes "Wow--! It's a rabbit!";
+						mes "It's so cute!!";
+						if (Sex == 1) {
+							mes "Thank you so much, mister!";
+						} else {
+							mes "Thank you so much, lady!";
+						}
+						next;
+						mes "[Elin]";
+						mes "So fluffy~";
+						mes "Oh yeah! Let me give you a present too!";
+						mes "Ummm ... found it!";
+						mes "Take this!";
+						next;
+						delitem 740,1;
+						getitem 530,1;
+						mes "[Elin]";
+						mes "I got this from Santa. It's a candy cane~";
+						if (Sex == 1) {
+							mes "Eat it too, mister.";
+						} else {
+							mes "Eat it too, lady.";
+						}
+						mes "Thank you for the rabbit doll!";
+						mes "I'm gonna hug this to sleep every night~";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Awww, you were only kidding?";
+						mes "W-W-Why are you teasing me like";
+						mes "that?";
+						next;
+						mes "[Elin]";
+						mes "*^CCCCCCSniff...^000000*";
+						next;
+						mes "[Elin]";
+						mes "Waaaaaaaaaaaaaaaaah~~";
+						close;
+					}
+				case 4:
+					next;
+					if (countitem(752) >= 1) {
+						mes "[Elin]";
+						mes "Ah, a Rocker doll.";
+						mes "I hate hopping things but the doll's kinda cute.";
+						next;
+						mes "[Elin]";
+						mes "Thank you~";
+						mes "I'll have to give you something too.";
+						mes "Hmm, didn't I get some stuff from my uncle ...";
+						next;
+						delitem 752,1;
+						getitem 532,7;
+						mes "[Elin]";
+						mes "We've got tons of them at home.";
+						mes "So I'll share some with you~";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Awww...";
+						next;
+						mes "[Elin]";
+						mes "You don't";
+						mes "really have a doll...?";
+						mes "I was so excited about it, too...";
+						close;
+					}
+				case 5:
+					next;
+					if (countitem(743) >= 1) {
+						mes "[Elin]";
+						mes "Blehh ....";
+						mes "It's a mushroom...";
+						mes "Mom's always scolding me for not eating mushrooms ...";
+						next;
+						mes "[Elin]";
+						mes "I'll take it anyway, since the doll looks cute.";
+						mes "But I still won't eat mushrooms though ...";
+						mes "Hmm, I'll need to give you a present too.";
+						next;
+						delitem 743,1;
+						getitem 538,5;
+						mes "[Elin]";
+						mes "Mom made this.";
+						if (Sex == 1) {
+							mes "Take it, mister!";
+						} else {
+							mes "Take it, lady!";
+						}
+						next;
+						mes "[Litte Kid]";
+						mes "Thank you for the doll~";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Eh...?";
+						mes "You don't";
+						mes "have a doll?";
+						next;
+						mes "[Elin]";
+						mes "Awww...";
+						mes "It's not nice";
+						mes "to tease people";
+						mes "like that. *^CCCCCCSniff, sniff^000000*";
+						close;
+					}
+				case 6:
+					next;
+					if (countitem(751) >= 1) {
+						mes "[Elin]";
+						mes "Yay! It's an Osiris doll!";
+						next;
+						delitem 751,1;
+						getitem 522,2;
+						mes "[Elin]";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Awww...";
+						mes "Why do you have";
+						mes "to make fun of me?";
+						close;
+					}
+				case 7:
+					next;
+					if (countitem(750) >= 1) {
+						mes "[Elin]";
+						mes "Yay! It's a Baphomet doll!";
+						next;
+						delitem 750,1;
+						getitem 525,5;
+						mes "[Elin]";
+						mes "Thank you for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "You big liar! Why are you";
+						mes "pretending to be nice?!";
+						close;
+					}
+				case 8:
+					next;
+					if (countitem(754) >= 1) {
+						mes "[Elin]";
+						mes "Ah, it's a racoon doll~";
+						mes "I hate Smokies, but the doll's really cute!";
+						next;
+						mes "[Elin]";
+						mes "It's really cute~";
+						if (Sex == 1) {
+							mes "Thank you very much, mister!";
+						} else {
+							mes "Thank you very much, lady!";
+						}
+						next;
+						delitem 754,1;
+						getitem 539,3;
+						mes "[Elin]";
+						mes "Let me give you some of Grandma's home-made cakes!";
+						if (Sex == 1) {
+							mes "Do you like sweet things, mister?";
+						} else {
+							mes "Do you like sweet things, lady?";
+						}
+						mes "This is really good, so eat it~";
+						next;
+						mes "[Elin]";
+						mes "Thank you for this cute doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Hey! How come you have to say";
+						mes "things like that? Are you making";
+						mes "fun of me?!";
+						close;
+					}
+				case 9:
+					next;
+					if (countitem(753) >= 1) {
+						mes "[Elin]";
+						mes "Wow--!!!";
+						mes "It's a monkey! So cute~";
+						if (Sex == 1) {
+							mes "Thank you very much, mister!";
+						} else {
+							mes "Thank you very much, lady!";
+						}
+						mes "I really wanted it~";
+						next;
+						mes "[Elin]";
+						mes "It's so cute~";
+						mes "That's right!";
+						mes "As a thank you, I'll give you this.";
+						next;
+						delitem 753,1;
+						getitem 608,1;
+						mes "[Elin]";
+						mes "Dad picked them up during his travels.";
+						mes "It's a seed of some kind.";
+						mes "We tried planting them at home, but it doesn't seem to grow.";
+						if (Sex == 1) {
+							mes "I'll give it to you, mister!";
+						} else {
+							mes "I'll give it to you, lady!";
+						}
+						next;
+						mes "[Elin]";
+						mes "Thank you so much for the doll!";
+						close;
+					} else {
+						mes "[Elin]";
+						mes "Hey...";
+						mes "How come you're making fun of me?!";
+						close;
+					}
+				case 10:
+					next;
+					mes "["+strcharinfo(0)+"]";
+					mes "I'm as adorable as a doll...";
+					next;
+					mes "[Elin]";
+					mes "Whaaaaaaaaaaaaaaaaaaaaat...?";
+					next;
+					mes "[Elin]";
+					mes "^3355FFWhat did^000000";
+					mes "^3355FFyou just say?!^000000";
+					close;
+			}
+	}
 }